.photo-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 32px;            /* ← MORE SPACE BETWEEN COLUMNS */
  margin-top: 20px;
}

.photo-grid figure {
  width: 300px;
  margin: 0;
  text-align: center;  /* captions centered */
  border: 2px solid lightgrey;    /* ← PLUM FRAME */
  padding: 8px;              /* space between image and frame */
  border-radius: 10px;       /* optional rounded corners */
  background: #fff;          /* makes frame cleaner */
}

.photo-grid img {
  width: 100%;
  height: auto;
  border-radius: 6px;
}

.photo-grid figcaption {
  margin-top: 8px;
  font-size: 14px;
  color: #444;
}

/* Center title, author, and date */
.title,
.author,
.date {
  text-align: center;
}

/* Author: slightly larger than before, still smaller than title */
.author {
  font-size: 1.45rem;
}

/* Subtle styling for date */
.date {
  font-style: italic;
  margin-top: 0.25rem;
}

/* Centered oval photo on homepage */
.hero-photo {
  text-align: center;
  margin: 3rem 0;
}

.hero-photo img {
  max-width: 260px;          /* adjust size as desired */
  width: 100%;
  height: auto;
  
  border-radius: 50% / 50%; /* oval shape */
  border: 4px solid #8E4585;
  
  box-shadow: 0 6px 14px rgba(0,0,0,0.15);
}

/* Left-justify TOC heading and entire list */
#TOC > h2,
#TOC ul,
#TOC li {
  text-align: left;
}

/* Restore normal indentation for good hierarchy */
#TOC ul {
  padding-left: 1.2rem;
  list-style-position: outside;
}

/* Ensure paragraphs are fully left-aligned with no hanging indent */
p {
  margin-left: 0;
  text-indent: 0;
  padding-left: 0;
}

ul, ol {
  padding-left: 1.2rem; /* optional consistent indentation */
  margin-left: 0;       /* remove extra left margin */
}

li {
  text-indent: 0;       /* no hanging indent for multi-line items */
}

/* Style the TOC container */
#TOC {
  border: 3px solid #8E4585; /* change thickness (3px) and color (#556B2F) */
  padding: 1rem;              /* optional: adds space between border and content */
  border-radius: 8px;         /* optional: rounded corners */
}

.rect-photo {
  display: flex;
  justify-content: center;  /* horizontal centering */
}

.rect-photo img {
  width: 250px;        /* change this value to any size you want */
  height: auto;       /* keeps proportions */
  border-radius: 0;
  border: 3px solid #8E4585;
  display: block;
}

h3 {
  text-align: center;
}

.award-photo img {
  border: 4px solid #8E4585;   /* plum-colored border */
  border-radius: 0;        /* keeps rectangular shape */
  display: block;
  margin: 0 auto;          /* centers the pictures */
}

.main-title {
  text-align: center;
  font-size: 2rem;     /* larger title */
  margin-bottom: 5px;
}

.sub-title {
  text-align: center;
  font-size: 0.95rem; /* smaller subtitle */
  margin-top: 0;
  color: #555;
}

.banner {
  width: 100%;
  height: 400px;
  object-fit: cover;
  display: block;
  margin-bottom: 20px;
  border-radius: 0;
}

.tribute-photo img {
  border: 4px solid #8E4585;   /* plum-colored border */
  border-radius: 0;        /* keeps rectangular shape */
  display: block;
  margin: 0 auto;          /* centers the pictures */
}

.tribute-photo img:not(:last-child) {
  border-bottom: 1px solid #ccc;
  padding-bottom: 10px;
}

.tribute-box {
  border: 4px solid #8E4585;   /* plum border */
  padding: 20px;
  max-width: 900px;
  margin: 0 auto;
}

/* Centered heading section */
.tribute-header {
  text-align: center;
  margin-bottom: 25px;
}

.tribute-header h3 {
  margin-bottom: 10px;
}

/* Body text remains readable */
.tribute-body {
  text-align: left;
}

.tribute-header {
  border-bottom: 1px solid #ccc;
  padding-bottom: 15px;
}

