:root { --navy:#0e3a57; --green:#2e9b3f; --green-d:#1f7a30; --orange:#f5a623; --blue:#2d7fe0; --bg:#fff; --soft:#f3f8f4; --soft2:#eef4f9; --line:#e3eae5; --text:#1d2b33; --muted:#62747e; --r:14px; --shadow:0 2px 10px rgba(14,58,87,.08); --serif:Georgia, 'Times New Roman', serif; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }
body { margin:0; color:var(--text); background:var(--bg); font:16px/1.6 system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; -webkit-text-size-adjust:100%; }
img, svg { max-width:100%; } svg { display:block; } h1, h2, h3, h4 { line-height:1.2; margin:0; color:var(--navy); }
h1, h2 { font-family:var(--serif); font-weight:800; } h1 { font-size:clamp(2.1rem, 5vw, 3.6rem); } h2 { font-size:clamp(1.5rem, 3vw, 2.1rem); } h3 { font-size:1.05rem; } h4 { font-size:1rem; margin-bottom:12px; }
a { color:inherit; text-decoration:none; } p { margin:0 0 12px; } .muted { color:var(--muted); } .tiny { font-size:.78rem; } .sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.wrap { width:100%; max-width:1200px; margin:0 auto; padding:0 20px; } a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline:3px solid #7ab8f5; outline-offset:2px; }
.green { color:var(--green); } .eyebrow { color:var(--green); font-weight:700; letter-spacing:.14em; font-size:.75rem; text-transform:uppercase; margin-bottom:10px; }
svg[aria-hidden] { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 22px; border-radius:999px; border:1px solid transparent; font:600 .95rem/1 inherit; cursor:pointer; transition:transform .15s, box-shadow .15s, background .15s; white-space:nowrap; }
.btn:hover { transform:translateY(-1px); box-shadow:var(--shadow); } .btn-navy { background:var(--navy); color:#fff; } .btn-orange { background:var(--orange); color:#3a2500; } .btn-green { background:var(--green); color:#fff; } .btn-line { background:#fff; border-color:var(--line); color:var(--green-d); } .block { width:100%; border-radius:10px; }
.icon-btn { width:40px; height:40px; border-radius:50%; border:1px solid var(--line); background:#fff; display:grid; place-items:center; cursor:pointer; color:var(--navy); } .menu { display:none; }
.hdr { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.96); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); } #site-header { min-height:72px; }
.hdr-in { display:flex; align-items:center; gap:24px; height:72px; } .brand { display:flex; align-items:center; gap:10px; } .brand b { font:800 1.3rem var(--serif); color:var(--navy); }
.nav { display:flex; gap:28px; margin-left:auto; } .nav a { padding:6px 0; color:#35505e; font-weight:500; border-bottom:2px solid transparent; } .nav a:hover, .nav a.on { color:var(--navy); border-color:var(--navy); } .hdr-actions { display:flex; align-items:center; gap:10px; }
.hero { background:linear-gradient(180deg, #fff, var(--soft)); overflow:hidden; } .hero-in { display:grid; grid-template-columns:1.05fr 1fr; gap:32px; align-items:center; padding-top:48px; padding-bottom:48px; } .hero h1 { margin:6px 0 16px; } .hero p.lead { font-size:1.1rem; color:var(--muted); max-width:34em; } .cta-row { display:flex; gap:12px; flex-wrap:wrap; margin:22px 0; } .social { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:.9rem; }
.art { border-radius:22px; overflow:hidden; box-shadow:var(--shadow); } .art img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; } .moment img { display:block; width:100%; height:100%; object-fit:cover; } .art svg { width:100%; height:auto; aspect-ratio:4/3; } .hero-art svg { aspect-ratio:4/3; }
.page-hero { padding-top:36px; padding-bottom:8px; } .crumbs { font-size:.85rem; color:var(--muted); margin-bottom:14px; } .crumbs a:hover { color:var(--navy); } .page-hero p { color:var(--muted); max-width:36em; }
.hero-split { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center; padding:36px 20px; } .hero-split h1 span { display:block; color:var(--green); }
.strip { background:var(--soft); border-block:1px solid var(--line); } .strip-in { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; padding:20px; text-align:center; } .stat b { display:block; font:800 1.7rem var(--serif); color:var(--green); } .stat span { color:var(--muted); font-size:.85rem; } .stat:nth-child(2) b { color:var(--blue); } .stat:nth-child(3) b { color:#8a56c9; }
section.sec { padding:56px 0; } .sec.soft { background:var(--soft2); } .sec-head { display:flex; justify-content:space-between; align-items:end; gap:16px; margin-bottom:24px; } .sec-head a:not(.btn) { color:var(--green-d); font-weight:600; display:inline-flex; gap:6px; align-items:center; } .center { text-align:center; } .center p { margin-inline:auto; max-width:40em; color:var(--muted); }
.grid { display:grid; gap:20px; } .g3 { grid-template-columns:repeat(3,1fr); } .g4 { grid-template-columns:repeat(4,1fr); } .g5 { grid-template-columns:repeat(5,1fr); } .g2 { grid-template-columns:1fr 1fr; }
.ccard { background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--shadow); } .ccard-img { position:relative; } .ccard-img svg { width:100%; height:auto; aspect-ratio:5/3; } .ccard-body { padding:16px; display:flex; flex-direction:column; gap:8px; flex:1; } .ccard h3 { min-height:2.5em; } .ccard p { color:var(--muted); font-size:.9rem; margin:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; flex:1; }
.badge { position:absolute; top:10px; left:10px; background:#fff; color:#b03a30; font-size:.72rem; font-weight:700; padding:3px 10px; border-radius:99px; } .badge-status { left:auto; right:10px; background:var(--green); color:#fff; } .badge-Animals { color:#b36b00; } .badge-Community, .badge-Healthcare { color:#2d6fc0; } .badge-Hunger { color:#1d8f84; }
.ccard-stats, .ccard-foot { display:flex; justify-content:space-between; font-size:.82rem; color:var(--muted); } .ccard-stats b { color:var(--navy); font-size:.95rem; } .bar { height:7px; background:#e8eeea; border-radius:6px; overflow:hidden; } .bar i { display:block; height:100%; background:var(--green); border-radius:6px; } .ccard .btn { margin-top:6px; }
.card { background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:22px; box-shadow:var(--shadow); } .ic { width:46px; height:46px; border-radius:50%; display:grid; place-items:center; color:#fff; margin-bottom:12px; } .ic svg { width:22px; height:22px; } .ic.g { background:var(--green); } .ic.b { background:var(--blue); } .ic.t { background:#27b3a6; } .ic.o { background:var(--orange); } .card p { color:var(--muted); font-size:.92rem; } .card a.more { color:var(--green-d); font-weight:600; font-size:.9rem; display:inline-flex; gap:6px; align-items:center; }
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; counter-reset:s; } .step { text-align:center; } .step .ic { margin:0 auto 10px; } .step p { color:var(--muted); font-size:.9rem; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; } .split.rev .art { order:-1; } .pills { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:18px 0; } .pills .card { padding:14px; box-shadow:none; } .pills h3 { font-size:.95rem; margin-bottom:4px; } .pills p { font-size:.82rem; margin:0; }
.gallery { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:170px; gap:12px; } .moment { border-radius:12px; overflow:hidden; } .moment svg { width:100%; height:100%; min-height:130px; object-fit:cover; } .m0 { grid-row:span 2; } .m5 { grid-column:span 2; }
details { background:#fff; border:1px solid var(--line); border-radius:10px; margin-bottom:10px; } summary { padding:14px 18px; font-weight:600; color:var(--navy); cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:12px; } summary::-webkit-details-marker { display:none; } summary::after { content:'+'; font-size:1.3rem; line-height:1; color:var(--green); } details[open] summary::after { content:'–'; } details p { padding:0 18px 14px; color:var(--muted); margin:0; }
.news { background:var(--soft); border:1px solid var(--line); border-radius:var(--r); padding:24px; } .inline-form { display:flex; gap:8px; } input, select, textarea { font:inherit; width:100%; padding:12px 14px; border:1px solid #cfd9d2; border-radius:10px; background:#fff; color:var(--text); } textarea { resize:vertical; min-height:120px; }
.form-msg { min-height:1.4em; font-size:.88rem; margin:8px 0 0; } .form-msg.err { color:#b3261e; } .form-msg.ok { color:var(--green-d); }
.cta { background:var(--navy); color:#fff; text-align:center; padding:64px 0; } .cta h2 { color:#fff; } .cta p { color:#cfe0ea; max-width:36em; margin:12px auto 24px; } .cta .cta-row { justify-content:center; } .btn-ghost { border-color:#ffffff88; color:#fff; background:transparent; }
.toolbar { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:18px 0; } .toolbar .grow { flex:1 1 260px; } .toolbar label { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:.9rem; } .toolbar select { width:auto; } .chips { display:flex; gap:8px; flex-wrap:wrap; margin-top:16px; } .chip { padding:8px 16px; border-radius:99px; border:1px solid var(--line); background:#fff; cursor:pointer; font:inherit; font-size:.88rem; color:#35505e; } .chip.on { background:var(--navy); color:#fff; border-color:var(--navy); }
.pager { display:flex; justify-content:center; gap:8px; margin:32px 0 8px; flex-wrap:wrap; } .pg { min-width:38px; height:38px; border:1px solid var(--line); background:#fff; border-radius:8px; cursor:pointer; font:inherit; } .pg.on { background:var(--navy); color:#fff; border-color:var(--navy); } .pg:disabled { opacity:.4; cursor:default; } .empty { grid-column:1/-1; text-align:center; color:var(--muted); padding:40px 0; } .count { color:var(--muted); font-size:.85rem; margin:0 0 12px; }
.impact { background:var(--soft); border:1px solid var(--line); border-radius:var(--r); padding:18px; } .impact h3 { font-family:var(--serif); margin-bottom:12px; } .impact-in { background:#fff; border-radius:12px; display:grid; grid-template-columns:repeat(3,1fr); text-align:center; padding:14px 6px; }
.timeline { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; } .timeline div { border-top:3px solid var(--green); padding-top:10px; } .timeline b { display:block; color:var(--blue); } .timeline p { font-size:.85rem; color:var(--muted); }
.values { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; } .values p { font-size:.85rem; color:var(--muted); } .values h3 { color:var(--green-d); font-size:.95rem; } .trust { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; } .trust p { font-size:.85rem; color:var(--muted); }
.about-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:32px; align-items:start; } .about-grid .grid { grid-template-columns:1fr; }
.notice { background:#fff8e6; border:1px dashed #e7c46a; border-radius:12px; padding:14px 18px; font-size:.9rem; margin-top:18px; }
.contact-grid { display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:24px; align-items:start; } .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; } .form-grid .full { grid-column:1/-1; } .check { display:flex; gap:10px; font-size:.85rem; color:var(--muted); margin:12px 0; } .check input { width:auto; margin-top:4px; }
.info { display:flex; gap:14px; align-items:flex-start; border-radius:12px; padding:16px; margin-bottom:12px; border:1px solid var(--line); } .info.g { background:#f2f9f3; } .info.b { background:#f1f6fc; } .info.o { background:#fff8ee; } .info .ic { margin:0; } .info b { display:block; color:var(--navy); } .info span { color:var(--muted); font-size:.88rem; } .map { border-radius:12px; background:#eef2ef; border:1px solid var(--line); min-height:260px; display:grid; place-items:center; text-align:center; color:var(--muted); padding:16px; }
.ftr { background:#f3f6f4; border-top:1px solid var(--line); margin-top:0; } .ftr-grid { display:grid; grid-template-columns:1.2fr 1fr 1.1fr 1.2fr; gap:32px; padding-top:44px; padding-bottom:36px; } .cols { list-style:none; padding:0; margin:0; columns:2; } .cols li { margin-bottom:8px; } .cols a, .ftr a { color:var(--muted); } .cols a:hover, .ftr a:hover { color:var(--navy); } .ico-line { display:flex; gap:10px; color:var(--muted); font-size:.92rem; } .ico-line svg { color:var(--green); margin-top:3px; }
.ftr-bar { background:var(--navy); color:#cfe0ea; font-size:.84rem; padding:14px 0; } .ftr-bar .wrap { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
dialog { border:0; border-radius:16px; padding:0; width:min(420px, calc(100vw - 32px)); box-shadow:0 20px 60px rgba(0,0,0,.3); } dialog::backdrop { background:rgba(10,30,45,.55); } .dlg { padding:26px; position:relative; display:grid; gap:14px; } .dlg-x { position:absolute; right:14px; top:14px; } .dlg label { display:grid; gap:6px; font-weight:600; font-size:.9rem; } fieldset { border:0; padding:0; margin:0; } legend { font-weight:600; font-size:.9rem; margin-bottom:6px; } .amts { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; } .amts label { position:relative; } .amts input { position:absolute; opacity:0; } .amts span { display:block; text-align:center; padding:10px 0; border:1px solid #cfd9d2; border-radius:10px; cursor:pointer; } .amts input:checked + span { background:var(--navy); color:#fff; border-color:var(--navy); } .amts input:focus-visible + span { outline:3px solid #7ab8f5; } .note { font-size:.8rem; color:var(--muted); background:#fff8e6; border-radius:8px; padding:8px 10px; margin:0; }
@media (max-width:1100px) { .g4 { grid-template-columns:repeat(2,1fr); } .g5 { grid-template-columns:repeat(3,1fr); } .values { grid-template-columns:repeat(3,1fr); } .timeline { grid-template-columns:repeat(3,1fr); } .contact-grid { grid-template-columns:1fr 1fr; } .contact-grid .map-col { grid-column:1/-1; } }
@media (max-width:860px) {
  .about-grid { grid-template-columns:minmax(0,1fr); }
  .menu { display:grid; } .hdr-in { gap:12px; } .brand { margin-right:auto; } .nav { position:absolute; left:0; right:0; top:72px; background:#fff; flex-direction:column; gap:0; padding:8px 20px 16px; border-bottom:1px solid var(--line); box-shadow:0 12px 24px rgba(0,0,0,.08); display:none; margin:0; } .nav.open { display:flex; } .nav a { padding:14px 12px; border:0; border-radius:10px; } .nav a.on { background:var(--soft); }
  .hero-in, .hero-split, .split, .g2 { grid-template-columns:1fr; } .hero-in { padding-top:28px; } .split.rev .art { order:0; } .g3 { grid-template-columns:1fr; } .steps { grid-template-columns:repeat(2,1fr); } .gallery { grid-template-columns:repeat(2,1fr); grid-auto-rows:150px; } .m0 { grid-row:auto; } .m5 { grid-column:auto; } .trust { grid-template-columns:repeat(2,1fr); } .ftr-grid { grid-template-columns:1fr 1fr; } .contact-grid { grid-template-columns:1fr; } .pills { grid-template-columns:1fr; }
}
@media (max-width:560px) { .g4, .g5 { grid-template-columns:1fr; } .btn-orange span { display:none; } .btn-orange { padding:11px 14px; } .hdr-actions { gap:8px; } .strip-in { gap:8px; padding:14px 8px; } .stat b { font-size:1.3rem; } .values, .timeline { grid-template-columns:repeat(2,1fr); } .ftr-grid { grid-template-columns:1fr; } .form-grid { grid-template-columns:1fr; } .inline-form { flex-direction:column; } .sec-head { flex-direction:column; align-items:flex-start; } section.sec { padding:40px 0; } .cta { padding:48px 0; } .cols { columns:2; } .impact-in { grid-template-columns:1fr; gap:8px; } }

.brand-img { height:46px; width:auto; max-width:230px; object-fit:contain; } @media (max-width:560px) { .brand-img { height:38px; max-width:170px; } } .brand b { overflow-wrap:anywhere; }
footer .brand-img { margin-bottom:10px; display:block; height:52px; max-width:240px; }

/* campaign page */
.ccard h3 a:hover { text-decoration:underline; } .ccard-pic { display:block; } .ccard-pic img { width:100%; height:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.badge-Education { color:#6a55c4; } .badge-Water { color:#2d86c4; } .badge-Environment { color:#2e7d32; }
.crumbs span { overflow-wrap:anywhere; }
.cv { display:grid; grid-template-columns:minmax(0,400px) minmax(0,1fr) 360px; grid-template-areas:"media info donate" "card info donate" "tabs tabs donate"; column-gap:28px; row-gap:18px; align-items:start; padding:14px 0 40px; }
.cv-media { grid-area:media; } .cv-sum { grid-area:card; } .cv-info { grid-area:info; min-width:0; } .cv-tabs { grid-area:tabs; min-width:0; margin-top:14px; } .cv-donate { grid-area:donate; position:sticky; top:88px; }
.cv-img { position:relative; border-radius:20px; overflow:hidden; background:#eef2f0; aspect-ratio:4/3.4; } .cv-img img, .cv-img svg { width:100%; height:100%; object-fit:cover; display:block; }
.cv-sum { background:#fff; border:1px solid #e6ece8; border-radius:18px; padding:18px; } .cv-sum-top { display:flex; gap:14px; align-items:center; } .cv-ring { width:70px; height:70px; flex:none; } .cv-ring text { font:700 11px Inter, sans-serif; fill:var(--navy); }
.cv-big { display:block; font:700 1.7rem/1.1 Georgia, serif; color:var(--navy); } .cv-sum small { color:var(--muted); } .cv-latest { display:block; margin-top:4px; color:#2d6fc0; font-size:.85rem; font-weight:600; cursor:pointer; }
.cv-btns { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; } .cv-btns .btn { justify-content:center; padding:13px 10px; } .cv-btns svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.cv-eyebrow { display:flex; align-items:center; gap:8px; margin:0 0 8px; font:700 .78rem Inter, sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#1f8a43; } .cv-eyebrow svg { width:14px; height:14px; fill:#2e9b3f; stroke:none; }
.cv-title { font:700 clamp(1.7rem,3.2vw,2.5rem)/1.15 Georgia, serif; color:var(--navy); margin:0 0 12px; overflow-wrap:anywhere; } .cv-summary { color:var(--muted); font-size:1.02rem; line-height:1.7; margin:0 0 14px; overflow-wrap:anywhere; }
.cv-meta { list-style:none; display:flex; flex-wrap:wrap; gap:4px 16px; padding:0; margin:0 0 8px; color:var(--muted); font-size:.9rem; } .cv-tags { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 14px; } .cv-tags span { background:#eef4f8; color:#2d6fc0; border-radius:99px; padding:2px 10px; font-size:.8rem; }
.cv-line { display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin:18px 0 8px; color:var(--muted); } .cv-line b { color:var(--navy); } .cv-line span b { font:700 1.35rem Georgia, serif; }
.cv-info > .bar { height:9px; } .cv-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:18px; } .cv-kpis > div { display:flex; align-items:center; gap:8px; min-width:0; } .cv-kpis span { min-width:0; } .cv-kpis b { overflow-wrap:anywhere; } .cv-kpis i { width:34px; height:34px; border-radius:50%; background:#e8f3ec; color:#2e8b57; display:grid; place-items:center; flex:none; } .cv-kpis svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.cv-kpis > div:nth-child(2) i { background:#e4eefb; color:#2d6fc0; } .cv-kpis > div:nth-child(3) i { background:#e0f5f1; color:#1d8f84; } .cv-kpis b { display:block; font-size:.95rem; color:var(--navy); } .cv-kpis small { color:var(--muted); font-size:.78rem; }
.cv-tabs > input { position:absolute; opacity:0; width:1px; height:1px; } .cv-tl { display:flex; gap:26px; border-bottom:1px solid #e6ece8; overflow-x:auto; } .cv-tl label { padding:10px 2px 12px; cursor:pointer; color:var(--muted); font-weight:600; white-space:nowrap; border-bottom:2px solid transparent; margin-bottom:-1px; display:flex; align-items:center; gap:6px; } .cv-tl .n { background:#eef4f8; color:#2d6fc0; border-radius:99px; padding:0 8px; font-size:.72rem; line-height:1.6; }
.cv-p { display:none; padding-top:20px; } #cvt1:checked ~ .p1, #cvt2:checked ~ .p2, #cvt3:checked ~ .p3, #cvt4:checked ~ .p4, #cvt5:checked ~ .p5 { display:block; }
#cvt1:checked ~ .cv-tl label[for=cvt1], #cvt2:checked ~ .cv-tl label[for=cvt2], #cvt3:checked ~ .cv-tl label[for=cvt3], #cvt4:checked ~ .cv-tl label[for=cvt4], #cvt5:checked ~ .cv-tl label[for=cvt5] { color:var(--navy); border-bottom-color:var(--navy); }
#cvt1:focus-visible ~ .cv-tl label[for=cvt1], #cvt2:focus-visible ~ .cv-tl label[for=cvt2], #cvt3:focus-visible ~ .cv-tl label[for=cvt3], #cvt4:focus-visible ~ .cv-tl label[for=cvt4], #cvt5:focus-visible ~ .cv-tl label[for=cvt5] { outline:2px solid #2d6fc0; outline-offset:2px; }
.cv-gal { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0 0 22px; } .cv-gal img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:12px; display:block; } .cv-gal img.big { grid-column:1 / -1; aspect-ratio:16/9; }
.cv-prose { overflow-wrap:anywhere; line-height:1.75; } .cv-prose p { margin:0 0 1.1em; } .cv-prose ul, .cv-prose ol { padding-left:1.4em; } .cv-prose a { color:#2d6fc0; text-decoration:underline; } .cv-lead { font-size:1.08rem; color:var(--navy); }
.cv-quote { margin:18px 0; padding:14px 18px; border-left:4px solid #2e9b3f; background:#f3faf5; border-radius:0 12px 12px 0; font:italic 1.1rem/1.5 Georgia, serif; color:var(--navy); } .cv-quote cite { display:block; font:600 .85rem Inter, sans-serif; color:var(--muted); margin-top:6px; }
.cv-hl { padding-left:1.2em; } .cv-hl li { margin:4px 0; } .cv-video { position:relative; aspect-ratio:16/9; border-radius:14px; overflow:hidden; margin:16px 0; } .cv-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.cv-fig { margin:16px 0; } .cv-fig img { width:100%; border-radius:14px; display:block; } .cv-fig figcaption { color:var(--muted); font-size:.85rem; margin-top:6px; }
.cv-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:12px; margin:14px 0; } .cv-stats > div { background:#f3f8f5; border-radius:12px; padding:14px; text-align:center; } .cv-stats b { display:block; font:700 1.5rem Georgia, serif; color:var(--navy); } .cv-stats span { color:var(--muted); font-size:.85rem; }
.cv-fund { display:grid; grid-template-columns:minmax(90px,1fr) 2fr 44px; gap:10px; align-items:center; margin:8px 0; font-size:.92rem; } .cv-fund .bar { height:8px; } .cv-fund b { text-align:right; }
.cv-upd { border-left:3px solid #d9e6df; padding:2px 0 2px 14px; margin:0 0 16px; } .cv-upd h3 { margin:2px 0 4px; font-size:1.05rem; } .cv-upd p { margin:0; color:var(--muted); overflow-wrap:anywhere; }
.cv-faq { border:1px solid #e6ece8; border-radius:12px; padding:12px 16px; margin:8px 0; } .cv-faq summary { cursor:pointer; font-weight:600; } .cv-faq p { margin:8px 0 0; color:var(--muted); overflow-wrap:anywhere; }
.cv-testi { background:#fff8ea; border-radius:14px; padding:16px 18px; margin:16px 0; } .cv-testi p { margin:0 0 6px; font-style:italic; }
.cv-donors { display:grid; gap:10px; } .cv-donor { display:flex; align-items:center; gap:12px; border:1px solid #e6ece8; border-radius:12px; padding:12px 16px; } .cv-donor .av { width:34px; height:34px; border-radius:50%; background:#e8f3ec; color:#1f8a43; display:grid; place-items:center; font-weight:700; flex:none; } .cv-donor b { flex:1; } .cv-donor em { font-style:normal; font-weight:700; color:#1f8a43; }
.cv-card { background:#fff; border:1px solid #e6ece8; border-radius:20px; padding:22px; box-shadow:0 8px 28px rgba(15,59,87,.08); } .cv-card h2 { font:700 1.5rem Georgia, serif; color:var(--navy); margin:0 0 6px; } .cv-sub { color:var(--muted); font-size:.88rem; margin:0 0 16px; }
.cv-amts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; } .amt { position:relative; border:1px solid #d9e2dd; background:#fff; border-radius:12px; padding:22px 4px; font:700 1.05rem Inter, sans-serif; cursor:pointer; color:var(--navy); } .amt:hover { border-color:#2e9b3f; } .amt.on { border:2px solid #2e9b3f; background:#effaf2; color:#1f8a43; }
.amt em { position:absolute; top:-9px; left:50%; transform:translateX(-50%); background:#2d6fc0; color:#fff; font:700 .6rem Inter, sans-serif; letter-spacing:.04em; text-transform:uppercase; border-radius:99px; padding:2px 8px; white-space:nowrap; }
.cv-caps { list-style:none; padding:0; margin:12px 0 0; font-size:.8rem; color:var(--muted); } .cv-caps li { margin:3px 0; }
.cv-lbl { display:block; font:700 .72rem Inter, sans-serif; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin:18px 0 8px; } .cv-money { display:flex; align-items:center; border:1px solid #d9e2dd; border-radius:12px; padding:0 14px; } .cv-money span { color:var(--muted); } .cv-money input { border:0; outline:0; flex:1; padding:14px 8px; font:inherit; min-width:0; background:none; } .cv-money:focus-within { border-color:#2e9b3f; }
.cv-min { font-size:.78rem; color:var(--muted); margin:6px 0 14px; } .cv-min.err { color:#c0392b; font-weight:600; } #cv-go { padding:15px; font-size:1.02rem; }
.cv-banner { background:#fff4d6; border:1px solid #f0d58a; color:#7a5a00; border-radius:10px; padding:10px 14px; margin:12px 0 0; }
.more-box { background:#f6f8f7; border:1px solid #e6ece8; border-radius:20px; padding:24px; } .more-h { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:16px; } .more-h h2 { margin:0; font-size:1.3rem; } .more-h a { color:#1f8a43; font-weight:600; font-size:.9rem; white-space:nowrap; }
.more-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; } .mcard { background:#fff; border:1px solid #e6ece8; border-radius:14px; overflow:hidden; display:block; transition:box-shadow .15s, transform .15s; } .mcard:hover { box-shadow:0 8px 24px rgba(15,59,87,.12); transform:translateY(-2px); }
.mimg { position:relative; height:120px; overflow:hidden; background:#16324a; } .mimg img, .mimg svg { width:100%; height:100%; object-fit:cover; display:block; } .mimg::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.72)); } .mimg > b { position:absolute; left:12px; right:12px; bottom:10px; color:#fff; font-size:.92rem; line-height:1.25; z-index:1; }
.mimg .badge { z-index:1; } .mfoot { display:flex; justify-content:space-between; padding:10px 14px 4px; font-size:.82rem; color:var(--muted); } .mfoot b { color:var(--navy); } .mbar { height:5px; background:#e8eeea; margin:4px 14px 14px; border-radius:4px; overflow:hidden; } .mbar i { display:block; height:100%; }
@media (max-width:1100px) { .cv { grid-template-columns:minmax(0,1fr) 330px; grid-template-areas:"media donate" "card donate" "info donate" "tabs donate"; column-gap:24px; } }
@media (max-width:900px) { .cv { grid-template-columns:minmax(0,1fr); grid-template-areas:"media" "card" "info" "tabs" "donate"; row-gap:16px; } .cv-donate { position:static; } .cv-img { border-radius:16px; aspect-ratio:4/3; } .cv-tl { gap:18px; } .more-grid { grid-template-columns:minmax(0,1fr); } .more-box { padding:18px; } .more-h { flex-wrap:wrap; } .cv-fund { grid-template-columns:1fr 1fr 40px; } .cv-kpis { gap:6px; } .cv-kpis i { width:32px; height:32px; } }

/* legal pages */
.legal { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:56px; align-items:start; padding-top:30px; padding-bottom:56px; }
.legal-main h1 { font:700 clamp(2rem,4vw,2.9rem)/1.1 Georgia, serif; margin:6px 0 10px; } .legal-draft { color:var(--muted); font-size:.9rem; margin:0 0 18px; }
.legal-note { font:.8rem/1.6 ui-monospace, Menlo, Consolas, monospace; color:var(--muted); border:1px dashed #cfd9d3; background:#f8faf9; border-radius:10px; padding:14px 18px; margin:0 0 30px; }
.legal-main section { margin:0 0 30px; scroll-margin-top:96px; } .legal-main h2 { font:700 1.35rem Georgia, serif; margin:0 0 10px; } .legal-main p { max-width:46em; line-height:1.75; color:var(--muted); margin:0; overflow-wrap:anywhere; } .legal-main p a { color:var(--green-d); text-decoration:underline; }
.legal-toc { position:sticky; top:96px; background:var(--soft); border:1px solid var(--line); border-radius:16px; padding:22px; } .legal-toc h2 { font:700 .78rem Inter, sans-serif; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin:0 0 12px; }
.legal-toc ul { list-style:none; padding:0; margin:0; } .legal-toc li a { display:block; padding:6px 0; font-size:.88rem; color:var(--text); } .legal-toc li a:hover { color:var(--green-d); }
.legal-q { font-size:.82rem; color:var(--muted); border-top:1px solid var(--line); margin:14px 0 0; padding-top:14px; } .legal-q a { color:var(--green-d); font-weight:700; }
@media (max-width:900px) { .legal { grid-template-columns:minmax(0,1fr); gap:24px; } .legal-toc { position:static; } .legal-toc ul { display:none; } .legal-toc h2 { margin:0; } .legal-q { border:0; margin:6px 0 0; padding:0; } }
.legal-main .legal-note { max-width:none; margin:0 0 32px; color:var(--muted); } .legal-main .legal-draft { margin:0 0 18px; }

#cv-go, .cv-card .btn-orange { background:linear-gradient(180deg,#ffb23e,#f59a14); box-shadow:0 6px 16px rgba(245,154,20,.35); color:#fff; font-weight:700; border:0; text-shadow:0 1px 1px rgba(0,0,0,.12); } #cv-go:hover { background:linear-gradient(180deg,#ffbb55,#f08f08); }
.cv-secure { display:flex; align-items:center; justify-content:center; gap:6px; margin:14px 0 12px; color:var(--muted); font-size:.88rem; } .cv-secure svg { width:14px; height:14px; fill:none; stroke:#2e9b3f; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.cv-pay { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; } .cv-pay span { border:1px solid #e3eae5; background:#f8faf9; border-radius:8px; padding:8px 12px; font:700 .72rem Inter, sans-serif; color:var(--navy); min-width:48px; text-align:center; }
.cv-pay .visa { font-style:italic; font-size:.85rem; color:#1a2a7c; letter-spacing:.02em; } .cv-pay .mc { color:#e8601c; font-size:.62rem; } .cv-pay .amex { color:#2a6fb5; font-size:.48rem; letter-spacing:.02em; } .cv-pay .pp { font-style:italic; color:#1c3f94; font-size:.8rem; }
