/* Positioning */
.hero {
  display: flex;
  flex-direction: column;
  justify-content: center;  /* centers vertically in viewport */
  align-items: center;      /* centers horizontally */
  height: 95vh;
}

.hero h1 {
  margin: 0 0 1rem 0;
  font-family: 'Times New Roman', Times, serif;
  font-size: 3em;
  display: inline-block;   /* keep as block for centering */
}

.hero h2 {
  margin: 0 0 0.5rem 0; /* bottom margin 0.5rem */
}

.hero p {
  margin: 0; /* remove default spacing */
}

.hero img {
  margin-bottom: 1.2rem; /* or px, em, etc. */
  width: 115px;
  height: auto;
}

.page-header {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  text-align: center;
  margin-top: 20px;
}

.page-header h1 {
  margin: 0 0 1rem 0;
  font-family: 'Times New Roman', Times, serif;
  font-size: 3em;
  display: inline-block;   /* keep as block for centering */
}

.page-header h2 {
  margin: 0 0 0.5rem 0; /* bottom margin 0.5rem */
}

.page-header p {
  margin: 0; /* remove default spacing */
}

.page-footer {
  display: flex;
  flex-direction: column;
  justify-content: end;
  align-items: center;
  text-align: center;
  margin-bottom: 20px;
}

.page-footer h1 {
  margin: 0 0 1rem 0;
  font-family: 'Times New Roman', Times, serif;
  font-size: 3em;
  display: inline-block;   /* keep as block for centering */
}

.page-footer h2 {
  margin: 0 0 0.5rem 0; /* bottom margin 0.5rem */
}

.page-footer p {
  margin: 0; /* remove default spacing */
}

  /* Override Markdown defaults */
  h1 {
    font-weight: normal;
    font-size: 3em;
  }
  
  h2 {
    font-weight: normal;
    font-size: 1.5em;
  }

  h3 {
    font-weight: normal;
  }

  .hero-title {
    display: inline-flex;       /* makes the text and symbol a flex row */
    align-items: center;        /* vertically centers the symbol relative to text */
    justify-content: center;    /* centers the whole h1 inline */
    font-family: 'Times New Roman', Times, serif;
    font-size: 3em;
  }  
  
  .h1-symbol {
    font-family: Georgia, 'Times New Roman', Times, serif; /* or whatever font you like */
    font-size: 0.72em; /* optional: smaller/larger than the main h1 */
    vertical-align: text-middle; /* optional: tweak alignment with text */
    position: relative;
    margin-left: 0;
  }

  .entry {
    margin-left: 10px;
  }

  .entry img {
    width: 300px;
  }

  .entry-images {
    display: flex;
    justify-content: flex-start;
    gap: 0.75rem;
    margin-top: 1rem;
    flex-wrap: wrap;
    margin-left: 10px; /* match text alignment */
  }
  
  .entry-images img {
    height: 200px;     /* uniform height for all images */
    width: auto;       /* maintain aspect ratio */
    object-fit: contain; /* ensures no distortion or cropping */
  }  

  /* ===========================
   Capsule (Collection) Styles
   =========================== */

.capsule {
  margin: 4rem 0;                 /* space between cycles */
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
  text-align: center;
}

.capsule > h2 {
  flex: 1 1 100%;                 /* full-width row for title */
  text-align: center;
  margin-bottom: 2rem;
  font-weight: normal;
  font-size: 1.5em;
}

/* each capsule item (image + caption) */
.capsule-item {
  flex: 1 1 calc(50% - 2rem);     /* two per row */
  max-width: calc(50% - 2rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
}

/* image sizing — never distorted */
.capsule-item img {
  height: 300px;
  width: auto;
  display: block;
  margin: 0 auto;
}

/* caption below image */
.capsule-item h3 {
  margin-top: 0.5rem;
  margin-bottom: 0;
  font-weight: normal;
}

/* center single hanging item if odd count */
.capsule-item:last-child:nth-child(odd) {
  flex: 1 1 100%;
  max-width: 300px;
  margin: 0 auto;
}

/* one per row on small screens */
@media (max-width: 600px) {
  .capsule-item {
    flex: 1 1 100%;
    max-width: 100%;
  }
}