/* === site.css === */

:root{--purple-950:#170425;--purple-900:#24033f;--purple-800:#33065a;--purple-700:#4a0a78;--magenta:#ed0a8b;--magenta-2:#ff2aa7;--gold:#f4be20;--gold-2:#ffd85c;--ink:#24162f;--muted:#6f6576;--line:#ebe5ee;--off:#faf8fb;--white:#fff;--success:#199a59;--radius:22px;--shadow:0 18px 50px rgba(38,7,63,.12);--container:min(1180px,calc(100% - 40px));--font:"Segoe UI",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--font);background:#fff;line-height:1.58}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.container{width:var(--container);margin-inline:auto}.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}.skip-link{position:absolute;left:-999px;top:10px;background:#fff;padding:10px;z-index:9999}.skip-link:focus{left:10px}.topbar{background:var(--purple-950);color:#fff;font-size:12px}.topbar-inner{display:flex;justify-content:space-between;gap:20px;min-height:36px;align-items:center}.topbar-contact{display:flex;gap:22px;align-items:center}.topbar a:hover{text-decoration:underline}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(36,3,63,.07)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:84px}.brand{display:flex;align-items:center;gap:12px;min-width:250px}.brand img{width:64px;height:64px;object-fit:contain}.brand span{display:grid;line-height:1.05}.brand strong{font-size:18px;letter-spacing:.055em;color:var(--purple-900)}.brand b{font-size:18px;letter-spacing:.18em;color:var(--magenta);margin-top:4px}.brand small{font-size:8px;color:var(--muted);margin-top:5px;letter-spacing:.02em}.primary-nav{display:flex;align-items:center;gap:16px;font-size:12px;font-weight:700}.nav-link{padding:28px 0 24px;white-space:nowrap;position:relative}.nav-link:after{content:"";position:absolute;height:2px;left:0;right:100%;bottom:18px;background:var(--magenta);transition:.2s}.nav-link:hover:after,.nav-link.is-active:after{right:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:7px;padding:13px 19px;font-weight:800;font-size:13px;transition:transform .18s ease,box-shadow .18s ease,background .18s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(30,5,45,.15)}.btn-portal,.btn-purple{background:linear-gradient(135deg,var(--purple-800),var(--purple-950));color:#fff}.btn-magenta{background:linear-gradient(135deg,var(--magenta),#c50b83);color:#fff}.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#2a1034}.btn-light{background:#fff;color:var(--purple-900)}.btn-outline{background:transparent;color:var(--purple-800);border:1px solid #cdbbd9}.btn-outline-light{background:rgba(0,0,0,.12);color:#fff;border:1px solid rgba(255,255,255,.72)}.menu-toggle{display:none;border:0;background:none;padding:10px}.menu-toggle span:not(.sr-only){display:block;width:26px;height:2px;background:var(--purple-900);margin:5px}.hero,.page-hero,.portal-hero{position:relative;background-image:var(--hero);background-size:cover;background-position:center;isolation:isolate;color:#fff}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,3,39,.96) 0%,rgba(37,3,62,.83) 40%,rgba(37,3,62,.12) 78%,rgba(37,3,62,.05) 100%);z-index:-1}.hero-home{min-height:560px;display:grid;align-items:center}.hero-grid{display:grid;grid-template-columns:minmax(0,570px) 1fr;align-items:center;min-height:560px}.hero-copy{padding-block:70px;max-width:620px}.hero-copy h1,.page-hero h1,.portal-hero h1,.mini-hero h1{font-size:clamp(42px,6vw,74px);line-height:.98;margin:10px 0 20px;text-transform:uppercase;letter-spacing:-.035em}.hero-copy h1 em,.page-hero h1 em,.portal-hero h1 em{color:var(--gold);font-style:normal}.hero-copy p{font-size:17px;max-width:580px;color:rgba(255,255,255,.92)}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.12em}.eyebrow.gold,.gold{color:var(--gold)}.eyebrow.magenta,.magenta{color:var(--magenta)}.hero-actions,.button-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.hero-note{margin-top:26px;padding:12px 14px;border:1px solid rgba(255,255,255,.24);border-radius:8px;background:rgba(0,0,0,.2);font-size:13px;max-width:610px}.page-hero{min-height:390px;display:grid;align-items:center}.breadcrumbs{font-size:12px;color:rgba(255,255,255,.75);display:block;margin-bottom:12px}.stat-band{margin-top:-1px;background:linear-gradient(135deg,var(--purple-950),var(--purple-800));color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stats-grid article{padding:26px 24px;border-right:1px solid rgba(255,255,255,.14)}.stats-grid article:last-child{border-right:0}.stats-grid strong{display:block;font-size:28px;color:var(--gold)}.stats-grid span{display:block;font-weight:800}.stats-grid small{display:block;color:rgba(255,255,255,.66);margin-top:4px}.section{padding:74px 0}.section.soft{background:var(--off)}.section-heading{text-align:center;max-width:760px;margin:0 auto 34px}.section-heading h2,.content-block h2,.story-layout h2,.programme-copy h2,.focus-feature h2,.media-feature h2,.contact-form h2,.support-panel h2{font-size:clamp(30px,4vw,48px);line-height:1.08;margin:8px 0 16px;color:var(--purple-900);letter-spacing:-.025em}.row-heading{max-width:none;text-align:left;display:flex;justify-content:space-between;gap:20px;align-items:end}.row-heading>a{color:var(--magenta);font-weight:800}.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.media-stack{position:relative}.media-main{width:100%;height:430px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.media-badge{position:absolute;right:-22px;bottom:24px;background:var(--purple-900);color:#fff;padding:18px 24px;border-radius:14px;box-shadow:var(--shadow)}.media-badge strong,.media-badge span{display:block}.content-block p{color:var(--muted)}.focus-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.focus-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:25px 20px;box-shadow:0 8px 26px rgba(28,5,42,.05);transition:.2s}.focus-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.focus-icon{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--magenta),var(--purple-700));color:#fff;display:grid;place-items:center;font-weight:900}.focus-card h3{color:var(--purple-900);margin-bottom:8px}.focus-card p{font-size:13px;color:var(--muted)}.focus-card a{font-weight:800;font-size:12px;color:var(--magenta)}.values-band{background:radial-gradient(circle at 80% 20%,rgba(237,10,139,.28),transparent 32%),linear-gradient(135deg,var(--purple-950),var(--purple-800));color:#fff}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.values-grid article{padding:25px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.04)}.values-grid span{color:var(--gold);font-weight:900;font-size:12px}.values-grid h3{font-size:21px;margin:8px 0}.values-grid p{color:rgba(255,255,255,.8);font-size:14px}.programme-feature{display:grid;grid-template-columns:.85fr 1.15fr;border-radius:var(--radius);overflow:hidden;background:linear-gradient(135deg,var(--purple-950),var(--purple-800));color:#fff;box-shadow:var(--shadow)}.programme-copy{padding:45px}.programme-copy h2{color:#fff}.programme-copy p{color:rgba(255,255,255,.84)}.programme-image{width:100%;height:100%;min-height:390px;object-fit:cover}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.project-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 10px 26px rgba(34,5,50,.06)}.project-card img{width:100%;height:190px;object-fit:cover}.project-card>div{padding:18px}.project-card h3{font-size:17px;color:var(--purple-900);margin:0 0 9px}.project-card p{font-size:13px;color:var(--muted)}.project-card a{font-size:12px;font-weight:800;color:var(--magenta)}.masonry-mini{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:26px}.masonry-mini img{width:100%;height:150px;object-fit:cover;border-radius:12px}.center{text-align:center}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.news-card{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.news-card img{width:100%;height:190px;object-fit:cover}.news-card>div{padding:18px}.news-card time{display:block;font-size:12px;color:#8c7f92;margin-bottom:5px}.news-card h3{color:var(--purple-900);font-size:18px;margin:5px 0 9px}.news-card p{font-size:13px;color:var(--muted)}.get-involved-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.action-card{padding:32px;border-radius:18px;background:linear-gradient(135deg,var(--purple-950),var(--purple-700));color:#fff;display:grid;gap:8px;border-bottom:4px solid var(--gold)}.action-card b{font-size:21px}.action-card span{color:rgba(255,255,255,.76)}.prefooter{background:linear-gradient(90deg,var(--magenta),var(--purple-700));color:#fff;padding:40px 0}.prefooter-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.prefooter h2{font-size:34px;line-height:1;margin:6px 0 8px}.prefooter p{margin:0;color:rgba(255,255,255,.83)}.prefooter-actions{display:flex;gap:12px;flex-wrap:wrap}.site-footer{background:#10021b;color:#fff;padding:52px 0 20px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:34px}.site-footer h3{font-size:13px;color:var(--gold);text-transform:uppercase;letter-spacing:.08em}.site-footer a{display:block;font-size:13px;color:rgba(255,255,255,.78);margin:7px 0}.site-footer p{font-size:13px;color:rgba(255,255,255,.68)}.footer-brand{display:flex!important;align-items:center;gap:11px}.footer-brand img{width:62px}.footer-brand span{display:grid}.footer-brand strong{letter-spacing:.08em}.footer-brand b{color:var(--magenta);letter-spacing:.16em}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);display:flex;justify-content:space-between;margin-top:35px;padding-top:18px;font-size:12px;color:rgba(255,255,255,.5)}.footer-bottom a{display:inline;margin:0}.story-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.timeline article{border:1px solid var(--line);border-radius:16px;padding:24px;background:#fff;box-shadow:0 8px 24px rgba(28,5,42,.05)}.timeline b{color:var(--magenta);font-size:12px}.timeline h3{color:var(--purple-900)}.timeline p{font-size:13px;color:var(--muted)}.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.team-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.team-card img{width:100%;height:220px;object-fit:cover;background:#160422}.team-card div{padding:15px}.team-card h3{font-size:15px;margin:0;color:var(--purple-900)}.team-card p{font-size:12px;color:var(--muted);margin:6px 0}.focus-feature-list{display:grid;gap:24px}.focus-feature{display:grid;grid-template-columns:.42fr .58fr;align-items:center;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.focus-feature:nth-child(even){grid-template-columns:.58fr .42fr}.focus-feature:nth-child(even)>div:first-child{order:2}.focus-feature img{width:100%;height:290px;object-fit:cover}.focus-feature>div:last-child{padding:35px}.source-note,.privacy-note{padding:13px 15px;background:#faf4fd;border-left:3px solid var(--magenta);font-size:12px;color:#67586c}.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.process-grid article{text-align:center}.process-grid b{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 10px;border-radius:50%;background:var(--gold);color:var(--purple-900)}.process-grid h3{margin:0 0 8px}.process-grid p{font-size:13px;color:rgba(255,255,255,.75)}.programme-intro{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.programme-intro h2{font-size:44px;color:var(--purple-900)}.programme-principles{display:grid;gap:13px}.programme-principles article{border:1px solid var(--line);border-radius:14px;padding:19px}.programme-principles b,.programme-principles span{display:block}.programme-principles span{font-size:13px;color:var(--muted)}.edition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.edition-grid article{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;padding-bottom:20px}.edition-grid article>span,.edition-grid h3,.edition-grid p{margin-inline:18px}.edition-grid article>span{display:inline-block;background:var(--magenta);color:#fff;padding:5px 10px;border-radius:20px;font-weight:800;font-size:11px;margin-top:16px}.edition-grid img{width:100%;height:220px;object-fit:cover;margin:14px 0}.edition-grid h3{color:var(--purple-900)}.edition-grid p{font-size:13px;color:var(--muted)}.media-feature{display:grid;grid-template-columns:1.2fr .8fr;gap:42px;align-items:center}.media-feature video{width:100%;border-radius:18px;background:#000;box-shadow:var(--shadow)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery-grid.compact{grid-template-columns:repeat(6,1fr)}.gallery-item{border-radius:14px;overflow:hidden;position:relative}.gallery-item img{width:100%;height:235px;object-fit:cover;transition:.25s}.gallery-grid.compact .gallery-item img{height:170px}.gallery-item:hover img{transform:scale(1.035)}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.filter-btn{border:1px solid var(--line);padding:10px 17px;border-radius:999px;background:#fff;color:var(--purple-900);font-weight:800}.filter-btn.is-active{background:var(--purple-900);color:#fff}.lightbox{position:fixed;inset:0;background:rgba(10,1,18,.92);z-index:999;display:grid;place-items:center;padding:50px}.lightbox[hidden]{display:none}.lightbox img{max-height:86vh;border-radius:10px}.lightbox-close{position:absolute;right:25px;top:20px;border:0;background:#fff;color:var(--purple-900);width:42px;height:42px;border-radius:50%;font-size:28px}.two-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.info-card{padding:30px;background:#fff;border:1px solid var(--line);border-radius:18px}.info-card h3{color:var(--purple-900)}.faq{max-width:900px}.faq details{border:1px solid var(--line);border-radius:12px;margin:10px 0;background:#fff}.faq summary{padding:18px;font-weight:800;cursor:pointer;color:var(--purple-900)}.faq details p{padding:0 18px 18px;color:var(--muted)}.source-banner{padding:15px 18px;background:#fff7df;border:1px solid #f4d784;border-radius:12px;margin-bottom:24px;color:#5e4710}.archive-grid{grid-template-columns:repeat(3,1fr)}.archive-card img{height:210px}.form-section{background:linear-gradient(#fff,#faf8fc)}.form-shell{display:grid;grid-template-columns:1fr 300px;gap:22px;align-items:start}.stepper{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px;box-shadow:0 8px 25px rgba(28,5,42,.05)}.stepper.seven{grid-template-columns:repeat(7,1fr)}.step{display:grid;place-items:center;gap:4px;text-align:center;color:#8a7e91;font-size:11px;position:relative}.step b{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#f1ebf4;color:var(--purple-900)}.step.is-active{color:var(--magenta);font-weight:800}.step.is-active b{background:var(--magenta);color:#fff}.multi-form,.form-aside article,.contact-form,.contact-options,.portal-nav,.portal-panel,.portal-side article{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(28,5,42,.05)}.multi-form{padding:32px}.form-step{display:none}.form-step.is-active{display:block}.form-step h2{color:var(--purple-900);font-size:30px}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.field-grid .full{grid-column:1/-1}label{display:grid;gap:7px;font-size:13px;font-weight:700;color:var(--purple-900)}input,textarea,select{width:100%;border:1px solid #ded5e4;border-radius:9px;padding:12px 13px;background:#fff;color:var(--ink);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--magenta);box-shadow:0 0 0 3px rgba(237,10,139,.1)}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}.form-aside{display:grid;gap:14px}.form-aside article{padding:22px}.form-aside h3{color:var(--purple-900);margin-top:0}.form-aside p,.form-aside a{font-size:13px;color:var(--muted);display:block}.check-row{display:flex;align-items:flex-start;gap:10px;margin-top:20px}.check-row input{width:auto;margin-top:4px}.upload-box{border:2px dashed #d7c5e2;padding:35px;text-align:center;border-radius:16px}.upload-box input{margin:12px auto}.review-box{background:#faf8fc;border:1px solid var(--line);border-radius:12px;padding:18px;font-size:13px}.review-box dl{display:grid;grid-template-columns:180px 1fr;gap:7px 14px}.review-box dt{font-weight:800;color:var(--purple-900)}.review-box dd{margin:0;color:var(--muted)}.confirmation-mark{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:#e9f9f0;color:var(--success);font-size:42px;margin:25px 0}.portal-hero{min-height:300px;padding:70px 0}.portal-hero h1{font-size:50px}.portal-layout{display:grid;grid-template-columns:210px 1fr 250px;gap:20px;align-items:start}.portal-nav{padding:12px;position:sticky;top:105px}.portal-nav a{display:block;padding:11px 12px;border-radius:8px;font-size:13px;margin:3px}.portal-nav a.is-active,.portal-nav a:hover{background:var(--magenta);color:#fff}.portal-main{display:grid;gap:18px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-grid a{padding:18px;border:1px solid var(--line);border-radius:12px;display:grid;gap:5px}.quick-grid b{color:var(--purple-900);font-size:13px}.quick-grid span{font-size:11px;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.dashboard-card{padding:22px;border:1px solid var(--line);border-radius:14px}.dashboard-card span{font-size:12px;color:var(--muted)}.dashboard-card strong{display:block;font-size:34px;color:var(--purple-900)}.dashboard-card p{font-size:12px}.portal-panel,.portal-side article{padding:22px}.status-list p{font-size:13px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:7px}.blue{background:#3788ff}.gold{background:var(--gold)}.magenta{background:var(--magenta)}.green{background:var(--success)}.update-row{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--line)}.update-row img{width:110px;height:76px;object-fit:cover;border-radius:9px}.update-row p{font-size:12px;color:var(--muted)}.portal-side{display:grid;gap:15px}.portal-side a{display:block;color:var(--magenta);font-size:13px}.privacy-card{background:#f3fbf6!important}.contact-strip{padding:26px 0}.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.contact-cards article{border:1px solid var(--line);border-radius:14px;padding:18px}.contact-cards span{font-size:11px;color:var(--magenta);font-weight:900;display:block}.contact-cards a,.contact-cards p{font-size:13px;margin:5px 0}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form,.contact-options{padding:30px}.option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.option-grid a{border:1px solid var(--line);border-radius:12px;padding:20px;display:grid;gap:5px}.option-grid b{color:var(--purple-900)}.option-grid span{color:var(--muted);font-size:12px}.support-panel{background:linear-gradient(100deg,var(--magenta),var(--purple-700));color:#fff;border-radius:22px;padding:40px;display:flex;justify-content:space-between;align-items:center;gap:30px}.support-panel h2{color:#fff}.support-actions{display:flex;gap:10px;flex-wrap:wrap}.mini-hero{background:linear-gradient(135deg,var(--purple-950),var(--purple-700));color:#fff;padding:70px 0}.mini-hero h1{font-size:52px}.article-layout{display:grid;grid-template-columns:1fr 300px;gap:42px}.article-layout article{font-size:17px}.article-layout article h2{font-size:44px;color:var(--purple-900)}.article-image{width:100%;max-height:560px;object-fit:cover;border-radius:18px;margin:25px 0}.article-aside{padding:25px;border:1px solid var(--line);border-radius:16px;height:max-content;position:sticky;top:105px}.article-aside a{color:var(--magenta);font-weight:800}.auth-wrap{max-width:520px}.auth-card{padding:35px;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);display:grid;gap:18px}.auth-card h2{font-size:34px;color:var(--purple-900);margin:0}.auth-card>a{color:var(--magenta);font-weight:700;font-size:13px}.legal{max-width:850px}.legal h2,.legal h3{color:var(--purple-900)}.search-form{display:flex;gap:10px;max-width:800px;margin:auto}.empty-state{text-align:center;max-width:760px;margin:30px auto;padding:50px;border:1px dashed #d8c8e2;border-radius:20px}.toast{position:fixed;right:20px;bottom:20px;background:var(--purple-900);color:#fff;padding:14px 18px;border-radius:10px;box-shadow:var(--shadow);transform:translateY(130px);opacity:0;transition:.25s;z-index:1000}.toast.show{transform:none;opacity:1}.reveal{opacity:0;transform:translateY(16px);transition:.55s}.reveal.in{opacity:1;transform:none}
@media(max-width:1100px){.primary-nav{gap:10px;font-size:11px}.brand{min-width:220px}.brand strong,.brand b{font-size:15px}.focus-grid{grid-template-columns:repeat(3,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(4,1fr)}.portal-layout{grid-template-columns:190px 1fr}.portal-side{grid-column:2}.gallery-grid.compact{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){:root{--container:min(100% - 30px,760px)}.topbar-contact span{display:none}.header-inner{min-height:74px}.brand img{width:55px;height:55px}.menu-toggle{display:block}.primary-nav{display:none;position:absolute;left:15px;right:15px;top:75px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:14px;flex-direction:column;align-items:stretch}.primary-nav.open{display:flex}.nav-link{padding:11px}.nav-link:after{display:none}.hero-home,.hero-grid{min-height:520px}.hero-grid{display:block}.hero-overlay{background:linear-gradient(90deg,rgba(24,3,39,.96),rgba(37,3,62,.55))}.stats-grid{grid-template-columns:repeat(2,1fr)}.stats-grid article:nth-child(2){border-right:0}.stats-grid article{border-bottom:1px solid rgba(255,255,255,.14)}.split,.story-layout,.programme-feature,.programme-intro,.media-feature,.contact-layout,.article-layout{grid-template-columns:1fr}.focus-grid{grid-template-columns:repeat(2,1fr)}.values-grid{grid-template-columns:1fr}.project-grid{grid-template-columns:repeat(2,1fr)}.masonry-mini{grid-template-columns:repeat(3,1fr)}.news-grid,.archive-grid{grid-template-columns:repeat(2,1fr)}.get-involved-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(3,1fr)}.focus-feature,.focus-feature:nth-child(even){grid-template-columns:1fr}.focus-feature:nth-child(even)>div:first-child{order:0}.process-grid{grid-template-columns:repeat(3,1fr)}.edition-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(3,1fr)}.form-shell{grid-template-columns:1fr}.form-aside{grid-row:auto}.stepper,.stepper.seven{grid-template-columns:repeat(3,1fr);gap:13px}.portal-layout{grid-template-columns:1fr}.portal-nav{position:static;display:flex;overflow:auto}.portal-nav a{white-space:nowrap}.portal-side{grid-column:auto}.quick-grid{grid-template-columns:repeat(2,1fr)}.contact-cards{grid-template-columns:repeat(2,1fr)}.article-aside{position:static}.prefooter-inner,.support-panel{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){:root{--container:min(100% - 24px,560px)}.topbar-contact{gap:10px}.topbar-contact a:nth-child(2){display:none}.social-link{display:none}.brand span small{display:none}.brand{min-width:0}.brand strong,.brand b{font-size:13px}.hero-copy{padding-block:55px}.hero-copy h1,.page-hero h1{font-size:44px}.hero-copy p{font-size:15px}.hero-home{min-height:530px;background-position:63% center}.hero-home .hero-overlay{background:linear-gradient(90deg,rgba(24,3,39,.97) 0%,rgba(37,3,62,.82) 67%,rgba(37,3,62,.44))}.stats-grid{grid-template-columns:1fr 1fr}.stats-grid article{padding:18px 15px}.stats-grid strong{font-size:22px}.section{padding:54px 0}.focus-grid,.project-grid,.news-grid,.archive-grid,.two-cards,.contact-cards,.option-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(2,1fr)}.team-card img{height:190px}.masonry-mini{grid-template-columns:repeat(2,1fr)}.gallery-grid,.gallery-grid.compact{grid-template-columns:repeat(2,1fr)}.gallery-grid.compact .gallery-item img,.gallery-item img{height:160px}.row-heading{align-items:flex-start;flex-direction:column}.media-badge{right:12px}.process-grid{grid-template-columns:1fr 1fr}.prefooter h2{font-size:27px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}.field-grid{grid-template-columns:1fr}.field-grid .full{grid-column:auto}.stepper,.stepper.seven{grid-template-columns:repeat(2,1fr)}.step span{font-size:9px}.multi-form{padding:22px}.form-actions{justify-content:space-between}.form-actions .btn{flex:1}.quick-grid,.dashboard-grid{grid-template-columns:1fr}.update-row{grid-template-columns:85px 1fr}.update-row img{width:85px}.portal-hero h1,.mini-hero h1{font-size:38px}.contact-form,.contact-options{padding:22px}.support-panel{padding:28px}.article-layout article h2{font-size:34px}.review-box dl{grid-template-columns:1fr}.search-form{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* HF7 cinematic hero seam polish */
@media (min-width: 861px){
  .home-hero .hero-visual::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:18%;
    pointer-events:none;
    background:linear-gradient(90deg, rgba(40,0,58,.96) 0%, rgba(40,0,58,.62) 38%, rgba(40,0,58,.18) 72%, rgba(40,0,58,0) 100%);
    z-index:2;
  }
  .home-hero .hero-visual img{position:relative;z-index:1;}
}


/* === hf1.css === */
/* TAF Frontend V1 HF1 — Approved Mockup Visual Fidelity Repair */
:root{
  --purple-950:#13001f;--purple-900:#210036;--purple-850:#2a0248;--purple-800:#37035f;--purple-700:#520887;
  --magenta:#f0008f;--magenta-2:#ff31ad;--gold:#f5bc18;--gold-2:#ffd55a;--ink:#21152a;--muted:#716979;
  --off:#fbf8fc;--soft-pink:#fff6fb;--line:#eee5f0;--radius:20px;--radius-lg:30px;
  --shadow:0 22px 60px rgba(32,0,52,.13);--shadow-soft:0 12px 35px rgba(32,0,52,.08);
  --container:min(1320px,calc(100% - 64px));
  --font:"Aptos","Segoe UI",Arial,sans-serif;
}
body{font-family:var(--font);font-size:16px;line-height:1.62;background:#fff;color:var(--ink);-webkit-font-smoothing:antialiased}
.container{width:var(--container)}
.topbar{background:#230037;color:#fff;border-bottom:1px solid rgba(245,188,24,.22)}
.topbar-inner{min-height:31px;font-size:11px}.topbar-contact{gap:28px}.topbar a,.topbar span{color:rgba(255,255,255,.86)}
.site-header{top:0;background:#070609;border-bottom:1px solid rgba(245,188,24,.34);box-shadow:0 8px 30px rgba(0,0,0,.12);backdrop-filter:none}
.header-inner{min-height:88px;gap:26px}.brand{min-width:285px;gap:12px}.brand img{width:66px;height:66px;filter:drop-shadow(0 4px 11px rgba(245,188,24,.16))}.brand strong{font-size:19px;color:#fff;letter-spacing:.07em}.brand b{font-size:18px;color:var(--gold);letter-spacing:.16em}.brand small{color:rgba(255,255,255,.57);font-size:8px}.primary-nav{gap:19px;color:#fff;font-size:11px;font-weight:800}.nav-link{padding:32px 0 28px}.nav-link:after{bottom:22px;background:var(--gold);height:2px}.nav-link:hover,.nav-link.is-active{color:var(--gold)}
.btn{border-radius:7px;padding:14px 22px;font-size:12px;letter-spacing:.01em;min-height:44px}.btn-portal{background:linear-gradient(135deg,#e2008c,var(--magenta-2));box-shadow:0 9px 24px rgba(240,0,143,.22)}.btn-purple{background:linear-gradient(135deg,#5f0b8e,#2a0149)}.btn-gold{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#260031}.btn-magenta{background:linear-gradient(135deg,var(--magenta-2),#d90083)}
.menu-toggle span:not(.sr-only){background:#fff}

/* Hero system */
.hero,.page-hero,.portal-hero{overflow:hidden;background-image:var(--hero);background-repeat:no-repeat;background-color:var(--purple-950)}
.hero-home{min-height:655px;background-image:var(--hero);background-size:cover;background-position:70% 50%;display:grid;align-items:center}
.hero-home:before,.page-hero:before,.portal-hero:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(19,0,31,.99) 0%,rgba(28,0,48,.94) 30%,rgba(39,0,62,.71) 54%,rgba(19,0,31,.18) 78%,rgba(19,0,31,.09) 100%)}
.hero-home:after,.page-hero:after,.portal-hero:after{content:"";position:absolute;z-index:2;left:-2%;right:-2%;bottom:-1px;height:42px;background:linear-gradient(90deg,var(--gold) 0 35%,var(--magenta) 63% 100%);clip-path:polygon(0 78%,28% 60%,58% 17%,82% 43%,100% 2%,100% 100%,0 100%)}
.hero-overlay{z-index:0;background:radial-gradient(circle at 78% 38%,rgba(240,0,143,.08),transparent 31%)}
.hero-grid,.page-hero .hero-copy,.portal-hero>.container{position:relative;z-index:1}
.hero-grid{grid-template-columns:minmax(0,640px) 1fr;min-height:655px}.hero-copy{padding-block:88px;max-width:650px}.hero-copy .eyebrow{font-size:15px;letter-spacing:.06em}.hero-copy h1,.page-hero h1,.portal-hero h1{font-size:clamp(58px,5.7vw,86px);line-height:.94;letter-spacing:-.045em;margin:13px 0 21px;font-weight:900}.hero-copy h1 em,.page-hero h1 em,.portal-hero h1 em{color:var(--gold)}.hero-copy p{font-size:18px;line-height:1.55;max-width:610px;color:rgba(255,255,255,.91)}.hero-actions{margin-top:31px;gap:15px}.hero-note{margin-top:29px;display:inline-flex;align-items:center;gap:10px;padding:14px 18px;border:1px solid rgba(245,188,24,.38);border-radius:9px;background:rgba(9,4,12,.52);font-size:13px;color:#fff}.hero-note:before{content:"";width:19px;height:19px;background:var(--gold);-webkit-mask:url('../icons/calendar.svg') center/contain no-repeat;mask:url('../icons/calendar.svg') center/contain no-repeat;flex:none}
.page-hero{min-height:455px;background-position:center 43%}.page-hero .hero-copy{padding:86px 0 96px;max-width:700px}.page-hero h1{font-size:clamp(48px,5vw,72px)}.page-hero p{font-size:18px;max-width:620px;color:rgba(255,255,255,.88)}.breadcrumbs{color:rgba(255,255,255,.68);letter-spacing:.04em}.portal-hero{min-height:360px;padding:82px 0;background-position:center 45%}.portal-hero>.container{max-width:1320px}.portal-hero h1{font-size:58px;text-transform:none}

/* Floating impact strip */
.stat-band{background:transparent;margin-top:-45px;position:relative;z-index:8;padding:0 0 12px}.stats-grid{background:linear-gradient(100deg,#2a0248,#420568 62%,#2a0248);border:1px solid rgba(245,188,24,.24);border-radius:19px;box-shadow:0 20px 55px rgba(33,0,52,.20);overflow:hidden}.stats-grid article{position:relative;padding:27px 28px 27px 83px;min-height:118px;border-right:1px solid rgba(255,255,255,.13);display:flex;flex-direction:column;justify-content:center}.stats-grid article:before{content:"";position:absolute;left:25px;top:31px;width:42px;height:42px;background:var(--gold);-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}.stats-grid article:nth-child(1):before{-webkit-mask-image:url('../icons/people.svg');mask-image:url('../icons/people.svg')}.stats-grid article:nth-child(2):before{-webkit-mask-image:url('../icons/calendar.svg');mask-image:url('../icons/calendar.svg')}.stats-grid article:nth-child(3):before{-webkit-mask-image:url('../icons/pillars.svg');mask-image:url('../icons/pillars.svg')}.stats-grid article:nth-child(4):before{-webkit-mask-image:url('../icons/book.svg');mask-image:url('../icons/book.svg')}.stats-grid strong{font-size:31px;line-height:1;color:#fff}.stats-grid span{font-size:14px;margin-top:5px}.stats-grid small{font-size:10.5px;color:rgba(255,255,255,.62)}

.section{padding:86px 0}.section.soft{background:linear-gradient(180deg,#fff 0%,#fbf8fc 18%,#fbf8fc 100%)}.section-heading{margin-bottom:42px}.section-heading h2,.content-block h2,.story-layout h2,.programme-copy h2,.focus-feature h2,.media-feature h2,.contact-form h2,.support-panel h2{font-size:clamp(34px,3.4vw,52px);font-weight:900;line-height:1.06;letter-spacing:-.035em}.eyebrow{font-size:12px;letter-spacing:.10em}.section-heading:before{content:"";width:56px;height:5px;border-radius:6px;background:linear-gradient(90deg,var(--gold),var(--magenta));display:block;margin:0 auto 12px}.row-heading:before{margin:0 0 12px}.row-heading{align-items:end}.row-heading>a{padding-bottom:12px}

/* Home about block */
.home-about{padding-top:74px}.home-about-grid{display:grid;grid-template-columns:1.04fr 1.02fr .84fr;gap:42px;align-items:center}.home-about .media-main{height:390px}.home-about .content-block h2{font-size:45px}.home-about .content-block h2 strong{color:var(--magenta)}.home-focus-mini{background:linear-gradient(145deg,#fff9ef,#fff);border:1px solid #f0e6d5;border-radius:18px;padding:24px;box-shadow:var(--shadow-soft);display:grid;gap:12px}.home-focus-mini a{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:5px 0}.home-focus-mini i{width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid #eedfc3;display:grid;place-items:center}.home-focus-mini i:after{content:"";width:23px;height:23px;background:linear-gradient(145deg,var(--purple-700),var(--magenta));-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}.home-focus-mini a:nth-child(1) i:after{-webkit-mask-image:url('../icons/education.svg');mask-image:url('../icons/education.svg')}.home-focus-mini a:nth-child(2) i:after{-webkit-mask-image:url('../icons/health.svg');mask-image:url('../icons/health.svg')}.home-focus-mini a:nth-child(3) i:after{-webkit-mask-image:url('../icons/human-capital.svg');mask-image:url('../icons/human-capital.svg')}.home-focus-mini a:nth-child(4) i:after{-webkit-mask-image:url('../icons/sports.svg');mask-image:url('../icons/sports.svg')}.home-focus-mini a:nth-child(5) i:after{-webkit-mask-image:url('../icons/sme.svg');mask-image:url('../icons/sme.svg')}.home-focus-mini b{display:block;color:var(--purple-900);font-size:13px}.home-focus-mini span{display:block;font-size:10.5px;color:var(--muted)}
.media-main{border-radius:18px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.9)}.media-badge{right:-14px;background:linear-gradient(145deg,#310253,#160125);border:1px solid rgba(245,188,24,.25)}

/* Focus cards with real line icons */
.focus-grid{gap:18px}.focus-card{position:relative;border:1px solid #eee7f0;border-radius:15px;padding:26px 22px 28px;min-height:260px;box-shadow:0 13px 35px rgba(43,4,68,.07);overflow:hidden}.focus-card:before{content:"";position:absolute;inset:auto -45px -70px auto;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(240,0,143,.08),transparent 68%)}.focus-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(42,2,70,.12);border-color:#e6d4e7}.focus-icon{position:relative;width:55px;height:55px;background:#fff;border:1px solid #eadced;color:transparent;font-size:0;box-shadow:0 8px 22px rgba(43,4,68,.06)}.focus-icon:after{content:"";width:30px;height:30px;background:linear-gradient(135deg,var(--purple-700),var(--magenta));-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}.focus-card:nth-child(1) .focus-icon:after{-webkit-mask-image:url('../icons/education.svg');mask-image:url('../icons/education.svg')}.focus-card:nth-child(2) .focus-icon:after{-webkit-mask-image:url('../icons/health.svg');mask-image:url('../icons/health.svg')}.focus-card:nth-child(3) .focus-icon:after{-webkit-mask-image:url('../icons/human-capital.svg');mask-image:url('../icons/human-capital.svg')}.focus-card:nth-child(4) .focus-icon:after{-webkit-mask-image:url('../icons/sports.svg');mask-image:url('../icons/sports.svg')}.focus-card:nth-child(5) .focus-icon:after{-webkit-mask-image:url('../icons/sme.svg');mask-image:url('../icons/sme.svg')}.focus-card h3{font-size:18px;margin:16px 0 9px}.focus-card p{font-size:13px;line-height:1.55}.focus-card a{margin-top:auto;display:inline-block;color:var(--magenta)}

/* Guiding light */
body[data-page="Home"] .values-band{background:linear-gradient(180deg,#fff8fb,#fff);color:var(--ink);padding-top:22px;padding-bottom:78px}
body[data-page="Home"] .values-grid{gap:18px}
body[data-page="Home"] .values-grid article{position:relative;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft);padding:28px 30px 30px 88px;min-height:185px;color:var(--ink)}
body[data-page="Home"] .values-grid article:before{content:"";position:absolute;left:28px;top:31px;width:42px;height:42px;background:linear-gradient(135deg,var(--purple-700),var(--magenta));-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
body[data-page="Home"] .values-grid article:nth-child(1):before{-webkit-mask-image:url('../icons/vision.svg');mask-image:url('../icons/vision.svg')}
body[data-page="Home"] .values-grid article:nth-child(2):before{-webkit-mask-image:url('../icons/mission.svg');mask-image:url('../icons/mission.svg')}
body[data-page="Home"] .values-grid article:nth-child(3):before{-webkit-mask-image:url('../icons/values.svg');mask-image:url('../icons/values.svg')}
body[data-page="Home"] .values-grid span{color:var(--purple-700)}body[data-page="Home"] .values-grid h3{color:var(--purple-900);font-size:20px}body[data-page="Home"] .values-grid p{color:var(--muted);font-size:13px}
.values-band{background:radial-gradient(circle at 80% 20%,rgba(240,0,143,.20),transparent 30%),linear-gradient(135deg,#1d0034,#420566)}.values-grid article{border-color:rgba(245,188,24,.22);background:rgba(255,255,255,.045);box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}

/* Programme spotlight */
.programme-feature{position:relative;border-radius:22px;background:linear-gradient(115deg,#22003b,#3d075f 57%,#210036);box-shadow:0 24px 65px rgba(32,0,52,.16);border:1px solid rgba(245,188,24,.28)}.programme-feature:before{content:"";position:absolute;left:0;top:0;width:6px;height:100%;background:linear-gradient(var(--gold),var(--magenta));z-index:2}.programme-copy{padding:52px 50px}.programme-copy h2{font-size:48px}.programme-copy p{font-size:15px;line-height:1.65}.programme-image{min-height:410px;filter:saturate(.95) contrast(1.04)}

/* Rich content cards */
.project-grid{gap:20px}.project-card,.news-card,.archive-card,.team-card{border-radius:16px;box-shadow:0 13px 34px rgba(38,3,61,.08);transition:.24s transform,.24s box-shadow;border:1px solid #eee5ef}.project-card:hover,.news-card:hover,.archive-card:hover,.team-card:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(38,3,61,.13)}.project-card img{height:225px}.project-card>div{padding:21px}.project-card h3{font-size:18px}.masonry-mini{gap:12px}.masonry-mini img{height:175px;border-radius:13px;box-shadow:0 10px 26px rgba(32,0,52,.08);transition:.2s}.masonry-mini img:hover{transform:translateY(-4px)}.news-grid{gap:22px}.news-card img{height:230px}.news-card>div{padding:21px}.news-card h3{font-size:19px;line-height:1.3}
.get-involved-grid{gap:18px}.action-card{position:relative;min-height:175px;padding:34px 34px 30px 88px;border-radius:17px;border:1px solid rgba(245,188,24,.28);border-bottom:3px solid var(--gold);background:linear-gradient(145deg,#30004f,#160025);box-shadow:0 16px 36px rgba(34,0,53,.14)}.action-card:before{content:"";position:absolute;left:28px;top:35px;width:42px;height:42px;background:var(--gold);-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}.action-card:nth-child(1):before{-webkit-mask-image:url('../icons/education.svg');mask-image:url('../icons/education.svg')}.action-card:nth-child(2):before{-webkit-mask-image:url('../icons/people.svg');mask-image:url('../icons/people.svg')}.action-card:nth-child(3):before{-webkit-mask-image:url('../icons/heart-hands.svg');mask-image:url('../icons/heart-hands.svg')}.action-card b{font-size:20px}.action-card span{font-size:13px}
.prefooter{position:relative;overflow:hidden;background:linear-gradient(90deg,#d70082,#5a087d);padding:45px 0;border-top:1px solid rgba(245,188,24,.35)}.prefooter:after{content:"";position:absolute;right:-110px;top:-180px;width:430px;height:430px;border:42px solid rgba(255,255,255,.07);border-radius:50%;box-shadow:0 0 0 35px rgba(245,188,24,.05)}
.prefooter-inner{position:relative;z-index:1}.prefooter h2{font-size:38px}.site-footer{background:linear-gradient(180deg,#170024,#09000e);padding-top:58px;border-top:1px solid rgba(245,188,24,.24)}.footer-grid{grid-template-columns:1.45fr repeat(3,1fr);gap:45px}.footer-brand strong{color:#fff}.footer-brand b{color:var(--gold)}.site-footer h3{color:var(--gold);font-size:12px}.site-footer a:hover{color:var(--gold)}.footer-bottom{border-top-color:rgba(255,255,255,.10);margin-top:37px}

/* Inner page content refinement */
.story-layout{gap:70px}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:30px;top:16px;bottom:16px;width:2px;background:linear-gradient(var(--gold),var(--magenta))}.timeline article{position:relative;padding:21px 25px 21px 76px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-soft);margin-bottom:14px}.timeline article:before{content:"";position:absolute;left:20px;top:25px;width:22px;height:22px;border-radius:50%;background:var(--purple-800);border:5px solid #fff;box-shadow:0 0 0 2px var(--gold)}.team-grid{gap:18px}.team-card img{filter:saturate(.95)}.focus-feature{border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff}.focus-feature>div{padding:45px}.process-grid article,.edition-grid article,.info-card{box-shadow:var(--shadow-soft);border-color:var(--line);border-radius:16px}
.gallery-item{overflow:hidden;border-radius:14px;box-shadow:var(--shadow-soft)}.gallery-item img{transition:.35s transform}.gallery-item:hover img{transform:scale(1.035)}.filter-bar{background:#fff;position:sticky;top:88px;z-index:20;padding:16px;border:1px solid var(--line);border-radius:15px;box-shadow:0 10px 30px rgba(32,0,52,.07)}

/* Forms */
.form-hero.page-hero{min-height:405px}.stepper{margin-top:-43px;position:relative;z-index:8;background:#fff;padding:22px 26px;border-radius:18px;border:1px solid var(--line);box-shadow:0 18px 50px rgba(38,2,62,.13)}.step b{width:43px;height:43px;box-shadow:0 7px 18px rgba(38,2,62,.08)}.multi-form,.form-aside article,.contact-form,.contact-options,.portal-nav,.portal-panel,.portal-side article{border-radius:18px;box-shadow:0 13px 38px rgba(34,2,55,.07)}.multi-form{padding:38px}.form-step h2{font-size:34px}.form-section{border-top:1px solid var(--line);padding-top:22px;margin-top:28px}input,textarea,select{min-height:48px;border-radius:9px;background:#fff;border-color:#ddd3e1}.form-aside article{padding:25px}.privacy-card{background:linear-gradient(145deg,#f2fbf6,#fff)!important}

/* Portal */
.portal-layout{gap:23px}.portal-nav{background:linear-gradient(180deg,#fff,#fbf8fc);padding:15px}.portal-nav a{font-weight:700}.portal-nav a.is-active{background:linear-gradient(135deg,var(--magenta),#c9007b)}.quick-grid a,.dashboard-card{background:#fff;box-shadow:var(--shadow-soft)}.quick-grid a:hover{border-color:#e7c9e3;transform:translateY(-2px)}.portal-panel h2,.portal-side h3{color:var(--purple-900)}

/* Contact */
.contact-strip{margin-top:-35px;position:relative;z-index:8}.contact-cards{background:#fff;border:1px solid var(--line);border-radius:17px;padding:13px;box-shadow:0 17px 43px rgba(34,2,55,.11)}.contact-cards article{border:0;border-right:1px solid var(--line);border-radius:0}.contact-cards article:last-child{border-right:0}.option-grid a{transition:.2s}.option-grid a:hover{transform:translateY(-3px);border-color:#e4bedb;box-shadow:var(--shadow-soft)}.support-panel{background:linear-gradient(100deg,#db0084,#3b035f);border:1px solid rgba(245,188,24,.25)}

@media(max-width:1180px){
  :root{--container:min(100% - 40px,1060px)}.brand{min-width:235px}.brand strong,.brand b{font-size:15px}.primary-nav{gap:12px;font-size:10px}.home-about-grid{grid-template-columns:1fr 1fr}.home-focus-mini{grid-column:1/-1;grid-template-columns:repeat(5,1fr)}.home-focus-mini a{grid-template-columns:36px 1fr}.home-focus-mini i{width:34px;height:34px}.stats-grid article{padding-left:70px}.stats-grid article:before{left:20px;width:34px;height:34px}.project-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  :root{--container:min(100% - 30px,760px)}.site-header{background:#070609}.header-inner{min-height:76px}.brand{min-width:0}.brand img{width:54px;height:54px}.menu-toggle{display:block}.primary-nav{top:77px;background:#12001e;border-color:rgba(245,188,24,.24);color:#fff}.primary-nav .btn{margin-top:5px}.hero-home,.hero-grid{min-height:590px}.hero-home{background-position:66% center}.hero-home:before{background:linear-gradient(90deg,rgba(19,0,31,.98) 0%,rgba(30,0,49,.90) 60%,rgba(19,0,31,.48) 100%)}.hero-copy{padding-block:68px}.hero-copy h1{font-size:61px}.stat-band{margin-top:-28px}.stats-grid{grid-template-columns:repeat(2,1fr)}.home-about-grid{grid-template-columns:1fr}.home-focus-mini{grid-template-columns:repeat(2,1fr)}.focus-grid{grid-template-columns:repeat(2,1fr)}.focus-card{min-height:230px}.programme-feature{grid-template-columns:1fr}.programme-image{min-height:320px}.project-grid{grid-template-columns:repeat(2,1fr)}.values-grid{grid-template-columns:1fr}.get-involved-grid{grid-template-columns:1fr}.filter-bar{top:76px}.contact-cards article:nth-child(2){border-right:0}
}
@media(max-width:620px){
  :root{--container:min(100% - 24px,560px)}.topbar{display:none}.header-inner{min-height:72px}.brand img{width:50px;height:50px}.brand strong{font-size:13px}.brand b{font-size:12px}.hero-home,.hero-grid{min-height:610px}.hero-home{background-position:66% center}.hero-home:before{background:linear-gradient(90deg,rgba(19,0,31,.97) 0%,rgba(30,0,49,.88) 72%,rgba(19,0,31,.50) 100%)}.hero-copy{padding:72px 0 93px}.hero-copy .eyebrow{font-size:12px}.hero-copy h1,.page-hero h1{font-size:46px}.hero-copy p{font-size:14px;max-width:96%}.hero-actions .btn{width:100%}.hero-note{font-size:11px}.hero-home:after,.page-hero:after,.portal-hero:after{height:29px}.stat-band{margin-top:-14px}.stats-grid{grid-template-columns:1fr 1fr;border-radius:13px}.stats-grid article{min-height:116px;padding:20px 13px 18px 51px}.stats-grid article:before{left:13px;top:26px;width:27px;height:27px}.stats-grid strong{font-size:24px}.stats-grid span{font-size:11px}.stats-grid small{font-size:9px}.section{padding:64px 0}.section-heading h2,.content-block h2,.programme-copy h2{font-size:36px}.home-about .media-main{height:330px}.home-focus-mini{grid-template-columns:1fr}.focus-grid,.project-grid,.news-grid{grid-template-columns:1fr}.focus-card{min-height:0}.programme-copy{padding:37px 28px}.programme-image{min-height:270px}.project-card img,.news-card img{height:220px}.masonry-mini{grid-template-columns:repeat(2,1fr)}.masonry-mini img{height:150px}.action-card{padding:30px 26px 26px 78px}.prefooter h2{font-size:30px}.page-hero{min-height:400px}.page-hero .hero-copy{padding:74px 0 86px}.portal-hero h1{font-size:42px}.contact-cards{grid-template-columns:1fr;padding:0}.contact-cards article{border-right:0;border-bottom:1px solid var(--line);padding:17px}.contact-cards article:last-child{border-bottom:0}.stepper{margin-top:-27px;padding:17px 15px}.multi-form{padding:24px}.home-focus-mini{padding:20px}
}
.focus-card{display:flex;flex-direction:column}.focus-card a{margin-top:auto}.guiding-heading{padding:0 24px}.guiding-heading h2{color:var(--purple-900);margin:8px 0 0}.get-involved-heading{margin-bottom:30px}


/* === hf2.css === */
/* TAF Frontend V1 HF2 — browser fidelity / reliable media layer repair */

/* Explicit media layers avoid CSS custom-property URL resolution differences in local-file and WordPress contexts. */
.hero,.page-hero,.portal-hero{position:relative;isolation:isolate;background-image:none!important;background-color:#21002f;overflow:hidden}
.hero-media{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:center;z-index:0;display:block}
.hero-home .hero-media{object-position:70% 48%;filter:saturate(1.03) contrast(1.03)}
.page-hero .hero-media,.portal-hero .hero-media{object-position:center 44%;filter:saturate(.98) contrast(1.03)}
.hero-home:before,.page-hero:before,.portal-hero:before{z-index:1!important;background:linear-gradient(90deg,rgba(18,0,29,.99) 0%,rgba(29,0,45,.95) 29%,rgba(45,3,66,.78) 51%,rgba(24,0,39,.31) 72%,rgba(17,0,27,.13) 100%)!important}
.hero-overlay{z-index:1!important;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.12))!important}
.hero-grid,.page-hero .hero-copy,.portal-hero>.container{position:relative;z-index:2!important}
.hero-home:after,.page-hero:after,.portal-hero:after{z-index:3!important}
.hero-home,.hero-grid{min-height:700px}
.hero-copy{padding-block:100px 118px;max-width:660px}
.hero-copy h1{font-size:clamp(62px,5.9vw,92px);max-width:680px;text-shadow:0 2px 20px rgba(0,0,0,.18)}
.hero-copy p{font-size:18px;max-width:610px}
.hero-note{backdrop-filter:blur(8px);background:rgba(10,2,17,.58)}

/* Hero/stat relationship from the approved composition. */
.stat-band{position:relative;z-index:9;margin-top:-54px;background:none;padding:0 0 16px}
.stats-grid{background:linear-gradient(112deg,#25003d 0%,#3d075f 55%,#1b002e 100%);border:1px solid rgba(245,188,24,.25);border-radius:18px;overflow:hidden;box-shadow:0 25px 54px rgba(32,0,52,.26)}
.stats-grid article{position:relative;min-height:136px;padding:29px 22px 25px 82px;display:flex;flex-direction:column;justify-content:center}
.stats-grid article:before{display:none!important}
.stat-icon{position:absolute;left:25px;top:34px;width:39px!important;height:39px!important;object-fit:contain;filter:brightness(0) saturate(100%) invert(75%) sepia(91%) saturate(892%) hue-rotate(351deg) brightness(103%) contrast(101%)}
.stats-grid strong{font-size:33px;line-height:1;color:#fff}
.stats-grid span{font-size:14px;margin-top:5px;color:#fff}
.stats-grid small{font-size:10px;color:rgba(255,255,255,.67)}

/* More generous premium page rhythm. */
:root{--container:min(100% - 64px,1320px)}
.section{padding:96px 0}
.section.soft{background:linear-gradient(180deg,#fcf9fd,#fff7fc)}
.section-heading{margin-bottom:45px}
.section-heading h2,.content-block h2,.story-layout h2,.programme-copy h2{letter-spacing:-.035em}

/* About composition */
.home-about-grid{grid-template-columns:1.04fr .9fr .78fr;gap:42px}
.home-about .media-main{height:500px;border-radius:20px}
.home-about .content-block h2{font-size:54px}
.home-focus-mini{padding:22px 18px;border-radius:18px;background:linear-gradient(145deg,#fffaf0,#fff);box-shadow:0 16px 40px rgba(37,4,58,.08)}
.home-focus-mini a{padding:12px 10px}

/* Real inline SVG files, not pseudo masks, so icons render in file://, server and WordPress. */
.focus-icon{display:grid!important;place-items:center!important;color:transparent!important;font-size:0!important}
.focus-icon:after{display:none!important}
.focus-icon img{width:31px!important;height:31px!important;display:block!important;filter:brightness(0) saturate(100%) invert(18%) sepia(38%) saturate(5912%) hue-rotate(270deg) brightness(73%) contrast(106%)}
.focus-grid{gap:20px}
.focus-card{padding:30px 24px 31px;min-height:292px;background:linear-gradient(180deg,#fff,#fffafd)}
.focus-card h3{font-size:20px}
.focus-card p{line-height:1.65}

/* Guiding values */
.values-band{padding:88px 0;background:radial-gradient(circle at 84% 7%,rgba(240,0,143,.25),transparent 34%),linear-gradient(120deg,#160024,#390055 52%,#210032)}
.values-grid{gap:27px}
.values-grid article{min-height:230px;padding:34px;border-color:rgba(245,188,24,.20);background:rgba(255,255,255,.055);box-shadow:0 16px 40px rgba(0,0,0,.09)}
.values-grid h3{font-size:24px}
.values-grid p{font-size:15px;line-height:1.65}

/* Programme / archive content */
.programme-feature{grid-template-columns:.82fr 1.18fr;min-height:470px;border-radius:24px}
.programme-copy{padding:62px 56px}
.programme-copy h2{font-size:54px}
.programme-image{min-height:470px}
.project-grid{gap:24px}
.project-card img{height:250px}
.project-card>div{padding:24px}
.masonry-mini{gap:14px}
.masonry-mini img{height:190px}
.news-card img{height:255px}
.news-card>div{padding:24px}
.get-involved-grid{gap:22px}
.action-card{min-height:205px;padding:42px 36px 34px 94px}
.action-card b{font-size:23px}
.prefooter{padding:52px 0}.prefooter h2{font-size:42px}
.site-footer{padding-top:70px}.footer-grid{gap:52px}

/* Inner page hero fidelity */
.page-hero{min-height:500px}.page-hero .hero-copy{padding:105px 0 125px}.page-hero h1{font-size:clamp(54px,5.3vw,78px)}
.portal-hero{min-height:420px;padding:100px 0}

@media(max-width:1180px){
  :root{--container:min(100% - 42px,1080px)}
  .hero-home,.hero-grid{min-height:660px}.hero-copy{padding-block:88px 105px}
  .home-about-grid{grid-template-columns:1fr 1fr}.home-focus-mini{grid-column:1/-1;grid-template-columns:repeat(5,1fr)}
}
@media(max-width:900px){
  :root{--container:min(100% - 30px,760px)}
  .hero-home,.hero-grid{min-height:620px}.hero-home .hero-media{object-position:66% 50%}.hero-home:before{background:linear-gradient(90deg,rgba(18,0,29,.98),rgba(31,0,48,.91) 62%,rgba(18,0,29,.53))!important}.hero-copy{padding-block:74px 105px}.hero-copy h1{font-size:61px}
  .stat-band{margin-top:-35px}.stats-grid article{min-height:122px}
  .section{padding:76px 0}.home-about-grid{grid-template-columns:1fr}.home-about .media-main{height:430px}.home-focus-mini{grid-template-columns:repeat(2,1fr)}
  .project-card img,.news-card img{height:230px}.masonry-mini img{height:160px}
}
@media(max-width:620px){
  :root{--container:min(100% - 24px,560px)}
  .hero-home,.hero-grid{min-height:650px}.hero-home .hero-media{object-position:64% center}.hero-home:before{background:linear-gradient(90deg,rgba(18,0,29,.98),rgba(31,0,48,.92) 73%,rgba(18,0,29,.58))!important}.hero-copy{padding:78px 0 112px}.hero-copy h1{font-size:48px}.hero-copy p{font-size:15px}
  .stat-band{margin-top:-24px;padding-bottom:8px}.stats-grid article{min-height:126px;padding:21px 12px 19px 55px}.stat-icon{left:14px;top:31px;width:30px!important;height:30px!important}.stats-grid strong{font-size:25px}.stats-grid span{font-size:11px}
  .section{padding:68px 0}.home-about .media-main{height:350px}.home-about .content-block h2{font-size:38px}.home-focus-mini{grid-template-columns:1fr}.focus-card{min-height:0}.values-band{padding:68px 0}
  .programme-copy{padding:40px 29px}.programme-copy h2{font-size:39px}.programme-image{min-height:290px}.project-card img,.news-card img{height:220px}.masonry-mini img{height:155px}.action-card{min-height:175px;padding:32px 25px 29px 80px}.prefooter h2{font-size:31px}
  .page-hero{min-height:420px}.page-hero .hero-copy{padding:80px 0 96px}.page-hero h1{font-size:47px}
}


/* === hf3.css === */
/* TAF Frontend V1 HF3 — homepage image authority refinement */
.hero-home{
  isolation:isolate;
  min-height:700px;
  background:#190125;
}
.hero-home .hero-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:68% 50%;
  filter:saturate(1.04) contrast(1.03) brightness(1.02);
  z-index:0;
}
.hero-home:before{
  background:linear-gradient(90deg,
    rgba(18,0,29,.985) 0%,
    rgba(27,0,43,.965) 27%,
    rgba(38,2,58,.84) 46%,
    rgba(31,0,47,.43) 61%,
    rgba(17,0,27,.08) 78%,
    rgba(17,0,27,.015) 100%)!important;
}
.hero-home .hero-copy{
  max-width:650px;
}
.hero-home .hero-copy h1{
  max-width:620px;
}
.home-about .media-main{
  object-fit:cover;
  object-position:center 46%;
  background:#f4efe8;
}
@media (max-width:900px){
  .hero-home .hero-media{object-position:64% center}
  .hero-home:before{background:linear-gradient(90deg,rgba(18,0,29,.985),rgba(29,0,46,.93) 63%,rgba(17,0,27,.42))!important}
}
@media (max-width:640px){
  .hero-home .hero-media{object-position:61% center}
  .hero-home:before{background:linear-gradient(90deg,rgba(18,0,29,.985),rgba(29,0,46,.93) 76%,rgba(17,0,27,.48))!important}
}


/* === hf4.css === */
/* TAF Frontend V1 HF4 — sharp hero + About composition + icon fidelity */
.hero-home .hero-media{
  object-position:center center!important;
  filter:none!important;
}
.hero-home:before{
  background:linear-gradient(90deg,
    rgba(18,0,29,.985) 0%,
    rgba(24,0,39,.975) 27%,
    rgba(33,0,51,.88) 42%,
    rgba(30,0,47,.50) 55%,
    rgba(18,0,29,.14) 70%,
    rgba(18,0,29,.02) 100%)!important;
}
.hero-home .hero-overlay{
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.10))!important;
}
/* Preserve the user's selected About image as a complete 16:9 photograph instead of a portrait crop. */
.home-about .media-stack{align-self:center}
.home-about .media-main{
  width:100%;
  height:auto!important;
  aspect-ratio:16/9;
  object-fit:cover!important;
  object-position:center!important;
  display:block;
}
.home-about-grid{align-items:center}
/* Explicit mini focus icons; avoids pseudo-mask rendering differences in local file mode. */
.home-focus-mini i:after{display:none!important}
.home-focus-mini i img{
  width:23px;
  height:23px;
  display:block;
  object-fit:contain;
  filter:brightness(0) saturate(100%) invert(71%) sepia(99%) saturate(879%) hue-rotate(351deg) brightness(104%) contrast(102%);
}
@media(max-width:900px){
  .hero-home .hero-media{object-position:60% center!important}
  .hero-home:before{background:linear-gradient(90deg,rgba(18,0,29,.985),rgba(29,0,46,.94) 62%,rgba(18,0,29,.38))!important}
}
@media(max-width:620px){
  .hero-home .hero-media{object-position:64% center!important}
  .hero-home:before{background:linear-gradient(90deg,rgba(18,0,29,.985),rgba(29,0,46,.94) 74%,rgba(18,0,29,.48))!important}
  .home-about .media-main{aspect-ratio:16/10}
}


/* === hf5.css === */
/* TAF Frontend V1 HF5 — homepage final composition polish
   Controlled repair only: hero subject/overlay balance + tighter About transition. */

/* Keep the approved subject visibly on the photographic side of the hero. */
.hero-home .hero-media{
  transform:translateX(4.5%) scale(1.055);
  transform-origin:center center;
}

/* Concentrate the deep-purple readability treatment behind the copy, not over the child. */
.hero-home:before{
  background:linear-gradient(90deg,
    rgba(18,0,29,.99) 0%,
    rgba(24,0,39,.98) 26%,
    rgba(31,0,49,.88) 36%,
    rgba(30,0,47,.54) 44%,
    rgba(22,0,34,.24) 51%,
    rgba(18,0,29,.07) 59%,
    rgba(18,0,29,.015) 100%)!important;
}
.hero-home .hero-overlay{
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.055))!important;
}
.hero-home .hero-copy{max-width:610px}
.hero-home .hero-copy h1{max-width:600px}

/* Tighten the transition from the floating impact strip into About TAF. */
.stat-band{padding-bottom:0!important}
.home-about{padding-top:38px!important;padding-bottom:78px!important}
.home-about-grid{
  grid-template-columns:1.08fr 1fr .82fr!important;
  gap:34px!important;
  align-items:start!important;
}
.home-about .media-stack{align-self:start!important;margin-top:7px}
.home-about .content-block{padding-top:0}
.home-about .home-focus-mini{align-self:start;margin-top:8px}
.home-about .media-main{box-shadow:0 18px 45px rgba(32,0,52,.13)}

@media(max-width:1100px){
  .hero-home .hero-media{transform:translateX(3%) scale(1.045)}
  .home-about-grid{grid-template-columns:1fr 1fr!important}
  .home-focus-mini{grid-column:1/-1;grid-template-columns:repeat(5,1fr);gap:8px}
  .home-focus-mini a{grid-template-columns:36px 1fr}
}
@media(max-width:900px){
  .hero-home .hero-media{transform:translateX(1.5%) scale(1.025)}
  .hero-home:before{background:linear-gradient(90deg,rgba(18,0,29,.985) 0%,rgba(28,0,45,.95) 54%,rgba(18,0,29,.43) 100%)!important}
  .home-about{padding-top:32px!important}
  .home-about-grid{grid-template-columns:1fr!important;gap:28px!important}
  .home-focus-mini{grid-column:auto;grid-template-columns:1fr}
  .home-about .media-stack,.home-about .home-focus-mini{margin-top:0}
}
@media(max-width:620px){
  .hero-home .hero-media{transform:none}
  .hero-home:before{background:linear-gradient(90deg,rgba(18,0,29,.985) 0%,rgba(29,0,46,.94) 72%,rgba(18,0,29,.52) 100%)!important}
  .home-about{padding-top:28px!important;padding-bottom:56px!important}
}


/* === hf6.css === */
/* TAF Frontend V1 HF6 — Header Duplication + Hero Separation Repair
   Controlled repair only. Preserve all accepted HF5 content and sections. */

/* Full-page screenshot/browser capture safe: render one header only. */
.site-header{
  position:relative!important;
  top:auto!important;
  z-index:100!important;
}
.topbar{position:relative!important;z-index:101!important}

/* Desktop hero: reserve the left half exclusively for HTML copy and the right
   half for photography. This prevents the subject from ever covering the title. */
@media(min-width:901px){
  .hero-home{
    background:#210033!important;
    overflow:hidden!important;
  }
  .hero-home .hero-media{
    inset:0 0 0 52%!important;
    left:52%!important;
    right:0!important;
    width:48%!important;
    max-width:48%!important;
    height:100%!important;
    transform:none!important;
    object-fit:cover!important;
    object-position:70% center!important;
    filter:none!important;
  }
  .hero-home:before{
    background:linear-gradient(90deg,
      rgba(18,0,29,1) 0%,
      rgba(24,0,39,1) 38%,
      rgba(31,0,49,.99) 47%,
      rgba(31,0,49,.82) 51%,
      rgba(24,0,39,.18) 55%,
      rgba(18,0,29,0) 61%,
      rgba(18,0,29,0) 100%)!important;
  }
  .hero-home .hero-overlay{
    background:linear-gradient(180deg,rgba(0,0,0,.01),rgba(0,0,0,.05))!important;
  }
  .hero-home .hero-grid{
    grid-template-columns:48% 52%!important;
  }
  .hero-home .hero-copy{
    max-width:540px!important;
    position:relative;
    z-index:4;
  }
  .hero-home .hero-copy h1{
    max-width:520px!important;
    font-size:clamp(54px,5vw,78px)!important;
    line-height:.95!important;
  }
  .hero-home .hero-copy p{max-width:520px!important}
  .hero-home .hero-note{max-width:520px!important}
}

/* Keep the accepted mobile/tablet treatment from HF5. */
@media(max-width:900px){
  .site-header{position:relative!important}
  .hero-home .hero-media{
    inset:0!important;
    width:100%!important;
    max-width:none!important;
    transform:none!important;
    object-position:64% center!important;
  }
}


/* === hf8.css === */
/* TAF Frontend V1 HF8 — True Gradient Hero Bleed
   Removes the visible vertical split by fading the image edge through a wide,
   multi-stop deep-purple haze while keeping the subject clear on the right. */

@media (min-width:901px){
  /* Move the subject farther into the photographic zone, creating more room
     for the blend before the face begins. */
  .hero-home .hero-media{
    object-position:58% center!important;
  }

  /* The image still begins at the protected 52% boundary, but that edge is now
     completely hidden beneath an opaque purple layer that dissolves gradually
     across ~17% of the full hero width. There is no hard seam. */
  .hero-home:before{
    background:linear-gradient(90deg,
      rgba(27,0,43,1) 0%,
      rgba(27,0,43,1) 48%,
      rgba(27,0,43,1) 52%,
      rgba(28,0,45,.985) 54%,
      rgba(30,0,48,.94) 56%,
      rgba(32,1,51,.84) 58%,
      rgba(34,2,54,.70) 60%,
      rgba(34,2,54,.53) 62%,
      rgba(32,1,51,.36) 64%,
      rgba(29,0,47,.22) 66%,
      rgba(25,0,41,.11) 68%,
      rgba(22,0,36,.04) 70%,
      rgba(18,0,29,0) 73%,
      rgba(18,0,29,0) 100%)!important;
  }

  /* Very subtle atmospheric layer so the fade feels photographic rather than
     like one coloured shape laid over another. */
  .hero-home .hero-overlay{
    background:
      radial-gradient(ellipse at 58% 44%,rgba(91,19,108,.10) 0%,rgba(46,4,66,.05) 28%,transparent 54%),
      linear-gradient(180deg,rgba(0,0,0,.015),rgba(0,0,0,.045))!important;
  }
}


/* === c1-wordpress.css === */
/* TAF WordPress Integration C1
   Locked HF8 visual baseline integration layer.
   No redesign rules belong here. */
html{scroll-behavior:smooth}
body.admin-bar .site-header{top:auto}


/* === c1-hf2.css === */
/* TAF WordPress C1 HF2 — Desktop Header Breathing Room
   Fixes compressed desktop navigation without changing the locked HF8 visual language. */

@media (min-width:1181px){
  .site-header .container{
    width:min(1460px,calc(100% - 48px));
  }
  .site-header .header-inner{
    min-height:90px;
    gap:24px;
    justify-content:flex-start;
  }
  .site-header .brand{
    min-width:258px;
    flex:0 0 258px;
    gap:11px;
  }
  .site-header .brand img{
    width:64px;
    height:64px;
  }
  .site-header .brand strong{
    font-size:18px;
    letter-spacing:.065em;
  }
  .site-header .brand b{
    font-size:17px;
    letter-spacing:.16em;
  }
  .site-header .primary-nav{
    flex:1 1 auto;
    min-width:0;
    justify-content:flex-end;
    gap:clamp(15px,1.35vw,24px);
    font-size:12.5px;
    font-weight:800;
  }
  .site-header .nav-link{
    flex:0 0 auto;
    padding:33px 0 29px;
    line-height:1;
  }
  .site-header .nav-link:after{
    bottom:23px;
  }
  .site-header .btn-portal{
    flex:0 0 auto;
    min-width:154px;
    padding:14px 20px;
    white-space:nowrap;
    font-size:12.5px;
  }
}

/* Do not compress the desktop menu on normal laptops. Switch cleanly to the
   existing mobile navigation before the links become crowded. */
@media (min-width:901px) and (max-width:1180px){
  .site-header .container{
    width:min(100% - 36px,1120px);
  }
  .site-header .header-inner{
    min-height:80px;
  }
  .site-header .brand{
    min-width:0;
    flex:1 1 auto;
  }
  .site-header .brand img{
    width:58px;
    height:58px;
  }
  .site-header .menu-toggle{
    display:block;
  }
  .site-header .menu-toggle span:not(.sr-only){
    background:#fff;
  }
  .site-header .primary-nav{
    display:none;
    position:absolute;
    left:18px;
    right:18px;
    top:81px;
    z-index:120;
    padding:15px;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    font-size:13px;
    background:#12001e;
    color:#fff;
    border:1px solid rgba(245,188,24,.24);
    border-radius:14px;
    box-shadow:0 18px 45px rgba(0,0,0,.24);
  }
  .site-header .primary-nav.open{
    display:flex;
  }
  .site-header .nav-link{
    padding:12px 14px;
  }
  .site-header .nav-link:after{
    display:none;
  }
  .site-header .primary-nav .btn-portal{
    width:100%;
    margin-top:7px;
  }
}


/* === c1-hf3.css === */
/* TAF WordPress C1 HF3 — Premium Impact Metrics + Readability Repair
   Keeps the locked HF8 design language while improving contrast and the
   source-grounded Impact statistics presentation. */

/* ---------- Site-wide readable secondary text ---------- */
.project-card p,
.news-card p,
.archive-card p,
.focus-card p,
.section-heading p,
.content-block p,
.focus-feature p,
.media-feature p,
.timeline p,
.team-card p,
.source-note,
.option-grid span,
.form-aside p,
.form-aside a,
.update-row p,
.dashboard-card p {
  color:#55495f;
}
.project-card p,
.news-card p,
.archive-card p,
.focus-card p {
  font-size:13px;
  line-height:1.62;
}
.project-card a,
.news-card a,
.archive-card a,
.row-heading>a {
  color:#d90082;
  font-weight:850;
}
.site-footer p { color:rgba(255,255,255,.80); }
.site-footer a { color:rgba(255,255,255,.86); }
.footer-bottom { color:rgba(255,255,255,.68); }
.values-grid p { color:rgba(255,255,255,.88); }

/* ---------- Premium Impact statistics band ---------- */
.impact-premium-band {
  position:relative;
  overflow:hidden;
  padding:78px 0 84px;
  background:
    radial-gradient(circle at 8% 12%,rgba(245,188,24,.16),transparent 24%),
    radial-gradient(circle at 92% 82%,rgba(240,0,143,.22),transparent 28%),
    linear-gradient(118deg,#160021 0%,#2c0045 42%,#43005f 72%,#1b0029 100%);
  color:#fff;
  isolation:isolate;
}
.impact-premium-band::before,
.impact-premium-band::after {
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
  filter:blur(1px);
  opacity:.8;
  z-index:-1;
}
.impact-premium-band::before {
  width:360px;height:360px;right:-145px;top:-205px;
  border:1px solid rgba(245,188,24,.20);
  box-shadow:0 0 0 54px rgba(245,188,24,.025),0 0 0 108px rgba(255,255,255,.018);
}
.impact-premium-band::after {
  width:300px;height:300px;left:-165px;bottom:-180px;
  border:1px solid rgba(240,0,143,.26);
  box-shadow:0 0 0 46px rgba(240,0,143,.03),0 0 0 92px rgba(255,255,255,.016);
}
.impact-metrics-heading {
  max-width:760px;
  margin:0 auto 38px;
  text-align:center;
}
.impact-metrics-kicker {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#ffd45a;
  font-size:11px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.impact-metrics-kicker::before {
  content:"";
  width:22px;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,#f5bc18,#f0008f);
}
.impact-metrics-heading h2 {
  margin:10px 0 12px;
  color:#fff;
  font-size:clamp(30px,4vw,46px);
  line-height:1.05;
  letter-spacing:-.025em;
}
.impact-metrics-heading p {
  margin:0 auto;
  max-width:680px;
  color:rgba(255,255,255,.82);
  font-size:14px;
  line-height:1.65;
}
.impact-metrics-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.impact-metric-card {
  position:relative;
  min-height:270px;
  padding:28px 24px 24px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.035));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.11),
    0 20px 45px rgba(4,0,11,.22);
  backdrop-filter:blur(8px);
  overflow:hidden;
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.impact-metric-card::after {
  content:"";
  position:absolute;
  inset:auto -28% -64% 34%;
  height:160px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(240,0,143,.19),transparent 66%);
  pointer-events:none;
}
.impact-metric-card:hover {
  transform:translateY(-7px);
  border-color:rgba(245,188,24,.48);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 26px 55px rgba(4,0,11,.31),
    0 0 0 1px rgba(245,188,24,.06);
}
.impact-metric-card:nth-child(1){transition-delay:.02s}
.impact-metric-card:nth-child(2){transition-delay:.08s}
.impact-metric-card:nth-child(3){transition-delay:.14s}
.impact-metric-card:nth-child(4){transition-delay:.20s}
.impact-metric-icon {
  width:52px;
  height:52px;
  margin-bottom:22px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,rgba(245,188,24,.17),rgba(240,0,143,.09));
  border:1px solid rgba(245,188,24,.27);
  box-shadow:0 11px 28px rgba(0,0,0,.17);
  transition:transform .35s ease;
}
.impact-metric-card:hover .impact-metric-icon { transform:rotate(-4deg) scale(1.06); }
.impact-metric-icon img {
  width:27px;
  height:27px;
  object-fit:contain;
  filter:brightness(0) saturate(100%) invert(84%) sepia(96%) saturate(968%) hue-rotate(340deg) brightness(103%) contrast(92%);
}
.impact-metric-card>.impact-metric-kicker {
  font-size:9.5px;
  color:rgba(255,255,255,.68);
  letter-spacing:.115em;
}
.impact-metric-card>.impact-metric-kicker::before { display:none; }
.impact-metric-number {
  display:block;
  margin:8px 0 4px;
  font-size:clamp(36px,4vw,54px);
  line-height:.96;
  font-weight:950;
  letter-spacing:-.045em;
  color:#f8c62f;
  background:linear-gradient(100deg,#fff0a8 0%,#f5bc18 42%,#ffdb67 72%,#f0008f 150%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 12px 28px rgba(0,0,0,.12);
}
.impact-metric-card h3 {
  margin:6px 0 7px;
  color:#fff;
  font-size:18px;
  line-height:1.18;
}
.impact-metric-card p {
  min-height:42px;
  margin:0 0 18px;
  color:rgba(255,255,255,.78);
  font-size:12px;
  line-height:1.55;
}
.impact-metric-badge {
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:5px 9px;
  border-radius:999px;
  color:#fff5c7;
  background:rgba(245,188,24,.10);
  border:1px solid rgba(245,188,24,.27);
  font-size:9px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.035em;
}
.impact-metric-badge--target {
  color:#ffd6ec;
  background:rgba(240,0,143,.11);
  border-color:rgba(240,0,143,.35);
}

/* A small ambient shimmer only after the reveal class becomes visible. */
.impact-metric-card.in::before {
  content:"";
  position:absolute;
  inset:-100% auto -100% -45%;
  width:34%;
  transform:rotate(15deg) translateX(-160%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);
  animation:tafMetricShine 4.8s 1.1s ease-in-out infinite;
  pointer-events:none;
}
@keyframes tafMetricShine {
  0%,70%{transform:rotate(15deg) translateX(-160%)}
  90%,100%{transform:rotate(15deg) translateX(520%)}
}

@media (max-width:900px){
  .impact-premium-band{padding:66px 0 70px}
  .impact-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .impact-metric-card{min-height:250px}
}
@media (max-width:620px){
  .impact-premium-band{padding:58px 0 62px}
  .impact-metrics-heading{margin-bottom:28px;text-align:left}
  .impact-metrics-heading h2{font-size:34px}
  .impact-metrics-heading p{font-size:13px}
  .impact-metrics-grid{grid-template-columns:1fr}
  .impact-metric-card{min-height:0;padding:24px 22px}
  .impact-metric-card p{min-height:0}
  .impact-metric-number{font-size:46px}
}

@media (prefers-reduced-motion:reduce){
  .impact-metric-card,
  .impact-metric-icon{transition:none!important}
  .impact-metric-card.in::before{animation:none!important}
}

/* ---------- Premium Impact / Projects page ---------- */
.impact-projects-page{
  background:
    radial-gradient(circle at 50% 32%,rgba(240,0,143,.035),transparent 28%),
    #fff;
}
.impact-projects-hero{
  min-height:470px;
  overflow:hidden;
  background:#1b022c;
}
.impact-projects-hero .hero-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%;
  z-index:-3;
  transform:scale(1.015);
}
.impact-projects-hero .hero-overlay{
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(24,3,39,.985) 0%,rgba(31,2,50,.94) 34%,rgba(40,2,61,.56) 57%,rgba(30,0,45,.16) 83%,rgba(30,0,45,.12) 100%),
    linear-gradient(0deg,rgba(26,0,41,.34),transparent 58%);
}
.impact-projects-hero::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:13px;
  background:linear-gradient(90deg,#f5bc18 0 18%,#ffb71a 28%,#f0008f 61%,#7b0a91 100%);
  clip-path:polygon(0 58%,100% 0,100% 100%,0 100%);
  z-index:3;
}
.impact-projects-hero .hero-copy{
  position:relative;
  z-index:2;
  max-width:690px;
  padding-block:82px 88px;
}
.impact-projects-hero .hero-copy h1{
  max-width:640px;
  font-size:clamp(52px,6.2vw,82px);
  text-shadow:0 8px 28px rgba(0,0,0,.25);
}
.impact-projects-hero .hero-copy>p{
  max-width:610px;
  color:rgba(255,255,255,.89);
  font-size:17px;
  line-height:1.66;
}
.impact-hero-chips{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:24px;
}
.impact-hero-chips span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.075);
  color:rgba(255,255,255,.9);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(7px);
  font-size:11px;
  font-weight:780;
}
.impact-hero-chips strong{
  margin-right:5px;
  color:#ffd24a;
  font-size:13px;
}
.impact-projects-showcase{
  position:relative;
  padding:92px 0 100px;
  background:
    radial-gradient(circle at 0 15%,rgba(245,188,24,.065),transparent 25%),
    radial-gradient(circle at 100% 88%,rgba(240,0,143,.06),transparent 24%),
    linear-gradient(180deg,#fff,#fcf9fd);
}
.impact-projects-showcase .section-heading{
  max-width:820px;
  margin-bottom:42px;
}
.impact-projects-showcase .section-heading h2{
  margin-top:9px;
  color:#25033e;
  font-size:clamp(34px,4.2vw,52px);
  letter-spacing:-.032em;
}
.impact-projects-showcase .section-heading>p{
  max-width:730px;
  margin-inline:auto;
  color:#55495f;
  font-size:14px;
  line-height:1.72;
}
.source-integrity-note{
  width:max-content;
  max-width:100%;
  margin:20px auto 0;
  padding:9px 13px;
  border:1px solid #eadfed;
  border-radius:999px;
  background:#fff;
  color:#514259;
  box-shadow:0 10px 28px rgba(42,4,61,.055);
  font-size:10.5px;
  line-height:1.4;
}
.source-integrity-note>span{
  display:inline-grid;
  place-items:center;
  width:19px;
  height:19px;
  margin-right:6px;
  border-radius:50%;
  background:linear-gradient(135deg,#f5bc18,#f0008f);
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.premium-project-grid{
  gap:22px;
  align-items:stretch;
}
.premium-project-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  border:1px solid rgba(54,9,75,.095);
  border-radius:20px;
  background:#fff;
  box-shadow:0 16px 38px rgba(35,4,53,.075);
  overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease;
}
.premium-project-card:nth-child(1){transition-delay:.02s}
.premium-project-card:nth-child(2){transition-delay:.07s}
.premium-project-card:nth-child(3){transition-delay:.12s}
.premium-project-card:nth-child(4){transition-delay:.17s}
.premium-project-card:hover{
  transform:translateY(-9px);
  border-color:rgba(240,0,143,.22);
  box-shadow:0 28px 60px rgba(35,4,53,.145);
}
.premium-project-card .project-media{
  position:relative;
  overflow:hidden;
  min-height:218px;
  background:#efe8f1;
}
.premium-project-card .project-media::after{
  content:"";
  position:absolute;
  inset:38% 0 0;
  background:linear-gradient(180deg,transparent,rgba(25,2,39,.53));
  pointer-events:none;
}
.premium-project-card .project-media img{
  width:100%;
  height:218px;
  object-fit:cover;
  transition:transform .65s cubic-bezier(.18,.75,.2,1),filter .45s ease;
}
.premium-project-card:hover .project-media img{
  transform:scale(1.065);
  filter:saturate(1.06) contrast(1.025);
}
.project-number{
  position:absolute;
  top:15px;
  left:15px;
  z-index:2;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.3);
  border-radius:12px;
  background:rgba(30,2,47,.76);
  color:#ffd45a;
  box-shadow:0 9px 24px rgba(0,0,0,.18);
  backdrop-filter:blur(7px);
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
}
.project-type{
  position:absolute;
  right:14px;
  bottom:13px;
  z-index:2;
  padding:5px 9px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(255,255,255,.91);
  color:#3a0b4e;
  font-size:9px;
  font-weight:850;
  box-shadow:0 8px 20px rgba(0,0,0,.13);
}
.premium-project-card .project-card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:21px 20px 18px;
}
.premium-project-card .project-card-body>.eyebrow{
  font-size:9px;
  letter-spacing:.11em;
}
.premium-project-card h3{
  margin:8px 0 9px;
  font-size:19px;
  line-height:1.18;
  letter-spacing:-.012em;
}
.premium-project-card p{
  margin:0 0 20px;
  color:#55495f;
  line-height:1.62;
}
.project-card-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:auto;
  padding-top:13px;
  border-top:1px solid #efe8f2;
}
.project-card-footer>span{
  color:#8b7d91;
  font-size:9px;
  font-weight:700;
}
.project-card-footer>a{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#d70080;
  font-size:10px;
  font-weight:900;
}
.project-card-footer>a b{
  transition:transform .22s ease;
}
.project-card-footer>a:hover b{transform:translateX(3px)}
.impact-programme-story{
  position:relative;
  padding:90px 0;
  overflow:hidden;
  background:linear-gradient(180deg,#fff,#fffafd);
}
.impact-programme-story::before{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  right:-170px;
  top:30px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(240,0,143,.075),transparent 68%);
  pointer-events:none;
}
.impact-programme-story .split{gap:64px}
.impact-story-media{
  position:relative;
  padding:0 0 20px 20px;
}
.impact-story-media::before{
  content:"";
  position:absolute;
  inset:18px 20px 0 0;
  border-radius:24px;
  background:linear-gradient(135deg,#f4bd21,#f0008f 78%);
  z-index:0;
}
.impact-story-media .media-main{
  position:relative;
  z-index:1;
  height:430px;
  border-radius:24px;
  box-shadow:0 24px 55px rgba(35,4,53,.15);
}
.impact-story-copy{
  max-width:520px;
}
.impact-story-copy h2{
  margin:10px 0 16px;
  color:#25033e;
  font-size:clamp(32px,4vw,47px);
  line-height:1.08;
  letter-spacing:-.028em;
}
.impact-story-copy p{
  margin-bottom:24px;
  color:#55495f;
  line-height:1.75;
}
.impact-gallery-section{
  position:relative;
  background:
    radial-gradient(circle at 10% 90%,rgba(245,188,24,.055),transparent 28%),
    linear-gradient(180deg,#fbf8fc,#fff);
}
.impact-gallery-grid{
  gap:12px;
  align-items:stretch;
}
.impact-gallery-grid .gallery-item{
  position:relative;
  overflow:hidden;
  border-radius:15px;
  box-shadow:0 13px 30px rgba(35,4,53,.08);
  border:1px solid rgba(54,9,75,.08);
  background:#fff;
}
.impact-gallery-grid .gallery-item::after{
  content:"View";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,rgba(32,1,51,.16),rgba(240,0,143,.58));
  opacity:0;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:opacity .28s ease;
}
.impact-gallery-grid .gallery-item:hover::after{opacity:1}
.impact-gallery-grid .gallery-item img{
  height:190px;
  transition:transform .5s ease;
}
.impact-gallery-grid .gallery-item:hover img{transform:scale(1.055)}

@media (max-width:1100px){
  .premium-project-card .project-media,
  .premium-project-card .project-media img{height:240px}
}
@media (max-width:900px){
  .impact-projects-hero{min-height:430px}
  .impact-projects-hero .hero-copy{padding-block:68px 76px}
  .impact-projects-hero .hero-overlay{background:linear-gradient(90deg,rgba(24,3,39,.98),rgba(38,2,59,.72))}
  .impact-programme-story .split{gap:34px}
  .impact-story-media{padding:0 0 15px 15px}
}
@media (max-width:620px){
  .impact-projects-hero{min-height:480px}
  .impact-projects-hero .hero-copy{padding-block:58px 66px}
  .impact-projects-hero .hero-copy h1{font-size:46px}
  .impact-projects-hero .hero-copy>p{font-size:14px}
  .impact-hero-chips{gap:7px}
  .impact-hero-chips span{font-size:9.5px;min-height:30px}
  .impact-projects-showcase{padding:64px 0 70px}
  .source-integrity-note{border-radius:13px;text-align:left}
  .premium-project-card .project-media,
  .premium-project-card .project-media img{height:220px}
  .impact-programme-story{padding:64px 0}
  .impact-story-media .media-main{height:320px}
  .impact-gallery-grid .gallery-item img{height:165px}
}

@media (prefers-reduced-motion:reduce){
  .premium-project-card,
  .premium-project-card .project-media img,
  .project-card-footer>a b,
  .impact-gallery-grid .gallery-item img{transition:none!important}
}


/* === c1-hf5.css === */
/* TAF WordPress C1 HF5 — Approved Eyebrow Restoration + Impact Isolation
   Restores the locked HF8/HF3 accent treatment on Home and all non-Impact
   templates. Only the upgraded Impact / Projects page receives readable
   transparent eyebrow labels. This file MUST NOT define a global .eyebrow
   visibility/display rule. */

/* Portal status dots keep their status colours without redefining the shared
   .gold/.magenta utility classes used by the locked visual system. */
.dot.blue{background:#3788ff !important;color:inherit}
.dot.gold{background:var(--gold) !important;color:inherit}
.dot.magenta{background:var(--magenta) !important;color:inherit}
.dot.green{background:var(--success) !important;color:inherit}

/* IMPACT PAGE ONLY — the premium Impact refresh intentionally displays its
   source/context eyebrow labels as text. Scope every override beneath the
   page root so Gallery, News, forms, Home and supporting templates retain
   the exact pre-HF4 visual treatment. */
.impact-projects-page .eyebrow,
.impact-projects-page .eyebrow.magenta,
.impact-projects-page .eyebrow.gold{
  background:transparent !important;
  box-shadow:none !important;
  opacity:1 !important;
  visibility:visible !important;
  -webkit-text-fill-color:currentColor;
}
.impact-projects-page .eyebrow.magenta{color:#d90082 !important}
.impact-projects-page .eyebrow.gold{color:#f5bc18 !important}

/* Featured Projects is the label that originally exposed the collision. */
.impact-projects-page .impact-projects-showcase .section-heading>.eyebrow.magenta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  margin-bottom:4px;
  color:#d90082 !important;
  background:transparent !important;
  font-weight:900;
  letter-spacing:.12em;
  line-height:1.25;
  text-transform:uppercase;
}

/* Premium project-card context labels remain readable. */
.impact-projects-page .premium-project-card .project-card-body>.eyebrow.magenta,
.impact-projects-page .impact-story-copy>.eyebrow.magenta,
.impact-projects-page .impact-gallery-section .section-heading>.eyebrow.magenta{
  color:#d90082 !important;
  background:transparent !important;
}

/* Do not alter the locked accent-bar presentation outside Impact. */


/* === c1-hf6.css === */
/* TAF WordPress C1 HF6 — Site-wide Section Label Readability
   Applies the clean readable Impact-page eyebrow treatment to the complete
   theme without the HF4 filled/highlight-bar regression.

   Contract:
   - every .eyebrow remains visible;
   - backgrounds stay transparent;
   - magenta labels use a dark readable magenta on light surfaces;
   - gold labels use a dark readable gold on light surfaces;
   - gold labels return to bright brand gold on dark/photographic surfaces;
   - portal status dots retain their independent background colours.
*/

/* Keep status indicators independent from text accent utilities. */
.dot.blue{background:#3788ff !important;color:inherit}
.dot.gold{background:var(--gold) !important;color:inherit}
.dot.magenta{background:var(--magenta) !important;color:inherit}
.dot.green{background:var(--success) !important;color:inherit}

/* Global clean eyebrow treatment — visible text, never a filled strip. */
.eyebrow,
.eyebrow.magenta,
.eyebrow.gold{
  display:inline-block;
  max-width:100%;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  opacity:1 !important;
  visibility:visible !important;
  -webkit-text-fill-color:currentColor !important;
  text-shadow:none !important;
  line-height:1.35;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

/* High-contrast accent colours on white/off-white surfaces. */
.eyebrow.magenta{color:#b9006f !important}
.eyebrow.gold{color:#8a5a00 !important}

/* Dark and photographic surfaces use the luminous brand gold. */
.hero-home .eyebrow.gold,
.page-hero .eyebrow.gold,
.portal-hero .eyebrow.gold,
.mini-hero .eyebrow.gold,
.prefooter .eyebrow.gold,
.site-footer .eyebrow.gold,
.programme-copy .eyebrow.gold,
.values-band .eyebrow.gold,
.impact-premium-band .eyebrow.gold,
.impact-projects-hero .eyebrow.gold,
.support-panel .eyebrow.gold{
  color:#f5bc18 !important;
}

/* Magenta labels stay vivid but readable on light sections and cards. */
.section-heading>.eyebrow.magenta,
.row-heading .eyebrow.magenta,
.content-block>.eyebrow.magenta,
.story-layout .eyebrow.magenta,
.contact-form>.eyebrow.magenta,
.contact-options>.eyebrow.magenta,
.form-step>.eyebrow.magenta,
.info-card>.eyebrow.magenta,
.premium-project-card .eyebrow.magenta{
  color:#b9006f !important;
  background:transparent !important;
}

/* Preserve a small breathing gap when an eyebrow sits directly above a title. */
.eyebrow + h1,
.eyebrow + h2,
.eyebrow + h3{
  margin-top:8px;
}

/* Do not allow selection-like inherited backgrounds from browser/admin styles. */
body .eyebrow::before,
body .eyebrow::after{
  background:transparent;
}


/* === c1-hf7.css === */
/* TAF WordPress C1 HF7 — Premium Inner Pages
   Scope rule: NOTHING in this file may target the locked homepage.
   Every selector is rooted in body.taf-premium-inner. */

/* ---------- Shared inner-page atmosphere ---------- */
body.taf-premium-inner{
  --taf-inner-shadow:0 24px 65px rgba(35,3,53,.12);
  --taf-inner-shadow-soft:0 14px 38px rgba(35,3,53,.085);
  --taf-inner-border:rgba(57,15,78,.10);
  --taf-inner-cream:#fffdf8;
  --taf-inner-blush:#fdf8fc;
  background:#fff;
}
body.taf-premium-inner main#main{
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 34%,rgba(245,188,24,.035),transparent 22%),
    radial-gradient(circle at 96% 62%,rgba(240,0,143,.035),transparent 22%),
    #fff;
}
body.taf-premium-inner .section{position:relative}
body.taf-premium-inner .section:not(.values-band):not(.impact-premium-band)::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.0),rgba(240,0,143,.012));
}
body.taf-premium-inner .section>.container{position:relative;z-index:1}
body.taf-premium-inner .section.soft{
  background:
    radial-gradient(circle at 88% 20%,rgba(240,0,143,.045),transparent 26%),
    radial-gradient(circle at 8% 82%,rgba(245,188,24,.045),transparent 24%),
    linear-gradient(180deg,#fffafd 0%,#fbf7fc 100%);
}
body.taf-premium-inner .section-heading{margin-bottom:44px}
body.taf-premium-inner .section-heading h2,
body.taf-premium-inner .story-layout h2,
body.taf-premium-inner .focus-feature h2,
body.taf-premium-inner .media-feature h2,
body.taf-premium-inner .contact-form h2,
body.taf-premium-inner .support-panel h2{
  letter-spacing:-.035em;
}
body.taf-premium-inner .section-heading .eyebrow,
body.taf-premium-inner .story-layout .eyebrow,
body.taf-premium-inner .media-feature .eyebrow,
body.taf-premium-inner .contact-layout .eyebrow,
body.taf-premium-inner .split .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
body.taf-premium-inner .section-heading .eyebrow::before,
body.taf-premium-inner .story-layout .eyebrow::before,
body.taf-premium-inner .media-feature .eyebrow::before,
body.taf-premium-inner .contact-layout .eyebrow::before,
body.taf-premium-inner .split .eyebrow::before{
  content:"";
  width:22px;height:2px;border-radius:999px;
  background:linear-gradient(90deg,#f5bc18,#f0008f);
}

/* ---------- Premium inner hero system ---------- */
body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero,
body.taf-premium-inner .portal-hero,
body.taf-premium-inner .mini-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:440px;
  background:#190126;
  box-shadow:inset 0 -1px 0 rgba(245,188,24,.18);
}
body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero .hero-media,
body.taf-premium-inner .portal-hero .hero-media{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 38%;
  z-index:-3;
  transform:scale(1.018);
  transition:transform 8s cubic-bezier(.2,.7,.2,1);
}
@media (prefers-reduced-motion:no-preference){
  body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero:hover .hero-media,
  body.taf-premium-inner .portal-hero:hover .hero-media{transform:scale(1.055)}
}
body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero .hero-overlay,
body.taf-premium-inner .portal-hero .hero-overlay{
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(18,0,29,.985) 0%,rgba(33,1,51,.945) 36%,rgba(39,2,59,.62) 58%,rgba(27,0,41,.18) 82%,rgba(18,0,29,.13) 100%),
    linear-gradient(0deg,rgba(19,0,29,.42),transparent 62%);
}
body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero::before,
body.taf-premium-inner .portal-hero::before,
body.taf-premium-inner .mini-hero::before{
  content:"";
  position:absolute;
  width:360px;height:360px;
  left:-190px;top:-185px;
  border:1px solid rgba(245,188,24,.14);
  border-radius:50%;
  box-shadow:0 0 0 55px rgba(245,188,24,.018),0 0 0 110px rgba(255,255,255,.012);
  pointer-events:none;
}
body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero::after,
body.taf-premium-inner .portal-hero::after,
body.taf-premium-inner .mini-hero::after{
  content:"";
  position:absolute;
  z-index:3;
  left:0;right:0;bottom:-1px;height:14px;
  background:linear-gradient(90deg,#f5bc18 0 17%,#ffb91f 31%,#f0008f 64%,#6d087f 100%);
  clip-path:polygon(0 54%,100% 0,100% 100%,0 100%);
  pointer-events:none;
}
body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero .hero-copy,
body.taf-premium-inner .portal-hero>.container{
  position:relative;z-index:2;
  max-width:720px;
  padding-block:84px 94px;
}
body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero h1,
body.taf-premium-inner .portal-hero h1,
body.taf-premium-inner .mini-hero h1{
  max-width:690px;
  font-size:clamp(50px,6vw,78px);
  line-height:.96;
  letter-spacing:-.045em;
  text-shadow:0 10px 34px rgba(0,0,0,.24);
}
body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero .hero-copy>p,
body.taf-premium-inner .portal-hero p{
  max-width:620px;
  font-size:16px;
  line-height:1.68;
  color:rgba(255,255,255,.88);
}
body.taf-premium-inner .breadcrumbs{
  display:inline-flex;
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(8px);
}
body.taf-premium-inner .mini-hero{
  min-height:290px;
  display:grid;
  align-items:center;
  background:
    radial-gradient(circle at 78% 15%,rgba(240,0,143,.20),transparent 28%),
    linear-gradient(125deg,#12001f 0%,#2b0647 56%,#510064 100%);
}
body.taf-premium-inner .mini-hero .container{padding-block:62px 70px;position:relative;z-index:2}

/* ---------- Shared premium card language ---------- */
body.taf-premium-inner .focus-card,
body.taf-premium-inner .timeline article,
body.taf-premium-inner .team-card,
body.taf-premium-inner .edition-grid article,
body.taf-premium-inner .news-card,
body.taf-premium-inner .archive-card,
body.taf-premium-inner .info-card,
body.taf-premium-inner .contact-cards article,
body.taf-premium-inner .option-grid a,
body.taf-premium-inner .quick-grid a,
body.taf-premium-inner .dashboard-card,
body.taf-premium-inner .portal-panel,
body.taf-premium-inner .portal-side article,
body.taf-premium-inner .form-aside article,
body.taf-premium-inner .auth-card,
body.taf-premium-inner .article-aside,
body.taf-premium-inner .empty-state{
  border:1px solid var(--taf-inner-border);
  border-radius:20px;
  background:linear-gradient(145deg,#fff 0%,#fffcff 100%);
  box-shadow:var(--taf-inner-shadow-soft);
}
body.taf-premium-inner .focus-card,
body.taf-premium-inner .timeline article,
body.taf-premium-inner .team-card,
body.taf-premium-inner .edition-grid article,
body.taf-premium-inner .news-card,
body.taf-premium-inner .info-card,
body.taf-premium-inner .contact-cards article,
body.taf-premium-inner .option-grid a,
body.taf-premium-inner .quick-grid a,
body.taf-premium-inner .dashboard-card{
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
body.taf-premium-inner .focus-card:hover,
body.taf-premium-inner .timeline article:hover,
body.taf-premium-inner .team-card:hover,
body.taf-premium-inner .edition-grid article:hover,
body.taf-premium-inner .news-card:hover,
body.taf-premium-inner .info-card:hover,
body.taf-premium-inner .contact-cards article:hover,
body.taf-premium-inner .option-grid a:hover,
body.taf-premium-inner .quick-grid a:hover,
body.taf-premium-inner .dashboard-card:hover{
  transform:translateY(-6px);
  border-color:rgba(240,0,143,.18);
  box-shadow:0 24px 55px rgba(35,3,53,.13);
}
body.taf-premium-inner .reveal{transition-delay:var(--taf-reveal-delay,0ms)}

/* ---------- About TAF ---------- */
body.page-template-page-about-us .story-layout{
  align-items:start;
  gap:36px;
}
body.page-template-page-about-us .story-layout>div:first-child{
  padding:38px 40px;
  border-radius:24px;
  background:
    radial-gradient(circle at 100% 0,rgba(245,188,24,.07),transparent 28%),
    #fff;
  border:1px solid var(--taf-inner-border);
  box-shadow:var(--taf-inner-shadow-soft);
}
body.page-template-page-about-us .timeline{gap:14px}
body.page-template-page-about-us .timeline article{
  position:relative;
  padding:25px 26px 25px 78px;
  overflow:hidden;
}
body.page-template-page-about-us .timeline article::before{
  content:"";
  position:absolute;
  left:25px;top:26px;
  width:34px;height:34px;
  border-radius:11px;
  background:linear-gradient(135deg,#f5bc18,#f0008f);
  box-shadow:0 9px 20px rgba(240,0,143,.16);
}
body.page-template-page-about-us .timeline article::after{
  content:"";
  position:absolute;
  left:41px;top:60px;bottom:-16px;
  width:1px;
  background:linear-gradient(#e8c24b,rgba(240,0,143,.15));
}
body.page-template-page-about-us .timeline article:last-child::after{display:none}
body.page-template-page-about-us .values-band{position:relative;overflow:hidden}
body.page-template-page-about-us .values-grid article{
  min-height:220px;
  background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.03));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 18px 38px rgba(0,0,0,.13);
}
body.page-template-page-about-us .focus-card{position:relative;overflow:hidden;padding-top:30px}
body.page-template-page-about-us .focus-card::before{
  content:"";position:absolute;left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,#f5bc18,#f0008f);
}
body.page-template-page-about-us .focus-icon{
  background:linear-gradient(145deg,#fff8dc,#fff);
  border:1px solid rgba(245,188,24,.34);
}
body.page-template-page-about-us .team-grid{gap:20px}
body.page-template-page-about-us .team-card{overflow:hidden;position:relative}
body.page-template-page-about-us .team-card img{transition:transform .5s ease}
body.page-template-page-about-us .team-card:hover img{transform:scale(1.045)}
body.page-template-page-about-us .team-card>div{padding:18px 18px 20px}
body.page-template-page-about-us .split .media-main{
  height:460px;
  border-radius:24px;
  box-shadow:var(--taf-inner-shadow);
}

/* ---------- What We Do ---------- */
body.page-template-page-what-we-do .focus-feature-list{display:grid;gap:26px}
body.page-template-page-what-we-do .focus-feature{
  position:relative;
  gap:0;
  overflow:hidden;
  border:1px solid var(--taf-inner-border);
  border-radius:26px;
  background:#fff;
  box-shadow:var(--taf-inner-shadow-soft);
}
body.page-template-page-what-we-do .focus-feature>div:first-child{overflow:hidden;min-height:350px}
body.page-template-page-what-we-do .focus-feature img{
  width:100%;height:100%;min-height:350px;object-fit:cover;
  transition:transform .65s cubic-bezier(.2,.7,.2,1);
}
body.page-template-page-what-we-do .focus-feature:hover img{transform:scale(1.055)}
body.page-template-page-what-we-do .focus-feature>div:last-child{
  padding:44px 46px;
  display:flex;flex-direction:column;justify-content:center;
  background:
    radial-gradient(circle at 100% 0,rgba(240,0,143,.045),transparent 28%),
    #fff;
}
body.page-template-page-what-we-do .focus-feature .source-note{
  margin-top:14px;
  padding:12px 14px;
  border-radius:12px;
  border-left:3px solid #f5bc18;
  background:#fff9e9;
}
body.page-template-page-what-we-do .process-grid article{
  position:relative;
  min-height:205px;
  padding:27px 23px;
  border-radius:19px;
  background:rgba(255,255,255,.065);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
body.page-template-page-what-we-do .process-grid article b{
  display:grid;place-items:center;
  width:46px;height:46px;border-radius:14px;
  margin-bottom:18px;
  color:#210331;
  background:linear-gradient(135deg,#ffd85c,#f5bc18);
}
body.page-template-page-what-we-do .section.soft .split>div:first-child{
  padding:38px;
  border-radius:24px;
  background:#fff;
  border:1px solid var(--taf-inner-border);
  box-shadow:var(--taf-inner-shadow-soft);
}
body.page-template-page-what-we-do .section.soft .media-main{height:430px;border-radius:24px;box-shadow:var(--taf-inner-shadow)}

/* ---------- Free Holiday Coaching ---------- */
body.page-template-page-free-holiday-coaching .programme-intro{
  grid-template-columns:1fr 1fr;
  gap:30px;
  align-items:stretch;
}
body.page-template-page-free-holiday-coaching .programme-intro>div:first-child{
  padding:38px;
  border-radius:24px;
  border:1px solid var(--taf-inner-border);
  background:#fff;
  box-shadow:var(--taf-inner-shadow-soft);
}
body.page-template-page-free-holiday-coaching .programme-principles{gap:14px}
body.page-template-page-free-holiday-coaching .programme-principles article{
  position:relative;
  min-height:104px;
  padding:22px 22px 20px 70px;
  border-radius:18px;
  background:linear-gradient(145deg,#fff,#fff8fc);
  border:1px solid var(--taf-inner-border);
  box-shadow:var(--taf-inner-shadow-soft);
}
body.page-template-page-free-holiday-coaching .programme-principles article::before{
  content:"✓";
  position:absolute;left:22px;top:23px;
  width:31px;height:31px;display:grid;place-items:center;
  border-radius:10px;color:#fff;font-weight:950;
  background:linear-gradient(135deg,#f5bc18,#f0008f);
}
body.page-template-page-free-holiday-coaching .edition-grid{gap:20px}
body.page-template-page-free-holiday-coaching .edition-grid article{overflow:hidden;padding-bottom:24px}
body.page-template-page-free-holiday-coaching .edition-grid article>span{
  position:absolute;z-index:2;margin:16px;
  padding:6px 10px;border-radius:999px;
  background:#f0008f;color:#fff;font-weight:900;font-size:11px;
}
body.page-template-page-free-holiday-coaching .edition-grid article img{height:245px;transition:transform .5s ease}
body.page-template-page-free-holiday-coaching .edition-grid article:hover img{transform:scale(1.045)}
body.page-template-page-free-holiday-coaching .edition-grid article h3,
body.page-template-page-free-holiday-coaching .edition-grid article p{margin-inline:22px}
body.page-template-page-free-holiday-coaching .media-feature{
  overflow:hidden;
  padding:0;
  border:1px solid rgba(255,255,255,.10);
  border-radius:26px;
  background:linear-gradient(125deg,#1a022a 0%,#3a0757 66%,#5c0968 100%);
  color:#fff;
  box-shadow:var(--taf-inner-shadow);
}
body.page-template-page-free-holiday-coaching .media-feature>div:last-child{padding:38px 40px}
body.page-template-page-free-holiday-coaching .media-feature h2{color:#fff}
body.page-template-page-free-holiday-coaching .media-feature p{color:rgba(255,255,255,.82)}
body.page-template-page-free-holiday-coaching .gallery-item{border-radius:18px;overflow:hidden;box-shadow:var(--taf-inner-shadow-soft)}
body.page-template-page-free-holiday-coaching .faq{
  overflow:hidden;
  border:1px solid var(--taf-inner-border);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--taf-inner-shadow-soft);
}

/* ---------- Gallery ---------- */
body.page-template-page-gallery .filter-bar{
  position:relative;
  z-index:5;
  margin-top:-35px;
  margin-bottom:38px;
  padding:14px 16px;
  border:1px solid rgba(50,7,72,.09);
  border-radius:22px;
  background:rgba(255,255,255,.94);
  box-shadow:0 20px 50px rgba(35,3,53,.13);
  backdrop-filter:blur(14px);
}
body.page-template-page-gallery .filter-btn{
  border-radius:999px;
  transition:transform .2s ease,background .2s,color .2s,box-shadow .2s;
}
body.page-template-page-gallery .filter-btn:hover{transform:translateY(-2px)}
body.page-template-page-gallery .gallery-grid{gap:16px}
body.page-template-page-gallery .gallery-item{
  position:relative;
  overflow:hidden;
  border-radius:20px;
  box-shadow:var(--taf-inner-shadow-soft);
  border:1px solid rgba(54,12,74,.08);
}
body.page-template-page-gallery .gallery-item::after{
  content:"View";
  position:absolute;right:12px;bottom:12px;
  padding:6px 9px;border-radius:999px;
  color:#fff;font-size:10px;font-weight:900;letter-spacing:.05em;
  background:rgba(29,2,44,.72);backdrop-filter:blur(8px);
  opacity:0;transform:translateY(6px);transition:.25s;
}
body.page-template-page-gallery .gallery-item:hover::after{opacity:1;transform:none}
body.page-template-page-gallery .gallery-item img{transition:transform .55s ease,filter .35s ease}
body.page-template-page-gallery .gallery-item:hover img{transform:scale(1.055);filter:saturate(1.06)}
body.page-template-page-gallery .edition-grid article{overflow:hidden;padding-bottom:24px}
body.page-template-page-gallery .edition-grid article img{height:250px;transition:transform .5s ease}
body.page-template-page-gallery .edition-grid article:hover img{transform:scale(1.045)}
body.page-template-page-gallery .edition-grid article h3,
body.page-template-page-gallery .edition-grid article p{margin-inline:22px}
body.page-template-page-gallery .edition-grid article>span{
  display:inline-flex;margin:18px 0 0 22px;padding:6px 10px;border-radius:999px;
  color:#fff!important;background:#f0008f!important;font-size:10px;font-weight:900;
}
body.page-template-page-gallery .media-feature{
  overflow:hidden;border-radius:26px;padding:0;
  background:linear-gradient(125deg,#170124,#390656 62%,#5a0867);
  color:#fff;box-shadow:var(--taf-inner-shadow);
}
body.page-template-page-gallery .media-feature>div{padding:38px 40px}
body.page-template-page-gallery .media-feature h2{color:#fff}
body.page-template-page-gallery .media-feature p{color:rgba(255,255,255,.82)}

/* ---------- News & Stories ---------- */
body.page-template-page-news-stories .source-banner{
  margin-bottom:34px;
  padding:16px 18px;
  border-radius:14px;
  border:1px solid rgba(245,188,24,.28);
  background:linear-gradient(90deg,#fffaf0,#fff);
  box-shadow:0 10px 30px rgba(35,3,53,.06);
}
body.page-template-page-news-stories .archive-grid{gap:22px;align-items:stretch}
body.page-template-page-news-stories .archive-card{overflow:hidden;position:relative}
body.page-template-page-news-stories .archive-card img{height:220px;transition:transform .55s ease}
body.page-template-page-news-stories .archive-card:hover img{transform:scale(1.045)}
body.page-template-page-news-stories .archive-card>div{padding:22px}
body.page-template-page-news-stories .archive-card:first-child{
  grid-column:span 2;
  display:grid;
  grid-template-columns:1.1fr .9fr;
}
body.page-template-page-news-stories .archive-card:first-child img{height:100%;min-height:360px}
body.page-template-page-news-stories .archive-card:first-child>div{display:flex;flex-direction:column;justify-content:center;padding:34px}
body.page-template-page-news-stories .archive-card:first-child h3{font-size:28px;line-height:1.08}
body.page-template-page-news-stories .two-cards{gap:18px}
body.page-template-page-news-stories .info-card{position:relative;overflow:hidden;padding-top:29px}
body.page-template-page-news-stories .info-card::before{
  content:"";position:absolute;left:0;top:0;width:100%;height:4px;
  background:linear-gradient(90deg,#f5bc18,#f0008f);
}

/* ---------- Student + Teacher application ---------- */
body.page-template-page-student-registration .form-section,
body.page-template-page-teacher-volunteer-application .form-section{
  background:
    radial-gradient(circle at 90% 6%,rgba(240,0,143,.055),transparent 24%),
    linear-gradient(180deg,#fff,#fbf8fc);
}
body.page-template-page-student-registration .form-shell,
body.page-template-page-teacher-volunteer-application .form-shell{gap:22px;align-items:start}
body.page-template-page-student-registration .stepper,
body.page-template-page-teacher-volunteer-application .stepper{
  grid-column:1/-1;
  padding:18px;
  border:1px solid var(--taf-inner-border);
  border-radius:22px;
  background:rgba(255,255,255,.96);
  box-shadow:var(--taf-inner-shadow-soft);
}
body.page-template-page-student-registration .step,
body.page-template-page-teacher-volunteer-application .step{position:relative}
body.page-template-page-student-registration .step b,
body.page-template-page-teacher-volunteer-application .step b{
  box-shadow:0 8px 18px rgba(35,3,53,.10);
  transition:transform .25s ease,box-shadow .25s ease;
}
body.page-template-page-student-registration .step.is-active b,
body.page-template-page-teacher-volunteer-application .step.is-active b{
  background:linear-gradient(135deg,#f0008f,#6b087d);
  box-shadow:0 11px 24px rgba(240,0,143,.24);
  transform:translateY(-2px);
}
body.page-template-page-student-registration .multi-form,
body.page-template-page-teacher-volunteer-application .multi-form{
  padding:36px;
  border:1px solid var(--taf-inner-border);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--taf-inner-shadow);
}
body.page-template-page-student-registration .form-step h2,
body.page-template-page-teacher-volunteer-application .form-step h2{
  margin-top:8px;
  font-size:clamp(28px,3.4vw,40px);
  color:#26043d;
  letter-spacing:-.025em;
}
body.page-template-page-student-registration input,
body.page-template-page-student-registration textarea,
body.page-template-page-student-registration select,
body.page-template-page-teacher-volunteer-application input,
body.page-template-page-teacher-volunteer-application textarea,
body.page-template-page-teacher-volunteer-application select{
  min-height:48px;
  border-radius:12px;
  border-color:#e3d9e7;
  background:#fffdfd;
}
body.page-template-page-student-registration .form-aside article,
body.page-template-page-teacher-volunteer-application .form-aside article{padding:25px}
body.page-template-page-student-registration .form-aside article:first-child,
body.page-template-page-teacher-volunteer-application .form-aside article:first-child{
  border-top:4px solid #f5bc18;
}
body.page-template-page-student-registration .form-aside article:nth-child(2),
body.page-template-page-teacher-volunteer-application .form-aside article:nth-child(2){border-top:4px solid #f0008f}
body.page-template-page-student-registration .form-aside article:nth-child(3),
body.page-template-page-teacher-volunteer-application .form-aside article:nth-child(3){border-top:4px solid #6b087d}
body.page-template-page-teacher-volunteer-application .upload-box{
  border-radius:20px;
  background:linear-gradient(145deg,#fffaf0,#fff);
  border-color:rgba(245,188,24,.45);
}

/* ---------- Applicant Portal ---------- */
body.page-template-page-applicant-portal .portal-hero{min-height:360px;padding:0}
body.page-template-page-applicant-portal .portal-section{
  background:linear-gradient(180deg,#fbf8fc,#fff);
}
body.page-template-page-applicant-portal .portal-nav{
  padding:14px;
  border-radius:20px;
  background:linear-gradient(180deg,#180225,#2c0644);
  box-shadow:var(--taf-inner-shadow);
}
body.page-template-page-applicant-portal .portal-nav a{color:rgba(255,255,255,.82);border-radius:11px}
body.page-template-page-applicant-portal .portal-nav a:hover,
body.page-template-page-applicant-portal .portal-nav a.is-active{
  background:linear-gradient(135deg,#f0008f,#b60979);
  color:#fff;
  box-shadow:0 8px 20px rgba(240,0,143,.20);
}
body.page-template-page-applicant-portal .source-banner{
  border-radius:15px;
  padding:16px 18px;
  border:1px solid rgba(245,188,24,.26);
  background:#fffaf0;
}
body.page-template-page-applicant-portal .quick-grid a{min-height:112px;padding:22px}
body.page-template-page-applicant-portal .quick-grid a::before{
  content:"";width:32px;height:4px;border-radius:999px;
  background:linear-gradient(90deg,#f5bc18,#f0008f);
  margin-bottom:6px;
}
body.page-template-page-applicant-portal .dashboard-card{position:relative;overflow:hidden}
body.page-template-page-applicant-portal .dashboard-card::after{
  content:"";position:absolute;width:90px;height:90px;right:-42px;bottom:-42px;border-radius:50%;
  background:rgba(240,0,143,.05);
}
body.page-template-page-applicant-portal .portal-panel{padding:28px}
body.page-template-page-applicant-portal .portal-panel h2{color:#280440;margin-top:0}
body.page-template-page-applicant-portal .portal-side article{padding:25px}

/* ---------- Contact / Support ---------- */
body.page-template-page-contact-support .contact-strip{
  margin-top:-34px;
  position:relative;z-index:4;
  padding-top:0;
}
body.page-template-page-contact-support .contact-cards{
  padding:14px;
  border-radius:24px;
  background:#fff;
  box-shadow:0 22px 55px rgba(35,3,53,.13);
}
body.page-template-page-contact-support .contact-cards article{box-shadow:none;background:#fffdfd}
body.page-template-page-contact-support .contact-cards span{letter-spacing:.08em}
body.page-template-page-contact-support .contact-layout{gap:24px;align-items:start}
body.page-template-page-contact-support .contact-form,
body.page-template-page-contact-support .contact-options{
  border:1px solid var(--taf-inner-border);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--taf-inner-shadow-soft);
}
body.page-template-page-contact-support .contact-form{padding:34px}
body.page-template-page-contact-support .contact-options{padding:34px}
body.page-template-page-contact-support .option-grid a{min-height:112px}
body.page-template-page-contact-support .support-panel{
  position:relative;overflow:hidden;
  padding:48px 46px;
  box-shadow:0 24px 55px rgba(84,0,91,.20);
}
body.page-template-page-contact-support .support-panel::after{
  content:"";position:absolute;width:310px;height:310px;right:-135px;top:-125px;border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 0 0 45px rgba(255,255,255,.035),0 0 0 90px rgba(255,255,255,.02);
}
body.page-template-page-contact-support .two-cards{gap:22px}
body.page-template-page-contact-support .info-card{padding:28px}

/* ---------- Supporting templates: same premium language ---------- */
body.taf-premium-inner .article-layout article{
  padding:34px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--taf-inner-border);
  box-shadow:var(--taf-inner-shadow-soft);
}
body.taf-premium-inner .article-image{box-shadow:var(--taf-inner-shadow-soft)}
body.taf-premium-inner .article-aside{padding:28px}
body.taf-premium-inner .auth-wrap{padding-block:8px}
body.taf-premium-inner .auth-card{padding:38px}
body.taf-premium-inner .legal{
  padding:38px 40px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--taf-inner-border);
  box-shadow:var(--taf-inner-shadow-soft);
}
body.taf-premium-inner .search-form{
  padding:12px;
  border-radius:18px;
  background:#fff;
  box-shadow:var(--taf-inner-shadow-soft);
}
body.taf-premium-inner .empty-state{padding:60px 40px}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  body.page-template-page-news-stories .archive-card:first-child{grid-column:auto;display:block}
  body.page-template-page-news-stories .archive-card:first-child img{height:240px;min-height:0}
  body.page-template-page-news-stories .archive-card:first-child>div{display:block;padding:22px}
  body.page-template-page-news-stories .archive-card:first-child h3{font-size:20px}
}
@media(max-width:900px){
  body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero,
  body.taf-premium-inner .portal-hero{min-height:390px}
  body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero .hero-copy,
  body.taf-premium-inner .portal-hero>.container{padding-block:68px 75px}
  body.page-template-page-what-we-do .focus-feature>div:first-child{min-height:300px}
  body.page-template-page-what-we-do .focus-feature img{min-height:300px}
  body.page-template-page-free-holiday-coaching .programme-intro{grid-template-columns:1fr}
  body.page-template-page-contact-support .contact-strip{margin-top:0;padding-top:30px}
}
@media(max-width:620px){
  body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero,
  body.taf-premium-inner .portal-hero{min-height:360px}
  body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero h1,
  body.taf-premium-inner .portal-hero h1,
  body.taf-premium-inner .mini-hero h1{font-size:42px}
  body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero .hero-copy,
  body.taf-premium-inner .portal-hero>.container{padding-block:58px 66px}
  body.page-template-page-about-us .story-layout>div:first-child,
  body.page-template-page-what-we-do .focus-feature>div:last-child,
  body.page-template-page-what-we-do .section.soft .split>div:first-child,
  body.page-template-page-free-holiday-coaching .programme-intro>div:first-child,
  body.page-template-page-student-registration .multi-form,
  body.page-template-page-teacher-volunteer-application .multi-form,
  body.page-template-page-contact-support .contact-form,
  body.page-template-page-contact-support .contact-options,
  body.taf-premium-inner .legal,
  body.taf-premium-inner .auth-card{padding:25px}
  body.page-template-page-gallery .filter-bar{margin-top:-15px;overflow:auto;display:flex;flex-wrap:nowrap}
  body.page-template-page-gallery .filter-btn{white-space:nowrap}
  body.page-template-page-contact-support .support-panel{padding:34px 28px}
}

@media(prefers-reduced-motion:reduce){
  body.taf-premium-inner *{scroll-behavior:auto}
}


/* === c1-hf8.css === */
/* TAF WordPress C1 HF8 — Approved Inner-Page Hero Restoration
   Restores the pre-HF7/HF6 hero treatment on all inner pages while preserving
   the HF7 premium content/card upgrades below the hero.
   Homepage is excluded by body class architecture.
   Impact / Projects keeps its accepted bespoke premium hero from C1 HF3.
*/

/* Standard inner-page hero — restore the richer HF6 composition. */
body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:grid;
  align-items:center;
  min-height:500px;
  background:#21002f;
  box-shadow:none;
}
body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero .hero-media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center 44%!important;
  z-index:0!important;
  display:block!important;
  filter:saturate(.98) contrast(1.03)!important;
  transform:none!important;
  transition:none!important;
}
body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero .hero-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.12))!important;
}
body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  left:0!important;
  top:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  pointer-events:none!important;
  z-index:1!important;
  background:linear-gradient(90deg,rgba(18,0,29,.99) 0%,rgba(29,0,45,.95) 29%,rgba(45,3,66,.78) 51%,rgba(24,0,39,.31) 72%,rgba(17,0,27,.13) 100%)!important;
}
body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero::after{
  content:""!important;
  position:absolute!important;
  z-index:3!important;
  left:-2%!important;
  right:-2%!important;
  bottom:-1px!important;
  top:auto!important;
  width:auto!important;
  height:42px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:linear-gradient(90deg,var(--gold) 0 35%,var(--magenta) 63% 100%)!important;
  clip-path:polygon(0 78%,28% 60%,58% 17%,82% 43%,100% 2%,100% 100%,0 100%)!important;
  pointer-events:none!important;
}
body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero .hero-copy{
  position:relative!important;
  z-index:2!important;
  max-width:700px!important;
  padding:105px 0 125px!important;
}
body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero h1{
  max-width:680px!important;
  font-size:clamp(54px,5.3vw,78px)!important;
  line-height:.94!important;
  letter-spacing:-.045em!important;
  margin:13px 0 21px!important;
  font-weight:900!important;
  text-shadow:0 2px 20px rgba(0,0,0,.18)!important;
}
body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero .hero-copy>p{
  max-width:620px!important;
  font-size:18px!important;
  line-height:1.55!important;
  color:rgba(255,255,255,.88)!important;
}
body.taf-premium-inner .page-hero .breadcrumbs{
  display:block!important;
  margin:0 0 12px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  color:rgba(255,255,255,.68)!important;
  letter-spacing:.04em!important;
}

/* Applicant Portal hero — restore the pre-HF7 photographic treatment. */
body.taf-premium-inner .portal-hero{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  min-height:420px!important;
  padding:100px 0!important;
  background:#21002f!important;
  box-shadow:none!important;
}
body.taf-premium-inner .portal-hero .hero-media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center 45%!important;
  z-index:0!important;
  transform:none!important;
  transition:none!important;
  filter:saturate(.98) contrast(1.03)!important;
}
body.taf-premium-inner .portal-hero .hero-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.12))!important;
}
body.taf-premium-inner .portal-hero::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  left:0!important;
  top:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:linear-gradient(90deg,rgba(18,0,29,.99) 0%,rgba(29,0,45,.95) 29%,rgba(45,3,66,.78) 51%,rgba(24,0,39,.31) 72%,rgba(17,0,27,.13) 100%)!important;
  z-index:1!important;
}
body.taf-premium-inner .portal-hero::after{
  content:""!important;
  position:absolute!important;
  left:-2%!important;
  right:-2%!important;
  bottom:-1px!important;
  top:auto!important;
  height:42px!important;
  background:linear-gradient(90deg,var(--gold) 0 35%,var(--magenta) 63% 100%)!important;
  clip-path:polygon(0 78%,28% 60%,58% 17%,82% 43%,100% 2%,100% 100%,0 100%)!important;
  z-index:3!important;
}
body.taf-premium-inner .portal-hero>.container{
  position:relative!important;
  z-index:2!important;
  max-width:1320px!important;
  padding-block:0!important;
}
body.taf-premium-inner .portal-hero h1{
  font-size:58px!important;
  line-height:.98!important;
  text-transform:none!important;
  letter-spacing:-.035em!important;
  text-shadow:0 2px 20px rgba(0,0,0,.18)!important;
}
body.taf-premium-inner .portal-hero p{
  max-width:620px!important;
  font-size:17px!important;
  line-height:1.58!important;
  color:rgba(255,255,255,.9)!important;
}

/* Supporting mini heroes return to their clean approved pre-HF7 gradient style. */
body.taf-premium-inner .mini-hero{
  position:relative!important;
  min-height:0!important;
  display:block!important;
  overflow:hidden!important;
  padding:70px 0!important;
  background:linear-gradient(135deg,var(--purple-950),var(--purple-700))!important;
  box-shadow:none!important;
  color:#fff!important;
}
body.taf-premium-inner .mini-hero::before,
body.taf-premium-inner .mini-hero::after{display:none!important}
body.taf-premium-inner .mini-hero .container{padding-block:0!important;position:relative!important;z-index:1!important}
body.taf-premium-inner .mini-hero h1{font-size:52px!important;line-height:.98!important;letter-spacing:-.035em!important;text-shadow:none!important}

@media(max-width:900px){
  body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero{min-height:420px!important}
  body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero .hero-copy{padding:80px 0 96px!important}
  body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero h1{font-size:47px!important}
  body.taf-premium-inner .portal-hero{min-height:400px!important;padding:82px 0!important}
  body.taf-premium-inner .portal-hero h1{font-size:46px!important}
}
@media(max-width:620px){
  body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero{min-height:400px!important}
  body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero .hero-copy{padding:74px 0 86px!important}
  body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero h1{font-size:46px!important}
  body.taf-premium-inner:not(.page-template-page-impact-projects) .page-hero::after,
  body.taf-premium-inner .portal-hero::after{height:29px!important}
  body.taf-premium-inner .portal-hero{min-height:360px!important;padding:72px 0!important}
  body.taf-premium-inner .portal-hero h1{font-size:42px!important}
  body.taf-premium-inner .mini-hero{padding:56px 0!important}
  body.taf-premium-inner .mini-hero h1{font-size:38px!important}
}


/* === c4.css === */
/* C4 operational UI bridge: no changes to locked page composition. */
.taf-hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.taf-form-notice{margin:0 0 20px;padding:14px 16px;border-radius:10px;font-weight:700;line-height:1.45}
.taf-form-success{background:#eaf8f0;border:1px solid #b8e2c8;color:#155f37}.taf-form-error{background:#fff0f0;border:1px solid #f0c0c0;color:#8f1d1d}
.taf-opportunity-hero .hero-copy{max-width:760px}.taf-opportunity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.taf-opportunity-card{overflow:hidden;background:#fff;border:1px solid #eadfec;border-radius:18px;box-shadow:0 14px 35px rgba(45,7,82,.08);display:flex;flex-direction:column}.taf-opportunity-card img{width:100%;height:220px;object-fit:cover}.taf-opportunity-card-body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1}.taf-opportunity-meta{display:flex;gap:8px;flex-wrap:wrap}.taf-opportunity-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#f7effa;color:#43105f;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.taf-opportunity-pill.is-open{background:#e7f7ed;color:#17623b}.taf-opportunity-pill.is-upcoming{background:#fff6d7;color:#725300}.taf-opportunity-pill.is-closed,.taf-opportunity-pill.is-archived{background:#f2eef4;color:#6f6275}.taf-opportunity-card h2,.taf-opportunity-card h3{margin:0}.taf-opportunity-card p{margin:0;color:#6e6175}.taf-opportunity-card .btn{margin-top:auto;align-self:flex-start}.taf-opportunity-detail{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px;align-items:start}.taf-opportunity-aside{padding:24px;border-radius:18px;background:linear-gradient(145deg,#2d0752,#160021);color:#fff;box-shadow:0 18px 42px rgba(45,7,82,.2)}.taf-opportunity-aside h3{color:#fff;margin-top:0}.taf-opportunity-aside p{color:#eadcf2}.taf-opportunity-source{font-size:12px;color:#76667d;border-top:1px solid #eadfec;padding-top:14px;margin-top:20px}
@media(max-width:960px){.taf-opportunity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.taf-opportunity-detail{grid-template-columns:1fr}}
@media(max-width:640px){.taf-opportunity-grid{grid-template-columns:1fr}}


/* === c5.css === */
/* C5 Secure Student Application Engine — operational states only; approved visual system preserved. */
.taf-student-live .taf-application-notice{margin:0 0 18px;padding:14px 16px;border:1px solid #eadbea;border-radius:14px;background:#fff;color:#35143f;font-weight:650}
.taf-student-live .taf-application-notice.is-error{border-color:#f2b8c9;background:#fff5f8;color:#8d153f}
.taf-student-live .taf-application-notice.is-success{border-color:#b7dfc6;background:#f4fff7;color:#176435}
.taf-student-live .taf-save-state{display:inline-flex;gap:8px;align-items:center;font-size:.84rem;color:#6e5c72;margin-left:auto}
.taf-student-live .taf-save-state::before{content:"";width:8px;height:8px;border-radius:50%;background:#2aa85b;box-shadow:0 0 0 4px rgba(42,168,91,.12)}
.taf-student-live .multi-form.is-busy{opacity:.78;pointer-events:none}
.taf-student-live .multi-form button[disabled]{opacity:.55;cursor:not-allowed}
.taf-student-live .taf-secure-note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin:18px 0;border-radius:14px;background:linear-gradient(135deg,#faf6fb,#fff);border:1px solid #eadfec;color:#514057}
.taf-student-live .taf-secure-note strong{color:#2d0752}
.taf-student-live .taf-account-lock{margin:0 0 16px;padding:12px 14px;border-left:4px solid #f8bc17;background:#fff9e8;border-radius:0 10px 10px 0;color:#573e00}
.taf-student-live .confirmation-mark{box-shadow:0 16px 42px rgba(45,7,82,.18)}
.taf-student-live .taf-reference-box{margin:18px 0;padding:18px;border-radius:16px;background:#2d0752;color:#fff;text-align:center}
.taf-student-live .taf-reference-box code{display:block;margin-top:8px;color:#f8bc17;font-size:1.05rem;font-weight:900;letter-spacing:.04em}
.taf-student-live .taf-portal-link{margin-top:12px}
.taf-student-live .taf-hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.taf-student-live .review-box dl{display:grid;grid-template-columns:minmax(150px,.45fr) 1fr;gap:0;border:1px solid #eadfec;border-radius:16px;overflow:hidden}
.taf-student-live .review-box dt,.taf-student-live .review-box dd{margin:0;padding:11px 14px;border-bottom:1px solid #f0e8f2}
.taf-student-live .review-box dt{font-weight:800;background:#fbf8fc;color:#2d0752}.taf-student-live .review-box dd{color:#514057}
@media(max-width:680px){.taf-student-live .review-box dl{grid-template-columns:1fr}.taf-student-live .review-box dt{padding-bottom:3px}.taf-student-live .review-box dd{padding-top:3px}}

