:root {
  --color-diep-white: #F4F0E6;
  --color-charcoal-black: #1C1D1F;
  --color-thien-thai-red: #B13E31;
  --color-sophora-yellow: #E9B885;
  --color-indigo-green: #2C4D43;

  --font-heading: 'Georgia', 'Times New Roman', serif;
  --font-body: 'Arial', 'Helvetica', sans-serif;
}

body {
  background-color: var(--color-diep-white);
  color: var(--color-charcoal-black);
  font-family: var(--font-body);
  font-weight: normal;
  line-height: 1.6;
  margin: 0;
  padding: 0;
}

.section-padding {
  padding: 60px 20px;
}

.container {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

h1, h2, h3 {
  font-family: var(--font-heading);
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: 0;
}

.notice-banner {
  background-color: var(--color-sophora-yellow);
  color: var(--color-charcoal-black);
  font-weight: bold;
  text-align: center;
  padding: 12px;
  font-size: 14px;
  letter-spacing: 1px;
}

h1.school-title {
  font-size: 42px;
  margin: 0 0 15px 0;
}

p.hero-description {
  font-size: 18px;
  max-width: 650px;
  margin: 0 auto 40px auto;
}

.schedule-table {
  width: 100%;
  border-collapse: collapse;
  margin: 30px 0;
  font-size: 16px;
}

.schedule-table th {
  background-color: var(--color-indigo-green);
  color: var(--color-diep-white);
  font-family: var(--font-heading);
  padding: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.schedule-table td {
  padding: 14px;
  border-bottom: 1px solid rgba(28, 29, 31, 0.15);
  background-color: rgba(255, 255, 255, 0.3);
}

.student-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 25px;
  margin-top: 40px;
}

.student-card {
  background-color: rgba(255, 255, 255, 0.5);
  border-top: 4px solid var(--color-thien-thai-red);
  padding: 25px;
  text-align: left;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.archetype-title {
  font-family: var(--font-heading);
  font-weight: bold;
  font-size: 18px;
  text-transform: uppercase;
  color: var(--color-thien-thai-red);
  margin-bottom: 5px;
}

.archetype-subtitle {
  font-weight: bold;
  font-size: 13px;
  text-transform: uppercase;
  color: var(--color-indigo-green);
  letter-spacing: 0.5px;
  margin-bottom: 15px;
}

.archetype-text {
  font-size: 15px;
  color: var(--color-charcoal-black);
  margin: 0;
}

.hero-watermark-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  max-width: 900px;
  margin: 0 auto;
  padding: 80px 20px;
  overflow: hidden;
}

.art-watermark {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  pointer-events: none;
  z-index: 0;
  align-self: center;
  justify-self: center;
}

.art-watermark img {
  width: 100%;
  height: auto;
  mix-blend-mode: multiply;
  opacity: 0.15;
}

.hero-container {
  grid-column: 1;
  grid-row: 1;
  z-index: 1;
  text-align: center;
  margin: 0 auto;
  align-self: center;
}

.instructor-name {
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 20px;
  color: var(--color-thien-thai-red);
  letter-spacing: 1px;
}

.instructor-bio {
  font-size: 15px;
  max-width: 900px;
  margin: 0 auto 1.25rem auto;
  line-height: 1.6;
  color: var(--color-charcoal-black);
  opacity: 0.9;
  text-align: left;
}

.site-footer {
  background-color: transparent;
  color: var(--color-charcoal-black);
  max-width: 900px;
  margin: 0 auto 40px auto;
  padding: 10px 20px;
  text-align: center;
  font-size: 13px;
  letter-spacing: 0.5px;
  opacity: 0.7;
  clear: both; 
}

.hero-container {
  text-align: center;
  padding: 20px;
}

.hero-branding {
  max-width: 250px;
  margin: 20px auto;
}

.wing-chun-text {
  width: 100%;
  height: auto;
  display: block;

  mix-blend-mode: multiply; 
}
