:root {
  --bs-body-font-family: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol", sans-serif;
}

/* Smooth scrolling for anchor links */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 130px; /* Offset for fixed header */
}

/* Local brand fonts */
@font-face {
  font-family: 'Sora';
  src: url('./fonts/Sora/Sora-Regular.ttf') format('truetype');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Sora';
  src: url('./fonts/Sora/Sora-SemiBold.ttf') format('truetype');
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Sora';
  src: url('./fonts/Sora/Sora-Bold.ttf') format('truetype');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Sora';
  src: url('./fonts/Sora/Sora-Light.ttf') format('truetype');
  font-weight: 300; font-style: normal; font-display: swap;
}

@font-face {
  font-family: 'Barlow Condensed';
  src: url('./fonts/Barlow Condensed/BarlowCondensed-Regular.ttf') format('truetype');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Barlow Condensed';
  src: url('./fonts/Barlow Condensed/BarlowCondensed-Light.ttf') format('truetype');
  font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Barlow Condensed';
  src: url('./fonts/Barlow Condensed/BarlowCondensed-Bold.ttf') format('truetype');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Barlow Condensed';
  src: url('./fonts/Barlow Condensed/BarlowCondensed-ExtraBold.ttf') format('truetype');
  font-weight: 800; font-style: normal; font-display: swap;
}

@font-face {
  font-family: 'Instrument Serif';
  src: url('./fonts/Instrument Serif/InstrumentSerif-Regular.ttf') format('truetype');
  font-weight: 400; font-style: normal; font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('./fonts/Inter/Inter-Light.ttf') format('truetype');
  font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('./fonts/Inter/Inter-Regular.ttf') format('truetype');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('./fonts/Inter/Inter-Medium.ttf') format('truetype');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('./fonts/Inter/Inter-SemiBold.ttf') format('truetype');
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('./fonts/Inter/Inter-Bold.ttf') format('truetype');
  font-weight: 700; font-style: normal; font-display: swap;
}

.hero {
  background: radial-gradient(65% 120% at 0% 0%, #e9f3ff 0, transparent 60%), 
              radial-gradient(65% 120% at 100% 0%, #f5e9ff 0, transparent 60%);
  padding: 4rem 0 3rem 0;
}

.hero .hero-card {
  border-radius: 1.25rem;
  overflow: hidden;
}

.card, .rounded-4 { border-radius: 1rem !important; }

#pub-list .list-group-item { 
  padding: 0.1rem 0; 
  border-bottom: 1px solid rgba(0, 0, 0, 0.19); /* Adjust opacity here */
}
.pub-title-text { font-weight: 400; } /* Remove bold from title */
.pub-journal-name { font-style: italic; } /* Journal name in italics */
.pub-badges .badge { margin-right: .25rem; }

/* Publication text styling */
.pub-authors { 
  color: #000101;
  font-size: 0.95rem;
}
.pub-journal-line {
  color: #e23a1d;
  font-size: 0.9rem;
}
figure.img-caption { text-align: center; }
figure.img-caption figcaption { font-size: .9rem; color: #6c757d; }

/* Small helpers */
.badge-tag { background: #eef1f6; color: #3b4151; border: 1px solid #dfe3ea; }

/* Full-width hero carousel */
.carousel-full { margin: 0; position: relative; z-index: 1; overflow: hidden; }
.carousel-full .carousel { margin: 0; }
.carousel-full .carousel-item { display: flex; justify-content: center; }
.carousel-full .carousel-item img { display: block; width: 70%; max-width: 1400px; height: auto; }

@media (max-width: 768px) {
  .carousel-full .carousel-item img { width: 100%; max-width: 100%; }
}

/* Navbar CSS */
body {
  font-family: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol", sans-serif;
  /* Space for fixed title bar (80px) + navbar (70px) */
  padding-top: 150px;
  /* Prevent layout shift from scrollbar */
  overflow-y: scroll;
}

a { text-decoration: none; }

/* Optional hero sections (not required for header-only usage) */
.et-hero-tabs,
.et-slide {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
  position: relative;
  background: #eee;
  text-align: center;
  padding: 0 2em;
}
.et-hero-tabs h1 { font-size: 2rem; margin: 0; letter-spacing: 1rem; }
.et-hero-tabs h3 { font-size: 1rem; letter-spacing: 0.3rem; opacity: 0.6; }

/* Header bar container */
.et-hero-tabs-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  height: 70px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  background: #502D0E; /* Lehigh Brown */
  z-index: 1000;
}
.et-hero-tabs-container--top { position: fixed; top: 0; left: 0; right: 0; }

/* Center nav items instead of brand-left */
.nav-centered { justify-content: center; gap: 0.25rem; }

/* Tabs/links */
.et-hero-tab {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff; /* white text on brown */
  letter-spacing: 0.1rem;
  transition: all 0.3s ease;
  font-size: 0.9rem;
  height: 100%;
  padding: 0 1rem;
  font-family: 'Barlow Condensed', system-ui, sans-serif;
  text-transform: uppercase;
}
.et-hero-tab:hover, .et-hero-tab:focus {
  color: #fff;
  background: #12354C; /* Night Sky */
}

/* Brand push left, links align right */
.et-hero-brand { font-weight: 700; }
.et-hero-tabs-container .et-hero-brand { margin-left: 1rem; margin-right: auto; }

.et-hero-tab-slider {
  position: absolute;
  bottom: 0;
  width: 0;
  height: 6px;
  background: #66B0FF; /* Bethlehem Sky */
  transition: left 0.3s ease;
}

/* Top title bar (fixed above navbar) */
.site-title-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: #fff;
  display: grid;
  grid-template-columns: auto 1fr auto; /* left logo, center title, right physics logo */
  align-items: center;
  padding: 0 1rem;
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);
  z-index: 1100;
}
@media (min-width: 1920px) {
  .site-title-bar {
    padding: 0 20%;
  }
}
.site-title-left { justify-self: start; }
.site-title-center { justify-self: center; }
.site-title-right { justify-self: end; display: flex; align-items: center; }
.site-title-logo img { height: 42px; width: auto; display: block; } /* Lehigh university logo size */
.site-title-physics { display: inline-flex; flex-direction: column; align-items: stretch; text-decoration: none; width: max-content; }
.site-title-physics .dept-top { display: inline-flex; align-items: center; gap: 0; font-family: Georgia, 'Times New Roman', Times, serif; font-weight: 700; letter-spacing: .12em; font-size: 14px; color: #502D0E; text-transform: uppercase; line-height: 1; }
.site-title-physics .dept-bottom { font-family: Georgia, 'Times New Roman', Times, serif; font-weight: 700; font-size: 32px; line-height: 1.02; color: #502D0E; letter-spacing: 0.01em; }
.site-title-text { /* Main title text (Vavylonis Group) */
  font-weight: 750;
  letter-spacing: 0.05em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  font-size: clamp(2rem, 4.1vw, 3rem); /* clamp(minimum, preferred, maximum) */
  color: #502D0E; /* Lehigh Brown */
  font-family: 'Sora', system-ui, sans-serif;
}
.site-subtitle {
  display: inline-block;
  line-height: 1.2;
  font-weight: 600;
  color: #12354C; /* Night Sky for contrast on white */
  font-family: 'Instrument Serif', Georgia, serif;
}

/* Apply headline font to semantic headings */
h1, h2, h3, .h1, .h2, .h3 { font-family: 'Sora', system-ui, sans-serif; }

/* Bootstrap navbar typography (fallback for header.html) */
.navbar .navbar-brand { font-family: 'Sora', system-ui, sans-serif; letter-spacing: .02em; }
.navbar .nav-link { font-family: 'Barlow Condensed', system-ui, sans-serif; text-transform: uppercase; letter-spacing: .08em; }

/* Shift navbar below the title bar */
.site-title-bar + .et-hero-tabs-container--top { top: 80px; }

/* Mobile hamburger menu */
.mobile-menu-toggle {
  display: none;
  background: none;
  border: none;
  color: #fff;
  font-size: 1.5rem;
  padding: 0.5rem;
  cursor: pointer;
  margin-left: auto;
  z-index: 10;
}

/* Responsive tweaks for phones */
@media (max-width: 768px) {
  body { padding-top: 110px; }
  .site-title-bar {
    height: 55px;
    grid-template-columns: 30px 1fr 30px;
    padding: 0 0.25rem;
    gap: 0.25rem;
  }
  .site-title-logo img { height: 28px; width: auto; }
  .site-title-physics { display: none; }
  .site-title-text { font-size: clamp(1.1rem, 5.5vw, 1.6rem); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .site-title-bar + .et-hero-tabs-container--top { top: 55px; }
  
  /* Show hamburger menu on mobile */
  .mobile-menu-toggle { 
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  /* Stack navigation vertically on mobile */
  .et-hero-tabs-container {
    flex-direction: row;
    flex-wrap: wrap;
    height: auto;
    padding: 0.5rem 1rem;
  }
  
  .et-hero-tab {
    display: none;
  }
  
  /* Show tabs when menu is open */
  .et-hero-tabs-container.mobile-menu-open {
    flex-direction: column;
    padding: 0;
  }
  
  .et-hero-tabs-container.mobile-menu-open .et-hero-tab {
    display: flex;
    width: 100%;
    padding: 1rem;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    justify-content: flex-start;
    background: #502D0E;
  }
  
  .et-hero-tab-slider { display: none; }
}

@media (max-width: 480px) {
  .site-title-bar {
    grid-template-columns: 20px 1fr 20px;
  }
  .site-title-logo img { height: 24px; }
  .site-title-text { font-size: clamp(0.9rem, 4vw, 1.1rem); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}

/* Desktop - hide hamburger, show full menu */
@media (min-width: 769px) {
  .mobile-menu-toggle { display: none !important; }
  .et-hero-tab { display: flex !important; }
  .et-hero-tab-slider { display: block !important; }
}
/*end Responsive tweaks for phones */
@media (min-width: 800px) {
  .et-hero-tabs h1 { font-size: 3rem; }
  .et-hero-tabs h3 { font-size: 1rem; }
  .et-hero-tab { font-size: 1rem; }
}
/* End Navbar CSS */

/* Brand footer styles */
footer.brand-footer {
  background: #502D0E !important; /* Lehigh Brown */
  color: #fff;
}
footer.brand-footer a { color: #fff; text-decoration: underline; }
footer.brand-footer .text-muted { color: rgba(255,255,255,0.75) !important; }

/* Brand link utility */
.link-brand, .link-brand:visited { color: #502D0E; }
.link-brand:hover { color: #1B3A24; }

/* People page - consistent image sizing */
.card .img-fluid.rounded {
  width: 100%;
  height: 150px;
  object-fit: cover;
  object-position: center;
}