@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{--navy:#061a38;--navy2:#0c2b56;--gold:#e5a915;--white:#fff;--ink:#10213b;--muted:#65748a;--bg:#f5f7fa}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}a{text-decoration:none;color:inherit}
.site-header{position:sticky;top:0;z-index:50;background:rgba(6,26,56,.98);color:#fff;box-shadow:0 3px 16px #0003}.topbar{max-width:1500px;margin:auto;display:flex;align-items:center;gap:28px;padding:13px 24px}.brand{display:flex;align-items:center;gap:12px;min-width:360px}.brand-mark{width:58px;height:58px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-weight:900;font-size:18px}.brand-name{font-size:24px;font-weight:900;letter-spacing:.5px}.brand-name span{color:var(--gold)}.tagline{font-size:11px;color:#dce5f2;max-width:390px}.nav{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex:1}.nav a{font-size:12px;font-weight:800;padding:12px 10px;border-bottom:3px solid transparent;white-space:nowrap}.nav a:hover,.nav a.active{color:var(--gold);border-color:var(--gold)}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:28px}

.hero{position:relative;min-height:590px;background:linear-gradient(90deg,#0a2d52 0%,#2c5b77 45%,#163d5d 100%);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#071c38cc,#173d5d55 45%,#071c38aa)}.hero-content{position:relative;z-index:2;max-width:1500px;margin:auto;min-height:590px;display:grid;grid-template-columns:1.4fr .75fr .55fr;align-items:center;gap:10px;padding:45px 55px}.hero-copy{color:#fff;padding-top:10px}.eyebrow{color:var(--gold);font-weight:900;letter-spacing:2px;font-size:16px}.hero h1{font-size:clamp(48px,6vw,88px);line-height:.94;margin:12px 0 10px;font-weight:900;text-shadow:3px 4px 0 #0007}.hero h1 span{color:var(--gold)}.hero-sub{font-size:24px;font-weight:800;margin:0 0 20px}.research-title{font-size:clamp(18px,2vw,28px);font-weight:900;border-left:5px solid var(--gold);padding:10px 16px;background:#061a38cc;max-width:850px}.research-title span{color:var(--gold)}.btn{display:inline-block;margin-top:20px;padding:13px 21px;border-radius:7px;font-weight:900;font-size:14px}.btn.gold{background:var(--gold);color:#071b37}.btn.light{background:#fff;color:var(--navy)}.hero-founder{align-self:end;text-align:center}.hero-founder img{width:min(100%,420px);max-height:535px;object-fit:cover;object-position:top;border-radius:12px 12px 0 0;filter:drop-shadow(0 14px 25px #0007)}.hero-book{align-self:center;text-align:center}.hero-book img{width:min(100%,300px);max-height:430px;object-fit:contain;filter:drop-shadow(0 14px 22px #0008)}

.research-grid{display:grid;grid-template-columns:repeat(8,1fr);background:#fff;border-bottom:1px solid #d8dee8}.research-card{padding:20px 10px;text-align:center;border-right:1px solid #dde3eb;min-height:135px;display:flex;flex-direction:column;justify-content:center}.research-card b{color:var(--gold);font-size:12px}.research-card h3{font-size:14px;line-height:1.2;margin:8px 0 0}.research-card:hover{background:#f3f6fb;color:var(--navy2)}

.section{max-width:1450px;margin:auto;padding:70px 28px}.three-col{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:14px;padding-top:24px}.panel{padding:28px;border-radius:8px;min-height:310px}.panel.dark,.dark-band{background:var(--navy);color:#fff}.panel.heritage{background:#fff;border:1px solid #dce3ed}.panel.founder{background:#eaf0f7;position:relative}.section-label{font-size:12px;font-weight:900;color:var(--gold);letter-spacing:1.5px}.panel h2,.section-heading h2,.featured-copy h2,.dark-band h2,.contact h2{margin:7px 0 13px;font-size:27px;line-height:1.1}.panel p{font-size:14px}.path{display:flex;align-items:center;justify-content:center;gap:10px;margin:35px 0 18px;font-size:12px;font-weight:900;text-align:center}.path i{color:var(--gold);font-size:20px}.center-note{text-align:center;font-style:italic;font-weight:600;font-size:13px!important}.founder img{position:absolute;right:22px;top:28px;width:110px;height:135px;object-fit:cover;border-radius:6px}.founder h2,.founder strong,.founder p{max-width:60%}.founder strong{color:#b07b00;font-size:13px}.featured{display:grid;grid-template-columns:270px 1fr;gap:45px;align-items:center}.book img{width:100%;max-height:440px;object-fit:contain;filter:drop-shadow(0 10px 18px #0003)}.featured-copy p{max-width:850px}.note{border-left:4px solid var(--gold);padding-left:15px;color:var(--muted);font-style:italic}.section-heading{text-align:center;max-width:850px;margin:0 auto 35px}.program-grid,.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.program-grid article,.news-grid div{background:#fff;border:1px solid #dde3eb;border-radius:8px;padding:25px}.program-grid h3,.news-grid h3{margin-top:0}.dark-band{max-width:none;display:grid;grid-template-columns:1fr 1.2fr;gap:35px;align-items:center;padding-left:max(28px,calc((100% - 1394px)/2));padding-right:max(28px,calc((100% - 1394px)/2))}.publication-card{display:flex;gap:22px;align-items:center;background:#0d2b55;padding:18px;border:1px solid #254d7d;border-radius:8px}.publication-card img{width:115px;height:165px;object-fit:cover}.contact{display:grid;grid-template-columns:1fr 360px;align-items:center;gap:40px}.contact-box{background:var(--navy);color:#fff;border-radius:8px;padding:30px;text-align:center}.contact-box strong{display:block;font-size:26px;color:var(--gold)}.contact-box span{font-size:12px}footer{background:#041329;color:#dce5f2;padding:28px;display:grid;grid-template-columns:1fr 2fr;gap:20px}.footer-brand strong{display:block;color:#fff;font-size:19px}.footer-brand small{display:block;margin-top:5px}.footer-links{display:flex;flex-wrap:wrap;gap:18px;justify-content:flex-end;font-size:12px;font-weight:700}.footer-links a:hover{color:var(--gold)}.copyright{grid-column:1/-1;border-top:1px solid #29405e;padding-top:15px;text-align:center;font-size:11px;color:#9fb0c5}

@media(max-width:1100px){.brand{min-width:0}.nav a{font-size:10px;padding:9px 6px}.hero-content{grid-template-columns:1.35fr .7fr .45fr;padding:35px 25px}.research-grid{grid-template-columns:repeat(4,1fr)}.three-col{grid-template-columns:1fr}.founder img{width:120px}.founder h2,.founder strong,.founder p{max-width:70%}.dark-band{grid-template-columns:1fr}.contact{grid-template-columns:1fr}}
@media(max-width:760px){.topbar{padding:10px 15px}.brand-mark{width:45px;height:45px}.brand-name{font-size:17px}.tagline{font-size:9px}.menu-toggle{display:block;margin-left:auto}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--navy);padding:10px 15px;flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a{font-size:13px}.hero{min-height:0}.hero-content{min-height:0;grid-template-columns:1fr;padding:45px 20px 25px;text-align:center}.hero-founder{order:2}.hero-book{order:3}.hero-founder img{max-width:300px}.hero-book img{max-width:220px;max-height:320px}.research-title{border-left:0;border-top:3px solid var(--gold)}.research-grid{grid-template-columns:repeat(2,1fr)}.research-card{min-height:115px}.section{padding:50px 18px}.featured{grid-template-columns:1fr;gap:20px}.book{text-align:center}.book img{width:210px}.program-grid,.news-grid{grid-template-columns:1fr}.founder img{position:static;width:100px;height:120px;float:right;margin-left:15px}.founder h2,.founder strong,.founder p{max-width:none}.dark-band{padding:50px 18px}footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}

/* URI v5 typography refinements */
.hero .tagline,
.hero h1 + p,
.page-hero .tagline {
  font-size: clamp(24px, 3vw, 38px) !important;
  line-height: 1.2 !important;
}

.section p,
main p,
main li {
  text-align: justify;
  text-justify: inter-word;
}

.founder-role {
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* URI v6: reduce oversized hero headings */
.hero h1 {
  font-size: clamp(32px, 4.2vw, 52px) !important;
  line-height: 1.08 !important;
}

.page-hero h1 {
  font-size: clamp(32px, 4.2vw, 52px) !important;
  line-height: 1.08 !important;
}

.hero .tagline,
.page-hero .tagline {
  font-size: clamp(18px, 2vw, 25px) !important;
  line-height: 1.25 !important;
}

/* URI v7 Home refinements */
.btn-outline { background: transparent !important; border: 1px solid rgba(255,255,255,.75) !important; color: #fff !important; }
.hero .section-label { letter-spacing: .14em; }

/* URI v8: Home hero identity */
.hero .uri-home-title { color: #e5a915 !important; }
.hero .uri-home-tagline { color: #fff !important; }

/* URI v10 — mobile responsive refinements */
html, body { max-width: 100%; overflow-x: hidden; }
img { max-width: 100%; height: auto; }

@media (max-width: 768px) {
  .topbar { padding-left: 16px !important; padding-right: 16px !important; }
  .brand-name { font-size: 17px !important; line-height: 1.15 !important; }
  .brand-name span { display: block; }
  .tagline { font-size: 10px !important; line-height: 1.25 !important; }

  .hero { padding: 58px 18px 52px !important; }
  body .hero .uri-home-title,
  .hero h1,
  .page-hero h1 {
    font-size: 30px !important;
    line-height: 1.12 !important;
    letter-spacing: -0.02em !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
  body .hero .uri-home-tagline,
  .hero .tagline,
  .page-hero .tagline {
    font-size: 17px !important;
    line-height: 1.4 !important;
  }
  .hero p { max-width: 100% !important; }

  .section { padding: 48px 18px !important; }
  .section-heading h2,
  main h2 { font-size: 28px !important; line-height: 1.2 !important; }
  .section-heading p,
  main p,
  main li { font-size: 16px !important; line-height: 1.7 !important; text-align: justify !important; }

  .news-grid { grid-template-columns: 1fr !important; gap: 22px !important; }
  .news-grid > div { min-width: 0 !important; }
  .btn { max-width: 100% !important; box-sizing: border-box !important; }

  footer { padding: 38px 18px !important; }
  .footer-links { display: flex !important; flex-wrap: wrap !important; gap: 10px 14px !important; }
}

@media (max-width: 420px) {
  body .hero .uri-home-title,
  .hero h1,
  .page-hero h1 { font-size: 27px !important; }
  body .hero .uri-home-tagline,
  .hero .tagline,
  .page-hero .tagline { font-size: 16px !important; }
  .section-heading h2,
  main h2 { font-size: 25px !important; }
}

/* URI v12 — large official emblem on the right side of the existing Home hero */
.uri-home-hero { background: linear-gradient(135deg,#061a38,#17446b) !important; color:#fff; padding:0 !important; min-height:560px; }
.uri-home-hero:before { pointer-events:none; }
.uri-home-hero-inner { position:relative; z-index:2; max-width:1250px; min-height:560px; margin:0 auto; padding:55px 30px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.75fr); gap:45px; align-items:center; }
.uri-home-copy { text-align:left; }
.uri-home-title { color:var(--gold) !important; font-size:clamp(34px,4.2vw,54px) !important; line-height:1.08 !important; margin:14px 0 15px !important; font-weight:900 !important; }
.uri-home-tagline { color:#ffffff !important; -webkit-text-fill-color:#ffffff !important; font-size:clamp(18px,2vw,25px) !important; line-height:1.35 !important; margin:0 0 20px !important; font-weight:500 !important; }
.uri-home-description { color:#fff; max-width:720px; font-size:17px; line-height:1.7; margin:0; }
.uri-home-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.uri-home-actions .btn { margin-top:0; }
.uri-home-logo-side { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; }
.uri-home-contact-link { display:inline-block; background:var(--gold); color:#071b37; padding:12px 24px; border-radius:6px; font-weight:900; font-size:13px; box-shadow:0 5px 15px #0005; }
.uri-home-large-logo { display:block; width:min(100%,430px); aspect-ratio:1/1; object-fit:cover; border-radius:50%; filter:drop-shadow(0 15px 25px #0008); }
@media (max-width:760px) {
  .uri-home-hero-inner { min-height:0; grid-template-columns:1fr; padding:45px 20px 38px; gap:28px; text-align:center; }
  .uri-home-copy { text-align:center; }
  .uri-home-title { font-size:30px !important; }
  .uri-home-tagline { font-size:17px !important; }
  .uri-home-description { font-size:16px; line-height:1.65; }
  .uri-home-actions { justify-content:center; }
  .uri-home-logo-side { order:2; }
  .uri-home-large-logo { width:min(78vw,340px); }
}
@media (max-width:420px) {
  .uri-home-title { font-size:27px !important; }
  .uri-home-tagline { font-size:16px !important; }
  .uri-home-large-logo { width:min(82vw,300px); }
}

/* URI v13 — selected No. 1 official logo */
.brand-logo-link { display:block; line-height:0; }
.header-logo {
  display:block;
  width:92px;
  height:92px;
  object-fit:contain;
}
.uri-home-logo-side {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
}
.uri-home-large-logo {
  display:block;
  width:min(390px, 100%);
  height:auto;
  object-fit:contain;
  margin-top:14px;
}
.uri-home-contact-link {
  display:inline-block;
  margin-bottom:0;
}

/* Normal sentence-style headings: capitalize only where grammatically/properly required. */
.section-label { text-transform:none !important; }
@media (max-width: 760px) {
  .header-logo { width:68px; height:68px; }
  .uri-home-large-logo { width:min(310px, 88vw); }
  .uri-home-logo-side { margin-top:28px; }
}

/* URI v14 — use the user's selected official logo only */
.header-logo {
  display: block;
  width: 92px;
  height: 92px;
  object-fit: contain;
}
.uri-home-logo-side {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}
.uri-home-large-logo {
  display: block;
  width: min(390px, 100%);
  height: auto;
  object-fit: contain;
  margin-top: 14px;
}
@media (max-width: 760px) {
  .header-logo {
    width: 68px;
    height: 68px;
  }
  .uri-home-large-logo {
    width: min(310px, 88vw);
  }
}

/* URI v15 — official logo beside institute name in the top-left header */
header .brand {
  display: flex;
  align-items: center;
  gap: 12px;
}
header .brand-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}
header .brand-name {
  color: #ffffff;
  font-weight: 700;
  font-size: 23px;
  line-height: 1.12;
  letter-spacing: 0.02em;
}
header .brand-tagline {
  color: #ffffff;
  font-size: 10px;
  line-height: 1.3;
  margin-top: 4px;
  white-space: nowrap;
}
header .header-logo {
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  object-fit: contain;
}
@media (max-width: 900px) {
  header .brand-name { font-size: 18px; }
  header .brand-tagline {
    font-size: 9px;
    white-space: normal;
    max-width: 270px;
  }
  header .header-logo {
    width: 60px;
    height: 60px;
    flex-basis: 60px;
  }
}
@media (max-width: 600px) {
  header .brand { gap: 8px; }
  header .brand-name { font-size: 15px; }
  header .brand-tagline {
    font-size: 8px;
    max-width: 190px;
  }
  header .header-logo {
    width: 50px;
    height: 50px;
    flex-basis: 50px;
  }
}

/* URI v16 — final refinements on the existing website only */

/* Institute name in the top-left header */
header .brand-name {
  color: #e5a915 !important;
}

/* Use the supplied official emblem as a true circular mark.
   The image itself remains unchanged; clipping removes square corners. */
header .header-logo {
  border-radius: 50% !important;
  object-fit: cover !important;
  overflow: hidden;
}
.uri-home-large-logo {
  border-radius: 50% !important;
  object-fit: cover !important;
  overflow: hidden;
}

/* Justified body copy on the existing Home page */
.hero p,
.section p,
.about-copy p,
.intro p,
.home-copy p {
  text-align: justify;
  text-justify: inter-word;
}

/* Keep short headings/labels natural, not justified. */
h1, h2, h3, h4, .section-label, .brand-name, .brand-tagline {
  text-align: initial;
}


/* URI v17 — Home research cards: readable text on white cards */
.dark-band .news-grid > div {
  color: #000000 !important;
  background: #ffffff;
}
.dark-band .news-grid > div h3,
.dark-band .news-grid > div p {
  color: #000000 !important;
}
.dark-band .news-grid > div h3 {
  font-weight: 800;
}
.dark-band .news-grid > div p {
  line-height: 1.7;
}

/* URI v17 — Donation and Ask Questions pages */
.page-hero {
  background: linear-gradient(135deg,#061a38,#17446b);
  color: #fff;
  padding: 75px 25px;
}
.page-hero .inner {
  max-width: 1100px;
  margin: auto;
}
.page-hero h1 {
  font-size: clamp(34px,4.2vw,52px);
  line-height: 1.08;
  margin: 10px 0;
  color: #fff;
}
.page-hero p {
  font-size: 19px;
  max-width: 850px;
}
.page-wrap {
  max-width: 1100px;
  margin: auto;
  padding: 60px 25px;
}
.info-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
}
.info-card {
  background: #fff;
  border: 1px solid #dbe3ed;
  border-radius: 10px;
  padding: 28px;
  box-shadow: 0 5px 18px #10213b0c;
}
.info-card h2,
.info-card h3 {
  color: #0c2b56;
  margin-top: 0;
}
.info-card strong {
  color: #000;
}
.donation-note,
.question-box {
  margin-top: 30px;
  background: #eef3f8;
  border-left: 4px solid var(--gold);
  border-radius: 6px;
  padding: 24px;
}
.account-number {
  font-size: 22px;
  letter-spacing: .04em;
  font-weight: 800;
  color: #061a38;
  word-break: break-word;
}
.question-form {
  max-width: 820px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #dbe3ed;
  border-radius: 10px;
  padding: 32px;
  box-shadow: 0 5px 18px #10213b0c;
}
.question-form label {
  display: block;
  margin: 0 0 7px;
  font-weight: 800;
  color: #10213b;
}
.question-form input,
.question-form textarea {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  padding: 12px 13px;
  font: inherit;
  color: #10213b;
  background: #fff;
  margin-bottom: 20px;
}
.question-form textarea {
  min-height: 180px;
  resize: vertical;
}
.question-form input:focus,
.question-form textarea:focus {
  outline: 2px solid #e5a91555;
  border-color: #e5a915;
}
.question-form .btn {
  border: 0;
  cursor: pointer;
  background: var(--gold);
  color: #071b37;
}
@media(max-width:760px){
  .info-grid { grid-template-columns: 1fr; }
  .page-hero { padding: 55px 20px; }
  .page-wrap { padding: 48px 18px; }
  .question-form { padding: 24px 18px; }
}


/* Header brand alignment */
.brand-text{text-align:center;}
.brand-name,.brand-tagline{text-align:center;}

/* Home page: center the main institute title */
.uri-home-title { text-align: center !important; }

/* URI page hero typography — balanced, clear hierarchy */
.uri-page-label { display:block; font-size:20px !important; line-height:1.15; font-weight:900; letter-spacing:.04em; margin-bottom:6px; color:var(--gold) !important; }
.uri-page-title { font-size:18px !important; line-height:1.3 !important; font-weight:600; margin:2px 0 7px !important; letter-spacing:0; color:#fff; }
.uri-page-subtitle, .uri-page-hero p { font-size:12px !important; line-height:1.5; max-width:850px; }
.uri-page-title span { color:#fff !important; }

/* Final correction: keep these page subtitles clearly smaller than their titles. */
.uri-page-title.uri-small-subtitle { font-size: 14px !important; line-height: 1.3 !important; font-weight: 500 !important; }
@media (max-width: 700px){ .uri-page-title.uri-small-subtitle { font-size: 13px !important; line-height: 1.3 !important; } }


/* Final home-page tagline adjustment */
.hero .uri-home-tagline { font-size: 18px !important; }
@media (max-width: 420px) {
  .hero .uri-home-tagline { font-size: 17px !important; }
}

/* Final Home tagline balance */
.hero .uri-home-tagline { font-size: 17.5px !important; }
@media (max-width: 700px) {
  .hero .uri-home-tagline { font-size: 16.5px !important; }
}

/* Final home-page spacing: clearly separate the tagline from the description below. */
.hero .uri-home-tagline { margin-bottom: 42px !important; }
@media (max-width: 700px) {
  .hero .uri-home-tagline { margin-bottom: 34px !important; }
}


/* URI typography refinement: center all titles/subtitles, keep body copy justified. */
h1, h2, h3, h4 { text-align: center !important; }
.uri-page-label, .section-label { display: block; text-align: center !important; }
.uri-page-title, .uri-page-subtitle { text-align: center !important; margin-left: auto; margin-right: auto; }
.page-hero .inner { text-align: center; }
.page-hero .inner > p { text-align: center !important; margin-left: auto; margin-right: auto; }
.uri-page-hero > div { text-align: center; }
.uri-page-hero .uri-page-subtitle { text-align: center !important; margin-left: auto; margin-right: auto; }
/* Mission, Vision, and every other section heading are centered; paragraphs/lists stay justified. */
main p, main li, .section p, .panel p, .about-copy p, .intro p, .home-copy p { text-align: justify; text-justify: inter-word; }


/* URI refinement: consistent research cards and more readable header tagline */
.news-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 20px;
}
.news-grid > div {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  min-height: 100%;
  padding: 25px 26px;
}
.news-grid > div h3 {
  text-align: center;
  line-height: 1.3;
  min-height: 2.6em;
  margin: 0 0 14px;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: balance;
}
.news-grid > div p {
  text-align: justify;
  line-height: 1.65;
  margin: 0;
  hyphens: auto;
}
header .brand-tagline {
  font-size: 13px;
  line-height: 1.4;
  font-weight: 600;
  white-space: normal;
  max-width: 560px;
}
@media (max-width: 900px) {
  header .brand-tagline { font-size: 11px; max-width: 360px; }
  .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
}
@media (max-width: 600px) {
  header .brand-tagline { font-size: 10px; line-height: 1.35; max-width: 230px; }
  .news-grid { grid-template-columns: 1fr; gap: 14px; }
  .news-grid > div { padding: 20px; }
  .news-grid > div h3 { min-height: 0; margin-bottom: 10px; }
}


/* Left-align all payment/contact card headings, subtitles, and details */
.info-card,
.info-card h3,
.info-card h4,
.info-card p,
.info-card strong,
.info-card .account-number,
.contact-details,
.contact-details > div,
.contact-details h3,
.contact-details h4,
.contact-details p,
.contact-details strong {
  text-align: left !important;
}
.info-card h3, .contact-details h3 { margin-left: 0; margin-right: 0; }


/* URI v18 — clearer header logo, uncluttered two-row navigation, and About-page alignment */
header .topbar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px 22px !important;
}
header .brand {
  flex: 1 1 100% !important;
  min-width: 0 !important;
  gap: 15px !important;
}
header .header-logo {
  width: 88px !important;
  height: 88px !important;
  flex: 0 0 88px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  image-rendering: auto;
}
header .brand-name {
  font-size: clamp(19px, 2vw, 25px) !important;
  line-height: 1.15 !important;
}
header .brand-tagline {
  font-size: 11px !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  max-width: 560px !important;
}
header .nav {
  flex: 1 1 100% !important;
  width: 100% !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 3px 6px !important;
  padding-left: 2px !important;
}
header .nav a {
  font-size: 12px !important;
  padding: 9px 10px !important;
  white-space: nowrap !important;
}
.about-page-title,
.uri-page-title {
  text-align: center;
}
.about-page-intro,
.about-page-intro p,
main p,
main li {
  text-align: justify !important;
  text-justify: inter-word;
}
@media (max-width: 900px) {
  header .header-logo { width: 74px !important; height: 74px !important; flex-basis: 74px !important; }
  header .brand-tagline { max-width: 100% !important; }
  header .nav a { font-size: 11px !important; padding: 8px 8px !important; }
}
@media (max-width: 760px) {
  header .topbar { flex-wrap: wrap !important; }
  header .brand { flex: 1 1 auto !important; max-width: calc(100% - 48px); }
  header .header-logo { width: 58px !important; height: 58px !important; flex-basis: 58px !important; }
  header .brand-name { font-size: 15px !important; }
  header .brand-tagline { font-size: 9px !important; }
  header .menu-toggle { display: block !important; margin-left: auto !important; }
  header .nav { display: none !important; flex: 1 1 100% !important; }
  header .nav.open { display: flex !important; }
}
@media (min-width: 761px) {
  header .menu-toggle { display: none !important; }
}


/* Navigation refinement: preserve the brand and motto, with the final four links on a second row. */
@media (min-width: 761px) {
  header .topbar { align-items: center; }
  header .nav { display: flex !important; flex-direction: column; align-items: flex-end; justify-content: center; gap: 0; }
  header .nav-primary, header .nav-secondary { display: flex; flex-wrap: nowrap; align-items: center; justify-content: flex-end; gap: 5px; width: 100%; }
  header .nav a { flex: 0 0 auto; }
}
@media (max-width: 760px) {
  header .nav-primary, header .nav-secondary { display: flex; flex-direction: column; align-items: stretch; }
}


/* URI v19 — keep the main navigation beside the institute name on desktop. */
@media (min-width: 1100px) {
  header .topbar {
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 12px !important;
  }
  header .brand {
    flex: 0 1 43% !important;
    min-width: 0 !important;
    max-width: 590px !important;
    gap: 12px !important;
  }
  header .brand-text { min-width: 0 !important; }
  header .brand-name {
    font-size: clamp(17px, 1.45vw, 23px) !important;
    white-space: nowrap !important;
  }
  header .brand-tagline {
    font-size: 10px !important;
    line-height: 1.25 !important;
    max-width: 470px !important;
  }
  header .header-logo {
    width: 72px !important;
    height: 72px !important;
    flex: 0 0 72px !important;
  }
  header .nav {
    flex: 1 1 57% !important;
    min-width: 0 !important;
    width: auto !important;
    padding-left: 0 !important;
    align-items: stretch !important;
    transform: translateY(-5px);
  }
  header .nav-primary,
  header .nav-secondary {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0 !important;
    width: 100% !important;
  }
  header .nav a {
    font-size: clamp(9px, .78vw, 11px) !important;
    padding: 8px 5px !important;
    white-space: nowrap !important;
  }
}
/* On smaller screens, stack navigation below the brand to prevent collisions. */
@media (min-width: 761px) and (max-width: 1099px) {
  header .topbar { flex-wrap: wrap !important; }
  header .brand { flex: 1 1 100% !important; max-width: 100% !important; }
  header .nav { flex: 1 1 100% !important; width: 100% !important; transform: none !important; }
  header .nav-primary, header .nav-secondary { justify-content: flex-start !important; }
}
/* Research hero: keep its descriptive heading subordinate to the OUR RESEARCH label. */
.research-hero .uri-page-title {
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  max-width: 100% !important;
  margin: 3px auto 9px !important;
}
.research-hero .uri-page-title span { white-space: nowrap !important; }
.research-hero .inner > p {
  max-width: 850px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: 12px !important;
  line-height: 1.65 !important;
  text-align: justify !important;
  text-justify: inter-word;
}
@media (max-width: 760px) {
  .research-hero .uri-page-title { font-size: 12px !important; }
  .research-hero .uri-page-title span { white-space: normal !important; }
}


/* URI v20 — enlarge header branding and navigation while preserving the logo and motto text. */
@media (min-width: 1100px) {
  header .topbar {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 14px !important;
  }
  header .brand {
    flex: 0 1 42% !important;
    max-width: 620px !important;
    min-width: 0 !important;
    gap: 14px !important;
  }
  header .header-logo {
    width: 82px !important;
    height: 82px !important;
    flex: 0 0 82px !important;
  }
  header .brand-text { min-width: 0 !important; }
  header .brand-name {
    font-size: clamp(22px, 1.85vw, 29px) !important;
    line-height: 1.12 !important;
    letter-spacing: .35px !important;
    white-space: nowrap !important;
  }
  header .brand-tagline {
    font-size: clamp(11px, .9vw, 13px) !important;
    line-height: 1.35 !important;
    max-width: 520px !important;
    font-weight: 650 !important;
  }
  header .nav {
    flex: 1 1 58% !important;
    width: auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 1px !important;
    transform: none !important;
  }
  header .nav-primary, header .nav-secondary {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 2px !important;
    width: 100% !important;
  }
  header .nav a {
    font-size: clamp(11.5px, .93vw, 13.5px) !important;
    line-height: 1.2 !important;
    padding: 9px 6px !important;
    white-space: nowrap !important;
  }
}
@media (min-width: 761px) and (max-width: 1099px) {
  header .brand-name { font-size: clamp(22px, 2.5vw, 27px) !important; }
  header .brand-tagline { font-size: 12px !important; line-height: 1.35 !important; }
  header .nav a { font-size: 12.5px !important; padding: 9px 8px !important; }
}
@media (max-width: 760px) {
  header .brand-name { font-size: 17px !important; line-height: 1.15 !important; }
  header .brand-tagline { font-size: 10px !important; line-height: 1.35 !important; }
  header .nav a { font-size: 13px !important; padding: 10px 9px !important; }
}


/* Final requested alignment: footer motto centered beneath institute name on every page. */
.footer-brand { text-align: center; }
.footer-brand small { display: block; text-align: center; }

/* Center the email contact sentence beneath “Prefer email?” on Ask Questions page. */
.question-box { text-align: center; }
.question-box h3, .question-box p { text-align: center; }


/* Final logo correction: preserve the complete original emblem without circular cropping.
   This prevents the added-looking white edge/line from cutting into the logo artwork. */
.uri-home-large-logo {
  width: min(390px, 100%) !important;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  overflow: visible !important;
  filter: drop-shadow(0 12px 20px #0005) !important;
}
