/* ---------- Google font ---------- */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&display=swap');

/* ---------- Root variables ---------- */
:root {
  --gold: #c89641;     /* divider colour */
  --nav-height: 80px;  /* fixed-navbar height */
}

/* ---------- Global reset ---------- */
* { box-sizing: border-box; }

html,
body {
  margin: 0;
  padding: 0;
  background: #000;          /* solid black backdrop */
  font-family: Arial, sans-serif;
  color: #fff;
  scroll-behavior: smooth;
  line-height: 1;            /* removes stray 1-px gaps */
}

a { color: #fff; text-decoration: none; }

/* ---------- Navbar ---------- */
.navbar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--nav-height);
  background: #000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  z-index: 1000;
}

.menu-toggle {
  background: none;
  border: none;
  color: #fff;
  font-size: 1.8em;
  cursor: pointer;
  line-height: 1;
}

.nav-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;        /* visible by default on desktop */
  flex-direction: row;
}

.nav-menu li      { margin: 0 20px; }

/* Hide hamburger on desktop */
.menu-toggle { display: none; }

.nav-menu a {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  transition: opacity 0.3s ease;
}

.nav-menu a:hover { opacity: 0.8; }

/* ---------- Sections ---------- */
.section {
  position: relative;
  margin: 0;
  line-height: 0;                 /* kills inline-block gaps */
  text-align: center;
  background: #000;
  scroll-margin-top: calc(var(--nav-height) + 20px);
  padding-bottom: 50px;           /* 30-px wave + 20-px buffer */
}

/* Extra top padding so page-1 isn’t clipped by navbar */
.section.first {
  padding-top: calc(var(--nav-height) + 40px);
}

.section img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}

/* ---------- 30-px GOLD WAVE divider (edges ↑30 px, centre ↓0 px) ---------- */
.section::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 20px;                   /* 20 px breathing room below image */
  width: 100%;
  height: 30px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 30' preserveAspectRatio='none'%3E%3Cpath d='M0 0 C360 0 360 30 720 30 C1080 30 1080 0 1440 0 V30 H0 Z' fill='%23c89641'/%3E%3C/svg%3E")
              center bottom / 100% 100% no-repeat;
}

/* Extra space after the last page so its wave is fully visible */
.section:last-of-type {
  padding-bottom: 80px;           /* 50 base + 30 wave */
}

/* ---------- Videos section ---------- */
.videos-section {
  line-height: 1.4;
  padding: 60px 20px 80px;
}

.videos-inner {
  max-width: 600px;
  margin: 0 auto;
}

.videos-title {
  font-family: 'Playfair Display', serif;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  margin: 0 0 8px;
}

.videos-flourish {
  width: 80px;
  height: 16px;
  margin: 0 auto 32px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 16'%3E%3Cpath d='M5 8 C20 2, 30 14, 40 8 C50 2, 60 14, 75 8' stroke='%23c89641' stroke-width='2' fill='none'/%3E%3C/svg%3E")
              center / contain no-repeat;
}

.videos-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Playfair Display', serif;
}

.videos-table thead th {
  color: var(--gold);
  font-size: 1.2rem;
  font-weight: 700;
  font-style: italic;
  padding: 12px 8px;
  text-align: center;
}

.videos-table tbody td {
  padding: 14px 8px;
  text-align: center;
  font-size: 1.1rem;
  font-style: italic;
  border-bottom: 2px dotted var(--gold);
}

.videos-table tbody tr:last-child td {
  border-bottom: none;
}

.videos-table tbody td a {
  color: var(--gold);
  font-style: normal;
  font-weight: 700;
  transition: opacity 0.3s ease;
}

.videos-table tbody td a:hover {
  opacity: 0.75;
}

/* ---------- Mobile styles ---------- */
@media screen and (max-width: 768px) {
  .nav-menu {
    display: none;        /* hidden until toggled on mobile */
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #000;
    flex-direction: column;
  }
  .nav-menu.active { display: flex; }
  .nav-menu li { margin: 10px 0; text-align: center; }
  .menu-toggle { display: block; }
}
