html { scroll-behavior: smooth; }
  body { background-color: #FBF6EA; }

  ::selection { background: #C79A45; color: #FBF6EA; }

  /* ---------- Paisley border strip (signature motif, echoes the logo) ---------- */
  .paisley-strip {
    height: 22px;
    width: 100%;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='64'%20height='22'%20viewBox='0%200%2064%2022'%3E%3Cpath%20d='M6%2020c8-2%208-16%2016-16s6%2012%2014%2012%208-14%2016-14%206%2016%2014%2016'%20fill='none'%20stroke='%23B15A2E'%20stroke-width='1.4'%20stroke-linecap='round'/%3E%3Ccircle%20cx='6'%20cy='20'%20r='1.6'%20fill='%23C79A45'/%3E%3Ccircle%20cx='58'%20cy='18'%20r='1.6'%20fill='%23C79A45'/%3E%3C/svg%3E");
    background-repeat: repeat-x;
    background-size: 64px 22px;
    opacity: .55;
  }
  .paisley-strip.flip { transform: scaleY(-1); }

  /* ---------- Zigzag divider ---------- */
  .zigzag-divider {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 16px;
    background-repeat: repeat-x;
    background-position: bottom;
    z-index: 20;
  }
  .zigzag-to-paper {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='16' viewBox='0 0 24 16'%3E%3Cpolygon points='0,16 12,0 24,16' fill='%23FBF6EA'/%3E%3C/svg%3E");
  }
  .zigzag-to-cream {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='16' viewBox='0 0 24 16'%3E%3Cpolygon points='0,16 12,0 24,16' fill='%23ECE2CA'/%3E%3C/svg%3E");
  }
  .zigzag-to-ink {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='16' viewBox='0 0 24 16'%3E%3Cpolygon points='0,16 12,0 24,16' fill='%232C1E16'/%3E%3C/svg%3E");
  }

  /* ---------- Header ---------- */
  #site-header { transition: padding .35s ease, box-shadow .35s ease, background-color .35s ease; }
  #site-header.scrolled { box-shadow: 0 6px 24px -12px rgba(46,25,18,.35); }

  .nav-link { position: relative; }
  .nav-link::after {
    content: '';
    position: absolute; left: 0; bottom: -6px;
    width: 0%; height: 1.5px; background: #C79A45;
    transition: width .35s ease;
  }
  .nav-link:hover::after { width: 100%; }

  /* ---------- Hero slider ---------- */
 /* ================= HERO SLIDER ================= */

.slide {
  pointer-events: none;
}

.slide.active {
  pointer-events: auto;
}

.slide-img {
  transform: scale(1.03);
  transition: transform 7s ease;
}

.slide.active .slide-img {
  transform: scale(1);
}


/* ================= MOBILE IMAGE POSITION ================= */

@media (max-width: 640px) {

  .slide-img {
    background-position: 65% center;
  }

}


/* ================= TABLET ================= */

@media (min-width: 641px) and (max-width: 1024px) {

  .slide-img {
    background-position: 65% center;
  }

}


/* ================= DESKTOP ================= */

@media (min-width: 1025px) {

  .slide-img {
    background-position: center center;
  }

}

  /* ---------- Reveal on scroll ---------- */
  .reveal { opacity: 0; transform: translateY(28px); transition: opacity .9s ease, transform .9s ease; }
  .reveal.in { opacity: 1; transform: translateY(0); }
  .reveal-delay-1 { transition-delay: .12s; }
  .reveal-delay-2 { transition-delay: .24s; }
  .reveal-delay-3 { transition-delay: .36s; }

  /* ---------- Ring motif ---------- */
  .ring-frame { position: relative; }
  .ring-frame::before {
    content: '';
    position: absolute; inset: -18px;
    border: 1.5px solid #C79A45;
    border-radius: 9999px;
    opacity: .55;
  }
  .ring-frame::after {
    content: '';
    position: absolute; inset: -34px;
    border: 1px dashed #B15A2E;
    border-radius: 9999px;
    opacity: .35;
    animation: spin-slow 60s linear infinite;
  }
  @keyframes spin-slow { to { transform: rotate(360deg); } }

  .course-card { transition: transform .45s ease, box-shadow .45s ease, border-color .45s ease; }
  .course-card:hover { transform: translateY(-8px); box-shadow: 0 24px 45px -22px rgba(94,15,26,.45); border-color: #C79A45; }

  .btn-shine { position: relative; overflow: hidden; }
  .btn-shine::after {
    content: ''; position: absolute; top: 0; left: -60%;
    width: 40%; height: 100%;
    background: linear-gradient(115deg, transparent, rgba(255,255,255,.35), transparent);
    transform: skewX(-20deg);
    transition: left .7s ease;
  }
  .btn-shine:hover::after { left: 130%; }

  #mobile-menu { transition: max-height .45s ease, opacity .3s ease; }

  input, textarea { background-color: #FBF6EA; }
  input:focus, textarea:focus { outline: none; box-shadow: 0 0 0 2px #C79A45; }

  @media (prefers-reduced-motion: reduce) {
    * { animation: none !important; transition: none !important; }
  }

  .aalap-course-card {
    opacity: 0;
    transform: translateY(35px);
  }

  .aalap-course-card.aalap-visible {
    opacity: 1;
    transform: translateY(0);
    transition:
      opacity 0.8s ease,
      transform 0.8s cubic-bezier(.22,1,.36,1),
      box-shadow 0.5s ease,
      border-color 0.5s ease;
  }

  .aalap-course-card:nth-child(1) {
    transition-delay: 0.05s;
  }

  .aalap-course-card:nth-child(2) {
    transition-delay: 0.15s;
  }

  .aalap-course-card:nth-child(3) {
    transition-delay: 0.25s;
  }

  .aalap-course-card:nth-child(4) {
    transition-delay: 0.35s;
  }

  @media (max-width: 767px) {

    .aalap-course-card {
      transform: translateY(25px);
    }

    .aalap-course-card:nth-child(n) {
      transition-delay: 0s;
    }

  }

  @media (prefers-reduced-motion: reduce) {

    .aalap-course-card {
      opacity: 1;
      transform: none;
      transition: none;
    }

  }  

  #course-cta .relative.z-10 {
    opacity: 0;
    transform: translateY(35px);
    transition:
      opacity 0.9s ease,
      transform 0.9s cubic-bezier(.22, 1, .36, 1);
  }

  #course-cta.cta-visible .relative.z-10 {
    opacity: 1;
    transform: translateY(0);
  }

  @media (prefers-reduced-motion: reduce) {

    #course-cta .relative.z-10 {
      opacity: 1;
      transform: none;
      transition: none;
    }

  }  