/* =====================
   RESET
   ===================== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* =====================
   BASE STYLES
   ===================== */
li {
  margin-bottom: 6px;
  margin-left: 20px;
}

h1, h2, h3 {
  font-family: 'Playfair Display', serif;
}

h3 {
  border-bottom: 2px solid #FFA07A;
  padding-bottom: 5px;
}

body {
  background-color: #faf9f5;
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
}

body a {
  text-decoration: none;
  color: #C0392B;
}

p, ul {
  font-size: 20px;
}

/* Spacer for spacing between sections */
.spacer {
  height: 20px;
}

/* =====================
   NAVBAR
   ===================== */
.menu-container {
  background-color: #34495E;
  color: #fff;
  padding: 10px 0;
  display: flex;
  justify-content: center;
}

.menu {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-weight: 450;
}

.links {
  display: flex;
  margin-left: auto;
  width: 25%;
  justify-content: space-between;
  margin-right: 30px;
}

.links a {
  color: #FFA07A;
  text-decoration: none;
  padding: 4px 8px;
  border-radius: 4px;
  transition: background-color 0.2s;
}

.links a:hover {
  background-color: #253545;
}

/* =====================
   HOME PAGE
   ===================== */
.hero-container {
  display: flex;
  justify-content: center;
  margin: 50px;
  padding: 30px 0;
}

.hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  gap: 60px;
}

.about {
  flex: 1;
}

.hello {
  display: flex;
  margin-bottom: 10px;
}

.interests {
  margin-top: 30px;
}

.interests p {
  margin-top: 5px;
}

.interests ul {
  margin-top: 10px;
}

.previous {
  margin-top: 30px;
}

.previous p {
  margin-top: 5px;
}

.previous ul {
  margin-top: 10px;
}

.profile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.profile img {
  width: 200px;
  height: 200px;
  object-fit: cover;
  border-radius: 50%;
}

/* =====================
   RESEARCH PAGE
   ===================== */
.research-desc p {
  margin: 10px;
}

.research-desc {
  margin: 50px;
  padding: 30px 0;
}

.image-container {
  display: flex;
  align-items: baseline;
  margin: 0 2%;
}

.image-adder {
  justify-content: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
}

figcaption {
  text-align: center;
  font-size: 16px;
  color: #666;
  margin-top: 8px;
}

/* =====================
   PUBLICATIONS PAGE
   ===================== */
.publications p {
  margin: 10px;
}

.publications-container {
  display: flex;
  justify-content: center;
}

.publications {
  margin: 50px;
  padding: 30px 0;
  width: 100%;
}

.publications h3 {
  margin-bottom: 30px;
  border-bottom: 2px solid #FFA07A;
  padding-bottom: 5px;
  width: 100%;
}

.pub-item {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  padding-bottom: 25px;
  border-bottom: 1px solid #e0d8cc;
  width: 100%;
  margin-bottom: 25px;
}

.badge {
  padding: 3px 10px;
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  flex-shrink: 0;
  margin-top: 3px;
}

.badge-conf { background-color: #5995DA; }
.badge-journal { background-color: #2D6A4F; }

.pub-details {
  flex: 1;
}

.pub-title {
  font-weight: bold;
  margin-bottom: 5px;
  font-size: 20px;
}

.pub-title a {
  color: inherit;
}

.pub-title a:hover {
  color: #FFA07A;
}

.pub-meta {
  font-size: 14px;
  color: #666;
}

/* =====================
   OTHER STUFF PAGE
   ===================== */
.int_stuff p {
  margin: 10px;
}

.int_stuff {
  margin: 50px;
  padding: 30px 0;
}

/* =====================
   MEDIA QUERIES (MOBILE)
   ===================== */
@media (max-width: 768px) {

  /* Navbar — stack links vertically */
  .menu {
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
  }

  .links {
    width: 100%;
    justify-content: center;
    margin-right: 0;
    gap: 15px;
    flex-wrap: wrap;
  }

  /* Home — stack profile below about */
  .hero-container {
    margin: 20px;
  }

  .hero {
    flex-direction: column-reverse; /* photo on top on mobile */
    gap: 30px;
    align-items: center;  /* add this to the mobile hero rule */
  }

  .profile {
  align-items: center;  /* add this to the mobile hero rule */  
  text-align: center;
  }

  .profile img {
    width: 150px;
    height: 150px;
  }

  /* Research — stack images vertically */
  .image-container {
    flex-direction: column;
    align-items: center;
    margin: 0 5%;
  }

  .image-adder {
    width: 100%;
    margin-bottom: 30px;
  }

  /* Research desc margins */
  .research-desc {
    margin: 20px;
  }

  /* Publications margins */
  .publications {
    margin: 20px;
  }

  /* Other stuff margins */
  .int_stuff {
    margin: 20px;
  }

  /* Smaller font on mobile */
  p, ul {
    font-size: 17px;
  }

  .pub-title {
    font-size: 17px;
  }
}
