/* ============================================================
   chardham.yoga — site stylesheet
   Built on Pothi tokens. Warm cream paper, terracotta accent,
   EB Garamond / Source Sans 3 / Noto Serif Devanagari.
   ============================================================ */


:root {
  --c-bg:        #FAF6EF;
  --c-bg-2:      #F4EEE2;
  --c-bg-3:      #ECE4D2;
  --c-paper:     #FFFCF5;
  --c-ink:       #14110D;
  --c-fg:        #1A1A1A;
  --c-fg-2:      #4A4A4A;
  --c-fg-3:      #7A7264;
  --c-rule:      #E2D8C2;
  --c-rule-strong: #C9BC9F;
  --c-accent:        #B4513A;
  --c-accent-soft:   #E8D2C8;
  --c-accent-wash:   #F2DECC;
  --c-accent-strong: #8E3A26;
  --c-success:   #4F6B43;
  --c-warning:   #8A6A2A;
  --c-danger:    #8E3A26;
  --c-focus:     #B4513A;

  --ff-deva:  "Noto Serif Devanagari", "Sanskrit 2003", serif;
  --ff-serif: "EB Garamond", "Noto Serif Devanagari", Georgia, "Times New Roman", serif;
  --ff-sans:  "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;

  --r-sm:  6px;
  --r-md:  8px;
  --r-lg:  10px;
  --r-xl:  12px;
  --r-pill: 9999px;

  --shadow-soft: 0 1px 2px rgba(26,20,14,0.04);
  --shadow-card: 0 1px 3px rgba(26,20,14,0.05), 0 1px 2px rgba(26,20,14,0.03);

  --content-max: 1200px;
  --reading-max: 68ch;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--c-bg);
  color: var(--c-fg);
  font-family: var(--ff-serif);
  font-size: 18px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }

::selection { background: var(--c-accent-soft); color: var(--c-fg); }
:focus-visible { outline: 2px solid var(--c-focus); outline-offset: 2px; border-radius: var(--r-sm); }

/* ---------- Typography ---------- */
.t-display {
  font-family: var(--ff-serif);
  font-weight: 600;
  font-size: clamp(36px, 5.2vw, 64px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--c-ink);
  text-wrap: balance;
  margin: 0;
}
.t-h1 {
  font-family: var(--ff-serif);
  font-weight: 600;
  font-size: clamp(30px, 3.6vw, 44px);
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: var(--c-ink);
  text-wrap: balance;
  margin: 0;
}
.t-h2 {
  font-family: var(--ff-serif);
  font-weight: 600;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--c-ink);
  margin: 0;
  text-wrap: balance;
}
.t-h3 {
  font-family: var(--ff-serif);
  font-weight: 600;
  font-size: 22px;
  line-height: 1.3;
  color: var(--c-ink);
  margin: 0;
}
.t-lede {
  font-family: var(--ff-serif);
  font-size: clamp(18px, 1.6vw, 22px);
  line-height: 1.55;
  color: var(--c-fg-2);
  margin: 0;
  max-width: 60ch;
  text-wrap: pretty;
}
.t-body { font-family: var(--ff-serif); font-size: 18px; line-height: 1.65; color: var(--c-fg); margin: 0; }
.t-body-sm { font-family: var(--ff-serif); font-size: 16px; line-height: 1.6; color: var(--c-fg-2); margin: 0; }
.t-ui { font-family: var(--ff-sans); font-size: 15px; line-height: 1.45; font-weight: 500; color: var(--c-fg); letter-spacing: 0.005em; }
.t-eyebrow {
  font-family: var(--ff-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin: 0;
}
.t-meta {
  font-family: var(--ff-sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-fg-2);
}
.t-deva { font-family: var(--ff-deva); }

/* ---------- Layout ---------- */
.container {
  width: 100%;
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 24px;
}
.container-wide {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px;
}
.container-narrow {
  width: 100%;
  max-width: 880px;
  margin: 0 auto;
  padding: 0 24px;
}
.section { padding: 80px 0; }
.section-sm { padding: 48px 0; }
.section-lg { padding: 120px 0; }

@media (max-width: 720px) {
  .section { padding: 56px 0; }
  .section-lg { padding: 72px 0; }
}

/* ---------- Header / Nav ---------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(250,246,239,0.96);
  backdrop-filter: saturate(140%) blur(6px);
  -webkit-backdrop-filter: saturate(140%) blur(6px);
  border-bottom: 1px solid var(--c-rule);
}
.site-header .inner {
  display: flex;
  align-items: center;
  gap: 24px;
  height: 72px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px;
}
.brand {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-family: var(--ff-serif);
  font-weight: 700;
  color: var(--c-accent);
  font-size: 22px;
  letter-spacing: -0.01em;
}
.brand .tag {
  font-family: var(--ff-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-fg-3);
  background: var(--c-bg-2);
  padding: 4px 8px;
  border-radius: var(--r-sm);
  align-self: center;
}
.nav { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.nav a {
  font-family: var(--ff-sans);
  font-size: 15px;
  font-weight: 500;
  color: var(--c-fg);
  padding: 10px 14px;
  border-radius: var(--r-md);
  transition: background 180ms ease, color 180ms ease;
  position: relative;
}
.nav a:hover { background: var(--c-bg-2); color: var(--c-accent); }
.nav a.is-active { color: var(--c-accent); }
.nav a.is-active::after {
  content: ""; position: absolute; left: 14px; right: 14px; bottom: 4px;
  height: 1.5px; background: var(--c-accent);
}
.nav-menu {
  position: relative;
}
.nav-menu > button {
  background: transparent; border: 0;
  font-family: var(--ff-sans); font-size: 15px; font-weight: 500;
  color: var(--c-fg); padding: 10px 14px; border-radius: var(--r-md);
  display: inline-flex; align-items: center; gap: 6px;
}
.nav-menu > button:hover { background: var(--c-bg-2); color: var(--c-accent); }
.nav-menu .dropdown {
  position: absolute; top: calc(100% + 6px); left: 0;
  background: var(--c-paper);
  border: 1px solid var(--c-rule);
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-card);
  padding: 12px;
  min-width: 260px;
  display: none;
  z-index: 60;
}
.nav-menu.is-open .dropdown { display: grid; gap: 2px; }
.nav-menu .dropdown a {
  display: block; padding: 10px 12px; border-radius: var(--r-md);
  font-family: var(--ff-sans); font-size: 14.5px; color: var(--c-fg);
}
.nav-menu .dropdown a:hover { background: var(--c-accent-soft); color: var(--c-accent-strong); }
.nav-menu .dropdown .group-label {
  font-family: var(--ff-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-fg-3);
  padding: 10px 12px 4px;
}

.cta-btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--ff-sans); font-weight: 600; font-size: 15px;
  background: var(--c-accent); color: #fff;
  padding: 11px 18px; border-radius: var(--r-lg); border: 0;
  transition: background 180ms ease, transform 180ms ease;
  letter-spacing: 0.005em;
  white-space: nowrap;
}
.cta-btn:hover { background: var(--c-accent-strong); }
.cta-btn:active { transform: translateY(1px); }
.cta-btn.ghost { background: transparent; color: var(--c-ink); border: 1px solid var(--c-rule-strong); }
.cta-btn.ghost:hover { background: var(--c-bg-2); }
.cta-btn.lg { padding: 14px 22px; font-size: 16px; }
.cta-btn.xl { padding: 16px 26px; font-size: 17px; }

.icon-btn-sq {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: var(--r-md);
  background: transparent; border: 0; color: var(--c-fg);
}
.icon-btn-sq:hover { background: var(--c-bg-2); }

/* ---------- Pills & chips ---------- */
.chip {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--ff-sans); font-size: 13px; font-weight: 500;
  color: var(--c-fg-2); padding: 5px 11px; border-radius: var(--r-pill);
  border: 1px solid var(--c-rule); background: var(--c-paper);
}
.chip-accent {
  border-color: var(--c-accent-soft); background: var(--c-accent-soft); color: var(--c-accent-strong);
}
.chip-success { border-color: #d3dbcc; background: #e8eedd; color: var(--c-success); }
.chip-warn { border-color: #e8d8b3; background: #f4e9c8; color: var(--c-warning); }

/* ---------- Hero ---------- */
.hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--c-rule);
}
.hero-bg {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center;
  filter: saturate(0.85);
}
.hero-bg::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(250,246,239,0.45) 0%, rgba(250,246,239,0.72) 55%, var(--c-bg) 100%);
}
.hero-inner {
  position: relative;
  padding: 120px 0 96px;
  text-align: center;
}
.hero .om {
  font-family: var(--ff-deva);
  font-size: 56px;
  color: var(--c-accent);
  line-height: 1;
  margin: 0 0 24px;
  opacity: 0.92;
}
.hero p.t-lede { margin: 22px auto 36px; text-align: center; }
.hero .ctas { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 12px; }

@media (max-width: 720px) {
  .hero-inner { padding: 72px 0 56px; }
  .hero .om { font-size: 44px; }
}

/* ---------- Sections / decorative ---------- */
.mandala-rule {
  display: flex; align-items: center; justify-content: center; gap: 16px;
  margin: 0 auto;
}
.mandala-rule::before, .mandala-rule::after {
  content: ""; height: 1px; background: var(--c-rule-strong); flex: 1; max-width: 120px;
}
.mandala-rule .glyph { color: var(--c-accent); font-size: 14px; letter-spacing: 0.3em; }

.section-head {
  display: flex; flex-direction: column; gap: 12px;
  margin-bottom: 48px;
  max-width: 720px;
}
.section-head.center { margin-left: auto; margin-right: auto; text-align: center; align-items: center; }

/* ---------- Cards ---------- */
.card {
  background: var(--c-paper);
  border: 1px solid var(--c-rule);
  border-radius: var(--r-xl);
  padding: 28px;
  transition: border-color 180ms ease, transform 180ms ease;
}
.card.compact { padding: 22px; }
.card a.linked { display: block; color: inherit; }
a.card-link { display: block; color: inherit; }
a.card-link:hover .card,
.card.hoverable:hover { border-color: var(--c-rule-strong); }

/* ---------- Destination cards ---------- */
.dest-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
}
.dest-card {
  background: var(--c-paper);
  border: 1px solid var(--c-rule);
  border-radius: var(--r-xl);
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}
.dest-card:hover { border-color: var(--c-rule-strong); box-shadow: var(--shadow-card); }
.dest-card .img {
  aspect-ratio: 4 / 3;
  background: var(--c-bg-3);
  background-size: cover; background-position: center;
  position: relative;
}
.dest-card .img .alt {
  position: absolute; top: 12px; left: 12px;
  background: rgba(20,17,13,0.78); color: var(--c-bg);
  font-family: var(--ff-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase;
  padding: 5px 10px; border-radius: var(--r-pill);
}
.dest-card .body { padding: 22px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.dest-card .body h3 { font-family: var(--ff-serif); font-size: 24px; font-weight: 600; margin: 0; color: var(--c-ink); letter-spacing: -0.01em; }
.dest-card .body .deva { font-family: var(--ff-deva); color: var(--c-accent); font-size: 18px; line-height: 1; margin-top: -4px; }
.dest-card .body p { margin: 0; color: var(--c-fg-2); font-size: 16px; line-height: 1.55; }
.dest-card .meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 4px; }

/* ---------- Modes (read/watch/listen/etc) ---------- */
.modes {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}
.mode-tile {
  background: var(--c-paper);
  border: 1px solid var(--c-rule);
  border-radius: var(--r-xl);
  padding: 22px 16px;
  text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  transition: border-color 180ms ease, transform 180ms ease;
}
.mode-tile:hover { border-color: var(--c-accent); transform: translateY(-2px); }
.mode-tile .ic {
  width: 44px; height: 44px; border-radius: var(--r-md);
  background: var(--c-accent-soft); color: var(--c-accent-strong);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 22px;
}
.mode-tile .label { font-family: var(--ff-sans); font-weight: 600; font-size: 14.5px; color: var(--c-ink); letter-spacing: 0.005em; }
.mode-tile .count { font-family: var(--ff-sans); font-size: 12px; color: var(--c-fg-3); letter-spacing: 0.04em; }
@media (max-width: 720px) {
  .modes { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- Pillar grid (preparation pillars) ---------- */
.pillar-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1px;
  background: var(--c-rule);
  border: 1px solid var(--c-rule);
  border-radius: var(--r-xl);
  overflow: hidden;
}
.pillar {
  background: var(--c-paper);
  padding: 32px 28px;
  display: flex; flex-direction: column; gap: 14px;
  min-height: 220px;
}
.pillar .num {
  font-family: var(--ff-serif); font-size: 13px; font-weight: 600;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--c-accent);
}
.pillar h3 { margin: 0; font-family: var(--ff-serif); font-size: 22px; font-weight: 600; letter-spacing: -0.005em; color: var(--c-ink); }
.pillar p { margin: 0; color: var(--c-fg-2); font-size: 16px; line-height: 1.55; }

/* ---------- Free-offer banners (physio / yoga) ---------- */
.offer-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
@media (max-width: 880px) { .offer-grid { grid-template-columns: 1fr; } }

.offer {
  border-radius: var(--r-xl);
  padding: 36px;
  position: relative;
  overflow: hidden;
  display: flex; flex-direction: column; gap: 14px;
}
.offer.physio { background: linear-gradient(140deg, #2d4a3c 0%, #1c3327 100%); color: #e8eedd; }
.offer.yoga { background: linear-gradient(140deg, #B4513A 0%, #8E3A26 100%); color: #fff4ec; }
.offer h3 { margin: 0; font-family: var(--ff-serif); font-size: 28px; font-weight: 600; color: inherit; letter-spacing: -0.01em; }
.offer p { margin: 0; opacity: 0.88; font-size: 16.5px; line-height: 1.55; }
.offer .eyebrow {
  font-family: var(--ff-sans); font-size: 12px; font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase; opacity: 0.75;
}
.offer .offer-cta {
  margin-top: 10px;
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--ff-sans); font-weight: 600; font-size: 15px;
  background: rgba(255,255,255,0.96); color: var(--c-ink);
  padding: 12px 20px; border-radius: var(--r-lg);
  align-self: flex-start;
  border: 0;
  transition: background 180ms ease;
}
.offer .offer-cta:hover { background: #fff; }

/* ---------- App banner ---------- */
.app-banner {
  background: var(--c-bg-2);
  border: 1px solid var(--c-rule);
  border-radius: var(--r-xl);
  padding: 56px;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 48px;
  align-items: center;
}
.app-banner .copy { display: flex; flex-direction: column; gap: 18px; }
.app-banner .phone {
  aspect-ratio: 9 / 16;
  max-width: 280px;
  margin: 0 auto;
  background: linear-gradient(160deg, #2a2520, #14110D);
  border-radius: 36px;
  padding: 14px;
  box-shadow: 0 30px 60px -20px rgba(20,17,13,0.35);
}
.app-banner .phone .screen {
  width: 100%; height: 100%;
  background: var(--c-bg) center/cover;
  border-radius: 24px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 12px; color: var(--c-ink);
}
@media (max-width: 880px) {
  .app-banner { grid-template-columns: 1fr; padding: 36px; gap: 32px; }
  .app-banner .phone { max-width: 220px; }
}

/* ---------- FAQ ---------- */
.faq { display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--c-rule); }
.faq details {
  border-bottom: 1px solid var(--c-rule);
  padding: 20px 4px;
}
.faq summary {
  list-style: none;
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px;
  cursor: pointer;
  font-family: var(--ff-serif); font-size: 19px; font-weight: 600; color: var(--c-ink);
  padding: 4px 0;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: "+";
  font-family: var(--ff-sans); font-weight: 400;
  font-size: 28px; color: var(--c-accent); line-height: 1;
  transition: transform 200ms ease;
}
.faq details[open] summary::after { content: "−"; }
.faq details p { margin: 12px 0 4px; color: var(--c-fg-2); max-width: 70ch; }

/* ---------- Footer ---------- */
.site-footer {
  background: var(--c-ink);
  color: #d6cfbe;
  padding: 64px 0 32px;
  margin-top: 0;
}
.site-footer .grid {
  display: grid;
  grid-template-columns: 1.6fr repeat(3, 1fr);
  gap: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
@media (max-width: 880px) { .site-footer .grid { grid-template-columns: 1fr 1fr; gap: 28px; } }
.site-footer h4 {
  font-family: var(--ff-sans); font-size: 12px; font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: #e8d2c8; margin: 0 0 14px;
}
.site-footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.site-footer ul a { color: #d6cfbe; font-family: var(--ff-sans); font-size: 14.5px; }
.site-footer ul a:hover { color: #fff; }
.site-footer .brand { color: #f6e0d4; }
.site-footer .brand .tag { color: #b8a987; background: rgba(255,255,255,0.05); }
.site-footer .bottom {
  display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between;
  padding-top: 24px; color: #9a907b; font-family: var(--ff-sans); font-size: 13px;
}

/* ---------- Detail page hero ---------- */
.detail-hero {
  position: relative;
  background: var(--c-bg-2);
  border-bottom: 1px solid var(--c-rule);
}
.detail-hero .image {
  height: 480px;
  background-size: cover; background-position: center;
  position: relative;
}
.detail-hero .image::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(20,17,13,0.2) 0%, rgba(20,17,13,0.45) 60%, rgba(20,17,13,0.7) 100%);
}
.detail-hero .meta-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--c-rule);
}
.detail-hero .meta-strip .cell {
  padding: 22px 24px;
  border-right: 1px solid var(--c-rule);
}
.detail-hero .meta-strip .cell:last-child { border-right: 0; }
.detail-hero .meta-strip .label {
  font-family: var(--ff-sans); font-size: 11.5px; font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-fg-3);
  margin: 0 0 6px;
}
.detail-hero .meta-strip .value {
  font-family: var(--ff-serif); font-size: 19px; font-weight: 600; color: var(--c-ink);
  margin: 0;
}
.detail-hero .title-area {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 0 24px 48px;
  color: #fff;
  z-index: 2;
}
.detail-hero .title-area .container { display: flex; flex-direction: column; gap: 16px; }
.detail-hero .title-area h1 {
  font-family: var(--ff-serif); font-size: clamp(40px, 5.6vw, 68px);
  font-weight: 600; line-height: 1.05; margin: 0; letter-spacing: -0.02em;
  text-wrap: balance;
  color: #fff;
}
.detail-hero .title-area .deva {
  font-family: var(--ff-deva); font-size: 24px; color: #f0c8b6;
}
.detail-hero .title-area .lede {
  font-family: var(--ff-serif); font-size: 19px; line-height: 1.55;
  color: rgba(255,255,255,0.86); max-width: 56ch;
}
.detail-hero .crumb {
  font-family: var(--ff-sans); font-size: 13px; letter-spacing: 0.06em;
  color: rgba(255,255,255,0.78); margin-bottom: 4px;
}
.detail-hero .crumb a { text-decoration: underline; text-decoration-color: rgba(255,255,255,0.3); }

@media (max-width: 720px) {
  .detail-hero .image { height: 380px; }
  .detail-hero .meta-strip { grid-template-columns: 1fr 1fr; }
  .detail-hero .meta-strip .cell:nth-child(2) { border-right: 0; }
  .detail-hero .meta-strip .cell:nth-child(1), .detail-hero .meta-strip .cell:nth-child(2) { border-bottom: 1px solid var(--c-rule); }
}

/* ---------- Side-by-side article layout ---------- */
.layout-2col {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 64px;
  align-items: start;
}
@media (max-width: 980px) { .layout-2col { grid-template-columns: 1fr; gap: 32px; } }

.sticky-card {
  position: sticky; top: 88px;
  display: flex; flex-direction: column; gap: 12px;
}

/* ---------- Article body ---------- */
.prose { max-width: 68ch; }
.prose h2 {
  font-family: var(--ff-serif); font-size: 30px; font-weight: 600;
  margin: 56px 0 16px; color: var(--c-ink); letter-spacing: -0.01em;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--c-rule);
}
.prose h2:first-child { margin-top: 0; }
.prose h3 {
  font-family: var(--ff-serif); font-size: 22px; font-weight: 600;
  margin: 32px 0 10px; color: var(--c-ink);
}
.prose p { font-family: var(--ff-serif); font-size: 18px; line-height: 1.7; color: var(--c-fg); margin: 0 0 18px; text-wrap: pretty; }
.prose ul, .prose ol { padding-left: 22px; margin: 0 0 18px; }
.prose ul li, .prose ol li { font-family: var(--ff-serif); font-size: 18px; line-height: 1.7; color: var(--c-fg); margin: 0 0 6px; }
.prose strong { font-weight: 600; color: var(--c-ink); }
.prose em { font-style: italic; color: var(--c-accent-strong); }

.callout {
  background: var(--c-bg-2);
  border-left: 3px solid var(--c-accent);
  border-radius: var(--r-md);
  padding: 22px 26px;
  margin: 24px 0;
}
.callout .label {
  font-family: var(--ff-sans); font-size: 11.5px; font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-accent);
  margin: 0 0 6px;
}
.callout p { margin: 0; }

/* ---------- Recipe / exercise / meditation cards inside detail ---------- */
.feature-row {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 18px;
}
.feature {
  background: var(--c-paper);
  border: 1px solid var(--c-rule);
  border-radius: var(--r-xl);
  padding: 22px;
  display: flex; flex-direction: column; gap: 10px;
}
.feature .ic-sm {
  width: 36px; height: 36px; border-radius: var(--r-md);
  background: var(--c-accent-soft); color: var(--c-accent-strong);
  display: inline-flex; align-items: center; justify-content: center; font-size: 18px;
}
.feature h4 { font-family: var(--ff-serif); font-size: 18px; font-weight: 600; margin: 0; color: var(--c-ink); }
.feature p { font-family: var(--ff-serif); font-size: 15.5px; line-height: 1.55; color: var(--c-fg-2); margin: 0; }

/* ---------- Itinerary timeline ---------- */
.itinerary { position: relative; padding-left: 32px; }
.itinerary::before {
  content: ""; position: absolute; left: 8px; top: 6px; bottom: 6px;
  width: 1.5px; background: var(--c-rule-strong);
}
.itinerary .stop {
  position: relative; padding-bottom: 28px;
}
.itinerary .stop::before {
  content: ""; position: absolute; left: -32px; top: 6px;
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--c-paper); border: 3px solid var(--c-accent);
}
.itinerary .stop .day {
  font-family: var(--ff-sans); font-size: 11.5px; font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-accent);
}
.itinerary .stop h4 { font-family: var(--ff-serif); font-size: 19px; font-weight: 600; margin: 4px 0 6px; color: var(--c-ink); }
.itinerary .stop p { font-family: var(--ff-serif); font-size: 16px; line-height: 1.6; color: var(--c-fg-2); margin: 0; }

/* ---------- Resources filter UI ---------- */
.filter-bar {
  display: flex; flex-wrap: wrap; gap: 12px;
  background: var(--c-paper);
  border: 1px solid var(--c-rule);
  border-radius: var(--r-xl);
  padding: 16px;
  margin-bottom: 28px;
}
.filter-group {
  display: flex; flex-direction: column; gap: 6px; min-width: 180px; flex: 1;
}
.filter-group .label {
  font-family: var(--ff-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-fg-3);
}
.filter-group select, .filter-group input {
  appearance: none;
  font-family: var(--ff-sans); font-size: 15px; color: var(--c-ink);
  background: var(--c-bg-2);
  border: 1px solid var(--c-rule);
  border-radius: var(--r-md);
  padding: 11px 36px 11px 12px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%237A7264' stroke-width='1.5'/></svg>");
  background-repeat: no-repeat; background-position: right 12px center;
}
.filter-group input { background-image: none; padding-right: 12px; }
.filter-group select:focus, .filter-group input:focus {
  outline: none; border-color: var(--c-accent); background-color: var(--c-paper);
}
.filter-reset {
  font-family: var(--ff-sans); font-size: 13px; font-weight: 500; color: var(--c-accent);
  background: transparent; border: 0; padding: 8px 4px; align-self: end; margin-bottom: 2px;
}
.filter-reset:hover { color: var(--c-accent-strong); }

.resource-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 18px;
}
.resource {
  background: var(--c-paper);
  border: 1px solid var(--c-rule);
  border-radius: var(--r-xl);
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: border-color 180ms ease;
}
.resource:hover { border-color: var(--c-rule-strong); }
.resource .thumb {
  aspect-ratio: 16 / 10;
  background: var(--c-bg-3) center/cover;
  position: relative;
}
.resource .thumb .play {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  background: rgba(20,17,13,0.18);
}
.resource .thumb .play .dot {
  width: 56px; height: 56px; border-radius: var(--r-pill);
  background: rgba(250,246,239,0.92); color: var(--c-accent);
  display: inline-flex; align-items: center; justify-content: center; font-size: 22px;
}
.resource .thumb .duration {
  position: absolute; right: 10px; bottom: 10px;
  background: rgba(20,17,13,0.78); color: #fff;
  font-family: var(--ff-sans); font-size: 12px; font-weight: 500;
  padding: 4px 8px; border-radius: var(--r-sm);
}
.resource .thumb .format-tag {
  position: absolute; left: 10px; top: 10px;
  background: var(--c-accent); color: #fff;
  font-family: var(--ff-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase;
  padding: 5px 9px; border-radius: var(--r-sm);
}
.resource .meta { padding: 18px 18px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.resource .meta .cat {
  font-family: var(--ff-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-accent);
}
.resource .meta h4 { font-family: var(--ff-serif); font-size: 19px; font-weight: 600; color: var(--c-ink); margin: 0; line-height: 1.25; }
.resource .meta p { font-family: var(--ff-serif); font-size: 15px; color: var(--c-fg-2); margin: 0; line-height: 1.5; }
.resource .meta .tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 6px; }

.empty-state {
  text-align: center; padding: 64px 16px;
  color: var(--c-fg-3); font-family: var(--ff-serif); font-size: 18px;
}

/* ---------- Tag list summary ---------- */
.tag-list {
  display: flex; flex-wrap: wrap; gap: 8px;
}

/* ---------- Forms ---------- */
.form-row { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
.form-row label { font-family: var(--ff-sans); font-size: 13px; font-weight: 600; letter-spacing: 0.04em; color: var(--c-fg-2); text-transform: uppercase; }
.form-row input, .form-row select, .form-row textarea {
  font-family: var(--ff-sans); font-size: 16px; color: var(--c-ink);
  background: var(--c-paper);
  border: 1px solid var(--c-rule-strong);
  border-radius: var(--r-md);
  padding: 13px 14px;
  outline: none;
}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus { border-color: var(--c-accent); box-shadow: 0 0 0 3px rgba(180,81,58,0.15); }
.form-row .row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 600px) { .form-row .row-2 { grid-template-columns: 1fr; } }

/* ---------- Phosphor icon sizing helpers ---------- */
.ph { font-style: normal; }
.ic-xs { font-size: 16px; }
.ic-sm { font-size: 20px; }
.ic-md { font-size: 24px; }
.ic-lg { font-size: 28px; }

/* ---------- Mobile menu toggle ---------- */
.menu-toggle { display: none; }
@media (max-width: 980px) {
  .menu-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    background: transparent; border: 0; padding: 8px; color: var(--c-ink);
    margin-left: auto;
  }
  .nav {
    position: fixed; top: 72px; left: 0; right: 0; bottom: 0;
    background: var(--c-bg); border-top: 1px solid var(--c-rule);
    flex-direction: column; align-items: stretch; gap: 0; padding: 16px;
    margin-left: 0;
    display: none;
    overflow-y: auto;
  }
  .nav.is-open { display: flex; }
  .nav a, .nav-menu > button {
    padding: 14px 14px; font-size: 16px;
    border-radius: var(--r-md);
    width: 100%; text-align: left; display: block;
  }
  .nav-menu .dropdown {
    position: static; box-shadow: none; border: 0; padding: 4px 12px 8px;
    background: transparent;
  }
  .nav-menu.is-open .dropdown { display: grid; }
  .site-header .cta-btn { display: none; }
  .nav .cta-btn { display: inline-flex; margin-top: 8px; width: 100%; justify-content: center; }
}

/* ---------- Misc utility ---------- */
.stack { display: flex; flex-direction: column; }
.row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.row-tight { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.text-center { text-align: center; }
.muted { color: var(--c-fg-2); }
.muted-3 { color: var(--c-fg-3); }
.accent { color: var(--c-accent); }
.divider { height: 1px; background: var(--c-rule); width: 100%; margin: 0; border: 0; }
.bg-cream { background: var(--c-bg-2); }
.bg-paper { background: var(--c-paper); }

/* ---------- Print-friendly safety: no animation breakage ---------- */
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}



/* ============================================================
   Generated-site compatibility for taxonomy pages
   ============================================================ */
.t-display,.t-h1,.t-h2,.detail-hero .title-area h1,.prose h2,.dest-card .body h3,.offer h3,.section-head h2{letter-spacing:0!important}
.wrap{width:100%;max-width:var(--content-max);margin:0 auto;padding:0 24px}
main>section:not(.hero):not(.detail-hero):not(.app-hero):not(.section):not(.section-sm):not(.section-lg){padding:80px 0}
.soft-section{background:var(--c-bg-2);border-top:1px solid var(--c-rule);border-bottom:1px solid var(--c-rule)}
.section-head h2{font-family:var(--ff-serif);font-weight:600;font-size:clamp(30px,3.8vw,48px);line-height:1.12;color:var(--c-ink);margin:0;text-wrap:balance}
.section-head p:not(.eyebrow):not(.t-eyebrow){font-family:var(--ff-serif);font-size:18px;line-height:1.6;color:var(--c-fg-2);margin:0;max-width:68ch}
.eyebrow{font-family:var(--ff-sans);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--c-accent);margin:0 0 10px}.eyebrow.dark{color:var(--c-accent)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 18px;border-radius:var(--r-lg);font-family:var(--ff-sans);font-weight:600;font-size:15px;line-height:1.2;border:1px solid transparent;white-space:nowrap}.button-primary{background:var(--c-accent);color:#fff}.button-primary:hover{background:var(--c-accent-strong)}.button-outline,.button-ghost{background:transparent;color:var(--c-ink);border-color:var(--c-rule-strong)}.button.full{width:100%;margin-top:10px}
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--c-paper);border:1px solid var(--c-rule);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-soft)}.trust-strip div{padding:22px;border-right:1px solid var(--c-rule)}.trust-strip div:last-child{border-right:0}.trust-strip strong{display:block;font-family:var(--ff-serif);font-size:26px;font-weight:600;color:var(--c-ink);line-height:1.1}.trust-strip span{display:block;margin-top:4px;font-family:var(--ff-sans);font-size:13px;font-weight:500;color:var(--c-fg-3)}
.hub-grid,.destination-grid,.resource-grid,.module-grid,.steps-grid,.support-grid,.format-grid,.content-grid{display:grid;gap:24px}.hub-grid{grid-template-columns:repeat(3,1fr)}.destination-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.resource-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.module-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.steps-grid{grid-template-columns:repeat(4,1fr)}.support-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.format-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.content-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.hub-card,.destination-card,.resource-card,.module-card,.step-card,.support-card,.format-card,.content-mini,.content-block,.fact-panel{background:var(--c-paper);border:1px solid var(--c-rule);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-soft)}.hub-card:hover,.destination-card:hover,.resource-card:hover,.module-card:hover,.format-card:hover{border-color:var(--c-rule-strong);transform:translateY(-2px);transition:transform 180ms ease,border-color 180ms ease}.hub-card img,.destination-card img,.module-card img,.content-mini img{width:100%;height:210px;object-fit:cover;background:var(--c-bg-3)}.hub-card div,.destination-card .card-body,.resource-card .card-body,.module-card div,.step-card,.support-card,.format-card,.content-mini div,.content-block{padding:24px}.hub-card span,.image-link span,.resource-media span{display:inline-flex;background:rgba(20,17,13,.78);color:var(--c-bg);font-family:var(--ff-sans);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:var(--r-pill)}.hub-card h3,.destination-card h3,.resource-card h3,.module-card h3,.step-card h3,.support-card h3,.format-card h3,.content-mini h3{font-family:var(--ff-serif);font-size:24px;font-weight:600;line-height:1.2;color:var(--c-ink);margin:0 0 10px}.hub-card p,.destination-card p,.resource-card p,.module-card p,.step-card p,.support-card p,.format-card p,.content-mini p,.content-block p,.fact-panel dd{font-family:var(--ff-serif);font-size:16px;line-height:1.55;color:var(--c-fg-2);margin:0}.hub-card strong,.inline-action{display:inline-flex;margin-top:16px;font-family:var(--ff-sans);font-size:14px;font-weight:600;color:var(--c-accent)}
.image-link{position:relative;display:block}.image-link span{position:absolute;top:12px;left:12px}.stat-row{display:grid;gap:10px;margin:14px 0 18px}.stat-row div{border-top:1px solid var(--c-rule);padding-top:10px}.stat-row small{display:block;font-family:var(--ff-sans);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-fg-3)}.stat-row strong{display:block;font-family:var(--ff-serif);font-size:15px;font-weight:600;line-height:1.4;color:var(--c-fg-2);margin-top:2px}.card-action{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:12px 16px;border-radius:var(--r-lg);background:var(--c-accent);color:#fff;font-family:var(--ff-sans);font-size:14px;font-weight:600;letter-spacing:.01em}.card-action:hover{background:var(--c-accent-strong)}
.resource-card{display:flex;flex-direction:column}.resource-media{height:180px;display:flex;align-items:flex-end;padding:14px;background-image:linear-gradient(180deg,rgba(20,17,13,.08),rgba(20,17,13,.72)),url('/assets/images/route.webp');background-size:cover;background-position:center}.resource-media.article{background-image:linear-gradient(180deg,rgba(20,17,13,.08),rgba(20,17,13,.72)),url('/assets/images/food.webp')}.resource-media.video{background-image:linear-gradient(180deg,rgba(20,17,13,.08),rgba(20,17,13,.72)),url('/assets/images/exercise.webp')}.resource-media.expert-content{background-image:linear-gradient(180deg,rgba(20,17,13,.08),rgba(20,17,13,.72)),url('/assets/images/physio.webp')}.chip-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.chip-row span{font-family:var(--ff-sans);font-size:12px;font-weight:500;color:var(--c-fg-2);background:var(--c-bg-2);border:1px solid var(--c-rule);border-radius:var(--r-pill);padding:4px 9px}
.route-panel{display:grid;grid-template-columns:repeat(4,1fr);background:var(--c-paper);border:1px solid var(--c-rule);border-radius:var(--r-xl);overflow:hidden}.route-panel a{display:flex;flex-direction:column;gap:4px;padding:24px;border-right:1px solid var(--c-rule)}.route-panel a:last-child{border-right:0}.route-panel span{font-family:var(--ff-sans);font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--c-accent)}.route-panel strong{font-family:var(--ff-serif);font-size:26px;font-weight:600;color:var(--c-ink)}.route-panel small{font-family:var(--ff-sans);font-size:13px;color:var(--c-fg-3)}
.dest-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:48px;align-items:start}.fact-panel{position:sticky;top:88px;padding:24px}.fact-panel dl{margin:0;display:grid;gap:16px}.fact-panel dt{font-family:var(--ff-sans);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-fg-3);margin-bottom:4px}.article-flow{display:grid;gap:24px}.content-block h2{font-family:var(--ff-serif);font-size:clamp(26px,3vw,38px);font-weight:600;line-height:1.15;color:var(--c-ink);margin:0 0 12px}.content-block p{font-size:18px;line-height:1.7}.content-mini{display:grid;grid-template-columns:160px 1fr}.content-mini img{height:100%;min-height:170px}.warning-block{border-color:var(--c-accent-soft);background:#fff7ef}.inline-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.filter-panel{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:14px;background:var(--c-paper);border:1px solid var(--c-rule);border-radius:var(--r-xl);padding:16px;margin-bottom:18px}.filter-panel label{display:flex;flex-direction:column;gap:6px;font-family:var(--ff-sans);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-fg-3)}.filter-panel input,.filter-panel select{font-family:var(--ff-sans);font-size:15px;color:var(--c-ink);background:var(--c-bg-2);border:1px solid var(--c-rule);border-radius:var(--r-md);padding:12px}.result-meta{font-family:var(--ff-sans);font-weight:600;color:var(--c-fg-2);margin:0 0 20px}
.cta-band{background:var(--c-ink);color:#f6e0d4;border-top:1px solid rgba(255,255,255,.08)}.cta-grid{display:grid;grid-template-columns:1fr 360px;gap:56px;align-items:center}.cta-grid h2{font-family:var(--ff-serif);font-size:clamp(34px,5vw,58px);font-weight:600;line-height:1.05;color:#fff;margin:0 0 16px}.cta-grid p{font-size:18px;color:rgba(255,255,255,.78);max-width:62ch}.cta-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.phone-shell{background:#050505;border-radius:42px;padding:12px;box-shadow:0 30px 70px rgba(0,0,0,.34)}.phone-screen{min-height:560px;background:var(--c-bg);border-radius:32px;padding:30px 22px;color:var(--c-ink);display:grid;align-content:start;gap:18px}.screen-kicker{font-family:var(--ff-sans);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-fg-3);margin:0}.phone-screen h3{font-size:38px;margin:0}.day-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.day-row span{display:grid;place-items:center;height:58px;border:1px solid var(--c-rule);border-radius:var(--r-md);font-family:var(--ff-sans);font-weight:700;color:var(--c-fg-3)}.day-row .active{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}.practice-card{min-height:230px;border-radius:var(--r-xl);background-size:cover;background-position:center;color:#fff;display:flex;flex-direction:column;justify-content:end;padding:18px;overflow:hidden}.practice-card strong{font-family:var(--ff-serif);font-size:28px;line-height:1.05}.practice-card small{font-family:var(--ff-sans);font-weight:600;margin-top:8px}
@media (max-width:1100px){.hub-grid,.steps-grid,.route-panel,.trust-strip{grid-template-columns:repeat(2,1fr)}.dest-layout,.cta-grid{grid-template-columns:1fr}.fact-panel{position:static}.phone-shell{max-width:360px;margin:0 auto}.filter-panel{grid-template-columns:1fr 1fr}.layout-2col{gap:36px}}
@media (max-width:720px){html,body{font-size:17px}.wrap,.container,.container-wide,.container-narrow{padding-left:18px;padding-right:18px}main>section:not(.hero):not(.detail-hero):not(.app-hero):not(.section):not(.section-sm):not(.section-lg){padding:56px 0}.hero-inner{text-align:left}.hero p.t-lede{text-align:left;margin-left:0}.hero .ctas{display:grid;width:100%}.hero .ctas .cta-btn{width:100%;justify-content:center}.trust-strip,.hub-grid,.steps-grid,.route-panel,.filter-panel{grid-template-columns:1fr}.trust-strip div,.route-panel a{border-right:0;border-bottom:1px solid var(--c-rule)}.content-mini{grid-template-columns:1fr}.content-mini img{height:190px}.detail-hero .title-area{padding-left:0;padding-right:0}.detail-hero .title-area h1{font-size:38px}.resource-grid,.destination-grid{grid-template-columns:1fr}.phone-screen{min-height:500px}.site-footer .grid{grid-template-columns:1fr}.cta-btn.xl{width:100%;justify-content:center}}



.hero-bg img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
/* Lightweight local icon glyphs: replaces external Phosphor webfont without layout changes. */
.ph{display:inline-grid;place-items:center;width:1.15em;height:1.15em;font-family:var(--ff-sans);font-style:normal;font-weight:800;line-height:1;color:currentColor}
.ph::before{content:"•";font-size:.85em}
.ph-download-simple::before{content:"↓"}
.ph-google-play-logo::before,.ph-play-circle::before{content:"▶"}
.ph-calendar-blank::before{content:"□"}
.ph-calendar-check::before{content:"✓"}
.ph-trend-up::before{content:"↗"}
.ph-bell-ringing::before{content:"!"}
.ph-users-three::before{content:"●"}
.ph-heartbeat::before{content:"♡"}
.ph-bowl-food::before{content:"◐"}
.ph-person-simple-walk::before{content:"↟"}
.ph-wind::before{content:"≋"}
.ph-flower-lotus::before{content:"✦"}
.ph-map-trifold::before{content:"◇"}
.ph-clock::before{content:"◷"}
.ph-chalkboard-teacher::before{content:"▣"}

/* Mobile hardening for generated taxonomy pages */
html,body{max-width:100%;overflow-x:hidden}
.cta-btn,.button,.card-action,.resource-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1.2!important;white-space:normal!important;min-width:0}
.button.full,.toc-card.action-card .button,.cta-actions .button,.inline-actions .button{width:100%}
.button-primary,.button-outline,.button-ghost,.cta-btn,.card-action,.resource-cta{min-height:52px}
.button-primary,.button-outline,.button-ghost{padding:12px 18px}
.cta-band .button-ghost.light{color:#fff!important;border-color:#C9BC9F!important;background:transparent!important}
.cta-band .button-ghost.light:hover{background:rgba(255,252,245,.1)!important}
.cta-actions,.inline-actions{align-items:stretch}
.home-trust-section{padding:38px 0 8px!important}
.home-trust-section+section{padding-top:36px!important}
.brand-lockup{flex-direction:column;align-items:flex-start;gap:3px;line-height:1.05}
.brand-main{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.brand-powered{font-family:var(--ff-sans);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--c-fg-3);white-space:nowrap}
.site-footer .brand-powered{color:#b8a987}
.site-footer .grid{grid-template-columns:1.45fr repeat(4,minmax(0,1fr))}
.site-footer h4 a{color:inherit;text-decoration:none}
.site-footer h4 a:hover{color:#fff}
.mobile-top-actions,.mobile-bottom-nav{display:none!important}
.mobile-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--c-rule);border-radius:var(--r-lg);background:var(--c-paper);color:var(--c-ink)}
.mobile-icon-btn svg,.mobile-bottom-nav svg{display:block;width:22px!important;height:22px!important;flex:0 0 22px;stroke:currentColor;fill:none}
.site-header .brand{flex:0 0 auto}.site-header .brand .tag{white-space:nowrap}
.site-header .nav>a,.site-header .nav-menu>button{white-space:nowrap}
@media (min-width:981px){.site-header .inner{height:78px;gap:20px}.site-header .nav{display:flex!important;align-items:center;gap:4px;margin-left:auto}.site-header .nav>a:not(.cta-btn),.site-header .nav-menu>button{font-size:15px;line-height:1.15;padding:10px 10px;text-align:center}.site-header .nav>a.cta-btn{min-height:50px;padding:13px 22px;margin-left:8px!important;border-radius:12px}.site-header .menu-toggle,.mobile-top-actions{display:none!important}}
@media (min-width:981px) and (max-width:1180px){.site-header .brand{font-size:18px}.site-header .brand-main{gap:6px}.site-header .brand .tag{font-size:8px;padding:3px 5px;letter-spacing:.1em}.site-header .brand-powered{font-size:9px;letter-spacing:.1em}.site-header .nav>a:not(.cta-btn),.site-header .nav-menu>button{font-size:13px;padding-inline:7px}.site-header .nav>a.cta-btn{padding-inline:14px}}
@media (max-width:980px){.mobile-top-actions{display:flex!important;align-items:center;gap:8px;margin-left:auto}.site-header .nav{display:none}.site-header .nav.is-open{display:flex}.site-header .menu-toggle{display:inline-flex!important;position:static!important;margin:0!important}.site-header .menu-toggle svg{display:block!important}.site-header .menu-toggle::before{display:none!important}}
@media (max-width:880px){.site-footer .grid{grid-template-columns:1fr 1fr;gap:28px}}
@media (max-width:720px){body{padding-bottom:74px}.home-trust-section{padding:26px 0 4px!important}.home-trust-section+section{padding-top:28px!important}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;max-width:100vw;min-height:68px;background:rgba(255,252,245,.98);border-top:1px solid var(--c-rule);box-shadow:0 -12px 30px rgba(20,17,13,.08);overflow:hidden}.mobile-bottom-nav a{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-family:var(--ff-sans);font-size:10.5px;font-weight:700;color:var(--c-fg-2);text-decoration:none}.mobile-bottom-nav a.is-active{color:var(--c-accent)}.mobile-bottom-nav span{line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-header .brand{font-size:18px}.site-header .brand-main{gap:6px}.site-header .brand .tag{display:inline-flex;font-size:8px;padding:2px 5px;letter-spacing:.1em}.site-header .brand-powered{font-size:9px;letter-spacing:.1em}.site-footer .grid{grid-template-columns:1fr}}
.wrap,.container,.container-wide,.container-narrow{box-sizing:border-box}
.wrap{width:auto}
.nav-menu>button.is-active{color:var(--c-accent);background:var(--c-bg-2)}
.nav-menu .dropdown{max-height:min(72vh,560px);overflow-y:auto;overscroll-behavior:contain}
@media (min-width:981px){.nav-menu:hover .dropdown{display:grid;gap:2px}.nav-menu:hover>button{background:var(--c-bg-2);color:var(--c-accent)}}
.site-header .inner{box-sizing:border-box}
.site-header .inner,.hero-inner,.section-head,.t-display,.t-lede,.prose,.card,.resource-card,.destination-card{min-width:0}
.t-display,.t-lede,.section-head h2,.section-head p,.prose p,.detail-hero .title-area h1{overflow-wrap:break-word}
.resource-grid{align-items:stretch}
.resource-media{position:relative;display:block;height:180px;overflow:hidden;padding:0!important;background:var(--c-bg-2)!important}
.resource-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,13,.02),rgba(20,17,13,.48));pointer-events:none}
.resource-media img{width:100%;height:100%;object-fit:cover;transition:transform 220ms ease}
.resource-media span{position:absolute;left:14px;bottom:14px;z-index:2}
.resource-card:hover .resource-media img{transform:scale(1.025)}
.resource-card .card-body{display:flex;flex-direction:column;flex:1}
.resource-card .card-body>p:not(.eyebrow){margin-bottom:0}
.resource-tags{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 20px}
.resource-tags span{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid var(--c-rule);border-radius:var(--r-pill);background:transparent;color:var(--c-fg-3);font-family:var(--ff-sans);font-size:11px;font-weight:600;letter-spacing:.02em}
.resource-cta{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin-top:auto;padding:13px 18px;border-radius:var(--r-lg);background:var(--c-accent);color:#fff;font-family:var(--ff-sans);font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-decoration:none}
.resource-cta:hover{background:var(--c-accent-strong);color:#fff}
.destination-grid,.resource-grid,.hub-grid,.module-grid,.support-grid,.format-grid,.app-feature-grid,.app-family-grid,.app-pillar-list{align-items:stretch}
.destination-card,.resource-card,.hub-card,.module-card,.support-card,.format-card,.app-feature,.app-step,.app-family-card{height:100%;min-width:0}
.destination-card,.hub-card,.module-card,.support-card,.format-card,.app-feature,.app-step,.app-family-card{display:flex;flex-direction:column}
.destination-card .card-body,.hub-card>div,.module-card>div,.support-card,.format-card,.app-feature,.app-step{flex:1}
.destination-card .card-action,.card-action,.resource-cta,.format-card .format-count,.hub-card strong,.inline-action{margin-top:auto}
.format-card{display:flex;flex-direction:column;gap:8px;text-decoration:none;min-height:100%}
.format-card .format-count{margin-top:auto;display:inline-flex;align-self:flex-start;padding:6px 10px;border-radius:var(--r-pill);background:var(--c-bg-2);border:1px solid var(--c-rule);color:var(--c-fg-2);font-family:var(--ff-sans);font-size:12px;font-weight:700}
.resource-archive-hero{position:relative;padding:58px 0 28px;background:linear-gradient(180deg,var(--c-bg) 0%,var(--c-bg-2) 100%);border-bottom:1px solid var(--c-rule)}
.archive-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:36px;align-items:center}
.all-resources-hero{padding:48px 0 22px}
.all-resources-grid{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(520px,1.1fr);gap:34px;align-items:end}
.all-resources-filter{grid-template-columns:1.2fr .9fr .9fr .9fr}
.archive-copy h1{font-family:var(--ff-serif);font-size:clamp(42px,5vw,72px);line-height:1.02;font-weight:600;letter-spacing:0;margin:0 0 14px;color:var(--c-ink)}
.archive-copy h1 span{display:block;color:var(--c-accent)}
.archive-copy>p:not(.eyebrow){font-family:var(--ff-serif);font-size:19px;line-height:1.6;color:var(--c-fg-2);max-width:720px;margin:0 0 22px}
.archive-filter-card{background:var(--c-paper);border:1px solid var(--c-rule);border-radius:var(--r-xl);padding:16px;box-shadow:var(--shadow-soft);max-width:900px}
.archive-filter{margin:0;grid-template-columns:1.25fr 1fr 1fr}
.archive-visual{margin:0;background:var(--c-paper);border:1px solid var(--c-rule);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-soft)}
.archive-visual img{display:block;width:100%;height:240px;object-fit:cover}
.archive-visual figcaption{padding:12px 14px;font-family:var(--ff-sans);font-size:12px;font-weight:700;color:var(--c-fg-3);line-height:1.35}
.archive-browse{padding-top:36px!important}
.archive-result-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}
.archive-result-head h2{font-family:var(--ff-serif);font-size:clamp(30px,3.2vw,44px);line-height:1.1;margin:0;color:var(--c-ink)}
.featured-resource{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:24px;align-items:stretch;background:var(--c-paper);border:1px solid var(--c-rule);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-soft)}
.featured-copy{padding:32px}
.featured-copy h2{font-family:var(--ff-serif);font-size:clamp(30px,3.3vw,46px);line-height:1.08;margin:0 0 14px;color:var(--c-ink)}
.featured-copy p:not(.eyebrow){font-family:var(--ff-serif);font-size:18px;line-height:1.65;color:var(--c-fg-2);margin:0 0 22px}
.featured-resource .resource-media{height:auto;min-height:320px}
.topic-cluster-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cluster-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.cluster-links a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border-radius:var(--r-pill);background:var(--c-bg-2);border:1px solid var(--c-rule);color:var(--c-ink);font-family:var(--ff-sans);font-size:13px;font-weight:700;text-decoration:none}
.article-hero{padding:72px 0 56px;background:var(--c-bg);border-bottom:1px solid var(--c-rule)}
.breadcrumb{display:flex;gap:9px;align-items:center;margin-bottom:28px;font-family:var(--ff-sans);font-size:13px;font-weight:700;color:var(--c-fg-3)}
.breadcrumb a{color:var(--c-accent);text-decoration:none}
.article-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:52px;align-items:center}
.article-hero-grid>*,
.article-layout>*,
.article-main,
.article-sidebar,
.article-section,
.quick-summary-card{min-width:0}
.article-hero h1{font-family:var(--ff-serif);font-size:clamp(42px,6vw,76px);line-height:1.02;font-weight:600;letter-spacing:0;margin:0 0 18px;color:var(--c-ink);text-wrap:balance}
.article-dek{font-family:var(--ff-serif);font-size:22px;line-height:1.58;color:var(--c-fg-2);max-width:760px;margin:0}
.article-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.article-meta span{display:inline-flex;padding:7px 10px;border:1px solid var(--c-rule);border-radius:var(--r-pill);font-family:var(--ff-sans);font-size:12px;font-weight:700;color:var(--c-fg-2);background:var(--c-paper)}
.article-hero figure{margin:0;background:var(--c-paper);border:1px solid var(--c-rule);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-soft)}
.article-hero img{display:block;width:100%;height:340px;object-fit:cover}
.article-hero img[src*="sattu-porridge-yatra"]{object-fit:contain;background:#f4ead8}
.article-hero figcaption{padding:12px 16px;font-family:var(--ff-sans);font-size:12px;font-weight:600;color:var(--c-fg-3)}
.article-glance{margin-top:36px;background:#fff7ef;border:1px solid var(--c-rule);border-radius:var(--r-xl);padding:24px;box-shadow:var(--shadow-soft)}
.article-glance-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}
.article-glance-head h2{font-family:var(--ff-serif);font-size:clamp(28px,3vw,40px);line-height:1.1;font-weight:600;margin:0;color:var(--c-ink)}
.article-glance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.article-glance-card{background:var(--c-paper);border:1px solid var(--c-rule);border-radius:var(--r-lg);padding:16px}
.article-glance-card span{display:inline-flex;margin-bottom:10px;font-family:var(--ff-sans);font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--c-accent)}
.article-glance-card strong{display:block;font-family:var(--ff-sans);font-size:13px;font-weight:900;color:var(--c-ink);margin-bottom:5px}
.article-glance-card p{margin:0;font-family:var(--ff-serif);font-size:16px;line-height:1.35;color:var(--c-fg-2)}
.article-page{padding:72px 0;background:var(--c-bg)}
.article-layout{display:grid;grid-template-columns:280px minmax(0,760px);gap:56px;align-items:start;justify-content:center}
.article-sidebar{position:sticky;top:96px;display:grid;gap:16px}
.toc-card,.quick-summary-card,.medical-note,.article-faq,.article-section,.next-read{background:var(--c-paper);border:1px solid var(--c-rule);border-radius:var(--r-xl);padding:26px;box-shadow:var(--shadow-soft)}
.toc-card a{display:block;padding:11px 0;border-top:1px solid var(--c-rule);font-family:var(--ff-sans);font-size:13px;font-weight:700;line-height:1.35;color:var(--c-ink);text-decoration:none}
.toc-card h3{font-family:var(--ff-serif);font-size:26px;line-height:1.1;margin:0 0 8px;color:var(--c-ink)}
.toc-card p:not(.eyebrow){font-family:var(--ff-serif);font-size:15px;line-height:1.55;color:var(--c-fg-2);margin:0 0 14px}
.article-main{display:grid;gap:22px}
.quick-summary-card{background:#fff7ef;border-color:var(--c-accent-soft)}
.quick-summary-card h2,.medical-note h2,.article-faq h2,.article-section h2,.next-read h2{font-family:var(--ff-serif);font-size:clamp(28px,3vw,40px);line-height:1.14;font-weight:600;margin:0 0 14px;color:var(--c-ink)}
.quick-summary-card p,.medical-note p,.article-section p,.next-read p{font-family:var(--ff-serif);font-size:19px;line-height:1.75;color:var(--c-fg-2);margin:0 0 14px}
.article-section ul,.article-section ol{margin:16px 0 0;padding-left:24px;color:var(--c-fg-2);font-family:var(--ff-serif);font-size:19px;line-height:1.75}
.article-section li{margin:8px 0}
.article-section strong{color:var(--c-ink)}
.article-faq details{border-top:1px solid var(--c-rule);padding:16px 0}
.article-faq details:first-of-type{border-top:0}
.article-faq summary{cursor:pointer;font-family:var(--ff-sans);font-size:16px;font-weight:800;color:var(--c-ink)}
.article-faq p{font-family:var(--ff-serif);font-size:17px;line-height:1.65;color:var(--c-fg-2);margin:10px 0 0}
.medical-note{background:var(--c-bg-2)}
.app-product-hero{position:relative;overflow:hidden;background:#10100e;color:#fff;min-height:760px;display:flex;align-items:center;padding:72px 0}
.app-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.46;filter:saturate(.85)}
.app-product-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,16,14,.94),rgba(16,16,14,.58) 48%,rgba(16,16,14,.22)),linear-gradient(180deg,rgba(16,16,14,.15),rgba(16,16,14,.72))}
.app-product-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:56px;align-items:center}
.app-product-copy .eyebrow{color:#ffb18b}
.app-product-copy h1{font-family:var(--ff-serif);font-size:clamp(48px,7vw,92px);line-height:.98;font-weight:600;letter-spacing:0;margin:0 0 20px;color:#fff;text-wrap:balance}
.app-product-copy h1 span{display:block;color:#ff7a3d}
.app-product-copy .lede{font-family:var(--ff-serif);font-size:22px;line-height:1.58;color:rgba(255,255,255,.84);max-width:780px;margin:0}
.app-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.cta-btn.ghost.dark{color:#fff;border-color:rgba(255,255,255,.38)}.cta-btn.ghost.dark:hover{background:rgba(255,255,255,.1)}
.app-proof-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.app-proof-row span{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border:1px solid rgba(255,255,255,.18);border-radius:var(--r-pill);font-family:var(--ff-sans);font-size:12px;font-weight:800;color:rgba(255,255,255,.78);background:rgba(255,255,255,.06)}
.app-phone-wrap{justify-self:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:54px;padding:12px;box-shadow:0 34px 90px rgba(0,0,0,.42)}
.app-phone{width:330px;min-height:640px;background:#fdfaf5;color:var(--c-ink);border-radius:42px;padding:26px 22px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);display:grid;align-content:start;gap:18px}
.phone-top{display:flex;justify-content:space-between;font-family:var(--ff-sans);font-size:14px;font-weight:900;color:#16110c}.app-phone h3{font-family:var(--ff-sans);font-size:34px;line-height:1.1;margin:0;color:#2b2119}.app-phone h3 span{color:#ff671f}.date-pill{display:flex;align-items:center;gap:8px;border:1px solid #ffd8c6;border-radius:var(--r-pill);padding:12px 14px;font-family:var(--ff-sans);font-size:13px;color:#725d4d}.date-pill span{margin-left:auto;color:#ff671f;font-weight:900}.app-days{grid-template-columns:repeat(6,1fr)}.app-days span{height:54px}.session-preview{height:260px;border-radius:22px;background:linear-gradient(180deg,rgba(20,17,13,.12),rgba(20,17,13,.78)),url('/assets/images/exercise.webp');background-size:cover;background-position:center;display:flex;align-items:end;padding:18px;color:#fff;overflow:hidden}.session-preview small,.session-preview span{font-family:var(--ff-sans);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.76)}.session-preview strong{display:block;font-family:var(--ff-serif);font-size:30px;line-height:1.08;margin:5px 0;color:#fff}
.app-trust-section{padding:34px 0!important;background:var(--c-bg)}
.app-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.app-feature{background:var(--c-paper);border:1px solid var(--c-rule);border-radius:var(--r-xl);padding:24px;box-shadow:var(--shadow-soft)}.app-feature i{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#ffe2d2;color:var(--c-accent);font-size:24px;margin-bottom:18px}.app-feature h3{font-family:var(--ff-serif);font-size:25px;line-height:1.16;margin:0 0 10px;color:var(--c-ink)}.app-feature p{font-family:var(--ff-serif);font-size:16px;line-height:1.58;color:var(--c-fg-2);margin:0}
.app-system-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:44px;align-items:start}.app-system-grid h2,.app-family-card h2,.app-download-card h2{font-family:var(--ff-serif);font-size:clamp(34px,4.3vw,56px);line-height:1.06;font-weight:600;letter-spacing:0;margin:0 0 14px;color:var(--c-ink)}.app-system-grid p:not(.eyebrow),.app-family-card p,.app-download-card p{font-family:var(--ff-serif);font-size:18px;line-height:1.65;color:var(--c-fg-2);margin:0}.app-pillar-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.app-step{background:var(--c-paper);border:1px solid var(--c-rule);border-radius:var(--r-xl);padding:22px}.app-step span{font-family:var(--ff-sans);font-size:12px;font-weight:900;letter-spacing:.14em;color:var(--c-accent)}.app-step h3{font-family:var(--ff-serif);font-size:25px;margin:8px 0 8px;color:var(--c-ink)}
.app-family-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.app-family-card{background:var(--c-paper);border:1px solid var(--c-rule);border-radius:var(--r-xl);padding:clamp(28px,3vw,46px);box-shadow:var(--shadow-soft);gap:18px}.app-family-card.muted{background:#fff7ef}.app-family-card .eyebrow{margin:0}.app-family-card h2{margin:0;font-size:clamp(36px,3.8vw,54px);line-height:1.04;text-wrap:balance}.app-family-card p{max-width:64ch}.app-family-card .button{margin-top:auto;align-self:flex-start}
.app-download-final{padding:80px 0;background:var(--c-ink)}.app-download-card{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff7ef;border:1px solid rgba(255,255,255,.14);border-radius:var(--r-xl);padding:34px}.app-download-card p.eyebrow{color:var(--c-accent)}.app-download-card p:not(.eyebrow){max-width:58ch}
.yoga-hero{position:relative;overflow:hidden;background:#1b1712;color:#fff;padding:96px 0 86px}
.yoga-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.34;filter:saturate(.78)}
.yoga-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,17,13,.96),rgba(20,17,13,.74) 46%,rgba(20,17,13,.26)),linear-gradient(180deg,rgba(20,17,13,.1),rgba(20,17,13,.82))}
.yoga-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:54px;align-items:center}
.yoga-hero-copy h1{font-family:var(--ff-serif);font-size:clamp(52px,6.8vw,88px);line-height:.98;font-weight:600;letter-spacing:0;margin:0 0 20px;color:#fff;text-wrap:balance}
.yoga-hero-copy .lede{font-family:var(--ff-serif);font-size:22px;line-height:1.58;color:rgba(255,255,255,.84);max-width:780px;margin:0}
.yoga-live-card{background:#fff7ef;color:var(--c-ink);border:1px solid rgba(255,255,255,.18);border-radius:var(--r-xl);padding:32px;box-shadow:0 30px 90px rgba(0,0,0,.28)}
.yoga-live-card h2,.yoga-schedule-grid h2,.yoga-step-panel h2{font-family:var(--ff-serif);font-size:clamp(32px,3.8vw,52px);line-height:1.05;margin:0 0 14px;color:var(--c-ink);text-wrap:balance}
.yoga-live-card p,.yoga-schedule-grid p,.yoga-step-panel p{font-family:var(--ff-serif);font-size:18px;line-height:1.65;color:var(--c-fg-2);margin:0}
.yoga-live-card dl{display:grid;gap:14px;margin:24px 0 0}
.yoga-live-card dl div{border-top:1px solid var(--c-rule);padding-top:14px}
.yoga-live-card dt{font-family:var(--ff-sans);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--c-fg-3);margin-bottom:4px}
.yoga-live-card dd{font-family:var(--ff-serif);font-size:22px;font-weight:600;line-height:1.2;color:var(--c-ink);margin:0}
.yoga-schedule-grid,.yoga-steps-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:44px;align-items:start}
.yoga-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.yoga-time-card,.yoga-step-panel{background:var(--c-paper);border:1px solid var(--c-rule);border-radius:var(--r-xl);padding:28px;box-shadow:var(--shadow-soft);height:100%}
.yoga-time-card{display:flex;flex-direction:column;gap:14px}
.yoga-time-card span{font-family:var(--ff-sans);font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--c-accent)}
.yoga-time-card strong{font-family:var(--ff-serif);font-size:28px;line-height:1.14;color:var(--c-ink)}
.yoga-time-card p{font-family:var(--ff-serif);font-size:16px;line-height:1.6;color:var(--c-fg-2);margin:0}
.yoga-step-panel{display:flex;flex-direction:column;gap:14px}
.yoga-step-panel.warm{background:#fff7ef}
.yoga-step-panel ol{display:grid;gap:14px;margin:4px 0 0;padding-left:22px;font-family:var(--ff-serif);font-size:18px;line-height:1.58;color:var(--c-fg-2)}
.yoga-step-panel .button{align-self:flex-start;margin-top:auto}
@media (min-width:900px){.app-family-card h2{min-height:3.12em}.destination-card h3,.resource-card h3,.module-card h3{min-height:2.4em}}
@media (max-width:720px){
  .site-header .inner{height:72px;padding:0 16px;gap:10px;width:100%;max-width:100vw}
  .brand{font-size:20px;gap:6px;min-width:0;flex-shrink:1}
  .brand .tag{font-size:10px;padding:3px 6px;letter-spacing:.1em}
  .menu-toggle{display:inline-flex!important;flex:0 0 42px;margin-left:0}
  .site-header .inner{position:relative}
  .site-header .menu-toggle{position:static;right:auto;top:auto;z-index:80;color:var(--c-ink);background:var(--c-paper);border:1px solid var(--c-rule);border-radius:var(--r-lg)}
  .site-header .menu-toggle svg{display:block}
  .site-header .menu-toggle::before{display:none}
  .hero-inner.container{width:100%;max-width:100%;padding-left:18px!important;padding-right:18px!important}
  .hero .t-display{max-width:340px}
  .hero .t-eyebrow{font-size:10px;line-height:1.55;letter-spacing:.12em;max-width:31ch;overflow-wrap:normal}
  .hero p.t-lede{font-size:17px;line-height:1.55;width:100%;max-width:340px!important}
  .hero .ctas{max-width:100%;margin-top:28px}
  .hero .ctas .cta-btn{min-width:0}
  .featured-resource,.topic-cluster-grid,.article-hero-grid,.article-layout{grid-template-columns:1fr}
  .article-hero-grid,.article-layout,.article-main,.article-sidebar{width:100%;max-width:none}
  .article-page .wrap{display:block;justify-content:normal}
  .article-layout{margin:0 auto;justify-content:stretch}
  .quick-summary-card,.medical-note,.article-faq,.article-section,.next-read,.toc-card{width:100%;box-sizing:border-box}
  .featured-copy{padding:24px}
  .featured-resource .resource-media{min-height:220px}
  .archive-hero-grid,.all-resources-grid,.app-product-grid,.app-feature-grid,.app-system-grid,.app-pillar-list,.app-family-grid,.yoga-hero-grid,.yoga-schedule-grid,.yoga-steps-grid,.yoga-time-grid{grid-template-columns:1fr}
  .resource-archive-hero{padding:42px 0 24px}
  .all-resources-hero{padding:34px 0 18px}
  .all-resources-filter{grid-template-columns:1fr}
  .archive-filter{grid-template-columns:1fr}
  .archive-visual{display:none}
  .archive-result-head{display:block}
  .app-product-hero{min-height:auto;padding:54px 0}
  .app-product-copy h1{font-size:46px}
  .app-product-copy .lede{font-size:18px}
  .app-hero-actions{display:grid}
  .app-phone{width:min(316px,calc(100vw - 54px));min-height:560px}
  .app-phone-wrap{margin-top:10px;border-radius:44px}
  .app-family-card{padding:24px;gap:14px}
  .app-family-card h2{min-height:0;font-size:clamp(34px,11vw,44px)}
  .app-family-card .button{width:100%}
  .app-download-card{display:grid;padding:24px}
  .yoga-hero{padding:54px 0}
  .yoga-hero-copy h1{font-size:44px}
  .yoga-hero-copy .lede{font-size:18px}
  .yoga-live-card,.yoga-time-card,.yoga-step-panel{padding:24px}
  .article-hero{padding:48px 0 36px;overflow:hidden}
  .article-hero .wrap,.article-page .wrap{width:100%;max-width:100vw;overflow:hidden}
  .article-hero-grid{display:block;width:100%;max-width:100%;overflow:hidden}
  .article-hero-grid>div{width:100%;max-width:calc(100vw - 36px);overflow:hidden}
  .article-hero h1{font-size:31px;line-height:1.06;max-width:100%;overflow-wrap:break-word;word-break:normal}
  .article-dek{font-size:16.5px;line-height:1.58;max-width:100%;overflow-wrap:break-word}
  .article-meta{display:grid;grid-template-columns:1fr;align-items:stretch}
  .article-meta span{display:block;white-space:normal;overflow-wrap:anywhere;line-height:1.35}
  .article-hero figure{margin-top:26px}
  .article-hero figure,.article-hero img{width:100%;max-width:calc(100vw - 36px)}
  .article-hero img{height:240px}
  .article-glance{padding:18px;margin-top:24px;border-radius:18px}
  .article-glance-head{display:block;margin-bottom:14px}
  .article-glance-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -18px;padding:0 18px 8px}
  .article-glance-card{min-width:78%;scroll-snap-align:start}
  .article-page{padding:48px 0}
  .article-sidebar{position:static;order:0}
  .article-main{order:1}
  .toc-card.action-card{display:none}
  .article-layout{gap:24px}
  .toc-card,.quick-summary-card,.medical-note,.article-faq,.article-section,.next-read{padding:22px}
  .article-section p,.quick-summary-card p,.medical-note p,.next-read p,.article-section ul,.article-section ol{font-size:17px;line-height:1.68}
  .resource-tags{margin:14px 0 18px}
}



/* Responsive infographic resource pages */
.infographic-stage{padding:56px 0;background:linear-gradient(180deg,var(--c-bg) 0%,var(--c-bg-2) 100%);border-top:1px solid var(--c-rule);border-bottom:1px solid var(--c-rule)}
.infographic-poster{max-width:1040px;margin:0 auto;background:var(--c-paper);color:var(--c-ink);border:1px solid var(--c-rule);border-radius:24px;overflow:hidden;box-shadow:0 30px 70px rgba(44,34,23,.12);font-family:var(--ff-sans)}
.info-poster-head{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:42px;background:linear-gradient(135deg,#221a13 0%,#513326 58%,#8e3a26 100%);overflow:hidden}
.info-poster-head::after{content:"";position:absolute;inset:auto -8% -45% 44%;height:210px;border:1px solid rgba(255,246,230,.18);border-radius:50%;transform:rotate(-8deg)}
.info-poster-head>*{position:relative;z-index:1}
.info-poster-head p{margin:0 0 10px;font-family:var(--ff-sans);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#f4d7c7}
.info-poster-head h2{margin:0;font-family:var(--ff-serif);font-size:clamp(42px,6vw,78px);line-height:.98;font-weight:600;color:#fff7ef;letter-spacing:0;text-wrap:balance}
.info-poster-head h2 span{display:block;color:#ffb99f}
.info-poster-head strong{display:inline-flex;white-space:nowrap;background:#fff7ef;color:var(--c-accent-strong);border-radius:999px;padding:11px 16px;font-size:14px;font-weight:900;box-shadow:0 12px 26px rgba(20,17,13,.18)}
.info-panel{padding:34px;background:var(--c-paper);border-top:1px solid var(--c-rule)}
.info-ribbon{display:inline-flex;align-items:center;gap:10px;background:var(--c-accent);color:#fff;font-weight:900;border-radius:999px;padding:8px 18px 8px 8px;margin-bottom:20px;box-shadow:0 10px 22px rgba(180,81,58,.15)}
.info-ribbon span{display:grid;place-items:center;width:30px;height:30px;background:#fff7ef;color:var(--c-accent-strong);border-radius:50%;font-weight:900}
.info-panel p,.info-panel li{font-family:var(--ff-serif);font-size:19px;line-height:1.62;color:var(--c-fg-2)}
.info-metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.info-metric-row div,.info-icon-tile,.info-check-grid span{background:#fffaf3;border:1px solid var(--c-rule);border-radius:16px;padding:18px;box-shadow:0 8px 20px rgba(44,34,23,.05)}
.info-metric-row small{display:block;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--c-accent)}
.info-metric-row strong{display:block;margin-top:6px;font-family:var(--ff-serif);font-size:18px;line-height:1.35;color:var(--c-ink)}
.info-panel-blue{background:#fffaf3}
.info-panel-cream{background:var(--c-bg)}
.info-icon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.info-icon-tile{text-align:left}
.info-icon-tile span{display:inline-grid;place-items:center;width:42px;height:42px;margin:0 0 14px;border-radius:50%;background:#fff0e8;color:var(--c-accent);border:1px solid #f0cbb8;font-size:12px;font-weight:900;letter-spacing:.08em}
.info-icon-tile strong{display:block;font-family:var(--ff-serif);font-size:24px;line-height:1.12;margin-bottom:6px;color:var(--c-ink)}
.info-icon-tile p{margin:0;color:var(--c-fg-2);font-size:15px;font-family:var(--ff-sans);line-height:1.45}
.info-split{display:grid;grid-template-columns:1.04fr .96fr;border-top:1px solid var(--c-rule)}
.info-split .info-panel{border-top:0}
.info-panel-green{background:#f7efe3}
.info-panel-orange{background:#fff7ef;border-left:1px solid var(--c-rule)}
.info-panel-orange ul{margin:0;padding-left:20px}
.info-plate{margin:22px auto 0;width:min(330px,100%);aspect-ratio:1;border:8px solid #fff;border-radius:50%;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;box-shadow:0 14px 34px rgba(44,34,23,.12)}
.info-plate span{display:grid;place-items:center;padding:14px;text-align:center;font-size:13px;font-weight:900;border:1px solid rgba(255,255,255,.84);font-family:var(--ff-sans)}
.info-plate span:nth-child(1){background:#e7eadf;color:#304d39}.info-plate span:nth-child(2){background:#f5d5bf;color:#5b2718}.info-plate span:nth-child(3){background:#f8e8c7;color:#604717}.info-plate span:nth-child(4){background:#fffaf3;color:var(--c-ink)}
.info-panel-dark{background:#241c14;color:#fff7ef}
.info-panel-dark .info-ribbon{background:#fff7ef;color:var(--c-accent-strong)}
.info-panel-dark .info-ribbon span{background:var(--c-accent);color:#fff}
.info-check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.info-check-grid span{background:rgba(255,255,255,.08);border-color:rgba(255,247,239,.16);color:#fff7ef;font-weight:900}
.info-poster-foot{padding:18px 34px;background:#1b1712;color:#d8c6b6;font-size:13px;font-weight:700}
@media(max-width:720px){.infographic-stage{padding:28px 0}.infographic-poster{border-radius:18px}.info-poster-head{display:grid;padding:26px}.info-poster-head h2{font-size:42px}.info-poster-head strong{justify-self:start}.info-panel{padding:24px}.info-panel p,.info-panel li{font-size:17px}.info-metric-row,.info-icon-grid,.info-split,.info-check-grid{grid-template-columns:1fr}.info-panel-orange{border-left:0;border-top:1px solid var(--c-rule)}.info-plate{width:260px}.info-poster-foot{padding:16px 24px}}
