/* ============================================================
   SAFFAL JYOTISH — pages.css v1
   Inner public pages: About, Services, Contact, Disclaimer
   All colors via CSS variables from global.css
   ============================================================ */

/* ─── PAGE HERO (shared inner-page hero) ────────────────── */
.page-hero {
  background: var(--grad-hero);
  padding-block: clamp(4.5rem, 11vw, 7.5rem);
  text-align: center;
  position: relative;
  overflow: hidden;
}

/* Subtle radial glow overlay */
.page-hero::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 50% -10%, rgba(212,144,10,.13) 0%, transparent 65%),
    radial-gradient(ellipse at 50% 110%, rgba(201,64,0,.1) 0%, transparent 55%);
  pointer-events: none;
}

/* Decorative ring */
.page-hero::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 700px; height: 700px;
  border-radius: 50%;
  border: 1px solid rgba(212,144,10,.06);
  pointer-events: none;
}

.page-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 640px;
  margin-inline: auto;
}

/* Hero eyebrow label */
.page-hero-label {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(240,176,32,.75);
  margin-bottom: 1.1rem;
  opacity: 0;
  animation: ph-fade-up .6s var(--ease) .1s forwards;
}
.page-hero-label::before,
.page-hero-label::after {
  content: '';
  display: block;
  width: 22px; height: 1px;
  background: rgba(240,176,32,.35);
}

.page-hero h1 {
  color: var(--white);
  opacity: 0;
  animation: ph-fade-up .8s var(--ease) .25s forwards;
  text-shadow: 0 2px 28px rgba(0,0,0,.45);
}

.page-hero p {
  color: rgba(255,255,255,.62);
  font-size: 1.02rem;
  line-height: 1.85;
  max-width: 480px;
  margin-inline: auto;
  margin-top: var(--space-lg);
  opacity: 0;
  animation: ph-fade-up .8s var(--ease) .42s forwards;
  font-weight: 300;
}

@keyframes ph-fade-up {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: none; }
}

/* ─── ABOUT PAGE ─────────────────────────────────────────── */

/* ── Story section ─────────────────────────────────────── */
.about-story { background: var(--cream); }

.story-grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: start;
}

.story-grid p {
  color: var(--text-body);
  line-height: 1.85;
  margin-bottom: var(--space-lg);
  font-size: 1rem;
}

/* Pull quote */
.pull-quote {
  border-left: 3px solid var(--saffron);
  padding: var(--space-md) var(--space-xl);
  margin-block: var(--space-xl);
  background: linear-gradient(90deg, rgba(201,64,0,.04), transparent);
  border-radius: 0 var(--r-md) var(--r-md) 0;
}
.pull-quote p {
  font-family: var(--font-display);
  font-size: 1.08rem;
  font-weight: 500;
  color: var(--text-dark);
  font-style: italic;
  line-height: 1.7;
  margin: 0;
}

/* Om divider */
.ornament-divider {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  margin-block: var(--space-2xl);
}
.ornament-divider::before,
.ornament-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--border-dark), transparent);
}
.ornament-char {
  font-family: var(--font-hindi);
  font-size: 1.6rem;
  color: var(--saffron);
  opacity: .35;
  line-height: 1;
}

/* Tag cloud */
.tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: var(--space-md);
}
.tag {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.85rem;
  background: var(--cream-dark);
  border: 1px solid var(--border);
  border-radius: var(--r-full);
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--text-body);
  transition: all var(--dur-f);
}
.tag:hover {
  border-color: var(--saffron);
  color: var(--saffron);
  background: rgba(201,64,0,.05);
}

/* ── Sidebar cards ──────────────────────────────────────── */
.story-side {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
  position: sticky;
  top: calc(var(--nav-h) + 1.5rem);
}

/* Philosophy card */
.philosophy-card {
  background: var(--grad-hero);
  border-radius: var(--r-xl);
  padding: var(--space-xl);
  position: relative;
  overflow: hidden;
}
.philosophy-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--grad-gold);
}
.philosophy-card-label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-lt);
  margin-bottom: var(--space-md);
}
.philosophy-card p {
  color: rgba(255,255,255,.6);
  font-size: 0.88rem;
  line-height: 1.8;
  margin-bottom: var(--space-md) !important;
}
.philosophy-card p:last-child { margin-bottom: 0 !important; }

/* Name meaning card */
.name-meaning-card {
  background: var(--cream-card);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  padding: var(--space-xl);
  text-align: center;
}
.name-om {
  font-family: var(--font-hindi);
  font-size: 2.2rem;
  color: var(--saffron);
  opacity: .3;
  line-height: 1;
  margin-bottom: var(--space-md);
}
.name-meaning-card h3 {
  font-size: 1.05rem;
  margin-bottom: var(--space-md);
  color: var(--text-dark);
}
.name-meaning-card p {
  font-size: 0.86rem;
  color: var(--text-light);
  line-height: 1.75;
  margin-bottom: var(--space-md) !important;
}

/* ── Sciences section ───────────────────────────────────── */
.sciences-section { background: var(--grad-section); }

.sciences-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-xl);
}

.science-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  padding: var(--space-xl) var(--space-xl) var(--space-lg);
  transition: all var(--dur-m) var(--ease);
  position: relative;
  overflow: hidden;
}
.science-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--grad-saffron);
  transform: scaleX(0); transform-origin: left;
  transition: transform var(--dur-m) var(--ease);
}
.science-card:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
  border-color: var(--border-mid);
}
.science-card:hover::before { transform: scaleX(1); }

.science-card-icon {
  font-size: 2rem;
  margin-bottom: var(--space-md);
  display: block;
  transition: transform var(--dur-m) var(--ease);
}
.science-card:hover .science-card-icon { transform: scale(1.12) translateY(-2px); }

.science-card h3 {
  font-size: 1.15rem;
  color: var(--text-dark);
  margin-bottom: var(--space-md);
}
.science-card p {
  font-size: 0.9rem;
  color: var(--text-light);
  line-height: 1.8;
  margin-bottom: var(--space-lg);
}

/* Science detail items */
.science-detail {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding-top: var(--space-md);
  border-top: 1px solid var(--border);
}
.science-detail-item {
  font-size: 0.8rem;
  color: var(--text-light);
  padding-left: 1rem;
  position: relative;
  line-height: 1.5;
}
.science-detail-item::before {
  content: '•';
  position: absolute; left: 0;
  color: var(--saffron);
  font-weight: 700;
}

/* ── Expectations section ───────────────────────────────── */
.expectations-section { background: var(--white); }

.expectations-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-xl);
}

.expectations-col {
  padding: var(--space-xl);
  border-radius: var(--r-xl);
  border: 1px solid var(--border);
}
.expectations-col h4 {
  font-size: 1rem;
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid var(--border);
}
.expectations-col.yes { background: rgba(21,128,61,.04); border-color: rgba(21,128,61,.2); }
.expectations-col.yes h4 { color: var(--success); }
.expectations-col.no  { background: rgba(185,28,28,.03); border-color: rgba(185,28,28,.15); }
.expectations-col.no  h4 { color: var(--error); }

.expectation-list { display: flex; flex-direction: column; gap: 0.75rem; }
.expectation-item { display: flex; align-items: flex-start; gap: 0.65rem; }
.expectation-icon {
  flex-shrink: 0;
  font-weight: 700; font-size: 0.85rem;
  margin-top: 2px;
  width: 18px;
}
.expectations-col.yes .expectation-icon { color: var(--success); }
.expectations-col.no  .expectation-icon { color: var(--error); }
.expectation-item span { font-size: 0.88rem; color: var(--text-body); line-height: 1.6; }

/* ── About CTA section ──────────────────────────────────── */
.about-cta {
  background: var(--grad-hero-2);
  padding-block: clamp(4rem, 10vw, 6rem);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.about-cta::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 100%, rgba(212,144,10,.09) 0%, transparent 60%);
}
.about-cta .container { position: relative; z-index: 1; }
.about-cta h2 {
  color: var(--white);
  margin-bottom: var(--space-md);
}
.about-cta p {
  color: rgba(255,255,255,.62);
  font-size: 1rem;
  max-width: 460px;
  margin-inline: auto;
  margin-bottom: var(--space-2xl);
}
.about-cta-btns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-lg);
  flex-wrap: wrap;
}

/* ─── SERVICES PAGE ──────────────────────────────────────── */

/* ── Filter tabs ────────────────────────────────────────── */
.services-filter {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: var(--space-2xl);
}
.filter-btn {
  padding: 0.45rem 1.1rem;
  border-radius: var(--r-full);
  font-size: 0.83rem;
  font-weight: 500;
  color: var(--text-light);
  border: 1.5px solid var(--border);
  background: var(--white);
  cursor: pointer;
  transition: all var(--dur-f);
}
.filter-btn:hover { border-color: var(--saffron); color: var(--saffron); }
.filter-btn.active {
  background: var(--saffron);
  border-color: var(--saffron);
  color: var(--white);
  box-shadow: 0 3px 12px rgba(201,64,0,.3);
}

/* ── Full service cards (services.html) ─────────────────── */
.service-full-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  overflow: hidden;
  margin-bottom: var(--space-xl);
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--dur-m) var(--ease);
}
.service-full-card:last-child { margin-bottom: 0; }
.service-full-card:hover { box-shadow: var(--shadow-md); }

/* Card header */
.sfc-header {
  display: flex;
  align-items: center;
  gap: var(--space-xl);
  padding: var(--space-xl) var(--space-xl) var(--space-lg);
  border-bottom: 1px solid var(--border);
  background: linear-gradient(to right, rgba(201,64,0,.03), transparent 60%);
}
.sfc-icon-wrap {
  width: 56px; height: 56px; flex-shrink: 0;
  background: var(--cream-card);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.75rem;
  transition: transform var(--dur-m) var(--ease);
}
.service-full-card:hover .sfc-icon-wrap { transform: scale(1.08) rotate(-3deg); }

.sfc-header-meta { flex: 1; }
.sfc-header-meta h2 {
  font-size: clamp(1.25rem, 2.5vw, 1.7rem);
  color: var(--text-dark);
  margin-bottom: 0.25rem;
}
.sfc-header-meta p {
  font-size: 0.88rem;
  color: var(--text-light);
  line-height: 1.5;
}

.sfc-header-price {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  flex-shrink: 0;
}
.sfc-price-num {
  font-family: var(--font-display);
  font-size: 1.75rem; font-weight: 700;
  color: var(--saffron);
  line-height: 1;
}
.sfc-price-dur {
  font-size: 0.74rem;
  color: var(--text-faint);
  margin-top: 0.2rem;
  background: rgba(201,64,0,.07);
  padding: 0.14rem 0.5rem;
  border-radius: var(--r-full);
  font-weight: 500;
}

/* Card body */
.sfc-body {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 0;
}
.sfc-left {
  padding: var(--space-xl);
  border-right: 1px solid var(--border);
}
.sfc-right {
  padding: var(--space-xl);
  background: rgba(253,246,236,.5);
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.sfc-desc {
  font-size: 0.93rem;
  color: var(--text-body);
  line-height: 1.85;
  margin-bottom: var(--space-lg);
}

.sfc-section-label {
  font-size: 0.71rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--saffron);
  margin-bottom: var(--space-md);
  margin-top: var(--space-lg);
}
.sfc-section-label:first-child { margin-top: 0; }

.sfc-benefits {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.sfc-benefit {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
}
.sfc-benefit-dot {
  flex-shrink: 0;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--saffron);
  margin-top: 7px;
  opacity: .7;
}
.sfc-benefit span {
  font-size: 0.87rem;
  color: var(--text-body);
  line-height: 1.6;
}

/* Topics checkbox group */
.sfc-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: var(--space-md);
}
.sfc-topic-tag {
  display: inline-flex;
  align-items: center;
  padding: 0.22rem 0.75rem;
  background: var(--cream-dark);
  border: 1px solid var(--border);
  border-radius: var(--r-full);
  font-size: 0.76rem;
  font-weight: 500;
  color: var(--text-light);
  cursor: default;
}
.sfc-topic-tag.highlight {
  background: rgba(201,64,0,.08);
  border-color: rgba(201,64,0,.25);
  color: var(--saffron);
}

/* Requirement box (sidebar) */
.req-box {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: var(--space-lg);
}
.req-box-label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--saffron);
  margin-bottom: var(--space-md);
}
.req-list { display: flex; flex-direction: column; gap: 0.5rem; }
.req-item {
  font-size: 0.83rem;
  color: var(--text-body);
  padding-left: 1.1rem;
  position: relative;
  line-height: 1.55;
}
.req-item::before {
  content: '→';
  position: absolute; left: 0;
  color: var(--saffron);
  font-size: 0.72rem;
  top: 1px;
}

/* Book CTA row */
.sfc-book-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  padding-top: var(--space-md);
  border-top: 1px solid var(--border);
  margin-top: auto;
  flex-wrap: wrap;
}
.price-tag { display: flex; align-items: baseline; gap: 0.3rem; }
.price-tag-num {
  font-family: var(--font-display);
  font-size: 1.5rem; font-weight: 700;
  color: var(--saffron);
}
.price-tag-label { font-size: 0.78rem; color: var(--text-faint); }

/* ── Comparison table section ───────────────────────────── */
.compare-section { background: var(--cream-dark); }

.compare-box {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}

.compare-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}
.compare-table thead {
  background: var(--grad-hero);
}
.compare-table thead th {
  padding: 0.9rem 1.1rem;
  text-align: left;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.65);
  white-space: nowrap;
}
.compare-table tbody tr {
  border-bottom: 1px solid var(--border);
  transition: background var(--dur-f);
}
.compare-table tbody tr:last-child { border-bottom: none; }
.compare-table tbody tr:hover { background: var(--cream-card); }
.compare-table td {
  padding: 0.9rem 1.1rem;
  color: var(--text-body);
  vertical-align: middle;
}
.compare-table td:first-child {
  font-family: var(--font-display);
  font-weight: 600;
  color: var(--text-dark);
  white-space: nowrap;
}
.td-price {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--saffron);
  font-size: 1rem;
}
.td-book a {
  display: inline-flex;
  align-items: center;
  padding: 0.34rem 0.95rem;
  background: var(--saffron);
  color: white;
  border-radius: var(--r-full);
  font-size: 0.78rem;
  font-weight: 600;
  transition: all var(--dur-f);
  white-space: nowrap;
}
.td-book a:hover {
  background: var(--saffron-mid);
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(201,64,0,.3);
}

/* Badge variants used in table */
.badge-warning { background: rgba(180,83,9,.1);  color: var(--warning); }
.badge-success { background: rgba(21,128,61,.1);  color: var(--success); }

/* ─── CONTACT PAGE ───────────────────────────────────────── */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}

.contact-method {
  display: flex;
  align-items: flex-start;
  gap: var(--space-lg);
  padding: var(--space-xl);
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  transition: all var(--dur-m) var(--ease);
  margin-bottom: var(--space-lg);
}
.contact-method:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
  border-color: var(--border-mid);
}
.contact-method:last-child { margin-bottom: 0; }

.contact-method-icon {
  width: 50px; height: 50px; flex-shrink: 0;
  border-radius: var(--r-md);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem;
}
.contact-method-icon.whatsapp { background: rgba(37,211,102,.1); }
.contact-method-icon.email    { background: rgba(201,64,0,.08); }
.contact-method-icon.timing   { background: rgba(212,144,10,.1); }

.contact-method-body h4 { font-size: 1rem; color: var(--text-dark); margin-bottom: 0.25rem; }
.contact-method-body p  { font-size: 0.87rem; color: var(--text-light); line-height: 1.6; margin-bottom: 0.65rem; }
.contact-method-body a  {
  display: inline-flex; align-items: center; gap: 0.35rem;
  font-size: 0.84rem; font-weight: 600;
  color: var(--saffron);
  transition: color var(--dur-f);
}
.contact-method-body a:hover { color: var(--saffron-mid); }

/* Slot availability display */
.slots-visual {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  overflow: hidden;
}
.slots-visual-header {
  background: var(--grad-hero);
  padding: var(--space-lg) var(--space-xl);
  font-family: var(--font-display);
  font-weight: 700;
  color: rgba(255,255,255,.85);
  font-size: 0.82rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.slots-day {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-md) var(--space-xl);
  border-bottom: 1px solid var(--border);
}
.slots-day:last-child { border-bottom: none; }
.slots-day-name { font-weight: 600; font-size: 0.9rem; color: var(--text-dark); }
.slots-day-time { font-size: 0.85rem; color: var(--text-light); }
.slots-day-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--success);
  box-shadow: 0 0 6px rgba(21,128,61,.4);
  flex-shrink: 0;
  animation: slot-pulse 2.5s ease-in-out infinite;
}
@keyframes slot-pulse {
  0%,100% { opacity: 1; transform: scale(1); }
  50% { opacity: .5; transform: scale(.75); }
}

/* FAQ accordion */
.faq-list { display: flex; flex-direction: column; gap: var(--space-md); }
.faq-item {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: border-color var(--dur-f);
}
.faq-item.open { border-color: var(--border-mid); }
.faq-question {
  padding: var(--space-lg) var(--space-xl);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  cursor: pointer;
  font-weight: 600;
  font-size: 0.93rem;
  color: var(--text-dark);
  user-select: none;
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  font-family: inherit;
  transition: color var(--dur-f);
}
.faq-question:hover { color: var(--saffron); }
.faq-question-icon {
  width: 22px; height: 22px; flex-shrink: 0;
  border-radius: 50%;
  border: 1.5px solid var(--border-mid);
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; color: var(--text-light);
  transition: all var(--dur-m) var(--ease);
}
.faq-item.open .faq-question-icon {
  border-color: var(--saffron); color: var(--saffron);
  transform: rotate(45deg);
  background: rgba(201,64,0,.06);
}
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s var(--ease), padding .25s;
  padding: 0 var(--space-xl);
}
.faq-answer p {
  font-size: 0.88rem;
  color: var(--text-light);
  line-height: 1.8;
  padding-bottom: var(--space-lg);
}
.faq-item.open .faq-answer { max-height: 300px; padding-top: 0; }

/* ─── DISCLAIMER PAGE ────────────────────────────────────── */
.disclaimer-page { background: var(--cream); }

.disclaimer-content {
  max-width: 780px;
  margin-inline: auto;
}
.disclaimer-content h2 {
  font-size: 1.3rem;
  color: var(--text-dark);
  margin-top: var(--space-2xl);
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--border);
}
.disclaimer-content h2:first-child { margin-top: 0; }
.disclaimer-content p {
  font-size: 0.92rem;
  color: var(--text-body);
  line-height: 1.85;
  margin-bottom: var(--space-md);
}
.disclaimer-content ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin-bottom: var(--space-lg);
}
.disclaimer-content li {
  font-size: 0.9rem;
  color: var(--text-body);
  padding-left: 1.25rem;
  position: relative;
  line-height: 1.7;
}
.disclaimer-content li::before {
  content: '•';
  position: absolute; left: 0;
  color: var(--saffron); font-weight: 700;
}

.disclaimer-alert {
  background: linear-gradient(135deg, rgba(201,64,0,.06), rgba(212,144,10,.04));
  border: 1.5px solid rgba(201,64,0,.2);
  border-radius: var(--r-lg);
  padding: var(--space-xl);
  margin-bottom: var(--space-2xl);
}
.disclaimer-alert strong {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--saffron);
  margin-bottom: var(--space-md);
}
.disclaimer-alert p {
  font-size: 0.9rem;
  color: var(--text-body);
  line-height: 1.8;
  margin: 0;
}

/* ─── 404 PAGE ───────────────────────────────────────────── */
@keyframes om-breathe {
  0%,100% { opacity: .28; transform: scale(1); }
  50%      { opacity: .5;  transform: scale(1.08); }
}
.not-found {
  min-height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: var(--grad-hero);
  position: relative;
  overflow: hidden;
}
.not-found::before {
  content: '404';
  position: absolute;
  font-family: var(--font-display);
  font-size: clamp(12rem, 25vw, 20rem);
  font-weight: 800;
  color: rgba(255,255,255,.025);
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  pointer-events: none;
  white-space: nowrap;
  line-height: 1;
}
.not-found-inner { position: relative; z-index: 1; }
.not-found-om {
  font-family: var(--font-hindi);
  font-size: 4rem;
  color: var(--saffron);
  opacity: .3;
  display: block;
  margin-bottom: var(--space-xl);
  animation: om-breathe 4s ease-in-out infinite;
}
.not-found h1 { color: var(--white); margin-bottom: var(--space-md); }
.not-found p {
  color: rgba(255,255,255,.55);
  font-size: 1rem; max-width: 380px;
  margin-inline: auto;
  margin-bottom: var(--space-2xl);
}
.not-found-btns {
  display: flex; gap: var(--space-md);
  align-items: center; justify-content: center; flex-wrap: wrap;
}

/* ─── RESPONSIVE ─────────────────────────────────────────── */
@media (max-width: 1024px) {
  .story-grid        { grid-template-columns: 1fr; }
  .story-side        { position: static; }
  .sciences-grid     { grid-template-columns: 1fr 1fr; }
  .sfc-body          { grid-template-columns: 1fr; }
  .sfc-left          { border-right: none; border-bottom: 1px solid var(--border); }
  .sfc-right         { background: var(--cream); }
}

@media (max-width: 768px) {
  .sciences-grid     { grid-template-columns: 1fr; }
  .expectations-grid { grid-template-columns: 1fr; }
  .contact-grid      { grid-template-columns: 1fr; }
  .services-filter   { gap: 0.35rem; }
  .filter-btn        { font-size: 0.78rem; padding: 0.38rem 0.85rem; }
  .sfc-header        { flex-wrap: wrap; gap: var(--space-md); }
  .sfc-header-price  { align-items: flex-start; }
  .compare-table     { font-size: 0.8rem; }
  .compare-table td,
  .compare-table th  { padding: 0.65rem 0.75rem; }
}

@media (max-width: 480px) {
  .sfc-book-row { flex-direction: column; align-items: stretch; }
  .sfc-book-row .btn { text-align: center; justify-content: center; }
  .about-cta-btns { flex-direction: column; }
  .not-found-btns { flex-direction: column; }
}

/* ─── SESSION STEPS ROW (contact page) ──────────────────── */
.session-steps-row {
  display: flex;
  align-items: stretch;
  gap: 0;
  max-width: 960px;
  margin-inline: auto;
}

/* Arrow connectors between cards */
.ssc-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--saffron);
  font-size: 1.4rem;
  opacity: .5;
  padding-inline: 0.5rem;
  /* push down slightly to align with card center above the desc text */
  margin-bottom: 2.8rem;
  user-select: none;
}

/* Individual step card */
.session-step-card {
  flex: 1;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  padding: var(--space-xl) var(--space-lg);
  text-align: center;
  position: relative;
  transition: transform var(--dur-m) var(--ease),
              box-shadow var(--dur-m) var(--ease),
              border-color var(--dur-m) var(--ease);
  cursor: default;
}

/* Top accent bar — animates in on hover */
.session-step-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--grad-saffron);
  border-radius: var(--r-xl) var(--r-xl) 0 0;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--dur-m) var(--ease);
}
.session-step-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(201,64,0,.12);
  border-color: rgba(201,64,0,.25);
}
.session-step-card:hover::before { transform: scaleX(1); }

/* Step number badge */
.ssc-num {
  position: absolute;
  top: var(--space-md);
  right: var(--space-md);
  width: 22px; height: 22px;
  border-radius: 50%;
  background: rgba(201,64,0,.09);
  border: 1px solid rgba(201,64,0,.18);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.62rem; font-weight: 800;
  color: var(--saffron);
  letter-spacing: 0;
  line-height: 1;
}

/* Icon */
.ssc-icon {
  font-size: 2.2rem;
  line-height: 1;
  margin-bottom: var(--space-md);
  display: block;
  transition: transform var(--dur-m) var(--ease);
}
.session-step-card:hover .ssc-icon {
  transform: scale(1.18) translateY(-3px);
}

/* Title */
.ssc-title {
  font-family: var(--font-display);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: var(--space-sm);
  line-height: 1.3;
}

/* Description */
.ssc-desc {
  font-size: 0.8rem;
  color: var(--text-light);
  line-height: 1.7;
}

/* Responsive: stack on small screens */
@media (max-width: 860px) {
  .session-steps-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-md);
  }
  .ssc-arrow { display: none; }
}
@media (max-width: 480px) {
  .session-steps-row { grid-template-columns: 1fr; }
}
