:root{
  --paper:#FAF7F2;
  --paper-soft:#F3ECE1;
  --ink:#201C18;
  --ink-soft:#5B554C;
  --ember:#E2571E;
  --amber:#F6A93B;
  --rust:#9C2F0F;
  --mist:#EAE1D2;
  --ring:rgba(226,87,30,0.25);
  --max:1180px;
  --hero-img-opacity: 0.35; /* <-- adjust this number (0 to 1) to control the homepage background image strength */
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;} }

body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none;}
img,svg{display:block; max-width:100%;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 32px;}
.mono{font-family:'JetBrains Mono', monospace;}
.eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:12.5px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--rust);
  display:inline-flex; align-items:center; gap:8px;
}
.eyebrow::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--ember); display:inline-block;}
h1,h2,h3{font-family:'Space Grotesk', sans-serif; letter-spacing:-0.02em;}

/* NAV */
header{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(180%) blur(14px);
  background:rgba(250,247,242,0.82);
  border-bottom:1px solid rgba(32,28,24,0.07);
}
nav.wrap{
  display:flex; align-items:center; justify-content:space-between;
  height:64px;
}
.brand{display:flex; align-items:center; gap:10px; font-family:'Space Grotesk'; font-weight:600; font-size:16px;}
.brand-logo{height:28px; width:auto; display:block;}
.brand .dot{width:10px; height:10px; border-radius:50%; background:radial-gradient(circle at 30% 30%, var(--amber), var(--ember) 60%, var(--rust));}
.navlinks{display:flex; gap:28px; font-size:14px; font-weight:500;}
.navlinks a{color:var(--ink-soft); transition:color .2s; padding-bottom:2px;}
.navlinks a:hover, .navlinks a:focus-visible{color:var(--ember);}
.navlinks a[aria-current="page"]{color:var(--ember); border-bottom:2px solid var(--ember);}
.navlinks a:focus-visible{outline:2px solid var(--ember); outline-offset:4px; border-radius:3px;}
.navtoggle{display:none;}
@media (max-width:820px){
  .navlinks{display:none;}
}

/* HERO PANEL — background image opacity is controlled by --hero-img-opacity above */
.hero-panel{position:relative; overflow:hidden;}
.hero-bg{position:absolute; inset:0; z-index:0;}
.hero-bg img{width:100%; height:100%; object-fit:cover; opacity:var(--hero-img-opacity); display:block;}
.hero-bg::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(100deg, var(--paper) 0%, rgba(250,247,242,0.88) 30%, rgba(250,247,242,0.55) 60%, rgba(250,247,242,0.15) 100%);
}
.hero-content{position:relative; z-index:1; padding:110px 0 90px; max-width:680px;}
@media (max-width:900px){ .hero-content{padding:76px 0 60px; max-width:100%;} }
.hero-content h1{
  font-size:clamp(38px, 5.6vw, 68px);
  font-weight:700;
  line-height:1.04;
  margin:18px 0 22px;
}
.hero-content h1 em{
  font-style:normal;
  background:linear-gradient(100deg, var(--rust), var(--ember) 45%, var(--amber));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-content p.lead{font-size:18px; color:var(--ink-soft); max-width:540px; margin-bottom:32px;}
.cta-row{display:flex; gap:14px; flex-wrap:wrap;}
.btn{
  font-family:'Inter'; font-weight:600; font-size:14.5px;
  padding:13px 24px; border-radius:100px; display:inline-block;
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn-primary{background:var(--ember); color:#fff; box-shadow:0 10px 24px -10px var(--ring);}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 14px 28px -8px var(--ring);}
.btn-ghost{border:1px solid rgba(32,28,24,0.18); color:var(--ink);}
.btn-ghost:hover{border-color:var(--ember); color:var(--ember);}
.btn:focus-visible{outline:2px solid var(--rust); outline-offset:3px;}

/* SUB-PAGE HERO (banner) */
.page-hero{padding:70px 0 46px; background:var(--paper-soft); border-bottom:1px solid var(--mist);}
.page-hero h1{font-size:clamp(32px,4.4vw,48px); font-weight:700; margin-top:12px;}
.page-hero p{color:var(--ink-soft); margin-top:12px; max-width:640px; font-size:16px;}

/* CAROUSEL */
.carousel{position:relative; border-radius:20px; overflow:hidden; aspect-ratio:16/8; background:var(--paper-soft);}
.carousel-track{display:flex; height:100%; transition:transform .6s cubic-bezier(.65,0,.35,1);}
.carousel-slide{position:relative; flex:0 0 100%; height:100%;}
.carousel-slide .fallback{
  position:absolute; inset:0;
  background:linear-gradient(135deg, var(--rust), var(--ember) 55%, var(--amber));
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,0.9); font-family:'JetBrains Mono'; font-size:13px; text-align:center; padding:20px;
}
.carousel-slide img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;}
.carousel-caption{position:absolute; left:0; right:0; bottom:0; padding:24px 28px; background:linear-gradient(0deg, rgba(20,16,12,0.62), transparent 85%); color:#fff;}
.carousel-caption .cap-eyebrow{font-family:'JetBrains Mono'; font-size:11px; letter-spacing:.08em; text-transform:uppercase; opacity:.9;}
.carousel-caption .cap-title{font-family:'Space Grotesk'; font-size:19px; font-weight:600; margin-top:4px;}
.carousel-btn{
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:42px; height:42px; border-radius:50%; border:none; cursor:pointer;
  background:rgba(255,255,255,0.85); backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center;
  transition:background .2s, transform .2s;
}
.carousel-btn:hover{background:#fff; transform:translateY(-50%) scale(1.07);}
.carousel-btn:focus-visible{outline:2px solid var(--ember); outline-offset:2px;}
.carousel-btn.prev{left:16px;}
.carousel-btn.next{right:16px;}
.carousel-btn svg{width:18px; height:18px;}
.carousel-dots{position:absolute; bottom:20px; right:24px; z-index:2; display:flex; gap:8px;}
.carousel-dot{width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.5); border:none; cursor:pointer; padding:0; transition:background .2s, transform .2s;}
.carousel-dot.active{background:#fff; transform:scale(1.35);}
.carousel-dot:focus-visible{outline:2px solid #fff; outline-offset:2px;}

/* HOMEPAGE HIGHLIGHTS — Latest news / Latest publications */
.highlight-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--mist); border-radius:20px; overflow:hidden;}
@media (max-width:820px){ .highlight-grid{grid-template-columns:1fr;} }
.highlight-card{background:var(--paper); padding:34px;}
.highlight-card h3{font-size:20px; font-weight:600; margin-bottom:4px;}
.highlight-card .sub{font-size:13.5px; color:var(--ink-soft); margin-bottom:22px;}
.hl-item{padding:16px 0; border-top:1px solid var(--mist);}
.hl-item:first-of-type{border-top:none; padding-top:0;}
.hl-date{font-family:'JetBrains Mono'; font-size:11.5px; color:var(--rust); text-transform:uppercase; letter-spacing:.04em;}
.hl-text{font-size:14.5px; margin-top:4px; line-height:1.55;}
.hl-pub-title{font-size:14.5px; line-height:1.5; margin-top:2px;}
.doi-btn{
  display:inline-flex; align-items:center; gap:5px;
  font-family:'JetBrains Mono'; font-size:11.5px; font-weight:500;
  color:var(--ember); border:1px solid var(--ember); border-radius:100px;
  padding:4px 11px; margin-top:9px; transition:background .15s, color .15s;
}
.doi-btn:hover{background:var(--ember); color:#fff;}
.hl-viewall{display:inline-block; margin-top:20px; font-size:13.5px; font-weight:600; color:var(--rust);}
.hl-viewall:hover{color:var(--ember);}
.hl-error{font-family:'JetBrains Mono'; font-size:12.5px; color:var(--ink-soft);}

/* PRINCIPAL INVESTIGATOR PANEL */
.pi-panel{
  display:flex; gap:32px; align-items:center; flex-wrap:wrap;
  margin-bottom:56px;
}
@media (max-width:640px){ .pi-panel{flex-direction:column; align-items:flex-start;} }
.pi-avatar-wrap{position:relative; width:400px; height:400px; flex:0 0 auto; border-radius:16px; overflow:hidden;}
.pi-avatar{
  position:absolute; inset:0;
  background:conic-gradient(from 210deg, var(--rust), var(--ember), var(--amber), var(--mist), var(--rust));
  display:flex; align-items:center; justify-content:center;
  font-family:'Space Grotesk'; font-weight:700; font-size:32px; color:#fff;
}
.pi-photo{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}

/* the "small highlighted box" holding the PI's details, to the right of the photo */
.pi-details{
  background:var(--paper-soft);
  border:1px solid var(--mist);
  border-radius:16px;
  padding:20px 26px;
  flex:1 1 320px;
  max-width:420px;
}
.pi-details h2{font-size:clamp(20px,2.4vw,25px); font-weight:700; margin-top:8px;}
.pi-details .role{font-size:14.5px; color:var(--ink-soft); margin-top:3px;}
.doi-btn-lg{font-size:12.5px; padding:8px 18px; margin-top:16px;}

/* COMPACT LABEL/VALUE DETAIL ROWS — used on PhD/M.Tech/alumni cards */
/* supervisor note — freeform text like "Jointly supervised by Dr. X", no label prefix needed */
.p-note{font-size:12.5px; color:var(--ink-soft); font-style:italic; margin-top:3px; line-height:1.4;}

.p-detail{margin-top:7px;}
.p-detail .p-label{
  font-family:'JetBrains Mono'; font-size:10px; text-transform:uppercase;
  letter-spacing:.06em; color:var(--rust); display:block;
}
.p-detail .p-value{font-size:13px; color:var(--ink); margin-top:1px; line-height:1.4;}
.p-detail a.p-value{color:var(--ember);}
.p-detail a.p-value:hover{text-decoration:underline;}

/* SECTION SHELL */
section{padding:80px 0;}
.section-head{max-width:640px; margin-bottom:44px;}
.section-head h2{font-size:clamp(26px,3.2vw,36px); margin-top:12px; font-weight:600;}
.section-head p{color:var(--ink-soft); margin-top:12px; font-size:16px;}
.divider{height:1px; background:linear-gradient(90deg, transparent, var(--mist) 20%, var(--mist) 80%, transparent);}

/* RESEARCH GRID */
.research-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--mist); border-radius:20px; overflow:hidden;}
@media (max-width:900px){ .research-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px){ .research-grid{grid-template-columns:1fr;} }
.r-card{background:var(--paper); padding:30px 26px; transition:background .2s;}
.r-card:hover{background:var(--paper-soft);}
.r-tag{
  font-family:'JetBrains Mono'; font-size:12px; font-weight:500;
  color:#fff; background:var(--rust); display:inline-block;
  padding:4px 9px; border-radius:6px; letter-spacing:0.04em;
}
.r-card h3{font-size:18px; margin:14px 0 6px; font-weight:600;}
.r-card p{font-size:14.5px; color:var(--ink-soft);}

/* GRANTS TABLE-LIST */
.grant{
  display:grid; grid-template-columns:170px 1fr auto; gap:18px; align-items:start;
  padding:18px 0; border-bottom:1px solid var(--mist);
}
.grant .agency{font-family:'JetBrains Mono'; font-size:12.5px; color:var(--rust);}
.grant .title{font-size:15px; font-weight:500;}
.grant .amt{font-family:'JetBrains Mono'; font-size:12.5px; color:var(--ink-soft); white-space:nowrap;}
@media (max-width:700px){ .grant{grid-template-columns:1fr;} .grant .amt{justify-self:start;} }

/* FACILITIES */
.fac-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px;}
@media (max-width:760px){ .fac-grid{grid-template-columns:1fr;} }
.fac-card{
  background:var(--ink); color:var(--paper);
  border-radius:18px; padding:26px;
  background-image:linear-gradient(160deg, #221D18, #171310);
}
.fac-card h4{font-family:'Space Grotesk'; font-size:17px; margin-bottom:12px; font-weight:600;}
.fac-card ul{list-style:none; font-size:13.5px; color:rgba(250,247,242,0.75);}
.fac-card li{padding:5px 0; border-top:1px solid rgba(255,255,255,0.08);}
.fac-card li:first-child{border-top:none;}
.fac-note{font-size:14px; color:var(--ink-soft); margin-top:10px;}
.central-list{columns:2; column-gap:40px; margin-top:10px;}
@media (max-width:640px){ .central-list{columns:1;} }
.central-list li{font-size:14.5px; padding:6px 0; break-inside:avoid;}

/* PEOPLE */
.people-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
@media (max-width:900px){ .people-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .people-grid{grid-template-columns:1fr;} }
.p-card{text-align:left;}
.p-avatar-wrap{position:relative; width:100%; aspect-ratio:1; border-radius:16px; margin-bottom:12px; overflow:hidden;}
.p-avatar{
  position:absolute; inset:0;
  background:conic-gradient(from 210deg, var(--rust), var(--ember), var(--amber), var(--mist), var(--rust));
  display:flex; align-items:center; justify-content:center;
  font-family:'Space Grotesk'; font-weight:700; font-size:26px; color:#fff;
}
.p-photo{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:var(--mist);}
.p-card h4{font-size:15px; font-weight:600;}
.p-card span{font-size:12.5px; color:var(--ink-soft); font-family:'JetBrains Mono'; display:block; margin-top:2px;}
.p-card .mail{font-size:12px; word-break:break-all;}
.people-subhead{margin:56px 0 24px;}
.people-subhead h3{font-size:20px; font-weight:600;}

/* PUBLICATIONS / OUTCOMES */
.pub-list{counter-reset:pub;}
.pub{
  display:grid; grid-template-columns:34px 1fr; gap:14px;
  padding:14px 0; border-bottom:1px solid var(--mist); font-size:14.5px;
}
.pub .num{font-family:'JetBrains Mono'; color:var(--ember); font-size:13px;}
.pub .txt{color:var(--ink);}
.pub .txt b{font-weight:600;}
.stat-row{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--mist); border-radius:16px; overflow:hidden; margin-bottom:50px;}
@media (max-width:700px){ .stat-row{grid-template-columns:repeat(2,1fr);} }
.stat{background:var(--paper); padding:26px; text-align:center;}
.stat .n{font-family:'Space Grotesk'; font-size:30px; font-weight:700; color:var(--ember);}
.stat .l{font-family:'JetBrains Mono'; font-size:11.5px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.06em; margin-top:4px;}

/* CONTACT / FOOTER */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px;}
@media (max-width:760px){ .contact-grid{grid-template-columns:1fr;} }
.contact-card{background:var(--paper-soft); border-radius:18px; padding:32px;}
.contact-card h3{font-size:19px; margin-bottom:14px; font-weight:600;}
.contact-card p{font-size:15px; color:var(--ink-soft); line-height:1.8;}
.contact-card a{color:var(--ember); font-weight:500;}

footer{background:var(--ink); color:var(--paper); padding:70px 0 36px; margin-top:0;}
.foot-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px;}
@media (max-width:760px){ .foot-grid{grid-template-columns:1fr; gap:28px;} }
footer h3{font-family:'Space Grotesk'; font-size:21px; margin-bottom:12px;}
footer p, footer a{color:rgba(250,247,242,0.65); font-size:14px; line-height:1.8;}
footer a:hover{color:var(--amber);}
.foot-col h5{font-family:'JetBrains Mono'; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:var(--amber); margin-bottom:12px;}
.foot-bottom{margin-top:50px; padding-top:22px; border-top:1px solid rgba(250,247,242,0.12); font-size:12.5px; color:rgba(250,247,242,0.4); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}
