/* Site-specific additions layered on top of the template's main.css */

.banner-area .fullscreen {
  height: auto !important;
  min-height: 640px;
  padding: 130px 0 60px;
}

.banner-left h1 { margin: 10px 0 6px; }
.banner-left .role { font-size: 24px; color: #222; font-weight: 500; margin-bottom: 14px; }
.banner-left .affiliations { list-style: none; padding: 0; margin: 0 0 16px; }
.banner-left .affiliations li { font-size: 16px; line-height: 1.6; color: #888; }
.banner-left .affiliations li.primary { color: #222; font-weight: 500; }
.banner-left .contact { color: #555; margin-bottom: 4px; }
.banner-left .profile-links { margin-top: 14px; }
.banner-left .profile-links a { margin-right: 8px; display: inline-block; }
.banner-photo { align-items: center; justify-content: center; }
.banner-photo img { max-height: 520px; object-fit: cover; border-radius: 4px; }

.lead-summary { font-size: 16px; color: #555; }

.single-services h3 { font-size: 18px; color: #222; margin-bottom: 15px; transition: all 0.3s ease 0s; }
.single-services ul { padding-left: 18px; }
.single-services li { list-style: disc; }

.news-box, .talks-box { max-height: 800px; overflow-y: auto; }
.news-list, .talk-list { list-style: none; padding: 0; margin: 0; }
.news-list li, .talk-list li { display: flex; gap: 16px; padding: 9px 0; }
.news-list time, .talk-list time { flex: 0 0 82px; font-weight: 500; color: #222; }
.facts-area .news-list time, .facts-area .news-list li, .facts-area h2, .facts-area h3 { color: #fff; }
.facts-area .news-list a { color: #ffe9c2; text-decoration: underline; }
.talk-list .talk-title { color: #222; font-weight: 500; }

.info-area .info-block { margin-bottom: 30px; }
.info-area h3 { font-size: 20px; color: #222; margin-bottom: 12px; }
.info-area ul { padding-left: 18px; }
.info-area li { list-style: disc; margin-bottom: 4px; }

.home-about-area p { font-size: 15px; }
.home-about-area { padding-bottom: 80px; }

.footer-area { padding: 40px 0; color: #aaa; }
.footer-area a { color: #ddd; }

@media (max-width: 767px) {
  .banner-area .fullscreen { min-height: 0; padding-top: 80px; }
  .banner-left { margin-top: 0; }
  .banner-photo { margin-top: 24px; }
  .news-list li, .talk-list li { flex-direction: column; gap: 2px; }
}

.single-services ul { text-align: left; display: inline-block; }
.facts-area b { color: #fff; font-weight: 600; }
section[id] { scroll-margin-top: 70px; }
html { scroll-behavior: smooth; }

.pub-list { text-align: left; padding-left: 20px; }
.pub-list li { list-style: disc; margin-bottom: 12px; line-height: 1.6; }
.pub-year { font-size: 22px; text-align: center; margin: 10px 0 18px; color: #222; }
.pub-badge { color: #c0392b; font-weight: 500; }
.research-note { margin-top: 40px; }

.topic-page { padding-top: 60px; }
.topic-page .container { max-width: 900px; }
.topic-page h1 { font-size: 34px; color: #222; margin: 10px 0 16px; }
.topic-page h2 { font-size: 24px; color: #222; margin: 40px 0 14px; }
.topic-page h3 { font-size: 17px; color: #222; margin: 18px 0 6px; }
.topic-page p, .topic-page li { font-size: 15px; color: #555; }
.topic-page ul { padding-left: 20px; }
.topic-page li { list-style: disc; margin-bottom: 4px; }
.breadcrumb-line { font-size: 13px; }
.project { border-left: 3px solid #8490ff; padding: 4px 0 4px 18px; margin: 22px 0; }
.project-meta { font-size: 13px !important; color: #888 !important; margin-bottom: 6px; }
.related-line { margin-top: 40px; }
.single-services h3 a { color: inherit; }
.topic-page > .section-gap { padding-top: 40px; }

.blog-page .post-list { list-style: none; padding: 0; }
.blog-page .post-list li { list-style: none; border-bottom: 1px solid #eee; padding: 18px 0; }
.blog-page .post-list h2 { font-size: 22px; margin: 0 0 4px; }
.blog-page .post-list h2 a { color: #222; }
.post-subtitle { font-size: 18px !important; color: #666 !important; margin-bottom: 4px; }
.post-meta { font-size: 13px !important; color: #999 !important; }
.blog-post p, .blog-post li { font-size: 16px; line-height: 1.75; color: #444; }
.blog-post blockquote { border-left: 3px solid #8490ff; padding-left: 16px; color: #555; }
.post-note { font-style: italic; font-size: 13px !important; color: #999 !important; margin-top: 30px; }

.pub-page h1 { font-size: 34px; color: #222; margin-bottom: 8px; }
.pub-page section h3 { font-size: 20px; color: #222; margin: 34px 0 16px; }
.pub-page li { font-size: 14px; line-height: 1.65; }
.pub-page section > p { margin-bottom: 4px; }
