:root{--paper:#f6f8fc;--paper-2:#eaf0f8;--white:#fff;--ink:#182c4b;--muted:#57677e;--accent:#275bd5;--accent-dark:#172f58;--accent-2:#285aad;--line:#d6dfed;--green:#287d78;--display:Arial,'Helvetica Neue',sans-serif;--sans:Arial,'Helvetica Neue',sans-serif;--radius:22px;--shadow:0 24px 65px #2138600d;--max:1256px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button{color:inherit}img,svg{max-width:100%}img{display:block;height:auto}button svg,a svg{flex:none}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--display)}h2{font-size:clamp(36px,4vw,55px);line-height:1.12;letter-spacing:-1.7px;text-wrap:balance}h3{font-size:23px;line-height:1.25}p+p{margin-top:16px}small{font-size:13px}::selection{background:#bfd4ff;color:#182c4b}:focus-visible{outline:3px solid var(--accent-2);outline-offset:5px}button:focus-visible{position:relative;z-index:2}section[id]{scroll-margin-top:115px}[hidden]{display:none!important}.container{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.section{padding-block:108px}.section-top{display:grid;grid-template-columns:1fr .72fr;gap:88px;align-items:end;margin-bottom:44px}.section-top p:not(.eyebrow){color:var(--muted);font-size:18px;max-width:560px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;line-height:1.6;color:var(--accent-2);text-transform:uppercase;margin-bottom:22px}.lead{font-size:19px;line-height:1.75;color:var(--muted)}.small-note{font-size:13px;line-height:1.65;color:var(--muted)}.icon{width:21px;height:21px;display:inline-block;vertical-align:middle;stroke:currentColor;stroke-width:1.55;fill:none;stroke-linecap:round;stroke-linejoin:round}.button{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:54px;padding:15px 25px;border:1px solid transparent;border-radius:100px;text-decoration:none;font-size:14px;font-weight:700;line-height:1.5;transition:background .2s,transform .2s,box-shadow .2s;max-width:100%;text-align:center}.button-primary{background:var(--accent);color:var(--white)}.button-primary:hover{background:var(--accent-dark);box-shadow:0 8px 20px #275bd520;transform:translateY(-2px)}.button-outline{border-color:var(--line);background:transparent}.button-outline:hover{background:var(--paper-2)}.button-light{background:var(--paper);color:var(--accent)}.button-small{min-height:44px;padding:10px 18px;font-size:13px}.text-link{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:14px;text-decoration:none;border-bottom:1px solid var(--line);padding:6px 0;min-height:44px}.text-link:hover{border-color:var(--accent);color:var(--accent)}.skip{position:fixed;top:-100px;left:16px;z-index:99;background:var(--white);padding:12px 24px}.skip:focus{top:12px}.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0}.no-js-notice{padding:12px 24px;background:var(--paper-2);text-align:center;font-size:14px}
/* Restrained masthead; native language control works without JavaScript. */
.site-header{position:sticky;top:0;z-index:30;background:#f6f8fceF;border-bottom:1px solid #d6dfed80;backdrop-filter:blur(18px)}.header-inner{min-height:99px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:15px;text-decoration:none;flex-shrink:0}.brand-mark{width:43px;height:50px;stroke:var(--accent);fill:none;stroke-width:1.7}.brand-text{display:flex;flex-direction:column}.brand-text strong{font-family:var(--display);font-size:21px;font-weight:400;line-height:1.3;letter-spacing:-.3px}.brand-text small{font-size:10px;color:var(--muted);letter-spacing:1px;margin-top:4px}.desktop-nav{display:flex;gap:29px;margin-left:auto}.desktop-nav a{font-size:13px;text-decoration:none;white-space:nowrap;min-height:44px;display:flex;align-items:center}.desktop-nav a:hover{color:var(--accent);text-decoration:underline}.header-tools{display:flex;align-items:center;gap:18px}.language{position:relative}.language summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:100px;padding:9px 14px;font-size:12px;min-height:44px}.language summary::-webkit-details-marker{display:none}.language[open] summary{background:var(--paper-2)}.language-panel{position:absolute;right:0;top:calc(100% + 12px);background:var(--white);padding:10px;border-radius:16px;box-shadow:var(--shadow);border:1px solid var(--line);width:213px;z-index:50}.language-panel a{display:flex;align-items:center;gap:15px;padding:9px 13px;min-height:44px;text-decoration:none;border-radius:8px;font-size:14px}.language-panel a:hover,.language-panel a[aria-current]{background:var(--paper-2)}.language-panel b{font-size:10px;color:var(--accent-2);width:22px}.menu-toggle{display:none;background:none;border:1px solid var(--line);width:46px;height:46px;border-radius:50%;align-items:center;justify-content:center}.mobile-nav{padding:8px 0 22px}.mobile-nav a{display:block;padding:12px 0;border-top:1px solid var(--line);text-decoration:none}
/* Informational hero and independently readable campaign facts. */
.hero{padding-top:67px}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:74px;align-items:center}.hero-copy{padding:15px 0 35px}.hero h1{font-size:clamp(55px,5.45vw,81px);line-height:1.04;letter-spacing:-3.1px;margin:24px 0 28px;text-wrap:balance}.hero h1 span,.hero h1 em{display:block}.hero h1 em{font-weight:400;color:var(--accent);margin-top:8px}.hero .lead{max-width:550px;font-size:18px}.hero-actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap;margin:30px 0 26px}.hero-actions .text-link{max-width:240px}.hero-small{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:9px}.hero-small::before{content:'';width:7px;height:7px;background:var(--green);border-radius:50%}.facts{margin-top:20px;display:grid;grid-template-columns:.85fr 1.3fr 1.1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;gap:30px}.fact{padding-left:30px;border-left:1px solid var(--line)}.fact:first-child{padding-left:0;border-left:none}.fact small{display:block;color:var(--muted);font-size:11px;letter-spacing:.3px;margin-bottom:7px}.fact strong{font-family:var(--display);font-size:28px;font-weight:400;line-height:1.3}.fact-code{display:flex;align-items:center;gap:20px}.icon-button{border:1px solid var(--line);background:transparent;border-radius:50%;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon-button:hover{background:var(--paper-2)}.campaign-notice{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.65;color:var(--muted);padding:18px 0 0;max-width:950px}.campaign-notice .icon{width:17px;height:17px;margin-top:2px;flex-shrink:0}
/* Ways of giving: two columns, not a wall of anonymous cards. */
.ways .section-top{grid-template-columns:1fr 1fr}.ways-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.way{border-top:1px solid var(--line);padding:30px 0 10px;display:grid;grid-template-columns:68px 1fr;gap:20px}.way-num{font-family:var(--display);font-size:42px;color:#6c8cbd;line-height:1.2}.way h3{font-family:var(--display);font-size:30px;margin:0 0 13px;letter-spacing:-.5px}.way p{color:var(--muted);font-size:16px;margin-bottom:18px;max-width:430px}.tag{display:inline-block;padding:5px 10px;border:1px solid var(--line);border-radius:100px;font-size:10px;letter-spacing:.5px}.way:first-child .tag{background:#e7efff;border-color:#e7efff;color:var(--accent)}
/* Local-only calculator. */
.calculator-section{color:var(--paper);background:var(--accent-dark);position:relative;overflow:hidden;padding:87px 0}.calculator-section::before{content:'';position:absolute;width:760px;height:760px;border:1px solid #b6c9ef12;border-radius:50%;right:-100px;top:-300px;pointer-events:none}.calculator-grid{display:grid;grid-template-columns:1fr 1fr;gap:94px;position:relative}.calculator-section .eyebrow{color:#9dc7ff}.calculator-section h2{font-size:clamp(35px,3.7vw,49px);max-width:530px}.calculator-section .lead{color:#d9e4f5;font-size:16px;max-width:460px;margin-top:25px}.calculator-controls{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}.input-group{min-width:0}.input-group label{display:block;font-size:12px;margin-bottom:9px;color:#d9e4f5}.money-input{display:flex;border-bottom:1px solid #abc3e670;gap:12px;align-items:center;padding-bottom:9px}.money-input input{background:none;border:none;color:var(--white);min-width:0;width:100%;font-family:var(--display);font-size:33px;outline-offset:4px}.money-input span{font-size:23px;color:#bed8fc}.people-line{font-size:21px;font-family:var(--display);color:var(--white)}input[type=range]{width:100%;height:27px;accent-color:#83b9ff;cursor:pointer}.calc-results{display:flex;flex-direction:column;justify-content:center}.calc-result-one{display:flex;align-items:baseline;gap:17px;border-bottom:1px solid #abc3e640;padding-bottom:22px}.calc-result-one strong{font-family:var(--display);font-size:58px;line-height:1.15;font-weight:400;white-space:nowrap;letter-spacing:-1px}.calc-result-one span{font-size:12px;color:#d9e4f5;max-width:160px}.calc-result-total{padding:22px 0 9px}.calc-result-total span{font-size:11px;color:#d9e4f5;text-transform:uppercase;letter-spacing:1.2px}.calc-result-total strong{display:block;font-family:var(--display);font-size:clamp(58px,6vw,89px);font-weight:400;letter-spacing:-3px;line-height:1.2;color:#b9d5ff;overflow-wrap:anywhere}.calc-formula{font-size:12px;color:#bed0e9}.calculator-section .small-note{font-size:11px;color:#c7d8ef;margin-top:20px}.calc-error{font-size:12px;color:#fce0ba;margin-top:12px}.no-js-calculator{color:#d9e4f5;padding:10px 0}.enhanced .no-js-calculator{display:none}
/* Guide. Non-JS content is never hidden. */
.guide-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:44px;align-items:start}.guide-tabs{display:none}.enhanced .guide-tabs{display:flex;flex-direction:column;gap:8px}.guide-tab{border:none;border-bottom:1px solid var(--line);background:transparent;width:100%;text-align:left;display:flex;gap:18px;align-items:center;padding:15px 15px 15px 0;min-height:75px;line-height:1.4;border-radius:10px 10px 0 0}.guide-tab .step-num{font-family:var(--display);font-size:22px;color:var(--muted);width:36px;height:40px;border-radius:50%;flex-shrink:0;display:flex;justify-content:center;align-items:center}.guide-tab span:nth-child(2){font-size:15px;font-weight:700}.guide-tab .icon{margin-left:auto;width:16px;flex-shrink:0}.guide-tab[aria-selected=true]{background:var(--accent);color:var(--white);padding-left:13px;border-color:var(--accent);border-radius:12px}.guide-tab[aria-selected=true] .step-num{color:#e5cc9d}.guide-panel{padding:35px 40px 25px;border:1px solid var(--line);border-radius:20px;background:var(--white);box-shadow:var(--shadow);margin-bottom:20px;overflow:hidden}.enhanced .guide-panel:not(.is-active){display:none}.guide-panel h3{font-family:var(--display);font-size:29px;margin:21px 0 13px}.guide-panel>p{font-size:15px;color:var(--muted);line-height:1.85}.diagram{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--paper-2);height:215px;border-radius:10px;overflow:hidden}.diagram::before,.diagram::after{content:'';position:absolute;width:280px;height:280px;border:1px solid #c9b78e55;border-radius:50%}.diagram::after{width:320px;height:320px}.diagram-label{position:absolute;left:16px;top:14px;text-transform:uppercase;font-size:8px;letter-spacing:1.6px;color:var(--muted)}.diagram-card{background:var(--white);border:1px solid #e0d6c3;box-shadow:10px 16px 0 #dcd1bc50;transform:rotate(-3deg);padding:24px 26px;min-width:220px;max-width:89%;position:relative;z-index:1;border-radius:8px;text-align:center}.diagram-card .icon{color:var(--accent-2);width:26px;height:26px;margin-bottom:8px}.diagram-card small{display:block;font-size:9px;color:var(--muted);margin-bottom:7px}.diagram-card strong{display:block;font-family:var(--display);font-size:24px;font-weight:400;color:var(--accent);overflow-wrap:anywhere}.diagram-count{position:absolute;right:16px;bottom:10px;font:35px var(--display);color:#bca680}.guide-controls{display:none;justify-content:space-between;align-items:center;gap:15px;margin-top:22px}.enhanced .guide-controls{display:flex}.guide-controls>span{font-size:11px;color:var(--muted);text-align:center}.guide-bottom{border-top:1px solid var(--line);padding-top:24px;margin-top:20px;display:flex;gap:32px;align-items:flex-start;justify-content:space-between}.guide-bottom p{max-width:620px}.verification-note{border-left:2px solid #bc945d;padding:13px 18px;background:#eaf0fa;color:#665746;font-size:13px;margin-top:20px}.source-inline{font-size:11px;margin-top:13px;color:var(--accent-2)}
/* YouTube is deliberately absent from the DOM until explicit activation. */
.video-section{padding:15px 0 108px}.video-grid{display:grid;grid-template-columns:1.16fr 1fr;gap:65px;align-items:center}.video-shell{position:relative;border-radius:18px;min-height:345px;aspect-ratio:16/10;overflow:hidden;background:#292d29;color:var(--paper)}.video-shell::before{content:'';position:absolute;border:1px solid #d8c09825;border-radius:50%;width:400px;height:400px;right:-160px;top:-80px;pointer-events:none}.video-placeholder{position:absolute;inset:0;padding:33px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.video-wordmark{font-size:11px;letter-spacing:3px;color:#c6b99e;margin-bottom:17px}.play-icon{width:72px;height:72px;border-radius:50%;background:#f6eddc;display:flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:18px}.play-icon .icon{width:28px;height:28px;margin-left:4px}.video-placeholder .button{background:transparent;border-color:#d9ccb166;color:var(--paper);font-size:12px;max-width:350px;padding:11px 20px;min-height:48px}.video-placeholder p{font-size:10px;line-height:1.7;color:#c2bdb1;max-width:370px;margin-top:16px}.video-shell iframe{position:absolute;inset:0;border:0;width:100%;height:100%;z-index:5}.video-copy .lead{font-size:16px;margin-top:24px}.video-copy .small-note{font-size:12px;margin:17px 0}.video-links{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-top:15px}.video-links a{font-size:12px}.video-reset{background:none;border:0;border-bottom:1px solid var(--line);font-size:12px;min-height:44px;padding:5px 0;color:var(--accent)}
/* Real projects, captions and a keyboard-accessible interactive concept. */
.help-section{background:var(--paper-2)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.project-card{min-width:0}.project-visual{height:260px;position:relative;background:var(--white);border-radius:16px;overflow:hidden}.project-visual img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.project-card:hover .project-visual img{transform:scale(1.035)}.project-visual.is-fallback{background:#eaf0f8 url('../img/shelter-outline.svg') center/cover}.project-visual[data-project="0"].is-fallback{background-image:url('../img/community-outline.svg')}.image-caption-chip{position:absolute;left:13px;bottom:13px;border:1px solid #ffffff60;background:#ffffffef;backdrop-filter:blur(10px);border-radius:100px;padding:5px 10px;font-size:9px;max-width:calc(100% - 77px);line-height:1.5}.project-visual .icon-button{position:absolute;right:13px;bottom:12px;width:41px;height:41px;background:var(--white);border-color:transparent;z-index:2}.project-content{padding-top:21px}.project-kicker{font-size:9px;letter-spacing:1.2px;color:var(--accent-2);text-transform:uppercase;margin-bottom:9px}.project-content h3{font-family:var(--display);font-size:29px;letter-spacing:-.5px;line-height:1.2;margin-bottom:13px}.project-content p:not(.project-kicker){font-size:14px;color:var(--muted);line-height:1.75;min-height:98px}.project-content a{margin-top:15px;font-size:12px}.project-note{border-top:1px solid var(--line);margin-top:34px;padding-top:20px;font-size:12px;max-width:950px;color:var(--muted)}
/* Bank details are informational; there is no payment or account-login form. */
.donate-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:88px;align-items:start}.donate-intro .lead{margin-top:25px;font-size:17px}.donate-intro .small-note{margin-top:26px;max-width:460px}.safety-line{display:flex;gap:12px;align-items:flex-start}.safety-line .icon{flex-shrink:0;color:var(--accent-2)}.bank-card{background:var(--white);border:1px solid var(--line);padding:32px;border-radius:20px;box-shadow:var(--shadow)}.bank-card dl{margin:0}.bank-row{display:grid;grid-template-columns:1fr auto;gap:5px 15px;border-bottom:1px solid var(--line);padding:16px 0}.bank-row:first-child{padding-top:0}.bank-row dt{font-size:10px;color:var(--muted);grid-column:1;letter-spacing:.35px}.bank-row dd{margin:0;font-size:14px;overflow-wrap:anywhere;grid-column:1;line-height:1.6}.bank-row button{grid-row:1 / 3;grid-column:2;align-self:center;width:40px;height:40px}.bank-row-iban dd{font-family:var(--display);font-size:clamp(22px,2.2vw,29px);line-height:1.4;color:var(--accent);font-variant-numeric:lining-nums;letter-spacing:-.5px}.bank-card>.button{margin-top:24px;width:100%}.bank-card .small-note{font-size:11px;margin-top:15px}.currency-note{border:1px solid var(--line);display:inline-flex;margin-top:23px;padding:4px 12px;border-radius:100px;font-size:11px;color:var(--muted)}
.faq-section{padding-top:8px}.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:92px}.faq-grid h2{position:sticky;top:145px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{padding:24px 30px 24px 0;cursor:pointer;font-size:17px;line-height:1.5;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'⌄';position:absolute;right:1px;top:22px;font-size:25px;font-family:var(--display);font-weight:400;color:var(--accent-2)}.faq-list details[open] summary::after{content:'⌃'}.faq-list details[open] summary{color:var(--accent)}.faq-list p{font-size:15px;color:var(--muted);line-height:1.85;padding:0 20px 23px 0}.sources{padding:45px;border:1px solid var(--line);border-radius:19px;background:#f0f4fb;display:grid;grid-template-columns:1fr 1fr;gap:75px}.sources h3{font-family:var(--display);font-size:29px;margin-bottom:16px}.sources p{font-size:13px;color:var(--muted)}.sources ol{padding:0;margin:0;list-style:none;counter-reset:sources}.sources li{counter-increment:sources;border-bottom:1px solid #cbd7e855}.sources li:last-child{border-bottom:0}.sources a{display:flex;gap:14px;align-items:center;text-decoration:none;font-size:12px;min-height:45px;padding:8px 0}.sources a::before{content:'0' counter(sources);font-size:10px;color:var(--accent-2)}.sources a .icon{width:14px;margin-left:auto;flex-shrink:0}.sources a:hover{text-decoration:underline}.review-date{display:inline-flex;margin-top:20px;font-size:10px;color:var(--accent);padding:5px 10px;background:#dde9ff;border-radius:100px}.contact-section{padding:81px 0 72px}.contact-grid{display:flex;gap:50px;justify-content:space-between;align-items:center}.contact-grid h2{font-size:38px;letter-spacing:-1px}.contact-grid p{font-size:14px;color:var(--muted);margin-top:15px;max-width:590px}.contact-actions{display:flex;flex-direction:column;gap:14px;align-items:center;flex-shrink:0}.contact-actions .text-link{font-size:12px}.site-footer{border-top:1px solid var(--line);padding:34px 0}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-main strong{font-family:var(--display);font-weight:400;font-size:19px}.footer-main small{font-size:10px;color:var(--muted);display:block;margin-top:7px;max-width:530px}.footer-tools{display:flex;flex-wrap:wrap;gap:5px 20px}.footer-tools a,.footer-tools button{font-size:11px;border:0;background:none;color:var(--muted);text-decoration:underline;min-height:44px;padding:5px 0;text-align:left}.footer-languages{margin-top:23px;display:flex;gap:17px;flex-wrap:wrap}.footer-languages a{font-size:10px;color:var(--muted);text-decoration:none;min-height:35px;display:flex;align-items:center}.footer-languages a[aria-current]{color:var(--accent);text-decoration:underline}.mobile-cta{display:none}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:var(--accent-dark);color:var(--paper);padding:13px 22px;font-size:13px;border-radius:12px;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;z-index:100;max-width:min(550px,calc(100% - 32px));box-shadow:var(--shadow);text-align:center;pointer-events:none}.toast.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
/* Native dialog provides focus trapping and Escape support. */
dialog{padding:0;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);width:min(920px,calc(100% - 36px));max-height:90dvh;box-shadow:0 30px 120px #0005}dialog::backdrop{background:#112b4cb8;backdrop-filter:blur(4px)}.dialog-inner{padding:30px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.dialog-head h2{font-size:32px;letter-spacing:-.6px;line-height:1.2}.dialog-head .icon-button{flex-shrink:0}.dialog-photo{position:relative;border-radius:13px;overflow:hidden;background:var(--paper-2);min-height:180px}.dialog-photo img{width:100%;max-height:50dvh;object-fit:contain;min-height:180px}.dialog-caption{font-size:12px;color:var(--muted);margin-top:15px}.hotspot{position:absolute;width:40px;height:40px;border:3px solid #fff6;border-radius:50%;background:var(--accent);color:white;box-shadow:0 4px 12px #1f3c6330;transform:translate(-50%,-50%);font-size:13px}.hotspot:hover,.hotspot[aria-pressed=true]{background:#2452b7;outline:2px solid #fff;outline-offset:3px}.hotspot-one{left:9%;top:46%}.hotspot-two{left:47%;top:28%}.hotspot-three{left:51%;top:63%}.hotspot-copy{margin-top:18px;background:var(--white);padding:18px;border-radius:12px;border:1px solid var(--line)}.hotspot-copy h3{font:22px var(--display);margin:0 0 8px}.hotspot-copy p{font-size:14px;color:var(--muted)}.dialog-text{font-size:15px;color:var(--muted);margin-bottom:23px;line-height:1.85}.dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.js-only{display:none}.enhanced .js-only{display:inline-flex}.reveal{opacity:1;transform:none}.motion-ready .reveal.will-reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.motion-ready .reveal.is-visible{opacity:1;transform:none}
@media(min-width:1500px){.hero-grid{gap:85px}.hero h1{font-size:86px}.hero{padding-top:79px}}
@media(max-width:1150px){.container{width:calc(100% - 64px)}.desktop-nav{gap:19px}.header-inner{gap:22px}.brand-text strong{font-size:19px}.brand-text small{font-size:9px}.hero-grid{gap:48px}.hero h1{font-size:63px}.section-top{gap:45px}.calculator-grid,.donate-grid{gap:52px}.project-visual{height:218px}.project-content h3{font-size:26px}.video-grid{gap:40px}.guide-panel{padding:25px}.guide-grid{gap:28px}.bank-card{padding:25px}.faq-grid{gap:55px}.sources{gap:45px}}
@media(max-width:960px){.desktop-nav{display:none}.menu-toggle{display:flex}.header-tools{margin-left:auto}.header-inner{min-height:86px}.hero-grid{gap:37px}.hero h1{font-size:56px;letter-spacing:-2px}.hero .lead{font-size:16px}.hero-actions{gap:15px}.hero-actions .button{font-size:12px;padding:13px 19px}.hero-actions .text-link{font-size:12px}.hero{padding-top:50px}.fact strong{font-size:24px}.facts{gap:17px}.fact{padding-left:17px}.section{padding-block:78px}.section-top{grid-template-columns:1fr;gap:25px}.section-top p:not(.eyebrow){max-width:650px;font-size:16px}.ways .section-top{grid-template-columns:1fr}.calculator-grid{gap:38px}.calculator-controls{grid-template-columns:1fr}.calc-result-one{display:block}.calc-result-one span{display:block;max-width:none;margin-top:10px}.calc-result-total strong{font-size:65px}.guide-grid{grid-template-columns:.8fr 1.2fr;gap:20px}.guide-tab span:nth-child(2){font-size:13px}.guide-tab{gap:10px;padding-right:8px}.guide-panel{padding:20px}.guide-controls .button{font-size:11px;padding:10px 12px;gap:6px}.guide-controls>span{font-size:9px}.diagram-card{min-width:190px;padding:22px 18px}.diagram-card strong{font-size:21px}.guide-panel h3{font-size:26px}.guide-panel>p{font-size:14px}.video-grid{grid-template-columns:1fr 1fr;gap:30px}.video-shell{min-height:330px}.video-placeholder{padding:20px}.video-copy h2{font-size:36px}.video-copy .lead{font-size:14px}.video-copy .small-note{font-size:11px}.project-grid{gap:18px}.project-visual{height:186px}.project-content h3{font-size:24px}.project-content p:not(.project-kicker){font-size:13px;min-height:115px}.donate-grid{grid-template-columns:1fr 1.15fr;gap:30px}.bank-card{padding:22px}.bank-row-iban dd{font-size:22px}.faq-grid{grid-template-columns:.7fr 1.3fr;gap:35px}.faq-list summary{font-size:15px}.sources{padding:30px;gap:35px}.contact-grid{gap:35px}.contact-grid h2{font-size:34px}}
@media(max-width:730px){html{scroll-padding-top:90px}.container{width:calc(100% - 40px)}.header-inner{min-height:78px;gap:12px}.brand{gap:10px}.brand-mark{width:31px;height:39px}.brand-text strong{font-size:18px}.brand-text small{font-size:8px;letter-spacing:.5px}.header-tools{gap:9px}.language summary{min-height:42px;padding:8px 11px;gap:6px}.menu-toggle{width:42px;height:42px}.hero{padding-top:29px}.hero-grid{grid-template-columns:1fr;gap:24px}.hero-copy{padding:0}.hero h1{font-size:clamp(47px,9.6vw,72px);letter-spacing:-2px;line-height:1.03;margin:20px 0 23px;max-width:600px}.hero h1 span,.hero h1 em{display:block}.hero .eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:10px}.hero .lead{font-size:16px;max-width:610px}.hero-actions{margin:25px 0 17px;gap:19px}.hero-actions .button{font-size:12px}.hero-small{font-size:10px}.facts{margin-top:0;grid-template-columns:.6fr 1fr;gap:17px;padding:21px 0}.fact{padding-left:17px}.fact strong{font-size:23px}.fact small{font-size:9px}.fact:nth-child(3){grid-column:1/-1;padding:16px 0 0;border-left:0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.fact:nth-child(3) small{margin-bottom:0}.fact-code{gap:15px}.fact-code .icon-button{width:38px;height:38px}.campaign-notice{font-size:11px;gap:8px}.section{padding-block:60px}h2{font-size:38px;letter-spacing:-1.2px}.eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:16px}.section-top{gap:20px;margin-bottom:29px}.section-top p:not(.eyebrow){font-size:15px}.ways-grid{grid-template-columns:1fr;gap:17px}.way{grid-template-columns:45px 1fr;gap:15px;padding-top:23px}.way-num{font-size:31px}.way h3{font-size:27px;margin-bottom:11px}.way p{font-size:14px;max-width:none}.calculator-section{padding:56px 0}.calculator-grid{grid-template-columns:1fr;gap:33px}.calculator-section h2{font-size:38px;max-width:530px}.calculator-section .lead{font-size:14px;max-width:none;margin-top:20px}.calculator-controls{grid-template-columns:1fr 1fr;gap:24px;margin-top:25px}.input-group label{font-size:10px;min-height:33px}.money-input input{font-size:30px}.calc-result-one{display:flex;align-items:baseline;padding-bottom:17px}.calc-result-one strong{font-size:49px}.calc-result-one span{margin:0;max-width:170px;font-size:11px}.calc-result-total{padding-top:18px}.calc-result-total strong{font-size:67px;line-height:1.1;margin-top:7px}.calc-result-total span{font-size:10px}.calculator-section .small-note{font-size:10px}.guide-grid{grid-template-columns:1fr;gap:21px}.enhanced .guide-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.guide-tab{min-height:52px;justify-content:center;align-items:center;padding:0;border:1px solid var(--line);border-radius:9px}.guide-tab[aria-selected=true]{padding:0;border-radius:9px}.guide-tab span:nth-child(2){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.guide-tab .icon{display:none}.guide-tab .step-num{font-size:20px}.guide-panel{padding:23px;border-radius:15px}.diagram{height:215px}.diagram-card{min-width:230px}.diagram-card strong{font-size:25px}.guide-panel h3{font-size:28px;margin-top:23px}.guide-panel>p{font-size:15px}.guide-controls .button{font-size:12px;min-height:44px;padding:10px 15px}.guide-controls>span{font-size:10px}.guide-bottom{flex-direction:column;gap:19px;margin-top:10px}.guide-bottom .small-note{font-size:12px}.verification-note{font-size:12px}.video-section{padding:0 0 60px}.video-grid{grid-template-columns:1fr;gap:29px}.video-shell{min-height:315px;aspect-ratio:16/11;order:2}.video-placeholder{padding:25px}.video-copy h2{font-size:38px}.video-copy .lead{font-size:15px;margin-top:20px}.video-copy .small-note{font-size:11px}.project-grid{grid-template-columns:1fr;gap:34px}.project-visual{height:265px}.project-content{padding-top:17px}.project-content h3{font-size:30px}.project-content p:not(.project-kicker){font-size:15px;min-height:0}.project-content a{font-size:13px;margin-top:10px}.project-kicker{font-size:9px}.project-note{font-size:11px;margin-top:25px}.donate-grid{grid-template-columns:1fr;gap:31px}.donate-intro .lead{font-size:15px;margin-top:20px}.donate-intro .small-note{font-size:12px;margin-top:18px;max-width:none}.bank-card{padding:24px}.bank-row-iban dd{font-size:26px}.bank-row dd{font-size:14px}.bank-row-iban dd{font-size:25px}.faq-grid{grid-template-columns:1fr;gap:29px}.faq-grid h2{position:static}.faq-list summary{font-size:15px;padding-block:21px}.faq-list summary::after{top:17px}.faq-list p{font-size:14px}.sources{grid-template-columns:1fr;gap:23px;padding:27px}.sources h3{font-size:27px}.sources p{font-size:12px}.sources a{font-size:12px;min-height:48px}.contact-section{padding:56px 0}.contact-grid{flex-direction:column;gap:25px;align-items:flex-start}.contact-grid h2{font-size:34px}.contact-actions{align-items:flex-start}.contact-grid p{font-size:13px}.site-footer{padding:29px 0 88px}.footer-main{align-items:flex-start;flex-direction:column;gap:15px}.footer-main strong{font-size:19px}.footer-main small{font-size:9px}.footer-tools{gap:16px}.footer-tools button{font-size:10px}.footer-languages{margin-top:15px;gap:16px}.footer-languages a{font-size:10px}.mobile-cta{display:flex;gap:10px;position:fixed;bottom:0;left:0;right:0;z-index:25;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#f6f8fcf5;border-top:1px solid var(--line);backdrop-filter:blur(14px)}.mobile-cta .button{flex:1;font-size:11px;padding:10px 12px;min-height:46px;gap:7px}.toast{bottom:91px;font-size:12px}.dialog-inner{padding:21px}.dialog-head h2{font-size:26px}.dialog-head .icon-button{width:40px;height:40px}.dialog-caption{font-size:11px}.dialog-foot{align-items:flex-start;flex-direction:column}.hotspot{width:36px;height:36px}.dialog-photo img{max-height:42dvh}.dialog-text{font-size:14px}section[id]{scroll-margin-top:95px}}
@media(max-width:380px){.container{width:calc(100% - 32px)}.brand-text strong{font-size:16px}.brand-text small{font-size:7px}.brand{gap:8px}.header-tools{gap:7px}.brand-mark{width:26px}.language summary{padding:8px 9px;font-size:10px}.language summary .icon{width:13px}.hero h1{font-size:46px}.hero-actions{gap:12px}.hero-actions .button{padding:13px 17px}.hero-actions .text-link{font-size:11px}.fact strong{font-size:21px}.bank-card{padding:19px}.bank-row-iban dd{font-size:22px}.calculator-controls{gap:17px}.input-group label{font-size:9px}.guide-panel{padding:19px}.guide-controls .button{padding:9px 12px;font-size:11px}.guide-controls>span{font-size:9px}.diagram-card{min-width:200px}.project-visual{height:235px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .reveal.will-reveal{opacity:1;transform:none}}
@media print{body{font-size:10pt;background:white;color:black}.container{width:100%;max-width:none}.section,.contact-section{padding:18pt 0}.hero{padding-top:0}.hero-grid,.section-top,.ways-grid,.guide-grid,.video-grid,.project-grid,.donate-grid,.faq-grid,.sources{display:block}.hero-copy{padding:0}.hero h1{font-size:34pt;line-height:1.08;margin:12pt 0}.hero h1 span,.hero h1 em{display:inline}.hero h1 em::before{content:' '}.hero .lead{font-size:11pt}.eyebrow{font-size:8pt;margin-bottom:8pt}h2{font-size:24pt;margin-bottom:12pt}h3{font-size:17pt}.facts{margin:18pt 0 0;padding:12pt 0}.fact strong{font-size:19pt}.campaign-notice{font-size:9pt}.section-top{margin-bottom:12pt}.way{display:block;padding:12pt 0}.way-num{display:none}.way p{max-width:none}.tag{padding:2pt 6pt}.guide-panel,.enhanced .guide-panel:not(.is-active){display:block!important;box-shadow:none;border:0;border-bottom:1px solid #ccc;border-radius:0;padding:10pt 0;margin:0;break-inside:avoid}.guide-panel .diagram{display:none}.guide-panel h3{font-size:15pt;margin:8pt 0}.guide-panel>p{font-size:10pt}.guide-bottom{display:block}.verification-note{margin:8pt 0;font-size:9pt}.video-section{padding:15pt 0}.video-copy h2{font-size:23pt}.video-copy .lead{font-size:10pt}.project-visual{display:none}.project-card{margin-bottom:15pt;break-inside:avoid}.project-content h3{font-size:17pt}.project-content p:not(.project-kicker){font-size:10pt;min-height:0}.project-note{font-size:9pt}.help-section{background:transparent}.bank-card{padding:15pt;box-shadow:none;margin-top:15pt;break-inside:avoid}.bank-row{padding:7pt 0}.bank-row dt{font-size:8pt}.bank-row dd{font-size:10pt}.bank-row-iban dd{font-size:16pt}.bank-card>.button{display:none}.faq-list details{break-inside:avoid}.faq-list summary{font-size:11pt;padding:8pt 0}.faq-list summary::after{display:none}.faq-list details>p{display:block!important;font-size:10pt;padding:0 0 8pt}.faq-list details::details-content{content-visibility:visible}.sources{padding:15pt;background:none;break-inside:avoid}.sources ol{margin-top:10pt}.sources a{font-size:9pt;min-height:24pt}.contact-grid{display:block}.contact-grid h2{font-size:22pt}.site-footer{padding:16pt 0}.footer-main{display:block}.small-note{font-size:9pt}.reveal,.motion-ready .reveal.will-reveal{opacity:1!important;transform:none!important}.button{font-size:9pt;min-height:0;padding:3pt 0;border:0}.text-link{font-size:9pt;min-height:0}.footer-main small{font-size:8pt}}
/* Keep intrinsic media sizes and long translated labels inside narrow grids. */
.video-grid>*{min-width:0}.video-shell{width:100%;max-width:100%;min-width:0}
.hero-copy,.section-top>*,.calculator-grid>*,.donate-grid>*,.faq-grid>*,.bank-card{min-width:0}
.enhanced .menu-toggle{display:none}
@media(max-width:960px){.enhanced .menu-toggle{display:inline-flex}}
@media(max-width:730px){.video-shell{aspect-ratio:auto;height:340px}.video-placeholder .button{max-width:100%}}
@media print{.guide-panel[hidden]{display:block!important}}
#hotspots{position:absolute;inset:0;pointer-events:none}#hotspots button{pointer-events:auto}
.calc-results.long-numbers .calc-result-one strong,.calc-results.long-numbers .calc-result-total strong{font-size:clamp(25px,4vw,52px);letter-spacing:-1px;overflow-wrap:anywhere}

/* Version 0.2 — neutral information design. No religious marks, silhouettes or photographs. */
h1,h2,h3{font-weight:650}h2{letter-spacing:-1.8px}h3{font-weight:600}
.site-header{background:#f6f8fcf2}.header-inner{min-height:86px}
.brand{gap:12px}.brand-mark{display:flex;align-items:center;justify-content:center;width:43px;height:43px;border-radius:13px;background:var(--accent);color:white;font:700 27px/1 var(--sans);box-shadow:0 5px 15px #275bd51a}
.brand-text strong{font:700 21px/1.2 var(--sans);letter-spacing:-.4px}.brand-text small{font-size:10px;letter-spacing:.3px;margin-top:5px}
.desktop-nav{gap:25px}.desktop-nav a{font-weight:500}.button{border-radius:13px}.language summary{border-radius:12px}.menu-toggle{border-radius:12px}
.hero{padding-top:56px}.hero-grid{grid-template-columns:1.05fr 1fr;gap:65px;align-items:center}
.hero-copy{padding:10px 0 25px}.hero h1{font:700 clamp(43px,4.7vw,68px)/1.08 var(--sans);letter-spacing:-2.8px;margin:24px 0;text-wrap:initial}
.hero h1 em{font-style:normal;font-weight:700;margin-top:5px;color:var(--accent)}.hero .lead{font-size:18px;line-height:1.75;max-width:540px}
.hero-small{font-size:11px;color:var(--muted)}.hero-actions{gap:22px}.hero-actions .text-link{font-size:13px;gap:10px}
.info-visual{min-width:0;padding:27px 28px 22px;border:1px solid #d2deef;border-radius:27px;background:linear-gradient(135deg,#fff 30%,#edf3ff);box-shadow:0 20px 60px #3652840a;position:relative;isolation:isolate}
.info-top{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;font-weight:700;letter-spacing:1.2px;color:#526f9a}
.info-label{display:flex;align-items:center;gap:8px}.info-label::before{content:'';width:6px;height:6px;border-radius:50%;background:#275bd5}.info-year{padding:5px 10px;border:1px solid #cfdbed;border-radius:7px;letter-spacing:1px}
.percent-lockup{display:flex;gap:22px;align-items:center;padding:18px 0 22px}.percent-figure{font:700 clamp(74px,7vw,105px)/1 var(--sans);letter-spacing:-7px;color:var(--accent);white-space:nowrap}.percent-figure>span{font-size:.5em;letter-spacing:-2px;margin-left:3px}
.percent-text{min-width:0;padding-top:5px;max-width:190px}.percent-text p{font-size:13px;line-height:1.65;color:var(--muted)}.percent-text a{font-size:11px;line-height:1.45;gap:7px;margin-top:10px;min-height:35px}.percent-text .icon{width:16px;height:16px}
.hero-explainer{background:white;border:1px solid #dae3f2;border-radius:16px;padding:18px 19px 8px}.hero-explainer h2{font:700 14px/1.5 var(--sans);letter-spacing:0;margin-bottom:12px;text-wrap:initial}
.hero-explainer details{border-top:1px solid #e3eaf4}.hero-explainer summary{display:flex;align-items:center;gap:11px;list-style:none;cursor:pointer;padding:13px 0;min-height:47px;font-size:13px;font-weight:600;line-height:1.5}.hero-explainer summary::-webkit-details-marker{display:none}.hero-explainer summary .icon{margin-left:auto;width:16px;height:16px;color:#6c86b0;flex:none;transition:transform .15s}.hero-explainer details[open] summary .icon{transform:rotate(180deg)}
.info-number{font-size:10px;color:#5676a6;font-variant-numeric:tabular-nums}.hero-explainer details>p{font-size:12px;line-height:1.7;color:var(--muted);padding:0 2px 14px 27px;margin:0;max-width:none}.info-caption{font-size:10px;line-height:1.6;color:#586f8e;margin-top:16px}
.facts{margin-top:38px}.fact strong{font:600 24px/1.3 var(--sans);letter-spacing:-.5px}.fact-form{letter-spacing:1px!important;font-size:22px!important}.fact small{font-size:11px}.campaign-notice{font-size:12px}
.ways{padding:76px 0 24px}.way h3{font-size:25px;font-weight:600}.way-num{font-weight:600;font-size:30px}.way p{font-size:15px}.section-top{gap:65px}.section-top p:not(.eyebrow){font-size:16px}
.guide-panel h3{font-weight:650}.diagram{background-color:#edf3fc}.guide-tab{font-size:15px}.guide-panel>p{font-size:16px}
.calculator-section{margin:30px 0 70px}.calc-result-one strong,.calc-result-total strong{font-weight:600}.calc-result-total strong{color:#b9d5ff}.calculator-section .lead{color:#d9e4f5}
.video-shell{background:linear-gradient(135deg,#18345d,#2e5489)}.video-wordmark{color:#cfdef5}.play-icon{background:#ffffff1a}.video-copy h2{font-weight:650}
.faq-section{padding-top:24px}.faq-list summary{font-weight:600}.sources{margin-bottom:80px}
.help-section{padding-top:64px;background:#edf2f8;border-top:1px solid #d6dfed;border-bottom:1px solid #d6dfed}.help-section .eyebrow{color:#566a86}.help-section h2{font-size:clamp(32px,3.4vw,46px)}.project-content h3{font-weight:600;font-size:26px}.project-content p:not(.project-kicker){font-size:15px}.project-visual{border:1px solid #d8e1ee}
.donate-intro h2{font-size:clamp(30px,3.3vw,45px)}.bank-card{background:#fff}.sources h3{font-weight:600;font-size:27px}.review-date{background:#dde9ff}.footer-main strong{font:600 17px/1.5 var(--sans)}
@media(min-width:1500px){.hero h1{font-size:70px}.hero{padding-top:64px}}
@media(max-width:1100px){.hero-grid{gap:35px}.info-visual{padding:22px}.percent-lockup{gap:18px}.percent-figure{font-size:85px}.desktop-nav{gap:17px}.hero h1{font-size:clamp(43px,4.6vw,62px)}}
@media(max-width:960px){.hero-grid{grid-template-columns:1fr 1fr;gap:28px}.hero h1{font-size:48px;letter-spacing:-1.9px}.hero .lead{font-size:16px}.percent-lockup{align-items:flex-start;flex-direction:column;gap:9px;padding:13px 0 18px}.percent-figure{font-size:88px}.percent-text{max-width:none;padding-top:0}.percent-text p{font-size:12px}.percent-text a{margin-top:0}.hero-explainer{padding:15px 14px 5px}.hero-explainer summary{font-size:12px}.hero-actions .text-link{font-size:12px}.section-top{gap:32px}}
@media(max-width:730px){.header-inner{min-height:74px;gap:12px}.brand-mark{width:36px;height:36px;font-size:23px;border-radius:11px}.brand-text strong{font-size:18px}.brand-text small{font-size:9px;letter-spacing:0}.brand{gap:9px}.hero{padding-top:29px}.hero-grid{grid-template-columns:1fr;gap:27px}.hero-copy{padding:0}.hero h1{font-size:46px;letter-spacing:-1.9px;margin:18px 0}.hero .lead{font-size:16px;line-height:1.75}.hero .eyebrow{font-size:9px;letter-spacing:1.3px}.hero-actions{gap:15px;margin:24px 0 18px}.hero-actions .button{padding:13px 17px;font-size:12px}.hero-actions .text-link{font-size:12px}.hero-small{font-size:10px}.info-visual{padding:22px 20px 17px;border-radius:21px}.percent-lockup{flex-direction:row;align-items:center;gap:24px;padding:17px 0 20px}.percent-figure{font-size:84px;letter-spacing:-5px}.percent-text{max-width:165px}.percent-text p{font-size:12px}.percent-text a{font-size:10px;margin-top:7px}.info-top{font-size:10px}.hero-explainer{padding:16px 16px 5px}.hero-explainer summary{font-size:13px}.info-caption{font-size:9px}.facts{margin-top:25px}.fact strong{font-size:20px}.fact small{font-size:10px}.fact:nth-child(3){padding-top:14px}.fact-form{font-size:18px!important}.campaign-notice{font-size:11px}.ways{padding:55px 0 8px}.section-top p:not(.eyebrow){font-size:15px}h2{font-size:34px;letter-spacing:-1.2px}.way h3{font-size:23px}.way-num{font-size:27px}.calculator-section{margin:10px 0 55px}.calculator-section h2{font-size:34px}.guide-panel h3{font-size:25px}.guide-panel>p{font-size:15px}.video-copy h2{font-size:34px}.sources{margin-bottom:55px}.help-section{padding-top:50px}.help-section h2{font-size:32px}.project-content h3{font-size:26px}.mobile-cta{background:#f6f8fcf5}.mobile-cta .button{font-size:11px}.footer-main strong{font-size:16px}.donate-intro h2{font-size:32px}}
@media(max-width:380px){.header-tools{gap:6px}.brand-mark{width:30px;height:33px;font-size:21px}.brand-text strong{font-size:16px}.brand-text small{font-size:8px}.brand{gap:7px}.hero h1{font-size:39px;letter-spacing:-1.7px}.hero .lead{font-size:15px}.hero-actions{gap:12px}.hero-actions .button{font-size:11px;padding:12px 13px}.hero-actions .text-link{font-size:11px}.info-visual{padding:18px 16px}.percent-lockup{gap:17px}.percent-figure{font-size:73px}.percent-text a{font-size:10px}.hero-explainer{padding:15px 12px 5px}.hero-explainer summary{font-size:12px}.hero-explainer details>p{font-size:11px;padding-left:24px}.info-caption{font-size:9px}.hero-small{font-size:9px}.hero .eyebrow{letter-spacing:1px}.fact strong{font-size:19px}.fact small{font-size:9px}.diagram-card strong{font-size:22px}}
@media print{.info-visual{display:none}.hero-grid{display:block}.hero h1{font-size:31pt}.hero h1 em{font-size:31pt}.hero .lead{font-size:11pt}.help-section{background:none}.sources{margin-bottom:20pt}.ways{padding:18pt 0}.facts{margin-top:15pt}.calculator-section{display:none}.hero{padding:0}.hero-copy{padding:0}}

/* Long translated privacy headings also need to wrap on narrow displays. */
main.section h1{font-size:clamp(28px,4.5vw,52px);line-height:1.18;letter-spacing:-1.2px;overflow-wrap:anywhere;margin-bottom:28px}
/* Keep project links aligned despite different translated heading lengths. */
.project-card{display:flex;flex-direction:column}.project-visual{flex-shrink:0}.project-content{display:flex;flex-direction:column;flex:1}.project-content p:not(.project-kicker){min-height:0;margin-bottom:18px}.project-content a{margin-top:auto;align-self:flex-start}

/* Closing invitation to support the parish, after the information guide. */
.not-found {
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 40px 0;
}
.not-found-card {
  max-width: 720px;
  padding: clamp(24px, 5vw, 56px);
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--white);
}
.not-found-code {
  margin-top: 40px;
  color: var(--accent);
  font-size: clamp(64px, 12vw, 112px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -5px;
}
.not-found h1 {
  margin: 20px 0 16px;
  font: 700 clamp(28px, 5vw, 42px)/1.2 var(--sans);
  overflow-wrap: anywhere;
}
.not-found .button { margin-top: 28px; }
.not-found-languages {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin-top: 32px;
  font-size: 14px;
}
.not-found-languages a { padding: 10px 0; }

.parish-support {
  padding: 0 0 64px;
}
.parish-support-card {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  align-items: center;
  gap: 36px;
  padding: 40px;
  background: #edf3fc;
  border: 1px solid #d6e1f2;
  border-radius: 22px;
}
.parish-support-card h2 {
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.2;
  margin-bottom: 16px;
  overflow-wrap: anywhere;
}
.parish-support-card p {
  color: var(--muted);
  line-height: 1.75;
}
.parish-support-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}
.parish-support-actions .button {
  white-space: normal;
  text-align: center;
}
@media (max-width: 730px) {
  .parish-support { padding-bottom: 40px; }
  .parish-support-card {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 24px;
  }
}
@media print {
  .parish-support { padding: 12pt 0; }
  .parish-support-card {
    display: block;
    padding: 12pt;
    background: none;
    break-inside: avoid;
  }
  .parish-support-actions { margin-top: 10pt; }
}

/* Clearly visible project actions; the whole preview opens the same accessible dialog. */
.project-preview { position:absolute; inset:0; width:100%; height:100%; border:0; padding:0; border-radius:15px; background:transparent; z-index:2; }
.project-preview-icon { position:absolute; right:12px; bottom:12px; width:42px; height:42px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--white); color:var(--ink); box-shadow:0 2px 12px #172f5826; }
.project-preview:hover .project-preview-icon { background:var(--paper-2); }
.project-preview:focus-visible { outline-offset:-4px; }
.project-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; margin-top:auto; }
.project-actions a { margin-top:0; }
.dialog-original { margin-bottom:16px; }
#photo-dialog.is-appeal { width:min(1100px,calc(100% - 36px)); }
#photo-dialog.is-appeal .dialog-photo { display:grid; place-items:center; min-height:0; background:#fff5d2; }
#photo-dialog.is-appeal .dialog-photo img { width:auto; max-width:100%; height:auto; min-height:0; max-height:60dvh; object-fit:contain; }
.dialog-appeal-details { margin-top:24px; padding:22px; background:var(--white); border:1px solid var(--line); border-radius:14px; }
.dialog-appeal-details h3 { margin-bottom:12px; }
.dialog-appeal-details p { font-size:15px; line-height:1.75; color:var(--muted); }
.dialog-appeal-details .button { margin-top:20px; }
@media(max-width:730px) { .dialog-appeal-details { padding:16px; } }
@media print { .project-actions [data-photo] { display:none!important; } }

/* Version 0.6 — visual polish on the existing layout. Effects are decorative only:
   content stays readable without JavaScript, motion respects reduced-motion and print stays plain. */
:root { --ease-out:cubic-bezier(.22,1,.36,1); --lift:0 18px 42px #1f3a6a1c; }
.section-top p, .way p, .guide-panel>p, .faq-list p, .project-content p, .donate-intro p { text-wrap:pretty; }

/* A short accent line makes each section label easy to spot while scrolling. */
.eyebrow::before { content:''; display:inline-block; width:18px; height:2px; margin-right:10px; vertical-align:middle; border-radius:2px; background:currentColor; opacity:.55; }

/* Scroll reveal: the transition must live on the visible state, otherwise blocks appear without fading. */
.motion-ready .reveal { transition:opacity .7s var(--ease-out), transform .7s var(--ease-out), box-shadow .35s, border-color .35s; }
.motion-ready .reveal.will-reveal { transform:translateY(22px); }
.motion-ready .way.reveal:nth-child(2), .motion-ready .project-card.reveal:nth-child(2) { transition-delay:.08s; }
.motion-ready .project-card.reveal:nth-child(3) { transition-delay:.16s; }

/* Reading progress and header elevation, driven by scroll position without JavaScript. */
@supports (animation-timeline:scroll()) {
  @media (prefers-reduced-motion:no-preference) {
    .site-header::after { content:''; position:absolute; left:0; right:0; bottom:-1px; height:3px; background:linear-gradient(90deg,var(--accent),#5fa3ff); transform-origin:0 50%; transform:scaleX(0); animation:read-progress linear both; animation-timeline:scroll(root); pointer-events:none; }
    .site-header { animation:header-lift linear both; animation-timeline:scroll(root); animation-range:0 160px; }
  }
}
@keyframes read-progress { to { transform:scaleX(1); } }
@keyframes header-lift { to { box-shadow:0 10px 30px #1a2f5812; } }

/* Navigation and buttons: animated underline, gentle press and arrow nudge. */
.desktop-nav a { background:linear-gradient(currentColor,currentColor) 0 calc(100% - 10px)/0 1.5px no-repeat; transition:background-size .3s var(--ease-out), color .2s; }
.desktop-nav a:hover { text-decoration:none; background-size:100% 1.5px; }
.button-primary { background-image:linear-gradient(135deg,#3b70f0,var(--accent) 60%); }
.button:active { transform:translateY(0) scale(.98); }
.icon-button { transition:background-color .2s, border-color .2s, transform .15s; }
.icon-button:hover { border-color:#c3d3ec; }
.icon-button:active { transform:scale(.92); }
.button .icon, .text-link .icon, .sources a .icon { transition:transform .25s var(--ease-out); }
.sources a { transition:color .2s; }
.sources a:hover { color:var(--accent); }
@media (hover:hover) {
  .button:hover .icon, .text-link:hover .icon, .sources a:hover .icon { transform:translateX(3px); }
  .project-visual { transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out); }
  .project-card:hover .project-visual { transform:translateY(-4px); box-shadow:var(--lift); }
  .bank-card:hover, .parish-support-card:hover { box-shadow:var(--lift); border-color:#c3d3ec; }
  .guide-tab:not([aria-selected=true]):hover { background:var(--paper-2); }
}

/* Hero: the key figure gets a slow sheen and the card a soft light. */
.info-visual::after { content:''; position:absolute; inset:0; z-index:-1; border-radius:inherit; background:radial-gradient(320px circle at 100% 0,#7aa7ff2e,transparent 70%); pointer-events:none; }
.percent-figure { background:linear-gradient(120deg,var(--accent) 20%,#5b8dff 45%,var(--accent) 70%) 100% 0/220% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; }
@media (prefers-reduced-motion:no-preference) { .percent-figure { animation:figure-shine 8s ease-in-out infinite; } }
@keyframes figure-shine { 50% { background-position:0 0; } }
@media (forced-colors:active) { .percent-figure { background:none; color:CanvasText; } }

/* Step guide: clear selected state and a short entrance when a step changes. */
.guide-tab { transition:background-color .25s, color .25s, border-color .25s, box-shadow .25s; }
.guide-tab[aria-selected=true] { box-shadow:0 10px 24px #275bd52e; }
@media (prefers-reduced-motion:no-preference) { .enhanced .guide-panel.is-active { animation:panel-in .45s var(--ease-out); } }
@keyframes panel-in { from { opacity:0; transform:translateY(10px); } }

/* Calculator: soft light behind the dark panel, visible focus and a glowing total. */
.calculator-section { isolation:isolate; }
.calculator-section::after { content:''; position:absolute; inset:0; z-index:-1; background:radial-gradient(560px circle at 88% 12%,#4c7ff040,transparent 70%), radial-gradient(420px circle at 4% 100%,#2aa9a01c,transparent 70%); pointer-events:none; }
.money-input { transition:border-color .25s; }
.money-input:focus-within { border-color:#83b9ff; }
.calc-result-total strong { text-shadow:0 0 42px #5fa3ff4d; }

/* FAQ: a drawn chevron that turns, and smooth opening where the browser supports it. */
.faq-list summary { padding-right:44px; transition:color .2s; }
.faq-list summary:hover { color:var(--accent); }
.faq-list summary::after, .faq-list details[open] summary::after { content:''; top:50%; right:8px; width:9px; height:9px; border-right:2px solid var(--accent-2); border-bottom:2px solid var(--accent-2); transform:translateY(-70%) rotate(45deg); transition:transform .3s var(--ease-out); }
.faq-list details[open] summary::after { transform:translateY(-30%) rotate(225deg); }
@supports (interpolate-size:allow-keywords) {
  @media (prefers-reduced-motion:no-preference) {
    .faq-list { interpolate-size:allow-keywords; }
    .faq-list details::details-content { block-size:0; overflow:hidden; transition:block-size .35s var(--ease-out), content-visibility .35s allow-discrete; }
    .faq-list details[open]::details-content { block-size:auto; }
  }
}

/* Footer links and buttons share one baseline. */
.footer-tools a, .footer-tools button { display:inline-flex; align-items:center; }

@media print {
  .site-header::after, .info-visual::after, .calculator-section::after { display:none; }
  .percent-figure { background:none; color:var(--accent); }
  .faq-list details::details-content { block-size:auto!important; overflow:visible; }
  .eyebrow::before { display:none; }
}

/* Version 0.7 — depth and light. Mouse pointers add tilt, parallax and soft light; time adds a slow drift.
   Touch, reduced motion, forced colours and print keep the flat 0.6 presentation. Layout is unchanged. */
@property --px { syntax:'<number>'; inherits:true; initial-value:0; }
@property --py { syntax:'<number>'; inherits:true; initial-value:0; }
@property --lit { syntax:'<number>'; inherits:true; initial-value:0; }
@property --drift { syntax:'<number>'; inherits:true; initial-value:0; }
:root { --px:0; --py:0; --lit:0; --drift:0; --glide:.5s var(--ease-out); }
.hero, .info-visual, .project-visual, .diagram, .bank-card, .parish-support-card, .calculator-section { --px:0; --py:0; --lit:0; }
.is-tilting { --lit:1; }

/* Hero: soft colour fields drift slowly and shift with the pointer, behind unchanged content. */
.hero { position:relative; isolation:isolate; }
.hero::before { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; transition:--px 1.2s var(--ease-out), --py 1.2s var(--ease-out);
  background:radial-gradient(circle at calc(14% + var(--drift) * 6% - var(--px) * 6%) calc(26% + var(--drift) * 4% - var(--py) * 6%), #a9c6ff3d, transparent 34%),
    radial-gradient(circle at calc(88% - var(--drift) * 5% + var(--px) * 8%) calc(74% - var(--drift) * 6% + var(--py) * 8%), #8ed8cc29, transparent 30%),
    radial-gradient(circle at 62% 6%, #dce8ff59, transparent 24%); }
@media (prefers-reduced-motion:no-preference) { .hero::before { animation:hero-drift 18s ease-in-out infinite alternate; } }
@keyframes hero-drift { to { --drift:1; } }

/* Diagram cards breathe gently; time is the fourth dimension here. */
@media (prefers-reduced-motion:no-preference) { .diagram-card { animation:card-float 7s ease-in-out infinite; } }
@keyframes card-float { 50% { translate:0 -6px; } }

/* Pointer-driven depth. The variables glide, so cards settle back smoothly when the pointer leaves. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .depth-ready .info-visual { transform:perspective(1100px) rotateX(calc(var(--py) * -5deg)) rotateY(calc(var(--px) * 7deg)); transition:--px var(--glide), --py var(--glide), --lit .4s; }
  .depth-ready .info-visual::after { transition:--lit .4s; background:radial-gradient(320px circle at 100% 0, #7aa7ff2e, transparent 70%), radial-gradient(260px circle at calc(50% + var(--px) * 100%) calc(50% + var(--py) * 100%), rgb(122 168 255 / calc(var(--lit) * .2)), transparent 70%); }
  .depth-ready .project-visual { transform:perspective(1000px) rotateX(calc(var(--py) * -6deg)) rotateY(calc(var(--px) * 8deg)); transition:--px var(--glide), --py var(--glide), --lit .4s, translate .4s var(--ease-out), box-shadow .4s var(--ease-out); }
  .depth-ready .project-card:hover .project-visual { translate:0 -4px; transform:perspective(1000px) rotateX(calc(var(--py) * -6deg)) rotateY(calc(var(--px) * 8deg)); }
  .depth-ready .project-visual::after { content:''; position:absolute; inset:0; z-index:1; border-radius:inherit; pointer-events:none; background:radial-gradient(420px circle at calc(50% + var(--px) * 100%) calc(50% + var(--py) * 100%), rgb(255 255 255 / calc(var(--lit) * .28)), transparent 60%); }
  .depth-ready .diagram-card { transform:perspective(700px) rotateX(calc(var(--py) * -12deg)) rotateY(calc(var(--px) * 16deg)) rotate(-3deg); transition:--px var(--glide), --py var(--glide); }
  .depth-ready .diagram::before, .depth-ready .diagram::after { transition:--px var(--glide), --py var(--glide); }
  .depth-ready .diagram::before { translate:calc(var(--px) * -16px) calc(var(--py) * -16px); }
  .depth-ready .diagram::after { translate:calc(var(--px) * -28px) calc(var(--py) * -28px); }
  .depth-ready .bank-card, .depth-ready .parish-support-card { position:relative; isolation:isolate; }
  .depth-ready .bank-card::before, .depth-ready .parish-support-card::before { content:''; position:absolute; inset:0; z-index:-1; border-radius:inherit; pointer-events:none; transition:--px .3s, --py .3s, --lit .4s; background:radial-gradient(360px circle at calc(50% + var(--px) * 100%) calc(50% + var(--py) * 100%), rgb(39 91 213 / calc(var(--lit) * .07)), transparent 70%); }
  .depth-ready .calculator-section::after { transition:--px var(--glide), --py var(--glide), --lit .5s; background:radial-gradient(560px circle at 88% 12%, #4c7ff040, transparent 70%), radial-gradient(420px circle at 4% 100%, #2aa9a01c, transparent 70%), radial-gradient(380px circle at calc(50% + var(--px) * 100%) calc(50% + var(--py) * 100%), rgb(120 170 255 / calc(var(--lit) * .2)), transparent 70%); }
  .brand-mark { transition:transform .8s var(--ease-out); }
  .brand:hover .brand-mark { transform:perspective(300px) rotateY(360deg); }
}

/* Scroll depth on wide screens: headings unfold, numbers come forward, project images drift inside their frames. */
@supports (animation-timeline:view()) {
  @media (min-width:961px) and (prefers-reduced-motion:no-preference) {
    .section-top h2 { transform-origin:50% 100%; animation:heading-unfold linear both; animation-timeline:view(); animation-range:entry 10% cover 35%; }
    .way-num { animation:number-depth linear both; animation-timeline:view(); animation-range:entry 0% cover 40%; }
    .project-visual img { scale:1.12; animation:image-drift linear both; animation-timeline:view(); animation-range:cover; }
  }
}
@keyframes heading-unfold { from { transform:perspective(700px) rotateX(24deg) translateY(10px); } }
@keyframes number-depth { from { transform:perspective(500px) translateZ(-110px); opacity:.4; } }
@keyframes image-drift { from { translate:0 -5%; } to { translate:0 5%; } }

/* Calculator total responds when the example values change. */
@media (prefers-reduced-motion:no-preference) { .calc-results.is-bump .calc-result-total strong { animation:value-bump .45s var(--ease-out); } }
@keyframes value-bump { from { opacity:.55; translate:0 5px; } }

@media (forced-colors:active) { .hero::before, .project-visual::after, .bank-card::before, .parish-support-card::before { display:none; } }
@media print {
  .hero::before, .project-visual::after, .bank-card::before, .parish-support-card::before { display:none; }
  .section-top h2, .way-num, .project-visual img, .diagram-card { animation:none!important; transform:none; translate:none; scale:none; }
  .diagram-card { transform:rotate(-3deg); }
}

/* Reserve the appeal image box before the file arrives, using the size the browser settles on after
   loading (limited by the dialog width and 60dvh). Text below no longer shifts (Lighthouse CLS). */
#photo-dialog.is-appeal .dialog-photo img { width:min(100%, calc(60dvh * 2750 / 1938)); }
