/* Shared design1 header and page-title hierarchy. */
.header .top{gap:36px;padding:28px 0;align-items:center}
.header .brand{font-size:clamp(3rem,6vw,5rem);line-height:1.05;font-weight:700;white-space:nowrap}
.header .brandmark{width:.48em;height:.48em;border-width:3px;vertical-align:.015em;margin-right:.16em}
.funding-heading{border-left:2px solid var(--amber);padding-left:24px;display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:1.45;color:var(--navy)}
.funding-heading>span:first-child{font-size:17px;font-weight:700}
.funding-heading strong{font-size:18px}
.hero .page-title,.page-head .page-title{font-size:clamp(2.5rem,4.2vw,4.2rem);font-weight:700;line-height:1.1;letter-spacing:-.035em;text-transform:none;color:var(--navy);margin:0 0 20px;max-width:1050px}
.hero p.page-subtitle,.page-head p.page-subtitle{font-size:clamp(1.45rem,2.5vw,2.2rem);font-weight:500;line-height:1.3;letter-spacing:-.025em;color:var(--blue);margin:0 0 24px;max-width:900px}
.page-subtitle em{font-style:normal;color:inherit}
.stats .wrap{grid-template-columns:repeat(3,minmax(0,1fr))}
.stat span{display:block;font-size:clamp(1.15rem,1.65vw,1.4rem);font-weight:700;line-height:1.35;margin-top:14px}
.home-wp-card,.home-wp-card:nth-child(3n){border-top-color:var(--amber)}
.home-wp-card .number{font-size:2.25rem;color:var(--navy)}
.home-wp-card .meta strong{font-size:1rem;color:var(--navy)}
.join-us .button{background:var(--amber);color:var(--navy)}
.wp-detail+.wp-detail{position:relative}
.wp-detail+.wp-detail::before{content:'';position:absolute;top:0;left:5%;width:90%;height:2px;background:var(--line)}
.home-mobility{border-top:2px solid var(--amber)}
.home-mobility .lead{max-width:1000px}
.mobility-table-scroll{overflow-x:auto}
.home-mobility .training-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px;line-height:1.6}
.home-mobility caption{text-align:left;font-weight:700;padding:20px 0}
.home-mobility th,.home-mobility td{text-align:left;vertical-align:top;padding:18px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.home-mobility thead{background:var(--navy);color:var(--surface)}
.home-mobility thead th:first-child{width:25%}
.home-mobility thead th:last-child{width:18%}
.home-mobility tbody th span{display:block;font-size:14px;font-weight:400;margin-top:5px}
.mobility-note{font-size:14px;margin-top:20px}
@media(max-width:950px){.header .top{flex-wrap:wrap;gap:20px}.funding-heading{font-size:12px}.funding-heading strong{font-size:16px}}
@media(max-width:650px){.header .brand{font-size:clamp(2.5rem,10.3vw,4rem)}.header .top{padding:24px 0}.funding-heading{padding-left:16px}.hero .page-title,.page-head .page-title{font-size:clamp(2rem,8vw,2.8rem)}.hero p.page-subtitle,.page-head p.page-subtitle{font-size:1.4rem}.stats .wrap{gap:20px;grid-template-columns:1fr}.stat{padding:0;border:0}.stat span{font-size:1.2rem;margin-top:8px}.home-mobility .training-table{min-width:620px;font-size:14px}.home-mobility th,.home-mobility td{padding:12px}.home-mobility thead th:first-child{width:26%}}

/* Light-blue masthead, one-line hero title and responsive DC checkerboard. */
.header{background:#DBEAFE}
.header .brand,.header .brand span{color:var(--blue)}
.header .funding-heading{color:var(--navy)}
.hero-cell .wrap>.page-title{grid-column:1/-1;white-space:nowrap;max-width:none;width:100%;font-size:clamp(2rem,4.2vw,4.2rem);margin:0;line-height:1.15}
.grid>.card.position{--dc-accent:var(--blue);--dc-tint:#DBEAFE;border-top-color:var(--dc-accent);background:#fff}
.grid>.card.position:nth-child(even){--dc-accent:var(--amber);--dc-tint:#FEF3C7}
.grid>.card.position .tag{background:var(--dc-accent);color:var(--navy);font-weight:700}
@media(min-width:651px) and (max-width:950px){
.grid>.card.position:nth-child(4n+1),.grid>.card.position:nth-child(4n+4){--dc-accent:var(--blue);--dc-tint:#DBEAFE}
.grid>.card.position:nth-child(4n+2),.grid>.card.position:nth-child(4n+3){--dc-accent:var(--amber);--dc-tint:#FEF3C7}
}
@media(max-width:650px){.hero-cell .wrap>.page-title{font-size:clamp(17px,5.15vw,30px);text-align:center}}

/* Homepage: prominent centred research-section title. */
.section .home-time-title{font-size:clamp(2.6rem,4.8vw,4.2rem);font-weight:700;line-height:1.12;letter-spacing:-.035em;text-transform:none;text-align:center;width:100%;margin:0 auto 42px;color:var(--navy)}

/* EU acknowledgement alongside the masthead funding label. */
.header .top{flex-wrap:wrap}
.header-funding-group{display:flex;align-items:center;gap:22px;margin-left:auto;max-width:100%;min-width:0}
.header-eu-funding{display:block;width:200px;max-width:40%;height:auto;flex-shrink:0}
.header-funding-group .funding-heading{min-width:0}
@media(max-width:650px){.header-funding-group{width:100%;margin-left:0;gap:14px}.header-eu-funding{width:145px}.header-funding-group .funding-heading{padding-left:14px;font-size:11px}.header-funding-group .funding-heading strong{font-size:13px}.header-funding-group .funding-heading>span:first-child{font-size:14px}}

/* About: centred introduction to the research axes. */
#research>.wrap>h2,#research>.wrap>.lead{text-align:center;margin-left:auto;margin-right:auto}

/* About: WP headings are subordinate to the research program title. */
#wp1 .home-time-title,#wp2 .home-time-title,#wp3 .home-time-title{font-size:clamp(1.65rem,2.7vw,2.4rem);line-height:1.2;margin-bottom:26px}

/* Major About sections: alternating blue and yellow separators. */
.about-section-divider{position:relative}
.about-section-divider::before{content:'';position:absolute;top:0;left:5%;width:90%;height:3px;background:var(--blue)}
#research.about-section-divider::before,#outcomes.about-section-divider::before{background:var(--amber)}

/* Consortium: beneficiary and associated-partner accents. */
.consortium-beneficiaries .card{border-top-color:var(--amber)}
.consortium-associated .card{border-top-color:var(--blue)}

/* Consortium: larger map without the horizontal separator or frame. */
.consortium-heading{border-bottom:0}
.consortium-heading .consortium-heading-grid{grid-template-columns:minmax(0,1fr) minmax(300px,55.2%)}
.consortium-heading .consortium-map{max-width:624px;border:0}
.consortium-heading .consortium-map figcaption{border:0}
@media(max-width:1000px){.consortium-heading .consortium-heading-grid{grid-template-columns:minmax(0,1fr)}.consortium-heading .consortium-map{max-width:624px;width:100%}}

/* Consortium: give the map more space alongside the introduction. */
.consortium-heading .consortium-heading-grid{grid-template-columns:minmax(0,1fr) minmax(300px,61%);gap:24px}
.consortium-heading .consortium-map{max-width:740px;padding:0}
@media(max-width:1000px){.consortium-heading .consortium-heading-grid{grid-template-columns:minmax(0,1fr)}.consortium-heading .consortium-map{max-width:740px;width:100%}}

/* Training: clear coloured separators for each main section. */
.training-section-divider{position:relative}
.training-section-divider::before{content:'';position:absolute;top:0;left:5%;width:90%;height:3px;background:var(--blue)}
.training-section-divider.divider-yellow::before{background:var(--amber)}

/* Full-width navigation; keep menu items aligned with the masthead. */
.header>.wrap{width:100%;max-width:none}
.header .top{width:min(1280px,90%);margin-inline:auto}
.header .nav,.header .mobile-nav{background:var(--navy);padding-inline:max(5%,calc((100% - 1280px)/2))}
.header .nav{align-items:center;padding-block:8px}
.header nav a.nav-apply{display:inline-flex;align-items:center;justify-content:center;background:var(--amber);color:var(--navy);border-radius:4px;padding:8px 18px;text-decoration:none;font-weight:700;box-shadow:none}
.header nav a.nav-apply:hover,.header nav a.nav-apply:focus-visible{text-decoration:underline;text-decoration-color:var(--navy)}
.header nav a.nav-apply[aria-current="page"]{box-shadow:inset 0 -3px var(--navy)}
@media(max-width:650px){.header .top{width:89%}.header .mobile-nav{padding-inline:5.5%}.header .mobile-nav .nav-apply{justify-self:start}}
