/* static/css/index.css */
/* ---------- HERO ---------- */
.hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 85vh;
  padding-block: 6rem;
  color: #fff;
}
@media (min-width: 768px) {
  .hero { min-height: 100vh; padding-block: 8rem; }
}
.hero__video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.hero__overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,.5);
}
.hero__inner {
  position: relative;
  max-width: 80rem;
  width: 100%;
  padding-inline: 1rem;
  text-align: center;
}
.hero__logo { 
  max-width: 80%;
  margin-inline: auto; 
}
.hero__blurb h2 {
  font-size: 1.875rem; 
  font-weight: 600; 
  margin-block: .5rem 1rem;
}
.hero__blurb p  { margin-bottom: 1.5rem; }

/* ---------- WHY ---------- */
.why {
  padding-block: 4rem 6rem;
  text-align: center;
}
.why h2 {
  font-size: 1.875rem; 
  max-width: 60rem; 
  margin-inline: auto; 
  font-weight: 600;
 }
@media (min-width: 640px){ .why h2 { font-size: 2.25rem; } }
.why__grid {
  display: grid;
  gap: 1rem;
  margin-top: 3rem;
  grid-template-columns: repeat(auto-fit, minmax(13rem,1fr));
}
.why__item svg {
  width: 3rem;
  height: 3rem;
  color: #d4af37;
  display: block;
  margin: 0 auto;
}
.why__item p {
  margin-top: 1rem;
  font-weight: 500;
  line-height: 1.35;
  text-align: center;
}

/* ---------- TESTIMONIALS ---------- */
.testimonials {
  background:#E24767;
  color:#fff;
  padding-block:4rem 6rem;
  text-align:center;
  margin-inline: auto;
  padding-inline: 0.5rem;
}
.testimonials h2 {
  font-size:1.875rem;
  font-weight:600;
  margin-bottom:2.5rem;
}

/* slide container */
.glide--testimonials .glide__slide {
  flex: 0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2rem;
}

.glide--testimonials img {
  width:100%;
  max-width:20rem;
  border-radius:1rem;
  object-fit:cover;
  box-shadow:0 4px 10px rgba(0,0,0,.2);
}

blockquote {
  max-width:36rem;
  font-style:italic;
  font-weight:300;
}
blockquote p {
  font-size:1.125rem;
  line-height:1.6;
}
blockquote footer {
  margin-top:1rem;
  font-weight:600;
}

.glide--testimonials .glide__slide:not(:last-child) {
  margin-right:2rem;
}

/* ---------- LESSONS ---------- */
.lessons {
  max-width: 70rem;
  margin-inline:auto;
  padding-block: 5rem;
  padding-inline: 1rem;
  text-align: center; 
}
.lessons h2 { 
  font-size:1.875rem; 
  font-family: var(--font-serif); 
}
.lessons p { 
  margin-top:.5rem; 
  color:#4b5563; 
}

.lessons__carousel { 
  composes: carousel;
  margin-top: 3rem; 
}
.lessons__carousel img { 
  width:100%; height:13rem; 
  object-fit:cover; 
  border-radius:.75rem; 
  box-shadow:0 4px 8px rgba(0,0,0,.12);
  transition:transform .3s; 
}
.lessons__carousel a:hover img { transform:translateY(-.25rem); }
.lessons__carousel h3 { margin-top:.75rem; font-weight:600; font-size:1rem; }
.lessons__arrows { display:none; }
@media (min-width:640px){ .lessons__arrows { display:flex; justify-content:space-between; margin-top:1.5rem; } }
.lessons__arrows button { padding:.5rem .75rem; border-radius:9999px; background:rgba(0,0,0,.4); color:#fff; }

/* ---------- PROGRAM SPLIT ---------- */
.programs { display:grid; gap:3rem; max-width:80rem; padding-block:5rem; margin-inline:auto; padding-inline:1rem; }
@media (min-width:768px){ .programs { grid-template-columns:repeat(2,1fr);} }
.programs__card { text-align:center; padding:2rem; border:1px solid #e5e7eb; border-radius:.5rem; }
.programs__card--alt { background:#f5f5f5; }
.programs__card h3 { font-size:1.5rem; font-family:var(--font-serif); margin-bottom:1rem; }
.programs__card p { margin-bottom:1.5rem; }

/* ---------- SMALL UTILITIES ---------- */
[data-animate="fade-up"]{ opacity:0; transform:translateY(2rem); transition:opacity .6s ease, transform .6s ease; }
[data-animate].is-visible{ opacity:1; transform:none; }