/* audit.css: fixes from the full design audit of 21 Oct 2026 (findings.md, 48 items). Loaded last on every page.
   One shared grid (.w), pure white tiles on the cream page, no wrapper cards, no button shadows.
   The moving band under the hero (.mb3/.vb) is deliberately untouched. */
:root{--a-navy:#0D3C87;--a-ink:#16233a;--a-mute:#4b5563;--a-line:rgba(13,60,135,.14);--a-r:18px;--a-sec:clamp(44px,5.6vw,80px)}

/* ---------- #1 Work at TGLC: photo and notify form side by side, nothing overlapping ---------- */
html body:not(#z):not(#y) .pr-fs-side .pr-ph{width:100%!important;max-width:100%!important;aspect-ratio:4/3!important;height:auto!important;margin:0!important;transform:none!important}
@media(min-width:900px){html body:not(#z):not(#y) .pr-fs-side:has(>.pr-ph:only-child) .pr-ph{height:100%!important;aspect-ratio:auto!important;min-height:360px}}
html body:not(#z):not(#y) .pr-fs-side .pr-ph img{width:100%!important;height:100%!important;object-fit:cover}
html body:not(#z):not(#y) .pr-fs>*{min-width:0}

/* ---------- #6/#7/#32 forms: no boxes, fields straight on the page ---------- */
html body:not(#z):not(#y) :is(.pr-formcard,.form-closed,.form-closed .sp-form,.pr-formcard .sp-form,.pg-sec .sp-form,.pg-sec){background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important;border-radius:0!important}
html body:not(#z):not(#y) .form-closed{margin:0!important}
html body:not(#z):not(#y) .form-closed .sp-form{margin-top:28px!important;padding-top:28px!important;border-top:1px solid var(--a-line)!important}
html body:not(#z):not(#y) :is(.sp-form input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.sp-form select,.sp-form textarea){background:#fff!important;box-shadow:none!important}

/* ---------- #3 footer: minimal, on cream, logo kept ---------- */
html body:not(#z):not(#y) footer.ft{background:transparent!important;color:var(--a-ink)!important;border:0!important;border-radius:0!important;box-shadow:none!important;width:auto!important;max-width:none!important;margin:var(--a-sec) 0 0!important;padding:0 0 32px!important}
html body:not(#z):not(#y) footer.ft .ft-w{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:20px 40px;padding-top:32px!important;border-top:1px solid var(--a-line)}
html body:not(#z):not(#y) footer.ft .ft-logo img{display:block;width:84px;height:auto}
html body:not(#z):not(#y) footer.ft .ft-nav{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;justify-content:flex-end;gap:8px 28px}
html body:not(#z):not(#y) footer.ft a{color:var(--a-navy)!important;text-decoration:none}
html body:not(#z):not(#y) footer.ft a:hover{text-decoration:underline;text-underline-offset:3px}
html body:not(#z):not(#y) footer.ft .ft-nav a{font:500 15px/1.4 Inter,system-ui,sans-serif}
html body:not(#z):not(#y) footer.ft :is(.ft-meta,.ft-c,.ft-addr){margin:0!important;font:400 14px/1.6 Inter,system-ui,sans-serif;color:var(--a-mute)!important}
html body:not(#z):not(#y) footer.ft .ft-meta{display:flex;flex-wrap:wrap;gap:4px 24px}
html body:not(#z):not(#y) footer.ft .ft-c{justify-self:end}
html body:not(#z):not(#y) footer.ft .ft-addr{grid-column:1/-1!important;justify-self:start!important;width:auto!important;max-width:none!important}html body:not(#z):not(#y) footer.ft .ft-addr a{margin-left:10px;color:var(--a-navy,#0B2A6B)!important;font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
html body:not(#z):not(#y) footer.ft .ft-w{grid-template-columns:84px minmax(0,1fr)!important;grid-template-areas:"logo nav" "meta meta" "addr addr" "c c"!important}
html body:not(#z):not(#y) footer.ft .ft-logo{grid-area:logo!important}html body:not(#z):not(#y) footer.ft .ft-nav{grid-area:nav!important}html body:not(#z):not(#y) footer.ft .ft-meta{grid-area:meta!important}html body:not(#z):not(#y) footer.ft .ft-addr{grid-area:addr!important}html body:not(#z):not(#y) footer.ft .ft-c{grid-area:c!important;justify-self:start!important}
@media(max-width:767px){html body:not(#z):not(#y) footer.ft .ft-w{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"logo" "nav" "meta" "addr" "c"!important}}
@media(max-width:767px){html body:not(#z):not(#y) footer.ft .ft-w{}html body:not(#z):not(#y) footer.ft .ft-nav{justify-content:flex-start;gap:8px 20px}html body:not(#z):not(#y) footer.ft .ft-c{justify-self:start}html body:not(#z):not(#y) footer.ft .ft-meta{flex-direction:column}}

/* ---------- #4 pastel text cards become clean white tiles ---------- */
html body:not(#z):not(#y) :is(.vm3-c,.dp-card,.pr-card,.lab3,.pc3,.pg-card,.ev-c,a.nc,a.bro,.pb-c,article.ldc){background:#fff!important;box-shadow:none!important;border:0!important;border-radius:var(--a-r)!important;outline:0!important}
html body:not(#z):not(#y) :is(.pr-ic,.vm3-i,.fa3-i,.lab3-i,.pg-ic){background:none!important;box-shadow:none!important;border:0!important;width:auto!important;height:auto!important;padding:0!important;color:var(--a-navy)!important;display:inline-flex!important;margin:0 0 14px!important}
html body:not(#z):not(#y) :is(.pr-ic,.vm3-i,.fa3-i,.lab3-i,.pg-ic) svg{width:32px!important;height:32px!important;stroke-width:1.5}
html body:not(#z):not(#y) :is(.dp-card,.pr-card,.lab3,.pg-card,.vm3-c){padding:clamp(22px,2.2vw,30px)!important}
html body:not(#z):not(#y) :is(.pr-grid,.dp-grid,.dp-swipe,.lab3-row,.pc3-g,.pg-grid,.vm3){gap:clamp(14px,1.6vw,20px)!important;align-items:stretch!important}
/* the "Why we exist" and focus-area rows are a real grid at every width (no sideways text carousel) */
html body:not(#z):not(#y) .dp-swipe{display:grid!important;overflow:visible!important;scroll-snap-type:none!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;margin:0!important;padding:0!important}
html body:not(#z):not(#y) .dp-swipe>*{width:auto!important;min-width:0!important;flex:none!important;margin:0!important}
@media(max-width:1023px){html body:not(#z):not(#y) .dp-swipe{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:639px){html body:not(#z):not(#y) .dp-swipe{grid-template-columns:1fr!important}}

/* programme link tiles carry the real programme photo (#39) */
html body:not(#z):not(#y) a.pr-card.pr-photo{padding:0!important;overflow:hidden;display:flex!important;flex-direction:column}
html body:not(#z):not(#y) a.pr-card.pr-photo .pr-cimg{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;margin:0}
html body:not(#z):not(#y) a.pr-card.pr-photo h3{margin:18px 22px 6px!important}
html body:not(#z):not(#y) a.pr-card.pr-photo .pr-more{margin:auto 22px 20px!important}

/* ---------- #5 impact stats: no colour boxes, 2 x 2 below 1024 ---------- */
html body:not(#z):not(#y) :is(.nums,.nm3,.pr-stats,.lab3-f){display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:28px clamp(20px,3vw,40px)!important;padding:0!important;list-style:none}
html body:not(#z):not(#y) .lab3-f{grid-template-columns:repeat(2,minmax(0,1fr))!important}
html body:not(#z):not(#y) :is(.nums>*,.nm3-c,.pr-stats>li,.lab3-f>li){background:none!important;box-shadow:none!important;border:0!important;border-top:1px solid var(--a-line)!important;border-radius:0!important;padding:16px 0 0!important;min-width:0}
html body:not(#z):not(#y) :is(.nums>*,.nm3-c,.pr-stats>li,.lab3-f>li) :is(b,strong,.n){color:var(--a-navy)!important;font-size:clamp(34px,3.6vw,52px)!important;line-height:1.05!important;display:block;letter-spacing:-.02em}
html body:not(#z):not(#y) :is(.nums>*,.nm3-c,.pr-stats>li,.lab3-f>li) :is(span,p){color:var(--a-mute)!important;margin-top:8px!important;display:block}
@media(max-width:1023px){html body:not(#z):not(#y) :is(.nums,.nm3,.pr-stats){grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* ---------- #6 / #29 / #31 closing CTA: one plain line, heading left, buttons right ---------- */
html body:not(#z):not(#y) section.tb-cta{background:transparent!important;border-radius:0!important;box-shadow:none!important;margin:var(--a-sec) 0 0!important;padding:0!important;min-height:0!important;max-width:none!important}
html body:not(#z):not(#y) section.tb-cta .w{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;padding-top:0!important;padding-bottom:0!important;text-align:left!important;min-height:0!important}
html body:not(#z):not(#y) :is(section.tb-cta,.dp-cta) h2{margin:0!important;text-align:left!important;color:var(--a-ink)!important;opacity:1!important}
html body:not(#z):not(#y) section.tb-cta :is(.eb,.w>p){display:none!important}
html body:not(#z):not(#y) section.tb-cta .r{margin:0!important;justify-content:flex-end!important}
html body:not(#z):not(#y) .dp-cta{background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important;display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px}

/* ---------- #8 FAQ: full width, hairline rows only ---------- */
html body:not(#z):not(#y) .pg-faq{max-width:none!important;width:auto!important;margin-left:0!important;margin-right:0!important}
html body:not(#z):not(#y) .pg-faq details{background:transparent!important;border:0!important;border-bottom:1px solid var(--a-line)!important;border-radius:0!important;box-shadow:none!important;margin:0!important;padding:0!important}
html body:not(#z):not(#y) .pg-faq details:first-of-type{border-top:1px solid var(--a-line)!important}
html body:not(#z):not(#y) .pg-faq summary{padding:18px 0!important}
/* contact form heading and supporting line side by side */
@media(min-width:900px){html body:not(#z):not(#y) .ct-hd{display:grid!important;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:end;background:none!important;border:0!important;box-shadow:none!important;padding:0!important}}
html body:not(#z):not(#y) .ct-hd{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin-bottom:28px!important}
html body:not(#z):not(#y) .ct-hd :is(h2,p){margin:0!important}

/* ---------- #9 / #40 even section spacing ---------- */
html body:not(#z):not(#y) main>:is(section.dp,section.pr-sec,section.s3,section.pg){padding-top:var(--a-sec)!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important}
html body:not(#z):not(#y) main>:is(section.dp,section.pr-sec,section.s3,section.pg):last-of-type{padding-bottom:0!important}
html body:not(#z):not(#y) :is(.mb3,.vb)+:is(section,div){padding-top:0!important}
html body:not(#z):not(#y) .dp-acc{margin-bottom:0!important}

/* ---------- #13 partners: a clean text row, no boxes ---------- */
html body:not(#z):not(#y) .prt-l{display:flex!important;flex-wrap:wrap;gap:10px 0;padding:0!important;margin:20px 0 0!important;list-style:none}
html body:not(#z):not(#y) .prt-l li{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;min-height:0!important;width:auto!important;font:500 clamp(17px,1.6vw,21px)/1.4 Inter,system-ui,sans-serif!important;color:var(--a-mute)!important}
html body:not(#z):not(#y) .prt-l li+li::before{content:"·";margin:0 18px;color:#9aa3b2}
html body:not(#z):not(#y) section.prt{padding-top:var(--a-sec)!important;padding-bottom:0!important}

/* ---------- #24 events: 2-line descriptions, actions pinned to the bottom ---------- */
html body:not(#z):not(#y) .ev-c{display:flex!important;flex-direction:column;overflow:hidden}
html body:not(#z):not(#y) .ev-c .ev-b{display:flex!important;flex-direction:column;flex:1}
html body:not(#z):not(#y) .ev-c .ev-b>p.ev-m:first-of-type{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html body:not(#z):not(#y) .ev-c .ev-b>.rm{margin-top:auto!important;padding-top:14px}
html body:not(#z):not(#y) .ev-f{background:none!important}

/* ---------- #25 youth figures: unboxed three-column stat row ---------- */
html body:not(#z):not(#y) .yth-card{background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important;border-radius:0!important}
html body:not(#z):not(#y) .yth-card .yth-s{border:0!important;border-top:1px solid var(--a-line)!important;padding:16px 0 0!important;background:none!important}

/* ---------- #26 vision / mission on Home: plain two columns ---------- */
html body:not(#z):not(#y) .vm>div{background:transparent!important;box-shadow:none!important;border:0!important;border-top:1px solid var(--a-line)!important;border-radius:0!important;padding:14px 0 0!important}

/* ---------- #33 #34 numbered steps and the SMP list: borderless ---------- */
html body:not(#z):not(#y) .pr-steps>li{background:transparent!important;box-shadow:none!important;border:0!important;border-top:1px solid var(--a-line)!important;border-radius:0!important;padding:18px 0 0!important}
html body:not(#z):not(#y) ol.pr-chips.pr-num{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(20px,3vw,40px);padding:0!important;counter-reset:pn;list-style:none}
html body:not(#z):not(#y) ol.pr-chips.pr-num li{background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;border-bottom:1px solid var(--a-line)!important;padding:14px 0!important;counter-increment:pn;font:500 16px/1.4 Inter,system-ui,sans-serif;color:var(--a-ink);cursor:default}
html body:not(#z):not(#y) ol.pr-chips.pr-num li::before{content:counter(pn,decimal-leading-zero)!important;color:var(--a-navy);font-weight:600;margin-right:0;background:none!important;width:2.4em!important;height:auto!important;display:inline-block!important;position:static!important;font-variant-numeric:tabular-nums}
@media(max-width:767px){html body:not(#z):not(#y) ol.pr-chips.pr-num{grid-template-columns:1fr}}

/* ---------- #37 Our approach: the four steps as plain columns under the photo ---------- */
html body:not(#z):not(#y) .ires{display:block!important}
html body:not(#z):not(#y) .ires .ap-rot{aspect-ratio:21/8!important;height:auto!important;width:100%!important;border-radius:var(--a-r)!important}
html body:not(#z):not(#y) .ires .ic{background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important;margin-top:28px!important;display:block!important;min-height:0!important;height:auto!important}
html body:not(#z):not(#y) .ires :is(.ic,.v7-panels){display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px clamp(20px,3vw,40px)}
html body:not(#z):not(#y) .ires .ic:has(.v7-panels){display:block!important}
html body:not(#z):not(#y) .ires .v7-prog{display:none!important}
html body:not(#z):not(#y) .ires .ic .st{display:block!important;position:static!important;opacity:1!important;transform:none!important;visibility:visible!important;border-top:1px solid var(--a-line);padding-top:16px!important}
html body:not(#z):not(#y) .ires .ic :is(.dots,.v7-tabs,.v7-thumb){display:none!important}
html body:not(#z):not(#y) .ires .ic .st h3{font-size:22px!important;margin:6px 0 8px!important}
@media(max-width:1023px){html body:not(#z):not(#y) .ires :is(.ic,.v7-panels){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:639px){html body:not(#z):not(#y) .ires :is(.ic,.v7-panels){grid-template-columns:1fr}html body:not(#z):not(#y) .ires .ap-rot{aspect-ratio:4/3!important}}

/* ---------- #38 Our Programs: one frame per card, one column on phones ---------- */
html body:not(#z):not(#y) .pb-c{background:transparent!important;padding:0!important}
@media(max-width:767px){html body:not(#z):not(#y) .pb-grid{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;scroll-snap-type:none!important;gap:28px!important;padding:0!important;margin:0!important}html body:not(#z):not(#y) .pb-grid>*{width:auto!important;min-width:0!important;margin:0!important}}

/* ---------- #41 leader cards: no borders ---------- */
html body:not(#z):not(#y) article.ldc{background:transparent!important}
html body:not(#z):not(#y) .ldc-d{border:0!important}

/* ---------- #43 news: "Show more stories" is a centred navy text button ---------- */
html body:not(#z):not(#y) .nw-more{display:block!important;width:auto!important;margin:32px auto 0!important;background:none!important;border:0!important;box-shadow:none!important;color:var(--a-navy)!important;font:600 16px/1.4 Inter,system-ui,sans-serif!important;padding:10px 18px!important;text-decoration:underline;text-underline-offset:4px;cursor:pointer}

/* ---------- #35 #36 articles on the same cream; no decorative divider; names without rules ---------- */
html body:not(#z):not(#y) :is(main.nwa,.nwa,.ax,.ax-body,body.nw){background:transparent!important}
html body:not(#z):not(#y):has(main.nwa){background:var(--bg,#FFFAEF)!important}
html body:not(#z):not(#y) .ax-names li{border:0!important}
html body:not(#z):not(#y) .ax-hon{border:0!important}

/* ---------- no button shadows anywhere ---------- */
html body:not(#z):not(#y) :is(.btn,button,.sp-btn){box-shadow:none!important}

/* ---------- gentle motion only, off under reduced motion ---------- */
@media(prefers-reduced-motion:reduce){html body:not(#z):not(#y) :is(.rv,.lv,.pr-rv,.ax-rv){opacity:1!important;transform:none!important;transition:none!important}}
/* fixes after first look */
html body:not(#z):not(#y) footer.ft :is(p,span,div){color:var(--a-mute)!important;background:none!important}
html body:not(#z):not(#y) footer.ft .ft-w>*{margin:0!important;text-align:left!important}
html body:not(#z):not(#y) .ires .ic .st{grid-area:auto!important;inset:auto!important}
html body:not(#z):not(#y) :is(.pr-ic,.vm3-i,.fa3-i,.lab3-i,.pg-ic){align-self:flex-start!important;justify-self:start!important}
html body:not(#z):not(#y) .pr-card{text-align:left!important;align-items:flex-start!important}
/* footer and closing CTA sit on the same content edges as every section */
html body:not(#z):not(#y) :is(footer.ft,section.tb-cta,.chal,.cap,.cta){margin-left:0!important;margin-right:0!important;width:auto!important;max-width:none!important}
html body:not(#z):not(#y) :is(footer.ft,section.tb-cta) .w{padding-left:calc(var(--edge) + var(--pad))!important;padding-right:calc(var(--edge) + var(--pad))!important;max-width:none!important;margin:0 auto!important}
html body:not(#z):not(#y) footer.ft .ft-w{border-top:0!important;position:relative}
html body:not(#z):not(#y) footer.ft .ft-w::before{content:"";position:absolute;top:0;left:calc(var(--edge) + var(--pad));right:calc(var(--edge) + var(--pad));border-top:1px solid var(--a-line)}
/* one section rhythm on every page (#9 #40) */
html body:not(#z):not(#y)>section:not(.hx):not(.vb):not(.tb-cta):not(.mb3),html body:not(#z):not(#y) main>section:not(.hx):not(.vb):not(.tb-cta):not(.mb3){padding-top:var(--a-sec)!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important}
html body:not(#z):not(#y)>section:not(.hx):not(.vb):not(.tb-cta)>.w,html body:not(#z):not(#y) main>section:not(.hx):not(.vb):not(.tb-cta)>.w{padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important}
html body:not(#z):not(#y) :is(.mb3,.vb)+:is(section,div):not(#q){padding-top:0!important;margin-top:0!important}
html body:not(#z):not(#y) section.tb-cta .r{align-self:center!important;margin:0!important}
html body:not(#z):not(#y) section.tb-cta h2{padding:0!important}
html body:not(#z):not(#y) section.prt h2{opacity:1!important;visibility:visible!important}
/* #30 How we lead: below 1024 the seven principles are one even list (no lone card) */
@media(max-width:1023px){html body:not(#z):not(#y) #how .pr-grid{grid-template-columns:1fr!important}html body:not(#z):not(#y) #how .pr-card{display:grid!important;grid-template-columns:40px 1fr;column-gap:16px;align-items:start}html body:not(#z):not(#y) #how .pr-card .pr-ic{grid-row:1/3;margin:2px 0 0!important}html body:not(#z):not(#y) #how .pr-card :is(h3,p){grid-column:2;margin:0!important}html body:not(#z):not(#y) #how .pr-card h3{margin-bottom:4px!important}}
@media(max-width:767px){html body:not(#z):not(#y) :is(.pb-tabs,.pb-nav,.pb-arr,.pb-dots){display:none!important}html body:not(#z):not(#y) .pb-grid>.pb-c{opacity:1!important;transform:none!important;filter:none!important}
html body:not(#z):not(#y) .prt-l{display:grid!important;gap:6px!important}html body:not(#z):not(#y) .prt-l li+li::before{content:none!important}}
html body:not(#z):not(#y) .prt-l{justify-content:flex-start!important;text-align:left!important}
html body:not(#z):not(#y) .dp-swipe{grid-auto-flow:row!important;grid-auto-columns:auto!important}
html body:not(#z):not(#y) .dp-swipe~:is(.dp-dots,.sw-dots,.dots){display:none!important}
/* #12 seven sectors: borderless icon row, 7 across on desktop, a 4-column grid on phones (no carousel) */
html body:not(#z):not(#y) ul.sx7{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;grid-auto-flow:row!important;overflow:visible!important;scroll-snap-type:none!important;gap:16px clamp(10px,1.4vw,20px)!important;padding:0!important;margin-left:0!important;margin-right:0!important}
html body:not(#z):not(#y) ul.sx7>li{background:none!important;box-shadow:none!important;border:0!important;padding:0!important;width:auto!important;min-width:0!important;margin:0!important}
@media(max-width:1023px){html body:not(#z):not(#y) ul.sx7{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
html body:not(#z):not(#y) .dp-hint{display:none!important}
html body:not(#z):not(#y) ul.sx7~:is(.sx7-dots,.dots){display:none!important}
@media(max-width:767px){html body:not(#z):not(#y) section.tb-cta .r{justify-content:flex-start!important;flex-wrap:wrap!important}html body:not(#z):not(#y) .dp-cta .dp-acts{justify-content:flex-start!important}}
/* phones: the lab and programme rows stack inside the content edges; the events row scrolls inside them */
@media(max-width:767px){html body:not(#z):not(#y) :is(.lab3-row,.pc3-g){display:grid!important;grid-template-columns:1fr!important;grid-auto-flow:row!important;overflow:visible!important;scroll-snap-type:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
html body:not(#z):not(#y) :is(.lab3-row,.pc3-g)>*{width:auto!important;min-width:0!important;flex:none!important}
html body:not(#z):not(#y) .ev-grid{margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;scroll-padding:0!important}}
@media(min-width:768px) and (max-width:1023px){html body:not(#z):not(#y) .pb-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:row!important;overflow:visible!important;scroll-snap-type:none!important;gap:20px!important;padding:0!important;margin:0!important}html body:not(#z):not(#y) .pb-grid>*{width:auto!important;min-width:0!important;margin:0!important;opacity:1!important}html body:not(#z):not(#y) :is(.pb-tabs,.pb-nav,.pb-arr){display:none!important}}
/* #28 Impact Labs rhythm: one unboxed four-step timeline */
html body:not(#z):not(#y) .dp-rhythm{margin-top:36px!important;gap:28px clamp(20px,3vw,40px)!important}
html body:not(#z):not(#y) .dp-rhythm>.dp-card{background:transparent!important;border-radius:0!important;border-top:2px solid var(--a-navy)!important;padding:16px 0 0!important}
html body:not(#z):not(#y) .dp-rhythm .dp-k{color:var(--a-navy)!important;font-weight:600}
html body:not(#z):not(#y) .ax-laurel{display:none!important}
html body:not(#z):not(#y) .ax-hon{border:0!important;box-shadow:none!important;background:none!important}
html body:not(#z):not(#y) .ax-hon::before,html body:not(#z):not(#y) .ax-hon::after{content:none!important;display:none!important}
html body:not(#z):not(#y) .ax-names{border:0!important;box-shadow:none!important;background:none!important}
html body:not(#z):not(#y) .ax-names li{border:0!important;box-shadow:none!important;background:none!important;padding-top:6px!important;padding-bottom:6px!important}
html body:not(#z):not(#y) .ax-names li::before,html body:not(#z):not(#y) .ax-names li::after{content:none!important;border:0!important}
/* #41 leader cards: even rows (details pinned to the card bottom), five across on wide screens so the page is shorter */
html body:not(#z):not(#y) article.ldc{display:flex!important;flex-direction:column}
html body:not(#z):not(#y) article.ldc .ldc-b{display:flex!important;flex-direction:column;flex:1}
html body:not(#z):not(#y) article.ldc .ldc-d{margin-top:auto!important;padding-top:12px!important}
@media(min-width:1280px){html body:not(#z):not(#y) .ldg{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
/* pages wrapped in div.pr (news, gallery, contact, who we are...) follow the same rhythm */
html body:not(#z):not(#y) div.pr>section:not(.tb-cta):not(.hx):not(.vb){padding-bottom:0!important;margin-bottom:0!important}
html body:not(#z):not(#y) .nw-sec:last-child{margin-bottom:0!important}
/* #42 gallery grouped by year */
html body:not(#z):not(#y) .gal-y+.gal-y{margin-top:var(--a-sec)}
html body:not(#z):not(#y) .gal-h{margin:0 0 20px!important;font-size:clamp(24px,2.4vw,32px)!important}
html body:not(#z):not(#y) .gal>a[hidden],html body:not(#z):not(#y) .gal-y[hidden]{display:none!important}

/* =================== Partners only =================== */
/* #18 Give buttons stay yellow, with no shadow */
html body:not(#z):not(#y) :is(.qp-cta,.Give,a.btn.y,.cap-give,nav#nav a[href*="support"]){box-shadow:none!important;filter:none!important;text-shadow:none!important}
html body:not(#z):not(#y) :is(.qp-cta,.Give,a.btn.y,.cap-give)::before,html body:not(#z):not(#y) :is(.qp-cta,.Give,a.btn.y,.cap-give)::after{box-shadow:none!important}

/* #12 #17 hero slider stays inside the content edges; the photo strip is straight and on the grid */
html body:not(#z):not(#y) .hc{overflow:hidden!important;margin-left:0!important;margin-right:0!important;max-width:none!important;width:auto!important;border-radius:var(--a-r)}
html body:not(#z):not(#y) .hc .hc-t{scroll-padding:0!important;padding:0!important;gap:0!important}
html body:not(#z):not(#y) .hc .hc-t>img{flex:0 0 100%!important;width:100%!important;max-width:none!important;margin:0!important;border-radius:0!important}
html body:not(#z):not(#y) .band{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(8px,1.2vw,16px);padding:0 calc(var(--edge) + var(--pad))!important;margin:var(--a-sec) 0 0!important;overflow:hidden!important;transform:none!important;max-width:none!important;width:auto!important;height:auto!important}
html body:not(#z):not(#y) .band img{transform:none!important;rotate:none!important;width:100%!important;height:auto!important;aspect-ratio:4/5;object-fit:cover;margin:0!important;border-radius:14px!important;box-shadow:none!important;position:static!important;animation:none!important}
@media(max-width:767px){html body:not(#z):not(#y) .band{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* #5 stat chips under the hero: unboxed */
html body:not(#z):not(#y) .chips{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:28px clamp(20px,3vw,40px)!important}
html body:not(#z):not(#y) .chips>.chip{background:none!important;box-shadow:none!important;border:0!important;border-top:1px solid var(--a-line)!important;border-radius:0!important;padding:16px 0 0!important}
html body:not(#z):not(#y) .chips>.chip b{color:var(--a-navy)!important;font-size:clamp(34px,3.6vw,52px)!important;line-height:1.05!important}
html body:not(#z):not(#y) .chips>.chip b i{color:var(--a-navy)!important}
html body:not(#z):not(#y) .chips>.chip p{color:var(--a-mute)!important}
@media(max-width:1023px){html body:not(#z):not(#y) .chips{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* #15 "Help us build the Centre": no mint wrapper; heading and line side by side, then the stat row */
html body:not(#z):not(#y) section.cap{background:transparent!important;border-radius:0!important;box-shadow:none!important;padding:var(--a-sec) 0 0!important;margin:0!important}
html body:not(#z):not(#y) section.cap .w{padding-left:calc(var(--edge) + var(--pad))!important;padding-right:calc(var(--edge) + var(--pad))!important}
html body:not(#z):not(#y) section.cap .row{border:0!important;padding:0!important;margin-top:20px!important}
html body:not(#z):not(#y) section.cap h3{font-size:clamp(20px,2vw,24px)!important}
html body:not(#z):not(#y) section.cap .row b{color:var(--a-navy)!important}

/* #16 the "raise the next generation" block: heading at section size, tabs beside it */
html body:not(#z):not(#y) section.tw h2{font-size:clamp(28px,3vw,40px)!important;max-width:none!important}

/* #45 four ways: white tiles */
html body:not(#z):not(#y) .ways .wc{background:#fff!important;box-shadow:none!important;border:0!important;border-radius:var(--a-r)!important}
html body:not(#z):not(#y) .ways .wc .ico{background:none!important;box-shadow:none!important;color:var(--a-navy)!important;width:auto!important;height:auto!important;padding:0!important;justify-content:flex-start!important}
html body:not(#z):not(#y) .ways .wc .ico svg{width:32px!important;height:32px!important}
html body:not(#z):not(#y) .ways{gap:clamp(14px,1.6vw,20px)!important;align-items:stretch!important}

/* #47 LIFT block: one navy primary style */
html body:not(#z):not(#y) a.btn.k:not(.ubc-o){background:var(--a-navy)!important;border-color:var(--a-navy)!important;color:#fff!important}
html body:not(#z):not(#y) a.btn.k.ubc-o{background:transparent!important;color:var(--a-navy)!important;border:1px solid rgba(13,60,135,.35)!important}
html body:not(#z):not(#y) .ubc-card .uc-pill{background:rgba(255,255,255,.14)!important;color:#fff!important}

/* #14 Our partners on the Partner page: two equal tiles */
html body:not(#z):not(#y) #partners .dp-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(max-width:767px){html body:not(#z):not(#y) #partners .dp-grid{grid-template-columns:1fr!important}}
html body:not(#z):not(#y) #partners .dp-card{display:flex!important;flex-direction:column}
html body:not(#z):not(#y) #partners .dp-card .dp-acts{margin-top:auto!important;padding-top:14px}
/* #46 three ways to partner: 2 columns at tablet width, third spans */
@media(min-width:640px) and (max-width:1023px){html body:not(#z):not(#y) #pathways :is(.dp-grid,.dp-row4,.pw3,.dp-swipe){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}html body:not(#z):not(#y) #pathways :is(.dp-grid,.dp-row4,.pw3,.dp-swipe)>:nth-child(3):last-child{grid-column:1/-1}}

/* #19 #20 Adopt a Lab: no grey band, facts as plain text, borderless steps, the note as a plain line, all on the shared grid */
html body:not(#z):not(#y) header.abar{background:var(--bg,#FFFAEF)!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html body:not(#z):not(#y) header.abar .bar-in{max-width:none!important;padding-left:calc(var(--edge) + var(--pad))!important;padding-right:calc(var(--edge) + var(--pad))!important}
html body:not(#z):not(#y) header.abar .brand .mark{display:none!important}
html body:not(#z):not(#y) .topmeta span{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;font:500 14px/1.4 Inter,system-ui,sans-serif!important;color:var(--a-mute)!important;cursor:default}
html body:not(#z):not(#y) .topmeta{gap:0!important}
html body:not(#z):not(#y) .topmeta span+span::before{content:"·";margin:0 10px;color:#9aa3b2}
html body:not(#z):not(#y) main.wrap{max-width:none!important;padding-left:calc(var(--edge) + var(--pad))!important;padding-right:calc(var(--edge) + var(--pad))!important}
html body:not(#z):not(#y) .eyebrow{background:none!important;padding:0!important}
html body:not(#z):not(#y) .steps4>li{background:transparent!important;box-shadow:none!important;border:0!important;border-top:1px solid var(--a-line)!important;border-radius:0!important;padding:18px 0 0!important}
html body:not(#z):not(#y) .steps4 .n{background:var(--a-navy)!important;color:#fff!important}
html body:not(#z):not(#y) .anytime{background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important}
html body:not(#z):not(#y) .anytime .ic{display:none!important}
html body:not(#z):not(#y) #s-welcome .cta{margin-left:0!important;padding-left:0!important;justify-content:flex-start!important}
html body:not(#z):not(#y) #s-welcome .cta .btn{margin-left:0!important}

/* #21 Sauder apply: tighter hero, no outer wrapper behind the form */
html body:not(#z):not(#y) .form-closed{border-left:0!important;background:transparent!important}
html body:not(#z):not(#y) .sp-sec{padding-top:var(--a-sec)!important}
/* #22 Where classes take place: a plain line */
html body:not(#z):not(#y) #where .dp-cta{background:transparent!important}
/* #23 Benefits / Who we are looking for: unboxed checklist beside the photo */
html body:not(#z):not(#y) .dp-split>.dp-card{background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important;border-radius:0!important}
html body:not(#z):not(#y) .dp-split{align-items:start!important}
html body:not(#z):not(#y)>header.gh+section:not(#q){padding-top:clamp(28px,3vw,40px)!important}
@media(max-width:767px){html body:not(#z):not(#y) .topmeta{justify-content:flex-start!important;width:100%;flex-wrap:wrap}html body:not(#z):not(#y) header.abar .bar-in{flex-wrap:wrap;gap:4px 16px}}
@media(max-width:767px){html body:not(#z):not(#y) footer.ft .ft-addr a{display:block;margin:4px 0 0!important;width:max-content}}
