
:root{
  --navy:#061b49;
  --navy-2:#082960;
  --blue:#0866d8;
  --teal:#007f8f;
  --teal-2:#11a5ad;
  --soft:#f7fbff;
  --line:#dbe8f2;
  --text:#071847;
  --muted:#375171;
  --shadow: 0 16px 40px rgba(6,27,73,.08);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:#fff;
}
.page{
  width:min(1540px, calc(100% - 32px));
  margin:14px auto 0;
}
.header{
  display:grid;
  grid-template-columns: 520px 1fr;
  gap:22px;
  align-items:center;
  margin-bottom:14px;
}
.logoBox,.navBox{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 28px rgba(6,27,73,.04);
  min-height:110px;
  display:flex;
  align-items:center;
}
.logoBox{padding:12px 22px}
.logoBox img{width:410px; max-width:100%; height:auto; display:block}
.navBox{justify-content:center; padding:0 24px}
.nav{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:32px;
  width:100%;
}
.nav a{
  color:var(--navy);
  text-decoration:none;
  font-weight:800;
  font-size:13px;
  letter-spacing:.02em;
  text-transform:uppercase;
  padding:40px 0 18px;
  border-bottom:3px solid transparent;
}
.nav a.active{color:var(--teal); border-bottom-color:var(--teal)}
.nav a:hover{color:var(--blue); border-bottom-color:var(--blue)}

.hero{
  display:grid;
  grid-template-columns: 490px 1fr;
  gap:22px;
  align-items:stretch;
  margin-bottom:16px;
}
.heroText,.heroImage{
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow);
}
.heroText{
  padding:46px 34px 30px;
}
.kickerLine{
  width:44px;height:3px;background:var(--teal);margin:18px 0 20px;border-radius:4px;
}
h1{
  margin:0;
  color:var(--navy);
  font-family:Georgia, 'Times New Roman', serif;
  font-size:42px;
  line-height:1.08;
  letter-spacing:.02em;
}
h1 span{color:var(--teal)}
.heroLead{
  font-size:20px;
  line-height:1.35;
  color:var(--teal);
  font-weight:800;
  margin:0 0 20px;
}
.heroText p{
  font-size:16px;
  line-height:1.62;
  font-weight:600;
  margin:0 0 10px;
}
.heroImage img{
  width:100%;
  height:100%;
  min-height:430px;
  object-fit:cover;
  object-position:center;
  display:block;
}

.pillars{
  display:grid;
  grid-template-columns: repeat(6, 1fr);
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow);
  overflow:hidden;
  margin-bottom:16px;
}
.pillar{
  min-height:148px;
  padding:24px 18px;
  text-align:center;
  position:relative;
}
.pillar:not(:last-child)::after{
  content:"";
  position:absolute;
  right:0; top:28px; bottom:28px;
  width:1px; background:#d9e6ef;
}
.pillar img{height:48px; width:auto; object-fit:contain; margin-bottom:12px}
.pillar h3{
  margin:0 0 8px;
  color:var(--navy);
  font-size:14px;
  line-height:1.1;
  letter-spacing:.02em;
}
.pillar p{
  margin:0 auto;
  color:var(--text);
  font-size:13.5px;
  line-height:1.35;
  max-width:190px;
  font-weight:600;
}

.cards{
  display:grid;
  grid-template-columns: 1.08fr .95fr .72fr 1.18fr;
  gap:16px;
  margin-bottom:16px;
}
.card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow);
  overflow:hidden;
  min-height:330px;
}
.card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.card.fit img{object-fit:contain; padding:0; background:#fff}

.commitment{
  border:1px solid #0d4665;
  border-radius:14px;
  overflow:hidden;
  background:#063058;
  box-shadow:var(--shadow);
  margin-bottom:16px;
}
.commitment img{
  display:block;
  width:100%;
  height:auto;
}
.footerImage{
  border-radius:10px 10px 0 0;
  overflow:hidden;
  background:#061b49;
}
.footerImage img{width:100%; display:block; height:auto}

.placeholder{
  width:min(980px, calc(100% - 32px));
  margin:80px auto;
  padding:42px;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
}
.placeholder a{color:var(--blue);font-weight:800}

@media (max-width:1100px){
  .header,.hero{grid-template-columns:1fr}
  .logoBox{justify-content:center}
  .nav{gap:18px}
  .cards{grid-template-columns:1fr 1fr}
  .pillars{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:700px){
  .page{width:min(100% - 18px, 1540px)}
  .heroText{padding:30px 22px}
  h1{font-size:34px}
  .pillars{grid-template-columns:1fr 1fr}
  .cards{grid-template-columns:1fr}
  .nav a{padding:18px 0 8px;font-size:12px}
}

/* Doctoral Support page */
.heroImage.doctoral img{min-height:430px; object-position:center}
.supportGrid{
  display:grid;
  grid-template-columns: 1.15fr .75fr .92fr;
  gap:16px;
  margin-bottom:16px;
}
.supportCard{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow);
  overflow:hidden;
  min-height:250px;
}
.supportCard.imageCard img{width:100%;height:100%;object-fit:cover;display:block}
.textCard{padding:28px 30px}
.sectionTitle{margin:0;color:var(--teal);font-size:16px;letter-spacing:.02em;text-transform:uppercase;font-weight:900}
.titleLine{width:34px;height:3px;background:var(--teal);border-radius:3px;margin:10px 0 22px}
.checkList{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.checkList li{position:relative;padding-left:30px;font-size:14px;line-height:1.35;font-weight:700;color:var(--text)}
.checkList li::before{content:'✓';position:absolute;left:0;top:-1px;width:18px;height:18px;border-radius:50%;background:var(--teal);color:#fff;text-align:center;line-height:18px;font-size:12px;font-weight:900}
.applyGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:24px;text-align:center}
.applyItem{border-right:1px solid var(--line);padding:0 8px;min-height:76px}
.applyItem:last-child{border-right:0}
.applyItem img{height:38px;width:auto;object-fit:contain;margin:0 auto 8px;display:block}
.applyItem span{font-size:12px;font-weight:700;color:var(--navy);display:block;line-height:1.22}
.commitment.doctoral{background:#05275a;border-color:#07346e}
@media (max-width:1100px){.supportGrid{grid-template-columns:1fr}.supportCard{min-height:auto}.supportCard.imageCard img{height:auto}.applyGrid{grid-template-columns:repeat(2,1fr)}}

/* Fixes 2026-07-09: full hero images + single-line navigation */
.header{
  grid-template-columns: 500px 1fr;
  align-items:start;
}
.logoBox,.navBox{
  min-height:96px;
}
.logoBox img{width:390px;}
.navBox{
  padding:0 18px;
  overflow:visible;
}
.nav{
  flex-wrap:nowrap;
  gap:24px;
  justify-content:center;
}
.nav a{
  font-size:12px;
  white-space:nowrap;
  padding:32px 0 14px;
}
.hero{
  align-items:start;
}
.heroImage{
  display:flex;
  align-items:center;
  justify-content:center;
}
.heroImage img{
  height:auto;
  min-height:0;
  object-fit:contain;
  object-position:center center;
}
.heroImage.doctoral img,
.heroImage.sustainability img{
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center center;
}
@media (max-width:1350px){
  .header{grid-template-columns:420px 1fr;}
  .nav{gap:16px;}
  .nav a{font-size:11px;}
  .logoBox img{width:360px;}
}
@media (max-width:1100px){
  .header{grid-template-columns:1fr;}
  .nav{flex-wrap:wrap;}
  .nav a{padding:18px 0 10px;}
}


/* Home page */
.homeHero .heroText{padding:38px 32px 22px;}
.homeHero h1{font-size:39px; line-height:1.15;}
.homeActions{display:flex; gap:14px; flex-wrap:wrap; margin:24px 0 18px;}
.btn{display:inline-flex; align-items:center; gap:10px; text-transform:uppercase; font-weight:900; font-size:12px; text-decoration:none; border-radius:3px; padding:13px 18px; border:1px solid #0a55c5; letter-spacing:.03em;}
.btn.primary{background:#0643a5;color:#fff;}
.btn.secondary{background:#fff;color:#053282;}
.registered{display:flex; gap:10px; align-items:center; font-size:13px; font-weight:700; margin-top:16px; color:#061b49;}
.registered img{height:22px; width:auto;}
.homeFeatureCards{display:grid; grid-template-columns:repeat(6,1fr); gap:8px; margin-bottom:16px;}
.homeFeature{border-radius:9px; background:linear-gradient(160deg,#04285d,#021a43); color:#fff; min-height:178px; padding:24px 18px 20px; text-align:center; box-shadow:var(--shadow); border:1px solid #0b3970;}
.homeFeature img{height:58px; width:auto; margin-bottom:16px;}
.homeFeature h3{margin:0 0 12px; color:#fff; font-size:15px; line-height:1.15; text-transform:uppercase;}
.homeFeature p{margin:0 auto; color:#fff; opacity:.96; font-size:14px; line-height:1.45; max-width:185px;}
.homeInfo{display:grid; grid-template-columns: 2.2fr 1.1fr; gap:16px; margin-bottom:16px;}
.statsPanel,.journalPanel{border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); background:#fff; min-height:178px; overflow:hidden;}
.statsPanel{display:grid; grid-template-columns:repeat(5,1fr); align-items:center;}
.statItem{text-align:center; padding:24px 14px; position:relative; min-height:160px; display:flex; flex-direction:column; align-items:center; justify-content:center;}
.statItem:not(:last-child)::after{content:""; position:absolute; right:0; top:24px; bottom:24px; width:1px; background:#d9e6ef;}
.statItem img{height:46px; width:auto; object-fit:contain; margin-bottom:10px;}
.statItem .number{font-size:30px; font-weight:900; color:#07317d; margin-bottom:6px;}
.statItem .label{font-size:12px; font-weight:900; color:#082050; text-transform:uppercase; margin-bottom:8px;}
.statItem p{font-size:13px; line-height:1.35; margin:0; font-weight:600;}
.journalPanel{display:grid; grid-template-columns:155px 1fr; align-items:center; gap:22px; padding:24px 28px;}
.journalPanel img{max-height:150px; width:auto; justify-self:center;}
.journalPanel h3{margin:0 0 10px; color:#0643a5; font-size:17px;}
.journalPanel p{margin:0 0 18px; font-size:14px; line-height:1.5; font-weight:600;}
.journalPanel a{color:#0653c8; text-decoration:none; font-weight:900; text-transform:uppercase;}

@media(max-width:1200px){.homeFeatureCards{grid-template-columns:repeat(3,1fr)} .homeInfo{grid-template-columns:1fr} .statsPanel{grid-template-columns:repeat(5,1fr)}}
@media(max-width:800px){.homeFeatureCards{grid-template-columns:1fr 1fr}.statsPanel{grid-template-columns:1fr 1fr}.journalPanel{grid-template-columns:1fr}.homeHero h1{font-size:32px}}

/* Projects page */
.sansTitle{font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;font-weight:900;letter-spacing:.015em;font-size:36px;line-height:1.08;}
.projectsHero .heroText{padding:38px 32px 28px;}
.heroImage.projects img{width:100%;height:auto;object-fit:contain;object-position:center;}
.projectPillars .pillar img{height:54px;}
.projectPillars .pillar h3{text-transform:uppercase;}
.projectsContent{display:grid;grid-template-columns:1.22fr .88fr;gap:16px;margin-bottom:16px;}
.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);overflow:hidden;}
.portfolio{padding:24px 24px 22px;}
.projectCards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
.projectCard{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;min-height:235px;}
.projectCard img{width:100%;height:84px;object-fit:cover;display:block;}
.projectCard h3{font-size:14px;line-height:1.15;margin:12px 12px 8px;color:var(--navy);}
.projectCard p{font-size:12.5px;line-height:1.35;margin:0 12px 12px;font-weight:600;color:var(--text);}
.projectCard span{display:inline-block;margin:0 12px 14px;padding:6px 12px;border-radius:5px;background:#dff3f7;color:#006d80;font-size:11px;font-weight:800;}
.mapPanel{padding:0;display:flex;align-items:center;justify-content:center;}
.mapPanel img{width:100%;height:100%;object-fit:contain;display:block;background:#fff;}
.impactStrip{border:1px solid #0d4665;border-radius:12px;overflow:hidden;background:#062a5a;box-shadow:var(--shadow);margin-bottom:16px;}
.impactStrip img{display:block;width:100%;height:auto;}
@media(max-width:1200px){.projectsContent{grid-template-columns:1fr}.projectCards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.projectCards{grid-template-columns:1fr 1fr}.sansTitle{font-size:32px}}
@media(max-width:560px){.projectCards{grid-template-columns:1fr}}

/* Intelligence page */
.intelligenceHero .heroText{padding:34px 32px 22px;}
.intelligenceHero .sansTitle{font-size:36px;}
.intelligenceHero .heroLead{font-size:24px;letter-spacing:.03em;margin-bottom:0;}
.heroImage.intelligence img{width:100%;height:auto;object-fit:contain;object-position:center;display:block;}
.miniBenefits{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:30px;border-top:1px solid var(--line);padding-top:18px;}
.miniBenefits div{position:relative;text-align:center;padding:0 10px;}
.miniBenefits div:not(:last-child)::after{content:"";position:absolute;right:0;top:4px;bottom:4px;width:1px;background:#d9e6ef;}
.miniBenefits img{height:34px;width:auto;object-fit:contain;margin:0 auto 8px;display:block;}
.miniBenefits strong{display:block;color:var(--navy);font-size:10.5px;text-transform:uppercase;line-height:1.1;font-weight:900;margin-bottom:5px;}
.miniBenefits span{display:block;color:var(--text);font-size:10px;line-height:1.25;font-weight:700;}
.intelligencePillars .pillar img{height:54px;}
.intelligencePillars .pillar h3{text-transform:uppercase;font-size:13px;}
.intelligencePillars .pillar p{font-size:12.5px;}
.intelligenceGrid{display:grid;grid-template-columns:.88fr 1.1fr 1.08fr;gap:16px;margin-bottom:16px;}
.imagePanel{display:flex;align-items:center;justify-content:center;padding:0;min-height:240px;}
.imagePanel img{width:100%;height:100%;object-fit:contain;display:block;background:#fff;}
.intelligenceStrip{background:#061e4c;border-color:#0d4665;}
@media(max-width:1200px){.miniBenefits{grid-template-columns:repeat(2,1fr);gap:16px}.miniBenefits div::after{display:none}.intelligenceGrid{grid-template-columns:1fr}.imagePanel img{height:auto}.intelligenceHero .sansTitle{font-size:32px}}
@media(max-width:700px){.miniBenefits{grid-template-columns:1fr}.intelligenceHero .heroLead{font-size:20px}}

/* Technologies page */
.techHero .heroText{padding:38px 32px 28px;}
.techHero .sansTitle{font-size:36px;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;font-weight:900;letter-spacing:.01em;line-height:1.12;}
.techHero .sansTitle span{color:var(--teal);}
.techHero .heroLead{font-size:18px;margin-bottom:20px;}
.heroImage.tech img{width:100%;height:auto;object-fit:contain;object-position:center;display:block;}
.techPillars{grid-template-columns:repeat(5,1fr);}
.techPillars .pillar img{height:54px;}
.techPillars .pillar h3{text-transform:uppercase;font-size:13px;}
.techPillars .pillar p{font-size:12.5px;}
.techGrid{display:grid;grid-template-columns:1.08fr 1.02fr .72fr 1fr;gap:16px;margin-bottom:16px;}
.techGrid .imagePanel{min-height:230px;}
.techStrip{background:#061e4c;border-color:#0d4665;}
@media(max-width:1250px){.techGrid{grid-template-columns:1fr 1fr}.techPillars{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.techGrid{grid-template-columns:1fr}.techPillars{grid-template-columns:1fr 1fr}.techHero .sansTitle{font-size:31px}}


/* Partners page */
.partnersHero .heroText{padding:38px 32px 28px;}
.partnersHero .sansTitle{font-size:40px;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;font-weight:900;letter-spacing:.015em;line-height:1.04;}
.partnersHero .sansTitle span{color:var(--blue);}
.heroImage.partners img{width:100%;height:auto;object-fit:contain;object-position:center;display:block;}
.partnersPillars{grid-template-columns:repeat(5,1fr);}
.partnersPillars .pillar img{height:54px;}
.partnersPillars .pillar h3{text-transform:uppercase;font-size:14px;}
.partnersGrid{display:grid;grid-template-columns:1.25fr .9fr 1.15fr;gap:16px;margin-bottom:16px;}
.partnersGrid .imagePanel{min-height:242px;}
.partnersStrip{background:#061e4c;border-color:#0d4665;}
@media(max-width:1250px){.partnersGrid{grid-template-columns:1fr}.partnersPillars{grid-template-columns:repeat(3,1fr)}.partnersHero .sansTitle{font-size:34px}}
@media(max-width:760px){.partnersPillars{grid-template-columns:1fr 1fr}.partnersHero .sansTitle{font-size:31px}}

/* Navigation fit update */
.nav{gap:18px;}
.nav a{font-size:11.2px;}
@media(max-width:1450px){.nav{gap:12px}.nav a{font-size:10.5px}.header{grid-template-columns:420px 1fr}.logoBox img{width:350px}}

/* Focus Areas page */
.focusHero .heroText{padding:38px 32px 28px;}
.focusHero .sansTitle{font-size:36px;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;font-weight:900;letter-spacing:.01em;line-height:1.12;}
.focusHero .sansTitle span{color:var(--teal);}
.heroImage.focus img{width:100%;height:auto;object-fit:contain;object-position:center;display:block;}
.focusIcons{grid-template-columns:repeat(5,1fr);}
.focusIcons .pillar img{height:54px;}
.focusIcons .pillar h3{text-transform:uppercase;font-size:12px;}
.focusGrid{display:grid;grid-template-columns:1fr 1.08fr;gap:16px;margin-bottom:16px;}
.focusGrid .imagePanel{min-height:242px;}
.focusStrip{background:#061e4c;border-color:#0d4665;}
@media(max-width:1100px){.focusGrid{grid-template-columns:1fr}.focusIcons{grid-template-columns:repeat(3,1fr)}.focusHero .sansTitle{font-size:32px}}
@media(max-width:700px){.focusIcons{grid-template-columns:1fr 1fr}}

/* Publishing page */
.publishingHero .heroText{padding:38px 32px 28px;}
.publishingHero .sansTitle{font-size:36px;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;font-weight:900;letter-spacing:.01em;line-height:1.12;}
.publishingHero .sansTitle span{color:var(--teal);}
.publishingHero .heroLead{font-size:18px;margin:18px 0 0;}
.heroImage.publishing img{width:100%;height:auto;object-fit:contain;object-position:center;display:block;}
.publishingPillars{grid-template-columns:repeat(6,1fr);}
.publishingPillars .pillar img{height:54px;}
.publishingPillars .pillar h3{text-transform:uppercase;font-size:13px;}
.publishingPillars .pillar p{font-size:12.5px;}
.publishingGrid{display:grid;grid-template-columns:1.08fr .98fr .98fr 1.18fr;gap:16px;margin-bottom:16px;}
.publishingGrid .imagePanel{min-height:258px;}
.publishingStrip{background:#061e4c;border-color:#0d4665;}
@media(max-width:1250px){.publishingGrid{grid-template-columns:1fr 1fr}.publishingPillars{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.publishingGrid{grid-template-columns:1fr}.publishingPillars{grid-template-columns:1fr 1fr}.publishingHero .sansTitle{font-size:31px}}

/* About page */
.aboutHero .heroText{padding:40px 32px 28px;}
.aboutHero h1{font-size:42px;}
.heroImage.about img{width:100%;height:auto;object-fit:contain;object-position:center;display:block;}
.aboutPillars a{text-decoration:none;color:inherit;}
.aboutInfo{display:grid;grid-template-columns:1.42fr 1fr;gap:16px;margin-bottom:16px;}
.aboutInfo .imagePanel{min-height:232px;}
.aboutJourney img,.aboutJournal img{width:100%;height:100%;object-fit:contain;background:#fff;display:block;}
@media(max-width:1100px){.aboutInfo{grid-template-columns:1fr}.aboutHero h1{font-size:36px}}


/* Contact page */
.contactHero .heroText{padding:44px 34px 30px;}
.contactHero .sansTitle{font-size:40px;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;font-weight:900;letter-spacing:.015em;line-height:1.08;}
.contactHero .heroLead{font-size:18px;margin:16px 0 0;color:var(--teal);font-weight:900;}
.heroImage.contact img{width:100%;height:auto;object-fit:contain;object-position:center;display:block;}
.contactPillars{grid-template-columns:repeat(5,1fr);}
.contactPillars a{text-decoration:none;color:inherit;}
.contactPillars .pillar img{height:54px;}
.contactPillars .pillar h3{text-transform:uppercase;font-size:13px;}
.contactCards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px;}
.contactCard{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);overflow:hidden;min-height:195px;display:flex;align-items:center;justify-content:center;}
.contactCard img{width:100%;height:100%;object-fit:contain;display:block;background:#fff;}
.contactValues{border:1px solid #0d4665;border-radius:14px;overflow:hidden;background:#061e4c;box-shadow:var(--shadow);margin-bottom:16px;}
.contactValues img{display:block;width:100%;height:auto;}
@media(max-width:1100px){.contactCards{grid-template-columns:1fr}.contactPillars{grid-template-columns:repeat(3,1fr)}.contactHero .sansTitle{font-size:34px}}
@media(max-width:700px){.contactPillars{grid-template-columns:1fr 1fr}}


/* Doctoral Support display fix: show full supplied graphics, do not crop */
.supportCard.imageCard{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:0;
}
.supportCard.imageCard img{
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center center;
  display:block;
  background:#fff;
}
.supportGrid{
  align-items:start;
}
.heroImage.doctoral{
  display:flex;
  align-items:center;
  justify-content:center;
}
.heroImage.doctoral img{
  width:100%;
  height:auto;
  min-height:0;
  object-fit:contain;
  object-position:center center;
}
.commitment.doctoral img{
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center center;
}
