/* --- CSS Variables: Palette --- */
:root
{
	--primary-color: #664033;
	/* brown rust */
	--accent-color: #ffb535;
	/* Golden harvest orange */
	--bg-color: #1b1919;
	/* Soft parchment / pale birch bark */
	--text-color: #3B2A25;
	/* Dark bark brown */
}

/* --- Base Styles --- */
body
{
	font-family: 'Lora', serif;
	line-height: 1.6;
	color: var(--text-color);
	background-color: var(--bg-color);
	margin: 0;
	padding: 0;
	overflow-x: hidden;
}


/* --- Navigation --- */
.site-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 18px 20px 8px 20px;
  font-size: 1.15rem;
  background-color: var(--bg-color);
}

.site-nav a {
  color: #c7a365;
  text-decoration: none;
  font-weight: 500;
}

.site-nav a:hover,
.site-nav a:focus-visible {
  color: #cb6728;
  text-decoration: underline wavy 1px;
}

/* --- Sound Control Above Video --- */
.sound-control-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 0 16px 0;
  background-color: var(--bg-color);
}

.sound-toggle-btn {
  background: rgba(27, 25, 25, 0.9);
  color: var(--accent-color);
  border: 1px solid var(--accent-color);
  padding: 6px 18px;
  font-family: 'Cinzel', serif;
  font-size: 0.85rem;
  letter-spacing: 1px;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.3s ease, color 0.3s ease;
}

.sound-toggle-btn:hover {
  background: var(--accent-color);
  color: #1b1919;
}

/* --- Centered Video Hero Box (Diagram Top Box) --- */
.hero-video-section {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 20px;
  background-color: var(--bg-color);
}

.video-frame {
  width: 100%;
  max-width: 900px; /* Scaled cleanly for browser viewports; matches diagram square */
  aspect-ratio: 1 / 1;
  background-color: #6d5b45; /* Matches diagram placeholder color */
  overflow: hidden;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.45);
}

.mole-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* --- Gallery Title / Divider Banner (Diagram Mid-Block) --- */
.gallery-banner {
  max-width: 500px;
  margin: 34px auto 44px auto;
  padding: 12px 24px;
  background-color: #6d5b45; /* Olive-tan shade from template */
  text-align: center;
}

.gallery-banner h2 {
  font-family: 'Cinzel', serif;
  font-size: 1.6rem;
  letter-spacing: 2px;
  margin: 0;
  color: #f5ede2;
  text-transform: uppercase;
}

/* --- Character Gallery (2-Column Diagram Layout) --- */
.character-gallery-section {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px 80px 20px;
  background-color: var(--bg-color);
}

.character-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 80px; /* Spaced center channel from diagram */
  row-gap: 50px;
}

.character-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Square Character Art Frame */
.character-image-box {
  width: 100%;
  aspect-ratio: 1 / 1;
  background-color: #6d5b45; /* Diagram placeholder tone */
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.character-card:hover .character-image-box {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.45);
}

.character-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Caption Block Under Each Square */
.character-caption {
  padding: 16px 8px 0 8px;
}

.character-caption h3 {
  font-family: 'Cinzel', serif;
  font-size: 1.4rem;
  letter-spacing: 1px;
  color: var(--accent-color);
  margin: 0 0 8px 0;
}

.character-caption p {
  font-family: 'Lora', serif;
  font-size: 0.95rem;
  line-height: 1.5;
  color: #dfd3c3;
  margin: 0;
}

/* --- Responsive Stacking --- */
@media (max-width: 768px) {
  .character-grid {
    grid-template-columns: 1fr;
    row-gap: 40px;
    max-width: 420px;
    margin: 0 auto;
  }

  .gallery-banner {
    max-width: 80%;
  }
} /* <--- Added the missing closing bracket here */

/* --- Centered Site Footer --- */
.site-footer {
  width: 100%;
  background-color: #121110;
  padding: 40px 20px;
  box-sizing: border-box;
}

.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.footer-inner p {
  margin: 0;
  text-align: center;
  font-family: sans-serif;
  font-size: 0.9rem;
  color: #888;
}