
:root{--site-gutter:clamp(16px,3vw,72px);--layout-gap:clamp(14px,1.1vw,24px)}
.wrap,main.wrap,.top .wrap,footer .wrap{width:100%;max-width:none;max-inline-size:none;margin-inline:auto;padding-inline:var(--site-gutter)}
.hero{padding:clamp(20px,2.8vw,52px);gap:clamp(20px,2.5vw,48px)}
html[lang] .hero h1{max-inline-size:min(100%,24em)}
.hero .intro,.university-overview>p{max-inline-size:75ch}

.evidence-cards{column-count:auto;column-width:21rem;column-gap:var(--layout-gap)}
.evidence-cards>.evidence-card{margin-bottom:var(--layout-gap)}
.report-grid,.directory-grid,.partners-grid{gap:var(--layout-gap)}
.future-intro p{max-inline-size:75ch}
img{max-inline-size:100%}
@media(min-width:901px){
 .hero{grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr)}
 .directory-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}
 .partners-grid{grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}
 .compact-partners{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
 .report-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}
 .featured-report{grid-template-columns:clamp(240px,24vw,400px) minmax(0,1fr)}
 .top nav .tabs{flex-wrap:wrap}
}
@media(max-width:900px){.hero{grid-template-columns:minmax(0,1fr)}}
@media(max-width:550px){.hero{padding:20px}.goals{column-gap:8px}.report-grid,.directory-grid,.partners-grid{gap:12px}}

.university-overview{width:100%;max-width:none;max-inline-size:none}
.university-overview>p{max-width:none;max-inline-size:none}
.overview-topics{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:20px 24px}
.overview-topics>div{min-width:0;gap:12px;line-height:1.6}
.overview-topics img{flex:0 0 44px;width:44px;height:44px}
.overview-topics span{min-width:0;overflow-wrap:normal;word-break:normal}
@media(max-width:550px){.overview-topics{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.overview-topics>div{font-size:13px;gap:8px}.overview-topics img{flex-basis:36px;width:36px;height:36px}}

@media(max-width:550px){
 .goals{grid-template-columns:repeat(6,minmax(0,1fr));column-gap:8px;row-gap:4px}
 .goals .hex-link{position:relative;display:block;padding:0}
 .goals .hex-link .goal-number{position:absolute;top:15%;inset-inline:0;font-size:11px;line-height:1;text-align:center}
 .goals .hex-link .sdg-symbol{position:absolute;top:27%;inset-inline-start:35%;width:30%;height:23%}
 .goals .goal .goal-name{position:absolute;top:53%;inset-inline-start:10%;width:80%;height:29%;display:flex!important;align-items:center;justify-content:center;font-size:clamp(9px,2.5vw,11px);line-height:1.15;margin:0;padding:0;text-wrap:balance}
 html[lang=en] .goals .goal .goal-name{font-size:clamp(8px,2.1vw,10px)}
 .goals .goal:nth-child(1){grid-column:1/span 2;grid-row:1;margin-top:0}
 .goals .goal:nth-child(2){grid-column:3/span 2;grid-row:1;margin-top:0}
 .goals .goal:nth-child(3){grid-column:5/span 2;grid-row:1;margin-top:0}
 .goals .goal:nth-child(4){grid-column:2/span 2;grid-row:2;margin-top:-17%}
 .goals .goal:nth-child(5){grid-column:4/span 2;grid-row:2;margin-top:-17%}
 .goals .goal:nth-child(6){grid-column:1/span 2;grid-row:3;margin-top:-17%}
 .goals .goal:nth-child(7){grid-column:3/span 2;grid-row:3;margin-top:-17%}
 .goals .goal:nth-child(8){grid-column:5/span 2;grid-row:3;margin-top:-17%}
 .goals .goal:nth-child(9){grid-column:2/span 2;grid-row:4;margin-top:-17%}
 .goals .goal:nth-child(10){grid-column:4/span 2;grid-row:4;margin-top:-17%}
 .goals .goal:nth-child(11){grid-column:1/span 2;grid-row:5;margin-top:-17%}
 .goals .goal:nth-child(12){grid-column:3/span 2;grid-row:5;margin-top:-17%}
 .goals .goal:nth-child(13){grid-column:5/span 2;grid-row:5;margin-top:-17%}
 .goals .goal:nth-child(14){grid-column:2/span 2;grid-row:6;margin-top:-17%}
 .goals .goal:nth-child(15){grid-column:4/span 2;grid-row:6;margin-top:-17%}
 .goals .goal:nth-child(16){grid-column:2/span 2;grid-row:7;margin-top:-17%}
 .goals .goal:nth-child(17){grid-column:4/span 2;grid-row:7;margin-top:-17%}
}

/* Let internal page containers follow the available screen width. */
main.wrap .source-article{width:100%;max-width:none;box-sizing:border-box}
