@font-face {
  font-family: 'Aleo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/brand-font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Aleo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/brand-font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Aleo';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/brand-font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Cabin';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/brand-font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Cabin';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/brand-font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Cabin';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/brand-font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Cabin';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/brand-font-7.ttf) format('truetype');
}


:root{--red:#c01815;--cream:#f6eee6;--sand:#e6dac6;--dark:#1b1a1f;--muted:#aaa4a5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px;direction:ltr}body{margin:0;background:var(--dark);color:var(--cream);font-family:Cabin,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,video:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--sand);outline-offset:5px}a,button{touch-action:manipulation}h1,h2,h3,p{margin-top:0}.localized[dir=rtl]{text-align:right}.localized[dir=ltr]{text-align:left}.site-header{height:94px;display:flex;gap:36px;align-items:center;padding:0 4.5%;background:var(--dark);position:sticky;top:0;z-index:10;border-bottom:1px solid #ffffff15;direction:ltr}.brand{display:inline-flex;align-items:center;flex-shrink:0}.logo{display:block;width:155px;height:auto;object-fit:contain}.site-header nav{display:flex;gap:26px;margin-left:auto;align-items:center;font-size:14px;white-space:nowrap}.site-header nav a{color:#ddd5cc;transition:color .2s}.site-header nav a:hover{color:#fff}.header-actions{display:flex;align-items:center;gap:18px;flex-shrink:0;direction:ltr}.language{width:48px;height:44px;border:1px solid #ffffff29;background:transparent;font-size:14px;display:grid;place-items:center}.language:hover{border-color:#ffffff88}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;background:var(--red);border:1px solid var(--red);color:var(--cream);padding:17px 25px;font-size:16px;line-height:1.25;font-weight:600;white-space:nowrap;transition:background .2s,transform .2s;direction:ltr}.button:hover{background:#de2821;border-color:#de2821;transform:translateY(-2px)}.button>span:last-child{font-size:23px;line-height:1}.header-donate{padding:14px 19px;font-size:15px;gap:24px}.hero{position:relative;min-height:700px;height:calc(100svh - 94px);max-height:1080px;display:flex;align-items:center;padding:100px 7%;overflow:hidden}.hero-video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-video{object-position:center}.hero-shade{background:linear-gradient(90deg,rgba(12,11,15,.82),rgba(12,11,15,.45) 62%,rgba(12,11,15,.25)),linear-gradient(0deg,rgba(12,11,15,.6),transparent 50%)}.hero-content{position:relative;width:100%;max-width:1500px;margin:0 auto}.hero h1{font-family:Aleo,Georgia,serif;font-size:clamp(58px,7.5vw,116px);font-weight:400;letter-spacing:-3.3px;line-height:1.03;max-width:1050px;margin:0 0 60px}.hero h1[dir=rtl]{max-width:1150px;text-align:left;letter-spacing:-1.5px}.hero h1 em{font-style:normal;color:var(--sand)}.hero-progress{width:100%;direction:ltr}.hero-progress[hidden],.hero-note[hidden]{display:none}.hero-note{font-size:clamp(17px,1.5vw,21px);line-height:1.45;color:#e3dbd3;max-width:34em;margin:0}.hero-note[dir=rtl]{text-align:left}.progress-numbers{display:flex;align-items:baseline;justify-content:space-between;gap:20px;font-size:14px;color:#e3dbd3}.progress-numbers strong{font-family:Aleo,Georgia,serif;font-size:32px;font-weight:400;letter-spacing:-.5px;margin-right:7px}.progress-numbers b{font-weight:500;margin-left:6px}.progress-track{height:5px;background:#ffffff40;position:relative;margin-top:17px;border-radius:3px}.progress-fill{height:100%;background:var(--red);transition:width 1.2s cubic-bezier(.22,1,.36,1);border-radius:3px}.progress-origin{position:absolute;top:50%;height:9px;width:9px;border-radius:50%;background:var(--red);transform:translate(-50%,-50%);box-shadow:0 0 15px #c0181577;animation:pulse 3s ease-in-out infinite;transition:left 1.2s cubic-bezier(.22,1,.36,1)}.progress-percentage{font-size:11px;color:#d0c6bf;margin-top:13px;letter-spacing:1px}.hero-actions{margin-top:30px;display:flex;direction:ltr}.hero-donate{padding:19px 28px;gap:45px}.background-toggle{position:absolute;right:26px;bottom:24px;border:1px solid #ffffff66;background:#1b1a1f40;backdrop-filter:blur(8px);width:37px;height:37px;border-radius:50%;font-size:13px;line-height:1}.promo-section{background:#111014;padding:78px 7%;scroll-margin-top:0}.promo-video{width:100%;aspect-ratio:16/9;max-width:1440px;display:block;margin:auto;background:#000;object-fit:contain;box-shadow:0 25px 70px #0004}.section{padding:110px 7%;max-width:100%}h2{font-family:Aleo,Georgia,serif;font-weight:400;font-size:clamp(38px,4.2vw,64px);line-height:1.16;letter-spacing:-1.7px;margin-bottom:30px}.challenge-heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:45px}.challenge-heading-row h2{max-width:900px;margin:0}.carousel-controls{display:flex;gap:10px;flex-shrink:0}.carousel-controls button{display:grid;place-items:center;border:1px solid #ffffff38;background:transparent;width:48px;height:48px;font-size:24px;transition:background .2s}.carousel-controls button:hover{background:#ffffff13}.challenge-track{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#76665f #ffffff0a;padding:0 0 28px;overscroll-behavior-x:contain}.challenge-card{flex:0 0 400px;scroll-snap-align:start;min-width:0}.challenge-image{aspect-ratio:4/3;position:relative;background:#242329;overflow:hidden}.challenge-image img{width:100%;height:100%;object-fit:cover;display:block;object-position:55% center}.challenge-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#29272e,#211f26);border:1px solid #ffffff15}.challenge-placeholder svg{width:90px;height:70px;stroke:#8e7c6f;stroke-width:1;opacity:.5}.status-banner{position:absolute;left:18px;top:18px;background:#1b1a1fc9;padding:9px 13px;color:#bfb7b4;font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;backdrop-filter:blur(8px)}.status-complete{background:var(--sand);color:var(--dark)}.challenge-card h3{font:400 26px/1.35 Aleo,Georgia,serif;margin:22px 0 0;letter-spacing:-.3px;max-width:390px}.cause-section{background:var(--cream);color:var(--dark);display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.cause-photo{height:650px}.cause-photo img{width:100%;height:100%;object-fit:cover;display:block;object-position:center}.cause-copy p{font-size:17px;line-height:1.85;color:#595352}.text-link{display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid var(--red);padding:5px 0 13px;margin-top:12px;color:var(--red);font-size:15px;font-weight:600;direction:ltr}.text-link>span:last-child{font-size:24px}.about-section{display:grid;grid-template-columns:1.12fr 1fr;gap:8%;align-items:center}.about-photo{height:650px}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:52% center;display:block}.bio{border-top:1px solid #ffffff28;padding-top:25px;margin-top:28px}.bio h3{font:400 29px Aleo,Georgia,serif;margin:0 0 12px}.bio p{font-size:16px;color:#bbb4b4;line-height:1.85;margin-bottom:0}.site-footer{padding:55px 7% 25px;background:#141317;border-top:1px solid #ffffff1a;display:flex;align-items:center;gap:40px;flex-wrap:wrap}.footer-actions{margin-left:auto;display:flex;gap:42px;align-items:center}.whatsapp-link{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#ddd3ca}.phone-number{direction:ltr;color:#a69c97;font-size:13px;letter-spacing:.4px}.whatsapp-link:hover{color:white}.footer-bottom{width:100%;border-top:1px solid #ffffff19;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#948b86;margin-top:24px;padding-top:22px}.lightbox{max-width:1100px}dialog{background:var(--dark);color:var(--cream);border:1px solid #ffffff33;max-width:95vw;padding:0}dialog::backdrop{background:#000d;backdrop-filter:blur(10px)}.dialog-close{position:absolute;top:12px;right:12px;background:#1b1a1fcc;color:#fff;border:0;width:36px;height:36px;border-radius:50%;z-index:2;font-size:25px}.lightbox img{display:block;max-width:90vw;max-height:85vh;object-fit:contain} @keyframes pulse{0%,100%{box-shadow:0 0 0 2px #c0181520,0 0 10px #c0181540}50%{box-shadow:0 0 0 5px #c0181500,0 0 20px #c0181580}}
@media(min-width:1700px){.section{padding-left:calc((100vw - 1460px)/2);padding-right:calc((100vw - 1460px)/2)}}
@media(max-width:1100px){.site-header{gap:22px;padding:0 4%}.site-header nav{gap:17px;font-size:12px}.header-actions{gap:12px}.logo{width:130px}.header-donate{font-size:13px;gap:15px;padding:13px 15px}.language{width:44px;font-size:13px}.hero{padding:85px 6%}.hero h1{font-size:84px}.section{padding:85px 6%}.challenge-card{flex-basis:350px}.cause-photo,.about-photo{height:600px}.cause-copy p{font-size:16px}.cause-section,.about-section{gap:6%}h2{font-size:46px}}
@media(max-width:780px){html{scroll-padding-top:125px}.site-header{display:grid;grid-template-columns:1fr auto;gap:0 20px;padding:15px 5% 0;height:auto;min-height:118px}.site-header .brand{grid-row:1;grid-column:1}.header-actions{grid-row:1;grid-column:2;gap:10px}.site-header nav{grid-row:2;grid-column:1/-1;justify-content:flex-end;margin:0;gap:24px;font-size:11px;padding:16px 0 13px;overflow-x:auto}.logo{width:122px}.header-donate{font-size:12px;gap:13px;padding:12px 13px}.language{width:40px;height:39px;font-size:12px}.hero{height:calc(100svh - 118px);min-height:660px;padding:75px 6%}.hero h1{font-size:clamp(48px,9vw,72px);letter-spacing:-2px;margin-bottom:45px}.hero h1[dir=rtl]{font-size:clamp(41px,8vw,65px)}.hero-shade{background:linear-gradient(90deg,#0c0b0fbf,#0c0b0f66),linear-gradient(0deg,#0c0b0fb3,transparent 70%)}.progress-numbers strong{font-size:27px}.progress-numbers{font-size:12px}.hero-donate{font-size:14px;padding:17px 23px}.promo-section{padding:50px 5%}.section{padding:65px 6%}h2{font-size:39px;letter-spacing:-1px}.challenge-heading-row{align-items:flex-start;gap:22px;margin-bottom:30px}.challenge-heading-row h2{max-width:550px}.carousel-controls{gap:7px;align-self:flex-end}.carousel-controls button{width:38px;height:38px;font-size:20px}.challenge-card{flex-basis:320px}.challenge-track{gap:18px}.challenge-card h3{font-size:24px}.cause-section,.about-section{grid-template-columns:1fr;gap:35px}.cause-photo{height:500px}.about-photo{height:auto;aspect-ratio:4/3}.cause-copy p{font-size:16px;line-height:1.8}.bio p{font-size:16px}.site-footer{padding:40px 6% 22px;gap:30px}.footer-actions{gap:28px}.footer-actions .button{font-size:14px;padding:15px 19px;gap:25px}.whatsapp-link{font-size:12px}.phone-number{font-size:11px}}
@media(max-width:480px){.site-header{padding:14px 5% 0;column-gap:12px}.logo{width:105px}.header-donate{font-size:11px;padding:11px 11px;gap:9px}.header-donate>span:last-child{font-size:19px}.language{font-size:11px;width:36px;height:36px}.header-actions{gap:8px}.site-header nav{gap:23px;font-size:10px;justify-content:space-between}.hero{min-height:650px;height:calc(100svh - 118px);padding:80px 6%}.hero h1{font-size:50px;letter-spacing:-1.9px;line-height:1.1}.hero h1[dir=rtl]{font-size:41px;line-height:1.2;letter-spacing:-1px}.progress-numbers{font-size:10px;gap:10px}.progress-numbers strong{font-size:25px}.progress-numbers b{margin-left:3px}.hero-actions{margin-top:25px}.hero-donate{padding:17px 22px;gap:32px;font-size:14px}.background-toggle{right:17px;bottom:18px;width:32px;height:32px}.promo-section{padding:36px 0}.promo-video{box-shadow:none}.challenge-heading-row{display:block}.challenge-heading-row h2{font-size:36px;margin-bottom:24px}.carousel-controls{justify-content:flex-end}.challenge-card{flex-basis:85%;max-width:340px}.challenge-card h3{font-size:23px}.challenge-image{aspect-ratio:4/3}.cause-photo{height:420px}.cause-section{gap:30px}.about-section{gap:30px}.site-footer{align-items:flex-start}.footer-actions{width:100%;margin-left:0;justify-content:space-between;gap:20px}.footer-bottom{font-size:8px;letter-spacing:1.2px;margin-top:8px}.site-footer .logo{width:140px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.site-header nav{display:grid;grid-template-columns:55px 87px 128px 70px;gap:18px;text-align:center}.header-donate{width:200px;height:50px}.header-donate>span:first-child{font-size:inherit}.cause-photo img{object-position:center 65%}
@media(max-width:1100px){.site-header nav{grid-template-columns:45px 70px 100px 55px;gap:14px}.header-donate{width:182px;height:48px}}
@media(max-width:780px){.site-header nav{width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;justify-content:initial}.header-donate{width:165px;height:44px}}
@media(max-width:480px){.header-donate{width:151px;height:42px}}

/* October 25 review refinements. */
.language{border:0;background:none}.language:hover{color:var(--sand)}
.progress-track{height:10px;margin-top:25px;background:#ffffff63;border-radius:5px}.progress-fill{border-radius:5px}
.progress-origin{width:54px;height:38px;top:50%;transform:translate(calc(-50% - 10px),calc(-50% - 6px));border-radius:0;background:transparent;box-shadow:none;animation:none;display:block;filter:drop-shadow(0 0 5px #f6eee61c)}.progress-origin img{display:block;width:100%;height:100%;object-fit:contain;animation:logo-glow 2.8s ease-in-out infinite}.progress-sparkle{position:absolute;right:0;top:-9px;width:14px;height:14px;background:var(--cream);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:logo-sparkle 2.8s ease-in-out infinite;pointer-events:none}.progress-percentage{margin-top:25px}
.promo-heading{max-width:1440px;margin:0 auto 30px;font-size:clamp(32px,3.5vw,50px)}
.site-footer{padding-top:30px;padding-bottom:18px;row-gap:22px}.footer-bottom{margin-top:0;padding-top:15px}.whatsapp-link{font-size:14px}.contact-name{display:block;white-space:nowrap}.whatsapp-link .phone-number{font-size:inherit;color:inherit;letter-spacing:0}
.progress-origin::before{content:"";position:absolute;left:50%;top:50%;width:54px;height:54px;border-radius:50%;border:2px solid #ff6756;background:radial-gradient(circle,#ed372e38,transparent 70%);transform:translate(-50%,-50%);animation:progress-ripple 2.8s ease-out infinite;pointer-events:none}.progress-origin img{position:relative;transform-origin:center}
@keyframes logo-glow{0%,100%{transform:scale(1);filter:brightness(1.05) drop-shadow(0 0 5px #ff3e3277)}45%{transform:scale(1.28);filter:brightness(1.6) drop-shadow(0 0 12px #ff5949) drop-shadow(0 0 22px #ee322977)}}
@keyframes progress-ripple{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}18%{opacity:.65}80%,100%{opacity:0;transform:translate(-50%,-50%) scale(1.6)}}
@keyframes logo-sparkle{0%,15%,75%,100%{opacity:0;transform:scale(.25) rotate(0deg)}38%,48%{opacity:1;transform:scale(1.15) rotate(90deg)}}
@media(max-width:780px){.promo-heading{font-size:36px;margin-bottom:24px}.site-footer{padding-top:27px;padding-bottom:18px;row-gap:20px}.whatsapp-link{font-size:12px}}
@media(max-width:480px){.progress-track{height:9px}.progress-origin{width:46px;height:33px}.progress-origin::before{width:46px;height:46px}.progress-sparkle{width:12px;height:12px}.promo-heading{padding:0 6%;font-size:31px}.site-footer{padding-top:25px;padding-bottom:16px;gap:18px}.site-footer .logo{width:115px}.footer-bottom{margin-top:0;padding-top:12px}.whatsapp-link{font-size:12px}}
@media(prefers-reduced-motion:reduce){.progress-origin img,.progress-origin::before,.progress-sparkle{animation:none!important}.progress-sparkle,.progress-origin::before{display:none}}

.contact-heading{font-size:14px;font-weight:600;line-height:1.3}.whatsapp-link .contact-name{font-size:12px;color:#bfb5ae}.whatsapp-link:hover .contact-name{color:var(--cream)}
@media(max-width:480px){.contact-heading{font-size:12px}.whatsapp-link .contact-name{font-size:11px}}

/* Compact mobile navigation and a choice of donation providers. */
.mobile-menu{display:none}.donation-dialog{width:min(520px,calc(100vw - 32px));padding:0;border-radius:4px}.donation-dialog-content{padding:48px 30px 30px;position:relative}.donation-dialog h2{font-size:32px;letter-spacing:-.7px;margin-bottom:16px}.donation-dialog p{color:var(--sand);line-height:1.5;margin-bottom:25px}.donation-options{display:grid;gap:12px}.donation-option{display:flex;align-items:center;justify-content:space-between;padding:19px 20px;border:1px solid #ffffff4a;font-size:18px;background:#ffffff08}.donation-option:hover{background:var(--red);border-color:var(--red)}
@media(max-width:780px){
 html{scroll-padding-top:72px}.site-header{height:72px;min-height:72px;display:flex;justify-content:space-between;padding:0 5%;gap:12px}.site-header>.brand{display:flex}.site-header .logo{width:105px}.site-header .desktop-nav,.desktop-language{display:none}.header-actions{gap:12px}.header-donate{width:auto;height:40px;font-size:11px;padding:10px 12px;gap:10px}.header-donate>span:last-child{font-size:18px}.mobile-menu{display:block}.mobile-menu summary{width:40px;height:44px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{display:block;width:23px;height:2px;background:var(--cream);transition:transform .2s,opacity .2s}.mobile-menu[open] summary span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-menu[open] summary span:nth-child(2){opacity:0}.mobile-menu[open] summary span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu-panel{position:absolute;top:100%;left:0;right:0;padding:16px 6% 22px;background:var(--dark);border-bottom:1px solid #ffffff30;box-shadow:0 20px 35px #0006}.site-header .mobile-menu nav{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:0;padding:0;font-size:16px;text-align:left;overflow:visible}.mobile-menu nav a{padding:14px 0;border-bottom:1px solid #ffffff17}.mobile-menu-panel .language{margin-top:15px;width:auto;min-width:80px;padding:0 12px;font-size:14px;justify-self:start;text-align:left}
 .hero{height:calc(100svh - 72px);min-height:600px;align-items:flex-start;padding:70px 6% 70px}.hero-content{margin:0 auto}.hero h1{margin-bottom:36px;font-size:clamp(45px,8vw,65px);line-height:1.08}.hero h1[dir=rtl]{font-size:clamp(39px,7vw,56px)}.hero-actions{margin-top:23px}.progress-numbers strong{font-size:26px}
 .site-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px 14px;padding:22px 5% 15px}.site-footer .logo{width:78px}.footer-actions{display:contents}.whatsapp-link{justify-self:center;gap:4px}.contact-heading{font-size:12px}.whatsapp-link .contact-name{font-size:10.5px}.footer-actions .button{font-size:11px;padding:11px 12px;gap:10px}.footer-actions .button>span:last-child{font-size:18px}.footer-bottom{grid-column:1/-1;width:100%;padding-top:12px;margin:0;font-size:7px;letter-spacing:1px}
}
@media(max-width:380px){.site-header .logo{width:90px}.header-actions{gap:7px}.header-donate{font-size:10px;padding:10px}.hero{padding-top:55px}.hero h1{font-size:43px}.site-footer .logo{width:60px}.site-footer{column-gap:9px}.footer-actions .button{padding:10px 9px}.contact-heading{font-size:11px}.whatsapp-link .contact-name{font-size:10px}}

.coming-soon{font-family:Aleo,Georgia,serif;font-weight:400;font-size:clamp(22px,2.2vw,30px);color:var(--sand);opacity:.75;letter-spacing:.2px}

/* Mobile hero (30 Oct): floating header over the video, text centred between header and video section, "Watch the video" peeks in on first load. */
@media(max-width:780px){
 html{scroll-padding-top:84px}.site-header{position:sticky;top:12px;height:60px;min-height:60px;margin:12px 16px 0;padding:0 10px 0 16px;border:1px solid #ffffff1f;border-radius:16px;background:#1b1a1fc7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 30px #0004}.mobile-menu-panel{top:calc(100% + 8px);border:1px solid #ffffff1f;border-radius:16px;padding:8px 20px 20px}
 .hero{margin-top:-72px;height:calc(100svh - 150px);min-height:520px;align-items:center;padding:72px 6% 0}.hero-shade{background:linear-gradient(180deg,#0c0b0f80,transparent 22%),linear-gradient(0deg,#0c0b0fe6,#0c0b0f8c 50%,transparent 85%)}
 .promo-section{padding-top:32px}
 .header-donate{height:36px;font-size:10px;padding:8px 10px;gap:8px}.header-donate>span:last-child{font-size:16px}
}

/* Footer: "Get updates on how we're doing" signup (1 Nov 2026) → /api/subscribe → Brevo */
.footer-updates{width:100%;grid-column:1/-1;text-align:center}
.updates-toggle{white-space:nowrap;display:inline-flex;align-items:center;gap:12px;background:none;border:0;padding:0;color:var(--cream);font:inherit;font-size:16px;font-weight:600;cursor:pointer}
.updates-toggle:hover{color:#fff}
.updates-toggle>span:last-child{color:var(--red);font-size:18px}
.updates-toggle[aria-expanded=true]{cursor:default;margin-bottom:12px}
.updates-toggle[aria-expanded=true]:hover{color:var(--cream)}
.updates-toggle[aria-expanded=true]>span:last-child{display:none}
.updates-form{max-width:460px;margin:0 auto}
.updates-row{display:flex;gap:10px}
.updates-row input[type=email]{flex:1;min-width:0;background:#1f1e23;border:1px solid #ffffff2e;color:var(--cream);padding:15px 16px;font-size:16px;border-radius:0}
.updates-row input[type=email]::placeholder{color:#8a8285}
.updates-row input[type=email]:focus{outline:2px solid var(--red);outline-offset:1px}
.updates-submit.button>span:last-child{font-size:inherit}
.updates-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.updates-note{text-align:center;margin:10px 0 0;font-size:12px;color:#948b86}
.updates-status{text-align:center;margin:10px 0 0;font-size:15px;color:var(--cream)}
.updates-status:empty{display:none}
.updates-form.done .updates-row,.updates-form.done .updates-note{display:none}
.updates-form.done .updates-status{margin-top:0}
/* Wide screens: exactly in the middle of the top row, between the logo and WhatsApp/Donate.
   Narrower screens have no room for it there, so it gets its own centred row. */
@media(min-width:1200px){.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.site-footer>.brand{justify-self:start}.footer-updates{grid-column:2;grid-row:1;width:auto}.footer-actions{grid-column:3;grid-row:1;justify-self:end;margin-left:0}.footer-bottom{grid-column:1/-1}.footer-updates:has(.updates-toggle[aria-expanded=true]){grid-column:1/-1;grid-row:2}}
@media(max-width:780px){.updates-toggle{font-size:14px}.updates-row .button{font-size:13px;padding:12px 14px}.updates-row input[type=email]{padding:12px 13px}}

/* Polish (4 Nov 2026): drawn arrows instead of the ↗ character (iPhones showed it as an emoji), one button
   system with the arrow beside the label, quieter dividers, and a full-screen hero on phones. */
.arrow{width:1.1em;height:1.1em;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.button{gap:12px;height:52px;padding:0 24px;border-radius:4px;font-size:15px;letter-spacing:.2px;transition:background .2s,border-color .2s}
.button:hover{transform:none;background:#d41f1a;border-color:#d41f1a}.button:active{background:#a51411;border-color:#a51411}
.button:hover .arrow,.text-link:hover .arrow,.updates-toggle:hover .arrow,.donation-option:hover .arrow{transform:translateX(3px)}
/* The arrow used to be the last <span>; now it's an <svg>, so the label is the last span. Undo the old arrow-span rules for it. */
.button>span:last-child,.header-donate>span:last-child,.footer-actions .button>span:last-child,.text-link>span:last-child,.updates-submit.button>span:last-child{font-size:inherit}
.updates-toggle>span:last-child{color:inherit;font-size:inherit}.updates-toggle[aria-expanded=true]>span:last-child{display:inline}.updates-toggle[aria-expanded=true] .arrow{display:none}
.header-donate{width:auto;height:44px;padding:0 18px;font-size:14px;gap:10px}
.hero-donate{height:56px;padding:0 28px;font-size:16px;gap:12px}
.text-link{gap:10px;border-bottom:0;padding:4px 0;font-size:16px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
.text-link .arrow,.updates-toggle .arrow{width:18px;height:18px}
.updates-toggle .arrow{color:var(--red)}
.updates-row input[type=email]{border-radius:4px}
.donation-option{border-radius:4px;border-color:#ffffff33}.donation-option .arrow{width:20px;height:20px}
.carousel-controls button{border-radius:4px;border-color:#ffffff2e}.carousel-controls .arrow{width:20px;height:20px}
.challenge-track{scrollbar-width:none}.challenge-track::-webkit-scrollbar{display:none}
.bio{border-top-color:#ffffff1c}
.site-footer{border-top-color:#ffffff14}.footer-bottom{border-top-color:#ffffff0f}
@media(max-width:1100px){.header-donate{height:42px;padding:0 15px;font-size:13px}}
@media(max-width:780px){
 .header-donate{height:38px;padding:0 13px;font-size:12px;gap:7px}.header-donate .arrow{width:15px;height:15px}
 .hero-donate{height:52px;padding:0 24px;font-size:15px}
 .footer-actions .button{height:40px;padding:0 15px;font-size:13px;gap:8px}
 .challenge-track{padding-bottom:6px}
 /* Full screen: the video fills the whole phone on open; the video section starts below the fold. */
 .hero{height:100svh;min-height:560px;padding:84px 6% 0}
 .carousel-controls button{width:42px;height:42px}
}
@media(max-width:380px){.header-donate{font-size:11px;padding:0 10px}.hero h1{font-size:41px}}
/* Phones (4 Nov, Liam): buttons share the floating header bar's 16px corner curve. */
@media(max-width:780px){.button,.donation-option,.carousel-controls button,.updates-row input[type=email],.donation-dialog{border-radius:16px}}

/* Desktop header (5 Nov, Liam): transparent over the hero video, solid once you scroll (html.scrolled, set in site.js).
   At the top the header button is an outline, so the hero button is the only red on the first screen. Phones keep their floating bar. */
@media(min-width:781px){
 .site-header{background:transparent;border-bottom:1px solid transparent;transition:background .3s,border-color .3s}
 .site-header nav{display:flex;gap:34px;font-size:15px}
 .site-header nav a{color:var(--cream)}
 .header-actions{gap:24px}
 .language{color:var(--cream);font-size:15px}
 .header-donate{background:transparent;border-color:#f6eee680;color:var(--cream);transition:background .3s,border-color .3s}
 .header-donate:hover{background:var(--cream);border-color:var(--cream);color:var(--dark)}
 .scrolled .site-header{background:#1b1a1ff0;border-bottom-color:#ffffff15;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
 .scrolled .header-donate{background:var(--red);border-color:var(--red);color:var(--cream)}
 .scrolled .header-donate:hover{background:#a51412;border-color:#a51412}
 .hero{margin-top:-94px;height:100svh;padding-top:134px}
 .hero-shade{background:linear-gradient(180deg,rgba(12,11,15,.62),transparent 190px),linear-gradient(90deg,rgba(12,11,15,.82),rgba(12,11,15,.45) 62%,rgba(12,11,15,.25)),linear-gradient(0deg,rgba(12,11,15,.6),transparent 50%)}
}
@media(min-width:781px) and (max-width:1100px){.site-header nav{gap:20px;font-size:13px}.header-actions{gap:14px}.language{font-size:13px}}
@media(prefers-reduced-motion:reduce){.site-header,.header-donate{transition:none}}
/* Phones (5 Nov, Liam): same idea as desktop. The bar keeps its look, but its button is an outline until you scroll, so the hero button is the only red on the first screen. */
@media(max-width:780px){
 .header-donate{background:transparent;border-color:#f6eee680;color:var(--cream);transition:background .3s,border-color .3s}
 .scrolled .header-donate{background:var(--red);border-color:var(--red)}
}
/* Small phones (5 Nov): below 360px the logo, button and menu icon were wider than the floating bar, pushing the icon out of it and the page sideways. */
@media(max-width:359px){
 .site-header .logo{width:78px}.header-actions{gap:6px}
 .header-donate{padding:0 9px}.header-donate .arrow{display:none}
}

/* Lower page (6 Nov, Liam): everything from the video down brought up to the hero and header. One gutter that lines up with the hero text,
   one dark ground, one heading size, 18px body. The film has a cover with one play button; finished challenges are large photos and the
   rest a plain list (no empty cards, no carousel); House of Heroes and About are edge-to-edge photo halves, mirrored. */
:root{--gutter:7vw}
@media(min-width:1744px){:root{--gutter:calc((100vw - 1500px)/2)}}
@media(max-width:1100px){:root{--gutter:6vw}}
h2{font-size:clamp(36px,3.9vw,58px);line-height:1.12;letter-spacing:-1.2px;margin-bottom:28px}
.section{padding:120px var(--gutter)}

.promo-section{background:var(--dark);padding:72px var(--gutter) 0}
.promo-frame{position:relative;width:min(100%,calc((100svh - 198px)*16/9));min-width:min(100%,640px);aspect-ratio:16/9;margin:0 auto;overflow:hidden;border-radius:4px;background:#000}
.promo-video{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;box-shadow:none}
.promo-play{position:absolute;inset:0;width:100%;height:100%;display:grid;place-items:center;padding:0;border:0;background:linear-gradient(0deg,#0c0b0fcc,#0c0b0f40 45%,#0c0b0f33)}
.promo-play-icon{width:88px;height:88px;display:grid;place-items:center;border:1px solid #f6eee6b3;border-radius:50%;background:#1b1a1f59;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .2s,border-color .2s}
.promo-play-icon svg{width:34px;height:34px;fill:var(--cream);transition:fill .2s}
.promo-play:hover .promo-play-icon{background:var(--cream);border-color:var(--cream)}.promo-play:hover .promo-play-icon svg{fill:var(--dark)}
.promo-play:focus-visible{outline-offset:-6px}
.promo-heading{position:absolute;left:40px;right:40px;bottom:30px;max-width:none;margin:0;padding:0;font-size:clamp(30px,3vw,44px);pointer-events:none}
.promo-frame.playing .promo-play,.promo-frame.playing .promo-heading{display:none}

.challenges>h2{margin-bottom:48px}
.challenge-track{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:0;overflow:visible;scroll-snap-type:none}
.challenge-card{flex:none}
.challenge-image{aspect-ratio:3/2;border-radius:4px}
.challenge-meta{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-top:20px}
.challenge-card h3{margin:0;max-width:none;font:400 28px/1.25 Aleo,Georgia,serif;letter-spacing:-.3px}
.challenge-status{flex-shrink:0;font-size:16px;color:var(--sand)}
.upcoming{margin-top:80px}
.upcoming-heading{margin:0 0 24px;font:400 28px/1.25 Aleo,Georgia,serif;letter-spacing:-.3px}
.upcoming-list{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin:0;padding:0;list-style:none}
.upcoming-list li{padding-top:18px;border-top:1px solid #ffffff24;font:400 22px/1.3 Aleo,Georgia,serif;color:var(--sand)}

.cause-section,.about-section{grid-template-columns:1fr 1fr;gap:0;align-items:stretch;min-height:min(840px,100svh);padding:0}
.cause-photo,.about-photo{position:relative;height:auto}
.cause-photo img,.about-photo img{position:absolute;inset:0}
.cause-copy{align-self:center;padding:120px var(--gutter) 120px 96px}
.about-copy{align-self:center;padding:120px 96px 120px var(--gutter)}
.about-photo{order:2}
.cause-copy p,.bio p{font-size:18px;line-height:1.65;max-width:34em}
.cause-copy p{margin-bottom:18px;color:#4a4546}
.cause-copy p[dir=rtl],.bio p[dir=rtl]{margin-left:auto}
.cause-copy:has(p[dir=rtl]){text-align:right}
.text-link{margin-top:14px}
.bio{margin-top:26px;padding-top:24px}
.bio h3{font-size:28px;margin-bottom:10px}
.bio p{color:#d0c8c2}

.site-footer{padding:56px var(--gutter) 26px;row-gap:44px}
.site-footer .logo{width:155px}
.contact-heading{font-size:15px}.whatsapp-link .contact-name{font-size:13px}
.footer-bottom{padding-top:20px;font-size:12px;letter-spacing:1.5px;color:#a39a95}

@media(max-width:1100px){
 .cause-copy{padding:88px var(--gutter) 88px 56px}.about-copy{padding:88px 56px 88px var(--gutter)}
 .cause-copy p,.bio p{font-size:17px}
 .upcoming-list{grid-template-columns:repeat(2,1fr);gap:0 32px}.upcoming-list li{padding:16px 0}
}
@media(max-width:780px){
 .section{padding:72px var(--gutter)}
 .promo-section{padding:72px var(--gutter) 0}
 .promo-frame{width:100%;min-width:0;border-radius:16px}
 .promo-play-icon{width:64px;height:64px}.promo-play-icon svg{width:26px;height:26px}
 .promo-heading{left:20px;right:20px;bottom:14px;font-size:24px;letter-spacing:-.5px}
 .challenges>h2{margin-bottom:32px}
 .challenge-track{grid-template-columns:1fr;gap:36px}
 .challenge-image{border-radius:16px}
 .challenge-meta{margin-top:14px}
 .challenge-card h3{font-size:24px}
 .upcoming{margin-top:52px}.upcoming-heading{font-size:24px;margin-bottom:12px}
 .upcoming-list{grid-template-columns:1fr}.upcoming-list li{padding:15px 0;font-size:20px}
 .cause-section,.about-section{grid-template-columns:1fr;min-height:0;padding:0}
 .cause-photo{height:auto;aspect-ratio:4/5}.about-photo{height:auto;aspect-ratio:4/3;order:0}
 .cause-copy,.about-copy{padding:48px var(--gutter) 72px}
 .cause-copy p,.bio p{font-size:17px}
 .site-footer{display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px 16px;padding:44px var(--gutter) 22px}
 .site-footer>.brand{grid-column:1;grid-row:1}.site-footer .logo{width:112px}
 .footer-actions{display:contents}
 .footer-actions .button{grid-column:2;grid-row:1;height:44px;padding:0 18px;font-size:14px}
 .whatsapp-link{grid-column:1/-1;grid-row:2;justify-self:start;gap:4px}
 .contact-heading{font-size:15px}.whatsapp-link .contact-name{font-size:13px}
 .footer-updates{grid-column:1/-1;grid-row:3;text-align:left}
 .updates-toggle{font-size:15px;white-space:normal;text-align:left}
 .footer-bottom{grid-column:1/-1;grid-row:4;font-size:11px;letter-spacing:1px;padding-top:16px}
}
@media(prefers-reduced-motion:reduce){.promo-play-icon,.promo-play-icon svg{transition:none}}
