/* AdaLab site styles */
:root{
  --navy: #0b3556;
  --blue: #0b5394;
  --cyan: #29b6e8;
  --text: #202124;
  --muted: #5f6368;
  --border: #e5e7eb;
  --bg: #ffffff;
  --max: 1080px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Lato', Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}
h1,h2,h3{
  font-family:'Montserrat', Arial, sans-serif;
  color:var(--navy);
  margin:0 0 .6em;
}
a{color:var(--blue); text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%; display:block;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 24px;}

/* Header */
.site-header{
  border-bottom:1px solid var(--border);
  position:sticky; top:0; background:#fff; z-index:50;
}
.site-header .wrap{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:14px; padding-bottom:14px; gap:24px; flex-wrap:wrap;
}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none;}
.brand img{height:42px; width:auto;}
.brand-title{font-family:'Montserrat',Arial,sans-serif; font-weight:700; color:var(--text); font-size:1.05rem;}
nav.main-nav ul{list-style:none; display:flex; gap:28px; margin:0; padding:0;}
nav.main-nav a{
  color:var(--text); font-weight:600; font-size:.95rem;
  padding:6px 2px; border-bottom:2px solid transparent;
}
nav.main-nav a:hover{text-decoration:none; border-bottom-color:var(--cyan);}
nav.main-nav a.active{color:var(--blue); border-bottom-color:var(--blue);}

/* Hero (home) */
.hero{padding:64px 0 24px; text-align:center;}
.hero img{max-width:640px; margin:0 auto 8px;}
.hero-tagline{color:var(--muted); font-size:1.05rem; margin-top:4px;}

.intro{padding:16px 0 56px;}
.intro p{font-size:1.1rem; max-width:820px; margin:0 auto 20px;}
.intro strong{color:var(--blue);}

/* Page header (inner pages) */
.page-hero{padding:48px 0 8px;}
.page-hero h1{font-size:1.7rem; max-width:820px;}
.page-hero p{color:var(--muted); font-size:1.05rem; max-width:780px;}

/* Research cards */
.research-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:40px 48px;
  padding:32px 0 56px;
}
.research-card{
  display:flex; gap:20px; align-items:flex-start;
}
.research-card.full{grid-column:1 / -1;}
.research-card .icon{
  flex:0 0 auto; width:110px; height:auto; border-radius:8px; overflow:hidden;
}
.research-card .icon img{width:100%; height:100%; object-fit:cover;}
.research-card .body h3{font-size:1.15rem; margin-bottom:.5em;}
.research-card ul{margin:0; padding-left:1.1em;}
.research-card li{margin-bottom:.55em; color:var(--text);}
@media (max-width: 760px){
  .research-grid{grid-template-columns:1fr;}
  .research-card{flex-direction:column;}
  .research-card .icon{width:140px;}
}

/* News */
.news-body{padding:24px 0 56px; font-size:1.1rem; max-width:820px;}

/* Team */
.team-leads{
  display:grid; grid-template-columns:1fr 1fr; gap:40px;
  padding:32px 0 40px; max-width:820px; margin:0 auto;
}
.team-lead{text-align:center;}
.team-lead .photo{
  width:100%; aspect-ratio:4/5; border-radius:10px; overflow:hidden; margin-bottom:14px; background:#eee;
}
.team-lead .photo img{width:100%; height:100%; object-fit:cover;}
.team-lead h3{font-size:1.1rem; margin-bottom:.2em;}
.team-lead .role{color:var(--muted);}
@media (max-width:600px){ .team-leads{grid-template-columns:1fr;} }

.team-members{
  padding:16px 0 8px; max-width:var(--max); margin:0 auto;
}
.team-members h2{font-size:1.2rem; margin-bottom:1em;}
.team-members ul{list-style:none; margin:0 0 40px; padding:0; columns:1;}
.team-members li{padding:8px 0; border-bottom:1px solid var(--border);}
.undergrad-grid{
  columns:2; column-gap:48px;
}
.undergrad-grid li{break-inside:avoid;}
@media (max-width:600px){ .undergrad-grid{columns:1;} }

/* Footer */
.site-footer{
  background:#f5f7f9; border-top:1px solid var(--border);
  padding:40px 0; margin-top:24px; text-align:center;
}
.site-footer .badge{
  color:#b00020; font-weight:700; font-size:1.05rem; margin-bottom:10px;
}
.site-footer p{margin:.3em 0; font-weight:600;}
.site-footer .fine{color:var(--muted); font-weight:400; font-size:.85rem; margin-top:18px;}
