.campaign-page{display:grid;gap:22px;color:#293d36}.campaign-hero,.campaign-teaser{padding:28px;border:1px solid #dfdccb;border-radius:16px;background:linear-gradient(115deg,#fff4de,#f8f9f2 55%,#eef5ee)}.campaign-hero h1{font-size:clamp(1.6rem,3vw,2.3rem);margin:10px 0;color:#385445}.campaign-tagline{font-size:1.2rem;color:#855027;font-weight:650}.campaign-links{position:static!important;display:flex;flex-wrap:wrap;gap:8px;padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important;margin:0!important}.campaign-links a{display:inline-flex;align-items:center;min-height:44px;padding:7px 12px;border:1px solid #cbd9cd;border-radius:8px;color:#355642;background:#fff;font-size:.88rem}.campaign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.campaign-card{min-width:0;padding:22px;background:#f4f8f0;border:1px solid #d7e1ce;border-top:3px solid #6e8c60;border-radius:12px}.campaign-card:nth-child(3n+2){background:#fff7e9;border-color:#eadbc1;border-top-color:#c18b42}.campaign-card:nth-child(3n){background:#f7f0f7;border-color:#e2d5e2;border-top-color:#997898}.campaign-card h2,.campaign-card h3{font-size:1.15rem;line-height:1.7}.campaign-card p{color:#4c6159;font-size:.95rem;line-height:1.85}.campaign-card a:not(.button){color:#375c45;font-weight:650}.campaign-status{display:inline-block;padding:4px 10px;border:1px solid #dfd3ba;border-radius:20px;background:#fff9eb;color:#795020;font-size:.82rem}.campaign-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.campaign-form label{display:block}.campaign-form input:not([type=checkbox]),.campaign-form select,.campaign-form textarea{width:100%;box-sizing:border-box;margin-top:6px}.campaign-checks{display:grid;gap:10px}.campaign-page .check{display:flex;align-items:flex-start;gap:9px;line-height:1.8;margin:12px 0}.campaign-page .check input{margin-top:6px}.campaign-page fieldset{border:1px solid #cbd9cd;padding:18px;border-radius:9px;margin:20px 0}.campaign-page details{margin:12px 0}.campaign-page summary{font-weight:650;line-height:1.8;cursor:pointer}.campaign-page .panel{padding:24px}.campaign-page .campaign-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.campaign-reference{font-family:monospace;font-size:1.1rem;overflow-wrap:anywhere;background:#f4f7f1;padding:15px}.campaign-counts{display:flex;gap:12px;flex-wrap:wrap}.campaign-counts span{padding:8px 12px;background:#f2f6ef;border-radius:7px}.campaign-facts{display:block}.campaign-facts>div{padding:10px 0;border-bottom:1px solid #e1e7dd}.campaign-facts dt{font-size:.85rem;color:#5a6d5e}.campaign-facts dd{margin:5px 0;overflow-wrap:anywhere}.campaign-privacy p{line-height:1.9}.campaign-page form>button{margin-top:18px}
@media(max-width:700px){.campaign-grid,.campaign-form-grid{grid-template-columns:minmax(0,1fr)}.campaign-hero,.campaign-teaser,.campaign-page .panel{padding:20px 17px}.campaign-page{gap:17px}.campaign-card{padding:18px}.campaign-links a{font-size:.86rem}.campaign-form-grid>*{min-width:0}.campaign-page input,.campaign-page select,.campaign-page textarea{font-size:16px}.campaign-teaser .portal-actions{align-items:stretch}.campaign-teaser .portal-actions>a{max-width:100%;box-sizing:border-box}}
/* Scheme illustrations and direct scheme/volunteer journeys. */
.campaign-art{display:block;width:100%;height:auto;aspect-ratio:12/7;object-fit:contain;border-radius:10px;margin:0 0 18px}.campaign-card{display:flex;flex-direction:column;align-items:flex-start}.campaign-card .campaign-art{max-height:200px}.campaign-card-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:auto;padding-top:14px}.campaign-page .campaign-card .button,.campaign-teaser .campaign-card .button{font-size:.88rem;padding:9px 13px;box-sizing:border-box}.campaign-card>.button{margin-top:auto}.campaign-illustrated-hero{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:26px;align-items:center}.campaign-illustrated-hero>div{grid-column:1;grid-row:1;min-width:0}.campaign-hero-art{display:block;grid-column:2;grid-row:1;width:100%;height:auto;border-radius:14px}.campaign-form-intro{display:flex;align-items:center;gap:24px;background:#f7f7ed;padding:20px;border:1px solid #dce4d4;border-radius:12px}.campaign-intro-art{display:block;width:210px;max-width:100%;height:auto;flex:none;border-radius:12px}.campaign-form-intro>div{min-width:0}.campaign-form-intro h2{font-size:1.2rem;margin-top:0}.campaign-form-intro p{font-size:.94rem;line-height:1.8}
@media(max-width:700px){.campaign-illustrated-hero{grid-template-columns:minmax(0,1fr);gap:18px}.campaign-illustrated-hero>div{grid-row:1;grid-column:1}.campaign-hero-art{grid-row:2;grid-column:1;max-width:320px;margin:auto}.campaign-form-intro{flex-direction:column;align-items:flex-start;padding:17px;gap:16px}.campaign-intro-art{width:100%;max-width:280px;margin:auto}.campaign-card-actions{width:100%;gap:8px}.campaign-card-actions .button{max-width:100%;white-space:normal}.campaign-card .campaign-art{max-height:180px}}
.campaign-program-guidance .campaign-card{background:#fff}.campaign-program-guidance h2{margin:0 0 12px;color:#385445}.campaign-program-guidance ul{padding-left:22px;margin:0}.campaign-program-guidance li{padding-left:3px;margin:0 0 12px;color:#4c6159;line-height:1.9}.campaign-program-guidance li:last-child{margin-bottom:0}
/* Clear scheme actions across tinted cards and small screens. */
body.site-page .campaign-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-self:stretch;width:100%;margin-top:auto;padding-top:18px}
body.site-page :is(.campaign-page,.campaign-teaser) .campaign-card-actions>a.button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;padding:12px 16px;border:2px solid #20554c;border-radius:9px;background:#20554c;color:#fff;font-size:1rem;font-weight:700;line-height:1.65;text-align:center;text-decoration:none;white-space:normal;overflow-wrap:break-word;box-shadow:none}
body.site-page :is(.campaign-page,.campaign-teaser) .campaign-card-actions>a.button.quiet{background:#fff;color:#20554c;border-color:#548176}
body.site-page :is(.campaign-page,.campaign-teaser) .campaign-card-actions>a.button:hover{background:#153e37;border-color:#153e37;color:#fff}
body.site-page :is(.campaign-page,.campaign-teaser) .campaign-card-actions>a.button.quiet:hover{background:#e7f1ed;border-color:#20554c;color:#173f36}
body.site-page .campaign-join-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 20px;margin:0}
body.site-page .campaign-join-notice>a.campaign-join-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;box-sizing:border-box;padding:11px 20px;background:#20554c;border:2px solid #20554c;color:#fff;font-size:1rem;font-weight:700;line-height:1.65;text-decoration:none;white-space:normal;text-align:center}
body.site-page .campaign-join-notice>a.campaign-join-button:hover{background:#153e37;border-color:#153e37;color:#fff}
body.site-page .campaign-card-actions>a:focus-visible,body.site-page .campaign-join-button:focus-visible{outline:3px solid #9a5918;outline-offset:4px}
.campaign-form-heading h1{margin:0 0 8px;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.6;overflow-wrap:break-word}.campaign-form-heading>p{margin:0;color:#526b5d;font-size:1rem;font-weight:600}
@media(max-width:700px){body.site-page .campaign-join-notice{align-items:stretch;padding:16px;gap:12px}body.site-page .campaign-join-notice>a.campaign-join-button{width:100%}body.site-page :is(.campaign-page,.campaign-teaser) .campaign-card-actions>a.button{font-size:1rem;min-height:48px;padding:11px 12px}}
.campaign-explanation p{line-height:1.95;color:#425b4e}.campaign-benefits{background:#f0f6ec!important;border-color:#cdddc2!important;border-left:4px solid #628458!important}.campaign-benefits h2,.campaign-explanation h2{font-size:clamp(1.25rem,2.3vw,1.55rem);line-height:1.65;margin-top:0}.campaign-benefits ul{margin:14px 0 0;padding-left:23px}.campaign-benefits li{padding-left:4px;margin-bottom:13px;line-height:1.95;color:#365443}.campaign-benefits li:last-child{margin-bottom:0}

/* Keep scheme details and student registration together on every card. */
body.site-page :is(.campaign-page,.campaign-teaser) .campaign-card-actions>a.button{min-width:0;min-height:48px;padding:10px 8px;font-size:.94rem;line-height:1.5}
@media(max-width:700px){body.site-page .campaign-card-actions{gap:8px}body.site-page :is(.campaign-page,.campaign-teaser) .campaign-card-actions>a.button{font-size:.88rem;padding:10px 6px}}.campaign-registration-status{display:inline-block;margin-top:9px;padding:4px 9px;border:1px solid #a9cdb4;border-radius:6px;background:#e7f4e9;color:#245b36;font-size:.85rem;font-weight:650;line-height:1.6}

/* Primary buttons keep an explicit foreground, separate from ordinary article links. */
body.site-page .campaign-card>a.button{background:#20554c;border:2px solid #20554c;color:#fff;min-height:48px;padding:10px 16px;text-decoration:none;line-height:1.6}
body.site-page .campaign-card>a.button:hover,body.site-page .campaign-card>a.button:focus-visible{background:#153e37;border-color:#153e37;color:#fff}
body.site-page .campaign-card>a.button.quiet{background:#fff;color:#20554c;border-color:#548176}
body.site-page .campaign-card>a.button.quiet:hover,body.site-page .campaign-card>a.button.quiet:focus-visible{background:#e7f1ed;color:#173f36;border-color:#20554c}/* Program status and registration availability share one compact line. */
body.site-page .campaign-card .campaign-status-row{display:flex;align-items:center;gap:7px;flex-wrap:nowrap;max-width:100%;margin:0 0 4px}
body.site-page .campaign-status-row :is(.campaign-status,.campaign-registration-status){margin:0;padding:4px 6px;font-size:.76rem;line-height:1.6;white-space:nowrap;flex:none}
@media(max-width:360px){body.site-page .campaign-status-row{gap:5px}body.site-page .campaign-status-row :is(.campaign-status,.campaign-registration-status){font-size:.72rem;padding:4px 5px}}
/* Volunteer registration: a focused form with a short supporting sidebar. */
.volunteer-workspace{display:grid;gap:20px}.volunteer-hero{display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:28px;padding:28px;border:1px solid #cedfd4;border-radius:16px;background:linear-gradient(115deg,#eef7ef,#fff8e9)}.volunteer-hero h1{font-size:clamp(1.6rem,3vw,2.25rem);margin:7px 0 12px;line-height:1.6}.volunteer-hero p:not(.portal-eyebrow){color:#425f50;line-height:1.9;margin:0 0 14px}.volunteer-hero-art{display:block;width:100%;height:auto;border-radius:13px}.volunteer-availability{display:inline-block;background:#e2f1e5;border:1px solid #b0d0b9;border-radius:20px;color:#285b3c;padding:4px 11px;font-size:.85rem;font-weight:650}.volunteer-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:start}.volunteer-workspace .volunteer-form-card{padding:25px}.volunteer-form-title{padding-bottom:17px;border-bottom:1px solid #dce5dd}.volunteer-form-title h2{margin:0 0 7px;font-size:1.35rem}.volunteer-form-title p{margin:0;color:#4c6371;font-size:.9rem}.volunteer-form-card form{margin:0}.volunteer-workspace fieldset.volunteer-fieldset{margin:24px 0 0;padding:0;border:0;min-width:0}.volunteer-fieldset legend{padding:0;margin-bottom:15px;font-size:1.05rem;color:#274e43;font-weight:700;line-height:1.7}.volunteer-fieldset legend>span{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:7px;border-radius:8px;background:#e9f1e7;color:#335c43;font-size:.8rem}.volunteer-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}.volunteer-fields>label,.volunteer-details{display:block;min-width:0;color:#344e60;font-weight:650;font-size:.94rem}.volunteer-fields :is(input,select),.volunteer-details textarea{display:block;width:100%;box-sizing:border-box;margin-top:7px}.volunteer-workspace .volunteer-hint{color:#4b6372;font-size:.85rem;line-height:1.85;margin:10px 0 14px}.volunteer-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.volunteer-options .volunteer-option{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid #cbdcd1;border-radius:10px;background:#fff;cursor:pointer;min-width:0}.volunteer-option>input{flex:none;margin-top:5px;accent-color:#20554c}.volunteer-option strong{display:block;font-size:.92rem;color:#284d43;line-height:1.7}.volunteer-option small{display:block;margin-top:4px;font-size:.8rem;line-height:1.75;color:#506878}.volunteer-option:has(input:checked){border-color:#3a7966;background:#edf6ef;box-shadow:inset 0 0 0 1px #3a7966}.volunteer-option:focus-within{outline:3px solid #85501b;outline-offset:2px}.volunteer-skills{margin:19px 0}.volunteer-details textarea{font-weight:400;line-height:1.8;min-height:130px}.volunteer-workspace .volunteer-consents{padding-top:18px!important;border-top:1px solid #dce5dd!important}.volunteer-consents .check{font-size:.86rem;line-height:1.9;margin:13px 0;color:#40596a}.volunteer-submit{margin-top:20px;padding-top:20px;border-top:1px solid #dce5dd}.volunteer-submit>button{width:100%;margin:0;min-height:50px;background:#20554c;color:#fff;border-color:#20554c;font-size:1rem}.volunteer-submit>button:hover{background:#153e37;color:#fff}.volunteer-submit>p{font-size:.82rem;color:#4b6372;line-height:1.85;text-align:center;margin:10px 0 0}.volunteer-sidebar{display:grid;gap:17px}.volunteer-sidebar .panel{padding:21px}.volunteer-sidebar h2{font-size:1.15rem;line-height:1.7;margin:5px 0 16px}.volunteer-process ol{margin:0;padding-left:22px;color:#305842}.volunteer-process li{padding-left:5px;margin:0 0 18px}.volunteer-process li:last-child{margin-bottom:0}.volunteer-process strong{font-size:.94rem}.volunteer-sidebar p{font-size:.88rem;line-height:1.9;color:#496171;margin:7px 0}.volunteer-sidebar .volunteer-reassurance{background:#fff7e9;border-color:#e6d5b7}.volunteer-reassurance a{color:#6c481f;font-size:.88rem;font-weight:650;line-height:1.8}
@media(max-width:1000px){.volunteer-layout{grid-template-columns:minmax(0,1fr)}.volunteer-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.volunteer-hero{grid-template-columns:minmax(0,1fr) 200px}}
@media(max-width:650px){.volunteer-hero{grid-template-columns:minmax(0,1fr);padding:21px 18px;gap:15px}.volunteer-hero-art{width:190px;justify-self:center}.volunteer-fields,.volunteer-options,.volunteer-sidebar{grid-template-columns:minmax(0,1fr)}.volunteer-workspace .volunteer-form-card{padding:20px 17px}.volunteer-fieldset legend{font-size:1rem}.volunteer-option strong{font-size:.95rem}.volunteer-fields :is(input,select),.volunteer-details textarea{font-size:16px}.volunteer-consents .check{font-size:.88rem}.volunteer-hero h1{font-size:1.65rem}}
/* Scheme navigation: three purposeful colours, arranged as a single action group. */
body.site-page main .campaign-links{align-items:stretch;justify-content:flex-start;gap:10px}
body.site-page main .campaign-links>a.campaign-nav-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin:0;padding:11px 18px;border:1px solid;border-radius:10px;font-size:.94rem;font-weight:700;line-height:1.65;text-align:center;text-decoration:none;white-space:normal;box-sizing:border-box;box-shadow:none;max-width:100%}
body.site-page main .campaign-links>a.campaign-nav-all{background:#fff0d2;color:#70451b;border-color:#d8b36a}
body.site-page main .campaign-links>a.campaign-nav-all:hover{background:#f9dfac;color:#5b3513;border-color:#b27a32}
body.site-page main .campaign-links>a.campaign-nav-info{background:#f0e8f7;color:#583d7a;border-color:#bca3d0}
body.site-page main .campaign-links>a.campaign-nav-info:hover{background:#e3d7ef;color:#493160;border-color:#9472b3}
body.site-page main .campaign-links>a.campaign-nav-apply{background:#20554c;color:#fff;border-color:#20554c}
body.site-page main .campaign-links>a.campaign-nav-apply:hover{background:#153e37;color:#fff;border-color:#153e37}
body.site-page main .campaign-links[data-context=studentprogram]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
@media(max-width:700px){body.site-page main .campaign-links[data-context=studentprogram]{grid-template-columns:minmax(0,1fr)}body.site-page main .campaign-links>a.campaign-nav-button{padding:11px 14px}}

/* Campaign spacing and aligned student journeys. */
body.site-page main .campaign-page{gap:18px}
body.site-page main :is(.campaign-hero,.campaign-teaser){padding:24px}
body.site-page main .campaign-page>.panel{padding:20px;margin:0}
body.site-page main .campaign-hero>:first-child{margin-top:0}
body.site-page main .campaign-hero>:last-child{margin-bottom:0}
body.site-page main .campaign-hero h1{margin:8px 0;line-height:1.5}
body.site-page main .campaign-tagline{margin:8px 0 12px}
body.site-page main .campaign-grid{gap:16px;margin-top:14px}
body.site-page main .campaign-card{padding:18px}
body.site-page main .campaign-card .campaign-art{height:152px;max-height:152px;margin-bottom:12px;object-fit:contain}
body.site-page main .campaign-card :is(h2,h3){margin:8px 0 10px}
body.site-page main .campaign-card>p{margin:0 0 12px}
body.site-page main .campaign-card-actions{gap:8px;padding-top:12px}
body.site-page main .campaign-links>a.campaign-nav-button{min-height:46px;padding:10px 14px}
body.site-page.page-students main .campaign-hero .portal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px;gap:10px}
body.site-page.page-students main .campaign-hero .portal-actions>.button{min-width:0;padding:10px 14px;line-height:1.65}
body.site-page main .campaign-links[data-context=students]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
body.site-page.page-students main #programs>:is(h2,p){margin:0 0 10px}
body.site-page main .campaign-page .panel>h2:first-child{margin-top:0;margin-bottom:12px}
body.site-page main .campaign-page details{margin:10px 0}
body.site-page main .campaign-join-notice{padding:14px 18px;gap:12px}
body.site-page main .volunteer-hero{padding:24px;gap:22px}
body.site-page main .volunteer-workspace .volunteer-form-card{padding:20px}
body.site-page main .volunteer-layout{gap:18px}
@media(max-width:700px){
 body.site-page main .campaign-page{gap:14px}
 body.site-page main :is(.campaign-hero,.campaign-teaser,.volunteer-hero){padding:20px 17px}
 body.site-page main .campaign-page>.panel,body.site-page main .volunteer-workspace .volunteer-form-card{padding:17px}
 body.site-page main .campaign-card{padding:16px}
 body.site-page main .campaign-card .campaign-art{height:138px;max-height:138px}
 body.site-page main .campaign-links[data-context=students]{gap:7px}
 body.site-page main .campaign-links[data-context=students]>a.campaign-nav-button{font-size:.84rem;padding:9px 6px}
 body.site-page main .campaign-join-notice{padding:14px}
}
@media(max-width:440px){
 body.site-page.page-students main .campaign-hero .portal-actions{grid-template-columns:minmax(0,1fr);gap:8px}
}
