:root{--purple:#712978;--purple-dark:#4d1b56;--purple-soft:#f6eef8;--teal:#5dc6e1;--ink:#23252d;--muted:#69717a;--line:#e6e4e9;--page:#fbfafc;--green:#168257;--radius:17px;--shadow:0 5px 22px #2f173508;--font:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.55}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #1f9bb6;outline-offset:4px}button{color:inherit}a{color:var(--purple)}.skip{position:absolute;top:-100px;left:20px;background:#fff;z-index:20;padding:12px}.skip:focus{top:10px}.review-bar{min-height:38px;padding:8px 4vw;background:#f8f3e9;border-bottom:1px solid #eee4d0;display:flex;align-items:center;justify-content:center;gap:20px;font-size:11px;color:#675334}.review-bar>span{letter-spacing:1px;font-weight:800;display:flex;align-items:center;gap:7px;white-space:nowrap}.review-bar i{width:6px;height:6px;border-radius:50%;background:#b98d2d}.review-bar p{margin:0}.review-bar button{background:none;border:0;font-size:11px;text-decoration:underline;text-underline-offset:3px;padding:0}.site-header{border-bottom:1px solid var(--line);background:#fff}.header-inner{max-width:1216px;margin:auto;min-height:91px;padding:20px 36px;display:flex;align-items:center;justify-content:space-between}.brand{background:none;border:0;padding:0;line-height:1;display:flex;align-items:center;max-width:205px}.brand img{max-width:196px;max-height:48px;object-fit:contain}.brand>span{font-weight:800;font-size:30px;letter-spacing:-1.7px;color:var(--purple)}.brand>span>span{color:#48b7d1}.brand sup{font-size:11px;background:var(--purple);color:var(--teal);border-radius:50%;width:17px;height:17px;display:inline-grid;place-items:center;letter-spacing:0;margin-left:2px;vertical-align:top}.site-header nav{display:flex;align-items:center;gap:28px}.desktop-nav{border:0;background:none;font-size:13px;font-weight:600}.start-button{border:1.5px solid var(--purple);background:#fff;border-radius:30px;padding:10px 21px;color:var(--purple);font-size:11px;letter-spacing:.65px;text-transform:uppercase;font-weight:750}.icon-button{background:transparent;border:0;padding:7px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-size:24px}.icon-button:hover{background:var(--purple-soft)}.icon-button svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}main{min-height:65vh}.campaign-wrap{max-width:1172px;margin:0 auto;padding:34px 36px 76px}.breadcrumb{display:flex;gap:8px;align-items:center;margin-bottom:26px;font-size:12px;color:var(--muted)}.breadcrumb button{border:0;background:none;padding:0;color:var(--purple);font-size:12px}.campaign-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:46px;align-items:start}.eyebrow{display:inline-block;font-size:10px;letter-spacing:1.5px;font-weight:800;text-transform:uppercase;color:var(--purple);margin-bottom:14px}.campaign-title{font-size:39px;letter-spacing:-1.4px;line-height:1.12;margin:0 0 17px;font-weight:780;max-width:510px}.campaign-meta{font-size:11px;color:var(--muted);padding-bottom:20px;display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line)}.campaign-meta span+span:before{content:'·';margin-right:8px;color:#a7a3ab}.sample-pill{font-size:9px;letter-spacing:.55px;display:inline-flex;align-items:center;gap:5px;color:#7a6542;background:#faf5e9;border:1px solid #ede2ca;border-radius:20px;padding:3px 7px;font-weight:700;line-height:1.1}.sample-pill i{width:4px;height:4px;background:#c49a4c;border-radius:50%}.stats-card{margin-top:22px;text-align:center;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:25px 27px 0;background:#fff}.raised{font-size:35px;font-weight:780;letter-spacing:-1px;line-height:1.15;margin:9px 0 15px}.progress-track{height:9px;border-radius:20px;background:#efedf1;overflow:hidden;text-align:left}.progress-fill{height:100%;background:linear-gradient(90deg,var(--purple),#bc88c5);border-radius:20px}.progress-label{font-size:11px;color:var(--muted);margin:8px 0 20px}.progress-label strong{color:#3d3540;font-weight:600}.button-row{display:flex;align-items:center;justify-content:center;gap:17px;margin:0 0 22px}.primary{border:0;background:var(--purple);color:white;border-radius:28px;padding:12px 29px;min-height:45px;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 9px #71297815}.primary:hover{background:var(--purple-dark);transform:translateY(-1px)}.primary svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.8}.secondary{border:1px solid var(--line);background:#fff;border-radius:27px;padding:11px 23px;font-weight:650;font-size:13px}.secondary:hover{background:#faf8fb}.text-button{border:0;background:none;color:var(--purple);font-size:12px;font-weight:700;padding:5px}.share-button{background:none;border:0;color:#319cb7;font-weight:650;padding:8px}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding:17px 0 15px}.stats-row>div+div{border-left:1px solid var(--line)}.stats-row strong{display:block;font-size:14px;line-height:1.2}.stats-row span{font-size:9px;color:var(--muted);display:block;margin-top:5px}.stats-row>div:first-child strong{color:var(--purple)}.boost-strip{display:flex;gap:11px;align-items:center;background:#faf7fb;border:1px solid #ebe1ee;border-left:3px solid var(--purple);border-radius:7px;padding:12px;margin:17px 0 22px}.sponsor-mark{font-size:12px;font-weight:850;letter-spacing:.5px;color:#144b75;line-height:1.1;min-width:73px}.sponsor-mark img{max-width:95px;max-height:35px;object-fit:contain;display:block}.boost-strip small{display:block;font-size:9px;letter-spacing:1px;color:var(--purple);font-weight:800;margin-bottom:3px}.boost-strip p{margin:0;font-size:11px;line-height:1.5}.boost-strip button{margin-left:auto;flex-shrink:0;background:none;border:1px solid #ac88b1;border-radius:50%;width:18px;height:18px;padding:0;font-size:11px;color:var(--purple)}.story{margin-top:35px}.section-tab{display:block;font-size:10px;font-weight:700;letter-spacing:1.6px;color:#40abc5;border-bottom:1px solid var(--line);padding:0 0 12px}.story h2{font-size:24px;letter-spacing:-.6px;margin:19px 0}.organiser{display:flex;gap:11px;align-items:center;margin-bottom:22px}.avatar{width:38px;height:38px;border-radius:50%;background:#eee4f0;color:var(--purple);display:grid;place-items:center;font-weight:800;font-size:15px;border:3px solid #f7f1f8}.organiser strong{font-size:12px;color:var(--purple)}.organiser small{display:block;font-size:9px;color:var(--muted);letter-spacing:.25px}.story p{font-size:13px;color:#53525a;line-height:1.85}.story-more[hidden]{display:none}.read-more{border:0;background:none;color:var(--purple);font-size:12px;font-weight:750;text-decoration:underline;text-underline-offset:3px;padding:0;margin:8px 0}.source-note{margin-top:20px;background:#f9f8fa;border-radius:9px;padding:13px 15px;border:1px solid #ece9ee;font-size:10px;color:#77717b;line-height:1.6}.source-note button{border:0;background:none;padding:0;color:var(--purple);font-size:10px;text-decoration:underline}.hero-card{margin:0;border-radius:15px;overflow:hidden;background:#e9f2f0;border:1px solid #e4e9e5}.hero-photo{display:block;width:100%;height:318px;object-fit:cover}.hero-placeholder{height:318px;display:grid;place-items:center;text-align:center;padding:50px;background:linear-gradient(135deg,#edf4f6,#f2edf6)}.hero-placeholder svg{width:60px;fill:none;stroke:#a5b6bb;stroke-width:1.1;margin:auto}.hero-placeholder strong{display:block;color:#52696e;font-size:17px;margin-top:12px}.hero-placeholder span{display:block;color:#71868b;font-size:11px;margin-top:5px}.hero-caption{background:#fff;padding:9px 13px;font-size:9px;color:#7c7780;display:flex;justify-content:space-between;align-items:center;gap:8px}.hero-dots{display:flex;gap:4px}.hero-dots i{width:5px;height:5px;border-radius:50%;background:#ddd7df}.hero-dots i:first-child{background:var(--purple)}.trust-row{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;margin:23px 0 28px}.trust-row>div+div{border-left:1px solid var(--line)}.trust-icon{width:27px;height:27px;margin:0 auto 7px;border-radius:50%;background:#e7f6fa;display:grid;place-items:center;color:#2c9ab2;font-size:13px;font-weight:800}.trust-row strong{display:block;font-size:10px}.trust-row small{font-size:9px;color:#89818d;display:block;margin-top:3px}.donations-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:23px 23px 8px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.card-heading h2{font-size:19px;margin:0;letter-spacing:-.5px}.filter-row{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:17px}.segmented{display:flex;gap:4px}.segmented button{border:1px solid var(--line);background:#fff;border-radius:20px;font-size:9px;padding:5px 10px;color:#625a67;font-weight:650}.segmented button[aria-pressed=true]{background:var(--purple);border-color:var(--purple);color:#fff}.donation-item{padding:14px 0;border-top:1px solid #f0edf2;display:grid;grid-template-columns:66px 1fr;gap:10px}.donation-item:first-of-type{border-top:0}.donation-amount{font-size:12px;font-weight:750}.donation-person{display:flex;gap:8px;justify-content:space-between;align-items:baseline;font-size:11px}.donation-person time{font-size:9px;color:#a39aa5;white-space:nowrap}.donation-message{font-size:11px;line-height:1.6;color:#7c747f;margin:5px 0}.donation-boost{grid-column:1/-1;color:var(--purple);font-size:10px;display:flex;gap:8px;align-items:center;margin-top:3px}.mini-boost{font-size:9px;background:var(--purple-soft);border-radius:4px;padding:2px 5px;font-weight:800}.demo-feed-note{font-size:9px;color:#948b97;line-height:1.5;border-top:1px solid var(--line);padding-top:12px;margin:0 0 13px}.site-footer{padding:36px max(36px,calc((100vw - 1100px)/2));border-top:1px solid var(--line);background:#fbf9fc;display:grid;grid-template-columns:1fr auto;gap:12px 25px}.site-footer strong{font-size:16px;color:var(--purple)}.site-footer p{margin:5px 0;color:#7c7280;font-size:11px}.footer-actions{display:flex;gap:23px;align-items:center}.footer-actions button{border:0;background:none;padding:0;font-size:11px;color:#75687b;text-decoration:underline;text-underline-offset:3px}.site-footer .footer-small{grid-column:1/-1;font-size:9px;max-width:850px;line-height:1.7}.mobile-donate{display:none}.journey-wrap{max-width:1050px;padding:28px 36px 70px;margin:auto}.back-link{display:inline-flex;gap:7px;align-items:center;background:none;border:0;padding:0;color:var(--purple);font-size:11px;font-weight:650;margin-bottom:30px}.steps{display:flex;align-items:center;max-width:615px;margin:0 0 35px;gap:0}.step{font-size:10px;display:flex;align-items:center;gap:8px;flex:1;color:#9a929f;white-space:nowrap}.step>span{width:23px;height:23px;border:1px solid #ddd5e0;border-radius:50%;display:grid;place-items:center;font-size:10px;flex-shrink:0}.step:after{content:'';height:1px;background:#e7e0eb;flex:1;margin:0 12px}.step:last-child{flex:0}.step:last-child:after{display:none}.step.current{color:var(--purple);font-weight:700}.step.current>span{color:#fff;background:var(--purple);border-color:var(--purple)}.step.done{color:var(--purple)}.step.done>span{background:var(--purple-soft);border-color:#e0cbe5}.journey-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:52px;align-items:start}.journey-title{font-size:32px;line-height:1.2;letter-spacing:-1px;margin:0 0 11px}.journey-subtitle{font-size:13px;color:#7d7480;margin:0 0 27px;line-height:1.75}.form-card{padding:27px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.field-title{font-size:14px;font-weight:750;margin:0 0 14px}.frequency{display:flex;gap:8px;margin-bottom:20px}.frequency button{border:1px solid var(--line);background:white;border-radius:25px;font-size:11px;padding:8px 15px}.frequency button.active{color:white;border-color:var(--purple);background:var(--purple)}.frequency button:disabled{color:#a69daa;background:#faf9fb}.amount-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0 0 18px}.amount-option{border:1px solid #d9bfdf;color:var(--purple);background:#fff;border-radius:9px;padding:12px 7px;font-size:13px;font-weight:700}.amount-option[aria-pressed=true]{background:var(--purple-soft);border:2px solid var(--purple);padding:11px 6px}.field-label{display:block;font-size:11px;font-weight:700;margin:0 0 7px}.input-wrap{position:relative}.currency-label{position:absolute;left:14px;top:13px;font-size:11px;color:#817589}.text-input{width:100%;border:1px solid #ded7e2;border-radius:8px;padding:12px 13px;color:#3f3645;background:#fff;min-height:46px}.money-input{padding-left:62px}.text-input[aria-invalid=true]{border-color:#b73945;background:#fffafb}.field-help{font-size:10px;line-height:1.6;color:#8a7f90;margin:8px 0 0}.boost-estimate{display:flex;align-items:center;gap:13px;border-radius:10px;padding:15px;margin:20px 0;background:#f3f8f6;border:1px solid #e0ece6}.boost-estimate.ineligible{background:#faf8fb;border-color:#e9e2ed}.boost-circle{width:33px;height:33px;background:#e0eee6;display:grid;place-items:center;border-radius:50%;color:#298356;font-size:18px;flex-shrink:0}.boost-estimate p{font-size:12px;line-height:1.55;margin:0;color:#3e6752}.boost-estimate small{font-size:9px;display:block;margin-top:3px;color:#7d8e83}.boost-estimate.ineligible p{color:#75647d}.boost-estimate.ineligible .boost-circle{background:#eee8f1;color:#90779b}.form-actions{margin-top:24px;display:flex;align-items:center;gap:15px;justify-content:space-between}.form-actions .primary{flex:1}.no-money-note{font-size:10px;color:#94869b;text-align:center;margin:12px 0 0}.donation-summary{border:1px solid var(--line);border-radius:14px;background:#fbf9fc;overflow:hidden}.summary-photo{width:100%;height:138px;object-fit:cover;display:block}.summary-body{padding:21px}.summary-kicker{font-size:9px;text-transform:uppercase;color:#937c9b;letter-spacing:1px;margin:0 0 6px}.summary-body h2{font-size:17px;line-height:1.25;letter-spacing:-.35px;margin:0 0 9px}.summary-body>p{font-size:10px;color:#8a7c91;margin:0 0 15px}.summary-lines{padding:15px 0;border-top:1px solid #e9e1ed;border-bottom:1px solid #e9e1ed;display:grid;gap:10px}.summary-line{display:flex;justify-content:space-between;gap:15px;font-size:11px}.summary-line strong{white-space:nowrap}.summary-line.boost{color:var(--purple)}.summary-line.total{margin-top:2px;padding-top:11px;border-top:1px dashed #dfd4e5;font-weight:700}.summary-disclaimer{font-size:9px!important;line-height:1.6;margin:14px 0 0!important}.simulation-note{margin:0 0 21px;padding:12px 15px;background:#f8f3e9;border:1px solid #ede2cc;border-radius:9px;color:#8a7046;font-size:11px;line-height:1.65}.simulation-note strong{display:block;color:#715830;margin-bottom:2px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{margin-bottom:19px}.field-error{font-size:10px;color:#ae3448;margin:7px 0 0;min-height:0}.field-error:empty{display:none}.check-field{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.6;color:#72657b}.check-field input{accent-color:var(--purple);width:16px;height:16px;margin:2px 0 0;flex-shrink:0}.inline-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.inline-tools p{font-size:10px;color:#9b8da2;margin:0}.inline-tools button{font-size:10px}.error-summary{background:#fff1f3;border:1px solid #f3cdd4;border-radius:8px;padding:12px 15px;color:#a33c4d;font-size:11px;margin-bottom:20px}.payment-choice{display:flex;gap:9px;margin-bottom:20px}.payment-choice button{flex:1;border:1px solid var(--line);background:#fff;border-radius:9px;padding:12px 10px;font-size:11px}.payment-choice button[aria-pressed=true]{border-color:var(--purple);background:var(--purple-soft);color:var(--purple);font-weight:700}.demo-card{background:linear-gradient(135deg,#52205f,#8d4391);border-radius:13px;padding:25px 25px 22px;color:#fff;max-width:335px;box-shadow:0 12px 20px #4e1e5920;margin:3px auto 25px;position:relative;overflow:hidden}.demo-card:after{content:'';position:absolute;right:-50px;top:-50px;width:190px;height:190px;border:1px solid #ffffff18;border-radius:50%}.demo-card .chip{height:25px;width:33px;border:1px solid #e7ca8e;border-radius:5px;background:linear-gradient(125deg,#e2c987,#f5e8be);margin:20px 0 15px}.demo-card .number{font-size:20px;letter-spacing:3px;white-space:nowrap}.demo-card .card-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#ead4f0}.demo-card .card-bottom{display:flex;justify-content:space-between;margin-top:21px;font-size:9px;letter-spacing:1px;color:#f0dff5}.review-details{padding:14px 0;border-top:1px solid var(--line);font-size:11px;color:#7b6b83;display:flex;justify-content:space-between;gap:15px}.review-details strong{color:#504257;font-weight:600}.payment-safe{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;color:#8d7e95;margin:17px 0 0}.eft-panel{border:1px dashed #d7c6df;background:#fbf9fc;padding:30px;border-radius:12px;text-align:center;margin:2px 0 23px}.eft-panel .eft-icon{font-size:30px;color:var(--purple)}.eft-panel h3{font-size:15px;margin:12px 0 8px}.eft-panel p{font-size:11px;color:#8d7b96;line-height:1.75}.thankyou{max-width:740px;margin:0 auto;padding:55px 30px 75px;text-align:center}.success-mark{margin:0 auto 23px;width:69px;height:69px;border-radius:50%;background:#e9f6ef;display:grid;place-items:center;color:#258559;font-size:31px;border:7px solid #f5fbf7}.thankyou h1{font-size:36px;letter-spacing:-1px;line-height:1.18;margin:0 0 17px}.thankyou>.journey-subtitle{max-width:470px;margin:0 auto 30px}.thanks-summary{border:1px solid var(--line);border-radius:15px;padding:27px;margin:0 auto 26px;max-width:490px;text-align:left}.thanks-campaign{font-size:14px;font-weight:700;margin:0 0 20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.thanks-summary .summary-line{margin:12px 0}.thanks-summary .summary-line.total{font-size:14px}.thankyou .button-row{margin-top:26px}.thankyou-note{font-size:10px;color:#9a8ca2;max-width:450px;margin:20px auto 0;line-height:1.7}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#3f2949;color:white;border-radius:10px;padding:12px 20px;font-size:12px;z-index:30;box-shadow:0 5px 20px #0002;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;max-width:90vw}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{border:0;border-radius:17px;max-width:570px;width:calc(100% - 36px);padding:27px 30px;box-shadow:0 15px 70px #29113233;color:var(--ink)}dialog::backdrop{background:#1d102960;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.dialog-top h2{font-size:23px;letter-spacing:-.6px;margin:0;line-height:1.25}.dialog-top .icon-button{flex-shrink:0}#dialog-body p,#dialog-body li{font-size:13px;line-height:1.8;color:#726477}#dialog-body ul{padding-left:19px}#dialog-body .dialog-kicker{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--purple);font-weight:700}#dialog-body .share-url{font-size:11px;margin:12px 0}.dialog-number{font-size:30px;letter-spacing:-1px;color:var(--purple);font-weight:800}.dialog-source{padding:12px 0;border-top:1px solid var(--line);display:block;text-decoration:none;font-size:12px}.dialog-source small{display:block;color:#94839a;font-size:10px}.dialog-nav{display:grid;gap:10px}.dialog-nav button{text-align:left;border:1px solid var(--line);background:#fff;padding:13px;border-radius:9px;font-size:13px}.dialog-disclaimer{font-size:10px!important;background:#f8f3e9;padding:12px;border-radius:9px;color:#8a714d!important}.no-photo{height:120px;background:linear-gradient(135deg,#eaf4f6,#f5ecf8);display:grid;place-items:center;color:#a294ab;font-size:11px}
@media(min-width:1300px){.campaign-wrap{padding-top:40px}.campaign-title{font-size:42px}}
@media(max-width:900px){.campaign-grid{gap:28px}.campaign-wrap{padding:28px 25px 60px}.campaign-title{font-size:33px}.header-inner{padding:20px 25px}.hero-photo,.hero-placeholder{height:265px}.stats-card{padding:24px 19px 0}.journey-grid{grid-template-columns:minmax(0,1fr) 260px;gap:25px}.journey-wrap{padding:25px 25px 65px}.form-card{padding:22px}.review-bar{gap:14px}.donations-card{padding:21px 17px 7px}}
@media(max-width:767px){.review-bar{justify-content:space-between;gap:7px;padding:8px 17px;font-size:9px}.review-bar p{display:none}.review-bar button{font-size:9px}.header-inner{min-height:77px;padding:18px 20px}.brand img{max-width:155px;max-height:38px}.brand>span{font-size:26px}.site-header nav{gap:11px}.start-button{font-size:8px;padding:8px 11px;letter-spacing:.3px}.desktop-nav{display:none}.icon-button{width:28px;height:28px;padding:4px}.campaign-wrap{padding:23px 20px 80px}.breadcrumb{margin-bottom:20px;font-size:10px}.breadcrumb button{font-size:10px}.campaign-grid{display:flex;flex-direction:column;gap:0}.campaign-left,.campaign-right{width:100%}.campaign-title{font-size:33px;line-height:1.14;letter-spacing:-1px;max-width:450px}.campaign-meta{font-size:10px;padding-bottom:0;border:0;margin-bottom:18px}.campaign-left{display:contents}.campaign-right{display:contents}.campaign-intro{order:1}.hero-group{order:2}.stats-group{order:3}.story{order:4;margin:22px 0 30px}.donations-card{order:5}.hero-photo,.hero-placeholder{height:235px}.hero-card{border-radius:12px}.hero-caption{font-size:8px;padding:8px 10px}.trust-row{margin:18px 0 2px}.trust-row strong{font-size:9px}.trust-row small{font-size:8px}.trust-icon{width:24px;height:24px;font-size:12px;margin-bottom:5px}.stats-card{margin-top:20px;padding-top:19px;border-radius:13px}.raised{font-size:32px}.stats-row span{font-size:8px}.stats-row strong{font-size:13px}.boost-strip{margin-bottom:5px;padding:11px 10px;gap:10px}.boost-strip p{font-size:10px}.boost-strip small{font-size:8px}.sponsor-mark{font-size:11px;min-width:64px}.sponsor-mark img{max-width:72px;max-height:27px}.story h2{font-size:23px}.story p{font-size:13px}.donations-card{border-radius:13px;padding:21px 20px 7px}.site-footer{padding:29px 20px 95px;display:block}.footer-actions{margin-top:20px;gap:23px}.site-footer .footer-small{margin-top:19px;font-size:8px;line-height:1.8}.mobile-donate{display:flex;align-items:center;gap:13px;position:fixed;bottom:0;left:0;right:0;padding:12px 20px max(12px,env(safe-area-inset-bottom));background:#ffffffed;backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:10;box-shadow:0 -2px 15px #49215208}.mobile-donate .primary{flex:1;min-height:43px;padding:10px 20px}.mobile-donate p{font-size:10px;color:#86798d;margin:0;line-height:1.5}.mobile-donate strong{display:block;color:var(--purple);font-size:12px}.journey-wrap{padding:24px 20px 45px}.back-link{margin-bottom:25px;font-size:10px}.steps{margin-bottom:29px}.step{font-size:8px;gap:5px}.step>span{width:21px;height:21px;font-size:9px}.step:after{margin:0 6px}.journey-grid{display:flex;flex-direction:column;gap:28px}.journey-main,.donation-summary{width:100%}.journey-title{font-size:29px}.journey-subtitle{font-size:12px;margin-bottom:22px}.form-card{padding:22px 19px;border-radius:13px}.amount-option{padding:11px 5px;font-size:12px}.amount-option[aria-pressed=true]{padding:10px 4px}.form-actions{gap:12px}.form-actions .primary{font-size:12px;padding:12px 20px}.form-actions .text-button{font-size:11px}.donation-summary{display:grid;grid-template-columns:90px 1fr;background:#fcfafc}.summary-photo{height:100%;object-fit:cover}.no-photo{height:100%}.summary-body{padding:18px}.summary-body h2{font-size:15px}.summary-kicker{font-size:8px}.summary-lines{padding:11px 0;gap:7px}.summary-line{font-size:10px}.summary-disclaimer{font-size:8px!important}.field-row{gap:12px}.field-label{font-size:10px}.text-input{font-size:13px}.simulation-note{font-size:10px;padding:11px 12px}.inline-tools p{font-size:9px}.inline-tools button{font-size:9px}.demo-card{padding:21px;max-width:100%}.demo-card .number{font-size:18px;letter-spacing:2px}.thankyou{padding:38px 20px 50px}.thankyou h1{font-size:31px}.thanks-summary{padding:23px 20px}.thankyou .button-row{flex-direction:column;gap:12px}.thankyou .button-row .primary,.thankyou .button-row .secondary{width:100%}.toast{bottom:90px;width:max-content;font-size:11px}dialog{padding:23px 22px}.dialog-top h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Current public shell audit, 30 October 2026. Source-provided campaign slots stay separate. */
@font-face{font-family:'Work Sans';src:url('assets/public-site/work-sans.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Montserrat';src:url('assets/public-site/montserrat.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--purple:#702878;--font:'Work Sans',Arial,Helvetica,sans-serif}
h1,h2,h3{font-family:'Montserrat',Arial,sans-serif}
.header-inner{min-height:73px;max-width:1050px;padding:15px 36px}
.brand img{max-width:180px;max-height:40px}
.site-header nav{gap:21px}
.campaign-wrap{max-width:1012px;padding-top:31px}
.campaign-grid{gap:30px}
.campaign-title{font-size:44px;line-height:1.31;letter-spacing:-1.2px;font-weight:700}
.story h2{font-size:27px;line-height:1.35}
.primary{min-height:50px;border-radius:55px;font-size:16px}
.stats-card .primary{min-width:160px}
.hero-card{position:relative;border-radius:12px}
.hero-photo{height:auto;aspect-ratio:4/3}
.mobile-hero-title,.mobile-trust{display:none}
.journey-wrap{max-width:550px;padding-left:36px;padding-right:36px}
.journey-grid{display:flex;flex-direction:column;gap:25px}
.journey-main,.donation-summary{width:100%}
.journey-title{font-size:30px;line-height:1.3}
.journey-subtitle{font-size:13px}
.form-card{padding:25px}
.form-actions .primary{font-size:13px;padding-left:18px;padding-right:18px}
.donation-summary{display:grid;grid-template-columns:100px 1fr}
.summary-photo{height:100%;object-fit:cover}
.no-photo{height:100%}
.summary-body{padding:19px}
.summary-body h2{font-size:15px}
.summary-body>p{font-size:10px}
.summary-kicker{font-size:8px}
.summary-line{font-size:10px}
.summary-disclaimer{font-size:9px!important}
@media(min-width:1300px){.campaign-title{font-size:44px}}
@media(max-width:900px) and (min-width:768px){.campaign-title{font-size:35px}.site-header nav{gap:17px}.campaign-wrap{padding-left:25px;padding-right:25px}.header-inner{padding-left:25px;padding-right:25px}}
@media(max-width:767px){
 .header-inner{min-height:68px;padding:15px 20px}.brand img{max-width:143px;max-height:34px}.site-header nav{gap:14px}.start-button{display:none}.site-header .icon-button{width:22px;height:25px;padding:1px}.site-header .icon-button svg{width:18px}
 .campaign-wrap{padding:0 0 75px}.breadcrumb{display:none}.campaign-intro{order:0;height:0}.campaign-intro .eyebrow,.campaign-intro .campaign-meta{display:none}.campaign-intro h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .hero-group{order:1;width:100%}.hero-card{border:0;border-radius:0;overflow:hidden}.hero-photo,.hero-placeholder{height:280px;width:100%;aspect-ratio:auto;object-fit:cover}.hero-caption{display:none}.mobile-hero-title{display:block;position:absolute;bottom:0;left:0;right:0;padding:32px 23px 44px;background:linear-gradient(transparent,#62276ac9 25%);color:#fff;font-family:'Montserrat',Arial,sans-serif;font-weight:700;font-size:28px;line-height:36px;letter-spacing:-.7px}
 .desktop-trust{display:none}.stats-group{order:2;padding:0 20px;width:100%;position:relative;z-index:1;margin-top:-24px}.stats-card{margin-top:0;padding:20px 20px 0}.raised{font-size:32px}.stats-card .button-row{margin-bottom:20px}.stats-card .primary{min-height:47px;font-size:15px}.stats-row{padding-bottom:18px}.mobile-trust{display:grid;margin:0;border-top:1px solid var(--line);padding:16px 0 18px}.trust-row strong{font-size:9px}.trust-row small{font-size:8px}
 .story{order:3;padding:0 23px;margin-top:28px}.story h2{font-size:25px}.donations-card{order:4;width:calc(100% - 40px);margin:0 20px}.boost-strip{margin-top:14px}.campaign-meta-mobile{font-size:10px;color:var(--muted)}
 .journey-wrap{max-width:510px;padding-left:20px;padding-right:20px}.journey-title{font-size:27px}.form-card{padding:22px 19px}.journey-subtitle{font-size:12px}.primary{font-size:13px;min-height:45px}.mobile-donate .primary{font-size:14px}.summary-body{padding:17px}.summary-line{font-size:10px}
}
.tip-section{border-top:1px solid var(--line);padding-top:17px;margin-top:17px}.tip-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.tip-heading .field-label{margin:0}.tip-heading .text-button{font-size:10px}.tip-section input[type=range]{width:100%;accent-color:var(--purple);margin:17px 0 0;cursor:pointer}.tip-value{font-size:11px;color:var(--purple);font-weight:650;margin:5px 0 0;text-align:center}
h1[tabindex="-1"]:focus{outline:none}
/* Campaign gallery and the separate session-only creator workspace. */
a.start-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.frequency button{min-height:40px;min-width:98px;font-weight:650}.payment-method-panel{border:1px solid #e7dfea;border-radius:12px;padding:25px 18px 22px;margin:8px 0 23px;text-align:center;background:#fbf8fc}.payment-method-symbol{display:inline-grid;place-items:center;width:49px;height:39px;color:var(--purple);font-size:35px}.payment-method-panel h2{font-size:15px;margin:10px 0 0}.boost-review{color:var(--purple)}.payment-safe{font-size:11px;margin-top:14px}.stats-card .raised{margin-top:0}.review-bar{min-height:26px;padding:5px 20px;font-size:9px}.review-bar>span{letter-spacing:1.2px}.gallery-card{position:relative;margin:0}.gallery-viewport{aspect-ratio:4/3;position:relative;background:#f2f2f3;overflow:hidden;touch-action:pan-y}.gallery-viewport:focus-visible{outline:3px solid #1f9bb6;outline-offset:-3px}.gallery-stage{position:absolute;inset:0}.gallery-image,.gallery-video{display:block;width:100%;height:100%;object-fit:cover}.gallery-video{background:#18151b}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:9px;padding:8px 11px;background:#fff;border-top:1px solid #ede9ef}.gallery-arrow{width:29px;height:29px;padding:0;border:1px solid #e5dce9;border-radius:50%;background:#fff;color:var(--purple);display:grid;place-items:center;font-size:23px;line-height:1}.gallery-arrow:hover{background:#f6eef8}.gallery-arrow:disabled{opacity:.3}.gallery-dots{display:flex;align-items:center;justify-content:center;gap:1px;max-width:70%;flex-wrap:wrap}.gallery-dots button{width:23px;height:24px;border:0;background:transparent;padding:0;display:grid;place-items:center;border-radius:50%}.gallery-dots button:after{content:'';width:6px;height:6px;background:#d7cddc;border-radius:50%;display:block}.gallery-dots button[aria-pressed=true]:after{background:var(--purple);width:8px;height:8px}.gallery-count{font-size:10px;color:#8e7f95;min-width:29px;text-align:center;font-variant-numeric:tabular-nums}.gallery-caption{font-size:10px;color:#83758c;line-height:1.45;background:#fff;padding:0 14px 11px;text-align:center}.mobile-video-title{display:none}.gallery-empty{height:270px;display:grid;place-items:center;padding:25px;text-align:center;font-size:12px;color:#918298;background:#f5f0f7}.gallery-empty.media-error{height:100%}.media-manager{max-width:980px;margin:0 auto;padding:35px 30px 70px}.media-manager>.eyebrow{display:block}.media-manager h1{font-size:32px;letter-spacing:-.9px;margin:0 0 12px;line-height:1.2}.media-manager>.journey-subtitle{max-width:650px}.media-upload-card{border:1px dashed #cdb5d3;border-radius:12px;padding:24px;background:#fcf9fd;margin:25px 0}.media-upload-card label{display:block}.media-upload-card input{display:block;max-width:100%;font-size:12px;margin-top:15px;color:#7f6d89}.media-upload-card input::file-selector-button{background:var(--purple);color:white;border:0;border-radius:20px;padding:10px 17px;margin-right:12px;font-weight:650;cursor:pointer}.media-upload-card .error-summary{margin-top:18px;margin-bottom:0}.media-upload-card .error-summary p{margin:3px 0;font-size:11px}.media-manager-list{list-style:none;margin:0;padding:0;display:grid;gap:15px}.media-manager-item{display:grid;grid-template-columns:110px minmax(0,1fr) 110px;gap:20px;border:1px solid var(--line);border-radius:12px;padding:19px;background:#fff;box-shadow:var(--shadow)}.manager-thumb{height:95px;border-radius:8px;overflow:hidden;background:#f2eef5;display:grid;place-items:center;color:var(--purple);font-size:28px}.manager-thumb img{width:100%;height:100%;object-fit:cover}.manager-item-type{font-size:10px;letter-spacing:.5px;color:var(--purple);font-weight:700;margin:0 0 10px}.manager-fields .field-label{font-size:10px;margin-top:11px}.manager-fields .text-input{min-height:37px;padding:8px 10px;font-size:12px}.manager-item-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;align-content:flex-start}.manager-item-actions .secondary{min-width:42px;height:42px;border-radius:8px;padding:6px;font-size:17px}.manager-item-actions button:disabled{opacity:.35}.manager-remove{width:100%;font-size:11px;margin-top:5px}.manager-bottom{display:flex;gap:15px;justify-content:space-between;margin:24px 0 15px}.manager-bottom .primary{font-size:13px}.manager-bottom .secondary{font-size:11px}.media-manager .field-help{line-height:1.7}.search-empty{font-size:13px;color:#8b7e91}
@media(max-width:767px){a.start-button{display:none}.gallery-viewport{aspect-ratio:auto;height:280px}.gallery-controls{position:absolute;left:12px;right:12px;top:12px;z-index:3;border:0;border-radius:24px;padding:3px 7px;background:#ffffffea;width:max-content;max-width:calc(100% - 24px);margin-left:auto;box-shadow:0 2px 9px #2c14351a}.gallery-arrow{width:29px;height:29px;background:transparent;border:0;font-size:23px}.gallery-dots button{width:22px;height:29px}.gallery-caption{display:none}.gallery-video-active .stats-group{margin-top:16px}.gallery-video-active .mobile-video-title{display:block;padding:20px 22px;font-family:'Montserrat',Arial,sans-serif;font-size:26px;line-height:1.3;letter-spacing:-.7px;font-weight:700;background:#fff}.gallery-is-video .gallery-controls{top:auto;bottom:1px;transform:translateY(calc(100% + 7px));border:1px solid var(--line);margin-left:auto;margin-right:auto;box-shadow:none}.gallery-video-active .stats-group{margin-top:51px}.gallery-viewport .mobile-hero-title{pointer-events:none}.media-manager{padding:27px 20px 55px}.media-manager h1{font-size:28px}.media-upload-card{padding:20px 17px}.media-manager-item{grid-template-columns:70px minmax(0,1fr);gap:13px;padding:17px 14px}.manager-thumb{height:70px}.manager-item-actions{grid-column:1/-1;justify-content:flex-end;flex-wrap:nowrap;align-items:center}.manager-item-actions .manager-remove{width:auto;margin:0 0 0 9px}.manager-bottom{flex-direction:column}.manager-bottom button{width:100%;min-height:44px}.gallery-is-video{overflow:visible}.gallery-video{border-radius:0}.summary-line{gap:10px}.thanks-summary .summary-line strong{text-align:right}}

/* Platform fidelity: campaign cards observed on BackaBuddy, 30 October 2026. */
.stats-card,
.donations-card {
  border: 0;
  border-radius: 8px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, .2);
}
.campaign-title { color: #313030; }

/* Current platform chrome, card depth and responsive spacing. */
:root { --platform-width: 100%; }
.platform-container,
.header-inner,
.campaign-wrap {
  width: 100%;
  max-width: var(--platform-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: 12px;
  padding-right: 12px;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  border: 0;
  background: #fff;
  box-shadow: 0 8px 16px rgba(0, 0, 0, .15);
}
.header-inner { height: 70px; min-height: 70px; padding-top: 8px; padding-bottom: 8px; }
.brand { width: 140px; height: 50px; max-width: 140px; }
.brand img { width: 140px; height: 50px; max-width: 140px; max-height: 50px; object-fit: contain; }
.site-header nav { gap: 20px; }
.start-button { min-height: 35px; padding: 1px 10px; border: 1.5px solid #702878; border-radius: 30px; font-family: 'Montserrat', Arial, sans-serif; font-size: 16px; font-weight: 700; line-height: 24px; letter-spacing: 0; white-space: nowrap; }
.campaign-wrap { padding-top: 36px; padding-bottom: 0; }
.campaign-grid { gap: 24px; }
.campaign-title { font-size: 44px; line-height: 58px; font-weight: 700; color: #313030; }
.progress-fill { background: #702878; }
.raised { font-family: 'Montserrat', Arial, sans-serif; font-size: 34px; font-weight: 700; line-height: 66px; letter-spacing: 0; }
.primary { background: #702878; border-radius: 55px; min-height: 50px; font-family: 'Work Sans', Arial, sans-serif; font-size: 16px; font-weight: 700; box-shadow: 0 3px 3px rgba(0, 0, 0, .294); }
.stats-card .primary,
.campaign-donation-cta .primary { width: 160px; }
.card-heading { justify-content: center; border-bottom: 1px solid #d9d9d9; padding-bottom: 14px; margin-bottom: 16px; }
.card-heading h2 { font-size: 30px; font-weight: 700; line-height: 38px; color: #313030; text-align: center; }
.donations-card { padding: 22px 16px 16px; }
.story h2 { font-size: 30px; line-height: 38px; color: #313030; }
.story p { font-size: 16px; line-height: 24px; }
.donation-item { padding-top: 15px; padding-bottom: 15px; }
.donation-amount { font-size: 14px; }
.donation-person { font-size: 14px; }
.donation-message { font-size: 13px; line-height: 20px; }
.donation-boost { font-size: 12px; }
.gallery-card { border-radius: 12px; }
.gallery-viewport { height: 420px; aspect-ratio: auto; }
.journey-wrap { width: 100%; max-width: var(--platform-width); padding: 36px 12px 80px; }
.journey-title { font-size: 44px; font-weight: 700; line-height: 58px; color: #313030; }
.journey-subtitle { font-size: 16px; line-height: 24px; }
.form-card,
.donation-summary,
.thanks-summary { border: 0; border-radius: 8px; box-shadow: 0 4px 10px rgba(0, 0, 0, .2); background: #fff; }
.form-card { padding: 16px; }
.summary-body { padding: 16px; }
.field-title { font-family: 'Montserrat', Arial, sans-serif; color: #702878; font-size: 20px; font-weight: 600; line-height: 26px; }
.field-label { font-size: 14px; line-height: 22px; }
.text-input { min-height: 45px; padding-top: 9px; padding-bottom: 9px; border-radius: 6px; border-color: #dee2e6; font-size: 16px; line-height: 24px; box-shadow: 0 2px 4px rgba(0, 0, 0, .075); }
.currency-label { top: 12px; }
.amount-option { border-radius: 25px; border-width: 1.5px; padding: 9px 8px; font-size: 14px; line-height: 20px; }
.amount-option[aria-pressed=true] { background: #702878; color: #fff; border-width: 1.5px; padding: 9px 8px; }
.check-field { font-size: 14px; line-height: 22px; }
.campaign-donation-cta { max-width: 850px; padding: 55px 12px 50px; margin: 0 auto; text-align: center; }
.cta-dot { display: block; width: 24px; height: 24px; border-radius: 50%; background: #702878; margin: 0 auto 16px; }
.cta-eyebrow { color: #60bed2; font-size: 16px; font-weight: 700; margin: 0 0 4px; }
.campaign-donation-cta h2 { color: #313030; font-size: 38px; line-height: 52px; margin: 0 0 15px; font-weight: 700; }
.campaign-donation-cta > p:not(.cta-eyebrow) { font-size: 18px; line-height: 28px; margin: 0 0 21px; }
.campaign-donation-cta .share-button { display: block; margin: 12px auto 0; font-size: 16px; }
.site-footer { display: block; border: 0; padding: 0; background: #f1f1f1; color: #313030; }
.footer-brand-band { padding: 25px 0; background: #313030; color: #f9f9fa; }
body:not([data-page=campaign]) .footer-brand-band { display: none; }
.footer-brand-inner { min-height: 160px; display: grid; grid-template-columns: 1fr 2fr; align-items: center; gap: 35px; }
.footer-white-logo { width: 289px; height: 66px; max-width: 100%; object-fit: contain; object-position: left center; }
.footer-brand-message { display: flex; align-items: center; gap: 10px; }
.footer-africa { width: 114px; height: 128px; flex-shrink: 0; object-fit: contain; }
.footer-brand-copy h2 { font-size: 38px; font-weight: 700; line-height: 52px; margin: 0 0 8px; color: #f9f9fa; }
.footer-brand-copy p { font-family: 'Work Sans', Arial, sans-serif; font-size: 18px; font-weight: 500; line-height: 28px; margin: 0 0 16px; color: #f9f9fa; }
.footer-legal { background: #f1f1f1; padding: 25px 0 20px; font-size: 14px; line-height: 20px; }
.footer-legal-row { min-height: 56px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: start; gap: 28px; }
.footer-policy-links { display: flex; flex-wrap: wrap; align-items: center; gap: 25px; }
.footer-policy-links a { color: #313030; font-size: 14px; font-weight: 600; line-height: 22px; text-decoration: underline; text-underline-offset: 2px; }
.footer-socials { display: flex; align-items: center; gap: 25px; }
.footer-socials a { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 4px; }
.footer-socials img { display: block; width: 20px; height: 20px; object-fit: contain; }
.site-footer .footer-copyright { color: #626161; font-size: 14px; line-height: 20px; margin: 0; text-align: right; white-space: nowrap; }
.footer-copyright span { margin: 0 15px; }
.site-footer .footer-operator { color: #313030; font-size: 11px; font-weight: 400; line-height: 18px; margin: 22px 0 0; text-align: center; }
body:not([data-page=campaign]) .footer-legal { margin-top: 50px; }
@media(min-width:576px) { :root { --platform-width: 540px; } }
@media(min-width:768px) { :root { --platform-width: 720px; } }
@media(min-width:992px) { :root { --platform-width: 960px; } .journey-wrap { max-width: calc(var(--platform-width) / 2); } }
@media(min-width:1200px) { :root { --platform-width: 1140px; } }
@media(min-width:1400px) { :root { --platform-width: 1320px; } }
@media(max-width:1199px) {
  .footer-brand-copy h2 { font-size: 30px; line-height: 40px; }
  .footer-white-logo { width: 245px; }
  .footer-africa { width: 88px; height: 104px; }
  .footer-brand-inner { gap: 24px; }
  .footer-policy-links { gap: 15px; }
  .footer-socials { gap: 17px; }
  .footer-legal-row { gap: 18px; }
  .site-footer .footer-copyright { white-space: normal; }
  .footer-copyright span { margin: 0 7px; }
}
@media(max-width:991px) {
  .footer-brand-inner { grid-template-columns: 1fr; justify-items: center; text-align: center; gap: 22px; padding-top: 10px; padding-bottom: 10px; }
  .footer-white-logo { object-position: center; }
  .footer-brand-message { max-width: 610px; }
  .footer-brand-copy p { margin-bottom: 0; }
  .footer-legal-row { grid-template-columns: 1fr; justify-items: center; gap: 20px; }
  .site-footer .footer-copyright { text-align: center; }
  .footer-operator { max-width: 650px; margin-left: auto !important; margin-right: auto !important; }
}
@media(max-width:767px) {
  .header-inner { padding-left: 20px; padding-right: 20px; }
  .site-header nav { gap: 14px; }
  .brand, .brand img { width: 140px; height: 50px; }
  .campaign-wrap { padding: 0; max-width: 100%; }
  .campaign-grid { gap: 0; }
  .gallery-viewport { height: 280px; }
  .campaign-title { font-size: 28px; line-height: 36px; }
  .stats-card { border-radius: 8px; }
  .raised { font-size: 34px; line-height: 60px; }
  .story h2 { font-size: 26px; line-height: 36px; }
  .story p { font-size: 15px; line-height: 23px; }
  .card-heading h2 { font-size: 27px; line-height: 36px; }
  .donations-card { border-radius: 8px; }
  .journey-wrap { padding: 26px 20px 60px; max-width: 100%; }
  .journey-title { font-size: 28px; line-height: 38px; }
  .journey-subtitle { font-size: 14px; line-height: 22px; }
  .field-label { font-size: 12px; line-height: 20px; }
  .text-input { font-size: 15px; }
  .campaign-donation-cta { padding: 45px 23px 42px; }
  .campaign-donation-cta h2 { font-size: 30px; line-height: 40px; }
  .campaign-donation-cta > p:not(.cta-eyebrow) { font-size: 16px; line-height: 25px; }
  .footer-brand-band { padding: 28px 0; }
  .footer-brand-inner { gap: 24px; }
  .footer-white-logo { width: 230px; height: 53px; }
  .footer-brand-message { flex-direction: column; gap: 12px; }
  .footer-africa { width: 75px; height: 84px; }
  .footer-brand-copy h2 { font-size: 27px; line-height: 37px; margin-bottom: 8px; }
  .footer-brand-copy p { font-size: 16px; line-height: 25px; padding: 0 15px; }
  .footer-legal { padding: 26px 15px 95px; }
  .footer-policy-links a { font-size: 13px; }
  .footer-socials { gap: 22px; }
  .site-footer .footer-copyright { font-size: 13px; }
  .site-footer .footer-operator { font-size: 10px; line-height: 17px; margin-top: 24px; }
}
@media(min-width:992px) {
  .summary-line { font-size: 16px; line-height: 24px; }
  .summary-body h2 { font-size: 20px; line-height: 26px; }
  .summary-body > p { font-size: 13px; line-height: 20px; }
  .summary-disclaimer { font-size: 12px !important; line-height: 20px; }
  .form-actions .primary { font-size: 16px; }
}

/* Latest supplied Capitec mockup: compact public-donation and Boost groups. */
.donations-card { padding: 16px 16px 10px; }
.donations-card .card-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 0; margin: 0 0 9px; border: 0; }
.donations-card .card-heading h2 { font-family: 'Work Sans', Arial, sans-serif; font-size: 18px; font-weight: 700; line-height: 24px; text-align: left; letter-spacing: 0; }
.donations-card .filter-row { display: flex; justify-content: flex-end; align-items: center; gap: 7px; margin: 0; color: #818793; font-size: 10px; line-height: 16px; }
.donations-card .segmented { gap: 5px; }
.donations-card .segmented button { padding: 2px 10px; min-height: 22px; border: 1px solid #d1d8e2; background: #fafbfd; color: #2e3c4f; font-size: 10px; font-weight: 600; line-height: 16px; }
.donations-card .segmented button[aria-pressed=true] { background: #1d2d45; border-color: #1d2d45; color: #fff; }
.donations-card .donation-item { display: block; padding: 10px 0; border: 0; }
.donations-card .donation-item + .donation-item { border-top: 1px solid #ececf0; }
.donation-public-row,
.donation-boost-row { display: grid; grid-template-columns: 68px minmax(0,1fr) 86px; column-gap: 10px; align-items: start; }
.donations-card .donation-amount { font-size: 13px; font-weight: 700; line-height: 19px; color: #282e38; white-space: nowrap; }
.donation-supporter { min-width: 0; }
.donation-name { display: block; font-size: 13px; font-weight: 500; line-height: 19px; color: #3b414a; }
.donations-card .donation-message { margin: 1px 0 0; font-size: 12px; font-weight: 400; font-style: italic; line-height: 17px; color: #848994; overflow-wrap: anywhere; }
.donation-date { display: flex; align-items: center; justify-content: flex-end; gap: 6px; white-space: nowrap; font-size: 9px; line-height: 19px; color: #969ba4; }
.donation-heart { font-size: 11px; line-height: 19px; }
.donation-boost-row { margin-top: 2px; color: #702878; }
.donation-boost-amount { grid-column: 1; font-size: 12px; font-weight: 600; line-height: 18px; white-space: nowrap; }
.donation-boost-text { grid-column: 2 / -1; font-size: 12px; font-weight: 400; line-height: 18px; overflow-wrap: anywhere; }
.profile-button { display: inline-flex; align-items: center; gap: 7px; border: 0; border-radius: 6px; padding: 8px 12px; background: transparent; color: #313030; font-family: 'Work Sans', Arial, sans-serif; font-size: 16px; font-weight: 400; line-height: 24px; white-space: nowrap; }
.profile-button:hover { background: #faf7fb; }
.profile-user-icon { flex-shrink: 0; width: 28px; height: 28px; color: #702878; }
.profile-chevron { flex-shrink: 0; width: 12px; height: 12px; }
.start-button { width: 160px; height: 35px; min-height: 35px; padding: 1px 6px; font-size: 12px; font-weight: 700; line-height: 20px; }
@media(max-width:767px) {
  .profile-button { padding: 0; gap: 0; }
  .profile-label,
  .profile-chevron { display: none; }
  .profile-user-icon { width: 25px; height: 25px; }
  .donations-card .card-heading { gap: 8px; }
  .donation-public-row,
  .donation-boost-row { grid-template-columns: 54px minmax(0,1fr) 76px; column-gap: 7px; }
  .donations-card .donation-amount,
  .donation-name { font-size: 12px; }
  .donations-card .donation-message { font-size: 11px; line-height: 16px; }
  .donation-boost-amount,
  .donation-boost-text { font-size: 11px; line-height: 17px; }
  .donation-date { gap: 3px; font-size: 8px; }
  .donations-card .filter-row { font-size: 9px; gap: 5px; }
  .donations-card .segmented { gap: 4px; }
  .donations-card .segmented button { font-size: 9px; padding: 2px 8px; }
}

/* Release 4: gallery and source-reference details within the approved platform shell. */
.gallery-card { border: 0; border-radius: 12px; }
.gallery-viewport { width: 100%; height: auto; aspect-ratio: 53 / 35; }
.gallery-image { object-fit: cover; }
.gallery-video { object-fit: contain; }
.gallery-arrow { position: absolute; z-index: 4; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border: 0; border-radius: 50%; background: #fff; color: #702878; box-shadow: 0 2px 7px #0002; font-size: 31px; line-height: 1; }
.gallery-arrow:hover { background: #f6eef8; transform: translateY(-50%); }
.gallery-arrow-prev { left: 13px; }
.gallery-arrow-next { right: 13px; }
.gallery-arrow span { display: block; margin-top: -3px; }
.gallery-counter { position: absolute; z-index: 4; top: 13px; right: 13px; padding: 4px 12px; border-radius: 20px; background: #fffffff2; color: #702878; font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; box-shadow: 0 2px 7px #0001; }
.gallery-metadata { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 26px; padding: 22px 0 0; }
.gallery-metadata > div { min-width: 0; padding: 0 7px; }
.gallery-metadata > div + div { border-left: 1px solid #ddd; }
.gallery-metadata .metadata-icon { display: flex; justify-content: center; align-items: center; width: 36px; height: 38px; margin: 0 auto 10px; color: #56bdd8; }
.metadata-icon svg { display: block; width: 32px; height: 38px; }
.gallery-metadata .metadata-b { width: 35px; height: 35px; margin-bottom: 13px; border-radius: 50%; background: #702878; color: #fff; font-family: 'Montserrat', Arial, sans-serif; font-size: 27px; font-weight: 700; line-height: 1; }
.gallery-metadata strong { font-size: 15px; font-weight: 600; line-height: 22px; }
.gallery-metadata small { margin-top: 1px; color: #969696; font-size: 12px; line-height: 20px; }
.gallery-metadata .metadata-organisation strong { color: #50bed9; }
.donations-card { border: 1px solid #e5e5e8; box-shadow: 0 4px 12px #00000012; }
.donation-gift-heart { display: block; width: 15px; height: 15px; }
.donation-heart { display: flex; align-items: center; height: 19px; }
.feed-more { display: block; width: 100%; border: 0; border-top: 1px solid #ececf0; background: #fff; padding: 12px 0 5px; color: #52bdd7; font-size: 13px; font-weight: 600; text-align: center; }
.feed-more:hover { color: #238fa9; text-decoration: underline; }
.story-topline { display: flex; justify-content: flex-start; align-items: center; gap: 9px; padding-bottom: 0; border-bottom: 0; }
.story .section-tab { padding: 0; border: 0; color: #50bdd8; font-size: 15px; line-height: 24px; letter-spacing: .2px; }
.story-socials { display: flex; align-items: center; gap: 10px; }
.story-socials a { display: flex; align-items: center; justify-content: center; width: 25px; height: 25px; }
.story-socials img { width: 21px; height: 21px; opacity: .6; }
.story h2 { padding-bottom: 16px; border-bottom: 1px solid #dedede; margin: 21px 0 22px; }
.organiser { gap: 15px; margin: 0 0 24px; }
.organiser-avatar { display: grid; place-items: center; width: 45px; height: 45px; color: #702878; flex-shrink: 0; }
.organiser-avatar svg { width: 39px; height: 39px; }
.organiser-copy strong { font-size: 17px; font-weight: 600; line-height: 25px; }
.organiser-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 4px; }
.organiser-badge { color: #702878; background: #f4eaf5; border-radius: 3px; padding: 1px 5px; font-size: 9px; font-weight: 600; letter-spacing: .3px; line-height: 17px; }
.organiser-count { color: #777; font-size: 11px; line-height: 19px; }
.story p { margin: 0 0 19px; }
.story .read-more { font-size: 14px; font-weight: 600; }
.amount-option, .amount-option[aria-pressed=true] { height: 40px; min-height: 40px; border: 1.5px solid #702878; border-radius: 55px; padding: 8px 5px; font-family: 'Montserrat', Arial, sans-serif; font-size: 12px; font-weight: 700; line-height: 20px; }
.frequency button { border-color: #d1d1d1; color: #313030; font-size: 12px; }
.frequency button.active { border-color: #702878; color: #fff; }
.tip-heading .field-label { color: #313030; font-size: 16px; font-weight: 600; }
.tip-heading .text-button { font-size: 11px; }
.support-slider-control { position: relative; padding-top: 44px; margin-top: 11px; }
.support-bubble { position: absolute; top: 2px; left: clamp(64px, var(--support-progress), calc(100% - 64px)); transform: translateX(-50%); border-radius: 5px; padding: 4px 10px; background: #702878; color: #fff; font-size: 12px; font-weight: 600; white-space: nowrap; line-height: 21px; }
.support-bubble:after { content: ''; position: absolute; top: 100%; left: calc(50% - 5px); border: 5px solid transparent; border-top-color: #702878; }
.tip-section input[type=range] { appearance: none; -webkit-appearance: none; display: block; width: 100%; height: 7px; margin: 0 0 14px; border-radius: 10px; background: linear-gradient(to right, #702878 var(--support-progress), #e4d7e7 var(--support-progress)); }
.tip-section input[type=range]::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 20px; height: 20px; border: 3px solid #fff; border-radius: 50%; background: #702878; box-shadow: 0 0 0 1px #702878; }
.tip-section input[type=range]::-moz-range-thumb { width: 15px; height: 15px; border: 3px solid #fff; border-radius: 50%; background: #702878; box-shadow: 0 0 0 1px #702878; }
.visibility-card { margin-bottom: 20px; }
.visibility-card .check-field { font-size: 14px; }
.public-name-field { margin-top: 20px; }
.public-name-field[hidden] { display: none; }
.visibility-card .field:last-child, .personal-details-card .field:last-child { margin-bottom: 0; }
.visibility-card .field-label, .personal-details-card .field-label { font-size: 13px; font-weight: 500; }
.visibility-card > .field { margin-top: 20px; }
.payment-choice { display: grid; gap: 12px; margin: 0 0 22px; }
.payment-option { display: flex; align-items: center; gap: 11px; min-height: 50px; padding: 11px 14px; border: 1px solid #dedede; border-radius: 6px; cursor: pointer; color: #313030; font-size: 14px; }
.payment-option:has(input:checked) { border-color: #702878; background: #fbf7fc; }
.payment-option input { width: 16px; height: 16px; accent-color: #702878; margin: 0; flex-shrink: 0; }
.donation-summary-live { display: block; grid-template-columns: none; margin-top: 20px; background: #fff; }
.donation-summary-live .summary-body { padding: 16px; }
.donation-summary-live h2 { color: #702878; font-size: 20px; font-weight: 600; line-height: 28px; }
.donation-summary-live .summary-campaign { font-size: 14px; line-height: 22px; margin-bottom: 15px; color: #313030; }
.donation-summary-live .summary-line { font-size: 14px; line-height: 22px; }
.summary-line.boost { padding: 10px; margin: 0 -8px; background: #edf8f0; color: #168257; border-radius: 6px; }
.checkout-actions { margin-top: 23px; }
.checkout-actions .form-actions { margin-top: 0; }
.review-details { font-size: 13px; }
.review-details strong { overflow-wrap: anywhere; text-align: right; }
@media(max-width:767px) {
  .gallery-viewport { height: auto; aspect-ratio: 39 / 28; }
  .gallery-arrow { width: 33px; height: 33px; background: #fff; font-size: 29px; }
  .gallery-arrow-prev { left: 12px; }
  .gallery-arrow-next { right: 12px; }
  .gallery-counter { top: 12px; right: 12px; font-size: 11px; }
  .gallery-metadata.desktop-trust { display: grid; margin: 0; padding: 20px 9px 5px; }
  .gallery-metadata .metadata-icon { width: 31px; height: 33px; margin-bottom: 7px; }
  .gallery-metadata .metadata-b { width: 31px; height: 31px; font-size: 24px; margin-bottom: 9px; }
  .metadata-icon svg { width: 28px; height: 32px; }
  .gallery-metadata strong { font-size: 13px; line-height: 21px; }
  .gallery-metadata small { font-size: 10px; line-height: 18px; }
  .stats-group, .gallery-video-active .stats-group { margin-top: 16px; }
  .hero-group { margin-bottom: 0; }
  .gallery-is-video { overflow: hidden; }
  .organiser-copy strong { font-size: 16px; }
  .organiser-meta { gap: 7px; }
  .donation-summary-live .summary-line { font-size: 12px; line-height: 21px; }
  .donation-summary-live .summary-campaign { font-size: 12px; }
}

/* Release 4b: measured donation-page amount and support controls. */
.amount-grid { display: flex; flex-wrap: wrap; column-gap: 20px; row-gap: 10px; }
.amount-option, .amount-option[aria-pressed=true] { flex: 0 0 auto; width: fit-content; min-width: 100px; padding-left: 12px; padding-right: 12px; }
.tip-heading .field-label { color: #702878; font-size: 16px; font-weight: 600; }
.tip-section > .field-help { font-size: 14px; line-height: 21px; color: #747474; }
.tip-section input[type=range]::-webkit-slider-thumb { width: 30px; height: 30px; }
.tip-section input[type=range]::-moz-range-thumb { width: 24px; height: 24px; }
body[data-page=amount] .journey-title, body[data-page=amount] .journey-subtitle { text-align: center; }
@media(max-width:767px) {
  .amount-option, .amount-option[aria-pressed=true] { min-width: 92px; }
}
