:root{--green-500: #9ad944;--green-400: #b3e565;--green-600: #7fc02a;--green-700: #5e9a1c;--green-50: #f1faE2;--bg: #1c1c1c;--bg-elev: #262626;--bg-elev-2: #2f2f2f;--line: #3a3a3a;--line-soft: #2a2a2a;--text: #ececea;--text-muted: #9a9a93;--text-dim: #6b6b66;--inverse: #1c1c1c;--on-green: #1a2a08;--accent: var(--green-500);--accent-hover: var(--green-400);--danger: #e26b5a;--warning: #e8b14a;--font-serif: "Source Serif 4", "Source Serif Pro", Georgia, serif;--font-sans: "Outfit", "Helvetica Neue", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-xl: 24px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 8px 24px rgba(0,0,0,.4);--shadow-lg: 0 20px 60px rgba(0,0,0,.5);--container: 1240px;--gutter: 32px}[data-theme=light]{--bg: #edeae3;--bg-elev: #f4f1ea;--bg-elev-2: #e5e2da;--line: #d4d0c7;--line-soft: #dedad2;--text: #1c1c1c;--text-muted: #55524a;--text-dim: #88857d;--inverse: #edeae3;--shadow-sm: 0 1px 3px rgba(30,25,10,.08);--shadow-md: 0 10px 28px rgba(30,25,10,.1);--shadow-lg: 0 28px 64px rgba(30,25,10,.14)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}.serif{font-family:var(--font-serif);font-weight:400;letter-spacing:-.01em}.display{font-family:var(--font-serif);font-weight:400;font-size:clamp(48px,6.5vw,88px);line-height:1.02;letter-spacing:-.02em}.h1{font-family:var(--font-serif);font-weight:500;font-size:clamp(36px,4vw,56px);line-height:1.05;letter-spacing:-.015em;margin:0}.h2{font-family:var(--font-serif);font-weight:500;font-size:clamp(28px,2.6vw,40px);line-height:1.1;letter-spacing:-.01em;margin:0}.h3{font-family:var(--font-serif);font-weight:500;font-size:24px;line-height:1.2;margin:0}.h4{font-family:var(--font-sans);font-weight:600;font-size:18px;line-height:1.3;margin:0}.eyebrow{font-family:var(--font-sans);font-weight:500;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.lead{font-size:18px;line-height:1.55;color:var(--text-muted)}.body{font-size:15.5px;line-height:1.6}.small{font-size:13px;color:var(--text-muted)}.tiny{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}.section{padding:96px 0}.section-tight{padding:56px 0}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 900px){.grid-3,.grid-4{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}}@media (max-width: 600px){.grid-3,.grid-4{grid-template-columns:1fr}}.row{display:flex;align-items:center;gap:12px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:16px}.stack{display:flex;flex-direction:column}.stack-tight{display:flex;flex-direction:column;gap:6px}.stack-md{display:flex;flex-direction:column;gap:12px}.stack-lg{display:flex;flex-direction:column;gap:24px}.btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 20px;border-radius:var(--r-pill);font-family:var(--font-sans);font-weight:500;font-size:14.5px;letter-spacing:.01em;cursor:pointer;border:1px solid transparent;background:transparent;color:var(--text);transition:all .18s ease;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:var(--on-green);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-outline{background:transparent;color:var(--text);border-color:var(--line)}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.btn-ghost{background:transparent;color:var(--text);border-color:transparent}.btn-ghost:hover{background:var(--bg-elev)}.btn-ghost-accent:hover{color:var(--accent)}.btn-block{width:100%;justify-content:center}.btn-sm{height:36px;padding:0 14px;font-size:13px}.btn-lg{height:52px;padding:0 28px;font-size:15.5px}.input,.textarea,.select{width:100%;height:48px;padding:0 16px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg-elev);color:var(--text);font-family:var(--font-sans);font-size:15px;outline:none;transition:border-color .15s}.textarea{height:auto;min-height:120px;padding:14px 16px;resize:vertical}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent)}.label{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;display:block;font-weight:500}.card{background:var(--bg-elev);border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:clip;transition:border-color .2s,transform .2s}.card-hover:hover{border-color:var(--accent);transform:translateY(-2px)}.card-pad{padding:24px}.tag{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--r-pill);background:var(--bg-elev-2);border:1px solid var(--line-soft);font-size:12px;font-weight:500;color:var(--text-muted);white-space:nowrap}.tag.is-active{background:var(--accent);color:var(--on-green);border-color:var(--accent)}.tag.is-green{background:#9ad9441f;color:var(--accent);border-color:#9ad94440}.divider{height:1px;background:var(--line-soft);border:0;margin:0}.progress{height:6px;background:var(--bg-elev-2);border-radius:var(--r-pill);overflow:hidden}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--green-600),var(--accent));border-radius:var(--r-pill);transition:width .6s cubic-bezier(.34,1.56,.64,1)}image-slot{--is-bg: var(--bg-elev-2);--is-border: var(--line-soft);--is-placeholder: var(--text-dim)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent)}.text-center{text-align:center}.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mt-5{margin-top:48px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.mb-5{margin-bottom:48px}.gap-1{gap:8px}.gap-2{gap:16px}.gap-3{gap:24px}.gap-4{gap:32px}.flex-1{flex:1}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--bg) 80%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line-soft)}.site-header-inner{display:flex;align-items:center;justify-content:space-between;height:76px}.nav{display:flex;gap:8px;align-items:center}.nav a{padding:8px 14px;border-radius:var(--r-pill);font-size:14.5px;color:var(--text-muted);font-weight:500;cursor:pointer;transition:color .15s,background .15s}.nav a:hover{color:var(--text)}.nav a.active{color:var(--text);background:var(--bg-elev)}.brand{display:flex;align-items:center;gap:12px;cursor:pointer}.brand img{height:44px;width:auto;display:block}.site-footer{border-top:1px solid var(--line-soft);padding:72px 0 40px;margin-top:96px;background:var(--bg-elev)}.hero{padding:88px var(--gutter) 72px;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.2fr .9fr;gap:56px;align-items:end}@media (max-width: 900px){.hero-grid{grid-template-columns:1fr}}.hero-img-wrap{position:relative;aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:var(--bg-elev-2)}.hero-img-wrap image-slot{position:absolute;top:0;right:0;bottom:0;left:0}.stat-num{font-family:var(--font-serif);font-weight:500;font-size:56px;line-height:1;letter-spacing:-.02em;color:var(--text)}.stat-num .unit{font-size:28px;color:var(--accent);margin-left:4px}.stat-label{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-top:8px}.media-card{display:flex;flex-direction:column}.media-card .media{aspect-ratio:4/3;background:var(--bg-elev-2);position:relative;overflow:hidden}.media-card .media image-slot{position:absolute;top:0;right:0;bottom:0;left:0}.media-card .body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}.media-card .body .h4{letter-spacing:-.005em}.media-card .meta{display:flex;gap:10px;align-items:center;font-size:12.5px;color:var(--text-muted)}.media-card .desc{font-size:14.5px;line-height:1.55;color:var(--text-muted)}.amount-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media (max-width: 700px){.amount-grid{grid-template-columns:repeat(2,1fr)}}.amount-pill{height:52px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg-elev);color:var(--text);font-family:var(--font-serif);font-size:22px;font-weight:500;cursor:pointer;transition:all .15s}.amount-pill:hover{border-color:var(--accent)}.amount-pill.is-active{background:var(--accent);color:var(--on-green);border-color:var(--accent)}.detail-cover{position:relative;aspect-ratio:21/9;border-radius:var(--r-lg);overflow:hidden;background:var(--bg-elev-2)}.detail-cover image-slot{position:absolute;top:0;right:0;bottom:0;left:0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery>div{aspect-ratio:4/3;border-radius:var(--r-md);overflow:hidden;background:var(--bg-elev-2);position:relative}.gallery image-slot{position:absolute;top:0;right:0;bottom:0;left:0}@media (max-width: 700px){.gallery{grid-template-columns:1fr 1fr}}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gallery-thumb{aspect-ratio:4/3;border-radius:var(--r-md);overflow:hidden;cursor:zoom-in;position:relative;background:var(--bg-elev-2)}@media (max-width: 768px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000f5;display:flex;align-items:center;justify-content:center;padding:80px}.lightbox-img{max-height:calc(100dvh - 160px);max-width:calc(100vw - 160px);border-radius:10px;object-fit:contain;box-shadow:0 24px 80px #00000080;pointer-events:none;display:block}.lightbox-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:var(--r-pill);background:#ffffff1a;border:1px solid rgba(255,255,255,.15);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.lightbox-close:hover{background:#fff3}.lightbox-counter{position:absolute;top:22px;left:50%;transform:translate(-50%);color:#ffffffa6;font-size:12.5px;font-family:var(--font-sans);letter-spacing:.08em;background:#ffffff12;padding:5px 16px;border-radius:var(--r-pill);white-space:nowrap}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:var(--r-pill);background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.lightbox-nav:hover{background:#ffffff2e}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-dots{position:absolute;bottom:24px;left:50%;transform:translate(-50%);display:flex;gap:6px;align-items:center;max-width:80vw;overflow:hidden}.lightbox-dot{flex-shrink:0;width:6px;height:6px;border-radius:var(--r-pill);background:#ffffff4d;border:0;padding:0;cursor:pointer;transition:all .2s}.lightbox-dot.active{background:#fff;width:22px}@media (max-width: 768px){.lightbox{padding:64px 12px 72px}.lightbox-img{max-height:calc(100dvh - 136px);max-width:100%;border-radius:8px}.lightbox-nav{bottom:20px;top:auto;transform:none;width:44px;height:44px}.lightbox-prev{left:12px}.lightbox-next{right:12px}.lightbox-dots{bottom:32px}}.page-head{padding:72px 0 48px;border-bottom:1px solid var(--line-soft)}.profile-shell{display:grid;grid-template-columns:260px 1fr;gap:48px}.profile-shell>*{min-width:0}@media (max-width: 900px){.profile-shell{grid-template-columns:1fr}}@media (max-width: 768px){.profile-nav{flex-direction:row;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:4px;padding-bottom:4px}.profile-nav button{flex-shrink:0;white-space:nowrap}}.profile-nav{display:flex;flex-direction:column;gap:2px}.profile-nav button{text-align:left;padding:11px 14px;border-radius:var(--r-md);background:transparent;border:0;color:var(--text-muted);font-family:var(--font-sans);font-size:14.5px;cursor:pointer;font-weight:500}.profile-nav button:hover,.profile-nav button.active{color:var(--text);background:var(--bg-elev)}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line-soft);font-size:14.5px}.table th{color:var(--text-muted);font-weight:500;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.table tr:last-child td{border-bottom:0}.auth-shell{min-height:calc(100vh - 76px);display:grid;grid-template-columns:1fr 1fr}.auth-art{background:var(--bg-elev);position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;padding:48px;min-height:100vh}.auth-art image-slot{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.auth-art .quote{position:relative;z-index:1;color:#fff;max-width:420px;text-shadow:0 2px 30px rgba(0,0,0,.5)}.auth-form{padding:80px 48px;display:flex;flex-direction:column;justify-content:center;max-width:480px;margin:0 auto;width:100%}@media (max-width: 1024px){.auth-shell{grid-template-columns:1fr}.auth-art{display:none!important}}@media (max-width: 600px){.auth-form{padding:56px 24px}}.icon-circ{width:44px;height:44px;border-radius:999px;background:#9ad9441f;color:var(--accent);display:inline-flex;align-items:center;justify-content:center}.script{font-family:Caveat,Brush Script MT,cursive;color:var(--accent);font-size:36px;line-height:1;font-weight:500}.lang-toggle{display:inline-flex;align-items:center;background:var(--bg-elev);border-radius:var(--r-pill);padding:3px;border:1px solid var(--line-soft)}.lang-toggle button{border:0;background:transparent;color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.06em;padding:6px 12px;border-radius:var(--r-pill);cursor:pointer}.lang-toggle button.active{background:var(--accent);color:var(--on-green)}.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width: 600px){.partner-grid{grid-template-columns:repeat(2,1fr);gap:14px}}.partner-tile{display:flex;flex-direction:column;align-items:center;gap:18px;padding:36px 24px 26px;border:1px solid var(--line-soft);border-radius:var(--r-lg);background:var(--bg-elev);cursor:default;transition:border-color .2s,transform .2s,box-shadow .2s}.partner-tile:hover{border-color:var(--line);transform:translateY(-2px);box-shadow:var(--shadow-md)}.partner-tile-logo{width:120px;height:80px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.partner-tile-img{max-width:120px;max-height:80px;width:auto;height:auto;object-fit:contain;display:block;filter:grayscale(1);opacity:.65;transition:filter .25s,opacity .25s}.partner-tile:hover .partner-tile-img{filter:grayscale(0);opacity:1}.partner-tile-initials{width:68px;height:68px;border-radius:var(--r-md);background:var(--accent);color:var(--on-green);font-weight:700;font-size:22px;font-family:var(--font-sans);display:flex;align-items:center;justify-content:center}.partner-tile-name{font-size:13.5px;font-weight:600;color:var(--text-muted);text-align:center;line-height:1.3;letter-spacing:.01em;transition:color .2s}.partner-tile:hover .partner-tile-name{color:var(--text)}.alert{padding:12px 16px;border-radius:var(--r-md);font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.alert-success{background:#9ad9441a;border:1px solid rgba(154,217,68,.35);color:var(--accent)}.alert-error{background:#e26b5a1a;border:1px solid rgba(226,107,90,.35);color:var(--danger)}.stretched-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.relative{position:relative}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .5s ease both}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite;display:inline-block}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.subtle-slot image-slot{--is-bg: var(--bg-elev-2)}.project-detail-grid{grid-template-columns:1.5fr 1fr;gap:48px;align-items:flex-start}@media (max-width: 768px){.project-detail-grid{grid-template-columns:1fr;gap:28px}.project-detail-grid>aside{position:static!important}}.contact-grid{grid-template-columns:1fr 1fr;gap:56px;align-items:flex-start}@media (max-width: 768px){.contact-grid{grid-template-columns:1fr;gap:32px}}.card.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.card.table-wrap .table{min-width:480px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:48px}.donate-teaser-inner{padding:56px;background:var(--bg-elev);border-radius:20px}.hamburger{display:none;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);border-radius:var(--r-md);width:40px;height:40px;cursor:pointer;color:var(--text);flex-shrink:0}.mobile-nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--bg);display:flex;flex-direction:column;overflow:hidden}.mob-nav-head{display:flex;align-items:center;justify-content:space-between;height:76px;padding:0 var(--gutter);border-bottom:1px solid var(--line-soft);flex-shrink:0}.mob-nav-links{display:flex;flex-direction:column;padding:8px var(--gutter) 16px;flex:1;min-height:0;overflow-y:auto}.mob-nav-links a{padding:18px 0;font-size:26px;font-family:var(--font-serif);color:var(--text-muted);border-bottom:1px solid var(--line-soft);cursor:pointer;transition:color .15s}.mob-nav-links a:last-child{border-bottom:0}.mob-nav-links a:hover,.mob-nav-links a.active{color:var(--text)}.mob-nav-foot{padding:20px var(--gutter);display:flex;flex-direction:column;gap:10px;flex-shrink:0;border-top:1px solid var(--line-soft)}@media (max-width: 768px){:root{--gutter: 20px}html,body{overflow-x:hidden}.display,h1,h2,h3{overflow-wrap:break-word;word-break:break-word}.display{font-size:clamp(32px,8vw,64px)}.section{padding:48px 0}.section-tight{padding:28px 0}.page-head{padding:40px 0 24px}.nav,.header-right{display:none}.hamburger{display:flex}.hero{padding:72px var(--gutter) 60px;background-image:linear-gradient(to bottom,#00000061,#000000c7),var(--hero-bg, none);background-size:cover;background-position:center top}.hero-img-wrap{display:none}.hero .display,.hero .stat-num{color:#fff}.hero .lead,.hero .stat-label{color:#ffffffb8}.stat-num{font-size:36px}.stat-num .unit{font-size:20px}.footer-grid{grid-template-columns:1fr;gap:32px}.donate-teaser-inner{padding:28px 20px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 600px){.grid-4{grid-template-columns:1fr 1fr}}
