/* Homepage visual language for the five destinations exposed in the public navigation. */
body.sn-home-language-page {
  --sn-ivory: #fffaf0;
  --sn-paper-clean: #fffdf8;
  --sn-wine: #8d171d;
  --sn-wine-dark: #651015;
  --sn-home-gold: #d7a33d;
  --sn-home-ink: #3b2a23;
  --sn-home-muted: #6d5a50;
  margin: 0;
  background: var(--sn-ivory) !important;
  background-image: none !important;
  color: var(--sn-home-ink) !important;
}

body.sn-home-language-page::before,
body.sn-home-language-page::after {
  display: none !important;
  background: none !important;
}

body.sn-home-language-page > :where(.wrap, main),
body.sn-home-language-page :where(.wrap, main, section, .section, .page-shell) {
  background-image: none !important;
}

body.sn-home-language-page > :where(.wrap, main) {
  background-color: var(--sn-ivory) !important;
}

body.sn-home-language-page :where(.mission-block, .story-block, .taught-block, .missed-card, .form-card, .interest-card) {
  background-color: var(--sn-paper-clean) !important;
  background-image: none !important;
}

body.sn-home-language-page :where(.card, .course-card, .team-card, .value-card, .outcome-card,
  .included-card, .t-card, .feedback-card, .teaser-card, .interest-card, .blog-card) {
  border: 1px solid rgba(215, 163, 61, .3) !important;
  background: rgba(255, 253, 248, .97) !important;
  box-shadow: 0 20px 52px rgba(91, 46, 18, .09) !important;
}

body.sn-home-language-page :where(.card, .course-card, .team-card, .value-card, .outcome-card,
  .included-card, .t-card, .feedback-card, .teaser-card, .interest-card, .blog-card):hover {
  border-color: rgba(215, 163, 61, .7) !important;
  box-shadow: 0 28px 66px rgba(91, 46, 18, .14) !important;
}

body.sn-home-language-page :where(h1, h2, h3, .blog-card-title, .course-title) {
  color: var(--sn-wine) !important;
}

body.sn-home-language-page :where(.section-label, .eyebrow, .hero-badge, .archive-badge, .kicker) {
  color: #b96b18 !important;
}

body.sn-home-language-page :where(.cta-primary, .submit-btn, .join-submit, .primary, .btn-primary, .cta-btn) {
  border-color: var(--sn-wine) !important;
  background: var(--sn-wine) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(141, 23, 29, .22) !important;
}

body.sn-home-language-page :where(.cta-primary, .submit-btn, .join-submit, .primary, .btn-primary, .cta-btn):hover {
  background: var(--sn-wine-dark) !important;
}

/* About and Classes retain their photographic story opening, then move into clean homepage sections. */
body.sn-home-language-page.sn-cinematic-page > .wrap {
  background: var(--sn-paper-clean) !important;
}

body.sn-home-language-page.sn-cinematic-page :where(.mission-block, .story-block, .team-card, .course-card, .value-card) {
  backdrop-filter: none !important;
}

/* Distinct cinematic covers for every primary navigation destination. */
body.sn-about-page .site-banner,
body.sn-classes-page .site-banner,
body.sn-blog-index-page .site-banner {
  height: clamp(210px, 30vw, 410px) !important;
  min-height: 210px !important;
  background-color: #64151b !important;
  background-repeat: no-repeat !important;
}

body.sn-about-page .site-banner > img,
body.sn-classes-page .site-banner > img,
body.sn-blog-index-page .site-banner > img {
  opacity: 0 !important;
}

/* About: three generations learning together, with calm headline space. */
body.sn-about-page .site-banner {
  background-image:
    linear-gradient(90deg, rgba(65, 12, 17, .78) 0%, rgba(65, 12, 17, .22) 38%, rgba(65, 12, 17, .03) 72%),
    url('/images/about-generations-devotion-cover-v1.webp') !important;
  background-position: center, center 48% !important;
  background-size: cover, cover !important;
}

body.sn-about-page .site-banner::after {
  background: linear-gradient(180deg, rgba(47, 8, 12, .03), rgba(47, 8, 12, .2)) !important;
}

/* Classes: real participant portraits, composed as a lively community gallery. */
body.sn-classes-page .site-banner {
  background: #64151b !important;
}

body.sn-classes-page .sn-classes-collage {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
  padding-left: clamp(190px, 24vw, 370px);
}

body.sn-classes-page .sn-classes-collage figure {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: #7a1a20;
}

body.sn-classes-page .sn-classes-collage img {
  position: static !important;
  inset: auto !important;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 24%;
  filter: saturate(.96) contrast(1.02);
}

body.sn-classes-page .site-banner::after {
  z-index: 2;
  background:
    linear-gradient(90deg, #64151b 0%, rgba(100, 21, 27, .96) 19%, rgba(100, 21, 27, .32) 34%, transparent 57%),
    linear-gradient(180deg, transparent 55%, rgba(43, 7, 11, .34)) !important;
}

/* Blog: an original sacred library scene invites readers into stories and learning. */
body.sn-blog-index-page .site-banner {
  background-image:
    linear-gradient(90deg, rgba(65, 12, 17, .63), rgba(65, 12, 17, .02) 46%, rgba(65, 12, 17, .05)),
    url('/images/blog-family-reading-cover-v2.webp') !important;
  background-position: center, center 48% !important;
  background-size: cover, cover !important;
}

body.sn-blog-index-page .site-banner::after {
  background: linear-gradient(180deg, transparent 62%, rgba(59, 16, 12, .28)) !important;
}

body.sn-about-page :where(.mission-block, .story-block),
body.sn-classes-page :where(.enroll-form-wrap, .testimonial) {
  border: 1px solid rgba(215, 163, 61, .28) !important;
  background: linear-gradient(145deg, #fffdf8, #fff7e7) !important;
}

/* Harathi should feel like a homepage pathway expanded into a full sales page. */
body.sn-aarti-harathi-workshop-page {
  --ivory: var(--sn-ivory);
  --paper: var(--sn-paper-clean);
  --navy: var(--sn-wine);
  --navy2: var(--sn-wine-dark);
  --teal: #a76a24;
  --mist: #f8ead5;
  --gold: var(--sn-home-gold);
  --gold2: #ead8b6;
  --ink: var(--sn-home-ink);
  --muted: var(--sn-home-muted);
}

body.sn-aarti-harathi-workshop-page :where(.offer, .form-card, .category-grid) {
  border-color: rgba(215, 163, 61, .3) !important;
  background: var(--sn-paper-clean) !important;
  box-shadow: 0 20px 52px rgba(91, 46, 18, .09) !important;
}

/* Harathi: retain the approved Devi art, but let it read as a generous cover. */
body.sn-aarti-harathi-workshop-page .hero-art .arch {
  width: min(100%, 560px) !important;
  height: clamp(360px, 48vw, 560px) !important;
  border: 1px solid rgba(215, 163, 61, .52) !important;
  border-radius: 34px 34px 12px 12px !important;
  box-shadow: 0 30px 75px rgba(91, 46, 18, .2) !important;
}

body.sn-aarti-harathi-workshop-page .hero-art .arch img {
  border-radius: inherit !important;
  object-position: center 22% !important;
}

/* Blog uses the homepage's clean editorial surfaces—not a faded texture. */
body.sn-blog-index-page .blog-wrap {
  max-width: 1120px !important;
  padding-top: 72px !important;
  background: transparent !important;
}

body.sn-blog-index-page .sn-hero-brand { display: none !important; }

body.sn-blog-index-page .blog-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

body.sn-blog-index-page .blog-card {
  min-height: 245px;
  display: flex !important;
  flex-direction: column;
  padding: 34px 32px 30px !important;
}

body.sn-blog-index-page .blog-card-meta { margin-top: auto; }

/* The interest page keeps its strong wine hero and gains a clean landing surface below it. */
body.sn-waitlist-page .join-shell,
body.sn-waitlist-page .trust-strip article {
  background: var(--sn-paper-clean) !important;
}

body.sn-waitlist-page .join-layout {
  border-color: rgba(215, 163, 61, .3) !important;
  box-shadow: 0 28px 70px rgba(79, 22, 15, .14) !important;
}

/* Waitlist: Lavanya is the human invitation, with copy kept crisp on wine. */
body.sn-waitlist-page .join-hero {
  background-image:
    linear-gradient(90deg, rgba(62, 8, 16, .98) 0%, rgba(105, 18, 30, .94) 48%, rgba(105, 18, 30, .42) 72%, rgba(62, 8, 16, .18) 100%),
    url('/images/lavanya-carnatic-studio-v2.webp') !important;
  background-position: center, right 24% !important;
  background-size: cover, min(48vw, 620px) auto !important;
  background-repeat: no-repeat !important;
  text-align: left !important;
}

body.sn-waitlist-page .join-hero-inner {
  width: min(100%, 1180px) !important;
}

body.sn-waitlist-page .join-hero h1 { color: #fffaf0 !important; }
body.sn-waitlist-page .join-hero h1 em { color: #f3cd80 !important; }
body.sn-waitlist-page .join-hero .eyebrow { color: #e2ad43 !important; }

body.sn-waitlist-page .join-hero-inner > :where(.lotus-seal, p, h1, .hero-promises) {
  margin-left: 0 !important;
  margin-right: auto !important;
  max-width: 650px !important;
}

body.sn-waitlist-page .hero-promises { justify-content: flex-start !important; }

@media (max-width: 760px) {
  body.sn-about-page .site-banner,
  body.sn-classes-page .site-banner,
  body.sn-blog-index-page .site-banner {
    height: 190px !important;
    min-height: 190px !important;
  }
  body.sn-about-page .site-banner {
    height: 250px !important;
    min-height: 250px !important;
    background-image:
      linear-gradient(90deg, rgba(65, 12, 17, .5), rgba(65, 12, 17, .04)),
      url('/images/about-generations-devotion-cover-v1.webp') !important;
    background-position: center, 68% center !important;
  }
  body.sn-classes-page .site-banner {
    height: 230px !important;
    min-height: 230px !important;
  }
  body.sn-classes-page .sn-classes-collage {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-left: 0;
    gap: 3px;
  }
  body.sn-classes-page .sn-classes-collage figure:first-child { display: none; }
  body.sn-classes-page .site-banner::after {
    background:
      linear-gradient(90deg, rgba(100, 21, 27, .34), transparent 58%),
      linear-gradient(180deg, transparent 48%, rgba(43, 7, 11, .42)) !important;
  }
  body.sn-blog-index-page .site-banner {
    height: 230px !important;
    min-height: 230px !important;
    background-position: center, 72% center !important;
  }
  body.sn-aarti-harathi-workshop-page .hero-art .arch {
    width: min(92vw, 470px) !important;
    height: min(118vw, 520px) !important;
  }
  body.sn-waitlist-page .join-hero {
    min-height: 430px !important;
    background-image:
      linear-gradient(180deg, rgba(62, 8, 16, .7), rgba(62, 8, 16, .98) 78%),
      url('/images/lavanya-carnatic-studio-v2.webp') !important;
    background-position: center, center 22% !important;
    background-size: cover, cover !important;
    text-align: center !important;
  }
  body.sn-waitlist-page .join-hero-inner > :where(.lotus-seal, p, h1, .hero-promises) {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body.sn-waitlist-page .hero-promises { justify-content: center !important; }
  body.sn-blog-index-page .blog-wrap { padding-top: 52px !important; }
  body.sn-blog-index-page .blog-grid { grid-template-columns: 1fr !important; }
  body.sn-blog-index-page .blog-card { min-height: 0; padding: 28px 24px !important; }
}
