/* ═══════════════════════════════════════════════════════════
   SANSEED V6 — Shared Style Enhancements
   Added on top of inline CSS in each page
═══════════════════════════════════════════════════════════ */

/* ── HERO SECTION (V6 pattern) ─────────────────────────── */
.v6-hero {
  position: relative;
  min-height: 80vh;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: clamp(6rem, 14vh, 10rem) 0 clamp(4rem, 10vh, 7rem);
  overflow: hidden;
  isolation: isolate;
}
.v6-hero-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
}
.v6-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.05);
  transition: transform 8s ease;
}
.v6-hero.loaded .v6-hero-bg img {
  transform: scale(1);
}
.v6-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    /* Vignette darkens edges, lightens center */
    radial-gradient(ellipse at 30% 60%, rgba(28, 28, 28, 0.20) 0%, rgba(28, 28, 28, 0.62) 100%),
    /* Bottom shade ensures bottom text always readable */
    linear-gradient(180deg, rgba(28, 28, 28, 0.10) 0%, rgba(28, 28, 28, 0.45) 60%, rgba(28, 28, 28, 0.78) 100%);
}
.v6-hero-content {
  position: relative;
  z-index: 1;
  color: #fff;
  max-width: 760px;
}
.v6-hero-eyebrow {
  font-family: var(--sans);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 1.4rem;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.v6-hero-eyebrow::before {
  content: '';
  width: 32px;
  height: 1px;
  background: var(--coral-l);
}
.v6-hero h1 {
  font-family: var(--serif);
  font-size: clamp(2.6rem, 6.5vw, 5rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.015em;
  margin-bottom: 1.3rem;
  color: #fff;
}
.v6-hero h1 em {
  font-style: italic;
  color: var(--coral-l);
}
.v6-hero-sub {
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  font-weight: 300;
  color: rgba(255, 255, 255, 0.92);
  margin-bottom: 2.2rem;
  max-width: 600px;
  line-height: 1.6;
}
.v6-hero-actions {
  display: flex;
  gap: 0.9rem;
  flex-wrap: wrap;
}
.v6-hero-actions .btn {
  padding: 0.95rem 2.2rem;
  font-size: 0.78rem;
}
.v6-hero-scroll {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  color: rgba(255, 255, 255, 0.7);
  font-family: var(--sans);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  animation: scrollHint 2.4s ease-in-out infinite;
}
.v6-hero-scroll::after {
  content: '';
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.5);
}
@keyframes scrollHint {
  0%, 100% { opacity: 0.6; transform: translate(-50%, 0); }
  50% { opacity: 1; transform: translate(-50%, 6px); }
}

/* HERO VARIATIONS */
.v6-hero.short { min-height: 60vh; }
.v6-hero.medium { min-height: 70vh; }
.v6-hero.tall { min-height: 90vh; }

/* HERO with right-aligned content (alternative layout) */
.v6-hero.right .v6-hero-content { margin-left: auto; }

/* HERO with light gradient (for darker images, text needs less contrast) */
.v6-hero.light .v6-hero-overlay {
  background: linear-gradient(180deg, rgba(28, 28, 28, 0.05) 0%, rgba(28, 28, 28, 0.18) 50%, rgba(28, 28, 28, 0.42) 100%);
}

/* ── SUB-BRAND CHIP / WORDMARK ─────────────────────────── */
.subbrand-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.32rem 0.85rem;
  border-radius: 100px;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(8px);
  color: #fff;
}
.subbrand-chip.fitness { background: rgba(232, 99, 90, 0.92); border-color: rgba(232, 99, 90, 0.92); color: #fff; }
.subbrand-chip.mind { background: rgba(139, 107, 174, 0.92); border-color: rgba(139, 107, 174, 0.92); color: #fff; }
.subbrand-chip.events { background: rgba(42, 124, 184, 0.92); border-color: rgba(42, 124, 184, 0.92); color: #fff; }

/* ── SUB-BRAND LOGO WATERMARK (top-right of vertical pages) ── */
.subbrand-watermark {
  position: absolute;
  top: clamp(5.5rem, 10vh, 7rem);
  right: clamp(1.2rem, 3vw, 2rem);
  width: clamp(85px, 12vw, 130px);
  height: auto;
  opacity: 0.78;
  pointer-events: none;
  z-index: 3;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.15));
  animation: subBrandIn 1s cubic-bezier(0.2, 0.8, 0.2, 1) 0.5s both;
}
@keyframes subBrandIn {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 0.78; transform: translateY(0); }
}
@media (max-width: 640px) {
  .subbrand-watermark {
    top: 5rem;
    right: 1rem;
    width: 75px;
  }
}

/* ── PHOTO CARDS (used across many pages) ──────────────── */
.photo-card {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 4/5;
  cursor: pointer;
  transition: transform 0.5s ease, box-shadow 0.5s ease;
}
.photo-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.photo-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12); }
.photo-card:hover img { transform: scale(1.04); }
.photo-card-caption {
  position: absolute;
  inset: auto 0 0 0;
  padding: 1.2rem 1rem 1rem;
  background: linear-gradient(180deg, transparent 0%, rgba(28, 28, 28, 0.78) 100%);
  color: #fff;
  font-family: var(--serif);
  font-style: italic;
  font-size: 0.95rem;
  letter-spacing: -0.01em;
}

/* ── EVENT CARD (for event history timeline) ───────────── */
.event-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--border);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  display: flex;
  flex-direction: column;
}
.event-card:hover { transform: translateY(-4px); box-shadow: 0 14px 36px rgba(28, 28, 28, 0.08); }
.event-card-image {
  aspect-ratio: 16/10;
  overflow: hidden;
  position: relative;
}
.event-card-image img { width: 100%; height: 100%; object-fit: cover; }
.event-card-type {
  position: absolute;
  top: 1rem;
  left: 1rem;
  padding: 0.3rem 0.8rem;
  background: rgba(255, 255, 255, 0.96);
  border-radius: 100px;
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--dark);
}
.event-card-body {
  padding: 1.4rem 1.5rem 1.6rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.event-card-date {
  font-family: var(--sans);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--coral);
  margin-bottom: 0.5rem;
}
.event-card-title {
  font-family: var(--serif);
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--dark);
  margin-bottom: 0.45rem;
  line-height: 1.2;
}
.event-card-venue {
  font-size: 0.82rem;
  color: var(--muted);
  margin-bottom: 0.9rem;
}
.event-card-summary {
  font-size: 0.92rem;
  line-height: 1.65;
  color: var(--body);
  flex: 1;
}

/* ── TESTIMONIAL VIDEO CARDS ───────────────────────────── */
.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.6rem;
}
.testimonial-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--border);
  transition: transform 0.4s ease;
}
.testimonial-card:hover { transform: translateY(-3px); }
.testimonial-video {
  aspect-ratio: 9/16;
  background: var(--cream2);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  overflow: hidden;
}
.testimonial-video video,
.testimonial-video iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.testimonial-video-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--purple-p) 0%, var(--coral-p) 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  color: var(--muted);
}
.testimonial-video-placeholder::before {
  content: '▷';
  font-size: 3rem;
  color: var(--coral);
  margin-bottom: 1rem;
  opacity: 0.7;
}
.testimonial-body {
  padding: 1.4rem 1.5rem;
}
.testimonial-quote {
  font-family: var(--serif);
  font-style: italic;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--dark);
  margin-bottom: 1rem;
}
.testimonial-quote::before {
  content: '"';
  font-size: 1.4rem;
  color: var(--coral);
  vertical-align: -0.2em;
  margin-right: 0.1em;
}
.testimonial-attribution {
  font-size: 0.78rem;
  color: var(--muted);
  letter-spacing: 0.04em;
}
.testimonial-attribution strong {
  color: var(--dark);
  font-weight: 600;
}

/* ── WHATSAPP FLOATING BUTTON ──────────────────────────── */
/* Layout: Chat FAB is at bottom:90px right:22px (from chat-widget.js).
   WhatsApp button stacks BELOW chat, same right edge.
   Result: Chat on top, WA below — both visible, no overlap. */
.wa-fab {
  position: fixed;
  bottom: 22px;
  right: 22px;
  z-index: 998;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25D366;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Single soft green glow — no harsh black shadow */
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.32);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
  text-decoration: none;
}
.wa-fab:hover {
  transform: translateY(-3px) scale(1.06);
  box-shadow: 0 12px 32px rgba(37, 211, 102, 0.45);
}
.wa-fab svg {
  width: 28px;
  height: 28px;
  fill: #fff;
}
@media (max-width: 768px) {
  .wa-fab {
    width: 50px;
    height: 50px;
    bottom: 16px;
    right: 16px;
  }
  .wa-fab svg { width: 24px; height: 24px; }
}

/* ── COACHING PILLAR SECTIONS (Career / Relationship / Health / Business) ── */
.pillar-section {
  scroll-margin-top: 100px;
  padding: clamp(3rem, 7vh, 5rem) 0;
  border-bottom: 1px solid var(--border);
}
.pillar-section:last-child { border-bottom: none; }
.pillar-section-grid {
  display: grid;
  grid-template-columns: 0.7fr 0.7fr 1.1fr;
  gap: clamp(1.4rem, 3.5vw, 3rem);
  align-items: center;
}
@media (max-width: 980px) {
  .pillar-section-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
  .pillar-image { grid-column: 1 / -1; max-width: 480px; margin: 0 auto; }
}
@media (max-width: 640px) {
  .pillar-section-grid { grid-template-columns: 1fr; }
}
.pillar-image-frame {
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 4/5;
  position: relative;
  box-shadow: 0 16px 40px rgba(28, 28, 28, 0.08);
  transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.6s ease;
}
.pillar-image-frame::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(28, 28, 28, 0.18) 100%);
  pointer-events: none;
}
.pillar-image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 8s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.pillar-section:hover .pillar-image-frame {
  transform: translateY(-4px);
  box-shadow: 0 22px 50px rgba(28, 28, 28, 0.12);
}
.pillar-section.in-view .pillar-image-frame img,
.pillar-image.in .pillar-image-frame img {
  transform: scale(1.05);
}
.pillar-eyebrow {
  font-size: 0.7rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--coral);
  font-weight: 500;
  margin-bottom: 0.8rem;
}
.pillar-title {
  font-family: var(--serif);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 400;
  line-height: 1.1;
  color: var(--dark);
  margin-bottom: 1rem;
}
.pillar-section.alt .pillar-section-grid {
  grid-template-columns: 1.1fr 0.7fr 0.7fr;
}
.pillar-section.alt .pillar-image { order: 3; }

/* ── SECTION TRANSITION LINKS / IN-PAGE NAV ───────────── */
.in-page-nav {
  position: sticky;
  top: 70px;
  background: rgba(253, 250, 246, 0.98);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
  padding: 0.7rem 0;
  z-index: 50;
  margin-bottom: 2rem;
}
.in-page-nav-inner {
  display: flex;
  gap: 1.5rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.in-page-nav-inner::-webkit-scrollbar { display: none; }
.in-page-nav a {
  font-size: 0.74rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  white-space: nowrap;
  color: var(--muted);
  padding: 0.3rem 0;
  border-bottom: 2px solid transparent;
  transition: color 0.2s, border-color 0.2s;
}
.in-page-nav a:hover, .in-page-nav a.active {
  color: var(--coral);
  border-color: var(--coral);
}

/* ── PAYMENT CARD (Razorpay + PayPal stack) ────────────── */
.payment-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 1.8rem 1.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.payment-card h4 {
  font-family: var(--serif);
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--dark);
  margin: 0;
}
.payment-card .price-display {
  font-family: var(--serif);
  font-size: 2.4rem;
  font-weight: 500;
  color: var(--coral);
  line-height: 1;
}
.payment-card .price-display small {
  font-size: 0.55em;
  color: var(--muted);
  font-weight: 400;
  letter-spacing: 0.04em;
}
.payment-divider {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: var(--muted);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  margin: 0.5rem 0;
}
.payment-divider::before, .payment-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--border);
}
#paypal-button-container, .paypal-button-container {
  margin-top: 0.4rem;
  min-height: 40px;
}

/* ── REVEAL ANIMATIONS — V6 PARALLAX ───────────────────── */
.fade-up { opacity: 0; transform: translateY(28px); transition: opacity 0.85s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.85s cubic-bezier(0.2, 0.8, 0.2, 1); }
.fade-up.in { opacity: 1; transform: none; }
.fade-up.delay-1 { transition-delay: 0.1s; }
.fade-up.delay-2 { transition-delay: 0.22s; }
.fade-up.delay-3 { transition-delay: 0.34s; }
.fade-up.delay-4 { transition-delay: 0.46s; }
.fade-up.delay-5 { transition-delay: 0.58s; }

.fade-in { opacity: 0; transition: opacity 1.2s ease; }
.fade-in.in { opacity: 1; }

/* PARALLAX HERO — applies to .v6-hero with class .parallax */
@media (min-width: 768px) and (prefers-reduced-motion: no-preference) {
  .v6-hero.parallax .v6-hero-bg {
    transform: translateY(var(--parallax, 0px));
    will-change: transform;
  }
}

/* ── RESPONSIVE TWEAKS ─────────────────────────────────── */
@media (max-width: 640px) {
  .v6-hero { min-height: 70vh; padding-top: 5rem; }
  .v6-hero h1 { font-size: clamp(2rem, 9vw, 3rem); }
  .v6-hero-sub { font-size: 1rem; }
  .v6-hero-eyebrow { font-size: 0.7rem; letter-spacing: 0.24em; }
}

/* ── PRINT ─────────────────────────────────────────────── */
@media print {
  .wa-fab, .v6-hero-scroll, #chat-widget, .nav, #nav, .mobile-nav { display: none !important; }
  .v6-hero { min-height: auto; padding: 2rem 0; }
  .v6-hero-overlay, .v6-hero-bg { display: none; }
  .v6-hero-content, .v6-hero h1 { color: var(--dark) !important; }
}

/* ── EMPTY PHOTO PLACEHOLDER (for past events without photos) ──── */
.pe-cover-empty {
  background:
    radial-gradient(circle at 30% 30%, rgba(232, 99, 90, 0.18), transparent 60%),
    radial-gradient(circle at 70% 70%, rgba(139, 107, 174, 0.18), transparent 60%),
    linear-gradient(135deg, var(--cream) 0%, var(--cream2) 100%);
  position: relative;
}
.pe-cover-empty::after {
  content: 'SANSEED';
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--serif);
  font-size: 1.6rem;
  font-style: italic;
  color: rgba(28, 28, 28, 0.18);
  letter-spacing: 0.15em;
}

/* ── LOGO INTRO SPLASH — plays once on first visit, then fades ── */
.logo-splash {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #FDFAF6 0%, #FFFFFF 100%);
  pointer-events: none;
  animation: splashFadeOut 0.8s ease 2.4s forwards;
}
.logo-splash video {
  width: clamp(180px, 28vw, 320px);
  height: auto;
  max-height: 60vh;
}
@keyframes splashFadeOut {
  to { opacity: 0; visibility: hidden; }
}
@media (prefers-reduced-motion: reduce) {
  .logo-splash { display: none; }
}

/* ── KEN BURNS — subtle zoom on visible photos ────────── */
.pillar-image-frame img,
.photo-card img,
.event-card-image img {
  transition: transform 7s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.pillar-image-frame img.kb-in,
.photo-card img.kb-in,
.event-card-image img.kb-in {
  transform: scale(1.06);
}

/* ── PHOTO TILT — added by JS via inline style ─────────── */
.pillar-image-frame,
.photo-card,
.event-card-image {
  transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
  transform-style: preserve-3d;
}

/* ── TEXT-OVER-PHOTO subtle rise on scroll ─────────────── */
.v6-hero-content {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 1.1s cubic-bezier(0.2, 0.8, 0.2, 1), transform 1.1s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.v6-hero.loaded .v6-hero-content {
  opacity: 1;
  transform: translateY(0);
}
/* ── HERO ENTRANCE — cinematic staggered intro on page load ───── */
.v6-hero-eyebrow {
  opacity: 0;
  animation: heroSlideFade 0.9s cubic-bezier(0.2, 0.8, 0.2, 1) 0.35s both;
}
.v6-hero h1 {
  opacity: 0;
  animation: heroRiseBlur 1.2s cubic-bezier(0.2, 0.8, 0.2, 1) 0.50s both;
}
/* "Modern" accent flares warm, then settles — draws the eye */
.v6-hero h1 em {
  animation: heroEmGlow 1.8s ease 1.15s both;
}
.v6-hero-sub {
  opacity: 0;
  animation: heroRiseBlur 1.1s cubic-bezier(0.2, 0.8, 0.2, 1) 0.80s both;
}
.v6-hero-actions {
  opacity: 0;
  animation: heroBtnRise 0.9s cubic-bezier(0.2, 0.8, 0.2, 1) 1.05s both;
}

@keyframes heroRiseBlur {
  0%   { opacity: 0; transform: translateY(34px); filter: blur(12px); }
  55%  { filter: blur(0); }
  100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}
@keyframes heroSlideFade {
  0%   { opacity: 0; transform: translateX(-20px); }
  100% { opacity: 1; transform: translateX(0); }
}
@keyframes heroBtnRise {
  0%   { opacity: 0; transform: translateY(20px) scale(0.97); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes heroEmGlow {
  0%   { text-shadow: 0 2px 28px rgba(20, 10, 4, 0.85); }
  55%  { text-shadow: 0 0 28px rgba(255, 210, 140, 0.65), 0 2px 28px rgba(20, 10, 4, 0.85); }
  100% { text-shadow: 0 0 12px rgba(255, 210, 140, 0.32), 0 2px 28px rgba(20, 10, 4, 0.85); }
}
/* Back-compat alias — some elements still reference fadeInDelay */
@keyframes fadeInDelay {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ── REDUCED MOTION RESPECT ─────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ── NAVBAR LOGO SIZE — bigger, mobile-first, prominent ── */
.nav-logo-img,
.nav-brand img {
  height: 60px !important;
  width: auto;
  object-fit: contain;
  display: block;
  transition: height 0.25s ease, filter 0.3s ease;
}
@media (max-width: 768px) {
  .nav-logo-img,
  .nav-brand img {
    height: 56px !important;
  }
}
@media (max-width: 380px) {
  .nav-logo-img,
  .nav-brand img {
    height: 50px !important;
  }
}
/* When nav is scrolled (compact state) */
#nav.scrolled .nav-logo-img,
#nav.scrolled .nav-brand img {
  height: 48px !important;
}
@media (max-width: 768px) {
  #nav.scrolled .nav-logo-img,
  #nav.scrolled .nav-brand img {
    height: 46px !important;
  }
}

/* ── NAV BACKDROP when navbar is over hero photo (transparent state) ── */
/* Adds a subtle dark glow behind the logo so it doesn't disappear into busy photos */
#nav:not(.scrolled) .nav-logo-img,
#nav:not(.scrolled) .nav-brand img {
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.35))
          drop-shadow(0 0 12px rgba(255, 255, 255, 0.18));
}

/* ── V6 HERO STATS BADGES (restored from V5) ──────────── */
.v6-hero-stats {
  display: flex;
  gap: clamp(1.2rem, 3vw, 2.5rem);
  margin-top: 2.4rem;
  flex-wrap: wrap;
  opacity: 0;
  animation: fadeInDelay 1.4s ease 1.1s forwards;
}
.v6-hero-stat {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.5rem 1rem;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 100px;
  transition: transform 0.3s ease, background 0.3s ease;
}
.v6-hero-stat:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.14);
}
.v6-hero-stat-num {
  font-family: var(--serif);
  font-size: 1.75rem;
  font-weight: 500;
  color: #fff;
  line-height: 1;
  font-style: italic;
}
.v6-hero-stat-label {
  font-family: var(--sans);
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.25;
}
@media (max-width: 640px) {
  .v6-hero-stats {
    gap: 0.7rem;
    margin-top: 1.6rem;
    flex-wrap: wrap;
  }
  .v6-hero-stat {
    padding: 0.4rem 0.75rem;
    gap: 0.5rem;
  }
  .v6-hero-stat-num {
    font-size: 1.4rem;
  }
  .v6-hero-stat-label {
    font-size: 0.6rem;
  }
}

/* Primary navigation conversion action. */
#navLoginBtn.nav-atma-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  gap: 0.52rem;
  padding: 0.94rem 1.62rem;
  border-radius: 999px;
  font-weight: 600;
  letter-spacing: 0.09em;
  box-shadow: 0 10px 28px rgba(232, 99, 90, 0.32);
  animation: navAtmaPulse 3.1s ease-in-out infinite;
}
#navLoginBtn.nav-atma-cta::before {
  content: '';
  position: absolute;
  inset: -1px;
  z-index: -1;
  border-radius: inherit;
  border: 1px solid rgba(255, 255, 255, 0.32);
}
#navLoginBtn.nav-atma-cta::after {
  content: '';
  position: absolute;
  inset: -45% auto -45% -55%;
  width: 42%;
  transform: skewX(-22deg);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  animation: navAtmaShine 4.8s ease-in-out infinite;
}
#navLoginBtn.nav-atma-cta:hover {
  background: #f06b62;
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(232, 99, 90, 0.45);
}
.nav-atma-dot {
  position: relative;
  z-index: 1;
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.65);
  animation: navAtmaDot 2s ease-out infinite;
}
@keyframes navAtmaPulse {
  0%, 100% {
    box-shadow: 0 10px 28px rgba(232, 99, 90, 0.32), 0 0 0 0 rgba(232, 99, 90, 0.28);
  }
  50% {
    box-shadow: 0 13px 34px rgba(232, 99, 90, 0.42), 0 0 0 7px rgba(232, 99, 90, 0);
  }
}
@keyframes navAtmaShine {
  0%, 68% { transform: translateX(0) skewX(-22deg); opacity: 0; }
  72% { opacity: 1; }
  92%, 100% { transform: translateX(430%) skewX(-22deg); opacity: 0; }
}
@keyframes navAtmaDot {
  0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.62); }
  74%, 100% { box-shadow: 0 0 0 7px rgba(255, 255, 255, 0); }
}
@media (prefers-reduced-motion: reduce) {
  #navLoginBtn.nav-atma-cta,
  #navLoginBtn.nav-atma-cta::after,
  .nav-atma-dot {
    animation: none;
  }
}

/* ── BRAND MARK SECTION (logo animation moment) ─────────── */
.brand-mark-section {
  padding: clamp(3rem, 7vh, 5rem) 0;
  background: transparent;  /* blend with page — no white pop-out */
  position: relative;
  overflow: hidden;
}
.brand-mark-section::before,
.brand-mark-section::after {
  content: '';
  position: absolute;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  filter: blur(80px);
  pointer-events: none;
  opacity: 0.25;
}
.brand-mark-section::before {
  top: -100px;
  left: -100px;
  background: var(--purple-p);
}
.brand-mark-section::after {
  bottom: -100px;
  right: -100px;
  background: var(--coral-p);
}
.brand-mark-inner {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
  position: relative;
  z-index: 1;
  max-width: 920px;
  margin: 0 auto;
}
.brand-mark-video {
  width: 100%;
  max-width: 320px;
  height: auto;
  aspect-ratio: 1/1;
  object-fit: contain;
  margin: 0 auto;
  display: block;
  /* Subtle floating animation */
  animation: brandFloat 6s ease-in-out infinite;
}
@keyframes brandFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
.brand-mark-eyebrow {
  font-family: var(--sans);
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--coral);
  margin-bottom: 0.9rem;
  display: block;
}
.brand-mark-text p {
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(1.05rem, 1.6vw, 1.4rem);
  line-height: 1.55;
  color: var(--dark);
  font-weight: 400;
  max-width: 480px;
}
@media (max-width: 768px) {
  .brand-mark-inner {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 1.6rem;
  }
  .brand-mark-text { max-width: 100%; }
  .brand-mark-text p { margin: 0 auto; }
  .brand-mark-video { max-width: 220px; }
}

/* ── PHOTO OBJECT-POSITION TUNING — keep subject visible on mobile crop ── */
/* Each photo has its subject in a different region; tell the browser
   what to keep when it crops to mobile portrait. */

/* naaham-laughing — subjects center, upper third → keep top */
.v6-hero-bg img[src$="naaham-laughing.webp"] { object-position: center 28% !important; }
/* kalari-stance — woman in pose, vertical photo, center */
.evt-hero-bg, .page-hero { background-position: center 35% !important; }
/* river-circle — group lower 2/3 → keep lower */
.v6-hero-bg img[src$="river-circle.webp"] { object-position: center 60% !important; }
/* group-meditation — meditators in lower half → keep lower */
.v6-hero-bg img[src$="group-meditation.webp"] { object-position: center 65% !important; }
/* silambam-combat — combat lower middle */
.v6-hero-bg img[src$="silambam-combat.webp"] { object-position: center 55% !important; }
/* kalari-group — fills frame, center is fine */
.v6-hero-bg img[src$="kalari-group.webp"] { object-position: center 45% !important; }
/* kalari-class-studio — studio lower half */
.v6-hero-bg img[src$="kalari-class-studio.webp"] { object-position: center 60% !important; }

/* For background-image-based heroes (.evt-hero-bg, .page-hero), tune by photo */
/* These need to be added per page */


/* Ensure navbar has room for bigger logo */
#nav {
  min-height: 86px;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}
@media (max-width: 768px) {
  #nav {
    min-height: 78px;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
}

/* ═══════════════════════════════════════════════════════
   COMPREHENSIVE PHOTO ANIMATION SYSTEM
   Every photo on the site gets:
   1. Slow ambient ken-burns zoom while visible
   2. Fade-in-up entrance on first scroll into view
   3. Parallax depth on the hero (already in place)
   ═══════════════════════════════════════════════════════ */

/* All photos get a gentle ambient zoom-out → zoom-in cycle while in view */
.v6-hero-bg img,
.evt-hero-bg,
.page-hero,
.pillar-image-frame img,
.photo-card img,
.event-card-image img,
.hub-bg,
.corp-thumb,
img.animated-photo,
.evm-photo img {
  transition: transform 7s cubic-bezier(0.25, 0.1, 0.25, 1);
  will-change: transform;
}

/* When IntersectionObserver tags as visible, slow gentle zoom in */
.kb-in {
  transform: scale(1.07);
}

/* Hero gets motion from parallax (scroll) + ken-burns reveal on load.
   No additional ambient zoom — keeps it visually calm. */

/* Cover backgrounds (.evt-hero-bg, .page-hero) — ambient zoom via transform.
   IMPORTANT: do NOT animate background-size — it overrides "cover" and breaks
   the photo. Use transform on the layer so cover stays intact. */
.evt-hero-bg,
.page-hero {
  background-size: cover !important;
  background-repeat: no-repeat;
  transform: scale(1);
  animation: bgAmbientScale 32s ease-in-out infinite alternate;
  transform-origin: center center;
}
@keyframes bgAmbientScale {
  0%   { transform: scale(1.00); }
  100% { transform: scale(1.06); }
}

/* Event hub cards (events.html) — hover only since they're cards */
.hub-card .hub-bg {
  transition: transform 1.2s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.hub-card:hover .hub-bg {
  transform: scale(1.06);
}

/* Corporate thumbs — scroll-triggered scale */
.corp-thumb {
  transition: transform 0.6s ease;
}
.corp-thumb:hover {
  transform: scale(1.04);
}

/* Past edition covers — scroll-triggered ken burns */
.pe-cover {
  transition: transform 8s cubic-bezier(0.25, 0.1, 0.25, 1);
  background-size: cover;
}
.pe-cover.kb-in {
  transform: scale(1.05);
}

/* Reduced motion respect */
@media (prefers-reduced-motion: reduce) {
  .v6-hero.loaded .v6-hero-bg img,
  .evt-hero-bg,
  .page-hero {
    animation: none !important;
  }
  .kb-in { transform: none !important; }
}

/* ── HERO LOGO BADGE — small animated logo, bottom-right, no white box ─── */
.hero-logo-badge {
  position: absolute;
  bottom: clamp(2rem, 5vh, 4rem);
  right: clamp(1rem, 4vw, 3rem);
  width: clamp(70px, 9vw, 110px);
  height: clamp(70px, 9vw, 110px);
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  animation: heroBadgeIn 1.2s cubic-bezier(0.2, 0.8, 0.2, 1) 0.8s forwards;
  filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.25));
}
.hero-logo-badge video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  /* Blend with photo */
  mix-blend-mode: screen;
  filter: brightness(1.15) contrast(1.05);
}
@keyframes heroBadgeIn {
  0%   { opacity: 0; transform: scale(0.6) rotate(-12deg); }
  100% { opacity: 0.92; transform: scale(1) rotate(0); }
}
@media (max-width: 640px) {
  .hero-logo-badge {
    bottom: 5.5rem;
    right: 1rem;
    width: 60px;
    height: 60px;
  }
}


/* ── HERO TEXT READABILITY — text-shadow on white-over-photo ── */
.v6-hero h1,
.v6-hero-sub,
.v6-hero-eyebrow,
.evt-hero h1,
.evt-hero p,
.page-hero h1,
.page-hero .ph-h1,
.page-hero .ph-desc {
  text-shadow:
    0 2px 12px rgba(0, 0, 0, 0.45),
    0 1px 2px rgba(0, 0, 0, 0.30);
}
.v6-hero h1 em,
.evt-hero em,
.page-hero em,
.ph-h1 em {
  /* preserve readability of italic accents too */
  text-shadow: inherit;
}


/* ── COACHING IN-PAGE NAV — proper mobile spacing ────── */
/* in-page-nav-mobile-fix */
.in-page-nav-inner {
  display: flex !important;
  gap: 1.5rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 0.2rem 0;
  align-items: center;
}
.in-page-nav-inner::-webkit-scrollbar { display: none; }
.in-page-nav-inner a {
  flex-shrink: 0;
  white-space: nowrap;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--muted);
  padding: 0.4rem 0.2rem;
  border-bottom: 2px solid transparent;
  text-decoration: none;
}
.in-page-nav-inner a:hover,
.in-page-nav-inner a.active {
  color: var(--coral);
  border-color: var(--coral);
}
@media (max-width: 768px) {
  .in-page-nav-inner {
    gap: 1.2rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .in-page-nav-inner a {
    font-size: 0.74rem;
  }
}

/* ── HERO EYEBROW DOT (V5 style) ──────────────────────── */
.v6-hero-eyebrow .hero-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--coral, #E8635A);
  box-shadow: 0 0 0 4px rgba(232, 99, 90, 0.18);
  margin-right: 0.6rem;
  animation: heroDotPulse 2.4s ease-in-out infinite;
  vertical-align: middle;
}
@keyframes heroDotPulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(232, 99, 90, 0.18); }
  50%      { box-shadow: 0 0 0 8px rgba(232, 99, 90, 0.06); }
}
/* Override the ::before pseudo-line — V5 eyebrow uses a dot instead */
.v6-hero-eyebrow::before { content: none !important; }

/* ── V5 HERO SHAPES — blurred floating blobs ─────────── */
.v6-hero .hero-shape {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.40;
  pointer-events: none;
  z-index: 0;
  animation: heroShapeFloat 18s ease-in-out infinite;
}
.v6-hero .hs1 {
  width: 380px; height: 380px;
  background: var(--coral, #E8635A);
  top: 10%; left: -120px;
  animation-delay: 0s;
}
.v6-hero .hs2 {
  width: 320px; height: 320px;
  background: var(--purple, #8B6BAE);
  top: 50%; right: -100px;
  animation-delay: 6s;
}
.v6-hero .hs3 {
  width: 280px; height: 280px;
  background: var(--teal, #1EADB5);
  bottom: 8%; left: 30%;
  animation-delay: 12s;
}
@keyframes heroShapeFloat {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33%      { transform: translate(40px, -30px) scale(1.06); }
  66%      { transform: translate(-30px, 20px) scale(0.96); }
}
@media (max-width: 768px) {
  .v6-hero .hs1, .v6-hero .hs2, .v6-hero .hs3 {
    opacity: 0.22;
    filter: blur(60px);
  }
}

/* ═══════════════════════════════════════════════════════════
   V6 DESIGN UPGRADE — Modern Transformation Enhancement
   Readability · Nav State · Dotted Pattern · Font Scale
   ═══════════════════════════════════════════════════════════ */

/* ── 1. HERO OVERLAY — Stronger readability (bg-black/55+) ── */
.v6-hero-overlay {
  background:
    radial-gradient(ellipse at 30% 60%, rgba(0, 0, 0, 0.32) 0%, rgba(0, 0, 0, 0.72) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.22) 0%, rgba(0, 0, 0, 0.58) 60%, rgba(0, 0, 0, 0.88) 100%);
}
.v6-hero.light .v6-hero-overlay {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.06) 0%, rgba(0, 0, 0, 0.24) 50%, rgba(0, 0, 0, 0.52) 100%);
}

/* ── 2. SUB-PAGE HERO — extra contrast gradient at bottom ── */
.page-hero {
  position: relative;
}
.page-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    transparent 0%,
    rgba(0, 0, 0, 0.20) 50%,
    rgba(0, 0, 0, 0.48) 100%);
  pointer-events: none;
  z-index: 0;
}
.page-hero .ph-inner {
  position: relative;
  z-index: 2 !important;
}

/* ── 3. NAV LINK FONT SIZE & BOUNCY ANIMATION (V6.1) ────── */
.nav-links a {
  font-size: 1rem !important; /* Increased from 0.84rem for premium visibility */
  letter-spacing: 0.03em;
  font-weight: 600 !important; /* Clean semi-bold font weight */
  position: relative;
  padding-bottom: 6px;
  display: inline-block;
  /* Springy transition on transform (overshoots slightly on hover for bouncy feel) */
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), color 0.3s ease, text-shadow 0.3s ease !important;
}

/* Active selected link - denoted in Coral color */
.nav-links a.active {
  color: var(--coral) !important;
  font-weight: 700 !important;
}

/* Bouncy elastic underline indicator for active/hover states */
.nav-links a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2.5px;
  background-color: var(--coral);
  border-radius: 4px;
  /* Bouncy elastic expansion */
  transition: width 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275), left 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.nav-links a.active::after {
  width: 100%;
  left: 0;
}

/* Bouncy scale and lift on hover */
.nav-links a:hover {
  color: var(--coral) !important;
  transform: translateY(-3px) scale(1.05); /* Springy lift */
  text-shadow: none !important;
}

.nav-links a:hover::after {
  width: 100%;
  left: 0;
}

/* ── 4. NAV TRANSPARENT STATE — white links over photo heroes ── */
/* :has() — Chrome 105+, Safari 15.4+, Firefox 121+ */
/* Ensure active link stays coral even on transparent header */
body:has(.v6-hero)   #nav:not(.solid) .nav-links a:not(.active),
body:has(.page-hero)  #nav:not(.solid) .nav-links a:not(.active),
body:has(.evt-hero)   #nav:not(.solid) .nav-links a:not(.active),
body:has(.evh-page)   #nav:not(.solid) .nav-links a:not(.active),
body:has(.shop-hero)  #nav:not(.solid) .nav-links a:not(.active) {
  color: rgba(255, 255, 255, 0.92) !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
}
body:has(.v6-hero)   #nav:not(.solid) .nav-links a:not(.active):hover,
body:has(.page-hero)  #nav:not(.solid) .nav-links a:not(.active):hover,
body:has(.evt-hero)   #nav:not(.solid) .nav-links a:not(.active):hover,
body:has(.evh-page)   #nav:not(.solid) .nav-links a:not(.active):hover,
body:has(.shop-hero)  #nav:not(.solid) .nav-links a:not(.active):hover {
  color: var(--coral) !important;
  text-shadow: none !important;
}
body:has(.v6-hero)   #nav:not(.solid) .hamburger span,
body:has(.page-hero)  #nav:not(.solid) .hamburger span,
body:has(.evt-hero)   #nav:not(.solid) .hamburger span,
body:has(.evh-page)   #nav:not(.solid) .hamburger span,
body:has(.shop-hero)  #nav:not(.solid) .hamburger span {
  background: rgba(255, 255, 255, 0.90) !important;
}
body:has(.v6-hero)   #nav:not(.solid) .nav-wordmark,
body:has(.page-hero)  #nav:not(.solid) .nav-wordmark,
body:has(.evt-hero)   #nav:not(.solid) .nav-wordmark,
body:has(.evh-page)   #nav:not(.solid) .nav-wordmark,
body:has(.shop-hero)  #nav:not(.solid) .nav-wordmark {
  color: rgba(255, 255, 255, 0.95) !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.40);
}

/* ── 5. DOTTED BACKGROUND — "Modern Edge" premium pattern ── */
/* Directly targets key index.html sections by ID */
section#philosophy,
section#services {
  background-image: radial-gradient(circle, rgba(28, 28, 28, 0.055) 1.5px, transparent 1.5px);
  background-size: 24px 24px;
  background-color: var(--cream);
}
section#atma {
  background-image: radial-gradient(circle, rgba(28, 28, 28, 0.06) 1.5px, transparent 1.5px) !important;
  background-size: 24px 24px !important;
}
section#research {
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.065) 1.5px, transparent 1.5px) !important;
  background-size: 24px 24px !important;
}
/* Reusable utility classes for other pages */
.dot-pattern {
  background-image: radial-gradient(circle, rgba(28, 28, 28, 0.055) 1.5px, transparent 1.5px);
  background-size: 24px 24px;
}
.dot-pattern-dark {
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.07) 1.5px, transparent 1.5px);
  background-size: 24px 24px;
}

/* ── 6. BODY TEXT READABILITY BOOST ─────────────────────── */
.phil-text p      { font-size: 0.92rem !important; line-height: 1.92 !important; }
.rb-inner p       { font-size: 0.96rem !important; color: rgba(255, 255, 255, 0.68) !important; }
.naaham-content p { font-size: 0.88rem !important; line-height: 1.86 !important; }
.atma-header p    { font-size: 0.92rem !important; }
.pillar p         { font-size: 0.84rem !important; line-height: 1.84 !important; }
.services-hdr p   { font-size: 0.94rem !important; }

/* ── 7. SECTION LABEL — subtle line decoration ──────────── */
.section-label,
.sec-label,
.ph-label {
  display: flex !important;
  align-items: center;
  gap: 0.65rem;
}
.section-label::before,
.sec-label::before,
.ph-label::before {
  content: '';
  display: block;
  width: 20px;
  height: 1.5px;
  background: currentColor;
  flex-shrink: 0;
  opacity: 0.55;
}

/* ── 8. RESEARCH PILLAR ICONS — SVG slot sizing ─────────── */
.rbp-icon {
  font-size: 0; /* suppress emoji fallback when SVG is present */
  margin-bottom: 1rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rbp-icon svg {
  display: block;
  width: 36px;
  height: 36px;
  margin: 0 auto;
}

/* ── 9. PHILOSOPHY VALUES — icon polish ─────────────────── */
.val-icon {
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
  line-height: 1;
}
.val-icon svg {
  width: 28px;
  height: 28px;
  display: block;
  margin: 0 auto;
}

/* ── 10. HERO CONTENT — stronger text shadow for legibility ── */
.v6-hero h1,
.v6-hero-sub,
.v6-hero-eyebrow {
  text-shadow:
    0 2px 16px rgba(0, 0, 0, 0.55),
    0 1px 3px rgba(0, 0, 0, 0.35) !important;
}

/* ── MOBILE REFINEMENTS ─────────────────────────────────── */
@media (max-width: 640px) {
  .v6-hero-sub { font-size: 1.08rem !important; }
  /* .nav-links a  { font-size: 0.80rem !important; } - hidden on mobile */
}

/* ═══════════════════════════════════════════════════════════
   V7 HERO AESTHETIC — Cinematic Sub + Floating Pill Stats
   Inspired by glassy/floating chip design language
   ═══════════════════════════════════════════════════════════ */

/* ── HERO SUB — shorter, cleaner, more impactful ───────── */
.v6-hero-sub {
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: clamp(1.15rem, 1.85vw, 1.55rem) !important;
  font-weight: 300 !important;
  color: rgba(255, 255, 255, 0.95) !important;
  line-height: 1.55 !important;
  max-width: 580px !important;
  margin-bottom: 2.4rem !important;
  letter-spacing: 0.005em;
}

/* ── HERO ACTION BUTTONS — pill shape ──────────────────── */
.v6-hero-actions .btn.btn-pill,
.v6-hero-actions .btn {
  border-radius: 100px !important;
  padding: 1rem 2.2rem !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.06em;
  font-weight: 500;
}

/* ── FLOATING STAT CHIPS — glassy pills ─────────────────── */
.v6-hero-stats {
  display: flex !important;
  gap: 0.6rem !important;
  margin-top: 2.6rem !important;
  flex-wrap: wrap !important;
  opacity: 0;
  animation: heroBtnRise 0.9s cubic-bezier(0.2, 0.8, 0.2, 1) 1.3s both;
}

.v6-hero-stat {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.55rem !important;
  padding: 0.58rem 1.2rem 0.58rem 0.95rem !important;
  /* Liquid-glass base: layered gradients mimic internal light refraction */
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.32) 0%,
      rgba(255, 255, 255, 0.10) 50%,
      rgba(255, 255, 255, 0.18) 100%
    ) !important;
  -webkit-backdrop-filter: blur(28px) saturate(200%) brightness(1.08);
  backdrop-filter: blur(28px) saturate(200%) brightness(1.08);
  /* Specular top edge + soft outer border */
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  border-bottom-color: rgba(255, 255, 255, 0.18) !important;
  border-radius: 100px !important;
  /* Depth shadow + inner highlight glow */
  box-shadow:
    0 6px 22px rgba(0, 0, 0, 0.30),
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    inset 0 -1px 0 rgba(0, 0, 0, 0.08) !important;
  transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1),
              background 0.35s ease,
              border-color 0.35s ease,
              box-shadow 0.35s ease !important;
  cursor: default;
}

.v6-hero-stat:hover {
  transform: translateY(-3px) !important;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.44) 0%,
      rgba(255, 255, 255, 0.18) 50%,
      rgba(255, 255, 255, 0.28) 100%
    ) !important;
  border-color: rgba(255, 255, 255, 0.70) !important;
  border-bottom-color: rgba(255, 255, 255, 0.28) !important;
  box-shadow:
    0 12px 32px rgba(0, 0, 0, 0.36),
    inset 0 1px 0 rgba(255, 255, 255, 0.65),
    inset 0 -1px 0 rgba(0, 0, 0, 0.10) !important;
}

.v6-hero-stat-icon {
  width: 14px;
  height: 14px;
  color: #fff;
  flex-shrink: 0;
  display: block;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.4));
}

.v6-hero-stat-text {
  font-family: var(--sans) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;   /* bumped from 400 — crisper on glass */
  color: #fff !important;
  letter-spacing: 0.02em !important;
  white-space: nowrap;
  line-height: 1 !important;
  text-transform: none !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
}
.v6-hero-stat-text strong {
  font-weight: 700;
  margin-right: 0.18em;
  color: var(--coral-l);
}

@media (max-width: 640px) {
  .v6-hero-stats { gap: 0.5rem !important; margin-top: 1.8rem !important; }
  .v6-hero-stat  { padding: 0.45rem 0.95rem 0.45rem 0.8rem !important; }
  .v6-hero-stat-text { font-size: 0.72rem !important; }
}

/* ═══════════════════════════════════════════════════════════
   V7 AESTHETIC — Sub-page Heroes (.page-hero universal upgrade)
   Cinematic sub · pill buttons · floating glassy stat chips
   ═══════════════════════════════════════════════════════════ */

/* ── PAGE-HERO description — italic serif, more impactful ── */
.page-hero .ph-desc {
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: clamp(1.1rem, 1.75vw, 1.45rem) !important;
  font-weight: 300 !important;
  color: rgba(255, 255, 255, 0.94) !important;
  line-height: 1.55 !important;
  max-width: 600px !important;
  margin-bottom: 2.4rem !important;
  letter-spacing: 0.003em !important;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

/* ── PAGE-HERO buttons — pill shape across all sub-pages ── */
.page-hero .btn,
.page-hero .ph-btns .btn,
.evt-hero .btn,
.evt-hero .eh-btns .btn,
.evh-page .btn {
  border-radius: 100px !important;
  padding: 0.95rem 2.1rem !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.05em;
  font-weight: 500;
}

/* ── EVENT-HERO descriptions — italic serif, more impactful ── */
.evt-hero .eh-desc,
.evh-page .evh-desc {
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: clamp(1.1rem, 1.7vw, 1.4rem) !important;
  font-weight: 300 !important;
  color: rgba(255, 255, 255, 0.92) !important;
  line-height: 1.55 !important;
  letter-spacing: 0.003em !important;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

/* ═══════════════════════════════════════════════════════════
   LOGO CROSS-FADE — white logo over hero · black logo on sticky
   Two stacked layers fade between each other for a smooth swap:
   • the real <img> renders the WHITE logo (transparent-nav default)
   • a ::after on .nav-brand renders the BLACK logo, fading in on solid
   Both are tight-cropped + left/center anchored so the mark aligns.
   ═══════════════════════════════════════════════════════════ */

/* Default layer — WHITE logo (over the dark hero) */
.nav-logo-img {
  content: url('Sanseed_Logo_white_trim.png');
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.32));
  transition: opacity 0.55s ease, height 0.4s ease, filter 0.4s ease !important;
}

/* BLACK logo overlay — sized by height, left-anchored to match the mark */
.nav-brand { position: relative; }
.nav-brand::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  background: url('Sanseed_Logo_black.png') left center / auto 100% no-repeat;
  opacity: 0;
  transition: opacity 0.55s ease;
  pointer-events: none;
}

/* On sticky/white nav → cross-fade: white out, black in */
#nav.solid .nav-logo-img {
  opacity: 0;
  filter: none !important;
}
#nav.solid .nav-brand::after {
  opacity: 1;
}

/* Lock both logos to the same display dimensions for visual continuity.
   Sized ~30% smaller than the original 60/52 for a cleaner header. */
.nav-logo-img,
.nav-brand img {
  height: 42px !important;
  width: auto !important;
  object-fit: contain;
  display: block;
}
@media (max-width: 768px) {
  .nav-logo-img, .nav-brand img { height: 40px !important; }
}
@media (max-width: 380px) {
  .nav-logo-img, .nav-brand img { height: 36px !important; }
}
#nav.solid .nav-logo-img, #nav.solid .nav-brand img {
  height: 36px !important;
}
@media (max-width: 768px) {
  #nav.solid .nav-logo-img, #nav.solid .nav-brand img { height: 34px !important; }
}

/* ═══════════════════════════════════════════════════════════
   MARQUEE — Glass-aesthetic upgrade · Monochrome · Readable
   ═══════════════════════════════════════════════════════════ */

.marquee-wrap {
  background: #1C1C1C !important;
  padding: 1rem 0 !important;
  overflow: hidden;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  position: relative;
}
/* Soft fade on both edges — premium feel, no hard cut-off */
.marquee-wrap::before,
.marquee-wrap::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 90px;
  z-index: 2;
  pointer-events: none;
}
.marquee-wrap::before {
  left: 0;
  background: linear-gradient(90deg, #1C1C1C 0%, rgba(28, 28, 28, 0) 100%);
}
.marquee-wrap::after {
  right: 0;
  background: linear-gradient(-90deg, #1C1C1C 0%, rgba(28, 28, 28, 0) 100%);
}
.mq-item {
  font-family: 'Averia Serif Libre', Georgia, serif !important;
  font-size: 1.02rem !important;
  font-style: italic !important;
  font-weight: 400 !important;
  padding: 0 2.2rem !important;
  letter-spacing: 0.015em;
  line-height: 1.4;
}
.mq-item:nth-child(3n + 1) { color: var(--coral) !important; }
.mq-item:nth-child(3n + 2) { color: var(--purple) !important; }
.mq-item:nth-child(3n) { color: var(--teal) !important; }
.mq-dot {
  opacity: 0.45 !important;
  font-style: normal !important;
  color: currentColor !important;
  margin: 0 0.15rem;
  font-size: 1.1em;
  vertical-align: 0.05em;
}
@media (max-width: 640px) {
  .mq-item { font-size: 0.9rem !important; padding: 0 1.6rem !important; }
  .marquee-wrap { padding: 0.85rem 0 !important; }
  .marquee-wrap::before, .marquee-wrap::after { width: 50px; }
}

/* ── PAGE-HERO floating stat chips (.ph-stats container) ─ */
.ph-stats {
  display: flex;
  gap: 0.6rem;
  margin-top: 2.4rem;
  flex-wrap: wrap;
  position: relative;
  z-index: 3;
}
.ph-stat {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.55rem 1.15rem 0.55rem 0.95rem;
  background: rgba(255, 255, 255, 0.10);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.20);
  border-radius: 100px;
  transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1),
              background 0.35s ease,
              border-color 0.35s ease,
              box-shadow 0.35s ease;
  cursor: default;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18);
}
.ph-stat:hover {
  transform: translateY(-3px);
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.32);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);
}
.ph-stat-icon {
  width: 14px;
  height: 14px;
  color: rgba(255, 255, 255, 0.92);
  flex-shrink: 0;
  display: block;
}
.ph-stat-text {
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.01em;
  white-space: nowrap;
  line-height: 1;
}
.ph-stat-text strong {
  font-weight: 700;
  margin-right: 0.2em;
  color: var(--coral-l);
}
@media (max-width: 640px) {
  .ph-stats { gap: 0.5rem; margin-top: 1.8rem; }
  .ph-stat { padding: 0.45rem 0.95rem 0.45rem 0.8rem; }
  .ph-stat-text { font-size: 0.72rem; }
  .page-hero .ph-desc { font-size: 1.05rem !important; }
}

/* Homepage brand mark and philosophy feature refresh. */
.brand-mark-section {
  padding: clamp(2.65rem, 5.5vw, 4rem) 0;
  background:
    linear-gradient(112deg, rgba(255, 255, 255, 0.1), transparent 38%, rgba(255, 255, 255, 0.04)),
    radial-gradient(circle at 12% 25%, rgba(232, 99, 90, 0.2), transparent 31%),
    radial-gradient(circle at 86% 24%, rgba(30, 173, 181, 0.17), transparent 29%),
    linear-gradient(130deg, #151516 0%, #211c25 48%, #102023 100%);
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(255, 255, 255, 0.13);
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), inset 0 -1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(20px);
}
.brand-mark-section::before {
  content: '';
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  border-radius: 0;
  filter: none;
  opacity: 0.36;
  background: transparent;
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.09) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
  pointer-events: none;
}
.brand-mark-section::after {
  content: '';
  position: absolute;
  width: min(62vw, 680px);
  height: min(62vw, 680px);
  left: 50%;
  top: 50%;
  bottom: auto;
  right: auto;
  transform: translate(-72%, -50%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
  background: transparent;
  filter: none;
  opacity: 1;
  pointer-events: none;
}
.brand-mark-shell {
  display: grid;
  grid-template-columns: minmax(235px, 0.86fr) minmax(320px, 1.14fr);
  gap: clamp(1.8rem, 5vw, 4.25rem);
  align-items: center;
  position: relative;
  z-index: 1;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 clamp(0.2rem, 2vw, 1rem);
}
.brand-mark-shell::before {
  display: none;
}
.brand-mark-visual {
  min-height: clamp(236px, 29vw, 306px);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.brand-mark-halo {
  position: absolute;
  width: min(84%, 285px);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.24) 0%, rgba(232, 99, 90, 0.2) 30%, rgba(139, 107, 174, 0.08) 53%, transparent 70%);
  filter: blur(2px);
  animation: brandPulse 4.8s ease-in-out infinite;
}
@keyframes brandPulse {
  0%, 100% { transform: scale(0.96); opacity: 0.78; }
  50% { transform: scale(1.06); opacity: 1; }
}
.brand-mark-media {
  position: relative;
  z-index: 1;
  width: clamp(190px, 23vw, 248px);
  aspect-ratio: 1;
  border-radius: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: radial-gradient(circle at 50% 42%, #fff 0%, #fefcf9 60%, rgba(255, 255, 255, 0.92) 100%);
  border: 1px solid rgba(255, 255, 255, 0.62);
  box-shadow: 0 21px 46px rgba(0, 0, 0, 0.24), 0 0 46px rgba(232, 99, 90, 0.17);
}
.brand-mark-media::after {
  content: '';
  position: absolute;
  inset: 9px;
  border: 1px solid rgba(139, 107, 174, 0.1);
  border-radius: 19px;
  pointer-events: none;
}
.brand-mark-video {
  width: 100%;
  max-width: none;
  height: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  margin: 0;
  display: block;
  animation: brandFloat 5s ease-in-out infinite;
}
@keyframes brandFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}
.brand-mark-eyebrow {
  color: var(--coral-l);
  margin-bottom: 1rem;
}
.brand-mark-text h2 {
  font-family: var(--serif);
  color: #fff;
  font-size: clamp(2.15rem, 4vw, 3.45rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.025em;
  margin-bottom: 1.1rem;
}
.brand-mark-text h2 em {
  color: var(--coral-l);
  font-style: italic;
}
.brand-mark-text p {
  font-family: var(--sans);
  font-style: normal;
  font-size: clamp(0.9rem, 1.35vw, 1rem);
  line-height: 1.88;
  color: rgba(255, 255, 255, 0.72);
  max-width: 500px;
}
.brand-mark-pillars {
  display: flex;
  gap: 0.6rem;
  margin-top: clamp(1.4rem, 3vw, 2.1rem);
}
.brand-mark-pillars span {
  min-width: 86px;
  padding: 0.6rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.07);
  color: rgba(255, 255, 255, 0.9);
  text-align: center;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.brand-mark-pillars span:nth-child(1) { border-color: rgba(232, 99, 90, 0.42); }
.brand-mark-pillars span:nth-child(2) { border-color: rgba(139, 107, 174, 0.52); }
.brand-mark-pillars span:nth-child(3) { border-color: rgba(30, 173, 181, 0.48); }

.values-orbit {
  position: relative;
  height: clamp(326px, 38vw, 390px);
  max-width: 1040px;
  margin: 0 auto clamp(3.3rem, 6vw, 5.2rem);
  overflow: hidden;
  isolation: isolate;
}
.values-orbit::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 70px;
  background: linear-gradient(0deg, var(--cream), transparent);
  z-index: 4;
  pointer-events: none;
}
.values-orbit-ring {
  position: absolute;
  left: 50%;
  top: 34px;
  width: min(96%, 970px);
  height: clamp(410px, 54vw, 500px);
  transform: translateX(-50%);
  border: 1px solid rgba(139, 107, 174, 0.2);
  border-radius: 50%;
  background: radial-gradient(ellipse at 50% 13%, rgba(255, 255, 255, 0.86), rgba(255, 255, 255, 0.22) 42%, transparent 68%);
}
.values-orbit-ring::after {
  content: '';
  position: absolute;
  inset: 14px;
  border: 1px dashed rgba(30, 173, 181, 0.18);
  border-radius: inherit;
}
.values-orbit-track {
  position: absolute;
  inset: 0;
  z-index: 2;
}
.value-orbit-node {
  position: absolute;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  align-items: center;
  justify-content: center;
  min-width: clamp(92px, 12vw, 126px);
  height: clamp(62px, 7vw, 70px);
  padding: 0.6rem 0.85rem;
  border: 1px solid rgba(139, 107, 174, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.58);
  backdrop-filter: blur(14px);
  box-shadow: 0 12px 36px rgba(28, 28, 28, 0.06);
  cursor: pointer;
  transform: translate(-50%, -50%);
  transition:
    left 0.78s cubic-bezier(0.2, 0.78, 0.2, 1),
    top 0.78s cubic-bezier(0.2, 0.78, 0.2, 1),
    opacity 0.5s ease,
    transform 0.78s cubic-bezier(0.2, 0.78, 0.2, 1),
    background 0.45s ease,
    border-color 0.45s ease;
}
.value-orbit-node.is-wrapping { transition: none; }
.value-orbit-node span {
  font-family: var(--sans);
  color: var(--muted);
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.18em;
}
.value-orbit-node strong {
  font-family: var(--serif);
  color: var(--dark);
  font-size: clamp(0.92rem, 1.5vw, 1.08rem);
  font-weight: 500;
}
.value-orbit-node[data-slot="0"] { left: 8%; top: 204px; opacity: 0.42; transform: translate(-50%, -50%) scale(0.84); }
.value-orbit-node[data-slot="1"] { left: 25%; top: 86px; opacity: 0.78; transform: translate(-50%, -50%) scale(0.94); }
.value-orbit-node[data-slot="2"] { left: 50%; top: 38px; transform: translate(-50%, -50%) scale(1.04); }
.value-orbit-node[data-slot="3"] { left: 75%; top: 86px; opacity: 0.78; transform: translate(-50%, -50%) scale(0.94); }
.value-orbit-node[data-slot="4"] { left: 92%; top: 204px; opacity: 0.42; transform: translate(-50%, -50%) scale(0.84); }
.value-orbit-node.is-active {
  background: #fff;
  border-color: rgba(232, 99, 90, 0.42);
  box-shadow: 0 16px 42px rgba(232, 99, 90, 0.13), 0 0 0 5px rgba(232, 99, 90, 0.08);
}
.value-orbit-node.is-active span { color: var(--coral); }
.value-orbit-node:focus-visible {
  outline: 2px solid var(--coral);
  outline-offset: 3px;
}
.values-orbit-focus {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: clamp(98px, 12vw, 118px);
  transform: translateX(-50%);
  width: min(370px, calc(100% - 2.5rem));
  padding: clamp(1.25rem, 3vw, 1.65rem) clamp(1.2rem, 4vw, 2rem);
  text-align: center;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(20px);
  box-shadow: 0 18px 52px rgba(28, 28, 28, 0.08);
  transition: opacity 0.18s ease, transform 0.18s ease;
}
.values-orbit-focus.is-changing {
  opacity: 0;
  transform: translateX(-50%) translateY(5px);
}
.values-focus-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  margin: 0 auto 0.55rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--coral-p), var(--purple-p));
  color: var(--coral);
  box-shadow: 0 8px 18px rgba(232, 99, 90, 0.12);
  font-size: 1.28rem;
  line-height: 1;
}
.values-focus-number {
  display: block;
  color: var(--purple);
  font-family: var(--sans);
  font-size: 0.67rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  margin-bottom: 0.2rem;
}
.values-orbit-focus h3 {
  color: var(--coral);
  font-family: var(--serif);
  font-size: clamp(1.7rem, 4vw, 2.25rem);
  font-weight: 500;
  line-height: 1.05;
  margin-bottom: 0.48rem;
}
.values-orbit-focus p {
  color: var(--body);
  font-family: var(--sans);
  font-size: clamp(0.76rem, 1.5vw, 0.84rem);
  line-height: 1.65;
  margin: 0 auto;
  max-width: 290px;
}
#philosophy .phil-grid {
  gap: clamp(2.7rem, 5vw, 5rem);
}
#philosophy .phil-box {
  border: 1px solid rgba(255, 255, 255, 0.92);
  background: linear-gradient(135deg, rgba(235, 248, 249, 0.92), rgba(243, 239, 248, 0.86));
  box-shadow: 0 18px 60px rgba(28, 28, 28, 0.07);
}
#philosophy .phil-center h3 {
  color: rgba(28, 28, 28, 0.46);
  opacity: 1;
}
#philosophy .phil-quote-card {
  border: 1px solid rgba(255, 255, 255, 0.88);
  background: rgba(255, 255, 255, 0.84);
  backdrop-filter: blur(16px);
}
@media (max-width: 768px) {
  .brand-mark-shell {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 0.65rem;
    padding: 0;
  }
  .brand-mark-section { padding: 2.2rem 0 2.6rem; }
  .brand-mark-visual { min-height: 215px; }
  .brand-mark-text { max-width: 100%; }
  .brand-mark-text p { margin: 0 auto; }
  .brand-mark-pillars { justify-content: center; flex-wrap: wrap; }
  .brand-mark-media { width: 188px; }
  .values-orbit {
    height: 330px;
    margin-bottom: 3rem;
  }
  .values-orbit-ring {
    width: 142%;
    height: 390px;
    top: 33px;
  }
  .value-orbit-node {
    min-width: 82px;
    height: 57px;
    padding: 0.45rem 0.55rem;
  }
  .value-orbit-node[data-slot="0"],
  .value-orbit-node[data-slot="4"] { opacity: 0; pointer-events: none; }
  .value-orbit-node[data-slot="1"] { left: 16%; top: 93px; }
  .value-orbit-node[data-slot="2"] { top: 38px; }
  .value-orbit-node[data-slot="3"] { left: 84%; top: 93px; }
  .values-orbit-focus { top: 117px; }
}
@media (prefers-reduced-motion: reduce) {
  .brand-mark-halo,
  .brand-mark-video { animation: none; }
  .value-orbit-node,
  .values-orbit-focus { transition: none; }
}

/* Homepage hero feature keywords: informational, not interactive controls. */
.v6-hero-stats {
  gap: clamp(1rem, 2.4vw, 1.8rem) !important;
  margin-top: clamp(2rem, 4vw, 2.55rem) !important;
  align-items: center !important;
}
.v6-hero-stat {
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.62rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  transition: none !important;
}
.v6-hero-stat:hover {
  transform: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
.v6-hero-stat:not(:last-child)::after {
  content: '';
  display: block;
  width: 1px;
  height: 16px;
  margin-left: clamp(0.45rem, 1.1vw, 0.9rem);
  background: rgba(255, 255, 255, 0.27);
}
.v6-hero-stat::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--coral-l);
  box-shadow: 0 0 10px rgba(242, 148, 141, 0.48);
  flex-shrink: 0;
}
.v6-hero-stat:nth-child(2)::before {
  background: var(--purple-l);
  box-shadow: 0 0 10px rgba(180, 154, 206, 0.46);
}
.v6-hero-stat:nth-child(3)::before {
  background: var(--teal-l);
  box-shadow: 0 0 10px rgba(94, 205, 211, 0.5);
}
.v6-hero-stat-icon {
  display: none !important;
}
.v6-hero-stat-text {
  font-size: clamp(0.7rem, 1.1vw, 0.76rem) !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.88) !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
}
.v6-hero-stat-text strong {
  color: var(--purple-l) !important;
  font-weight: 600 !important;
}
@media (max-width: 640px) {
  .v6-hero-stats {
    gap: 0.78rem 1.15rem !important;
    margin-top: 1.65rem !important;
  }
  .v6-hero-stat {
    padding: 0 !important;
  }
  .v6-hero-stat-text {
    font-size: 0.64rem !important;
    letter-spacing: 0.1em !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   WARM WELLNESS LANDING — Ancient Knowledge · Yoga · Sunrise
   Scoped to body.home-warm (index.html only)
   Replaces the dark cinematic mood with a warm, breathable,
   parchment + saffron + sage palette inspired by dawn light
   and traditional Indian wellness aesthetics.
   ═══════════════════════════════════════════════════════════ */

body.home-warm {
  --warm-cream:    #FBF3E4;
  --warm-parchment:#F4E6CC;
  --warm-sand:     #E8D2A8;
  --warm-amber:    #E9B868;
  --warm-saffron:  #D88B2C;
  --warm-terracotta:#C66B3D;
  --warm-sage:     #7A9468;
  --warm-sepia:    #3E2E1F;
  --warm-sepia-l:  #6B5640;
  --warm-glow:     rgba(245, 200, 130, 0.55);
}

/* ── HERO BG IMAGE — warm tone the photograph ─────────── */
body.home-warm .v6-hero-bg img {
  filter: saturate(1.05) contrast(1.02) brightness(1.04) sepia(0.08);
}

/* ── HERO OVERLAY — sunrise gradient replaces black ──── */
body.home-warm .v6-hero-overlay {
  background:
    /* warm rim light from upper-right — keeps the bright, airy mood */
    radial-gradient(ellipse at 82% 16%, rgba(245, 195, 110, 0.42) 0%, rgba(245, 195, 110, 0) 46%),
    /* LEFT-side content scrim — gentle, just enough lift for the text;
       the strong text-shadows do the rest of the legibility work */
    radial-gradient(ellipse at 16% 44%, rgba(40, 24, 12, 0.40) 0%, rgba(40, 24, 12, 0.08) 58%),
    /* soft bottom anchor for the stat chips — lighter than before */
    linear-gradient(180deg,
      rgba(40, 24, 12, 0.12) 0%,
      rgba(40, 24, 12, 0.30) 55%,
      rgba(40, 24, 12, 0.58) 100%) !important;
}

/* ── SUNRISE GLOW — soft top-right amber halo ─────────── */
body.home-warm .warm-sunrise {
  position: absolute;
  top: -25%;
  right: -15%;
  width: 70vw;
  height: 70vw;
  max-width: 900px;
  max-height: 900px;
  background:
    radial-gradient(circle at center,
      rgba(255, 218, 150, 0.55) 0%,
      rgba(255, 200, 120, 0.32) 28%,
      rgba(232, 168, 80, 0.12) 52%,
      transparent 72%);
  pointer-events: none;
  z-index: 0;
  filter: blur(8px);
  animation: warmSunPulse 14s ease-in-out infinite;
}
@keyframes warmSunPulse {
  0%, 100% { opacity: 0.85; transform: scale(1); }
  50%      { opacity: 1;    transform: scale(1.04); }
}

/* ── SACRED-GEOMETRY MANDALA — decorative ornament ─────── */
body.home-warm .warm-mandala {
  position: absolute;
  right: -4%;
  bottom: -6%;
  width: clamp(280px, 36vw, 520px);
  height: clamp(280px, 36vw, 520px);
  color: rgba(255, 230, 185, 0.32);
  pointer-events: none;
  z-index: 0;
  animation: warmMandalaSpin 90s linear infinite;
  mix-blend-mode: screen;
  opacity: 0.85;
}
@keyframes warmMandalaSpin {
  to { transform: rotate(360deg); }
}
@media (max-width: 768px) {
  body.home-warm .warm-mandala {
    right: -22%;
    bottom: -18%;
    width: 380px;
    height: 380px;
    opacity: 0.55;
  }
}

/* ── HERO BLOBS — warm palette (saffron · terracotta · sage) ── */
body.home-warm .v6-hero .hs1 { background: var(--warm-saffron); opacity: 0.32; }
body.home-warm .v6-hero .hs2 { background: var(--warm-terracotta); opacity: 0.26; }
body.home-warm .v6-hero .hs3 { background: var(--warm-sage); opacity: 0.30; }

/* ── HERO TYPOGRAPHY — warm shadows, italic accent in saffron ── */
body.home-warm .v6-hero h1,
body.home-warm .v6-hero-sub,
body.home-warm .v6-hero-eyebrow {
  text-shadow:
    0 2px 28px rgba(20, 10, 4, 0.85),
    0 1px 6px  rgba(0, 0, 0, 0.65) !important;
}
body.home-warm .v6-hero h1 em {
  color: #FFD89A !important;          /* warm gold instead of coral-l */
  font-style: italic;
}
body.home-warm .v6-hero-eyebrow {
  color: rgba(255, 232, 200, 0.92) !important;
  letter-spacing: 0.34em;
}
body.home-warm .v6-hero-eyebrow::before,
body.home-warm .v6-hero-eyebrow .hero-dot {
  background: var(--warm-amber) !important;
  color: var(--warm-amber) !important;
  /* override the coral pulse animation with a warm amber halo */
  box-shadow: 0 0 0 4px rgba(233, 184, 104, 0.22) !important;
  animation: warmDotPulse 2.4s ease-in-out infinite !important;
}
@keyframes warmDotPulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(233, 184, 104, 0.22); }
  50%      { box-shadow: 0 0 0 8px rgba(233, 184, 104, 0.08); }
}
body.home-warm .v6-hero-sub {
  color: #ffffff !important;
  text-shadow:
    0 2px 28px rgba(20, 10, 4, 0.90),
    0 1px 6px  rgba(0, 0, 0, 0.70) !important;
  font-weight: 400 !important;
}

/* ── HERO ACTION BUTTONS — saffron primary, warm outline ── */
body.home-warm .v6-hero-actions .btn-coral {
  background: linear-gradient(135deg, #E9A14A 0%, #D88B2C 60%, #C66B3D 100%) !important;
  border: none !important;
  color: #FFF8EB !important;
  box-shadow: 0 8px 24px rgba(196, 110, 50, 0.42);
}
body.home-warm .v6-hero-actions .btn-coral:hover {
  background: linear-gradient(135deg, #F0AC58 0%, #DF9636 60%, #CE7644 100%) !important;
  box-shadow: 0 12px 32px rgba(196, 110, 50, 0.55);
}
body.home-warm .v6-hero-actions .btn-outline-w {
  border-color: rgba(255, 230, 195, 0.75) !important;
  color: #FFF1DA !important;
}
body.home-warm .v6-hero-actions .btn-outline-w:hover {
  background: rgba(255, 230, 195, 0.18) !important;
  border-color: #FFE6C3 !important;
}

/* ── HERO STAT CHIPS — warm amber glass ────────────────── */
body.home-warm .v6-hero-stat {
  /* Dark-warm glass — enough base tint for white text to read cleanly */
  background:
    linear-gradient(
      135deg,
      rgba(30, 16, 6, 0.52) 0%,
      rgba(20, 10, 4, 0.38) 50%,
      rgba(30, 16, 6, 0.48) 100%
    ) !important;
  border-color: rgba(255, 218, 165, 0.45) !important;
  box-shadow:
    0 4px 18px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 220, 160, 0.25);
}
body.home-warm .v6-hero-stat:hover {
  background:
    linear-gradient(
      135deg,
      rgba(30, 16, 6, 0.66) 0%,
      rgba(20, 10, 4, 0.50) 50%,
      rgba(30, 16, 6, 0.62) 100%
    ) !important;
  border-color: rgba(255, 220, 160, 0.65) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 220, 160, 0.35);
}
body.home-warm .v6-hero-stat-icon {
  color: #FFD89A !important;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.5));
}
/* Stat text — pure white + strong shadow so it reads on dark glass */
body.home-warm .v6-hero-stat-text {
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.65) !important;
  font-weight: 600 !important;
}
body.home-warm .v6-hero-stat-text strong {
  color: #FFD89A !important;
}

/* ── HERO SCROLL HINT — soft amber instead of dim white ── */
body.home-warm .v6-hero-scroll {
  color: rgba(255, 232, 195, 0.78);
}
body.home-warm .v6-hero-scroll::after {
  background: rgba(255, 218, 165, 0.55);
}

/* ── LOGO TINT — soft warm shadow on the inverse logo ──── */
body.home-warm:has(.v6-hero) #nav:not(.solid) .nav-logo-img {
  filter: drop-shadow(0 2px 10px rgba(62, 30, 10, 0.45)) !important;
}

/* ═══════════════════════════════════════════════════════════
   WARM MARQUEE — Parchment band · Sepia serif · Saffron dots
   Replaces the dark #1C1C1C bar with a breathable warm scroll
   ═══════════════════════════════════════════════════════════ */

body.home-warm .marquee-wrap {
  background:
    /* subtle dotted texture on top */
    radial-gradient(circle, rgba(62, 46, 31, 0.06) 1px, transparent 1px) 0 0 / 18px 18px,
    /* warm parchment gradient */
    linear-gradient(90deg, #FBF3E4 0%, #F4E6CC 50%, #FBF3E4 100%) !important;
  border-top: 1px solid rgba(216, 139, 44, 0.18) !important;
  border-bottom: 1px solid rgba(216, 139, 44, 0.18) !important;
  padding: 1.15rem 0 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    0 1px 0 rgba(216, 139, 44, 0.08);
}
body.home-warm .marquee-wrap::before {
  background: linear-gradient(90deg,
    #FBF3E4 0%,
    rgba(251, 243, 228, 0.92) 40%,
    rgba(251, 243, 228, 0) 100%) !important;
}
body.home-warm .marquee-wrap::after {
  background: linear-gradient(-90deg,
    #FBF3E4 0%,
    rgba(251, 243, 228, 0.92) 40%,
    rgba(251, 243, 228, 0) 100%) !important;
}
body.home-warm .mq-item {
  /* fallback color if a nth-child rule misses */
  color: var(--warm-sepia) !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic !important;
  font-size: 1.08rem !important;
  font-weight: 600 !important;     /* bumped from 500 for legibility on parchment */
  letter-spacing: 0.02em;
  opacity: 1;                       /* full opacity — colors already deepened */
}
/* Alternating brand-colour cycle — darkened variants for parchment legibility */
body.home-warm .mq-item:nth-child(3n + 1) { color: #C84A41 !important; } /* deep coral */
body.home-warm .mq-item:nth-child(3n + 2) { color: #6B4F8A !important; } /* deep purple */
body.home-warm .mq-item:nth-child(3n)     { color: #0F7B82 !important; } /* deep teal */

/* Dot inherits the item colour but slightly muted */
body.home-warm .mq-dot {
  color: currentColor !important;
  opacity: 0.55 !important;
  font-style: normal !important;
  font-weight: 700;
  font-size: 1.15em;
}
@media (max-width: 640px) {
  body.home-warm .mq-item { font-size: 0.92rem !important; }
}

/* ═══════════════════════════════════════════════════════════
   WARM SECTION TRANSITIONS — soften the bleed from hero into
   the rest of the page so the warmth doesn't end abruptly
   ═══════════════════════════════════════════════════════════ */

/* Soft cream wash on the brand-mark section that follows the marquee */
body.home-warm .brand-mark-section {
  background:
    radial-gradient(ellipse at 20% 0%, rgba(245, 200, 130, 0.12) 0%, transparent 55%),
    radial-gradient(ellipse at 100% 100%, rgba(122, 148, 104, 0.08) 0%, transparent 50%),
    linear-gradient(180deg, #FBF7EE 0%, var(--cream, #FDFAF6) 100%) !important;
}

/* ── BRAND-MARK TEXT — restore visibility on the cream background ── */
/* The default theme paints these in white for the dark hero context;
   under the warm cream wash they vanish. Repaint in sepia. */
body.home-warm .brand-mark-text h2 {
  color: var(--warm-sepia) !important;
}
body.home-warm .brand-mark-text h2 em {
  color: var(--warm-terracotta) !important;   /* warm italic accent */
}
body.home-warm .brand-mark-text p {
  color: var(--warm-sepia-l) !important;       /* readable body sepia */
  opacity: 1;
}
body.home-warm .brand-mark-eyebrow {
  color: var(--warm-saffron) !important;
  font-weight: 600;
}
/* Pillars: dark text + warm tinted glass on cream */
body.home-warm .brand-mark-pillars span {
  background: rgba(255, 240, 215, 0.65) !important;
  border-color: rgba(216, 139, 44, 0.40) !important;
  color: var(--warm-sepia) !important;
  font-weight: 600;
}
body.home-warm .brand-mark-pillars span:nth-child(1) { border-color: rgba(200, 74, 65, 0.55) !important; }
body.home-warm .brand-mark-pillars span:nth-child(2) { border-color: rgba(107, 79, 138, 0.55) !important; }
body.home-warm .brand-mark-pillars span:nth-child(3) { border-color: rgba(15, 123, 130, 0.55) !important; }

/* Warm-tint the dotted modern sections (philosophy/services) to align
   with the new palette instead of cold neutral gray */
body.home-warm section#philosophy,
body.home-warm section#services {
  background-image:
    radial-gradient(circle, rgba(216, 139, 44, 0.085) 1.5px, transparent 1.5px) !important;
  background-color: #FDF9F0 !important;
}
body.home-warm section#philosophy {
  position: relative;
  overflow: hidden;       /* clip the decorative SVGs that hug the edges */
}
/* Lift content above the decorations */
body.home-warm section#philosophy > .container {
  position: relative;
  z-index: 2;
}

/* ═══════════════════════════════════════════════════════════
   PHILOSOPHY DECORATIONS — Ancient meets Modern watermark +
   wellness SVG ornaments (lotus, sun, om, leaf, mala)
   Hidden by default; only visible under body.home-warm
   ═══════════════════════════════════════════════════════════ */

.warm-phil-deco { display: none; }   /* hidden on non-warm pages */

body.home-warm .warm-phil-deco {
  display: block;
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

/* Giant ghosted "Ancient meets Modern" watermark */
body.home-warm .warm-phil-watermark {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-3deg);
  width: 120%;
  text-align: center;
  font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(5rem, 14vw, 14rem);
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: -0.02em;
  color: rgba(196, 110, 50, 0.07);
  white-space: nowrap;
  user-select: none;
}
body.home-warm .warm-phil-watermark span {
  display: inline-block;
  margin: 0 0.18em;
}
body.home-warm .warm-phil-watermark em {
  display: inline-block;
  font-style: italic;
  color: rgba(122, 148, 104, 0.13);   /* sage accent on the verb */
  font-size: 0.78em;
  margin: 0 0.12em;
  vertical-align: 0.05em;
}

/* Decorative SVG ornaments — soft saffron / sepia outlines */
body.home-warm .warm-deco {
  position: absolute;
  width: clamp(110px, 14vw, 180px);
  height: clamp(110px, 14vw, 180px);
  opacity: 0.45;
  pointer-events: none;
}

/* Lotus — top-left, terracotta accent */
body.home-warm .warm-deco-lotus {
  top: 5%;
  left: 2%;
  color: rgba(196, 110, 50, 0.42);
  animation: warmDecoFloat 16s ease-in-out infinite;
}

/* Sun — top-right, amber accent */
body.home-warm .warm-deco-sun {
  top: 8%;
  right: 4%;
  width: clamp(95px, 11vw, 150px);
  height: clamp(95px, 11vw, 150px);
  color: rgba(216, 139, 44, 0.45);
  animation: warmDecoSpin 60s linear infinite;
}

/* Om — bottom-left, sepia accent */
body.home-warm .warm-deco-om {
  bottom: 6%;
  left: 3%;
  width: clamp(100px, 12vw, 160px);
  height: clamp(100px, 12vw, 160px);
  color: rgba(62, 46, 31, 0.34);
  animation: warmDecoFloat 18s ease-in-out -4s infinite;
}

/* Leaf sprig — bottom-right, sage accent */
body.home-warm .warm-deco-leaf {
  bottom: 8%;
  right: 3%;
  width: clamp(120px, 14vw, 190px);
  height: clamp(120px, 14vw, 190px);
  color: rgba(122, 148, 104, 0.50);
  animation: warmDecoFloat 20s ease-in-out -8s infinite;
}

/* Mala beads — mid-right, terracotta accent, slow rotation */
body.home-warm .warm-deco-mala {
  top: 38%;
  right: 8%;
  width: clamp(140px, 16vw, 220px);
  height: clamp(140px, 16vw, 220px);
  color: rgba(196, 110, 50, 0.28);
  animation: warmDecoSpin 90s linear infinite;
}

@keyframes warmDecoFloat {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  33%      { transform: translate(8px, -12px) rotate(2deg); }
  66%      { transform: translate(-6px, 10px) rotate(-2deg); }
}
@keyframes warmDecoSpin {
  to { transform: rotate(360deg); }
}

/* Mobile: tone down the ornament density */
@media (max-width: 768px) {
  body.home-warm .warm-deco-mala,
  body.home-warm .warm-deco-leaf {
    display: none;     /* keep lotus + sun + om for ancient-modern story */
  }
  body.home-warm .warm-deco {
    opacity: 0.30;
  }
  body.home-warm .warm-phil-watermark {
    font-size: clamp(3.4rem, 16vw, 7rem);
    transform: translate(-50%, -50%) rotate(-2deg);
  }
}

/* ═══════════════════════════════════════════════════════════
   KALARI WARRIOR — small line-art accent (not a section)
   A subtle, warm-tinted ornament of the Kalari warrior sketch,
   used at small scale so it reads as a deliberate decoration:
     • home    → joins the Philosophy warm-deco ornament family
     • fitness → accents the "Regular Class" section header
   Multiply drops the sketch's white ground into the cream surface;
   the sepia/hue filter warms the blue/red ink toward the palette.
   ═══════════════════════════════════════════════════════════ */
.kalari-warrior {
  position: absolute;
  width: clamp(120px, 14vw, 185px);
  height: auto;
  pointer-events: none;
  user-select: none;
  opacity: 0.4;
  mix-blend-mode: multiply;
  filter: sepia(0.5) saturate(1.3) hue-rotate(-12deg) contrast(0.95) brightness(1.02);
  z-index: 0;
}
/* Fitness — accent tucked into the empty top-right of the Regular
   Class header; content is layered above it (see z-index guard below) */
.kalari-warrior-sched {
  top: 1.5rem;
  right: 3.5%;
  width: clamp(120px, 13vw, 180px);
  opacity: 0.34;
}
/* keep the heading + class cards painted above the warrior accent */
#kalari-class .sched-header,
#kalari-class .classes-grid {
  position: relative;
  z-index: 1;
}
@media (max-width: 880px) {
  .kalari-warrior-sched { display: none; }   /* avoid crowding the centered header */
}

/* ═══════════════════════════════════════════════════════════
   VALUES — white interlude section
   The interactive values-orbit lifted out of Philosophy onto a clean
   white ground, paired with the Kalari warrior at the SAME height as
   the orbit. The warrior's white sketch-ground melts seamlessly into
   the white background via multiply. Orbit pills + focus card are
   retuned (cream → white) so they stay readable on pure white.
   ═══════════════════════════════════════════════════════════ */
.orbit-section {
  background: #fff;
  padding: clamp(3.5rem, 7vw, 6rem) 0;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.orbit-section-inner {
  position: relative;
  z-index: 2;                          /* orbit sits above the warrior backdrop */
}
/* Warrior — centered backdrop behind the orbit; its white sketch-ground
   melts into the white section so only the line-art reads through */
.values-warrior {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  height: clamp(360px, 46vw, 520px);
  width: auto;
  opacity: 0.85;
  mix-blend-mode: multiply;            /* drops the white ground on white bg */
  pointer-events: none;
  user-select: none;
  z-index: 1;
}
.orbit-section .values-orbit {
  margin: 0 auto;
  max-width: 760px;
}
/* readability on white */
.orbit-section .values-orbit::after {
  background: linear-gradient(0deg, #fff, transparent);
}
.orbit-section .values-orbit-ring {
  background: radial-gradient(ellipse at 50% 13%, rgba(139, 107, 174, 0.06), transparent 62%);
}
.orbit-section .value-orbit-node {
  background: #fff;
  border-color: rgba(28, 28, 28, 0.08);
  box-shadow: 0 10px 30px rgba(28, 28, 28, 0.08);
}
.orbit-section .value-orbit-node.is-active {
  background: #fff;
  border-color: rgba(232, 99, 90, 0.5);
  box-shadow: 0 16px 42px rgba(232, 99, 90, 0.16), 0 0 0 5px rgba(232, 99, 90, 0.08);
}
.orbit-section .values-orbit-focus {
  background: #fff;
  border-color: rgba(28, 28, 28, 0.07);
  box-shadow: 0 18px 52px rgba(28, 28, 28, 0.10);
}
@media (max-width: 900px) {
  .values-warrior { height: clamp(300px, 72vw, 460px); opacity: 0.7; }
  .orbit-section .values-orbit { width: 100%; max-width: 560px; }
}

/* Philosophy text — ensure body copy stays dark & readable */
body.home-warm section#philosophy .phil-text h2,
body.home-warm section#philosophy .phil-text .section-label,
body.home-warm section#philosophy .phil-text p {
  color: var(--warm-sepia);
}
body.home-warm section#philosophy .phil-text h2 em {
  color: var(--warm-terracotta);
}
body.home-warm section#philosophy .phil-text p {
  color: var(--warm-sepia-l) !important;
}
body.home-warm section#philosophy .phil-text .section-label {
  color: var(--warm-saffron) !important;
  font-weight: 600;
}

/* ═══════════════════════════════════════════════════════════
   PHIL-BOX — Ancient meets Modern photographic hero
   Replace the teal/purple gradient with the river-yoga photo,
   warm sepia overlay for legibility, slow Ken-Burns zoom.
   ═══════════════════════════════════════════════════════════ */

body.home-warm #philosophy .phil-box {
  background: none !important;
  border: 1px solid rgba(255, 230, 195, 0.55) !important;
  box-shadow: 0 24px 70px rgba(62, 30, 10, 0.22) !important;
  min-height: 480px;
  overflow: hidden;
  position: relative;
  isolation: isolate;
}
/* Image layer — Ken-Burns slow zoom for cinematic feel */
body.home-warm #philosophy .phil-box::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url('photos/ancient-meets-modern.jpeg');
  background-size: cover;
  background-position: center 45%;
  animation: warmPhilKenBurns 22s ease-in-out infinite alternate;
  filter: saturate(1.08) contrast(1.02);
}
/* Sepia + amber overlay for text legibility + warmth */
body.home-warm #philosophy .phil-box::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(ellipse at 30% 30%, rgba(245, 190, 110, 0.25) 0%, transparent 55%),
    linear-gradient(180deg,
      rgba(62, 30, 10, 0.20) 0%,
      rgba(62, 30, 10, 0.45) 60%,
      rgba(62, 30, 10, 0.75) 100%);
  pointer-events: none;
}
/* Lift text above both image + overlay */
body.home-warm #philosophy .phil-center {
  position: relative;
  z-index: 2;
  padding: clamp(2rem, 4vw, 3.5rem);
}
body.home-warm #philosophy .phil-center h3 {
  color: rgba(255, 248, 230, 0.97) !important;
  opacity: 1 !important;
  font-family: var(--serif) !important;
  font-size: clamp(2.6rem, 4.5vw, 3.6rem) !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.01em;
  text-shadow:
    0 3px 18px rgba(62, 30, 10, 0.65),
    0 1px 4px rgba(0, 0, 0, 0.40) !important;
}
body.home-warm #philosophy .phil-center h3 em {
  color: #FFD89A !important;
  font-style: italic !important;
  opacity: 1 !important;
}
/* Quote card — warm cream glass over the photo's bottom-right */
body.home-warm #philosophy .phil-quote-card {
  background: rgba(255, 248, 235, 0.94) !important;
  border: 1px solid rgba(216, 139, 44, 0.30) !important;
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 44px rgba(62, 30, 10, 0.28) !important;
}
body.home-warm #philosophy .phil-quote-card p {
  color: var(--warm-sepia) !important;
}
body.home-warm #philosophy .phil-quote-card cite {
  color: var(--warm-terracotta) !important;
}

@keyframes warmPhilKenBurns {
  0%   { transform: scale(1.00) translate(0, 0); }
  100% { transform: scale(1.10) translate(-2%, -2%); }
}

/* Dial the giant watermark back a touch now that the phil-box is loud */
body.home-warm .warm-phil-watermark {
  color: rgba(196, 110, 50, 0.05);
}
body.home-warm .warm-phil-watermark em {
  color: rgba(122, 148, 104, 0.10);
}

/* ═══════════════════════════════════════════════════════════
   RESEARCH SECTION — Card redesign for readability & impact
   Universal (#research only lives on index.html)
   ═══════════════════════════════════════════════════════════ */

/* Root background lock — must use both color + image with !important
   to beat the earlier  section#research { background-image: !important }
   and the shorthand-resets-to-transparent bug                         */
#research {
  padding: clamp(4.5rem, 9vw, 7.5rem) 0 clamp(4rem, 8vw, 6.5rem);
  background-color: #1E1208 !important;    /* dark warm sepia floor */
  background-image:
    radial-gradient(ellipse at 20% 0%,  rgba(139, 107, 174, 0.14) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 100%, rgba(30, 173, 181, 0.09) 0%, transparent 50%),
    radial-gradient(circle, rgba(216, 139, 44, 0.055) 1.2px, transparent 1.2px) !important;
  background-size: auto, auto, 28px 28px !important;
  position: relative;
}
/* Remove the ::before dotted layer — it's now baked into background-image */
#research::before { display: none !important; }
#research .rb-inner { z-index: 3; }

/* ── RESEARCH GLOW BLOBS — warm palette on warm landing ── */
body.home-warm .rbg1 {
  background: radial-gradient(circle, rgba(216, 139, 44, 0.18), transparent 70%) !important;
}
body.home-warm .rbg2 {
  background: radial-gradient(circle, rgba(122, 148, 104, 0.14), transparent 70%) !important;
}

/* Header — warm white on dark sepia background */
#research .rb-inner > span {   /* "Bridging Ancient & Modern" inline label */
  color: var(--teal-l) !important;
  opacity: 0.9;
}
body.home-warm #research .rb-inner > span {
  color: #D4A95A !important;   /* warm saffron-gold on dark sepia */
}
#research .rb-inner h2 {
  color: #FFF8EC !important;   /* bright warm white */
  margin-bottom: 1.2rem;
}
#research .rb-inner h2 em {
  color: var(--coral-l) !important;   /* keeps coral accent */
}
#research .rb-inner > p {
  color: rgba(255, 245, 220, 0.82) !important;   /* up from 0.72 */
  font-size: 0.98rem !important;
  line-height: 1.85 !important;
  max-width: 660px;
  margin: 0 auto clamp(2.8rem, 5vw, 4rem);
}

/* Pillar grid — proper gaps, full cards, no hairline */
#research .rb-pillars {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: clamp(0.9rem, 1.6vw, 1.4rem) !important;
}

/* Pillar card — readable, premium, animated */
#research .rb-pillar {
  position: relative;
  padding: clamp(2rem, 3vw, 2.6rem) clamp(1.3rem, 2vw, 1.8rem) clamp(1.8rem, 2.6vw, 2.2rem) !important;
  background:
    linear-gradient(180deg,
      rgba(255, 255, 255, 0.055) 0%,
      rgba(255, 255, 255, 0.018) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  border-radius: 18px !important;
  text-align: center;
  overflow: hidden;
  cursor: default;
  isolation: isolate;
  transition:
    transform 0.55s cubic-bezier(0.2, 0.8, 0.2, 1),
    background 0.4s ease,
    border-color 0.4s ease,
    box-shadow 0.45s ease;

  /* Stagger fade-up — fires when .rb-inner.up scroll-reveals */
  opacity: 0;
  transform: translateY(28px);
}
.rb-inner.up .rb-pillar {
  animation: rbPillarRise 0.85s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}
.rb-inner.up .rb-pillar:nth-child(1) { animation-delay: 0.10s; }
.rb-inner.up .rb-pillar:nth-child(2) { animation-delay: 0.22s; }
.rb-inner.up .rb-pillar:nth-child(3) { animation-delay: 0.34s; }
.rb-inner.up .rb-pillar:nth-child(4) { animation-delay: 0.46s; }

@keyframes rbPillarRise {
  to { opacity: 1; transform: translateY(0); }
}

/* Top accent stripe — slides in on hover */
#research .rb-pillar::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 2.5px;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--rb-accent, rgba(232, 99, 90, 0.9)) 50%,
    transparent 100%);
  transition: width 0.55s cubic-bezier(0.2, 0.8, 0.2, 1);
  z-index: 2;
}

/* Radial halo under the icon — fades in on hover */
#research .rb-pillar::after {
  content: '';
  position: absolute;
  top: 18px;
  left: 50%;
  width: 130px;
  height: 130px;
  transform: translateX(-50%);
  background: radial-gradient(circle,
    var(--rb-accent-soft, rgba(232, 99, 90, 0.28)) 0%,
    transparent 65%);
  opacity: 0;
  transition: opacity 0.55s ease;
  pointer-events: none;
  z-index: 0;
}

#research .rb-pillar:hover {
  transform: translateY(-8px);
  background:
    linear-gradient(180deg,
      rgba(255, 255, 255, 0.085) 0%,
      rgba(255, 255, 255, 0.030) 100%) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  box-shadow: 0 26px 60px rgba(0, 0, 0, 0.55) !important;
}
#research .rb-pillar:hover::before { width: 72%; }
#research .rb-pillar:hover::after  { opacity: 0.55; }

/* Icon — bigger, animated on hover */
#research .rbp-icon {
  position: relative;
  z-index: 1;
  margin-bottom: 1.3rem !important;
}
#research .rbp-icon svg {
  width: 46px !important;
  height: 46px !important;
  transition: transform 0.65s cubic-bezier(0.2, 0.8, 0.2, 1),
              filter 0.5s ease;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.35));
}
#research .rb-pillar:hover .rbp-icon svg {
  transform: scale(1.15) rotate(-6deg);
  filter: drop-shadow(0 6px 18px var(--rb-accent-soft, rgba(232, 99, 90, 0.55)));
}

/* Name — larger, brighter, with subtle letter spacing */
#research .rbp-name {
  position: relative;
  z-index: 1;
  font-family: var(--serif) !important;
  font-size: 1.18rem !important;
  font-weight: 500 !important;
  color: #fff !important;
  margin-bottom: 0.65rem !important;
  letter-spacing: 0.005em;
}

/* Description — much more readable than 0.72rem / 0.4 alpha */
#research .rbp-desc {
  position: relative;
  z-index: 1;
  font-size: 0.84rem !important;
  font-weight: 400 !important;
  color: rgba(255, 245, 220, 0.78) !important;   /* warm cream, was 0.4 */
  line-height: 1.68 !important;
  letter-spacing: 0.005em;
}

/* Per-pillar accent (matches each SVG icon's existing stroke colour) */
#research .rb-pillar:nth-child(1) {
  --rb-accent: rgba(242, 148, 141, 0.85);   /* coral-l — Jyothishya */
  --rb-accent-soft: rgba(242, 148, 141, 0.28);
}
#research .rb-pillar:nth-child(2) {
  --rb-accent: rgba(94, 205, 211, 0.85);    /* teal-l — Nadi Pariksha */
  --rb-accent-soft: rgba(94, 205, 211, 0.28);
}
#research .rb-pillar:nth-child(3) {
  --rb-accent: rgba(180, 154, 206, 0.85);   /* purple-l — Kalaripayattu */
  --rb-accent-soft: rgba(180, 154, 206, 0.28);
}
#research .rb-pillar:nth-child(4) {
  --rb-accent: rgba(122, 174, 237, 0.85);   /* blue — Prakriti Science */
  --rb-accent-soft: rgba(122, 174, 237, 0.28);
}

/* Gentle continuous breathing on the icon — adds quiet life when idle */
@keyframes rbpIconBreath {
  0%, 100% { transform: scale(1) rotate(0deg); }
  50%      { transform: scale(1.04) rotate(0deg); }
}
.rb-inner.up .rb-pillar .rbp-icon svg {
  animation: rbpIconBreath 4.5s ease-in-out infinite;
}
.rb-inner.up .rb-pillar:nth-child(2) .rbp-icon svg { animation-delay: 0.6s; }
.rb-inner.up .rb-pillar:nth-child(3) .rbp-icon svg { animation-delay: 1.2s; }
.rb-inner.up .rb-pillar:nth-child(4) .rbp-icon svg { animation-delay: 1.8s; }
.rb-inner.up .rb-pillar:hover .rbp-icon svg {
  animation: none;   /* hover handler takes over */
}

/* Mobile — 2-up grid, slightly tighter */
@media (max-width: 900px) {
  #research .rb-pillars {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 520px) {
  #research .rb-pillars {
    grid-template-columns: 1fr !important;
  }
  #research .rb-pillar {
    padding: 2rem 1.4rem 1.7rem !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   ĀTMĀ ANALYSIS — Conversion-focused tier card redesign v2
   atma.html · tier-selector section
   ═══════════════════════════════════════════════════════════ */

/* Section background */
.tier-selector {
  padding: clamp(4.5rem, 9vw, 6.5rem) 0 clamp(4rem, 8vw, 6rem) !important;
  background:
    radial-gradient(circle, rgba(28,28,28,0.045) 1.5px, transparent 1.5px) 0 0 / 24px 24px,
    linear-gradient(180deg, var(--cream) 0%, #F2ECE4 100%) !important;
}

/* Section header */
.tc-eyebrow {
  display: block;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--coral);
  margin-bottom: 0.9rem;
}
.tier-header h2 {
  font-size: clamp(2.2rem, 4.5vw, 3.4rem) !important;
  line-height: 1.1 !important;
  margin-bottom: 0.85rem !important;
  color: var(--dark) !important;
}
.tier-header h2 em { color: var(--purple) !important; font-style: italic; }
.tier-header > p {
  font-size: 0.95rem !important;
  color: var(--muted) !important;
  max-width: 500px;
  margin: 0 auto 0 !important;
  line-height: 1.72 !important;
}

/* ── TRUST STRIP ─────────────────────────────────────────── */
.tc-trust {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(0.9rem, 2.4vw, 2rem);
  flex-wrap: nowrap;                 /* single row on desktop */
  margin: 2.4rem auto 3.2rem;
  padding: 1.1rem clamp(1.4rem, 3vw, 2.4rem);
  background: rgba(255,255,255,0.82);
  border-radius: 100px;
  border: 1px solid rgba(0,0,0,0.07);
  backdrop-filter: blur(12px);
  max-width: 980px;                  /* fits all 4 items inline */
  width: fit-content;
  box-shadow: 0 2px 20px rgba(0,0,0,0.06);
}
/* Only wrap once the viewport actually can't hold all 4 items inline */
@media (max-width: 860px) {
  .tc-trust { flex-wrap: wrap; border-radius: 20px; }
}
.tc-trust-item {
  display: flex;
  align-items: center;
  gap: 0.48rem;
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--dark);
  letter-spacing: 0.01em;
  white-space: nowrap;
}
.tc-trust-item svg {
  width: 15px; height: 15px;
  color: var(--coral);
  flex-shrink: 0;
}
.tc-trust-sep {
  width: 1px; height: 20px;
  background: rgba(0,0,0,0.10);
  flex-shrink: 0;
}

/* ── CARD GRID ───────────────────────────────────────────── */
.tier-cards-v2 {
  display: grid;
  grid-template-columns: 1fr 1.08fr 1fr;
  gap: clamp(1rem, 2vw, 1.6rem);
  align-items: stretch;          /* match heights across all cards */
  margin-bottom: 1.8rem;
}

/* ── BASE CARD ───────────────────────────────────────────── */
.tc-card {
  background: #fff;
  border-radius: 22px;
  border: 1.5px solid rgba(0,0,0,0.07);
  overflow: hidden;
  cursor: pointer;
  position: relative;
  transition:
    transform 0.45s cubic-bezier(0.2,0.8,0.2,1),
    box-shadow 0.45s ease;
  /* Flex column so .tc-body can fill the remaining height */
  display: flex;
  flex-direction: column;
  height: 100%;
}
.tc-card:hover { transform: translateY(-7px); box-shadow: 0 28px 64px rgba(0,0,0,0.13); }
.tc-card.selected { outline: 3px solid var(--coral); outline-offset: 3px; }

/* Coloured card header */
.tc-header {
  padding: 1.8rem 2rem 1.5rem;
  text-align: center;
}
.tc-label {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
}
.tc-tagline {
  font-family: var(--serif);
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.01em;
}

/* Card body — flex column so it can stretch to fill the card */
.tc-body {
  padding: 1.6rem 2rem 2rem;
  display: flex;
  flex-direction: column;
  flex: 1;                 /* fill remaining space inside card */
}
/* Features always sit at the bottom — gives shorter feature lists
   a clean trailing margin instead of a giant white gap below */
.tc-features { margin-top: auto; }

.tc-price {
  display: flex;
  align-items: flex-start;
  justify-content: center;          /* CENTER the price horizontally */
  gap: 0.1rem;
  margin-bottom: 0.25rem;
  line-height: 1;
}
.tc-price sup {
  font-family: var(--sans);
  font-size: 1.15rem;
  font-weight: 500;
  color: var(--dark);
  margin-top: 0.55rem;
  flex-shrink: 0;
}
.tc-price-num {
  font-family: var(--serif);
  font-size: 3.6rem;
  font-weight: 400;
  color: var(--dark);
  letter-spacing: -0.025em;
  line-height: 1;
}
.tc-price-meta {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: 0.35rem;
  margin-left: 0.3rem;
  text-align: left;                 /* keep meta text left-aligned within itself */
}
.tc-price-meta span {
  font-size: 0.65rem;
  color: var(--muted);
  line-height: 1.4;
  font-weight: 500;
  white-space: nowrap;
}
.tc-tier-name {
  font-family: var(--serif);
  font-size: 0.95rem;
  font-style: italic;
  color: var(--muted);
  margin-bottom: 1.4rem;
  letter-spacing: 0.01em;
  text-align: center;               /* matches centered price */
}

/* CTA button */
.tc-cta {
  display: block;
  width: 100%;
  padding: 0.95rem 1rem;
  font-family: var(--sans);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  cursor: pointer;
  border: none;
  border-radius: 10px;
  margin-bottom: 1.8rem;
  transition: all 0.3s;
  text-align: center;
}

/* Feature list */
.tc-features { border-top: 1px solid rgba(0,0,0,0.06); padding-top: 1.4rem; }
.tc-feat-label {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 0.9rem;
}
.tc-feat-label strong { color: var(--dark); text-transform: none; letter-spacing: 0; }
.tc-features ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 0.48rem; }
.tc-features li {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-size: 0.8rem;
  color: var(--body);
  line-height: 1.45;
}
/* SVG check icons via inline span */
.tc-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 0.05rem;
}
.tc-check svg { display: block; width: 10px; height: 10px; }
.tc-miss {
  display: inline-flex; align-items: center; justify-content: center;
  width: 18px; height: 18px; border-radius: 50%;
  flex-shrink: 0; margin-top: 0.05rem;
  background: rgba(0,0,0,0.04);
}
.tc-miss svg { width: 9px; height: 9px; opacity: 0.3; }
li.tc-no-feat { color: var(--muted); opacity: 0.5; }

/* "Most Popular" badge */
.tc-popular-badge {
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  font-size: 0.57rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 0.28rem 1.5rem;
  border-radius: 0 0 12px 12px;
  white-space: nowrap;
  z-index: 2;
}

/* ── BASIC — teal ────────────────────────────────────────── */
.tc-basic .tc-header { background: linear-gradient(135deg, #E8F8F9 0%, rgba(235,248,249,0.55) 100%); border-bottom: 1px solid rgba(30,173,181,0.14); }
.tc-basic .tc-label { color: var(--teal); }
.tc-basic .tc-tagline { color: rgba(14,110,116,0.8); }
.tc-basic .tc-cta { background: var(--teal-p); color: var(--teal); border: 1.5px solid rgba(30,173,181,0.25); }
.tc-basic .tc-cta:hover, .tc-card.selected.tc-basic .tc-cta { background: var(--teal); color: #fff; box-shadow: 0 8px 24px rgba(30,173,181,0.38); border-color: transparent; }
.tc-basic .tc-check { background: rgba(30,173,181,0.12); }
.tc-basic .tc-check svg { color: var(--teal); }

/* ── INTERMEDIATE — purple / featured ───────────────────── */
.tc-featured {
  border-color: var(--purple) !important;
  box-shadow: 0 16px 52px rgba(139,107,174,0.22);
}
.tc-featured:hover { box-shadow: 0 30px 72px rgba(139,107,174,0.30) !important; }
.tc-inter .tc-popular-badge { background: linear-gradient(90deg, var(--purple), #a07cc8); color: #fff; box-shadow: 0 4px 14px rgba(139,107,174,0.40); }
.tc-inter .tc-header { background: linear-gradient(135deg, #6B4F9E 0%, #8B6BAE 55%, #a07cc8 100%); padding-top: 2.4rem; }
.tc-inter .tc-label { color: rgba(255,255,255,0.75); }
.tc-inter .tc-tagline { color: rgba(255,255,255,0.96); }
.tc-inter .tc-cta { background: linear-gradient(135deg, var(--purple), #a07cc8); color: #fff; box-shadow: 0 6px 20px rgba(139,107,174,0.38); }
.tc-inter .tc-cta:hover { box-shadow: 0 12px 30px rgba(139,107,174,0.52); transform: translateY(-1px); }
.tc-inter .tc-check { background: rgba(139,107,174,0.12); }
.tc-inter .tc-check svg { color: var(--purple); }
.tc-inter.tc-card.selected { outline-color: var(--purple); }

/* ── ADVANCED — coral ────────────────────────────────────── */
.tc-advanced .tc-header { background: linear-gradient(135deg, #FDF0EF 0%, rgba(253,240,239,0.55) 100%); border-bottom: 1px solid rgba(232,99,90,0.14); }
.tc-advanced .tc-label { color: var(--coral); }
.tc-advanced .tc-tagline { color: rgba(180,60,55,0.8); }
.tc-advanced .tc-cta { background: var(--coral); color: #fff; box-shadow: 0 6px 20px rgba(232,99,90,0.30); }
.tc-advanced .tc-cta:hover { background: #d44f46; box-shadow: 0 12px 30px rgba(232,99,90,0.48); transform: translateY(-1px); }
.tc-advanced .tc-check { background: rgba(232,99,90,0.10); }
.tc-advanced .tc-check svg { color: var(--coral); }

/* Reassurance / bottom line */
.tc-reassure {
  text-align: center;
  padding-top: 0.5rem;
}
.tc-reassure p {
  font-family: var(--serif);
  font-size: 0.94rem;
  font-style: italic;
  color: var(--muted);
}
.tc-reassure a { color: var(--coral); border-bottom: 1px solid rgba(232,99,90,0.3); transition: border-color 0.2s; }
.tc-reassure a:hover { border-color: var(--coral); }

/* Responsive */
@media (max-width: 900px) {
  .tier-cards-v2 { grid-template-columns: 1fr 1fr; }
  .tc-advanced  { grid-column: span 2; max-width: 420px; margin: 0 auto; width: 100%; }
}
@media (max-width: 580px) {
  .tier-cards-v2 { grid-template-columns: 1fr; }
  .tc-advanced  { grid-column: auto; max-width: 100%; }
  .tc-trust { border-radius: 16px; }
  .tc-trust-sep { display: none; }
}

/* CTA links (a tag styled like a button for homepage variant) */
a.tc-cta, a.tc-cta-link {
  display: block;
  text-decoration: none;
  text-align: center;
}

/* "Coach Session — Free" bonus flag on Advanced card */
.tc-bonus-flag {
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(90deg, var(--coral) 0%, #E89D58 100%);
  color: #fff;
  font-size: 0.57rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 0.28rem 1.3rem;
  border-radius: 0 0 12px 12px;
  white-space: nowrap;
  z-index: 2;
  box-shadow: 0 4px 12px rgba(232, 99, 90, 0.35);
}
.tc-advanced .tc-header { padding-top: 2.4rem; }

/* ═══════════════════════════════════════════════════════════
   HOMEPAGE #atma — Warm-themed conversion section
   Section header, "Why ATMA?" conversion callout, warm dressing
   ═══════════════════════════════════════════════════════════ */

section#atma {
  position: relative;
  overflow: hidden;
}

.atma-intro {
  text-align: center;
  max-width: 720px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.atma-eyebrow {
  display: block;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--coral);
  margin-bottom: 0.9rem;
}
.atma-intro h2 {
  font-family: var(--serif);
  font-size: clamp(2.2rem, 4.8vw, 3.6rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.015em;
  color: var(--dark);
  margin-bottom: 0.9rem;
}
.atma-intro h2 em {
  font-style: italic;
  color: var(--purple);
}
.atma-full {
  display: block;
  font-family: var(--serif);
  font-style: italic;
  font-size: 0.88rem;
  color: var(--muted);
  letter-spacing: 0.04em;
  margin-bottom: 1rem;
}
.atma-intro > p {
  font-size: 0.96rem;
  color: var(--muted);
  line-height: 1.72;
  max-width: 540px;
  margin: 0 auto;
}

/* Decorative warm blobs */
.atma-warm-blob {
  position: absolute;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  filter: blur(110px);
  pointer-events: none;
  z-index: 0;
  opacity: 0;
}
body.home-warm .atma-warm-blob { opacity: 0.55; }
.atma-blob-1 {
  background: radial-gradient(circle, rgba(216, 139, 44, 0.35), transparent 65%);
  top: -120px;
  left: -160px;
}
.atma-blob-2 {
  background: radial-gradient(circle, rgba(122, 148, 104, 0.30), transparent 65%);
  bottom: -160px;
  right: -180px;
}

/* Wrapper around the cards so the warm blobs sit behind */
section#atma > .container {
  position: relative;
  z-index: 2;
}

/* "Why ATMA?" conversion callout */
.atma-why {
  margin-top: clamp(2.4rem, 5vw, 3.6rem);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: clamp(1.2rem, 3vw, 2.4rem);
  padding: clamp(1.8rem, 3.5vw, 2.4rem) clamp(1.8rem, 3.5vw, 2.8rem);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 248, 235, 0.90) 100%);
  border: 1px solid rgba(216, 139, 44, 0.22);
  border-radius: 20px;
  box-shadow: 0 14px 50px rgba(62, 30, 10, 0.10);
  backdrop-filter: blur(8px);
}
.atma-why-mark {
  width: 64px; height: 64px;
  color: var(--coral);
  flex-shrink: 0;
}
.atma-why-mark svg { width: 100%; height: 100%; }
.atma-why-text { flex: 1; }
.atma-why-eyebrow {
  display: block;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--coral);
  margin-bottom: 0.5rem;
}
.atma-why-text h3 {
  font-family: var(--serif);
  font-size: clamp(1.3rem, 2.4vw, 1.7rem);
  font-weight: 400;
  color: var(--dark);
  line-height: 1.15;
  margin-bottom: 0.55rem;
  letter-spacing: -0.005em;
}
.atma-why-text h3 em {
  font-style: italic;
  color: var(--purple);
}
.atma-why-text p {
  font-size: 0.86rem;
  color: var(--body);
  line-height: 1.65;
  margin: 0;
  max-width: 640px;
}
.atma-why-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.85rem 1.4rem;
  background: var(--dark);
  color: #fff !important;
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  border-radius: 100px;
  white-space: nowrap;
  transition: transform 0.3s, box-shadow 0.3s, background 0.3s;
  flex-shrink: 0;
}
.atma-why-cta:hover {
  background: var(--coral);
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(232, 99, 90, 0.38);
}

/* Warm-theme accents for homepage atma */
body.home-warm section#atma {
  background-color: #FBF5EA !important;
  background-image: radial-gradient(circle, rgba(216, 139, 44, 0.07) 1.5px, transparent 1.5px) !important;
  background-size: 24px 24px !important;
}
body.home-warm .atma-eyebrow {
  color: var(--warm-saffron) !important;
}
body.home-warm .atma-intro h2 em {
  color: var(--warm-terracotta) !important;
}
body.home-warm .atma-why {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 240, 215, 0.85) 100%) !important;
  border-color: rgba(216, 139, 44, 0.32) !important;
}
body.home-warm .atma-why-eyebrow,
body.home-warm .atma-why-mark { color: var(--warm-saffron) !important; }
body.home-warm .atma-why-text h3 em { color: var(--warm-terracotta) !important; }
body.home-warm .atma-why-cta {
  background: linear-gradient(135deg, var(--warm-saffron), var(--warm-terracotta)) !important;
  box-shadow: 0 8px 24px rgba(196, 110, 50, 0.35);
}
body.home-warm .atma-why-cta:hover {
  background: linear-gradient(135deg, var(--warm-terracotta), var(--warm-saffron)) !important;
  box-shadow: 0 14px 36px rgba(196, 110, 50, 0.50);
}
body.home-warm .tc-trust {
  background: rgba(255, 248, 235, 0.92) !important;
  border-color: rgba(216, 139, 44, 0.22) !important;
}
body.home-warm .tc-trust-item { color: var(--warm-sepia) !important; }
body.home-warm .tc-trust-item svg { color: var(--warm-terracotta) !important; }

/* Responsive — Why ATMA callout */
@media (max-width: 760px) {
  .atma-why {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 1rem;
  }
  .atma-why-mark { width: 52px; height: 52px; margin: 0 auto; }
  .atma-why-cta { justify-self: center; }
}

/* ═══════════════════════════════════════════════════════════
   ATMA.HTML — Warm theme for page-hero, form sections, cta-section
   The body now carries .home-warm so the tier cards, trust strip
   and other shared modules already retint. Add the page-hero +
   surrounding sections here.
   ═══════════════════════════════════════════════════════════ */

body.home-warm .page-hero {
  background-color: #2C1E14;
}
body.home-warm .page-hero .ph-label {
  color: #F5D896 !important;
}
body.home-warm .page-hero .ph-h1 em {
  color: #FFD89A !important;
}
body.home-warm .ph-glow.phg1 { background: radial-gradient(circle, rgba(216, 139, 44, 0.32), transparent 65%) !important; }
body.home-warm .ph-glow.phg2 { background: radial-gradient(circle, rgba(122, 148, 104, 0.24), transparent 65%) !important; }
body.home-warm .ph-glow.phg3 { background: radial-gradient(circle, rgba(196, 110, 50, 0.20), transparent 65%) !important; }

/* ATMA hero — its inline overlay is a COLD blue (rgba(13,13,30)); replace
   with a warm sunrise overlay over the group-meditation photo so it's
   bright + consistent with the landing hero (not heavy/dark) */
body.home-warm:has(.tier-selector) .page-hero {
  background-image:
    /* warm rim glow upper-right */
    radial-gradient(ellipse at 82% 14%, rgba(245, 195, 110, 0.40) 0%, rgba(245, 195, 110, 0) 48%),
    /* gentle left scrim — light, text-shadows carry legibility */
    radial-gradient(ellipse at 16% 46%, rgba(40, 24, 12, 0.42) 0%, rgba(40, 24, 12, 0.10) 60%),
    /* soft sepia base */
    linear-gradient(135deg, rgba(44, 26, 14, 0.34), rgba(28, 18, 10, 0.52)),
    url('photos/heroes/group-meditation.webp') !important;
}
body.home-warm:has(.tier-selector) .ph-desc {
  color: #ffffff !important;
  font-size: 1.05rem !important;
  text-shadow: 0 2px 24px rgba(20, 10, 4, 0.85), 0 1px 5px rgba(0, 0, 0, 0.6) !important;
}
body.home-warm:has(.tier-selector) .ph-h1,
body.home-warm:has(.tier-selector) .ph-label {
  text-shadow: 0 2px 24px rgba(20, 10, 4, 0.7), 0 1px 4px rgba(0, 0, 0, 0.5) !important;
}
body.home-warm:has(.tier-selector) .breadcrumb a { color: #F5D896 !important; }
/* warm the atma hero stat chips (they use .ph-stat, dark-warm glass) */
body.home-warm:has(.tier-selector) .ph-stat {
  background:
    linear-gradient(135deg, rgba(30, 16, 6, 0.50) 0%, rgba(20, 10, 4, 0.36) 50%, rgba(30, 16, 6, 0.46) 100%) !important;
  border-color: rgba(255, 218, 165, 0.45) !important;
  box-shadow: 0 4px 18px rgba(0,0,0,0.32), inset 0 1px 0 rgba(255,220,160,0.22) !important;
}
body.home-warm:has(.tier-selector) .ph-stat-text { color: #fff !important; text-shadow: 0 1px 4px rgba(0,0,0,0.6); font-weight: 600 !important; }
body.home-warm:has(.tier-selector) .ph-stat-icon { color: #FFD89A !important; }
body.home-warm:has(.tier-selector) .ph-stat-text strong { color: #FFD89A !important; }

/* Form sections — warm cream backdrop */
body.home-warm .form-section {
  background: linear-gradient(180deg, #FBF5EA 0%, #F5EBD9 100%);
}
body.home-warm .form-container {
  background: #FFFAF1 !important;
  border: 1px solid rgba(216, 139, 44, 0.18);
}
body.home-warm .step-title {
  color: var(--warm-terracotta) !important;
}
body.home-warm .payment-block {
  background: linear-gradient(135deg, #F5EBD9, #EBD9B8) !important;
}
body.home-warm .rzp-btn {
  background: linear-gradient(135deg, var(--warm-saffron), var(--warm-terracotta)) !important;
  box-shadow: 0 8px 24px rgba(196, 110, 50, 0.40);
}
body.home-warm .rzp-btn:hover {
  background: linear-gradient(135deg, var(--warm-terracotta), var(--warm-saffron)) !important;
  box-shadow: 0 14px 36px rgba(196, 110, 50, 0.55);
}

/* CTA section at bottom of atma.html */
body.home-warm .cta-section {
  background: linear-gradient(135deg, #F5EBD9 0%, #FBF5EA 100%) !important;
}
body.home-warm .cta-section h2 em {
  color: var(--warm-terracotta) !important;
}

/* ═══════════════════════════════════════════════════════════
   "HOW ATMA WORKS" — Journey-style 4-step process
   Custom SVG illustrations + numbered marks + connecting flow
   Replaces the old .hiw-grid four-card layout
   ═══════════════════════════════════════════════════════════ */

.journey-section {
  position: relative;
  padding: clamp(5rem, 10vw, 8rem) 0 clamp(4rem, 8vw, 6.5rem);
  background:
    radial-gradient(circle, rgba(28, 28, 28, 0.045) 1.5px, transparent 1.5px) 0 0 / 24px 24px,
    linear-gradient(180deg, var(--cream2) 0%, var(--cream) 100%);
  overflow: hidden;
}
body.home-warm .journey-section {
  background:
    radial-gradient(circle, rgba(216, 139, 44, 0.07) 1.5px, transparent 1.5px) 0 0 / 24px 24px,
    linear-gradient(180deg, #F5EBD9 0%, #FBF5EA 100%) !important;
}

/* Decorative blobs */
.journey-blob {
  position: absolute;
  width: 480px;
  height: 480px;
  border-radius: 50%;
  filter: blur(110px);
  pointer-events: none;
  z-index: 0;
  opacity: 0;
}
body.home-warm .journey-blob { opacity: 0.45; }
.journey-blob-1 {
  background: radial-gradient(circle, rgba(122, 148, 104, 0.34), transparent 65%);
  top: 10%; left: -120px;
}
.journey-blob-2 {
  background: radial-gradient(circle, rgba(216, 139, 44, 0.30), transparent 65%);
  bottom: 5%; right: -140px;
}

.journey-section .container { position: relative; z-index: 2; }

/* Section header */
.journey-header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto clamp(2.8rem, 5vw, 4rem);
}
.journey-eyebrow {
  display: inline-block;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--coral);
  margin-bottom: 0.95rem;
  padding: 0.4rem 1rem;
  background: rgba(232, 99, 90, 0.10);
  border-radius: 100px;
}
body.home-warm .journey-eyebrow {
  color: var(--warm-terracotta) !important;
  background: rgba(196, 110, 50, 0.10) !important;
}
.journey-header h2 {
  font-family: var(--serif);
  font-size: clamp(2.2rem, 4.8vw, 3.4rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.015em;
  color: var(--dark);
  margin-bottom: 1rem;
}
.journey-header h2 em {
  font-style: italic;
  color: var(--purple);
}
body.home-warm .journey-header h2 em {
  color: var(--warm-terracotta) !important;
}
.journey-header p {
  font-size: 0.96rem;
  color: var(--muted);
  line-height: 1.72;
  max-width: 580px;
  margin: 0 auto;
}
body.home-warm .journey-header p { color: var(--warm-sepia-l) !important; }

/* Connecting SVG path between stations */
.journey-path {
  position: absolute;
  top: 50%;
  left: 0; right: 0;
  width: 100%;
  height: 100px;
  transform: translateY(-30px);
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  animation: journeyPathDraw 1.4s ease 0.4s forwards;
}
@keyframes journeyPathDraw {
  to { opacity: 0.65; }
}

/* The 4 stations grid */
.journey-stations {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(1rem, 2vw, 2rem);
  z-index: 2;
}

/* Each station */
.journey-station {
  position: relative;
  text-align: center;
  padding: 0 0.5rem;
}

/* The numbered + illustrated mark (the visual focal point) */
.js-mark {
  position: relative;
  width: clamp(140px, 16vw, 200px);
  height: clamp(140px, 16vw, 200px);
  margin: 0 auto 1.8rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 2px solid rgba(0, 0, 0, 0.06);
  box-shadow:
    0 18px 50px rgba(28, 28, 28, 0.08),
    inset 0 0 0 6px rgba(255, 255, 255, 0.6);
  transition:
    transform 0.55s cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 0.55s ease,
    border-color 0.45s ease;
}
.js-illustration {
  width: 70%;
  height: 70%;
  display: block;
  transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.js-num {
  position: absolute;
  top: -10px;
  right: -8px;
  font-family: var(--serif);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  background: #fff;
  color: var(--dark);
  border: 2px solid currentColor;
  border-radius: 100px;
  padding: 0.25rem 0.7rem;
  line-height: 1;
  z-index: 3;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.10);
}

/* Per-station accent colors */
.js-mark-teal    { color: var(--teal);    border-color: rgba(30, 173, 181, 0.30); }
.js-mark-purple  { color: var(--purple);  border-color: rgba(139, 107, 174, 0.30); }
.js-mark-coral   { color: var(--coral);   border-color: rgba(232, 99, 90, 0.30); }
.js-mark-saffron { color: #D88B2C;        border-color: rgba(216, 139, 44, 0.36); }

.js-mark-teal    .js-num { color: var(--teal); }
.js-mark-purple  .js-num { color: var(--purple); }
.js-mark-coral   .js-num { color: var(--coral); }
.js-mark-saffron .js-num { color: #D88B2C; }

/* Idle breathing pulse on the marks */
.js-mark::before {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 2px solid currentColor;
  opacity: 0;
  animation: journeyPulse 3.6s ease-in-out infinite;
}
.journey-station:nth-child(1) .js-mark::before { animation-delay: 0s; }
.journey-station:nth-child(2) .js-mark::before { animation-delay: 0.9s; }
.journey-station:nth-child(3) .js-mark::before { animation-delay: 1.8s; }
.journey-station:nth-child(4) .js-mark::before { animation-delay: 2.7s; }
@keyframes journeyPulse {
  0%   { transform: scale(0.95); opacity: 0; }
  50%  { transform: scale(1.10); opacity: 0.35; }
  100% { transform: scale(1.25); opacity: 0; }
}

/* Hover interaction */
.journey-station:hover .js-mark {
  transform: translateY(-6px);
  border-color: currentColor;
  box-shadow:
    0 26px 64px rgba(28, 28, 28, 0.18),
    inset 0 0 0 6px rgba(255, 255, 255, 0.85);
}
.journey-station:hover .js-illustration {
  transform: scale(1.08);
}

/* Specific per-station hover micro-animations */
.journey-station:nth-child(1):hover .js-illustration { animation: jsTilt 0.7s ease; }
.journey-station:nth-child(2):hover .js-illustration { animation: jsWrite 0.8s ease; }
.journey-station:nth-child(3):hover .js-illustration { animation: jsSpin 1.4s linear; }
.journey-station:nth-child(4):hover .js-illustration { animation: jsBurst 0.7s ease; }
@keyframes jsTilt  { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(-5deg) scale(1.08); } }
@keyframes jsWrite { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(3px) scale(1.06); } }
@keyframes jsSpin  { from { transform: rotate(0) scale(1.06); } to { transform: rotate(360deg) scale(1.06); } }
@keyframes jsBurst { 0%, 100% { transform: scale(1.08); } 50% { transform: scale(1.18); } }

/* Content block under each mark */
.js-content { max-width: 280px; margin: 0 auto; }
.js-step-label {
  display: inline-block;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 0.5rem;
  padding: 0.18rem 0.7rem;
  background: rgba(0, 0, 0, 0.04);
  border-radius: 100px;
}
.js-content h3 {
  font-family: var(--serif);
  font-size: clamp(1.1rem, 1.6vw, 1.35rem);
  font-weight: 500;
  color: var(--dark);
  line-height: 1.2;
  margin-bottom: 0.7rem;
  letter-spacing: -0.005em;
}
body.home-warm .js-content h3 { color: var(--warm-sepia) !important; }
.js-content p {
  font-size: 0.82rem;
  color: var(--body);
  line-height: 1.62;
  margin-bottom: 1rem;
}
body.home-warm .js-content p { color: var(--warm-sepia-l) !important; }

/* Meta time/info chip below copy */
.js-meta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 0.4rem 0.85rem;
  border-radius: 100px;
  background: rgba(0, 0, 0, 0.04);
  color: var(--dark);
}
.js-meta svg { width: 12px; height: 12px; flex-shrink: 0; }
body.home-warm .js-meta {
  background: rgba(216, 139, 44, 0.10) !important;
  color: var(--warm-sepia) !important;
}
.journey-station:nth-child(1) .js-meta { color: var(--teal); }
.journey-station:nth-child(2) .js-meta { color: var(--purple); }
.journey-station:nth-child(3) .js-meta { color: var(--coral); }
.journey-station:nth-child(4) .js-meta { color: #D88B2C; }

/* Stagger reveal of stations (uses existing .reveal → .up classes) */
.journey-station {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.journey-station.up { opacity: 1; transform: translateY(0); }

/* Bottom CTA strip */
.journey-cta {
  margin-top: clamp(3rem, 6vw, 4.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.4rem 2rem;
  padding: 1.4rem 2rem;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 100px;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  backdrop-filter: blur(12px);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.06);
}
.journey-cta p {
  font-family: var(--serif);
  font-style: italic;
  font-size: 0.9rem;
  color: var(--muted);
  margin: 0;
}
.journey-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.8rem 1.6rem;
  background: var(--dark);
  color: #fff !important;
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  border-radius: 100px;
  white-space: nowrap;
  transition: transform 0.3s, box-shadow 0.3s, background 0.3s;
}
.journey-cta-btn:hover {
  background: var(--coral);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(232, 99, 90, 0.38);
}
body.home-warm .journey-cta {
  background: rgba(255, 248, 235, 0.92) !important;
  border-color: rgba(216, 139, 44, 0.22) !important;
}
body.home-warm .journey-cta p { color: var(--warm-sepia-l) !important; }
body.home-warm .journey-cta-btn {
  background: linear-gradient(135deg, var(--warm-saffron), var(--warm-terracotta)) !important;
  box-shadow: 0 8px 24px rgba(196, 110, 50, 0.35);
}
body.home-warm .journey-cta-btn:hover {
  box-shadow: 0 14px 36px rgba(196, 110, 50, 0.50);
}

/* Responsive — 2-col then 1-col */
@media (max-width: 980px) {
  .journey-stations { grid-template-columns: 1fr 1fr; gap: 3rem 2rem; }
  .journey-path { display: none; }
}
@media (max-width: 580px) {
  .journey-stations { grid-template-columns: 1fr; gap: 3rem; }
  .journey-cta { border-radius: 18px; flex-direction: column; padding: 1.4rem; text-align: center; }
}

/* ═══════════════════════════════════════════════════════════
   FIVE PATHWAYS TO WHOLENESS — Services section v2
   Card grid with custom SVG illustrations, warm theme support,
   subtle idle motion + rich hover animations
   ═══════════════════════════════════════════════════════════ */

section#services {
  position: relative;
  padding: clamp(4.5rem, 9vw, 7.5rem) 0 clamp(4rem, 8vw, 7rem) !important;
  overflow: hidden;
}

/* Decorative warm blobs */
.svc-blob {
  position: absolute;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  filter: blur(120px);
  pointer-events: none;
  z-index: 0;
  opacity: 0;
}
body.home-warm .svc-blob { opacity: 0.55; }
.svc-blob-1 {
  background: radial-gradient(circle, rgba(216, 139, 44, 0.32), transparent 65%);
  top: 8%; left: -180px;
}
.svc-blob-2 {
  background: radial-gradient(circle, rgba(139, 107, 174, 0.26), transparent 65%);
  bottom: 5%; right: -160px;
}
section#services > .container { position: relative; z-index: 2; }

/* ── HEADER ───────────────────────────────────────────── */
.svc-header {
  text-align: center;
  max-width: 700px;
  margin: 0 auto clamp(2.8rem, 5vw, 4rem);
}
.svc-eyebrow {
  display: inline-block;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--coral);
  margin-bottom: 0.95rem;
  padding: 0.4rem 1rem;
  background: rgba(232, 99, 90, 0.10);
  border-radius: 100px;
}
.svc-header h2 {
  font-family: var(--serif);
  font-size: clamp(2.2rem, 4.8vw, 3.5rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.015em;
  color: var(--dark);
  margin-bottom: 1rem;
}
.svc-header h2 em {
  font-style: italic;
  color: var(--purple);
}
.svc-header p {
  font-size: 0.98rem;
  color: var(--muted);
  line-height: 1.72;
  max-width: 560px;
  margin: 0 auto;
}

/* Warm theme header */
body.home-warm .svc-eyebrow {
  color: var(--warm-terracotta) !important;
  background: rgba(196, 110, 50, 0.10) !important;
}
body.home-warm .svc-header h2 em { color: var(--warm-terracotta) !important; }
body.home-warm .svc-header p { color: var(--warm-sepia-l) !important; }
body.home-warm .svc-header h2 { color: var(--warm-sepia) !important; }

/* ── CARD GRID ────────────────────────────────────────── */
.svc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1rem, 2vw, 1.5rem);
}

/* ── BASE CARD ────────────────────────────────────────── */
.svc-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 2.4rem 2rem 2rem;
  background: #fff;
  border: 1.5px solid rgba(0, 0, 0, 0.06);
  border-radius: 22px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  isolation: isolate;
  transition:
    transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 0.5s ease,
    border-color 0.4s ease,
    background 0.4s ease;
}
.svc-card:hover {
  transform: translateY(-8px);
  border-color: rgba(0, 0, 0, 0.10);
  box-shadow: 0 28px 64px rgba(28, 28, 28, 0.13);
}

/* Top gradient stripe */
.svc-stripe {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--svc-c1), var(--svc-c2));
  transform: scaleX(0.3);
  transform-origin: left;
  transition: transform 0.55s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.svc-card:hover .svc-stripe { transform: scaleX(1); }

/* Radial halo under the mark — fades in on hover */
.svc-card::before {
  content: '';
  position: absolute;
  top: 12px; left: 50%;
  width: 220px; height: 220px;
  transform: translateX(-50%);
  background: radial-gradient(circle,
    var(--svc-c1-soft, rgba(232, 99, 90, 0.16)) 0%,
    transparent 65%);
  opacity: 0;
  z-index: 0;
  pointer-events: none;
  transition: opacity 0.55s ease;
}
.svc-card:hover::before { opacity: 1; }

/* ── ILLUSTRATION MARK ───────────────────────────────── */
.svc-mark {
  position: relative;
  width: 88px;
  height: 88px;
  margin-bottom: 1.3rem;
  border-radius: 50%;
  background: var(--svc-bg, rgba(232, 99, 90, 0.10));
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--svc-c1, var(--coral));
  z-index: 1;
  transition: transform 0.55s cubic-bezier(0.2, 0.8, 0.2, 1),
              box-shadow 0.55s ease;
}
.svc-illustration {
  width: 60px;
  height: 60px;
  display: block;
  transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* Idle subtle breathing on the mark */
.svc-mark::after {
  content: '';
  position: absolute;
  inset: -5px;
  border-radius: 50%;
  border: 1.5px solid currentColor;
  opacity: 0;
  animation: svcBreath 4s ease-in-out infinite;
}
.svc-card:nth-child(1) .svc-mark::after { animation-delay: 0s; }
.svc-card:nth-child(2) .svc-mark::after { animation-delay: 0.6s; }
.svc-card:nth-child(3) .svc-mark::after { animation-delay: 1.2s; }
.svc-card:nth-child(4) .svc-mark::after { animation-delay: 1.8s; }
.svc-card:nth-child(5) .svc-mark::after { animation-delay: 2.4s; }
.svc-card:nth-child(6) .svc-mark::after { animation-delay: 3.0s; }
@keyframes svcBreath {
  0%   { transform: scale(0.95); opacity: 0; }
  50%  { transform: scale(1.18); opacity: 0.32; }
  100% { transform: scale(1.35); opacity: 0; }
}

/* Hover — mark lifts and illustration scales */
.svc-card:hover .svc-mark {
  transform: scale(1.08);
  box-shadow: 0 10px 28px var(--svc-c1-soft, rgba(232, 99, 90, 0.30));
}
.svc-card:hover .svc-illustration { transform: scale(1.10); }

/* Per-card hover micro-animations */
.svc-card.svc-coral:hover  .svc-illustration { animation: svcPulseHeart 0.7s ease; }
.svc-card.svc-teal:hover   .svc-illustration { animation: svcShift 0.7s ease; }
.svc-card.svc-purple:hover .svc-illustration { animation: svcFlicker 0.8s ease; }
.svc-card.svc-blue:hover   .svc-illustration { animation: svcOpenBook 0.7s ease; }
.svc-card.svc-sage:hover   .svc-illustration { animation: svcSway 0.9s ease; }
.svc-card.svc-atma:hover   .svc-illustration { animation: svcSlowSpin 1.5s linear; }
@keyframes svcPulseHeart { 0%, 100% { transform: scale(1.10); } 50% { transform: scale(1.20); } }
@keyframes svcShift      { 0%, 100% { transform: scale(1.10); } 50% { transform: scale(1.10) translateX(2px) rotate(-3deg); } }
@keyframes svcFlicker    { 0%, 100% { transform: scale(1.10); } 30% { transform: scale(1.14); } 60% { transform: scale(1.08); } }
@keyframes svcOpenBook   { 0%, 100% { transform: scale(1.10); } 50% { transform: scale(1.14) skewX(-2deg); } }
@keyframes svcSway       { 0%, 100% { transform: scale(1.10) rotate(0); } 50% { transform: scale(1.10) rotate(4deg); } }
@keyframes svcSlowSpin   { from { transform: scale(1.10) rotate(0); } to { transform: scale(1.10) rotate(360deg); } }

/* ── CATEGORY CHIP ───────────────────────────────────── */
.svc-cat {
  display: inline-block;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  color: var(--svc-c1);
  background: var(--svc-bg, rgba(232, 99, 90, 0.10));
  padding: 0.32rem 0.85rem;
  border-radius: 100px;
  margin-bottom: 0.9rem;
  position: relative;
  z-index: 1;
}

/* ── TITLE + COPY ────────────────────────────────────── */
.svc-card h3 {
  font-family: var(--serif);
  font-size: clamp(1.35rem, 2.2vw, 1.55rem);
  font-weight: 500;
  color: var(--dark);
  margin-bottom: 0.65rem;
  letter-spacing: -0.005em;
  line-height: 1.2;
  position: relative;
  z-index: 1;
}
.svc-card p {
  font-size: 0.88rem;
  color: var(--body);
  line-height: 1.7;
  margin-bottom: 1.2rem;
  position: relative;
  z-index: 1;
}

/* ── TAG CHIPS ───────────────────────────────────────── */
.svc-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 1.5rem;
  position: relative;
  z-index: 1;
}
.svc-tags span {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 500;
  color: var(--body);
  background: rgba(0, 0, 0, 0.04);
  padding: 0.28rem 0.7rem;
  border-radius: 100px;
  letter-spacing: 0.01em;
}

/* ── BOTTOM LINK ─────────────────────────────────────── */
.svc-link {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--svc-c1, var(--coral));
  position: relative;
  z-index: 1;
  padding: 0.3rem 0;
}
.svc-arrow {
  display: inline-block;
  transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.svc-card:hover .svc-arrow { transform: translateX(6px); }

/* ── PER-CARD COLOR THEMES ───────────────────────────── */
.svc-coral {
  --svc-c1: var(--coral);
  --svc-c2: var(--coral-l);
  --svc-bg: rgba(232, 99, 90, 0.10);
  --svc-c1-soft: rgba(232, 99, 90, 0.18);
}
.svc-teal {
  --svc-c1: var(--teal);
  --svc-c2: var(--teal-l);
  --svc-bg: rgba(30, 173, 181, 0.10);
  --svc-c1-soft: rgba(30, 173, 181, 0.18);
}
.svc-purple {
  --svc-c1: var(--purple);
  --svc-c2: var(--purple-l);
  --svc-bg: rgba(139, 107, 174, 0.10);
  --svc-c1-soft: rgba(139, 107, 174, 0.18);
}
.svc-blue {
  --svc-c1: var(--blue);
  --svc-c2: #7AAEED;
  --svc-bg: rgba(74, 127, 193, 0.10);
  --svc-c1-soft: rgba(74, 127, 193, 0.18);
}
.svc-sage {
  --svc-c1: #6E8B5A;
  --svc-c2: #94A87C;
  --svc-bg: rgba(110, 139, 90, 0.10);
  --svc-c1-soft: rgba(110, 139, 90, 0.18);
}
.svc-atma {
  --svc-c1: var(--purple);
  --svc-c2: var(--teal);
  --svc-bg: rgba(139, 107, 174, 0.10);
  --svc-c1-soft: rgba(139, 107, 174, 0.20);
  background: linear-gradient(135deg, #fff 0%, rgba(243, 239, 248, 0.7) 100%);
  border-color: rgba(139, 107, 174, 0.22);
}
.svc-atma:hover {
  border-color: rgba(139, 107, 174, 0.45);
  box-shadow: 0 28px 64px rgba(139, 107, 174, 0.20);
}

/* "Start Here" flag on ATMA card */
.svc-flag {
  position: absolute;
  top: 0; right: 1.4rem;
  background: linear-gradient(135deg, var(--purple), var(--teal));
  color: #fff;
  font-size: 0.57rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 0.32rem 0.95rem;
  border-radius: 0 0 12px 12px;
  z-index: 3;
  box-shadow: 0 4px 12px rgba(139, 107, 174, 0.35);
}

/* ── WARM THEME OVERRIDES ────────────────────────────── */
body.home-warm section#services {
  background:
    radial-gradient(circle, rgba(216, 139, 44, 0.06) 1.5px, transparent 1.5px) 0 0 / 24px 24px,
    linear-gradient(180deg, #FBF5EA 0%, #F5EBD9 100%) !important;
}
body.home-warm .svc-card h3 { color: var(--warm-sepia); }
body.home-warm .svc-card p { color: var(--warm-sepia-l); }
body.home-warm .svc-tags span {
  background: rgba(216, 139, 44, 0.10);
  color: var(--warm-sepia);
}
body.home-warm .svc-card {
  border-color: rgba(216, 139, 44, 0.15);
}
body.home-warm .svc-card:hover {
  border-color: rgba(216, 139, 44, 0.35);
  box-shadow: 0 28px 64px rgba(62, 30, 10, 0.16);
}
body.home-warm .svc-atma {
  background: linear-gradient(135deg, #fff 0%, rgba(255, 240, 215, 0.7) 100%);
  border-color: rgba(216, 139, 44, 0.30);
}
body.home-warm .svc-atma:hover {
  border-color: rgba(216, 139, 44, 0.55);
  box-shadow: 0 28px 64px rgba(196, 110, 50, 0.22);
}

/* ── RESPONSIVE ──────────────────────────────────────── */
@media (max-width: 980px) {
  .svc-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .svc-grid { grid-template-columns: 1fr; gap: 1.1rem; }
  .svc-card { padding: 2rem 1.6rem 1.7rem; }
  .svc-mark { width: 76px; height: 76px; }
  .svc-illustration { width: 52px; height: 52px; }
}

/* ── ACCESSIBILITY ───────────────────────────────────── */
.svc-card:focus-visible {
  outline: 3px solid var(--svc-c1, var(--coral));
  outline-offset: 4px;
  transform: translateY(-8px);
  box-shadow: 0 28px 64px rgba(28, 28, 28, 0.16);
}
@media (prefers-reduced-motion: reduce) {
  .svc-card, .svc-mark, .svc-illustration, .svc-stripe, .svc-arrow {
    transition: none !important;
    animation: none !important;
  }
  .svc-mark::after, .svc-card:hover .svc-illustration {
    animation: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   FEATURED EVENT — NAAHAM section v2
   Photo-led visual with readable glass info card, warm theme,
   conversion-focused content side
   ═══════════════════════════════════════════════════════════ */

section#naaham {
  position: relative;
  padding: clamp(4.5rem, 9vw, 7.5rem) 0 clamp(4rem, 8vw, 7rem);
  overflow: hidden;
}
.naaham-blob {
  position: absolute;
  width: 500px; height: 500px;
  border-radius: 50%;
  filter: blur(120px);
  pointer-events: none;
  z-index: 0;
  opacity: 0;
}
body.home-warm .naaham-blob { opacity: 0.5; }
.naaham-blob-1 { background: radial-gradient(circle, rgba(30, 173, 181, 0.30), transparent 65%); top: 6%; left: -160px; }
.naaham-blob-2 { background: radial-gradient(circle, rgba(216, 139, 44, 0.28), transparent 65%); bottom: 4%; right: -150px; }
section#naaham > .container { position: relative; z-index: 2; }

/* Header */
.naaham-head {
  text-align: center;
  max-width: 700px;
  margin: 0 auto clamp(2.5rem, 4.5vw, 3.5rem);
}
.naaham-eyebrow {
  display: inline-block;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--teal);
  margin-bottom: 0.9rem;
  padding: 0.4rem 1rem;
  background: rgba(30, 173, 181, 0.10);
  border-radius: 100px;
}
.naaham-head h2 {
  font-family: var(--serif);
  font-size: clamp(2.2rem, 4.8vw, 3.4rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.015em;
  color: var(--dark);
  margin-bottom: 1rem;
}
.naaham-head h2 em { font-style: italic; color: var(--teal); }
.naaham-head p {
  font-size: 0.98rem;
  color: var(--muted);
  line-height: 1.72;
  max-width: 580px;
  margin: 0 auto;
}
body.home-warm .naaham-eyebrow { color: var(--warm-terracotta) !important; background: rgba(196, 110, 50, 0.10) !important; }
body.home-warm .naaham-head h2 { color: var(--warm-sepia) !important; }
body.home-warm .naaham-head h2 em { color: var(--warm-terracotta) !important; }
body.home-warm .naaham-head p { color: var(--warm-sepia-l) !important; }

/* Card shell */
.naaham-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  background: #fff;
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 0 28px 70px rgba(28, 28, 28, 0.13);
  border: 1px solid rgba(0, 0, 0, 0.05);
}
body.home-warm .naaham-inner {
  border-color: rgba(216, 139, 44, 0.18);
  box-shadow: 0 28px 70px rgba(62, 30, 10, 0.16);
}

/* ── VISUAL SIDE — photo clearly visible ── */
.naaham-visual {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  isolation: isolate;
}
.naaham-visual-img {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url('photos/heroes/river-circle.webp');
  background-size: cover;
  background-position: center;
  transform: scale(1.04);
  transition: transform 8s ease;
  animation: naahamKenBurns 24s ease-in-out infinite alternate;
}
@keyframes naahamKenBurns {
  0%   { transform: scale(1.04) translate(0, 0); }
  100% { transform: scale(1.12) translate(-1.5%, -1.5%); }
}
/* Light gradient — only the bottom darkens, so the meditation scene stays visible */
.naaham-visual::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg,
    rgba(20, 30, 24, 0.08) 0%,
    rgba(20, 30, 24, 0.10) 42%,
    rgba(15, 22, 18, 0.62) 78%,
    rgba(12, 18, 14, 0.86) 100%);
  pointer-events: none;
}

/* Floating price tag — top right */
.naaham-price-tag {
  position: absolute;
  top: 1.4rem; right: 1.4rem;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.05rem;
  padding: 0.7rem 1.1rem;
  background: rgba(255, 255, 255, 0.16);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  backdrop-filter: blur(18px) saturate(160%);
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 16px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);
}
.npt-from { font-size: 0.58rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.82); }
.npt-amt  { font-family: var(--serif); font-size: 1.55rem; font-weight: 500; color: #fff; line-height: 1; }
.npt-per  { font-size: 0.56rem; color: rgba(255,255,255,0.72); letter-spacing: 0.06em; }

/* Info card pinned to bottom — readable on the darkened base */
.naaham-visual-info {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 2.4rem 2.2rem;
  text-align: left;
}
.naaham-logo {
  font-family: var(--serif);
  font-size: clamp(2.4rem, 5vw, 3.4rem);
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.5);
}
.naaham-sub {
  font-family: var(--serif);
  font-size: 1rem;
  font-style: italic;
  color: rgba(255, 255, 255, 0.92);
  margin: 0.5rem 0 0.3rem;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
}
.naaham-meta {
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #FFD89A;
  margin-bottom: 1.2rem;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
}
.naaham-pills { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.naaham-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: rgba(255, 255, 255, 0.16);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.26);
  color: #fff;
  padding: 0.38rem 0.85rem;
  border-radius: 100px;
  font-size: 0.72rem;
  font-weight: 500;
}
.naaham-pill svg { width: 13px; height: 13px; flex-shrink: 0; color: #FFD89A; }

/* ── CONTENT SIDE ── */
.naaham-content { padding: clamp(2.4rem, 3.5vw, 3.4rem); display: flex; flex-direction: column; }
.naaham-content h3 {
  font-family: var(--serif);
  font-size: clamp(1.7rem, 2.8vw, 2.15rem);
  font-weight: 400;
  color: var(--dark);
  line-height: 1.12;
  margin-bottom: 0.8rem;
  letter-spacing: -0.01em;
}
.naaham-content h3 em { font-style: italic; color: var(--teal); }
.naaham-lede {
  font-size: 0.92rem;
  color: var(--body);
  line-height: 1.75;
  margin-bottom: 1.6rem;
}
body.home-warm .naaham-content h3 { color: var(--warm-sepia) !important; }
body.home-warm .naaham-content h3 em { color: var(--warm-terracotta) !important; }
body.home-warm .naaham-lede { color: var(--warm-sepia-l) !important; }

/* Schedule (scoped to .naaham-sched — .sched-day is also used by
   naaham.html's itinerary, so these MUST stay scoped to avoid bleed) */
.naaham-sched { margin-bottom: 1.8rem; }
.naaham-sched .sched-day {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--teal);
  margin: 1.3rem 0 0.7rem;
}
.naaham-sched .sched-day:first-child { margin-top: 0; }
.naaham-sched .sched-day-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px; height: 24px;
  border-radius: 50%;
  background: rgba(30, 173, 181, 0.12);
  font-family: var(--serif);
  font-size: 0.78rem;
  font-weight: 600;
}
body.home-warm .naaham-sched .sched-day { color: var(--warm-terracotta) !important; }
body.home-warm .naaham-sched .sched-day-num { background: rgba(196, 110, 50, 0.12); }
.naaham-sched .sched-item {
  display: flex;
  gap: 1rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  align-items: baseline;
}
body.home-warm .naaham-sched .sched-item { border-bottom-color: rgba(216, 139, 44, 0.14); }
.naaham-sched .si-time {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--teal);
  min-width: 66px;
  flex-shrink: 0;
}
body.home-warm .naaham-sched .si-time { color: var(--warm-terracotta) !important; }
.naaham-sched .si-act { font-size: 0.82rem; color: var(--body); line-height: 1.4; }
body.home-warm .naaham-sched .si-act { color: var(--warm-sepia) !important; }

/* Actions */
.naaham-actions {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}
.naaham-book-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1rem 1.6rem;
  background: linear-gradient(135deg, var(--teal), #189da5);
  color: #fff !important;
  font-family: var(--sans);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  border-radius: 100px;
  text-decoration: none;
  transition: transform 0.3s, box-shadow 0.3s;
  box-shadow: 0 8px 24px rgba(30, 173, 181, 0.34);
}
.naaham-book-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(30, 173, 181, 0.46); }
.nbb-price { font-family: var(--serif); font-size: 1rem; font-weight: 600; }
.nbb-badge { font-size: 0.58rem; background: rgba(255, 255, 255, 0.18); padding: 0.18rem 0.5rem; border-radius: 4px; letter-spacing: 0.04em; }
.naaham-details-link {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--teal);
  transition: color 0.3s;
}
body.home-warm .naaham-book-btn {
  background: linear-gradient(135deg, var(--warm-saffron), var(--warm-terracotta)) !important;
  box-shadow: 0 8px 24px rgba(196, 110, 50, 0.36);
}
body.home-warm .naaham-book-btn:hover { box-shadow: 0 14px 34px rgba(196, 110, 50, 0.5); }
body.home-warm .naaham-details-link { color: var(--warm-terracotta) !important; }

/* Custom-location callout */
.naaham-custom {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: 1.1rem 1.3rem;
  background: linear-gradient(135deg, rgba(232,99,90,0.06), rgba(139,107,174,0.06));
  border: 1px solid rgba(232, 99, 90, 0.18);
  border-radius: 14px;
  flex-wrap: wrap;
}
.naaham-custom-icon {
  width: 34px; height: 34px;
  flex-shrink: 0;
  color: var(--coral);
  display: flex;
  align-items: center;
  justify-content: center;
}
.naaham-custom-icon svg { width: 100%; height: 100%; }
.naaham-custom-text { flex: 1; min-width: 200px; }
.naaham-custom-text strong {
  display: block;
  font-family: var(--serif);
  font-size: 1rem;
  color: var(--dark);
  line-height: 1.25;
}
.naaham-custom-text span {
  font-size: 0.78rem;
  color: var(--muted);
  font-style: italic;
  font-family: var(--serif);
}
.naaham-custom-cta {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--coral);
  white-space: nowrap;
}
body.home-warm .naaham-custom {
  background: linear-gradient(135deg, rgba(196,110,50,0.07), rgba(122,148,104,0.07)) !important;
  border-color: rgba(196, 110, 50, 0.22) !important;
}
body.home-warm .naaham-custom-icon,
body.home-warm .naaham-custom-cta { color: var(--warm-terracotta) !important; }
body.home-warm .naaham-custom-text strong { color: var(--warm-sepia) !important; }

@media (max-width: 880px) {
  .naaham-inner { grid-template-columns: 1fr; }
  .naaham-visual { min-height: 420px; }
}

/* ═══════════════════════════════════════════════════════════
   REAL STORIES — Testimonials section v2
   Social-proof header + warm-themed cards
   ═══════════════════════════════════════════════════════════ */

body.home-warm section#testimonials {
  background:
    radial-gradient(circle, rgba(216, 139, 44, 0.05) 1.5px, transparent 1.5px) 0 0 / 26px 26px,
    linear-gradient(180deg, #FBF5EA 0%, #F5EBD9 100%);
}

.test-hdr { text-align: center; margin-bottom: clamp(2.6rem, 5vw, 3.6rem); }
.test-eyebrow {
  display: inline-block;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--coral);
  margin-bottom: 0.9rem;
  padding: 0.4rem 1rem;
  background: rgba(232, 99, 90, 0.10);
  border-radius: 100px;
}
.test-hdr h2 {
  font-family: var(--serif);
  font-size: clamp(2rem, 4.4vw, 3.2rem) !important;
  font-weight: 400;
  color: var(--dark);
  margin-bottom: 0.8rem !important;
}
.test-hdr h2 em { font-style: italic; color: var(--coral); }
.test-sub {
  font-size: 0.96rem;
  color: var(--muted);
  line-height: 1.7;
  max-width: 540px;
  margin: 0 auto 2rem;
}
body.home-warm .test-eyebrow { color: var(--warm-terracotta) !important; background: rgba(196, 110, 50, 0.10) !important; }
body.home-warm .test-hdr h2 { color: var(--warm-sepia) !important; }
body.home-warm .test-hdr h2 em { color: var(--warm-terracotta) !important; }
body.home-warm .test-sub { color: var(--warm-sepia-l) !important; }

/* Social-proof stats */
.test-stats {
  display: inline-flex;
  align-items: center;
  gap: clamp(1.4rem, 4vw, 3rem);
  padding: 1.1rem 2rem;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 18px;
  backdrop-filter: blur(10px);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.05);
}
.test-stat { display: flex; flex-direction: column; align-items: center; gap: 0.25rem; }
.ts-num {
  font-family: var(--serif);
  font-size: clamp(1.6rem, 3vw, 2.1rem);
  font-weight: 500;
  color: var(--coral);
  line-height: 1;
}
.ts-slash, .ts-plus { font-size: 0.7em; opacity: 0.6; }
.ts-label {
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.test-stat-sep { width: 1px; height: 38px; background: rgba(0, 0, 0, 0.1); }
body.home-warm .test-stats {
  background: rgba(255, 248, 235, 0.85) !important;
  border-color: rgba(216, 139, 44, 0.2) !important;
}
body.home-warm .ts-num { color: var(--warm-terracotta) !important; }
body.home-warm .ts-label { color: var(--warm-sepia-l) !important; }
body.home-warm .test-stat-sep { background: rgba(216, 139, 44, 0.2); }

/* Cards — warm theme */
body.home-warm .test-card {
  background: #FFFAF1 !important;
  border-color: rgba(216, 139, 44, 0.16) !important;
  box-shadow: 0 8px 28px rgba(62, 30, 10, 0.06);
}
body.home-warm .test-text { color: var(--warm-sepia) !important; }
body.home-warm .test-name { color: var(--warm-sepia) !important; }
body.home-warm .test-stars { color: var(--warm-saffron) !important; }

/* Slightly richer cards across the board */
.test-card { transition: transform 0.4s ease, box-shadow 0.4s ease; }
.test-card:hover { transform: translateY(-5px); box-shadow: 0 20px 48px rgba(0, 0, 0, 0.1); }

@media (max-width: 560px) {
  .test-stats { gap: 1rem; padding: 1rem 1.2rem; }
  .test-stat-sep { height: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .naaham-visual-img { animation: none !important; }
}

/* ═══════════════════════════════════════════════════════════
   NAAHAM ITINERARY — vertical timeline enhancement
   (naaham.html .schedule section · keeps teal naaham palette)
   Two day-cards, each rendering its items as a connected
   vertical timeline with time chips + dots. Fixes prior overflow.
   ═══════════════════════════════════════════════════════════ */

.schedule .sched-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.4rem, 2.5vw, 2rem);
}

.schedule .sched-day {
  /* override the bled-in flex rule + restyle as a card */
  display: block !important;
  position: relative;
  background: linear-gradient(180deg, var(--cream) 0%, #fff 60%) !important;
  border: 1px solid var(--border);
  border-radius: 22px;
  padding: clamp(1.8rem, 3vw, 2.6rem) clamp(1.6rem, 2.5vw, 2.3rem);
  overflow: hidden;
  text-transform: none;
  letter-spacing: normal;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  margin: 0;
}
/* Day accent band on top of the card */
.schedule .sched-day::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--teal), var(--teal-l));
}

/* Day header */
.schedule .sd-day-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px; height: 50px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--teal), #189da5);
  color: #fff;
  font-family: var(--serif);
  font-size: 1.5rem;
  margin-bottom: 1rem;
  box-shadow: 0 8px 22px rgba(30, 173, 181, 0.32);
}
.schedule .sd-day-title {
  font-family: var(--serif);
  font-size: clamp(1.45rem, 2.4vw, 1.7rem);
  font-weight: 500;
  color: var(--dark);
  margin-bottom: 0.3rem;
  line-height: 1.15;
}
.schedule .sd-day-sub {
  font-family: var(--serif);
  font-style: italic;
  color: var(--teal);
  font-size: 0.86rem;
  margin-bottom: 1.6rem;
}

/* Timeline rail down the items */
.schedule .sched-day .sd-item {
  position: relative;
  display: grid !important;
  grid-template-columns: 74px 1fr;
  gap: 0.9rem;
  padding: 0 0 1.15rem 1.5rem;
  border-bottom: none !important;
  align-items: start;
}
.schedule .sched-day .sd-item:last-child { padding-bottom: 0; }
/* The vertical rail */
.schedule .sched-day .sd-item::before {
  content: '';
  position: absolute;
  left: 4px; top: 6px; bottom: -2px;
  width: 2px;
  background: linear-gradient(180deg, rgba(30,173,181,0.45), rgba(30,173,181,0.12));
}
.schedule .sched-day .sd-item:last-child::before { display: none; }
/* The dot on the rail */
.schedule .sched-day .sd-item::after {
  content: '';
  position: absolute;
  left: 0; top: 5px;
  width: 11px; height: 11px;
  border-radius: 50%;
  background: #fff;
  border: 2.5px solid var(--teal);
  transition: transform 0.3s ease, background 0.3s ease;
}
.schedule .sched-day .sd-item:hover::after {
  background: var(--teal);
  transform: scale(1.25);
}

/* Time chip */
.schedule .sd-time {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--teal);
  background: rgba(30, 173, 181, 0.10);
  border-radius: 100px;
  padding: 0.28rem 0.55rem;
  white-space: nowrap;
  line-height: 1;
  height: fit-content;
  margin-top: 1px;
}
.schedule .sd-act {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--dark);
  line-height: 1.35;
}
.schedule .sd-act em {
  display: block;
  font-style: italic;
  font-weight: 400;
  font-size: 0.76rem;
  color: var(--muted);
  margin-top: 0.18rem;
  line-height: 1.4;
}

@media (max-width: 760px) {
  .schedule .sched-grid { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
  .schedule .sched-day .sd-item { grid-template-columns: 64px 1fr; gap: 0.7rem; }
}

/* ═══════════════════════════════════════════════════════════
   EVENTS PAGE (events.html) — warm-theme overhaul + readability
   body.home-warm scopes everything to this page's instance
   ═══════════════════════════════════════════════════════════ */

/* ── HERO ── */
body.home-warm .evh-page {
  background-image:
    linear-gradient(135deg, rgba(44, 26, 14, 0.62), rgba(28, 18, 10, 0.80)),
    url('photos/heroes/kalari-group.webp') !important;
}
body.home-warm .evh-b1 { background: radial-gradient(circle, rgba(216, 139, 44, 0.20), transparent 70%) !important; }
body.home-warm .evh-b2 { background: radial-gradient(circle, rgba(122, 148, 104, 0.16), transparent 70%) !important; }
body.home-warm .evh-tag { color: #F5D896 !important; }
body.home-warm .evh-h1 em { color: #FFD89A !important; }
body.home-warm .breadcrumb a { color: #F5D896 !important; }
/* Readability bump on the hero description */
body.home-warm .evh-desc {
  font-size: 1.05rem !important;
  color: rgba(255, 246, 232, 0.92) !important;
  line-height: 1.8 !important;
}

/* ── EVENT HUB — warm dotted backdrop ── */
body.home-warm .event-hub {
  background:
    radial-gradient(circle, rgba(216, 139, 44, 0.06) 1.5px, transparent 1.5px) 0 0 / 24px 24px,
    linear-gradient(180deg, #FBF5EA 0%, #F5EBD9 100%);
}
/* Readability bump on hub card body copy (over dark photo overlays) */
body.home-warm .hub-desc {
  font-size: 0.95rem !important;
  color: rgba(255, 250, 242, 0.9) !important;
}
body.home-warm .hub-tagline { color: rgba(255, 248, 235, 0.85) !important; }
body.home-warm .hs-v { color: #fff !important; }
body.home-warm .hs-l { color: rgba(255, 245, 225, 0.62) !important; }
/* Warm the NAAHAM "event" tag accent so it ties into the palette */
body.home-warm .hub-tag.event {
  background: rgba(216, 139, 44, 0.34) !important;
  border-color: rgba(233, 184, 104, 0.55) !important;
}
/* Card lift gets a warm shadow */
body.home-warm .hub-card:hover {
  box-shadow: 0 30px 80px rgba(62, 30, 10, 0.26) !important;
}

/* ── CUSTOM BAND — warm dark sepia instead of cold charcoal ── */
body.home-warm .custom-band {
  background: linear-gradient(135deg, #241710, #2E1F2A) !important;
}
body.home-warm .custom-band::before {
  background:
    radial-gradient(circle at 20% 30%, rgba(216, 139, 44, 0.20), transparent 55%),
    radial-gradient(circle at 80% 70%, rgba(122, 148, 104, 0.16), transparent 60%) !important;
}
body.home-warm .cb-l span { color: #F5D896 !important; }
body.home-warm .cb-l h2 em { color: #FFD89A !important; }
body.home-warm .cb-l p { font-size: 0.95rem !important; color: rgba(255, 246, 232, 0.78) !important; }
body.home-warm .cb-r {
  background: rgba(255, 240, 215, 0.07) !important;
  border-color: rgba(233, 184, 104, 0.18) !important;
}
body.home-warm .cb-rv { color: #FFD89A !important; }

/* ── CORPORATE BAND — warm cream ── */
body.home-warm .corp-band {
  background: linear-gradient(135deg, #F5EBD9, #FBF5EA) !important;
}
body.home-warm .corp-text span.lbl { color: var(--warm-terracotta) !important; }
body.home-warm .corp-text h2 { color: var(--warm-sepia) !important; }
body.home-warm .corp-text h2 em { color: var(--warm-terracotta) !important; }
body.home-warm .corp-text p { font-size: 0.95rem !important; color: var(--warm-sepia-l) !important; }
body.home-warm .corp-list li { color: var(--warm-sepia) !important; font-size: 0.88rem !important; }
body.home-warm .corp-list li::before { color: var(--warm-terracotta) !important; }

/* ── CTA SECTION — warm ── */
body.home-warm .cta-section {
  background: linear-gradient(135deg, #F5EBD9 0%, #FBF5EA 100%) !important;
}
body.home-warm .cta-section h2 { color: var(--warm-sepia) !important; }
body.home-warm .cta-section h2 em { color: var(--warm-terracotta) !important; }
body.home-warm .cta-section p { font-size: 0.95rem !important; color: var(--warm-sepia-l) !important; }
body.home-warm .cta-section > .container > span { color: var(--warm-terracotta) !important; }

/* ── Buttons on events page → warm gradient ── */
body.home-warm .btn-coral {
  background: linear-gradient(135deg, var(--warm-saffron), var(--warm-terracotta)) !important;
  box-shadow: 0 6px 20px rgba(196, 110, 50, 0.32);
}
body.home-warm .btn-coral:hover {
  background: linear-gradient(135deg, var(--warm-terracotta), var(--warm-saffron)) !important;
  box-shadow: 0 12px 30px rgba(196, 110, 50, 0.46);
}

/* ═══════════════════════════════════════════════════════════
   BEGIN YOUR JOURNEY — Final CTA v2 (warm)
   ═══════════════════════════════════════════════════════════ */

body.home-warm #cta {
  background:
    radial-gradient(circle, rgba(216, 139, 44, 0.06) 1.5px, transparent 1.5px) 0 0 / 26px 26px,
    linear-gradient(135deg, #FBF3E4 0%, #F4E6CC 50%, #FBF5EA 100%) !important;
}

/* Animated blobs */
.cta-blob { animation: ctaBlobFloat 16s ease-in-out infinite; }
.cb2 { animation-duration: 20s; animation-delay: -6s; }
@keyframes ctaBlobFloat {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50%      { transform: translate(30px, -24px) scale(1.08); }
}
body.home-warm .cb1 { background: radial-gradient(circle, rgba(216, 139, 44, 0.30), transparent 70%) !important; }
body.home-warm .cb2 { background: radial-gradient(circle, rgba(122, 148, 104, 0.24), transparent 70%) !important; }

/* Slow-rotating sacred-geometry mandala */
.cta-mandala {
  position: absolute;
  top: 50%; left: 50%;
  width: clamp(360px, 50vw, 620px);
  height: clamp(360px, 50vw, 620px);
  transform: translate(-50%, -50%);
  color: rgba(196, 110, 50, 0.14);
  pointer-events: none;
  z-index: 0;
  animation: ctaMandalaSpin 80s linear infinite;
}
body.home-warm .cta-mandala { color: rgba(196, 110, 50, 0.13); }
@keyframes ctaMandalaSpin { to { transform: translate(-50%, -50%) rotate(360deg); } }

/* Eyebrow chip */
.cta-eyebrow {
  display: inline-block;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--coral);
  margin-bottom: 1.2rem;
  padding: 0.4rem 1.1rem;
  background: rgba(232, 99, 90, 0.10);
  border-radius: 100px;
}
body.home-warm .cta-eyebrow {
  color: var(--warm-terracotta) !important;
  background: rgba(196, 110, 50, 0.12) !important;
}
body.home-warm .cta-inner h2 { color: var(--warm-sepia) !important; }
body.home-warm .cta-inner h2 em { color: var(--warm-terracotta) !important; }
body.home-warm .cta-inner p { color: var(--warm-sepia-l) !important; }

/* Trust row beneath the buttons */
.cta-trust {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.8rem 1.8rem;
  margin-top: 2.4rem;
}
.cta-trust span {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--muted);
}
.cta-trust svg { width: 15px; height: 15px; flex-shrink: 0; color: var(--coral); }
body.home-warm .cta-trust span { color: var(--warm-sepia-l) !important; }
body.home-warm .cta-trust svg { color: var(--warm-terracotta) !important; }

/* ═══════════════════════════════════════════════════════════
   FOOTER — warm dark sepia + ambient animated background
   (.footer-fx only exists on index.html)
   ═══════════════════════════════════════════════════════════ */

body.home-warm footer {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 20% 0%, #2C1D12 0%, #221710 45%, #1A1109 100%) !important;
}

/* Decorative warm hairline at the very top of the footer */
body.home-warm footer::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(233, 184, 104, 0.45), transparent);
  z-index: 3;
}

/* FX layer sits behind footer content */
.footer-fx {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
footer > .container { position: relative; z-index: 2; }

/* Drifting blurred orbs */
.ffx-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  opacity: 0.5;
}
.ffx-orb-1 {
  width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(216, 139, 44, 0.55), transparent 70%);
  top: -120px; left: -80px;
  animation: ffxDrift1 22s ease-in-out infinite;
}
.ffx-orb-2 {
  width: 360px; height: 360px;
  background: radial-gradient(circle, rgba(122, 148, 104, 0.45), transparent 70%);
  bottom: -140px; right: 6%;
  animation: ffxDrift2 26s ease-in-out infinite;
}
.ffx-orb-3 {
  width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(196, 110, 50, 0.40), transparent 70%);
  top: 30%; right: -90px;
  animation: ffxDrift3 30s ease-in-out infinite;
}
@keyframes ffxDrift1 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(50px,40px)} }
@keyframes ffxDrift2 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(-46px,-30px)} }
@keyframes ffxDrift3 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(-34px,46px)} }

/* Faint slow-rotating mandala watermark, bottom-right */
.ffx-mandala {
  position: absolute;
  bottom: -90px; right: -70px;
  width: 420px; height: 420px;
  color: rgba(233, 184, 104, 0.10);
  animation: ffxSpin 110s linear infinite;
}
@keyframes ffxSpin { to { transform: rotate(360deg); } }

/* Twinkling star dots */
.ffx-star {
  position: absolute;
  width: 3px; height: 3px;
  border-radius: 50%;
  background: rgba(255, 224, 170, 0.85);
  animation: ffxTwinkle 4s ease-in-out infinite;
}
.ffx-star.s1 { top: 18%; left: 12%; animation-delay: 0s; }
.ffx-star.s2 { top: 30%; left: 42%; animation-delay: 0.8s; width: 2px; height: 2px; }
.ffx-star.s3 { top: 14%; left: 68%; animation-delay: 1.6s; }
.ffx-star.s4 { top: 52%; left: 24%; animation-delay: 2.4s; width: 2px; height: 2px; }
.ffx-star.s5 { top: 60%; left: 80%; animation-delay: 3.2s; }
.ffx-star.s6 { top: 40%; left: 90%; animation-delay: 1.2s; width: 2px; height: 2px; }
@keyframes ffxTwinkle {
  0%, 100% { opacity: 0.15; transform: scale(0.8); }
  50%      { opacity: 0.9;  transform: scale(1.3); }
}

/* Warm-tint the footer text + accents — higher contrast for readability
   on the warm dark-sepia base (#2C1D12 → #1A1109) */
body.home-warm .footer-col h5 { color: #FFD489 !important; }
body.home-warm .footer-tl { color: rgba(255, 236, 210, 0.78) !important; }
body.home-warm .footer-desc { color: rgba(255, 244, 228, 0.78) !important; }
body.home-warm .fc-a,
body.home-warm .footer-col ul li a,
body.home-warm .soc-a { color: rgba(255, 244, 228, 0.82) !important; }
body.home-warm .fc-a:hover,
body.home-warm .footer-col ul li a:hover,
body.home-warm .soc-a:hover { color: #FFFFFF !important; }
body.home-warm .soc-gl { color: rgba(255, 216, 150, 0.62) !important; }
body.home-warm .soc-badge { background: rgba(233, 184, 104, 0.18) !important; color: rgba(255, 224, 170, 0.85) !important; }
body.home-warm .footer-bottom { border-top-color: rgba(233, 184, 104, 0.22) !important; }
body.home-warm .footer-bottom p { color: rgba(255, 236, 210, 0.62) !important; }
body.home-warm .fbl a { color: rgba(255, 236, 210, 0.72) !important; }
body.home-warm .fbl a:hover { color: #FFFFFF !important; }
body.home-warm .footer-loc {
  background: rgba(233, 184, 104, 0.08) !important;
  border-color: rgba(233, 184, 104, 0.16) !important;
}
body.home-warm .footer-loc p { color: rgba(255, 240, 220, 0.7) !important; }

@media (prefers-reduced-motion: reduce) {
  .cta-blob, .cta-mandala, .ffx-orb, .ffx-mandala, .ffx-star {
    animation: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   COURSES PAGE (courses.html) — warm-theme overhaul
   Discriminated via :has(.aravinda-section). Shared .page-hero,
   .cta-section, footer + .btn-coral already warm from prior work.
   ═══════════════════════════════════════════════════════════ */

/* Hero — warm overlay over the river photo + amber/sage blobs */
body.home-warm:has(.aravinda-section) .page-hero {
  background-image:
    linear-gradient(135deg, rgba(44, 26, 14, 0.58), rgba(28, 18, 10, 0.74)),
    url('photos/heroes/river-circle.webp') !important;
}
body.home-warm .phb1 { background: radial-gradient(circle, rgba(216, 139, 44, 0.22), transparent 70%) !important; }
body.home-warm .phb2 { background: radial-gradient(circle, rgba(122, 148, 104, 0.18), transparent 70%) !important; }
body.home-warm:has(.aravinda-section) .ph-desc {
  font-size: 1.05rem !important;
  color: rgba(255, 246, 232, 0.9) !important;
}

/* Aravinda (dark) section → warm dark sepia */
body.home-warm .aravinda-section {
  background:
    radial-gradient(ellipse at top, #2C1D12 0%, #221710 50%, #1A1109 100%) !important;
}
body.home-warm .avg1 { background: radial-gradient(circle, rgba(216, 139, 44, 0.22), transparent 70%) !important; }
body.home-warm .avg2 { background: radial-gradient(circle, rgba(122, 148, 104, 0.16), transparent 70%) !important; }
body.home-warm .av-text h2 em { color: #FFD89A !important; }
body.home-warm .av-text .sub { color: rgba(255, 232, 200, 0.5) !important; }
body.home-warm .av-text p { color: rgba(255, 244, 226, 0.66) !important; font-size: 0.9rem !important; }
body.home-warm .av-step {
  background: rgba(233, 184, 104, 0.06) !important;
  border-color: rgba(233, 184, 104, 0.12) !important;
}
body.home-warm .avs-num { color: #FFD89A !important; }
body.home-warm .avs-desc { color: rgba(255, 244, 226, 0.55) !important; }

/* Courses grid (light) → warm dotted cream */
body.home-warm .courses-section {
  background:
    radial-gradient(circle, rgba(216, 139, 44, 0.06) 1.5px, transparent 1.5px) 0 0 / 24px 24px,
    linear-gradient(180deg, #FBF5EA 0%, #F5EBD9 100%) !important;
}
body.home-warm .courses-header h2 { color: var(--warm-sepia) !important; }
body.home-warm .courses-header h2 em { color: var(--warm-terracotta) !important; }
body.home-warm .course-card.live { background: #FFFAF1 !important; border-color: rgba(216, 139, 44, 0.16) !important; }
body.home-warm .course-card.coming { background: rgba(245, 235, 217, 0.6) !important; border-color: rgba(216, 139, 44, 0.25) !important; }
body.home-warm .course-card h3 { color: var(--warm-sepia) !important; }
body.home-warm .course-card p { color: var(--warm-sepia-l) !important; font-size: 0.85rem !important; }
body.home-warm .cc-price { color: var(--warm-sepia) !important; }
body.home-warm .cc-details { color: var(--warm-sepia-l) !important; }
/* Course badges → warm-tinted (orig vars were undefined → invisible) */
body.home-warm .badge-sig { background: rgba(196, 110, 50, 0.12) !important; color: var(--warm-terracotta) !important; }
body.home-warm .badge-live { background: rgba(122, 148, 104, 0.15) !important; color: #5E7A4A !important; }
body.home-warm .badge-soon { background: rgba(216, 139, 44, 0.10) !important; color: var(--warm-saffron) !important; border-color: rgba(216, 139, 44, 0.25) !important; }
body.home-warm .course-card:hover { box-shadow: 0 15px 40px rgba(62, 30, 10, 0.12) !important; }

/* Upcoming (cream2) + cards */
body.home-warm .upcoming-section { background: linear-gradient(180deg, #F5EBD9, #FBF5EA) !important; }
body.home-warm .upcoming-header h2 { color: var(--warm-sepia) !important; }
body.home-warm .upc-card { background: #FFFAF1 !important; border-color: rgba(216, 139, 44, 0.2) !important; }
body.home-warm .upc-name { color: var(--warm-sepia) !important; }
body.home-warm .upc-desc { color: var(--warm-sepia-l) !important; }
body.home-warm .upc-badge { background: rgba(196, 110, 50, 0.12) !important; color: var(--warm-terracotta) !important; }

/* Formats */
body.home-warm .formats-section {
  background:
    radial-gradient(circle, rgba(216, 139, 44, 0.05) 1.5px, transparent 1.5px) 0 0 / 24px 24px,
    #FBF7EE !important;
}
body.home-warm .format-card { background: #FFFAF1 !important; border-color: rgba(216, 139, 44, 0.16) !important; }
body.home-warm .format-card:hover { box-shadow: 0 12px 30px rgba(62, 30, 10, 0.1) !important; }
body.home-warm .fmt-name { color: var(--warm-sepia) !important; }
body.home-warm .fmt-desc { color: var(--warm-sepia-l) !important; }

/* ═══════════════════════════════════════════════════════════
   DERMATOLOGY PAGE (dermatology.html) — warm-theme overhaul
   Discriminated via :has(.derm-main).
   ═══════════════════════════════════════════════════════════ */

/* Hero — warm overlay over naaham-laughing photo */
body.home-warm:has(.derm-main) .page-hero {
  background-image:
    linear-gradient(135deg, rgba(44, 26, 14, 0.62), rgba(28, 18, 10, 0.74)),
    url('photos/heroes/naaham-laughing.webp') !important;
}
body.home-warm .phg1 { background: radial-gradient(circle, rgba(216, 139, 44, 0.20), transparent 70%) !important; }
body.home-warm .phg2 { background: radial-gradient(circle, rgba(122, 148, 104, 0.14), transparent 70%) !important; }
body.home-warm .new-badge {
  background: rgba(216, 139, 44, 0.16) !important;
  border-color: rgba(233, 184, 104, 0.4) !important;
  color: #F5D896 !important;
}
/* Readability fix — original ph-desc was rgba(.55), too faint */
body.home-warm:has(.derm-main) .ph-desc {
  font-size: 1.05rem !important;
  color: rgba(255, 246, 232, 0.9) !important;
}

/* Philosophy strip → warm cream */
body.home-warm .phil-strip { background: linear-gradient(135deg, #F5EBD9, #FBF5EA) !important; }
body.home-warm .ps-item { background: #FFFAF1 !important; border-color: rgba(216, 139, 44, 0.16) !important; }
body.home-warm .ps-item:hover { box-shadow: 0 12px 30px rgba(62, 30, 10, 0.1) !important; }
body.home-warm .ps-title { color: var(--warm-sepia) !important; }
body.home-warm .ps-desc { color: var(--warm-sepia-l) !important; }

/* Research banner (dark) → warm dark sepia */
body.home-warm .research-banner {
  background: radial-gradient(ellipse at top, #2C1D12 0%, #1A1109 100%) !important;
}
body.home-warm .research-banner .rb-glow { background: radial-gradient(circle, rgba(216, 139, 44, 0.18), transparent 70%) !important; }
body.home-warm .research-banner .rb-text h3 em { color: #FFD89A !important; }
body.home-warm .research-banner .rb-text p { color: rgba(255, 244, 226, 0.6) !important; }
body.home-warm .research-banner .rb-tag {
  background: rgba(233, 184, 104, 0.07) !important;
  border-color: rgba(233, 184, 104, 0.14) !important;
  color: rgba(255, 244, 226, 0.7) !important;
}

/* Main content area */
body.home-warm .derm-main {
  background:
    radial-gradient(circle, rgba(216, 139, 44, 0.05) 1.5px, transparent 1.5px) 0 0 / 26px 26px,
    #FBF7EE !important;
}
/* Sidebar nav */
body.home-warm .sidebar-nav a:hover,
body.home-warm .sidebar-nav a.active {
  background: rgba(196, 110, 50, 0.10) !important;
  color: var(--warm-terracotta) !important;
  border-color: rgba(216, 139, 44, 0.2) !important;
}
body.home-warm .sidebar-cta { background: rgba(196, 110, 50, 0.10) !important; }
body.home-warm .sidebar-cta h4 { color: var(--warm-sepia) !important; }
/* Accordion sections */
body.home-warm .derm-section { background: #FFFAF1 !important; border-color: rgba(216, 139, 44, 0.16) !important; }
body.home-warm .st-title { color: var(--warm-sepia) !important; }
body.home-warm .section-desc { color: var(--warm-sepia-l) !important; }
/* Accordion badges */
body.home-warm .badge-clinical { background: rgba(196, 110, 50, 0.12) !important; color: var(--warm-terracotta) !important; }
body.home-warm .badge-cosmetic { background: rgba(139, 107, 174, 0.14) !important; color: var(--purple) !important; }
body.home-warm .badge-procedure { background: rgba(122, 148, 104, 0.15) !important; color: #5E7A4A !important; }
/* Subsection cards */
body.home-warm .subsection-card { background: #FBF5EA !important; border-color: rgba(216, 139, 44, 0.14) !important; }
body.home-warm .subsection-card:hover { border-color: var(--warm-terracotta) !important; box-shadow: 0 4px 16px rgba(196, 110, 50, 0.1) !important; }
body.home-warm .ssc-title { color: var(--warm-sepia) !important; }
body.home-warm .ssc-desc { color: var(--warm-sepia-l) !important; }
body.home-warm .aa-ayur { background: rgba(122, 148, 104, 0.15) !important; color: #5E7A4A !important; }
body.home-warm .aa-med { background: rgba(196, 110, 50, 0.12) !important; color: var(--warm-terracotta) !important; }
/* Procedure flow */
body.home-warm .pf-step { background: #FBF5EA !important; }
body.home-warm .pf-num { color: var(--warm-terracotta) !important; }
body.home-warm .pf-step::after { color: var(--warm-saffron) !important; }
/* Login gate + checkup banner */
body.home-warm .login-gate { background: linear-gradient(135deg, rgba(196,110,50,0.10), rgba(122,148,104,0.10)) !important; }
body.home-warm .lg-title { color: var(--warm-sepia) !important; }
body.home-warm .checkup-banner {
  background: linear-gradient(135deg, #241710, #2E1F2A) !important;
}
body.home-warm .cb-text h3 { color: #fff !important; }
body.home-warm .cb-text p { color: rgba(255, 244, 226, 0.62) !important; }
body.home-warm .cb-point {
  background: rgba(233, 184, 104, 0.08) !important;
  border-color: rgba(233, 184, 104, 0.14) !important;
  color: rgba(255, 244, 226, 0.7) !important;
}

/* ═══════════════════════════════════════════════════════════
   SHOP PAGE (shop.html) — consistency pass (already warm-toned)
   Light touch: nudge coral accents → terracotta/gold, warm the
   dark promise band + light story/cta bands. :has(.products) guard.
   ═══════════════════════════════════════════════════════════ */

body.home-warm:has(.shop-hero) .sh-tag,
body.home-warm:has(.shop-hero) .sh-h1 em { color: #FFD89A !important; }
body.home-warm .sh-bg::before {
  background:
    radial-gradient(circle at 20% 30%, rgba(216, 139, 44, 0.20), transparent 55%),
    radial-gradient(circle at 80% 70%, rgba(122, 148, 104, 0.14), transparent 55%) !important;
}
/* Category pills active → warm */
body.home-warm .scat:hover,
body.home-warm .scat.active {
  background: var(--warm-terracotta) !important;
  border-color: var(--warm-terracotta) !important;
}
/* Section header accents */
body.home-warm .sec-hdr-l span.lbl,
body.home-warm .sec-hdr-l h2 em { color: var(--warm-terracotta) !important; }
body.home-warm .sec-hdr-l h2 { color: var(--warm-sepia) !important; }
/* Product card accents */
body.home-warm .prod-cat { color: var(--warm-terracotta) !important; }
body.home-warm .prod-name em { color: var(--warm-terracotta) !important; }
body.home-warm .prod-cta:hover { background: var(--warm-terracotta) !important; }
body.home-warm .prod-badge.combo { background: var(--warm-terracotta) !important; }
/* Story strip → warm cream */
body.home-warm .story-strip {
  background: linear-gradient(135deg, #F5EBD9, #FBF5EA, #F0E6D2) !important;
}
body.home-warm .ss-text .lbl,
body.home-warm .ss-text h3 em { color: var(--warm-terracotta) !important; }
body.home-warm .ss-text h3 { color: var(--warm-sepia) !important; }
/* Promise band (dark) → warm dark sepia */
body.home-warm .promise {
  background: radial-gradient(ellipse at top, #2C1D12 0%, #1A1109 100%) !important;
}

/* ═══════════════════════════════════════════════════════════
   BLOG PAGE (blog.html) — full warm overhaul
   :has(.blog-hero) guard. LinkedIn band intentionally kept brand-blue.
   ═══════════════════════════════════════════════════════════ */

/* Hero */
body.home-warm .blog-hero {
  background:
    radial-gradient(circle, rgba(216, 139, 44, 0.06) 1.5px, transparent 1.5px) 0 0 / 24px 24px,
    linear-gradient(135deg, #FBF3E4 0%, #F4E6CC 50%, #FBF5EA 100%) !important;
}
body.home-warm .bh-b1 { background: radial-gradient(circle, rgba(216, 139, 44, 0.18), transparent 70%) !important; }
body.home-warm .bh-b2 { background: radial-gradient(circle, rgba(122, 148, 104, 0.15), transparent 70%) !important; }
body.home-warm .bh-tag { color: var(--warm-terracotta) !important; }
body.home-warm .bh-h1 { color: var(--warm-sepia) !important; }
body.home-warm .bh-h1 em { color: var(--warm-terracotta) !important; }
body.home-warm .bh-desc { color: var(--warm-sepia-l) !important; }
body.home-warm:has(.blog-hero) .breadcrumb a { color: var(--warm-terracotta) !important; }

/* Featured article card */
body.home-warm .feat-card { background: #FFFAF1 !important; border-color: rgba(216, 139, 44, 0.16) !important; }
body.home-warm .feat-card:hover { box-shadow: 0 24px 70px rgba(62, 30, 10, 0.12) !important; }
/* Warm the featured art panel */
body.home-warm .feat-art {
  background: linear-gradient(135deg, #2C1D12 0%, #4A2D1A 60%, #6B3F22 100%) !important;
}
body.home-warm .feat-art::before {
  background: radial-gradient(circle at 30% 30%, rgba(216, 139, 44, 0.4), transparent 60%) !important;
}
body.home-warm .feat-cat { background: rgba(196, 110, 50, 0.12) !important; color: var(--warm-terracotta) !important; }
body.home-warm .feat-text h2 { color: var(--warm-sepia) !important; }
body.home-warm .feat-text h2 em { color: var(--warm-terracotta) !important; }
body.home-warm .feat-text p { color: var(--warm-sepia-l) !important; }

/* Articles grid */
body.home-warm .articles {
  background:
    radial-gradient(circle, rgba(216, 139, 44, 0.05) 1.5px, transparent 1.5px) 0 0 / 24px 24px,
    linear-gradient(180deg, #FBF7EE 0%, #F5EBD9 100%) !important;
}
body.home-warm .art-hdr span { color: var(--warm-terracotta) !important; }
body.home-warm .art-hdr h2 { color: var(--warm-sepia) !important; }
body.home-warm .art-hdr h2 em { color: var(--warm-terracotta) !important; }
/* Article cards */
body.home-warm .art-card { background: #FFFAF1 !important; border-color: rgba(216, 139, 44, 0.16) !important; }
body.home-warm .art-card:hover { box-shadow: 0 18px 50px rgba(62, 30, 10, 0.1) !important; }
body.home-warm .art-card h3 { color: var(--warm-sepia) !important; }
body.home-warm .art-card h3 em { color: var(--warm-terracotta) !important; }
body.home-warm .art-excerpt { color: var(--warm-sepia-l) !important; }
body.home-warm .art-author-dot {
  background: linear-gradient(135deg, var(--warm-saffron), var(--warm-terracotta)) !important;
}
/* Warm a couple of the category thumb gradients toward the palette
   (coral + amber/yellow categories); leave purple/teal/blue as accents */
body.home-warm .art-thumb-bg-c { background: linear-gradient(135deg, #4A2D1A, #6B3F22) !important; }
body.home-warm .art-thumb-bg-d { background: linear-gradient(135deg, #2C1D12, #4A3420) !important; }
body.home-warm .art-thumb-bg-y { background: linear-gradient(135deg, #4A3410, #6B4F1A) !important; }

/* LinkedIn band — recolour from brand-blue to warm dark sepia so it
   sits with the design; keep a LinkedIn-blue button so the platform
   CTA stays recognisable */
body.home-warm .li-band {
  background:
    radial-gradient(ellipse at top, #2C1D12 0%, #221710 50%, #1A1109 100%) !important;
  color: #fff !important;
  position: relative;
  overflow: hidden;
}
/* soft amber glow + warm hairline to match the footer treatment */
body.home-warm .li-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 25% 20%, rgba(216, 139, 44, 0.16), transparent 55%),
    radial-gradient(circle at 80% 80%, rgba(122, 148, 104, 0.12), transparent 55%);
  pointer-events: none;
}
body.home-warm .li-band::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(233, 184, 104, 0.45), transparent);
}
body.home-warm .li-band-inner { position: relative; z-index: 2; }
body.home-warm .li-band h2 { color: #FFF8EC !important; }
body.home-warm .li-band h2 em { color: #FFD489 !important; font-style: italic; }
body.home-warm .li-band p { color: rgba(255, 244, 228, 0.82) !important; }
/* Button: solid LinkedIn blue pill so the platform stays clear + pops */
body.home-warm .li-band .btn-outline,
body.home-warm .li-band .btn {
  background: #0A66C2 !important;
  color: #fff !important;
  border: 1px solid #0A66C2 !important;
  border-radius: 100px !important;
  font-weight: 600;
  box-shadow: 0 8px 24px rgba(10, 102, 194, 0.4);
  transition: transform 0.3s, box-shadow 0.3s, background 0.3s;
}
body.home-warm .li-band .btn-outline:hover,
body.home-warm .li-band .btn:hover {
  background: #1275d6 !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(10, 102, 194, 0.55);
}

/* ═══════════════════════════════════════════════════════════
   ABOUT PAGE (about.html) — full warm overhaul + readability
   Discriminated via :has(.mission-section). Hero uses .page-hero +
   .ph-glow, so the generic warm page-hero rules already apply; only
   the photo overlay + section bodies need page-specific overrides.
   ═══════════════════════════════════════════════════════════ */

/* Hero — warm overlay over the group-meditation photo */
body.home-warm:has(.mission-section) .page-hero {
  background-image:
    linear-gradient(135deg, rgba(44, 26, 14, 0.62), rgba(28, 18, 10, 0.74)),
    url('photos/heroes/group-meditation.webp') !important;
}
body.home-warm:has(.mission-section) .ph-desc {
  font-size: 1.05rem !important;
  color: rgba(255, 246, 232, 0.92) !important;
}
body.home-warm:has(.mission-section) .breadcrumb a { color: #F5D896 !important; }

/* ── MISSION (light, dotted) → warm cream ── */
body.home-warm .mission-section {
  background:
    radial-gradient(circle, rgba(216, 139, 44, 0.06) 1.5px, transparent 1.5px) 0 0 / 24px 24px,
    linear-gradient(180deg, #FBF7EE 0%, #F5EBD9 100%) !important;
}
body.home-warm .mission-text h2 { color: var(--warm-sepia) !important; }
body.home-warm .mission-text h2 em { color: var(--warm-terracotta) !important; }
body.home-warm .mission-text p { color: var(--warm-sepia-l) !important; font-size: 0.95rem !important; }
body.home-warm .mission-visual {
  background: linear-gradient(135deg, #F5E4C8, #EAD9B8) !important;
  border: 1px solid rgba(216, 139, 44, 0.2);
}
body.home-warm .mv-quote { color: var(--warm-sepia) !important; }
body.home-warm .mv-cite { color: var(--warm-terracotta) !important; }

/* ── VALUES (dark) → warm dark sepia + per-card accents ── */
body.home-warm .values-section {
  background:
    radial-gradient(ellipse at top, #2C1D12 0%, #221710 50%, #1A1109 100%) !important;
}
body.home-warm .vg1 { background: radial-gradient(circle, rgba(216, 139, 44, 0.18), transparent 70%) !important; }
body.home-warm .val-card {
  background: rgba(233, 184, 104, 0.05) !important;
  border-color: rgba(233, 184, 104, 0.12) !important;
}
body.home-warm .val-card:hover {
  background: rgba(233, 184, 104, 0.10) !important;
  border-color: rgba(233, 184, 104, 0.3) !important;
}
body.home-warm .val-name { color: #FFF4E2 !important; }
/* readability: was rgba(.45) — too faint on dark */
body.home-warm .val-desc { color: rgba(255, 244, 226, 0.66) !important; }
/* per-value accent on the top border for a more designed grid */
body.home-warm .val-card { position: relative; overflow: hidden; }
body.home-warm .val-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--va, var(--warm-saffron));
  opacity: 0.85;
}
body.home-warm .val-card:nth-child(1) { --va: #E9B868; }
body.home-warm .val-card:nth-child(2) { --va: #C66B3D; }
body.home-warm .val-card:nth-child(3) { --va: #7A9468; }
body.home-warm .val-card:nth-child(4) { --va: #B49ACE; }
body.home-warm .val-card:nth-child(5) { --va: #5ECDD3; }

/* ── SCIENCES (cream2) → warm cream cards ── */
body.home-warm .sciences-section {
  background: linear-gradient(180deg, #F5EBD9, #FBF5EA) !important;
}
body.home-warm .sci-card { background: #FFFAF1 !important; border-color: rgba(216, 139, 44, 0.16) !important; }
body.home-warm .sci-card:hover { box-shadow: 0 12px 30px rgba(62, 30, 10, 0.1) !important; }
body.home-warm .sci-name { color: var(--warm-sepia) !important; }
body.home-warm .sci-origin { color: var(--warm-terracotta) !important; }
body.home-warm .sci-desc { color: var(--warm-sepia-l) !important; }

/* ── APPROACH (light, dotted) → warm cream ── */
body.home-warm .approach-section {
  background:
    radial-gradient(circle, rgba(216, 139, 44, 0.06) 1.5px, transparent 1.5px) 0 0 / 24px 24px,
    #FBF7EE !important;
}
body.home-warm .app-step { background: #FFFAF1 !important; border-color: rgba(216, 139, 44, 0.16) !important; }
body.home-warm .app-step:hover { box-shadow: 0 8px 24px rgba(62, 30, 10, 0.1) !important; }
body.home-warm .as-num { color: var(--warm-terracotta) !important; }
body.home-warm .as-title { color: var(--warm-sepia) !important; }
body.home-warm .as-desc { color: var(--warm-sepia-l) !important; }

/* ── ATMA-ABOUT band → warm cream ── */
body.home-warm .atma-about {
  background: linear-gradient(135deg, #F5EBD9, #FBF3E4) !important;
}
body.home-warm .atma-inner h2 { color: var(--warm-sepia) !important; }
body.home-warm .atma-inner h2 em { color: var(--warm-terracotta) !important; }
body.home-warm .atma-inner p { color: var(--warm-sepia-l) !important; }

/* ── ABOUT CTA — warm the leftover glow blobs (generic rules turn
   the dark band into warm cream + sepia text already) ── */
body.home-warm .ctag1 { background: radial-gradient(circle, rgba(216, 139, 44, 0.18), transparent 70%) !important; }
body.home-warm .ctag2 { background: radial-gradient(circle, rgba(122, 148, 104, 0.14), transparent 70%) !important; }
/* The email button had inline white text on a transparent bg — now the
   band is cream, so re-style it as a readable warm outline pill */
body.home-warm:has(.mission-section) .cta-btns a[href^="mailto:"] {
  background: rgba(196, 110, 50, 0.08) !important;
  color: var(--warm-sepia) !important;
  border: 1px solid rgba(196, 110, 50, 0.35) !important;
}
body.home-warm:has(.mission-section) .cta-btns a[href^="mailto:"]:hover {
  background: rgba(196, 110, 50, 0.16) !important;
}

/* ═══════════════════════════════════════════════════════════
   FITNESS PAGE (fitness.html) — warm overhaul + SVG/animation
   Discriminated via :has(.begur-section). Modern, readable.
   ═══════════════════════════════════════════════════════════ */

/* ── HERO ── */
body.home-warm:has(.begur-section) .page-hero {
  background-image:
    linear-gradient(135deg, rgba(44, 26, 14, 0.6), rgba(28, 18, 10, 0.78)),
    url('photos/heroes/kalari-class-studio.webp') !important;
}
body.home-warm:has(.begur-section) .ph-desc {
  font-size: 1.05rem !important;
  color: rgba(255, 246, 232, 0.9) !important;
}
body.home-warm:has(.begur-section) .breadcrumb a,
body.home-warm:has(.begur-section) .ph-label { color: #F5D896 !important; }
body.home-warm:has(.begur-section) .ph-h1 em { color: #FFD89A !important; }

/* ── BEGUR HERITAGE (dark green) → warm dark sepia ── */
body.home-warm .begur-hero {
  background: radial-gradient(ellipse at top, #2C1D12 0%, #241710 45%, #160E08 100%) !important;
}
body.home-warm .bg1 { background: radial-gradient(circle, rgba(216, 139, 44, 0.22), transparent 70%) !important; }
body.home-warm .bg2 { background: radial-gradient(circle, rgba(122, 148, 104, 0.16), transparent 70%) !important; }
body.home-warm .bb-gold { background: rgba(233, 184, 104, 0.14) !important; border-color: rgba(233, 184, 104, 0.4) !important; color: #F5D896 !important; }
body.home-warm .bb-teal { background: rgba(122, 148, 104, 0.14) !important; border-color: rgba(122, 148, 104, 0.4) !important; color: #B6CBA2 !important; }
body.home-warm .begur-h2 em { color: #FFD489 !important; }
body.home-warm .begur-desc { color: rgba(255, 244, 226, 0.72) !important; font-size: 0.98rem !important; }
body.home-warm .bf-num { color: #FFD489 !important; }
body.home-warm .bf-label { color: rgba(255, 240, 220, 0.6) !important; }
body.home-warm .begur-divider { background: linear-gradient(90deg, var(--warm-saffron), #FFD489) !important; }
body.home-warm .begur-quote { color: rgba(255, 244, 226, 0.72) !important; }

/* Begur temple SVG icon + animated glow */
.begur-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 96px; height: 96px;
  margin: 0 auto 1.5rem;
  color: #F5D896;
}
.begur-icon svg { width: 72px; height: 72px; position: relative; z-index: 2; filter: drop-shadow(0 4px 14px rgba(216,139,44,0.4)); }
.begur-icon-glow {
  position: absolute; inset: -14px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(233,184,104,0.32), transparent 68%);
  animation: begurGlow 4s ease-in-out infinite;
}
@keyframes begurGlow {
  0%, 100% { transform: scale(0.9); opacity: 0.55; }
  50%      { transform: scale(1.15); opacity: 1; }
}
/* Begur register button → warm gold gradient */
body.home-warm .begur-hero .btn-teal {
  background: linear-gradient(135deg, #E9B868, #D88B2C) !important;
  color: #2C1D12 !important;
  border: none !important;
  font-weight: 600;
  box-shadow: 0 8px 24px rgba(216, 139, 44, 0.4);
  transition: transform 0.3s, box-shadow 0.3s;
}
body.home-warm .begur-hero .btn-teal:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(216, 139, 44, 0.55);
}

/* ── CLASS SCHEDULE → warm dotted cream ── */
body.home-warm .schedule-section {
  background:
    radial-gradient(circle, rgba(216, 139, 44, 0.06) 1.5px, transparent 1.5px) 0 0 / 24px 24px,
    linear-gradient(180deg, #FBF7EE 0%, #F5EBD9 100%) !important;
}
body.home-warm .sched-header h2 { color: var(--warm-sepia) !important; }
body.home-warm .sched-header p { color: var(--warm-sepia-l) !important; }
body.home-warm .price-highlight {
  background: rgba(196, 110, 50, 0.10) !important;
  border-color: rgba(216, 139, 44, 0.25) !important;
  color: var(--warm-terracotta) !important;
}
body.home-warm .class-card { background: #FFFAF1 !important; border-color: rgba(216, 139, 44, 0.16) !important; }
body.home-warm .class-card.featured-class {
  border-color: #E9B868 !important;
  box-shadow: 0 0 0 2px rgba(233, 184, 104, 0.25) !important;
}
body.home-warm .class-card h3 { color: var(--warm-sepia) !important; }
body.home-warm .class-card p { color: var(--warm-sepia-l) !important; }
body.home-warm .badge-gold { background: rgba(233, 184, 104, 0.16) !important; color: #9A5B1E !important; border-color: rgba(233, 184, 104, 0.4) !important; }
body.home-warm .badge-teal { background: rgba(122, 148, 104, 0.15) !important; color: #5E7A4A !important; }
body.home-warm .location-info { background: #F3E8D4 !important; }
body.home-warm .loc-name { color: var(--warm-sepia) !important; }
body.home-warm .loc-name .star { color: var(--warm-saffron) !important; }
body.home-warm .loc-address { color: var(--warm-sepia-l) !important; }
body.home-warm .sch-pill.highlight { background: rgba(196, 110, 50, 0.10) !important; border-color: rgba(216, 139, 44, 0.25) !important; color: var(--warm-terracotta) !important; }
body.home-warm .loc-price { color: var(--warm-terracotta) !important; }
body.home-warm .rzp-btn { background: linear-gradient(135deg, var(--warm-saffron), var(--warm-terracotta)) !important; }
body.home-warm .rzp-btn:hover { box-shadow: 0 8px 22px rgba(196, 110, 50, 0.4); }
body.home-warm .subtle-link:hover { color: var(--warm-terracotta) !important; }

/* ── SWA (dark) → warm dark sepia ── */
body.home-warm .swa-section {
  background: radial-gradient(ellipse at top, #2C1D12 0%, #1A1109 100%) !important;
}
body.home-warm .swag1 { background: radial-gradient(circle, rgba(216, 139, 44, 0.2), transparent 70%) !important; }
body.home-warm .swa-text h2 em { color: #FFD489 !important; }
body.home-warm .swa-text p { color: rgba(255, 244, 226, 0.7) !important; }
body.home-warm .swa-pill { background: rgba(233, 184, 104, 0.08) !important; color: rgba(255, 244, 226, 0.72) !important; }
body.home-warm .swa-price { color: #fff !important; }
body.home-warm .swa-no { background: rgba(233, 184, 104, 0.05) !important; border-color: rgba(233, 184, 104, 0.12) !important; color: rgba(255, 244, 226, 0.72) !important; }

/* Approach cards — circular SVG marks + animation */
body.home-warm .approach-card { background: #FFFAF1 !important; border-color: rgba(216, 139, 44, 0.16) !important; }
body.home-warm .approach-card:hover { box-shadow: 0 14px 34px rgba(62, 30, 10, 0.12) !important; }
body.home-warm .ac-name { color: var(--warm-sepia) !important; }
body.home-warm .ac-desc { color: var(--warm-sepia-l) !important; }
/* Turn .ac-icon into a circular mark holding the new SVG */
.approach-card .ac-icon {
  width: 64px; height: 64px;
  margin: 0 auto 1rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(216, 139, 44, 0.10);
  color: var(--warm-terracotta);
  position: relative;
}
.approach-card .ac-icon svg {
  width: 34px; height: 34px;
  transition: transform 0.55s cubic-bezier(0.2,0.8,0.2,1);
}
.approach-card .ac-icon::after {
  content: '';
  position: absolute; inset: -4px;
  border-radius: 50%;
  border: 1.5px solid currentColor;
  opacity: 0;
  animation: acBreath 4s ease-in-out infinite;
}
.approach-card:nth-child(1) .ac-icon::after { animation-delay: 0s; }
.approach-card:nth-child(2) .ac-icon::after { animation-delay: 0.5s; }
.approach-card:nth-child(3) .ac-icon::after { animation-delay: 1s; }
.approach-card:nth-child(4) .ac-icon::after { animation-delay: 1.5s; }
.approach-card:nth-child(5) .ac-icon::after { animation-delay: 2s; }
.approach-card:nth-child(6) .ac-icon::after { animation-delay: 2.5s; }
@keyframes acBreath {
  0%, 100% { transform: scale(0.92); opacity: 0; }
  50%      { transform: scale(1.18); opacity: 0.3; }
}
.approach-card:hover .ac-icon svg { transform: scale(1.12) rotate(-5deg); }
/* alternate the approach mark accent so the grid has rhythm */
.approach-card:nth-child(2) .ac-icon, .approach-card:nth-child(5) .ac-icon { background: rgba(122,148,104,0.12); color: #5E7A4A; }
.approach-card:nth-child(3) .ac-icon, .approach-card:nth-child(6) .ac-icon { background: rgba(139,107,174,0.12); color: var(--purple); }

/* ── CONDITIONS (cream2) → warm ── */
body.home-warm .conditions-section { background: linear-gradient(180deg, #F5EBD9, #FBF5EA) !important; }
body.home-warm .conditions-section h2 { color: var(--warm-sepia) !important; }
body.home-warm .cond-tag { background: #FFFAF1 !important; border-color: rgba(216, 139, 44, 0.18) !important; color: var(--warm-sepia) !important; }
body.home-warm .cond-tag:hover { background: var(--warm-terracotta) !important; border-color: var(--warm-terracotta) !important; color: #fff !important; }

@media (prefers-reduced-motion: reduce) {
  .begur-icon-glow, .approach-card .ac-icon::after, .approach-card:hover .ac-icon svg {
    animation: none !important;
  }
}
