/* Compact presentation: preserve all content, reduce oversized spacing. */
html{scroll-padding-top:172px}
body{line-height:1.55}
.wrap{max-width:1240px}
.section{padding-block:52px}
h2{font-weight:700;font-size:clamp(29px,3vw,40px);line-height:1.14;letter-spacing:-1.25px}
h3{font-size:20px;font-weight:700}
.header-inner{height:160px;gap:20px}
.brand{gap:10px}
.brand img,.brand-light img{width:156px;height:104px;object-fit:contain;border:0;border-radius:0;clip-path:none;flex-shrink:0}
.brand>span{font-size:21px;letter-spacing:1px}
.brand small{font-size:7px;margin-top:6px;letter-spacing:1px}
.desktop-nav{gap:23px}
.mobile-menu{max-height:calc(100dvh - 160px)}
.desktop-nav a,.mobile-menu a,.eyebrow,.small-label,.section-label,.section-label span,.enquiry-types a>span,.principles strong{font-weight:700}
h2 em,h3 em{font-weight:700}
.section-label span{color:var(--brand-dark)}
.brand small{font-weight:700}
.brand .brand-wordmark{font-size:30px;letter-spacing:.8px;line-height:1.1;text-align:center}
.brand .brand-wordmark small{display:block;text-align:center;white-space:nowrap;font-size:12px;letter-spacing:.4px;line-height:1.3;margin-top:10px;font-weight:700}

.vision-card>.icon,.functions-grid .icon,.sector-heading .icon,.partners-grid .icon{color:var(--brand-dark);background:var(--brand-light);border-radius:7px;padding:4px}
.mini-orbit{color:var(--brand-dark)}
.image-arrow,.step-number{color:var(--brand-dark);background:var(--brand-light)}
.button-lime:hover,.partner-cta:hover{background:#a4d990}
.academy-section :focus-visible,.site-footer :focus-visible{outline-color:var(--brand-light)}
.hero{min-height:0;grid-template-columns:1.05fr 1fr;gap:36px;padding-block:30px}
.hero-copy{padding-top:4px}
.hero h1{font-size:clamp(49px,5.3vw,72px);font-weight:700;letter-spacing:-3.6px;margin:18px 0}
.hero h1 em{font-family:inherit;font-style:normal;font-weight:inherit;letter-spacing:-3px}
.hero-manifesto{font-size:16px;line-height:1.5}
.hero-description{max-width:410px;font-size:14px;line-height:1.65;margin-top:12px}
.hero-actions{margin-top:20px;gap:18px;flex-direction:row;align-items:center}
.button{min-height:44px;padding:12px 17px;gap:20px}
.hero .button{padding:12px 17px}
.hero-actions>.text-link{margin:0}
.hero-bottom{padding-top:18px;margin-top:0;gap:10px}
.mini-orbit{font-size:32px}
.hero-visual{min-height:380px}
.image-message{left:26px;bottom:60px}
.image-message p{font-size:29px}
.image-line{margin-bottom:12px}
.hero-visual figcaption{left:26px;bottom:22px}
.image-arrow{width:40px;height:40px;bottom:20px;right:20px}
.image-kicker{top:18px;left:18px}
.pillars-inner{padding-block:15px;gap:16px}
.section-intro{grid-template-columns:.7fr 2.1fr;gap:35px}
.section-lead{max-width:660px;font-size:14px;line-height:1.7;margin-top:14px}
.section-heading{align-items:flex-start;gap:36px;margin-bottom:28px}
.section-heading>div{max-width:640px}
.section-heading .eyebrow{margin-bottom:13px}
.section-heading>p{max-width:350px;font-size:13px;line-height:1.7;padding-top:28px}
.vision-grid{margin-top:28px;gap:18px}
.vision-card{padding:24px;gap:18px}
.vision-card h3{font-size:21px;margin-bottom:10px}
.vision-card p{line-height:1.7;max-width:none}
.vision-card>.icon{width:32px;height:32px}
.principles{margin-top:22px;padding-top:20px;gap:25px}
.principles li{padding:6px 11px}
.governance{grid-template-columns:1fr 30px 1fr}
.governance article{padding:24px 27px}
.governance h3{font-size:23px}
.governance .small-label{margin-bottom:11px}
.check-list{margin-top:16px;gap:7px}
.functions-grid{margin-top:25px}
.functions-grid article{padding-block:20px}
.functions-grid .icon{width:25px;height:25px;margin-bottom:12px}
.functions-grid h3{font-size:17px;margin-bottom:8px;max-width:none}
.functions-grid p{line-height:1.7;max-width:none}
.local-teams{margin-top:8px;padding-top:20px;gap:24px;grid-template-columns:.6fr 1fr 1fr}
.local-teams h3{margin-bottom:7px}
.local-teams p:not(.small-label){line-height:1.7}
.sector-grid{gap:15px}
.sector-art{height:108px}
.sector-content{padding:18px}
.sector-heading{margin-bottom:12px}
.sector-content h3{font-size:20px;margin-bottom:10px}
.sector-content p{line-height:1.7;margin-bottom:14px}
.sector-content .text-link{padding-top:11px;gap:5px}
.process-grid{margin-top:29px;gap:24px 30px}
.process-grid li{padding-top:18px}
.step-number{width:31px;height:31px;margin-bottom:12px}
.process-grid h3{font-size:18px;margin-bottom:9px}
.process-grid p{line-height:1.7;max-width:none}
.project-callout{margin-top:28px;padding:24px 27px;gap:24px}
.project-callout h3{font-size:21px}
.project-callout p{margin-top:7px}
.academy-layout{gap:55px}
.academy-seal{width:48px;height:48px;margin-top:20px}
.academy-seal .icon{width:27px;height:27px}
.academy-name{max-width:none;margin:18px 0 13px}
.academy-intro h2{max-width:430px;font-size:clamp(32px,3.4vw,45px);letter-spacing:-1.3px}
.academy-intro>p:not(.eyebrow):not(.academy-name){max-width:430px;margin-top:16px;line-height:1.7}
.academy-intro .button{margin-top:20px}
.academy-programmes{padding-top:0}
.academy-programmes article{padding:18px 0;gap:20px}
.academy-programmes h3{font-size:20px;margin-bottom:8px;max-width:none}
.academy-programmes article p{max-width:none;line-height:1.7}
.academy-note{padding:16px 19px;margin-top:4px}
.partners-grid article,.partner-cta{padding-top:23px;padding-bottom:23px}
.partners-grid .icon{width:26px;height:26px;margin-bottom:15px}
.partners-grid h3{font-size:21px;margin-bottom:10px;max-width:310px}
.partners-grid p{line-height:1.7}
.contact-top .eyebrow{margin-bottom:13px}
.contact-top h2{max-width:670px;font-size:clamp(29px,3.3vw,43px)}
.contact-top p:not(.eyebrow){max-width:640px;line-height:1.7;margin-top:15px}
.contact-emblem{width:92px;height:92px;margin-right:20px}
.contact-layout{gap:55px;margin-top:32px}
.email-link{font-size:29px}
.chairman{margin-top:20px}
.enquiry-types{margin-top:20px}
.enquiry-types a{padding:14px 0}
.contact-form{padding:25px}
.contact-form h3{font-size:23px}
.form-intro{margin:9px 0 17px}
.contact-form label{margin-bottom:13px}
input,textarea,select{padding:10px 11px;margin-top:5px}
textarea{min-height:90px}
.site-footer{padding:28px 0 21px}
.brand-light small{font-size:6px;letter-spacing:.9px}
.footer-statement{font-size:clamp(30px,3.7vw,48px);letter-spacing:-1.4px;line-height:1.15;padding:23px 0}
.footer-statement br{display:none}
.footer-statement em{margin-left:.16em}
.footer-bottom{padding-top:17px}
@media(max-width:1199px){
  .brand>span{font-size:19px}.brand small{font-size:6px}
  .desktop-nav{gap:18px}.hero-actions{gap:12px}
  .hero h1{font-size:clamp(48px,5.7vw,65px)}
  .hero-visual{min-height:375px}.hero-actions .text-link{font-size:11px}
  .sector-content{padding:17px}.sector-content h3{font-size:18px}
}
@media(max-width:1023px){
  .wrap{width:calc(100% - 48px)}.hero{gap:25px}
  .hero h1{font-size:clamp(43px,5.8vw,58px)}
  .hero-actions{gap:8px;flex-wrap:wrap}.hero-actions .button{font-size:11px;padding:12px}
  .hero-visual{min-height:370px}.hero-copy>.eyebrow{font-size:8px}
  .hero-description{font-size:13px}.hero-manifesto{font-size:15px}
  .pillars-inner{justify-content:center;padding-block:14px;gap:13px 20px}
  .section-intro{grid-template-columns:.65fr 2fr;gap:25px}
  .sector-grid{gap:16px}.sector-art{height:110px}.sector-content h3{font-size:20px}
  .local-teams{grid-template-columns:1fr 1fr}.local-teams>.small-label{grid-column:1/-1}
  .academy-layout{gap:35px}.contact-layout{gap:30px}
}
@media(max-width:767px){
  .brand .brand-wordmark{font-size:22px}.brand .brand-wordmark small{font-size:10.5px;letter-spacing:.2px}

  html{scroll-padding-top:132px}.mobile-menu{max-height:calc(100dvh - 120px)}.wrap{width:calc(100% - 36px)}
  .section{padding-block:36px}.header-inner{height:120px;gap:12px}
  .brand img,.brand-light img{width:124px;height:84px}.brand>span{font-size:19px}
  .brand small{font-size:6px;letter-spacing:.8px}
  .hero{grid-template-columns:1fr;gap:22px;padding-block:24px}
  .hero-copy{padding-top:0}.hero h1{font-size:clamp(45px,11.6vw,66px);margin:15px 0;letter-spacing:-2.8px}
  .hero h1 em{letter-spacing:-2.5px}.hero-manifesto{font-size:16px}
  .hero-description{max-width:520px;font-size:14px;margin-top:10px}
  .hero-actions{margin-top:16px;gap:15px}.hero-actions .button{font-size:11px;padding:12px 15px}
  .hero-actions>.text-link{font-size:11px}.hero-bottom{padding:0;margin-top:16px}
  .hero-visual{min-height:245px}.landscape{object-position:center 54%}
  .image-kicker{top:15px;left:18px}.image-message{left:20px;bottom:47px}
  .image-message p{font-size:27px}.image-line{margin-bottom:9px}
  .hero-visual figcaption{left:20px;bottom:19px}.image-arrow{width:36px;height:36px;right:17px;bottom:17px}
  .pillars-inner{gap:12px 17px;padding-block:14px}.pillars-inner>span{font-size:9px;gap:7px}
  h2{font-size:30px;letter-spacing:-1px}.section-intro{grid-template-columns:1fr;gap:13px}
  .section-lead{font-size:14px;margin-top:12px}.section-heading{margin-bottom:23px}
  .section-heading .eyebrow{margin-bottom:12px}.section-heading>p{max-width:none;padding:0;margin-top:12px;font-size:14px}
  .vision-grid{margin-top:22px;gap:13px}.vision-card{padding:20px;gap:16px}
  .vision-card h3{font-size:20px;margin-bottom:8px}
  .principles{gap:13px;margin-top:19px;padding-top:17px}.principles li{padding:5px 10px}
  .governance{grid-template-columns:1fr}.governance article{padding:21px}
  .governance h3{font-size:22px}.governance-link{height:25px;line-height:25px}
  .functions-grid{margin-top:23px}.functions-grid article,.functions-grid article:nth-child(3n+1),.functions-grid article:nth-child(3n){padding:18px}
  .functions-grid article:nth-child(2n+1){padding-left:0}.functions-grid article:nth-child(2n){padding-right:0}
  .functions-grid .icon{margin-bottom:10px}.functions-grid h3{font-size:16px;margin-bottom:8px}
  .local-teams{gap:19px;grid-template-columns:1fr;padding-top:19px}
  .sector-content{padding:17px}.sector-content h3{font-size:20px}
  .sector-content h3 br{display:none}.sector-heading{margin-bottom:10px}
  .sector-content p{font-size:13px}.sector-content .text-link{font-size:10px}
  .process-grid{margin-top:24px;gap:23px 20px}.process-grid h3{font-size:17px}
  .process-grid p{font-size:13px}.step-number{margin-bottom:11px}
  .project-callout{padding:21px;margin-top:26px;gap:17px}.project-callout h3{font-size:20px}
  .academy-layout{grid-template-columns:1fr;gap:28px}.academy-intro h2{font-size:34px}
  .academy-seal{margin-top:18px}.academy-name{margin:15px 0 12px}
  .academy-programmes article{padding:17px 0}.academy-programmes h3{font-size:20px}
  .partners-grid article,.partners-grid article:nth-child(3n+2),.partners-grid article:nth-child(3n),.partner-cta{padding-top:21px;padding-bottom:21px}
  .partners-grid h3{font-size:19px}.partners-grid p{font-size:12px}
  .partners-grid .partner-cta{padding:21px 17px}.round-arrow{top:17px}
  .contact-top h2{font-size:31px}.contact-layout{grid-template-columns:1fr;gap:26px;margin-top:25px}
  .contact-top p:not(.eyebrow){font-size:14px}.contact-form{padding:22px}
  .email-link{font-size:28px}.form-row{grid-template-columns:1fr 1fr;gap:13px}
  .contact-form input,.contact-form select,.contact-form textarea{font-size:16px;padding:10px}
  .footer-statement{font-size:33px;padding:21px 0}.brand-light small{font-size:5px}
  .footer-bottom{gap:15px}.site-footer{padding-top:25px}
}
@media(max-width:420px){
  .brand .brand-wordmark{font-size:22px}.brand .brand-wordmark small{font-size:9px;letter-spacing:.1px}

  .brand>span{font-size:18px}.brand small{font-size:5.7px}.brand{gap:8px}
  .hero-copy>.eyebrow{font-size:7.5px;letter-spacing:.9px}
  .hero-actions{gap:12px}.hero-visual{min-height:225px}
  .sector-grid{grid-template-columns:1fr;gap:12px}
  .sector-card{display:grid;grid-template-columns:94px 1fr}.sector-art{height:100%;min-height:190px}
  .sector-art svg{height:100%;width:100%;object-fit:cover}
  .sector-content{padding:17px}.sector-content h3{font-size:20px}
  .sector-heading{display:none}.sector-content p{font-size:13px}
  .sector-content .text-link{font-size:10px}.sector-content h3 br{display:none}
  .form-row{grid-template-columns:1fr;gap:0}.partners-grid h3{font-size:18px}
  .footer-statement{font-size:30px}.brand-light>span{font-size:18px}
}
@media(max-width:359px){.brand img,.brand-light img{width:106px;height:72px}.brand .brand-wordmark{font-size:18px}.brand .brand-wordmark small{font-size:7.5px}}
/* Owner-supplied stacked logo, with transparent background. */
.brand.brand-stacked img{width:300px;height:143px;border-radius:0;clip-path:none;object-fit:contain}
.brand-light.brand-stacked{background:var(--paper);border-radius:4px;padding:8px}
@media(max-width:767px){.brand.brand-stacked img{width:220px;height:105px}}
@media(max-width:359px){.brand.brand-stacked img{width:210px;height:100px}}
@media print{.section{padding:20px 0}.hero-visual{display:none}.header-inner{height:auto}}
