
:root{
  --bg:#0b0b0b;
  --panel:#111;
  --text:#fff;
  --muted:#cfcfcf;
  --line:rgba(255,255,255,.18);
  --red:#7b0000;
  --red2:#a00000;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Arial, Helvetica, sans-serif;background:var(--bg);color:var(--text)}
a{color:#9fd0ff;text-decoration:none}
a:hover{text-decoration:underline}

.menu-inner{max-width:1400px;margin:0 auto;padding:0 16px}

/* Top strip */
.top-strip{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:8px 12px;border-bottom:1px solid var(--line);
  background:linear-gradient(#0d0d0d,#090909);
}
.top-strip__left{display:flex;gap:10px;align-items:center}
.social-dot{
  width:28px;height:28px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:#0e2a55;color:#fff;font-size:13px;font-weight:700;
}
.top-strip__right{display:flex;align-items:center;gap:12px}

.mini-select{
  background:#0f0f0f;color:#fff;border:1px solid var(--line);
  border-radius:8px;padding:6px 10px;font-size:14px;
}

/* Country picker (sample style) */
.country-picker{position:relative}
.country-picker__btn{
  display:flex;align-items:center;gap:8px;
  background:#0f0f0f;color:#fff;border:1px solid var(--line);
  border-radius:10px;padding:6px 10px;min-width:180px;
  cursor:pointer;
}
.country-picker__btn .country-name{
  max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-size:14px;
}
.country-picker__btn .caret{opacity:.8;font-size:12px;margin-left:auto}

.country-picker__panel{
  position:absolute;right:0;top:42px;
  width:320px;max-height:360px;
  background:#0f0f0f;border:1px solid rgba(255,255,255,.25);
  border-radius:12px;padding:10px;
  box-shadow:0 20px 50px rgba(0,0,0,.55);
  display:none;z-index:9999;
}
.country-picker__panel.open{display:block}
.country-search{
  width:100%;padding:10px 10px;border-radius:10px;
  border:1px solid rgba(255,255,255,.18);
  background:#111;color:#fff;outline:none;
}
.country-list{
  margin-top:10px;max-height:280px;overflow:auto;padding-right:4px;
}
.country-item{
  display:flex;align-items:center;gap:10px;
  padding:10px;border-radius:10px;cursor:pointer;
  color:#fff;
}
.country-item:hover{background:rgba(255,255,255,.08)}
.country-item .flag{width:22px;text-align:center}
.country-item .name{font-size:15px}
.country-item .code{margin-left:auto;opacity:.65;font-size:12px}

/* menu rows */
.menu-row{border-bottom:1px solid var(--line);background:linear-gradient(#0f0f0f,#0a0a0a)}
.menu-row--primary .menu-inner,
.menu-row--secondary .menu-inner{padding:10px 16px}
.menu-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px}
.menu-links .sep{opacity:.35}
.menu-links a{color:#fff}
.menu-links--secondary{gap:16px;font-size:13px}
.menu-logo{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;
  background:#fff;color:#7b0000;font-weight:800;
}

/* red navbar */
.red-nav{background:var(--red);border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(0,0,0,.5)}
.red-links{display:flex;flex-wrap:nowrap;gap:16px;padding:10px 0;align-items:center;overflow-x:auto;scrollbar-width:none}
.red-links a{color:#fff;font-weight:700;white-space:nowrap}
.red-links a.active{text-decoration:underline}
.red-links a.apply{margin-left:auto;background:#fff;color:var(--red);padding:6px 10px;border-radius:4px;text-decoration:none}
.red-links a.apply:hover{filter:brightness(.95)}

/* Research Ecosystem: make the university top menu items visible (match “Apply Now” style) */
.research-ecosystem-page .top-strip,
.research-ecosystem-page .menu-row,
.research-overview-page .top-strip,
.research-overview-page .menu-row{
  background:linear-gradient(#7b0000,#5a0000);
}

.research-ecosystem-page .red-links{gap:10px}
.research-overview-page .red-links{gap:10px}
.research-ecosystem-page .red-links a:not(.apply),
.research-overview-page .red-links a:not(.apply){
  background:#fff;
  color:var(--red);
  padding:6px 10px;
  border-radius:4px;
  text-decoration:none;
}
.research-ecosystem-page .red-links a:not(.apply):hover,
.research-overview-page .red-links a:not(.apply):hover{filter:brightness(.95)}
.research-ecosystem-page .red-links a.active:not(.apply),
.research-overview-page .red-links a.active:not(.apply){
  box-shadow:inset 0 0 0 2px rgba(0,0,0,.18);
}

/* hero */
.hero{background:linear-gradient(90deg,#5a0000,#8b0000);border-bottom:1px solid rgba(255,255,255,.12)}
.hero-inner{padding:26px 16px}
.hero-title{display:flex;flex-direction:column;align-items:center;text-align:center}
.hero-kicker{font-weight:700;letter-spacing:.6px;opacity:.95;text-transform:uppercase}
.hero h1{margin:10px 0 0 0;font-size:34px;letter-spacing:.8px;text-transform:uppercase}

/* hero menus (match sample: 2 lines per column) */
.hero-menu{margin-top:14px}
.hero-menu-grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0,1fr));
  background:rgba(0,0,0,.14);
  border-top:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(0,0,0,.45);
}
.hero-col{padding:0}
.hero-col:not(:last-child){border-right:1px solid rgba(255,255,255,.14)}
.hero-link{
  display:block;
  color:#fff;
  font-weight:800;
  font-size:18px;
  line-height:1.12;
}
.hero-link + .hero-link{margin-top:6px}
.hero-link:hover{text-decoration:underline}

.hero-col .hero-link{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.12)}
.hero-col .hero-link:last-child{border-bottom:none}

/* 3-per-row hero menu cells (institutional hub) */
.hero-link-cell{
  padding:10px 12px;
  border-right:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.hero-link-cell:nth-child(3n){border-right:none}
.hero-menu-grid--5cols{border-left:1px solid rgba(255,255,255,.14);border-right:1px solid rgba(255,255,255,.14)}
.hero-menu-grid--3x{border-left:1px solid rgba(255,255,255,.14);border-right:1px solid rgba(255,255,255,.14)}

@media (max-width: 980px){
  .hero-menu-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
  .hero-col:nth-child(2n){border-right:none}
  .hero-col{border-bottom:1px solid rgba(255,255,255,.12)}
  .hero-col:last-child{border-bottom:none}

  .hero-link-cell{border-right:1px solid rgba(255,255,255,.14)}
  .hero-link-cell:nth-child(2n){border-right:none}
}

/* PAGE CONTENT (white, full-width paragraphs like the provided template screenshots) */
.content{
  max-width:none;
  margin:0;
  padding:0 0 30px;
  background:#fff;
  color:#111;
}
.content a{color:#0b63c7}
.content a:hover{text-decoration:underline}

.wide-section{padding:22px 0}
.wide-wrap{max-width:1200px;margin:0 auto;padding:0 16px}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.media img{width:100%;height:auto;display:block}

.title-center{margin:0 0 10px 0;text-align:center;font-size:18px;font-weight:800;color:#111}
.lead{margin:0 0 10px 0;line-height:1.6}
.copy p{margin:0 0 10px 0;line-height:1.6;color:#111}
.copy p:last-child{margin-bottom:0}

.center-head{margin:0 0 12px 0;text-align:center;font-size:18px;font-weight:800}

.apply-line{margin-top:8px}

.pair-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.pair h3{margin:0 0 8px 0;font-size:13px;font-weight:800;text-align:center}
.pair h4{margin:0 0 6px 0;font-size:12px;font-weight:800}
.pair p{margin:0 0 10px 0;line-height:1.6;font-size:12px;color:#111}
.pair .apply-line{font-size:12px}

@media (max-width: 980px){
  .grid-2,.pair-grid{grid-template-columns:1fr}
  .wide-section{padding:18px 0}
}

/* Legacy card styles (kept for compatibility) */
.card{
  display:grid;grid-template-columns: 360px 1fr;
  gap:18px;align-items:stretch;
  background:#0f0f0f;border:1px solid rgba(255,255,255,.16);
  border-radius:16px;overflow:hidden;
  margin-bottom:18px;
}
.card-img{background:#0a0a0a}
.card-img img{
  width:100%;height:100%;
  max-height:320px;
  object-fit:cover;display:block;
}
.card-body{padding:18px 18px 16px}
.card-body h2{margin:0 0 10px 0;color:#fff}
.card-body p{margin:0 0 10px 0;color:#e9e9e9;line-height:1.55}
.card-body p:last-child{margin-bottom:0}

@media (max-width: 900px){
  .card{grid-template-columns:1fr}
  .card-img img{max-height:260px}
  .country-picker__btn{min-width:160px}
}

/* footer */
.footer{border-top:1px solid var(--line);background:linear-gradient(#0f0f0f,#090909)}
.footer-inner{
  max-width:1200px;margin:0 auto;padding:26px 16px;
  display:grid;grid-template-columns:1.1fr .9fr;gap:18px;
}
.footer-left h3{margin:0 0 10px 0}
.quick-links{margin:0;color:#ffffff;line-height:1.6;font-size:13px}
.quick-links a{color:#ffffff !important;text-decoration:none}
.copyright{margin-top:14px;font-size:13px;color:#dcdcdc}
.copyright .brand{color:#ffffff !important;font-weight:700;text-decoration:none}

.hq-card{
  background:#f2f2f2;color:#111;border-radius:18px;
  padding:18px 18px 16px;position:relative;
}
.hq-badge{
  position:absolute;left:50%;top:-18px;transform:translateX(-50%);
  width:40px;height:40px;border-radius:50%;
  background:#fff;border:1px solid rgba(0,0,0,.15);
  display:flex;align-items:center;justify-content:center;
  color:#7b0000;
}
.hq-card h3{margin:8px 0 6px 0;text-align:center}
.hq-sub{text-align:center;font-weight:700;margin-bottom:10px}
.hq-address{text-align:center;font-size:13px;margin-bottom:8px}
.hq-phone{text-align:center;font-size:18px;font-weight:900;color:#128a2f;margin-bottom:10px}
.hq-social{display:flex;justify-content:center;gap:10px;margin-bottom:10px}
.hq-ico{
  width:28px;height:28px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:12px;
}
.hq-ico:nth-child(1){background:#1877f2}
.hq-ico:nth-child(2){background:#1da1f2}
.hq-ico:nth-child(3){background:#db4437}
.hq-ico:nth-child(4){background:#0a66c2}
.hq-ico:nth-child(5){background:#ff0000}
.hq-ico:nth-child(6){background:#6a5acd}

.hq-join{text-align:center;font-weight:800;margin-bottom:6px}
.hq-note{text-align:center;font-size:12px;color:#333}
.hq-dots{display:flex;justify-content:center;gap:10px;margin-top:10px}
.dot{width:10px;height:10px;border-radius:3px;display:inline-block}
.dot.b{background:#1da1f2}.dot.r{background:#c00}.dot.w{background:#000}.dot.g{background:#2e8b57}.dot.y{background:#f5a623}

.footer-legal{
  border-top:1px solid var(--line);
  padding:12px 16px;text-align:center;font-size:13px;color:#ffffff;
}
.footer-legal a{color:#ffffff !important;text-decoration:none}

/* chat */
.chat-fab{
  position:fixed;right:18px;bottom:90px;
  width:70px;height:70px;border-radius:50%;
  background:#5a0000;color:#fff;border:none;
  font-weight:900;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.5);

  z-index:10050;
  pointer-events:auto;
}
.chat-widget{
  position:fixed;right:18px;bottom:170px;
  width:320px;max-width:calc(100vw - 36px);
  background:#0f0f0f;border:1px solid rgba(255,255,255,.18);
  border-radius:16px;overflow:hidden;display:none;z-index:10051;

  z-index:9999;
}
.chat-widget.open{display:block}
.chat-header{
  background:#5a0000;color:#fff;padding:10px 12px;
  display:flex;align-items:center;justify-content:space-between;font-weight:800;
}
.chat-close{background:transparent;border:none;color:#fff;font-size:18px;cursor:pointer}
.chat-body{padding:12px;height:190px;overflow:auto}
.chat-msg{padding:10px 12px;border-radius:14px;margin-bottom:10px;max-width:85%}
.chat-msg.bot{background:rgba(255,255,255,.08)}
.chat-input{display:flex;gap:8px;padding:10px;border-top:1px solid rgba(255,255,255,.12)}
.chat-input input{
  flex:1;background:#111;border:1px solid rgba(255,255,255,.16);
  border-radius:10px;padding:10px;color:#fff;outline:none;
}
.chat-input button{
  background:#fff;color:#5a0000;border:none;border-radius:10px;
  padding:10px 12px;font-weight:800;cursor:pointer;
}


.red-links::-webkit-scrollbar{height:0}


/* Hero menu labels: show full titles (no ellipsis) */
.hero-menu .hero-link{
  font-size:14px;
  line-height:1.25;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  word-break:break-word;
}
/* Ghost placeholder to preserve 2-row layout without showing text */
.hero-link-ghost{
  visibility:hidden;
}

/* Research Overview: keep left diagram nicely sized */
#overview .media{display:flex;justify-content:center;align-items:flex-start;}
#overview .media img{max-width:420px;width:100%;height:auto;}


/* =========================================================
   Research Ecosystem — Horizontal Interactive Roadmap
   Scoped to .eco-* classes to avoid disturbing other pages
   ========================================================= */
.hero-subtitle{
  margin-top: 10px;
  max-width: 900px;
  opacity: .95;
  font-size: 15px;
  line-height: 1.5;
}

.eco-flow{
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 18px;
  align-items: start;
}

.eco-roadmap{
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  overflow: visible; /* no horizontal scroll */
  background: rgba(0,0,0,.08);
}

.eco-step{
  flex: 1 1 240px; /* wrap into rows */
  min-width: 220px;
  max-width: 280px;

  scroll-snap-align: start;
  min-width: 190px;
  max-width: 230px;
  text-align: left;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: #fff;
  border-radius: 12px;
  padding: 12px 12px;
  cursor: pointer;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}

.eco-step:hover,
.eco-step:focus{
  outline: none;
  transform: translateY(-2px);
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.25);
}

.eco-step.active{
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.35);
}

.eco-step-top{
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .2px;
  line-height: 1.25;
}

.eco-step-sub{
  margin-top: 6px;
  font-size: 12px;
  opacity: .92;
  line-height: 1.35;
}

.eco-connector{
  display:none;

  width: 44px;
  height: 2px;
  background: rgba(255,255,255,.22);
  flex: 0 0 auto;
  position: relative;
}
.eco-connector:after{
  content: "";
  position: absolute;
  right: -2px;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  border-right: 2px solid rgba(255,255,255,.22);
  border-bottom: 2px solid rgba(255,255,255,.22);
  rotate: -45deg;
}

.eco-detail{
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  padding: 14px 14px;
  background: rgba(0,0,0,.08);
}

.eco-detail-badge{
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.14);
  margin-bottom: 10px;
}

.eco-detail-title{
  margin: 0 0 8px 0;
  font-size: 18px;
  letter-spacing: .3px;
}

.eco-detail-text{
  margin: 0 0 12px 0;
  opacity: .95;
  line-height: 1.55;
  font-size: 14px;
}

.eco-detail-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 12px;
}

.eco-detail-card{
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 12px;
}

.eco-k{
  font-weight: 800;
  font-size: 12px;
  opacity: .95;
  letter-spacing: .25px;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.eco-list{
  margin: 0;
  padding-left: 18px;
  font-size: 13px;
  line-height: 1.55;
  opacity: .95;
}

.eco-detail-actions{
  display: flex;
  gap: 10px;
  margin-top: 12px;
  flex-wrap: wrap;
}

.btn{
  display: inline-block;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 13px;
}

.btn:hover{
  background: rgba(255,255,255,.20);
  border-color: rgba(255,255,255,.28);
}

.btn.ghost{
  background: transparent;
}

@media (max-width: 980px){
  .eco-flow{ grid-template-columns: 1fr; }
  .eco-step{ min-width: 210px; }
}

/* Ensure roadmap remains readable on small screens */
@media (max-width: 520px){
  .eco-step{ flex-basis: 100%; max-width: 100%; }
}



/* =========================
   PHASE 1 ADD-ONS (Scoped)
   Research Ecosystem: Path Finder + KPIs + Funding Ticker
   ========================= */
.eco-addons .section-head p{ opacity:.92; }

.eco-wizard{
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(0,0,0,.08);
  padding: 16px;
}

.eco-wizard-form{ margin: 0; }

.eco-wizard-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.eco-field{
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.10);
}

.eco-label{
  font-weight: 800;
  letter-spacing: .2px;
  font-size: 13px;
}

.eco-select{
  width: 100%;
  border-radius: 10px;
  padding: 10px 10px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(15,0,0,.55);
  color: #fff;
  outline: none;
}

.eco-select:focus{
  border-color: rgba(255,255,255,.28);
}

.eco-wizard-actions{
  display:flex;
  gap:10px;
  justify-content: flex-start;
  align-items:center;
  margin-top: 12px;
}

.eco-reco{
  margin-top: 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.10);
  padding: 14px;
}

.eco-reco-badge,
.eco-ticker-badge{
  display:inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .25px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
}

.eco-reco-title{ margin: 10px 0 6px; }
.eco-reco-sub{ opacity: .92; margin: 0 0 12px; }

.eco-reco-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.eco-reco-card{
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  padding: 12px;
  background: rgba(0,0,0,.12);
}

.eco-reco-card h4{ margin: 2px 0 6px; font-size: 14px; }
.eco-reco-card p{ margin: 0 0 10px; opacity: .92; font-size: 13px; line-height: 1.45; }

.eco-reco-meta{
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.eco-tag{
  display:inline-block;
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .2px;
  opacity: .95;
}

.eco-reco-footer{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

/* KPI strip */
.eco-kpi{
  display:grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  padding: 16px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.10);
}

.eco-kpi-item{
  border-radius: 12px;
  padding: 12px 10px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.10);
  text-align:center;
}

.eco-kpi-num{
  font-size: 26px;
  font-weight: 1000;
  letter-spacing: .6px;
  line-height: 1.05;
}

.eco-kpi-label{
  margin-top: 6px;
  font-size: 12px;
  font-weight: 800;
  opacity: .92;
  line-height: 1.25;
}

.eco-kpi-note{
  margin: 10px 6px 0;
  opacity: .9;
  font-size: 13px;
}

/* Funding ticker */
.eco-ticker{
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(0,0,0,.08);
  padding: 14px;
}

.eco-ticker-head{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.eco-ticker-legend{
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
}

.eco-pill{
  display:inline-block;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .2px;
}

.eco-pill.ghost{ background: rgba(0,0,0,.10); opacity:.95; }

.eco-calls{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.eco-call{
  border-radius: 12px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.12);
  position: relative;
  overflow: hidden;
}

.eco-call::after{
  content:"";
  position:absolute;
  inset:-40% -20% auto auto;
  width: 180px;
  height: 180px;
  background: rgba(255,255,255,.05);
  transform: rotate(20deg);
  border-radius: 999px;
}

.eco-call-head{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  position: relative;
  z-index: 1;
}

.eco-call-type{
  display:inline-block;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
}

.eco-call-type.external{ opacity: .92; background: rgba(0,0,0,.10); }
.eco-call-type.rolling{ opacity: .92; background: rgba(0,0,0,.10); }

.eco-call-deadline{
  font-size: 12px;
  font-weight: 900;
  opacity: .92;
}

.eco-call h4{
  margin: 10px 0 6px;
  position: relative;
  z-index: 1;
  font-size: 14px;
}

.eco-call p{
  margin: 0 0 10px;
  position: relative;
  z-index: 1;
  opacity: .92;
  font-size: 13px;
  line-height: 1.45;
}

.eco-call-actions{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}

.eco-ticker-footer{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
}

/* Responsive */
@media (max-width: 980px){
  .eco-wizard-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .eco-reco-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .eco-kpi{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .eco-calls{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px){
  .eco-wizard-grid{ grid-template-columns: 1fr; }
  .eco-reco-grid{ grid-template-columns: 1fr; }
  .eco-kpi{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .eco-calls{ grid-template-columns: 1fr; }
}

/* ===== Digital Open Research Repository (moved from homepage) ===== */
/* Digital Open Research Repository (Add-only styles) */
    .section-subcenter{max-width:900px;margin:10px auto 0;text-align:center;opacity:.9}
    .repo-grid{display:grid;grid-template-columns:2fr 1fr;gap:22px;align-items:start;margin-top:18px}
    @media (max-width: 980px){.repo-grid{grid-template-columns:1fr}}
    .repo-toolbar{background:rgba(0,0,0,.03);border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:14px}
    .repo-toolbar-row{display:flex;gap:12px;flex-wrap:wrap}
    .repo-search{flex:1;min-width:240px;padding:12px 12px;border-radius:10px;border:1px solid rgba(0,0,0,.18);outline:none}
    .repo-select{flex:1;min-width:170px;padding:10px 10px;border-radius:10px;border:1px solid rgba(0,0,0,.18);background:#fff}
    .repo-results-meta{margin:12px 0 10px;opacity:.85}
    .repo-results{display:grid;gap:14px}
    .repo-card{border:1px solid rgba(0,0,0,.10);border-radius:14px;padding:14px;background:#fff}
    .repo-card h3{margin:0 0 6px;font-size:18px;line-height:1.2}
    .repo-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;opacity:.9;margin-bottom:8px}
    .repo-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:rgba(128,0,0,.08);border:1px solid rgba(128,0,0,.15)}
    .repo-doi{font-weight:700}
    .repo-abstract{margin:8px 0 10px;opacity:.9}
    .repo-actions{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}
    .repo-btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;border-radius:999px;border:1px solid rgba(0,0,0,.16);text-decoration:none}
    .repo-btn.primary{background:#7a0019;color:#fff;border-color:#7a0019}
    .repo-metrics{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;opacity:.9}
    .repo-sidebar{display:grid;gap:14px}
    .repo-widget{border:1px solid rgba(0,0,0,.10);border-radius:14px;padding:14px;background:#fff}
    .repo-widget-title{margin:0 0 10px;font-size:16px}
    .repo-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    .repo-kpi{border:1px dashed rgba(0,0,0,.15);border-radius:12px;padding:10px}
    .repo-kpi-label{font-size:12px;opacity:.8}
    .repo-kpi-value{font-size:20px;font-weight:800;margin-top:4px}
    .repo-muted{margin:10px 0 0;font-size:13px;opacity:.8}
    .repo-map{border:1px solid rgba(0,0,0,.10);border-radius:14px;height:180px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, rgba(122,0,25,.08), rgba(0,0,0,.02))}
    .repo-map-placeholder{display:grid;gap:4px;text-align:center}
    .repo-sync-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
    .repo-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.12)}


/* ===========================
   Open Research Repository — Enhancements (add-only)
   =========================== */
.repo-search--question{margin-top:10px}
.repo-assist{margin-top:10px;border:1px dashed rgba(122,0,25,.25);border-radius:12px;padding:12px;background:rgba(122,0,25,.04)}
.repo-assist__title{font-weight:800;margin-bottom:8px}
.repo-assist__chips{display:flex;flex-wrap:wrap;gap:10px}
.repo-chip{border:1px solid rgba(0,0,0,.16);background:#fff;border-radius:999px;padding:7px 10px;cursor:pointer}
.repo-assist__hint{margin-top:10px;font-size:13px;opacity:.85}

.repo-live-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}
@media (max-width: 980px){.repo-live-metrics{grid-template-columns:repeat(2,1fr)}}
.repo-live-kpi{border:1px solid rgba(0,0,0,.10);border-radius:14px;padding:12px;background:#fff}
.repo-live-kpi__label{font-size:12px;opacity:.8}
.repo-live-kpi__value{font-size:22px;font-weight:900;margin-top:4px;color:#7a0019}

.repo-ecosystem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
@media (max-width: 980px){.repo-ecosystem-grid{grid-template-columns:repeat(2,1fr)}}
.repo-eco-card{display:grid;gap:6px;border:1px solid rgba(0,0,0,.10);border-radius:16px;padding:14px;background:#fff;text-decoration:none;color:inherit}
.repo-eco-card:hover{transform:translateY(-1px)}
.repo-eco-ico{font-size:22px}

.repo-curation-tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:14px}
.repo-tab{border:1px solid rgba(0,0,0,.16);background:#fff;border-radius:999px;padding:9px 12px;cursor:pointer}
.repo-tab.active{background:#7a0019;color:#fff;border-color:#7a0019}
.repo-curation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
@media (max-width: 980px){.repo-curation-grid{grid-template-columns:1fr}}
.repo-cur-card{border:1px solid rgba(0,0,0,.10);border-radius:16px;padding:14px;background:#fff}
.repo-cur-card h3{margin:0 0 8px;font-size:17px}
.repo-cur-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;opacity:.9;margin-bottom:8px}
.repo-cur-stats{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;opacity:.9;margin-top:10px}

.repo-impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
@media (max-width: 980px){.repo-impact-grid{grid-template-columns:1fr}}
.repo-impact-card{border:1px solid rgba(0,0,0,.10);border-radius:16px;padding:14px;background:#fff}
.repo-impact-title{margin:0 0 10px;font-size:16px}
.repo-sparkline-wrap{border:1px dashed rgba(0,0,0,.18);border-radius:14px;padding:10px}
.repo-sparkline{width:100%;height:80px;color:#7a0019}
.repo-impact-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:10px;font-size:13px;opacity:.9}

.repo-heatmap{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;border:1px dashed rgba(0,0,0,.18);border-radius:14px;padding:10px}
.repo-heat{display:block;width:100%;padding-top:100%;border-radius:6px;background:#7a0019}

.repo-metric-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.repo-metric-tile{border:1px solid rgba(0,0,0,.10);border-radius:14px;padding:12px;background:rgba(0,0,0,.02)}
.repo-metric-tile__label{font-size:12px;opacity:.8}
.repo-metric-tile__value{font-size:22px;font-weight:900;margin-top:4px;color:#7a0019}
.repo-metric-tile__note{margin-top:6px;font-size:12px;opacity:.85}

.repo-open-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
@media (max-width: 980px){.repo-open-grid{grid-template-columns:1fr}}
.repo-open-card{border:1px solid rgba(0,0,0,.10);border-radius:16px;padding:14px;background:#fff}
.repo-open-links{display:grid;gap:10px;margin-top:10px}
.repo-open-link{display:block;text-decoration:none;border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:10px;background:rgba(122,0,25,.04);color:inherit}
.repo-open-link:hover{background:rgba(122,0,25,.08)}
.repo-explainer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}
.repo-explainer{border:1px solid rgba(0,0,0,.10);border-radius:14px;padding:12px;background:rgba(0,0,0,.02);display:grid;gap:6px}
.repo-workflow{margin:10px 0 0;padding-left:18px;display:grid;gap:10px}
.repo-workflow li{display:grid;gap:4px}
.repo-open-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}

.repo-govern-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}
@media (max-width: 980px){.repo-govern-grid{grid-template-columns:1fr}}
.repo-govern-card{border:1px solid rgba(0,0,0,.10);border-radius:16px;padding:14px;background:#fff}
.repo-list{margin:10px 0 0;padding-left:18px;display:grid;gap:8px}
.repo-contact{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}

.repo-mini-list{display:grid;gap:10px}
.repo-mini-item{display:grid;gap:4px;text-decoration:none;color:inherit;border:1px solid rgba(0,0,0,.10);border-radius:14px;padding:10px;background:rgba(0,0,0,.02)}
.repo-mini-title{font-weight:800;font-size:13px;line-height:1.2}
.repo-mini-meta{font-size:12px;opacity:.85}

.repo-saved{display:grid;gap:10px}
.repo-saved-item{display:grid;gap:4px;text-align:left;border:1px solid rgba(0,0,0,.10);border-radius:14px;padding:10px;background:#fff;cursor:pointer}
.repo-saved-title{font-weight:800;font-size:13px}
.repo-saved-meta{font-size:12px;opacity:.85}
.repo-saved-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}

.repo-alerts{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.repo-alerts-input{flex:1;min-width:220px;padding:10px 10px;border-radius:12px;border:1px solid rgba(0,0,0,.18)}

.repo-quick-links{display:grid;gap:8px;margin-top:10px}
.repo-quick-links a{text-decoration:none;border:1px solid rgba(0,0,0,.10);border-radius:12px;padding:10px;background:rgba(122,0,25,.04);color:inherit}
.repo-quick-links a:hover{background:rgba(122,0,25,.08)}



/* -------------------------------------------------
   LIGHT THEME (page-scoped) — used by Research Ecosystem
---------------------------------------------------*/
body.page-light{
  background:#ffffff;
  color:#111;
}
body.page-light a{color:var(--red2);}
body.page-light a:hover{color:var(--red);}

body.page-light .hero{
  background: linear-gradient(180deg, rgba(123,0,0,.92), rgba(123,0,0,.78)), url("assets/image9.jpeg");
  background-size: cover;
  background-position: center;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
body.page-light .hero-subtitle{color:#fff; opacity:.95;}
body.page-light .section{background:transparent;}
body.page-light .section.alt{background: #f7f7f7;}

body.page-light .section-head p{color:#333;}
body.page-light .eco-roadmap,
body.page-light .eco-detail{
  background:#ffffff;
  border:1px solid rgba(0,0,0,.10);
}
body.page-light .eco-step{
  background:#ffffff;
  color:#111;
  border:1px solid rgba(0,0,0,.12);
}
body.page-light .eco-step:hover,
body.page-light .eco-step:focus{
  background:#f7f7f7;
  border-color: rgba(0,0,0,.20);
}
body.page-light .eco-step.active{
  background:#f1f1f1;
  border-color: rgba(0,0,0,.26);
}
body.page-light .eco-detail-badge{
  background: rgba(123,0,0,.10);
  color: var(--red);
  border: 1px solid rgba(123,0,0,.22);
}
body.page-light .eco-k{color:#111;}
body.page-light .eco-list li{color:#222;}
body.page-light .eco-kpi{
  background:#ffffff;
  border:1px solid rgba(0,0,0,.10);
}
body.page-light .eco-kpi-item{
  border:1px solid rgba(0,0,0,.10);
  background:#ffffff;
}
body.page-light .eco-kpi-label{color:#333;}
body.page-light .eco-kpi-note{color:#444;}

/* Wide content with sidebars (more blocks than cards) */
.eco-layout{
  display:grid;
  grid-template-columns: 1fr 320px;
  gap:18px;
  align-items:start;
}
.eco-main{min-width:0;}
.eco-side{min-width:0;}

.eco-block{
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  background:#fff;
  padding:16px 16px;
  margin-top:14px;
  box-shadow: 0 10px 24px rgba(0,0,0,.04);
}
.section.eco-wide .eco-block:first-child{margin-top:0;}

.eco-pillars{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
}
.eco-pillar{
  border:1px solid rgba(0,0,0,.10);
  border-radius:12px;
  padding:12px;
  background:#fff;
}
.eco-pillar-title{
  font-weight:800;
  margin-bottom:6px;
}
.eco-note{color:#444;margin-top:10px;line-height:1.55;}

.table-wrap{overflow-x:auto;}
.eco-table{
  width:100%;
  border-collapse: collapse;
  font-size: 13px;
}
.eco-table th,
.eco-table td{
  border:1px solid rgba(0,0,0,.10);
  padding:10px 10px;
  vertical-align: top;
}
.eco-table th{
  background: rgba(123,0,0,.06);
  text-align:left;
}
.eco-table td{background:#fff;}
.eco-table a{font-weight:700;}

.eco-split{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
}
.eco-mini{
  border:1px solid rgba(0,0,0,.10);
  border-radius:12px;
  padding:12px;
  background:#fff;
}
.eco-mini-title{font-weight:800;margin-bottom:8px;}
.eco-bullets{margin:0;padding-left:18px;color:#222;}
.eco-bullets li{margin:6px 0; line-height:1.45;}

.eco-side-block{
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  background:#fff;
  padding:14px 14px;
  box-shadow: 0 10px 24px rgba(0,0,0,.04);
  margin-bottom:14px;
}
.eco-side-title{font-weight:900;margin-bottom:10px;}
.eco-side-link{
  display:block;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.08);
  margin:8px 0;
  background:#fff;
}
.eco-side-link:hover{background:#f7f7f7;text-decoration:none;}

.eco-dl{
  display:block;
  padding:10px 10px;
  border-radius:10px;
  border:1px dashed rgba(123,0,0,.35);
  background: rgba(123,0,0,.04);
  margin:8px 0;
}
.eco-dl:hover{background: rgba(123,0,0,.07); text-decoration:none;}
.eco-side-note{color:#555;font-size:12px;margin-top:6px;line-height:1.45;}
.eco-help{color:#222;font-size:13px;line-height:1.55;}
.eco-help > div{margin:8px 0;}

/* Ensure no horizontal scrolling on laptop widths */
body.page-light{overflow-x:hidden;}
.menu-inner{padding-left:16px;padding-right:16px;}
@media (max-width: 980px){
  .eco-flow{grid-template-columns: 1fr;}
  .eco-layout{grid-template-columns: 1fr;}
  .eco-pillars,.eco-split{grid-template-columns: 1fr;}
}



/* FIX: Ensure text inside Research Ecosystem 3-up cards is always visible on dark card backgrounds */
body.research-ecosystem-page .cards.three .card,
body.research-ecosystem-page .cards.three .card *{
  color:#ffffff;
}
body.research-ecosystem-page .cards.three .card p{
  color:#ffffff !important;
  opacity:1;
  -webkit-text-fill-color:#ffffff;
}

