: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/platform/work-sans.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Montserrat';src:url('assets/platform/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; }
}

/* Approved compact campaign reference: 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; }
}

/* This campaign retains the prepared BackaBuddy frame and adds only its own brand details. */
.sponsor-mark { background: #ffcc00; padding: 10px 9px; border-radius: 3px; min-width: 93px; flex-shrink: 0; }
.sponsor-mark img { width: 80px; height: auto; max-height: 27px; }
.boost-strip { align-items: center; }
.cycle-invitation { display: flex; gap: 15px; align-items: center; justify-content: space-between; padding: 0 1px 15px; margin-top: -4px; }
.cycle-invitation strong { font-size: 13px; color: #702878; }
.cycle-invitation p { margin: 3px 0 0; font-size: 12px; line-height: 18px; color: #666; }
.cycle-invitation .text-button { flex-shrink: 0; font-size: 12px; }
.organiser-avatar.foundation-avatar { border-radius: 5px; background: #fff; width: 68px; height: 46px; padding: 3px; }
.foundation-avatar img { display: block; width: 100%; height: 100%; object-fit: contain; }
.story h3 { font-family: 'Montserrat', Arial, sans-serif; font-size: 19px; line-height: 28px; font-weight: 600; color: #702878; margin: 28px 0 13px; letter-spacing: -.3px; }
.story > p:first-of-type { color: #313030; }
@media (max-width: 767px) { .sponsor-mark { min-width: 78px; padding: 9px 7px; } .sponsor-mark img { width: 65px; } .cycle-invitation { gap: 8px; padding-bottom: 8px; } .cycle-invitation strong { font-size: 12px; } .cycle-invitation p { font-size: 11px; } .cycle-invitation .text-button { font-size: 11px; } .story h3 { font-size: 18px; line-height: 26px; } }

.donation-recurring-icon { display: block; flex: 0 0 13px; width: 13px; height: 13px; color: #702878; fill: none; stroke: currentColor; stroke-width: 1.15; stroke-linecap: square; stroke-linejoin: miter; }

/* Amount page: platform notice and compact donation controls. */
body[data-page=amount] .international-donation-notice { display: flex; align-items: flex-start; gap: 14px; margin: 0 0 20px; padding: 12px 14px; border: 1px solid #ebddb9; border-radius: 10px; background: #fff4db; color: #252028; }
body[data-page=amount] .international-donation-notice p { margin: 0; font-size: 13px; line-height: 20px; }
body[data-page=amount] .international-notice-icon { display: block; flex: 0 0 32px; width: 32px; height: 32px; margin-top: 1px; color: #702878; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }
body[data-page=amount] .international-notice-icon .info-dot { fill: currentColor; stroke: none; }
body[data-page=amount] .amount-grid, body[data-page=amount] .frequency { display: flex; flex-wrap: wrap; gap: 10px; }
body[data-page=amount] .amount-option, body[data-page=amount] .amount-option[aria-pressed=true], body[data-page=amount] .frequency button { flex: 0 0 100px; width: 100px; min-width: 100px; height: 40px; min-height: 40px; border: 1px solid #702878; border-radius: 999px; padding: 9px 12px; background: #fff; color: #702878; font-family: 'Montserrat', Arial, sans-serif; font-size: 12px; font-weight: 700; line-height: 20px; box-shadow: none; }
body[data-page=amount] .amount-option[aria-pressed=true], body[data-page=amount] .frequency button.active { background: #702878; color: #fff; }
body[data-page=amount] .amount-option, body[data-page=amount] .amount-option[aria-pressed=true] { flex-basis: 90px; width: 90px; min-width: 90px; padding: 9px 8px; white-space: nowrap; }

body[data-page=amount] .journey-title { font-size: clamp(28px, 3.125vw, 40px); line-height: 1.3; }

body[data-page=amount] .donation-campaign-banner { display: block; width: 100%; max-width: 560px; height: auto; aspect-ratio: 560 / 170; margin: 0 auto 24px; border: 0; border-radius: 0; object-fit: contain; }

/* Amount-step sponsor notice, above the international information panel. */
.donation-boost-notice { display: flex; align-items: flex-start; gap: 15px; margin: 0 0 20px; padding: 16px; border: 1px solid #e9e0ed; border-radius: 10px; background: #f8f4fa; }
.donation-boost-logo { display: flex; align-items: center; justify-content: center; flex: 0 0 68px; width: 68px; min-height: 48px; }
.donation-boost-logo img { display: block; width: 68px; max-height: 48px; object-fit: contain; }
.donation-boost-notice h2 { margin: 0 0 5px; color: #702878; font-size: 16px; line-height: 23px; font-weight: 700; letter-spacing: -.2px; }
.donation-boost-notice p { margin: 0; color: #756b7a; font-size: 13px; line-height: 21px; }
.donation-boost-notice p strong { font-weight: 600; }
.donation-boost-notice p button { display: inline; border: 0; padding: 0; background: none; color: #702878; text-decoration: underline; font-size: inherit; line-height: inherit; font-weight: 600; }
.cycle-breakers-note { margin: 0 0 20px; color: #69717a; font-size: 14px; line-height: 22px; }
@media(max-width:767px) { .donation-boost-notice { gap: 11px; padding: 13px; } .donation-boost-logo { flex-basis: 54px; width: 54px; min-height: 38px; } .donation-boost-logo img { width: 54px; max-height: 38px; } .donation-boost-notice h2 { font-size: 14px; line-height: 20px; } .donation-boost-notice p { font-size: 12px; line-height: 19px; } }


/* Platform Journey v2: continuous donation form, measured from Help Haven on 12 November 2026. */
:root { --form-purple: #702878; --form-ink: #313030; --form-border: #dee2e6; --form-shadow: 0 4px 10px rgba(0,0,0,.2); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
[hidden] { display: none !important; }
.continuous-journey { width: 100%; max-width: 660px; margin: 0 auto; padding: 36px 12px 100px; color: var(--form-ink); }
.continuous-journey .back-link { font: 500 13px/20px 'Work Sans',sans-serif; margin: 0 0 24px; }
.continuous-journey .journey-heading { text-align: center; margin-bottom: 16px; }
.continuous-journey .journey-heading h1,
.continuous-journey .journey-title { margin: 0 0 8px; color: #313030; font-family: 'Montserrat','Work Sans',sans-serif; font-size: 44px; font-weight: 700; line-height: 58px; letter-spacing: 0; }
.continuous-journey .journey-heading p,
.continuous-journey .journey-subtitle { margin: 0 0 16px; color: #313030; font: 500 20px/30px 'Work Sans',sans-serif; }
.continuous-journey .donation-campaign-banner { display: block; width: 100%; max-width: 560px; height: auto; aspect-ratio: 560/170; margin: 0 auto 24px; border: 0; border-radius: 0; object-fit: contain; }
.continuous-journey .international-notice,
.continuous-journey .international-notice.international-donation-notice { display: flex; gap: 20px; align-items: center; padding: 12px; margin: 0 0 16px; border: 0; border-radius: 8px; background: #fff4db; color: #313030; }
.continuous-journey .international-notice p { margin: 0; font: 600 14px/20px 'Work Sans',sans-serif; }
.continuous-journey .notice-icon { display: block; width: 32px; height: 32px; flex: 0 0 32px; color: #702878; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }
.continuous-journey .notice-icon circle:last-child { fill: currentColor; stroke: none; }
.continuous-journey .continuous-form { margin: 0; font: 400 16px/24px 'Montserrat','Work Sans',sans-serif; }
.continuous-journey .continuous-form .form-card { display: block; padding: 16px; margin: 0 0 16px; border: 0; border-radius: 8px; background: #fff; box-shadow: var(--form-shadow); }
.continuous-journey .continuous-form .field-title { display: flex; align-items: center; gap: 5px; margin: 0 0 16px; padding: 0; color: #702878; font: 600 20px/26px 'Montserrat',sans-serif; letter-spacing: 0; }
.continuous-journey .continuous-form .field-title img { flex: 0 0 18px; display: inline-block; width: 18px; height: 18px; object-fit: contain; }
.continuous-journey .continuous-form .frequency { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 24px; }
.continuous-journey .continuous-form .frequency button { display: block; min-width: 0; width: auto; flex: 0 0 auto; height: 40px; min-height: 40px; padding: 11px 12px; border: 2px solid #b9b9b9; border-radius: 55px; color: #313030; background: transparent; box-shadow: none; font: 700 12px/14px 'Montserrat',sans-serif; text-transform: uppercase; white-space: nowrap; }
.continuous-journey .continuous-form .frequency button.active,
.continuous-journey .continuous-form .frequency button[aria-pressed=true] { background: transparent; color: #313030; border-color: #313030; }
.continuous-journey .continuous-form .amount-grid { display: flex; flex-wrap: wrap; column-gap: 20px; row-gap: 10px; margin: 0 0 16px; }
.continuous-journey .continuous-form .amount-option,
.continuous-journey .continuous-form .amount-option[aria-pressed=true] { width: auto; min-width: 0; flex: 0 0 auto; height: 40px; min-height: 40px; padding: 11px 12px; border: 2px solid #702878; border-radius: 55px; color: #702878; background: transparent; box-shadow: none; font: 700 12px/14px 'Montserrat',sans-serif; white-space: nowrap; }
.continuous-journey .continuous-form .amount-option.active,
.continuous-journey .continuous-form .amount-option[aria-pressed=true] { background: #702878; color: white; }
.continuous-journey .continuous-form .field { margin: 0 0 8px; min-width: 0; }
.continuous-journey .continuous-form .field-label { color: #702878; font: 500 14px/22px 'Montserrat',sans-serif; margin: 0 0 4px; }
.continuous-journey .continuous-form .text-input,
.continuous-journey .continuous-form select { display: block; width: 100%; min-width: 0; height: 46px; min-height: 46px; padding: 6px 12px; border: 1px solid #dee2e6; border-radius: 6px; background: white; color: #212529; box-shadow: 0 2px 4px rgba(0,0,0,.075); font: 400 16px/24px 'Montserrat','Work Sans',sans-serif; }
.continuous-journey .continuous-form .text-input::placeholder { color: #858585; opacity: .8; }
.continuous-journey .continuous-form textarea.text-input { height: 108px; min-height: 108px; resize: vertical; padding-top: 9px; }
.continuous-journey .continuous-form .text-input[aria-invalid=true] { border-color: #dc6c7c; background: white; }
.continuous-journey .continuous-form .field-error { margin: 2px 0 0; min-height: 0; color: #cf3f55; font: 500 11px/16px 'Work Sans',sans-serif; }
.continuous-journey .continuous-form .field-error:empty { display: none; }
.continuous-journey .continuous-form .currency-amount-group { position: relative; display: flex; width: 100%; height: 46px; margin: 0; }
.continuous-journey .continuous-form .currency-amount-group .currency-selector { width: 66px; min-width: 66px; flex: 0 0 66px; height: 46px; border-radius: 6px 0 0 6px; padding: 7px 8px; color: #313030; font: 700 12px/14px 'Montserrat',sans-serif; box-shadow: 0 2px 4px rgba(0,0,0,.075); }
.continuous-journey .continuous-form .currency-amount-group .money-input { flex: 1 1 auto; height: 46px; margin-left: -1px; border-radius: 0 6px 6px 0; padding: 6px 12px; }
.continuous-journey .continuous-form .schedule-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; margin-top: 20px; }
.continuous-journey .continuous-form .schedule-row .field { margin: 0; }
.continuous-journey .continuous-form .schedule-row select { height: 38px; min-height: 38px; border: 0; border-bottom: 1px solid #898989; border-radius: 0; box-shadow: none; padding: 4px 8px; color: #6c6c6c; font: 400 16px/24px 'Work Sans',sans-serif; }
.continuous-journey .continuous-form .tip-section { position: relative; border: 0; padding: 0; margin: 24px 0 0; }
.continuous-journey .continuous-form .tip-title { display: flex; align-items: center; gap: 3px; margin: 0 0 8px; color: #702878; font: 600 16px/22px 'Montserrat',sans-serif; letter-spacing: 0; }
.continuous-journey .continuous-form .tip-title > img { order: 2; display: inline-block; width: 13px; height: 13px; object-fit: contain; margin-left: 1px; }
.continuous-journey .continuous-form #support-amount,
.continuous-journey .continuous-form .tip-money { order: 3; margin-left: auto; font: 500 14px/22px 'Work Sans',sans-serif; color: #313030; }
.continuous-journey .continuous-form .tip-copy { margin: 0 0 16px; color: #313030; font: 400 14px/20px 'Work Sans',sans-serif; }
.continuous-journey .continuous-form .tip-slider { position: relative; width: 100%; height: 83px; padding-top: 33px; margin: 0; }
.continuous-journey .continuous-form .tip-bubble { position: absolute; top: 0; left: var(--tip-progress,0%); left: calc(15px + (100% - 30px) * var(--tip-ratio,0)); transform: translateX(-50%); display: flex; align-items: center; justify-content: center; width: 80px; height: 30px; padding: 2px 6px; border: 0; border-radius: 8px; color: #313030; background: white; box-shadow: 0 4px 10px rgba(0,0,0,.2); white-space: nowrap; font: 500 14px/21px 'Work Sans',sans-serif; z-index: 1; }
.continuous-journey .continuous-form .tip-bubble:after { display: none; }
.continuous-journey .continuous-form .tip-range,
.continuous-journey .continuous-form .tip-track { display: block; appearance: none; -webkit-appearance: none; width: 100%; height: 50px; min-height: 50px; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; cursor: pointer; }
.continuous-journey .continuous-form .tip-range::-webkit-slider-runnable-track,
.continuous-journey .continuous-form .tip-track::-webkit-slider-runnable-track { height: 5px; border: 0; border-radius: 0; background: repeating-linear-gradient(to right,#dedede 0,#dedede calc(6.25% - 2px),#fff calc(6.25% - 2px),#fff 6.25%); }
.continuous-journey .continuous-form .tip-range::-webkit-slider-thumb,
.continuous-journey .continuous-form .tip-track::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 30px; height: 30px; margin-top: -12.5px; border: 0; border-radius: 50%; background: #702878; box-shadow: none; }
.continuous-journey .continuous-form .tip-range::-moz-range-track,
.continuous-journey .continuous-form .tip-track::-moz-range-track { height: 5px; border: 0; border-radius: 0; background: repeating-linear-gradient(to right,#dedede 0,#dedede calc(6.25% - 2px),#fff calc(6.25% - 2px),#fff 6.25%); }
.continuous-journey .continuous-form .tip-range::-moz-range-thumb,
.continuous-journey .continuous-form .tip-track::-moz-range-thumb { width: 30px; height: 30px; border: 0; border-radius: 50%; background: #702878; box-shadow: none; }
.continuous-journey .continuous-form .no-support { display: block; margin: -3px 0 12px auto; padding: 0; font: 500 12px/18px 'Work Sans',sans-serif; color: #702878; }
.continuous-journey .continuous-form .tip-nudge { display: grid; grid-template-columns: 98px minmax(0,1fr); align-items: center; min-height: 90px; padding: 20px 8px; margin: 0 0 28px; border: 1px solid #d3ccd6; border-radius: 8px; background: #f4f0f5; color: #313030; }
.continuous-journey .continuous-form .tip-nudge img { display: block; width: 50px; height: 50px; margin: 0 auto; object-fit: contain; }
.continuous-journey .continuous-form .tip-nudge p { margin: 0; padding: 0 12px 0 0; font: 500 14px/21px 'Work Sans',sans-serif; }
.continuous-journey .continuous-form .visibility-section { margin-top: 28px; }
.continuous-journey .continuous-form .toggle-switch { position: relative; display: flex; align-items: center; gap: 10px; min-height: 34px; margin-bottom: 16px; color: #313030; font: 600 12px/18px 'Work Sans',sans-serif; cursor: pointer; }
.continuous-journey .continuous-form .toggle-switch input { position: absolute; width: 40px; height: 28px; margin: 0; opacity: 0; }
.continuous-journey .continuous-form .toggle-track { display: block; position: relative; width: 56px; height: 34px; flex: 0 0 56px; background: #f0f0f0; border-radius: 18px; }
.continuous-journey .continuous-form .toggle-track:before { content: ''; position: absolute; width: 26px; height: 26px; top: 4px; left: 4px; border-radius: 50%; background: white; box-shadow: 0 1px 4px #00000012; transition: transform .15s ease; }
.continuous-journey .continuous-form .toggle-switch input:checked + .toggle-track { background: #702878; }
.continuous-journey .continuous-form .toggle-switch input:checked + .toggle-track:before { transform: translateX(22px); }
.continuous-journey .continuous-form .toggle-switch input:focus-visible + .toggle-track { outline: 3px solid #65c6e0; outline-offset: 3px; }
.continuous-journey .continuous-form .public-name-field .field-label,
.continuous-journey .continuous-form .visibility-section > .field > .field-label,
.continuous-journey .continuous-form .personal-card .field-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.continuous-journey .continuous-form .visibility-section .text-input { margin-top: 8px; }
.continuous-journey .continuous-form .visibility-section .field:last-child { margin-bottom: 0; }
.continuous-journey .continuous-form .personal-card { margin-top: 24px; }
.continuous-journey .continuous-form .personal-card .field-title { margin-bottom: 12px; }
.continuous-journey .continuous-form .personal-card .field-row { display: block; }
.continuous-journey .continuous-form .personal-card .field { margin-bottom: 8px; }
.continuous-journey .continuous-form .phone-field { margin-bottom: 0; }
.continuous-journey .continuous-form .recurring-account-note { margin: 14px 0 10px; color: #313030; font: 700 12px/18px 'Work Sans',sans-serif; }
.continuous-journey .continuous-form .consent-field { display: flex; gap: 8px; align-items: flex-start; margin: 0; color: #313030; font: italic 500 12px/18px 'Work Sans',sans-serif; }
.continuous-journey .continuous-form .consent-field input { appearance: none; -webkit-appearance: none; width: 23px; height: 23px; flex: 0 0 23px; margin: 0; border: 1.5px solid #313030; border-radius: 50%; background: #fff; }
.continuous-journey .continuous-form .consent-field input:checked { border-color: #702878; background: #702878; box-shadow: inset 0 0 0 4px #fff; }
.continuous-journey .continuous-form .payment-section { margin: 28px 12px 0; }
.continuous-journey .continuous-form .payment-section > h2 { justify-content: center; margin-bottom: 16px; color: #313030; font: 700 20px/26px 'Work Sans',sans-serif; }
.continuous-journey .continuous-form .payment-choice { display: block; margin: 0; padding: 0 20px; border: 1px solid #dedede; border-radius: 6px; }
.continuous-journey .continuous-form .payment-option { display: grid; grid-template-columns: 24px 100px minmax(0,1fr); gap: 14px; align-items: center; min-height: 54px; margin: 0; padding: 12px 16px; border: 0; border-radius: 0; background: white; color: #313030; font: 700 12px/18px 'Work Sans',sans-serif; }
.continuous-journey .continuous-form .payment-option + .payment-option { border-top: 1px solid #d7d7d7; }
.continuous-journey .continuous-form .payment-option:has(input:checked) { background: white; border-color: #d7d7d7; }
.continuous-journey .continuous-form .payment-option input { grid-column: 1; grid-row: 1; width: 18px; height: 18px; margin: 0; accent-color: #702878; }
.continuous-journey .continuous-form .payment-option > img { grid-column: 2; grid-row: 1; justify-self: center; display: block; width: 80px; height: 20px; max-width: 100%; object-fit: contain; }
.continuous-journey .continuous-form .payment-option > span { grid-column: 3; grid-row: 1; }
.continuous-journey .continuous-form .payment-option .payment-logo-eft,
.continuous-journey .continuous-form .payment-option .payment-logo-instant-eft { width: 72px; }
.continuous-journey .continuous-form .payment-option .payment-logo-bank-eft { width: 28px; }
.continuous-journey .continuous-form .payment-option .payment-logo-debit-order { width: 72px; }
.continuous-journey .continuous-form .donation-summary { display: block; width: 100%; margin: 24px 0 20px; border-radius: 8px; background: white; }
.continuous-journey .continuous-form .donation-summary .field-title { margin-bottom: 16px; }
.continuous-journey .continuous-form .summary-campaign { display: flex; justify-content: space-between; gap: 20px; margin: 0; padding: 14px 0 8px; border-top: 1px solid #d3d3d3; color: #313030; font: 500 14px/21px 'Work Sans',sans-serif; }
.continuous-journey .continuous-form .summary-campaign strong { font-weight: 600; }
.continuous-journey .continuous-form .summary-line { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; margin: 0; padding: 8px 0; color: #313030; background: none; font: 500 14px/21px 'Work Sans',sans-serif; }
.continuous-journey .continuous-form .summary-line strong { max-width: 65%; color: inherit; white-space: normal; text-align: right; font-weight: 600; }
.continuous-journey .continuous-form .summary-line.summary-total,
.continuous-journey .continuous-form .summary-line.total { border-top: 1px solid #d3d3d3; margin-top: 20px; padding-top: 18px; }
.continuous-journey .continuous-form .summary-line.boost { margin: 0; padding: 10px 0; border-radius: 0; background: none; color: #168257; }
.continuous-journey .continuous-form .summary-pending { margin: 14px 0 0; font: 400 14px/21px 'Work Sans',sans-serif; }
.continuous-journey .continuous-form .checkout-actions { padding: 0 24px; }
.continuous-journey .continuous-form .donate-button { display: flex; width: 100%; height: 50px; min-height: 50px; border: 2px solid white; border-radius: 30px; box-shadow: none; background: #702878; color: white; text-transform: uppercase; font: 700 16px/24px 'Montserrat','Work Sans',sans-serif; }
.continuous-journey .continuous-form .payment-safe { text-align: center; margin: 12px 0 0; color: #747474; font: 400 12px/18px 'Work Sans',sans-serif; }
.continuous-journey .donation-boost-notice { margin-bottom: 16px; }
.continuous-journey .error-summary { padding: 12px 16px; margin: 0 0 16px; border: 1px solid #d97b88; border-radius: 6px; background: #fff8f9; color: #9d2134; font: 500 14px/21px 'Work Sans',sans-serif; }
body[data-page=amount] .footer-brand-band,
body[data-page=donation] .footer-brand-band,
body[data-page=thanks] .footer-brand-band { display: none; }
body[data-page=amount] .footer-legal,
body[data-page=donation] .footer-legal { background: #f1f1f1; }
@media (max-width: 767px) {
 .continuous-journey { max-width: 100%; padding: 28px 16px 64px; }
 .continuous-journey .journey-title,
 .continuous-journey .journey-heading h1 { font-size: 28px; line-height: 36px; }
 .continuous-journey .journey-subtitle,
 .continuous-journey .journey-heading p { font-size: 16px; line-height: 24px; }
 .continuous-journey .international-notice { gap: 12px; padding: 12px; }
 .continuous-journey .international-notice p { font-size: 12px; line-height: 18px; }
 .continuous-journey .notice-icon { width: 28px; height: 28px; flex-basis: 28px; }
 .continuous-journey .continuous-form .form-card { padding: 16px; }
 .continuous-journey .continuous-form .amount-grid { column-gap: 12px; row-gap: 10px; }
 .continuous-journey .continuous-form .tip-nudge { grid-template-columns: 66px minmax(0,1fr); padding: 16px 6px; }
 .continuous-journey .continuous-form .tip-nudge p { padding-right: 4px; }
 .continuous-journey .continuous-form .schedule-row { grid-template-columns: minmax(0,1fr); gap: 16px; }
 .continuous-journey .continuous-form .schedule-row select { font-size: 14px; padding-left: 0; }
 .continuous-journey .continuous-form .payment-section { margin-left: 0; margin-right: 0; }
 .continuous-journey .continuous-form .payment-choice { padding: 0 10px; }
 .continuous-journey .continuous-form .payment-option { grid-template-columns: 20px 82px minmax(0,1fr); column-gap: 10px; padding: 12px 4px; }
 .continuous-journey .continuous-form .checkout-actions { padding: 0 12px; }
 .continuous-journey .continuous-form .field-title { font-size: 20px; line-height: 26px; }
 .continuous-journey .continuous-form .summary-line { gap: 12px; font-size: 14px; line-height: 21px; }
}
@media (prefers-reduced-motion: reduce) { .continuous-journey .continuous-form * { transition: none !important; } }

/* Native visibility heading and actionable platform payment tiles. */
.continuous-journey .continuous-form .visibility-section > .field-title { margin-bottom: 12px; }
.continuous-journey .continuous-form button.payment-option { width: 100%; text-align: left; appearance: none; -webkit-appearance: none; }
.continuous-journey .continuous-form button.payment-option:before { content: ''; display: block; grid-column: 1; grid-row: 1; width: 18px; height: 18px; border: 2px solid #313030; border-radius: 50%; background: white; }
.continuous-journey .continuous-form button.payment-option.active:before { border-color: #702878; background: #702878; box-shadow: inset 0 0 0 3px white; }
.continuous-journey .continuous-form .international-payment-section { margin: 26px 12px 0; border-top: 1px solid #dedede; padding-top: 16px; }
.continuous-journey .continuous-form .international-payment-section > .field-title { justify-content: center; color: #313030; font: 700 20px/26px 'Work Sans',sans-serif; }
.continuous-journey .continuous-form .international-payment-section > .field-help { text-align: center; color: #747474; font: italic 400 12px/18px 'Work Sans',sans-serif; }
.continuous-journey .continuous-form .phone-input-group { display: flex; align-items: stretch; }
.continuous-journey .continuous-form .phone-input-group .phone-country { width: 56px; flex: 0 0 56px; min-width: 0; border-radius: 6px 0 0 6px; padding: 6px 3px; font-size: 12px; }
.continuous-journey .continuous-form .phone-input-group .text-input { flex: 1 1 auto; width: 1%; margin-left: -1px; border-radius: 0 6px 6px 0; }

/* Live mobile form stacks schedule fields and keeps native field labels accessible. */
.continuous-journey .continuous-form .mobile-number-row { display: flex; gap: 0; align-items: flex-start; }
.continuous-journey .continuous-form .mobile-number-row > .phone-country { width: 66px; flex: 0 0 66px; min-width: 0; }
.continuous-journey .continuous-form .mobile-number-row > .phone-field { flex: 1 1 auto; min-width: 0; }
.continuous-journey .continuous-form .mobile-number-row .phone-country select { height: 46px; border-radius: 6px 0 0 6px; padding: 6px 3px; font-size: 11px; }
.continuous-journey .continuous-form .mobile-number-row .phone-field input { height: 46px; border-radius: 0 6px 6px 0; margin-left: -1px; }
.continuous-journey .continuous-form .text-input:disabled { background: #f5f5f5; color: #777; opacity: 1; }
@media(max-width:767px) {
 .continuous-journey .journey-heading { text-align: left; }
 .continuous-journey .journey-heading h1,.continuous-journey .journey-heading p { text-align: left; }
}

/* Universal template: sponsor names are plain text when no logo is configured. */
.stats-row:has(> div:nth-child(2):last-child) { grid-template-columns: repeat(2,minmax(0,1fr)); }
.continuous-journey .donation-boost-logo { font: 700 12px/16px 'Montserrat',sans-serif; text-align: center; overflow-wrap: anywhere; }
.continuous-journey .donation-boost-notice > div:last-child { min-width: 0; }
.continuous-journey .continuous-form .tip-bubble { width: max-content; min-width: 80px; }


/* Shared page marker: an actual route tab attached below the global header. */
.page-marker-wrap { position: relative; height: 30px; padding-top: 0; padding-bottom: 0; z-index: 10; }
.page-marker { display: inline-flex; align-items: center; justify-content: center; height: 30px; min-height: 30px; margin: 0 0 0 -12px; padding: 6px 12px; border: 0; border-radius: 0 0 5px 5px; background: #702878; color: #fff; box-shadow: none; font: 700 12px/15px 'Work Sans',sans-serif; text-transform: uppercase; white-space: nowrap; }
.page-marker:hover { background: #702878; }
/* Header70 + route tab30 + form50 = source heading top150. */
.continuous-journey { padding-top: 50px; }

/* Campaign frame: current source hierarchy and readable donation feed. */
body[data-page=campaign] .campaign-wrap { padding-top: 80px; }
body[data-page=campaign] .campaign-grid { gap: 24px; }
body[data-page=campaign] .campaign-title { width: 100%; max-width: none; margin: 0 0 8px; font: 700 44px/58px 'Montserrat',sans-serif; letter-spacing: 0; color: #313030; }
body[data-page=campaign] .campaign-title-rule { display: block; width: 100%; height: 0; padding: 0; margin: 0 0 12px; border: 0; border-top: 1px solid #313030; opacity: 1; }
body[data-page=campaign] .campaign-meta { display: block; margin: 0 0 6px; padding: 0; border: 0; color: #313030; font: 500 14px/22px 'Work Sans',sans-serif; }
body[data-page=campaign] .campaign-meta > span { display: block; }
body[data-page=campaign] .campaign-meta > span + span:before { display: none; }
body[data-page=campaign] .campaign-meta > span:last-child { font-weight: 700; }
body[data-page=campaign] .stats-card { margin-top: 10px; padding: 16px 16px 20px; border: 0; border-radius: 8px; background: #fff; box-shadow: 0 8px 16px rgba(0,0,0,.2); }
body[data-page=campaign] .stats-card .raised { margin: 0; font: 700 34px/66px 'Montserrat',sans-serif; letter-spacing: 0; color: #292a2d; }
body[data-page=campaign] .progress-track { position: relative; height: 16px; border: 0; border-radius: 6px; background: #e9ecef; overflow: hidden; }
body[data-page=campaign] .progress-fill { height: 100%; border-radius: 48px; background: #702878; }
body[data-page=campaign] .progress-percentage { position: absolute; top: 50%; left: clamp(30px,calc(var(--funded,100%) / 2),calc(100% - 30px)); transform: translate(-50%,-50%); min-width: 30px; padding: 0 3px; border-radius: 8px; background: #702878; color: white; text-align: center; white-space: nowrap; font: 600 12px/16px 'Montserrat',sans-serif; }
body[data-page=campaign] .progress-empty .progress-percentage { left: 15px; color: white; }
body[data-page=campaign] .progress-label { margin: 12px 0; color: #292a2d; font: 400 20px/30px 'Work Sans',sans-serif; }
body[data-page=campaign] .progress-label strong { color: inherit; font-weight: 400; }
body[data-page=campaign] .stats-card .button-row { margin: 0 0 20px; gap: 22px; }
body[data-page=campaign] .stats-card .share-button { color: #56c4df; font: 600 20px/30px 'Work Sans',sans-serif; }
body[data-page=campaign] .stats-row { padding: 10px 0 0; border-top: 1px solid #ddd; }
body[data-page=campaign] .stats-row > div { padding: 8px 10px 10px; }
body[data-page=campaign] .stats-row strong { font: 700 20px/28px 'Work Sans',sans-serif; color: #747474; }
body[data-page=campaign] .stats-row span { margin-top: 0; font: 400 18px/27px 'Work Sans',sans-serif; color: #292a2d; }
body[data-page=campaign] .stats-row > div + div { border-left-color: #ddd; }
body[data-page=campaign] .gallery-viewport { height: 420px; aspect-ratio: auto; border-radius: 12px; }
body[data-page=campaign] .gallery-image { border-radius: 12px; }
body[data-page=campaign] .gallery-metadata { padding-top: 22px; margin-bottom: 18px; }
body[data-page=campaign] .gallery-metadata strong { color: #292a2d; font: 600 16px/24px 'Work Sans',sans-serif; }
body[data-page=campaign] .gallery-metadata small { color: #292a2d; font: 400 14px/21px 'Work Sans',sans-serif; }
body[data-page=campaign] .gallery-metadata .metadata-organisation strong { color: #56c4df; }
body[data-page=campaign] .story { margin-top: 94px; }
body[data-page=campaign] .story-topline { display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; border: 0; }
body[data-page=campaign] .section-tab { padding: 0; margin: 0; border: 0; color: #56c4df; letter-spacing: 0; font: 700 18px/26px 'Work Sans',sans-serif; }
body[data-page=campaign] .story h2 { margin: 0 0 10px; padding: 0 0 8px; border-bottom: 1px solid #313030; color: #313030; font: 700 30px/38px 'Montserrat',sans-serif; letter-spacing: 0; }
body[data-page=campaign] .organiser { margin: 10px 0 24px; }
body[data-page=campaign] .story p { color: #313030; font: 400 16px/24px 'Work Sans',sans-serif; }
body[data-page=campaign] .donations-card { width: calc(100% - 24px); margin: 0 12px; padding: 16px; border: 0; border-radius: 8px; background: white; box-shadow: 0 8px 16px rgba(0,0,0,.2); }
body[data-page=campaign] .donations-card .card-heading { display: block; padding: 0; margin: 0 0 4px; border: 0; }
body[data-page=campaign] .donations-card .card-heading h2 { width: 100%; margin: 0; padding: 0 0 12px; border-bottom: 1px solid #313030; color: #313030; text-align: center; font: 700 30px/38px 'Montserrat',sans-serif; letter-spacing: 0; }
body[data-page=campaign] .donations-card .filter-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 12px 0 10px; padding: 0; color: #313030; font: 500 18px/26px 'Work Sans',sans-serif; }
body[data-page=campaign] .donations-card .segmented { display: flex; gap: 24px; }
body[data-page=campaign] .donations-card .segmented button { min-width: 128px; height: 30px; min-height: 30px; padding: 5px 12px; border: 2px solid #313030; border-radius: 55px; background: white; color: #313030; font: 700 10px/14px 'Montserrat',sans-serif; letter-spacing: .5px; }
body[data-page=campaign] .donations-card .segmented button[aria-pressed=true] { background: #313030; color: white; border-color: #313030; }
body[data-page=campaign] .donations-card .donation-item { display: block; padding: 10px 0; border: 0; }
body[data-page=campaign] .donations-card .donation-item + .donation-item { border-top: 1px solid #ccc; }
body[data-page=campaign] .donation-public-row,
body[data-page=campaign] .donation-boost-row { grid-template-columns: minmax(78px,22%) minmax(0,1fr) 150px; column-gap: 12px; }
body[data-page=campaign] .donations-card .donation-amount,
body[data-page=campaign] .donations-card .donation-boost-amount { color: #702878; font: 700 16px/24px 'Work Sans',sans-serif; }
body[data-page=campaign] .donations-card .donation-name { color: #313030; font: 500 16px/24px 'Work Sans',sans-serif; }
body[data-page=campaign] .donations-card .donation-message { margin: 0; color: #313030; font: 400 13px/20px 'Work Sans',sans-serif; }
body[data-page=campaign] .donation-date { justify-content: space-between; gap: 8px; color: #313030; font: 400 12px/20px 'Work Sans',sans-serif; }
body[data-page=campaign] .donation-date .donation-heart { margin-left: auto; }
body[data-page=campaign] .donation-date time { margin-left: auto; }
body[data-page=campaign] .donation-boost-text { color: #702878; font: 600 16px/24px 'Work Sans',sans-serif; }
body[data-page=campaign] .feed-more { color: #56c4df; font: 500 14px/22px 'Work Sans',sans-serif; }
@media(max-width:1199px) and (min-width:768px) {
 body[data-page=campaign] .donations-card .segmented { gap: 10px; }
 body[data-page=campaign] .donations-card .segmented button { min-width: 82px; }
 body[data-page=campaign] .donation-public-row,body[data-page=campaign] .donation-boost-row { grid-template-columns: 66px minmax(0,1fr) 94px; column-gap: 8px; }
 body[data-page=campaign] .donations-card .donation-name,body[data-page=campaign] .donations-card .donation-amount { font-size: 13px; }
 body[data-page=campaign] .donation-date { font-size: 10px; }
}
@media(max-width:767px) {
 .page-marker-wrap { height: 30px; }
 .page-marker { margin-left: 0; }
 .continuous-journey { padding-top: 28px; }
 body[data-page=campaign] .campaign-wrap { padding-top: 28px; }
 body[data-page=campaign] .gallery-viewport { height: auto; aspect-ratio: 39/28; border-radius: 0; }
 body[data-page=campaign] .gallery-image { border-radius: 0; }
 body[data-page=campaign] .gallery-metadata { margin-bottom: 16px; }
 body[data-page=campaign] .gallery-metadata strong { font-size: 13px; line-height: 21px; }
 body[data-page=campaign] .gallery-metadata small { font-size: 10px; line-height: 18px; }
 body[data-page=campaign] .stats-card { padding: 16px 16px 20px; }
 body[data-page=campaign] .stats-row span { font-size: 14px; line-height: 22px; }
 body[data-page=campaign] .stats-row strong { font-size: 18px; line-height: 26px; }
 body[data-page=campaign] .progress-label { font-size: 16px; line-height: 24px; }
 body[data-page=campaign] .story { margin-top: 28px; }
 body[data-page=campaign] .section-tab { font-size: 14px; line-height: 22px; }
 body[data-page=campaign] .story h2 { font-size: 26px; line-height: 34px; }
 body[data-page=campaign] .donations-card { width: calc(100% - 32px); margin: 0 16px; }
 body[data-page=campaign] .donations-card .card-heading h2 { font-size: 26px; line-height: 34px; }
 body[data-page=campaign] .donations-card .filter-row { gap: 12px; font-size: 15px; line-height: 24px; }
 body[data-page=campaign] .donations-card .segmented { gap: 10px; }
 body[data-page=campaign] .donations-card .segmented button { min-width: 82px; height: 30px; }
 body[data-page=campaign] .donation-public-row,body[data-page=campaign] .donation-boost-row { grid-template-columns: 60px minmax(0,1fr) 90px; column-gap: 8px; }
 body[data-page=campaign] .donations-card .donation-name,body[data-page=campaign] .donations-card .donation-amount { font-size: 13px; line-height: 20px; }
 body[data-page=campaign] .donations-card .donation-message { font-size: 12px; line-height: 18px; }
 body[data-page=campaign] .donation-date { gap: 4px; font-size: 10px; line-height: 18px; }
}


/* Observed PayPal hosted-choice presentation; payment actions remain app-owned. */
.continuous-journey .continuous-form button.payment-option.paypal-option { display: flex; justify-content: center; align-items: center; width: 100%; min-height: 50px; height: 50px; margin: 0 0 10px; padding: 10px 16px; border: 0; border-radius: 4px; background: #ffc439; box-shadow: none; }
.continuous-journey .continuous-form button.payment-option.paypal-option:before,
.continuous-journey .continuous-form button.payment-option.paypal-card-option:before { display: none; }
.continuous-journey .continuous-form button.payment-option.paypal-option img { display: block; width: 90px; height: 25px; max-height: 25px; margin: 0; object-fit: contain; }
.continuous-journey .continuous-form button.payment-option.paypal-card-option { display: flex; justify-content: center; align-items: center; gap: 8px; width: 100%; min-height: 50px; height: 50px; margin: 0 0 10px; padding: 10px 16px; border: 0; border-radius: 4px; background: #2c2e2f; color: white; box-shadow: none; font: 500 15px/22px 'Work Sans',sans-serif; }
.continuous-journey .continuous-form .paypal-card-icon { display: block; width: 23px; height: 23px; flex: 0 0 23px; color: white; }
.continuous-journey .continuous-form .mobile-number-row > .phone-country { position: relative; flex: 0 0 40px; width: 40px; height: 46px; min-width: 0; }
.continuous-journey .continuous-form .phone-country-icon { position: absolute; left: 1px; top: 13px; display: grid; place-items: center; width: 20px; height: 20px; color: #808080; font-size: 20px; line-height: 20px; pointer-events: none; }
.continuous-journey .continuous-form .phone-country-icon img { display: block; width: 20px; height: 20px; object-fit: contain; }
.continuous-journey .continuous-form .phone-country-arrow { position: absolute; left: 27px; top: 19px; width: 6px; height: 6px; border-right: 1px solid #808080; border-bottom: 1px solid #808080; transform: rotate(45deg); pointer-events: none; }
.continuous-journey .continuous-form .mobile-number-row .phone-country #phone-country { position: absolute; inset: 0; z-index: 1; width: 40px; height: 46px; padding: 0; margin: 0; border: 0; opacity: 0; cursor: pointer; }
.continuous-journey .continuous-form .phone-country:focus-within .phone-country-icon { outline: 2px solid #65c6e0; outline-offset: 3px; }
.continuous-journey .continuous-form .mobile-number-row .phone-field input { border-radius: 6px; margin-left: 0; }

body[data-page=campaign] .hero-card > .gallery-empty { height: 420px; border-radius: 12px; }
@media(max-width:767px) { body[data-page=campaign] .hero-card > .gallery-empty { height: auto; aspect-ratio: 39/28; border-radius: 0; } }


/* Organisation profile: measured TEARS organisation frame, source-controlled content. */
body[data-page=organisation] .page-marker { text-transform: none; }
.organisation-wrap { padding-top: 50px; padding-bottom: 0; color: #313030; }
.organisation-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: 24px; align-items: start; }
.organisation-left,.organisation-right { min-width: 0; }
.organisation-intro { display: flex; flex-direction: column; }
.organisation-title { max-width: 100%; margin: 0 0 8px; color: #313030; font: 700 44px/58px 'Montserrat',sans-serif; letter-spacing: 0; overflow-wrap: anywhere; }
.organisation-intro .campaign-title-rule { flex: 0 0 auto; width: 100%; height: 0; padding: 0; margin: 4px 0 10px; border: 0; border-top: 1px solid #313030; opacity: 1; }
.organisation-status { margin: 0 0 16px; color: #702878; font: 700 16px/24px 'Work Sans',sans-serif; }
.organisation-status strong { color: #313030; font-weight: 700; }
.organisation-stats-card { width: calc(100% - 30px); min-height: 359px; padding: 16px; border: 0; border-radius: 8px; background: #fff; box-shadow: 0 8px 16px rgba(0,0,0,.2); text-align: center; }
.organisation-raised-label { margin: 0; color: #313030; font: 400 20px/30px 'Work Sans',sans-serif; }
.organisation-raised { margin: 0 0 8px; color: #702878; font: 700 34px/46px 'Montserrat',sans-serif; letter-spacing: 0; }
.organisation-status-mobile { display: none; }
.organisation-summary-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid #ddd; }
.organisation-summary-grid > div { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 94px; padding: 10px 12px; border-bottom: 1px solid #ddd; color: #313030; font: 400 16px/24px 'Montserrat',sans-serif; }
.organisation-summary-grid > div:nth-child(even) { border-left: 1px solid #ddd; }
.organisation-summary-grid > div:nth-last-child(-n+2) { border-bottom: 0; }
.organisation-summary-grid > div > strong { display: block; color: #313030; font: 400 16px/24px 'Montserrat',sans-serif; }
.organisation-summary-grid > div:first-child > strong { font: 700 24px/30px 'Montserrat',sans-serif; }
.organisation-summary-grid > div:first-child .organisation-fact-icon { display: none; }
.organisation-fact-icon { display: grid; place-items: center; width: 24px; height: 24px; margin-bottom: 4px; color: #56c4df; }
.organisation-fact-icon svg,.organisation-fact-icon img { display: block; width: 20px; height: 22px; object-fit: contain; }
.organisation-summary-grid > div:nth-child(2) > strong { font: 600 16px/24px 'Work Sans',sans-serif; }
.organisation-summary-grid > div:nth-child(n+3) > span { color: #702878; font: 600 18px/26px 'Work Sans',sans-serif; }
.organisation-summary-grid > div:nth-child(3) > strong,.organisation-sector-chip { display: inline-block; width: fit-content; margin-top: 6px; padding: 3px 8px; border-radius: 5px; background: #702878; color: white; font: 400 12px/18px 'Work Sans',sans-serif; }
.organisation-stats-card .organisation-share { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 36px; margin: 8px 0 0; padding: 0; border: 0; background: transparent; color: #56c4df; font: 500 20px/30px 'Work Sans',sans-serif; }
.organisation-media { position: relative; display: grid; place-items: center; width: 100%; height: 480px; margin-top: 11px; overflow: hidden; background: white; border-radius: 12px; }
.organisation-media > img,.organisation-media > video,.organisation-media > iframe { display: block; width: 100%; height: 480px; border: 0; object-fit: cover; }
.organisation-media > img { border-radius: 12px; }
.organisation-media.has-video { border-radius: 0; background: #111; }
.organisation-media .video-play,.gallery-viewport .video-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); display: grid; place-items: center; width: 72px; height: 50px; padding: 0; border: 0; border-radius: 12px; background: #ff0033; color: white; font: 700 25px/30px Arial,sans-serif; }
.organisation-story { margin-top: 56px; }
.organisation-story .story-topline { display: flex; align-items: center; justify-content: flex-start; gap: 8px; margin: 0; padding: 0; border: 0; }
.organisation-story .section-tab { margin: 0; padding: 0; border: 0; color: #56c4df; letter-spacing: 0; font: 700 18px/26px 'Work Sans',sans-serif; }
.organisation-story h2 { margin: 0 0 10px; padding: 0 0 8px; border-bottom: 1px solid #313030; color: #313030; font: 700 30px/38px 'Montserrat',sans-serif; letter-spacing: 0; }
.organisation-story .organiser { margin: 10px 0 24px; }
.organisation-story .organiser-avatar { display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 46px; overflow: hidden; border-radius: 50%; background: white; }
.organisation-story .organiser-avatar img { width: 100%; height: 100%; object-fit: contain; }
.organisation-story .organiser-copy > strong { display: block; color: #702878; font: 600 16px/24px 'Work Sans',sans-serif; }
.organisation-story .organiser-badge { display: inline-block; padding: 2px 5px; border-radius: 3px; background: #702878; color: white; text-transform: uppercase; font: 600 10px/15px 'Work Sans',sans-serif; }
.organisation-story > p { margin: 16px 0; color: #313030; font: 400 16px/24px 'Work Sans',sans-serif; }
.organisation-website { display: inline-block; margin-top: 10px; color: #702878; overflow-wrap: anywhere; font: 600 14px/22px 'Work Sans',sans-serif; }
.organisation-inspired { margin-top: 270px; margin-bottom: 56px; text-align: center; }
.organisation-inspired h2 { margin: 0 0 16px; color: #313030; font: 700 34px/46px 'Montserrat',sans-serif; }
.organisation-inspired p { margin: 0 0 24px; color: #313030; font: 600 24px/30px 'Montserrat',sans-serif; }
.organisation-inspired .primary { min-width: 300px; min-height: 50px; text-decoration: none; text-transform: capitalize; font: 700 14px/22px 'Montserrat',sans-serif; }
.organisation-campaigns { margin-top: 45px; padding: 16px; border: 0; border-radius: 8px; background: white; box-shadow: 0 8px 16px rgba(0,0,0,.2); }
.organisation-campaigns > h2 { margin: 0 0 4px; padding: 0 0 16px; border-bottom: 1px solid #b7b7b7; color: #313030; text-align: center; font: 700 34px/46px 'Montserrat',sans-serif; letter-spacing: 0; }
.organisation-campaign-list { margin: 0; padding: 0; }
.organisation-campaign-card { position: relative; display: grid; grid-template-columns: 125px minmax(0,1fr); gap: 32px; align-items: center; width: 100%; min-height: 186px; padding: 16px; border: 0; border-bottom: 1px solid #d5d5d5; border-radius: 0; background: white; color: #313030; text-align: left; text-decoration: none; font: 400 14px/20px 'Work Sans',sans-serif; }
.organisation-campaign-card:hover { background: #fff; }
.organisation-campaign-card:last-child { border-bottom: 0; }
.org-campaign-thumb { display: block; width: 125px; height: 125px; border-radius: 4px; background: white; }
.org-campaign-thumb > img { display: block; width: 125px; height: 125px; border-radius: 4px; object-fit: cover; }
.org-campaign-type { position: absolute; top: 16px; right: 16px; display: grid; place-items: center; width: 20px; height: 20px; color: #56c4df; }
.org-campaign-type img,.org-campaign-type svg { display: block; width: 20px; height: 20px; object-fit: contain; fill: none; stroke: currentColor; }
.org-campaign-content { position: relative; display: flex; flex-direction: column; min-width: 0; padding-right: 0; }
.org-campaign-content > h3 { order: 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin: 0 22px 10px 0; color: #313030; font: 600 20px/24px 'Montserrat',sans-serif; letter-spacing: 0; }
.org-campaign-content > p { order: 1; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin: 0 0 10px; color: #747474; font: 400 14px/20px 'Work Sans',sans-serif; }
.org-campaign-location { order: 2; display: flex; align-items: center; gap: 3px; min-width: 0; margin: 0 0 4px; color: #56c4df; font: 600 14px/20px 'Work Sans',sans-serif; }
.org-campaign-location img,.org-campaign-location svg { display: block; width: 18px; height: 20px; flex: 0 0 18px; color: #56c4df; }
.org-campaign-progress { position: relative; order: 3; display: block; width: calc(100% - 126px); height: 15px; border: 0; border-radius: 15px; background: #e9ecef; overflow: hidden; }
.org-campaign-progress > span { display: block; height: 100%; border-radius: 15px; background: #702878; }
.org-campaign-progress > small { display: none; }
.org-campaign-amount { order: 4; display: block; width: calc(100% - 126px); margin-top: 5px; color: #702878; font: 700 12px/18px 'Montserrat',sans-serif; letter-spacing: .8px; }
.org-campaign-goal { order: 4; display: block; width: calc(100% - 126px); margin-top: 5px; color: #702878; font: 700 12px/18px 'Montserrat',sans-serif; letter-spacing: .6px; }
.org-campaign-goal:empty { display: none; }
.org-campaign-last { position: absolute; right: 0; bottom: 0; width: 112px; min-height: 46px; padding-left: 14px; border-left: 1px solid #d5d5d5; color: #747474; font: 400 12px/18px 'Work Sans',sans-serif; letter-spacing: 0; }
.org-campaign-last small,.org-campaign-last strong { display: block; color: inherit; font: inherit; }
.goal-donors .org-campaign-goal { text-transform: uppercase; }
.organisation-more { display: block; margin: 16px auto 8px; padding: 0; border: 0; background: transparent; color: #56c4df; font: 500 14px/22px 'Work Sans',sans-serif; }
.organisation-more:disabled { color: #d5d5d5; cursor: default; }
body[data-page=organisation] .mobile-donate { display: none !important; }
body[data-page=campaign] .primary:disabled { opacity: .65; box-shadow: none; transform: none; cursor: not-allowed; }
.campaign-updates { margin-top: 36px; padding: 16px; border: 0; border-radius: 8px; background: white; box-shadow: 0 8px 16px rgba(0,0,0,.2); }
.campaign-updates > h2 { margin: 0 0 16px; padding-bottom: 12px; border-bottom: 1px solid #b7b7b7; color: #313030; text-align: center; font: 700 30px/38px 'Montserrat',sans-serif; }
.campaign-update { padding: 16px 0; border-top: 1px solid #ddd; }
.campaign-update:first-of-type { border-top: 0; }
.campaign-update .update-author { display: flex; justify-content: space-between; gap: 16px; margin: 0 0 10px; color: #702878; font: 600 14px/22px 'Work Sans',sans-serif; }
.campaign-update h3 { margin: 0 0 12px; color: #313030; font: 600 20px/26px 'Montserrat',sans-serif; }
.campaign-update p { color: #313030; font: 400 14px/22px 'Work Sans',sans-serif; }
@media(max-width:1199px) and (min-width:768px) {
 .organisation-stats-card { width: 100%; }
 .organisation-campaign-card { grid-template-columns: 96px minmax(0,1fr); gap: 16px; padding: 12px; }
 .org-campaign-thumb,.org-campaign-thumb > img { width: 96px; height: 96px; }
 .org-campaign-content > h3 { font-size: 16px; line-height: 22px; }
 .org-campaign-content > p { font-size: 12px; line-height: 18px; }
 .org-campaign-progress,.org-campaign-amount,.org-campaign-goal { width: calc(100% - 90px); }
 .org-campaign-last { width: 80px; padding-left: 10px; font-size: 10px; line-height: 16px; }
 .organisation-campaigns > h2 { font-size: 28px; line-height: 38px; }
}
@media(max-width:767px) {
 .organisation-wrap { width: 100%; max-width: 100%; margin-top: -30px; padding: 0; }
 .organisation-grid { position: relative; display: grid; grid-template-columns: minmax(0,1fr); gap: 0; }
 .organisation-left,.organisation-right { display: contents; }
 .organisation-media { grid-row: 1; grid-column: 1; width: 100%; height: 500px; margin: 0; border-radius: 0; }
 .organisation-media > img,.organisation-media > video,.organisation-media > iframe { width: 100%; height: 500px; border-radius: 0; object-fit: cover; }
 .organisation-intro { grid-row: 1; grid-column: 1; align-self: end; z-index: 2; display: block; min-width: 0; margin: 0 16px 128px; }
 .organisation-title { display: inline; width: auto; margin: 0; padding: 2px 6px; background: rgba(112,40,120,.82); color: white; box-decoration-break: clone; -webkit-box-decoration-break: clone; font: 700 28px/38px 'Montserrat',sans-serif; }
 .organisation-intro .campaign-title-rule { margin: 10px 0 0; border-color: #313030; }
 .organisation-status { display: none; }
 .organisation-stats-card { grid-row: 2; grid-column: 1; position: relative; z-index: 2; width: calc(100% - 32px); min-height: 0; margin: -114px 16px 0; padding: 16px; border-radius: 8px; }
 .organisation-status-mobile { display: block; margin: 8px 0 14px; color: #702878; font: 700 14px/22px 'Work Sans',sans-serif; }
 .organisation-status-mobile strong { color: #313030; }
 .organisation-raised-label { font-size: 18px; line-height: 28px; }
 .organisation-raised { font-size: 30px; line-height: 42px; }
 .organisation-summary-grid > div { min-height: 94px; padding: 10px 8px; font-size: 14px; line-height: 22px; }
 .organisation-summary-grid > div > strong,.organisation-summary-grid > div:nth-child(2) > strong { font-size: 14px; line-height: 22px; }
 .organisation-summary-grid > div:nth-child(n+3) > span { font-size: 16px; line-height: 24px; }
 .organisation-stats-card .organisation-share { font-size: 18px; line-height: 28px; }
 .organisation-story { grid-row: 3; grid-column: 1; min-width: 0; margin: 28px 16px 0; padding: 0; }
 .organisation-story .section-tab { font-size: 14px; line-height: 22px; }
 .organisation-story h2 { font-size: 26px; line-height: 34px; }
 .organisation-story > p { font-size: 14px; line-height: 22px; }
 .organisation-campaigns { grid-row: 4; grid-column: 1; min-width: 0; margin: 40px 16px 0; padding: 16px; border-radius: 8px; }
 .organisation-campaigns > h2 { font-size: 24px; line-height: 32px; }
 .organisation-campaign-card { grid-template-columns: 82px minmax(0,1fr); gap: 16px; min-height: 186px; padding: 16px 4px; }
 .org-campaign-thumb,.org-campaign-thumb > img { width: 82px; height: 82px; }
 .org-campaign-type { top: 16px; right: 0; width: 20px; height: 20px; }
 .org-campaign-content > h3 { margin-right: 22px; margin-bottom: 8px; font-size: 15px; line-height: 20px; }
 .org-campaign-content > p { display: none; }
 .org-campaign-location { flex-wrap: wrap; margin-bottom: 6px; font-size: 12px; line-height: 18px; }
 .org-campaign-location img,.org-campaign-location svg { width: 16px; height: 18px; flex-basis: 16px; }
 .org-campaign-progress,.org-campaign-amount,.org-campaign-goal { width: calc(100% - 64px); }
 .org-campaign-progress { height: 9px; }
 .org-campaign-amount,.org-campaign-goal { margin-top: 4px; font-size: 10px; line-height: 14px; letter-spacing: .4px; }
 .org-campaign-last { width: 56px; padding-left: 10px; font-size: 10px; line-height: 15px; overflow-wrap: anywhere; }
 .organisation-inspired { grid-row: 5; grid-column: 1; min-width: 0; margin: 28px 16px 32px; }
 .organisation-inspired h2 { margin-bottom: 12px; font-size: 26px; line-height: 36px; }
 .organisation-inspired p { font-size: 18px; line-height: 26px; }
 .organisation-inspired .primary { min-width: 250px; max-width: 100%; }
}


/* Mobile campaign uses the same single heading over the media, without a gradient title duplicate. */
@media(max-width:767px) {
 body[data-page=campaign] .campaign-wrap { margin-top: -30px; padding: 0; }
 body[data-page=campaign] .campaign-grid { position: relative; display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: 316px auto auto auto auto auto auto; gap: 0; }
 body[data-page=campaign] .campaign-left,body[data-page=campaign] .campaign-right,body[data-page=campaign] .hero-group { display: contents; }
 body[data-page=campaign] #campaign-gallery { grid-row: 1 / span 3; grid-column: 1; align-self: start; z-index: 0; min-width: 0; height: 500px; }
 body[data-page=campaign] .gallery-viewport,body[data-page=campaign] .hero-card > .gallery-empty { width: 100%; height: 500px; aspect-ratio: auto; border-radius: 0; }
 body[data-page=campaign] .gallery-image,body[data-page=campaign] .gallery-video { border-radius: 0; }
 body[data-page=campaign] .campaign-intro { grid-row: 2; grid-column: 1; align-self: start; position: relative; z-index: 2; display: block; order: initial; width: auto; height: auto; min-width: 0; margin: 0 16px 10px; }
 body[data-page=campaign] .campaign-title-block { display: block; }
 body[data-page=campaign] .campaign-intro .campaign-title { display: inline; position: static; width: auto; max-width: 100%; height: auto; margin: 0; padding: 2px 6px; overflow: visible; clip: auto; white-space: normal; color: white; background: rgba(112,40,120,.82); box-decoration-break: clone; -webkit-box-decoration-break: clone; font: 700 28px/38px 'Montserrat',sans-serif; letter-spacing: 0; }
 body[data-page=campaign] .campaign-intro .campaign-title-rule,body[data-page=campaign] .campaign-intro .campaign-meta { display: none; }
 body[data-page=campaign] .mobile-hero-title,body[data-page=campaign] .mobile-video-title { display: none !important; }
 body[data-page=campaign] .stats-group { grid-row: 3; grid-column: 1; position: relative; z-index: 2; order: initial; width: calc(100% - 32px); margin: 0 16px; padding: 0; }
 body[data-page=campaign] .stats-card { width: 100%; margin: 0; padding: 16px 16px 0; border-radius: 8px 8px 0 0; }
 body[data-page=campaign] .stats-row { display: grid; }
 body[data-page=campaign] .goal-donors .stats-card .raised { display: none; }
 body[data-page=campaign] .gallery-metadata.desktop-trust { grid-row: 4; grid-column: 1; position: relative; z-index: 2; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: calc(100% - 32px); margin: 0 16px 0; padding: 16px 9px; border-top: 1px solid #ddd; border-radius: 0 0 8px 8px; background: white; box-shadow: 0 8px 16px rgba(0,0,0,.2); }
 body[data-page=campaign] .gallery-metadata .metadata-location { display: none; }
 body[data-page=campaign] .gallery-metadata > .metadata-verification { border-left: 0; }
 body[data-page=campaign] .story { grid-row: 5; grid-column: 1; order: initial; min-width: 0; margin: 28px 16px 0; padding: 0; }
 body[data-page=campaign] .donations-card { grid-row: 7; grid-column: 1; order: initial; min-width: 0; margin: 48px 16px 0; width: calc(100% - 32px); }
 body[data-page=campaign] .campaign-story-meta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; margin: 14px 0 20px; padding: 12px 0; color: #313030; text-align: center; font: 500 14px/21px 'Work Sans',sans-serif; }
 body[data-page=campaign] .campaign-story-meta > div { padding: 0 8px; }
 body[data-page=campaign] .campaign-story-meta > div + div { border-left: 1px solid #ddd; }
 body[data-page=campaign] .campaign-story-meta svg,body[data-page=campaign] .campaign-story-meta img { display: block; width: 20px; height: 22px; margin: 0 auto 4px; color: #56c4df; }
 body[data-page=campaign] .campaign-story-meta strong,body[data-page=campaign] .campaign-story-meta span { display: block; }
 body[data-page=campaign] .mobile-donate { display: none !important; }
 body[data-page=campaign] .campaign-donation-cta { padding: 28px 16px 32px; text-align: left; }
}
@media(min-width:768px) { .campaign-story-meta { display: none; } }


/* Organisation footer and source-controlled video/update surfaces. */
body[data-page=organisation] .footer-brand-band { display: block; }
body[data-page=organisation] .footer-legal { margin-top: 0; }
.gallery-stage > iframe { display: block; width: 100%; height: 100%; border: 0; }
.gallery-video-poster { display: block; width: 100%; height: 100%; object-fit: cover; }
#dialog-body iframe { display: block; width: 100%; height: auto; min-height: 0; aspect-ratio: 16/9; border: 0; }
.international-payment-prompt { margin: 16px 0; padding: 16px; border: 1px solid #dedede; border-radius: 6px; color: #313030; font: 400 14px/22px 'Work Sans',sans-serif; }
.international-payment-prompt .secondary { min-height: 40px; margin-top: 8px; font: 600 13px/20px 'Montserrat',sans-serif; }
@media(max-width:767px) {
 body[data-page=campaign] .footer-legal,body[data-page=organisation] .footer-legal { padding-bottom: 24px; }
}

/* Shared live-platform search treatment across campaign, organisation and donation. */
.site-header [data-action="search"] { color: #0000ff; }
.site-header [data-action="search"] svg { color: inherit; stroke: currentColor; }

/* Organisation desktop QA: ordinary story copy and source-purple campaign progress. */
body[data-page=organisation] .organisation-story > p,
body[data-page=organisation] .organisation-story > p:first-of-type { font-weight: 400; }
.organisation-campaign-card .org-campaign-progress { background: #e9ecef; }
.organisation-campaign-card .org-campaign-progress > span { height: 100%; background: #702878; opacity: 1; }
@media(min-width:768px) { .organisation-campaign-card .org-campaign-progress { height: 13px; } }

/* Source profile location hierarchy and catalogue footer hooks. */
.organisation-location-primary { display: block; color: #313030; font: 600 16px/24px 'Work Sans',sans-serif; }
.organisation-location-country { display: block; color: #313030; font: 400 16px/24px 'Work Sans',sans-serif; }
.org-campaign-city { color: #56c4df; font-weight: 600; }
.org-campaign-country { color: #313030; font-weight: 400; }
.org-campaign-last-label,.org-campaign-last-value { display: block; }
.organisation-view-more { display: block; margin: 16px auto 8px; padding: 0; border: 0; background: transparent; color: #56c4df; font: 500 14px/22px 'Work Sans',sans-serif; }
.organisation-view-more:disabled { color: #d5d5d5; cursor: default; }
@media(max-width:767px) {
 .organisation-location-primary,.organisation-location-country { font-size: 14px; line-height: 22px; }
}

/* Organisation metadata is a plain source-style text link. */
.gallery-metadata .metadata-profile-link { display: inline; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: inherit; font: inherit; line-height: inherit; text-align: inherit; cursor: pointer; }

/* Donor-count campaigns retain the source mobile title/funding overlap and goal count. */
.mobile-donor-count { display: none; }
@media(max-width:767px) {
 body[data-page=campaign] .goal-donors .mobile-donor-count { display: inline; }
}

/* Mobile source title is one solid panel; contain action spacing inside the funding card. */
@media(max-width:767px) {
 body[data-page=campaign] .campaign-title-block { padding: 5px 6px 13px; border-radius: 4px; background: rgba(112,40,120,.82); }
 body[data-page=campaign] .campaign-intro .campaign-title { display: block; padding: 0; background: transparent; box-decoration-break: slice; -webkit-box-decoration-break: slice; line-height: 36px; }
 body[data-page=campaign] .stats-card { display: flow-root; }
}

/* Source mobile funding follows the variable-height title panel over a fixed-height hero. */
@media(max-width:767px) {
 body[data-page=campaign] .stats-card .raised { font: 700 18px/40px 'Montserrat',sans-serif; text-align: left; }
 body[data-page=campaign] .campaign-updates { grid-row: 6; grid-column: 1; min-width: 0; margin: 36px 16px 0; }
 body[data-page=campaign] .gallery-video-poster { background: #000; }
 body[data-page=campaign] .gallery-video-poster > img { display: block; width: 100%; height: 100%; object-fit: contain; }
 body[data-page=campaign] .gallery-video { object-fit: contain; background: #000; }
}

/* Client fork: one wrapping sector badge per source entry. */
.organisation-sector-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 6px; }

/* Compact Boost components from the supplied reference. */
body[data-page=campaign] .boost-strip { display:grid; grid-template-columns:110px minmax(0,1fr) 20px; align-items:center; gap:12px; margin-top:16px; padding:10px 12px; border:1px solid #e8dfee; border-left:3px solid #702878; border-radius:8px; background:#fbf8fc; }
body[data-page=campaign] .boost-strip .sponsor-mark { display:flex; align-items:center; justify-content:center; min-width:0; width:110px; min-height:40px; padding:0; background:transparent; border:0; }
body[data-page=campaign] .boost-strip .sponsor-mark img { display:block; width:110px; max-height:42px; object-fit:contain; object-position:center; }
body[data-page=campaign] .boost-strip-copy { min-width:0; }
body[data-page=campaign] .boost-strip small { display:block; margin:0 0 4px; color:#702878; font:700 9px/12px 'Work Sans',sans-serif; letter-spacing:1.4px; }
body[data-page=campaign] .boost-strip p { margin:0; color:#313030; font:400 11px/17px 'Work Sans',sans-serif; }
body[data-page=campaign] .boost-strip > button { width:18px; height:18px; padding:0; border:1px solid #b488bb; border-radius:50%; background:transparent; color:#a479ab; font:500 11px/16px 'Work Sans',sans-serif; }
body[data-page=campaign] .donations-card { width:100%; margin:0; padding:17px 16px 11px; border:1px solid #dfe2e9; border-radius:8px; background:white; box-shadow:0 2px 6px rgba(0,0,0,.045); }
body[data-page=campaign] .donations-card .card-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 12px; padding:0; border:0; }
body[data-page=campaign] .donations-card .card-heading h2 { width:auto; flex:0 0 auto; margin:0; padding:0; border:0; color:#313030; text-align:left; font:700 18px/24px 'Work Sans',sans-serif; letter-spacing:0; }
body[data-page=campaign] .donations-card .filter-row { display:flex; align-items:center; justify-content:flex-end; gap:7px; margin:0; padding:0; color:#6e7587; font:400 9.5px/18px 'Work Sans',sans-serif; }
body[data-page=campaign] .donations-card .segmented { gap:5px; }
body[data-page=campaign] .donations-card .segmented button { min-width:42px; height:23px; min-height:23px; padding:2px 10px; border:1px solid #d1d8e5; border-radius:30px; background:#fafbfe; color:#263449; font:700 9px/15px 'Work Sans',sans-serif; letter-spacing:.3px; }
body[data-page=campaign] .donations-card .segmented button[aria-pressed=true] { color:white; background:#203149; border-color:#203149; }
body[data-page=campaign] .donations-card .donation-item { padding:10px 0; border:0; }
body[data-page=campaign] .donations-card .donation-item + .donation-item { border-top:1px solid #e5e7ee; }
body[data-page=campaign] .donation-public-row, body[data-page=campaign] .donation-boost-row { display:grid; grid-template-columns:66px minmax(0,1fr) 94px; column-gap:12px; align-items:start; }
body[data-page=campaign] .donations-card .donation-amount { color:#29313e; font:700 13px/18px 'Work Sans',sans-serif; }
body[data-page=campaign] .donations-card .donation-name { color:#3d4654; font:500 13px/18px 'Work Sans',sans-serif; }
body[data-page=campaign] .donations-card .donation-message { margin:2px 0 0; color:#7a8091; font:400 italic 12.5px/18px 'Work Sans',sans-serif; }
body[data-page=campaign] .donation-date { display:flex; align-items:center; justify-content:flex-end; gap:6px; color:#8a91a1; font:400 9px/16px 'Work Sans',sans-serif; white-space:nowrap; }
body[data-page=campaign] .donation-date .donation-heart, body[data-page=campaign] .donation-date time { margin:0; }
body[data-page=campaign] .donation-gift-heart { width:14px; height:14px; }
body[data-page=campaign] .donation-recurring-icon { width:12px; height:12px; flex-basis:12px; }
body[data-page=campaign] .donation-boost-row { margin-top:4px; }
body[data-page=campaign] .donations-card .donation-boost-amount { color:#702878; font:700 12px/18px 'Work Sans',sans-serif; }
body[data-page=campaign] .donation-boost-text { grid-column:2 / 4; color:#702878; font:500 12px/18px 'Work Sans',sans-serif; }
body[data-page=campaign] .feed-more { display:block; width:100%; margin:4px 0 0; padding:13px 0 4px; border:0; border-top:1px solid #e5e7ee; color:#42bcd7; background:transparent; font:700 13px/20px 'Work Sans',sans-serif; }
.continuous-journey .donation-boost-notice { gap:15px; padding:16px; border:1px solid #e8def0; border-radius:10px; background:#f8f4fa; }
.continuous-journey .donation-boost-logo { flex:0 0 84px; width:84px; min-height:38px; }
.continuous-journey .donation-boost-logo img { width:84px; max-height:38px; object-fit:contain; }
.continuous-journey .donation-boost-notice h2 { color:#702878; font:700 16px/23px 'Work Sans',sans-serif; letter-spacing:-.15px; }
.continuous-journey .donation-boost-notice p { color:#756b7a; font:400 13px/21px 'Work Sans',sans-serif; }
.continuous-journey .donation-boost-notice .boost-pool-note { margin-top:8px; font-size:11px; line-height:17px; }
.boost-dialog-logo img { width:180px; max-height:65px; object-fit:contain; }
.boost-pool-details { margin:16px 0; }
.boost-pool-details > div { display:flex; justify-content:space-between; gap:15px; padding:7px 0; border-bottom:1px solid #ece5ef; }
.boost-pool-details dd { margin:0; font-weight:700; white-space:nowrap; }
.preview-input-note { margin:0 0 16px; color:#756b7a; font:400 12px/18px 'Work Sans',sans-serif; }
.payment-preview-mark img { display:block; max-width:110px; height:30px; object-fit:contain; }
.payment-preview-method { margin:15px 0 8px; color:#702878; font:700 20px/26px 'Montserrat',sans-serif; }
.payment-preview-summary { margin:16px 0 20px; padding:12px; border:1px solid #e8def0; border-radius:8px; }
.payment-preview-summary .summary-line { font-size:12px; line-height:19px; }
.pool-remaining { color:#756b7a; font-size:11px; }
@media(max-width:767px) {
 body[data-page=campaign] .boost-strip { grid-template-columns:84px minmax(0,1fr) 18px; gap:9px; padding:10px; }
 body[data-page=campaign] .boost-strip .sponsor-mark, body[data-page=campaign] .boost-strip .sponsor-mark img { width:84px; }
 body[data-page=campaign] .boost-strip small { font-size:8px; line-height:11px; letter-spacing:1px; }
 body[data-page=campaign] .boost-strip p { font-size:10px; line-height:15px; }
 body[data-page=campaign] .donations-card { width:calc(100% - 32px); margin:48px 16px 0; padding:15px 13px 10px; }
 body[data-page=campaign] .donations-card .card-heading h2 { font-size:17px; line-height:23px; }
 body[data-page=campaign] .donation-public-row, body[data-page=campaign] .donation-boost-row { grid-template-columns:52px minmax(0,1fr) 78px; column-gap:6px; }
 body[data-page=campaign] .donations-card .donation-amount, body[data-page=campaign] .donations-card .donation-name { font-size:12px; line-height:18px; }
 body[data-page=campaign] .donations-card .donation-message { font-size:11.5px; line-height:17px; }
 body[data-page=campaign] .donation-date { gap:4px; font-size:8px; }
 body[data-page=campaign] .donation-gift-heart { width:12px; height:12px; }
 body[data-page=campaign] .donation-recurring-icon { width:11px; height:11px; flex-basis:11px; }
 .continuous-journey .donation-boost-notice { gap:11px; padding:13px; }
 .continuous-journey .donation-boost-logo { flex-basis:72px; width:72px; }
 .continuous-journey .donation-boost-logo img { width:72px; }
 .continuous-journey .donation-boost-notice h2 { font-size:14px; line-height:20px; }
 .continuous-journey .donation-boost-notice p { font-size:12px; line-height:19px; }
}

/* Client notice: match the supplied reference weight. */
.continuous-journey .international-notice p { font-weight:500; }

/* Mobile Boost campaigns keep the funding and trust sections joined before the ribbon. */
@media(max-width:767px) {
 body[data-page=campaign] .campaign-wrap.has-boost .stats-group { display:contents; }
 body[data-page=campaign] .campaign-wrap.has-boost .stats-card { grid-row:3; grid-column:1; position:relative; z-index:2; width:calc(100% - 32px); margin:0 16px; }
 body[data-page=campaign] .campaign-wrap.has-boost .gallery-metadata.desktop-trust { grid-row:4; grid-column:1; }
 body[data-page=campaign] .campaign-wrap.has-boost .boost-strip { grid-row:5; grid-column:1; position:relative; z-index:2; width:calc(100% - 32px); margin:16px 16px 0; }
 body[data-page=campaign] .campaign-wrap.has-boost .story { grid-row:6; grid-column:1; }
 body[data-page=campaign] .campaign-wrap.has-boost .campaign-updates { grid-row:7; grid-column:1; }
 body[data-page=campaign] .campaign-wrap.has-boost .donations-card { grid-row:8; grid-column:1; }
}

/* Keep each Rand figure together without changing prose wrapping or formatting. */
.money-nowrap, .donation-boost-notice strong, .boost-strip strong { white-space:nowrap; }

/* Funding figures match the supplied compact, plain three-column reference. */
body[data-page=campaign] .campaign-wrap.has-boost .stats-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:2px; padding:12px 0 10px; border-top:0; background:transparent; }
body[data-page=campaign] .campaign-wrap.has-boost .stats-row > div { min-width:0; padding:2px 12px; border-radius:0; background:transparent; text-align:center; }
body[data-page=campaign] .campaign-wrap.has-boost .stats-row > div:first-child { padding-left:12px; text-align:center; }
body[data-page=campaign] .campaign-wrap.has-boost .stats-row > div + div { border-left:1px solid #e0e3eb; }
body[data-page=campaign] .campaign-wrap.has-boost .stats-row strong { display:block; color:#252935; font:700 14px/20px 'Work Sans',sans-serif; white-space:nowrap; }
body[data-page=campaign] .campaign-wrap.has-boost .stats-row > div:first-child strong { color:#702878; }
body[data-page=campaign] .campaign-wrap.has-boost .stats-row span { display:block; margin-top:4px; color:#6d7687; font:400 10px/15px 'Work Sans',sans-serif; }
@media(max-width:767px) {
 body[data-page=campaign] .campaign-wrap.has-boost .stats-row > div { padding-left:8px; padding-right:8px; }
 body[data-page=campaign] .campaign-wrap.has-boost .stats-row > div:first-child { padding-left:8px; text-align:center; }
}

/* The organisation organiser row contains its configured full wordmark without cropping. */
.organisation-story .organisation-organiser-mark { flex:0 0 128px; width:128px; height:46px; padding:0; border-radius:0; background:transparent; box-shadow:none; overflow:visible; }
.organisation-story .organisation-organiser-mark img { display:block; width:100%; height:100%; max-height:none; object-fit:contain; object-position:center; }
@media(max-width:767px) { .organisation-story .organisation-organiser-mark { flex-basis:100px; width:100px; height:40px; } }

/* Desktop/tablet campaign sections share a real row instead of independent column offsets. */
@media(min-width:768px) {
 body[data-page=campaign] .campaign-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto auto auto auto; column-gap:24px; row-gap:0; align-items:start; }
 body[data-page=campaign] .campaign-left,body[data-page=campaign] .campaign-right { display:contents; }
 body[data-page=campaign] .campaign-intro { grid-column:1; grid-row:1; min-width:0; align-self:start; }
 body[data-page=campaign] .stats-group { grid-column:1; grid-row:2; min-width:0; align-self:start; }
 body[data-page=campaign] .hero-group { display:block; grid-column:2; grid-row:1 / span 2; min-width:0; align-self:start; }
 body[data-page=campaign] .campaign-meta { margin-bottom:0; }
 body[data-page=campaign] .stats-group > .boost-strip { margin-bottom:0; }
 body[data-page=campaign] .hero-group > .gallery-metadata { margin-bottom:0; }
 body[data-page=campaign] .story { grid-column:1; grid-row:3; min-width:0; align-self:start; margin:24px 0 0; padding:0; }
 body[data-page=campaign] .donations-card { grid-column:2; grid-row:3; min-width:0; align-self:start; margin-top:24px; margin-bottom:0; }
 body[data-page=campaign] .campaign-updates { grid-column:1; grid-row:4; min-width:0; }
}

/* Registration metadata uses a neutral document mark, without platform-verification styling. */
.gallery-metadata .metadata-registration { color:#56bdd8; border:0; border-radius:0; background:transparent; }
.gallery-metadata .metadata-registration svg { display:block; width:29px; height:36px; }

/* Initial desktop feed follows the last visible story line; expansion returns to natural flow. */
@media(min-width:768px) {
 body[data-page=campaign] .campaign-grid.initial-story-feed-align {
  --story-paragraph-gap:19px;
  --story-toggle-line:20px;
  --feed-footer-bottom:4px;
  --feed-card-bottom:11px;
  --feed-card-border:1px;
  --feed-story-end-inset:calc(var(--story-toggle-line) + var(--story-paragraph-gap) - var(--feed-footer-bottom) - var(--feed-card-bottom) - var(--feed-card-border));
 }
 body[data-page=campaign] .initial-story-feed-align .story { display:flex; flex-direction:column; align-self:stretch; min-height:0; }
 body[data-page=campaign] .initial-story-feed-align .story-visible-tail { margin-top:auto; margin-bottom:var(--story-paragraph-gap); }
 body[data-page=campaign] .initial-story-feed-align .story > .read-more { flex:0 0 auto; align-self:flex-start; min-height:0; margin:0; padding:0; line-height:var(--story-toggle-line); }
 body[data-page=campaign] .initial-story-feed-align .donations-card { display:flex; flex-direction:column; align-self:stretch; height:auto; min-height:0; margin-bottom:var(--feed-story-end-inset); padding-bottom:var(--feed-card-bottom); border-bottom-width:var(--feed-card-border); }
 body[data-page=campaign] .initial-story-feed-align .donations-card > .card-heading { flex:0 0 auto; }
 body[data-page=campaign] .initial-story-feed-align #donation-feed { display:flex; flex-direction:column; flex:1 1 auto; min-height:0; }
 body[data-page=campaign] .initial-story-feed-align #donation-feed > .donation-item { display:flex; flex-direction:column; justify-content:center; flex:1 0 auto; }
 body[data-page=campaign] .initial-story-feed-align #donation-feed > .feed-more { flex:0 0 auto; margin-top:0; padding-bottom:var(--feed-footer-bottom); }
}
