/* BharatClinic — interactive Agni & Urja layer. Scoped additions; the page's own styles are untouched. */
:root { --en-ink: #261f19; --en-muted: #6b6357; --en-green: #143d2c; --en-maroon: #6f2631; --en-gold: #b69357; --en-gold-soft: #d9c190; --en-ivory: #f6f0e4; --en-paper: #eee4d2; --en-ember: #e26c3c; --en-edge: #d3c5ae; }

/* ---------- Agni panel ---------- */
.agni-live { font-family: Mukta, system-ui, sans-serif; color: var(--en-ink); display: grid; gap: 14px; margin-top: 6px; }
@media (min-width: 700px) {
  .agni-layout .agni-live { grid-column: 1; grid-row: 2; }
  .agni-layout .agni-links { grid-row: 3; }
  .agni-layout .agni-figure { grid-row: 1 / 4; }
}
.agni-live__privacy { font-size: 13px; color: var(--en-muted); margin: 0; padding-left: 12px; border-left: 2px solid var(--en-gold-soft); line-height: 1.5; }
.agni-live__modes { display: inline-grid; grid-auto-flow: column; grid-auto-columns: 1fr; border: 1px solid var(--en-edge); border-radius: 999px; padding: 3px; background: var(--en-ivory); width: 100%; }
.agni-live__modes button { min-height: 42px; border: 0; background: none; border-radius: 999px; font: 600 14px/1.2 Mukta, sans-serif; color: var(--en-green); cursor: pointer; padding: 0 10px; }
.agni-live__modes button[aria-selected="true"] { background: var(--en-green); color: var(--en-ivory); }
.agni-live__hint { font-size: 14px; color: var(--en-muted); margin: 0; line-height: 1.5; }
.agni-live__chips { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.agni-live__chips button { min-height: 46px; border: 1px solid var(--en-edge); background: var(--en-ivory); border-radius: 8px; cursor: pointer; display: grid; line-height: 1.15; font-family: Mukta, sans-serif; color: var(--en-green); padding: 6px 4px; }
.agni-live__chips button b { font-size: 14px; font-weight: 600; }
.agni-live__chips button span { font-size: 11px; color: var(--en-muted); }
.agni-live__chips button[aria-pressed="true"] { background: var(--en-green); border-color: var(--en-green); color: var(--en-ivory); }
.agni-live__chips button[aria-pressed="true"] span { color: var(--en-gold-soft); }
.agni-live__card { background: var(--en-ivory); border: 1px solid var(--en-edge); border-radius: 10px; padding: 14px 16px; display: grid; gap: 6px; }
.agni-live__tag { margin: 0; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--en-maroon); font-weight: 600; }
.agni-live__name { margin: 0; font: 500 24px/1.15 Cormorant, Georgia, serif; color: var(--en-green); }
.agni-live__name span[lang] { font: 400 18px/1 Mukta, "Mukta Devanagari", sans-serif; color: var(--en-gold); margin-left: 8px; }
.agni-live__desc { margin: 0; font-size: 15px; line-height: 1.55; }
.agni-live__src { margin: 0; font-size: 12px; color: var(--en-muted); line-height: 1.5; }
.agni-live__src b { color: var(--en-green); font-weight: 600; }
.agni-live__controls { display: grid; gap: 12px; }
.agni-ctl { display: grid; gap: 4px; }
.agni-ctl__row { display: flex; justify-content: space-between; align-items: baseline; font-size: 14px; }
.agni-ctl__row label { font-weight: 600; color: var(--en-green); }
.agni-ctl__row output { color: var(--en-maroon); font-weight: 600; }
.agni-ctl input[type="range"] { -webkit-appearance: none; appearance: none; width: 100%; height: 28px; background: none; margin: 0; cursor: pointer; }
.agni-ctl input[type="range"]::-webkit-slider-runnable-track { height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--en-gold-soft), var(--en-gold)); }
.agni-ctl input[type="range"]::-moz-range-track { height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--en-gold-soft), var(--en-gold)); }
.agni-ctl input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 24px; height: 24px; margin-top: -10px; border-radius: 50%; background: var(--en-maroon); border: 3px solid var(--en-ivory); box-shadow: 0 1px 4px rgba(0,0,0,.25); }
.agni-ctl input[type="range"]::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--en-maroon); border: 3px solid var(--en-ivory); box-shadow: 0 1px 4px rgba(0,0,0,.25); }
.agni-ctl input[type="range"]:focus-visible { outline: 3px solid var(--en-gold); outline-offset: 2px; border-radius: 4px; }
.agni-ctl__stops { display: flex; justify-content: space-between; font-size: 11px; color: var(--en-muted); margin-top: -4px; }
.agni-live__read { margin: 0; min-height: 3.2em; font-size: 14px; line-height: 1.55; color: var(--en-ink); padding: 10px 12px; background: var(--en-paper); border-radius: 8px; border-left: 3px solid var(--en-gold); }
.agni-live__cta { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 18px; border-radius: 7px; border: 1.5px solid var(--en-green); background: var(--en-green); color: var(--en-ivory); font: 600 15px/1 Mukta, sans-serif; cursor: pointer; }
.agni-live__cta--ghost { background: var(--en-ivory); color: var(--en-green); }
.agni-live__cta[disabled] { opacity: .5; cursor: default; }
.agni-live__limit { margin: 0; font-size: 12px; color: var(--en-muted); line-height: 1.5; }
.agni-live__flame { margin: 6px auto 0; font-size: 12px; color: var(--en-gold-soft); text-align: center; letter-spacing: .02em; }
.agni-live__flame b { color: #f6e9c4; font-weight: 600; }
.agni-figure .agni-live__flame { max-width: 33ch; }
.agni-burn-halo { pointer-events: none; }
@media (max-width: 699px) {
  .agni-live__chips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .agni.is-live-section { overflow: clip; } /* a clip, not a scroll container, so the figure can stick */
  @supports not (overflow: clip) { .agni.is-live-section { overflow: visible; } }
  .agni-layout.is-live .agni-figure { position: sticky; top: 8px; z-index: 3; margin-bottom: 12px; box-shadow: 0 10px 30px rgba(12, 43, 32, .25); }
  .agni-layout.is-live .agni-figure .agni-art { aspect-ratio: auto; height: auto; }
  .agni-layout.is-live .agni-figure .agni-art svg { height: 200px; }
  .agni-live__verse { background: radial-gradient(ellipse at 50% 40%, #315036, #173a2c 60%, #102d23); border: 1px solid #b6935755; border-radius: 12px; padding: 16px 18px 6px; text-align: center; }
  .agni-live__verse figcaption { margin: 0 auto; max-width: 33ch; color: #d9c190; line-height: 1.5; }
}

/* ---------- Urja ---------- */
.urja-hits circle { fill: transparent; stroke: #ebce86; stroke-opacity: 0; stroke-width: 1; stroke-dasharray: 3 3; cursor: pointer; pointer-events: all; transition: stroke-opacity .2s; }
.urja-hits circle:hover, .urja-hits circle.is-on { stroke-opacity: .7; }
.urja-hits circle.is-on { fill: rgba(235, 206, 134, .08); }
.neural-flow.is-active { stroke-width: 2.4; opacity: 1; filter: url(#neural-glow); }
.urja-light { pointer-events: none; }
.urja-settle { pointer-events: none; transform-box: fill-box; transform-origin: center; }
.urja-panel[data-urja-motion="on"] .urja-settle.is-on { animation: urjaSettle 2.8s ease-in-out infinite alternate; }
@keyframes urjaSettle { from { transform: scale(.85); opacity: .55; } to { transform: scale(1.15); opacity: .9; } }
.urja-ring { pointer-events: none; transform-box: fill-box; transform-origin: center; opacity: 0; }
.urja-ring.is-on { animation: urjaRing 1.4s ease-out forwards; }
@keyframes urjaRing { 0% { transform: scale(.4); opacity: .9; } 100% { transform: scale(1.6); opacity: 0; } }
.snapshot-demo.example-report .urja-controls { flex-wrap: wrap; }
.urja-regions { flex-basis: 100%; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 4px 0 2px; }
.urja-regions button { min-height: 36px; padding: 0 10px; border-radius: 999px; border: 1px solid rgba(217, 193, 144, .5); background: rgba(246, 240, 228, .06); color: #f1dfb4; font: 600 12px/1 Mukta, sans-serif; cursor: pointer; }
.urja-regions button[aria-pressed="true"] { background: #efdcad; color: #173a2c; border-color: #efdcad; }
.urja-regions__q { flex-basis: 100%; margin: 6px 0 0; padding-top: 8px; border-top: 1px solid rgba(217, 193, 144, .25); font: 600 13px/1.4 Mukta, sans-serif; color: #f1dfb4; text-align: center; }
.urja-live { grid-column: 1 / -1; margin: 14px clamp(14px, 3vw, 26px) 0; padding-top: 14px; border-top: 1px solid rgba(182, 147, 87, .35); display: grid; gap: 10px; font-family: Mukta, system-ui, sans-serif; color: var(--en-ink); }
.urja-live[hidden] { display: none; }
.urja-live__q { margin: 0; font: 500 22px/1.15 Cormorant, Georgia, serif; color: var(--en-green); }
.urja-live__q small { display: block; font: 400 14px/1.5 Mukta, sans-serif; color: var(--en-muted); margin-top: 2px; }
.urja-live__choices { display: flex; flex-wrap: wrap; gap: 6px; }
.urja-live__choices button { min-height: 40px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--en-edge); background: var(--en-ivory); color: var(--en-green); font: 600 13px/1 Mukta, sans-serif; cursor: pointer; }
.urja-live__choices button[aria-pressed="true"] { background: var(--en-green); color: var(--en-ivory); border-color: var(--en-green); }
.urja-live__safety { margin: 0; font-size: 12px; color: var(--en-maroon); line-height: 1.5; }
.urja-classical { border: 1px solid var(--en-edge); border-radius: 8px; background: var(--en-ivory); padding: 0 14px; }
.urja-classical summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 46px; font: 600 14px/1.3 Mukta, sans-serif; color: var(--en-green); }
.urja-classical summary::-webkit-details-marker { display: none; }
.urja-classical summary .plus { color: var(--en-maroon); font-size: 18px; }
.urja-classical[open] summary .plus { transform: rotate(45deg); }
.urja-classical__body { padding: 0 0 14px; display: grid; gap: 8px; font-size: 14px; line-height: 1.55; }
.urja-classical__body .vayu { font: 500 20px/1.2 Cormorant, Georgia, serif; color: var(--en-green); margin: 0; }
.urja-classical__body .vayu span[lang] { font: 400 15px/1 Mukta, "Mukta Devanagari", sans-serif; color: var(--en-gold); margin-left: 8px; }
.urja-classical__body p { margin: 0; }
.urja-classical__body .src { font-size: 12px; color: var(--en-muted); }
.urja-classical__body .limit { font-size: 12px; color: var(--en-muted); border-left: 2px solid var(--en-gold-soft); padding-left: 10px; }
.urja-classical details { margin-top: 2px; }
.urja-classical details summary { min-height: 36px; font-size: 13px; }

/* ---------- Summary ---------- */
.nidaan-summary { grid-column: 1 / -1; margin: 16px clamp(14px, 3vw, 26px) 18px; padding: 16px; border: 1px solid var(--en-gold); border-radius: 10px; background: var(--en-ivory); display: grid; gap: 10px; font-family: Mukta, system-ui, sans-serif; color: var(--en-ink); }
.nidaan-summary__title { margin: 0; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--en-maroon); font-weight: 600; display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.nidaan-summary__title span { letter-spacing: 0; text-transform: none; font-weight: 400; color: var(--en-muted); font-size: 12px; }
.nidaan-summary__lines { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 15px; line-height: 1.5; }
.nidaan-summary__lines li { padding-left: 14px; position: relative; }
.nidaan-summary__lines li::before { content: ""; position: absolute; left: 0; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: var(--en-gold); }
.nidaan-summary__lines li.is-empty { color: var(--en-muted); padding-left: 0; }
.nidaan-summary__lines li.is-empty::before { display: none; }
.nidaan-summary__next { margin: 0; font-size: 13px; color: var(--en-muted); line-height: 1.5; border-top: 1px solid var(--en-edge); padding-top: 10px; }
.nidaan-summary__next b { color: var(--en-green); font-weight: 600; }
.nidaan-summary__next .tag { display: inline-block; font-size: 11px; color: var(--en-maroon); border: 1px solid var(--en-gold-soft); border-radius: 4px; padding: 1px 6px; margin-left: 6px; }
.nidaan-summary details { border: 1px solid var(--en-edge); border-radius: 8px; padding: 0 12px; background: #fbf8f1; }
.nidaan-summary details summary { cursor: pointer; list-style: none; min-height: 42px; display: flex; align-items: center; justify-content: space-between; font: 600 14px/1.3 Mukta, sans-serif; color: var(--en-green); }
.nidaan-summary details summary::-webkit-details-marker { display: none; }
.nidaan-summary__example { padding: 0 0 12px; display: grid; gap: 8px; font-size: 14px; line-height: 1.5; }
.nidaan-summary__example .ex-tag { font-size: 11px; color: var(--en-maroon); letter-spacing: .1em; text-transform: uppercase; font-weight: 600; }
.nidaan-summary__example dt { font-weight: 600; color: var(--en-green); }
.nidaan-summary__example dd { margin: 0 0 4px; }
.nidaan-summary__example dd.needs { color: var(--en-muted); font-style: italic; }
.nidaan-summary__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.nidaan-summary__actions .why { flex-basis: 100%; margin: 0; font-size: 13px; color: var(--en-muted); }
.nidaan-summary__share { display: grid; gap: 8px; }
.nidaan-summary__share label { font-size: 13px; font-weight: 600; color: var(--en-green); display: grid; gap: 4px; }
.nidaan-summary__share textarea { width: 100%; min-height: 120px; border: 1px solid var(--en-edge); border-radius: 7px; padding: 10px; font: 400 14px/1.5 Mukta, sans-serif; background: #fff; resize: vertical; }
.nidaan-summary__share .note { margin: 0; font-size: 12px; color: var(--en-muted); line-height: 1.5; }
.nidaan-summary__share a.agni-live__cta { text-decoration: none; }
.nidaan-summary [hidden] { display: none; }

@media (prefers-reduced-motion: reduce) {
  .urja-panel[data-urja-motion="on"] .urja-settle.is-on, .urja-ring.is-on { animation: none; opacity: .7; transform: none; }
}

/* ======================================================================
   Phase 2 — compass, Urja/Chakra views, banyan, rail cues, course block
   ====================================================================== */
.draft-tag { display: inline-block; font: 600 11px/1.2 Mukta, sans-serif; color: var(--en-maroon); border: 1px solid var(--en-gold-soft); border-radius: 4px; padding: 2px 7px; margin-left: 6px; vertical-align: middle; background: #fff8ea; }
.draft-tag[hidden] { display: none; }

/* ---------- Agni compass ---------- */
.agni-compass { display: grid; gap: 8px; padding-top: 10px; border-top: 1px solid var(--en-edge); }
.agni-compass__row { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.agni-compass__row .lbl { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--en-maroon); font-weight: 600; margin-right: 4px; }
.agni-compass__pill { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 0 10px; border-radius: 999px; border: 1px solid var(--en-edge); color: var(--en-muted); font: 600 12px/1 Mukta, sans-serif; background: var(--en-ivory); }
.agni-compass__pill span[lang] { font-family: Mukta, "Mukta Devanagari", sans-serif; font-weight: 400; }
.agni-compass__pill.is-on { background: var(--en-green); color: var(--en-ivory); border-color: var(--en-green); }
.agni-compass__pill.is-all { background: var(--en-paper); color: var(--en-green); border-color: var(--en-gold-soft); }
.agni-compass__text { margin: 0; font-size: 14px; line-height: 1.55; }
.agni-compass details { border: 1px solid var(--en-edge); border-radius: 8px; background: #fbf8f1; padding: 0 12px; }
.agni-compass details summary { cursor: pointer; list-style: none; min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 10px; font: 600 13px/1.3 Mukta, sans-serif; color: var(--en-green); }
.agni-compass details summary::-webkit-details-marker { display: none; }
.agni-compass details summary .plus { color: var(--en-maroon); font-size: 18px; }
.agni-compass details[open] summary .plus { transform: rotate(45deg); }
.agni-compass__body { padding: 0 0 12px; display: grid; gap: 10px; font-size: 13px; line-height: 1.5; }
.agni-compass__body p { margin: 0; }
.agni-compass__ex { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.agni-compass__ex li { display: grid; gap: 2px; padding-left: 12px; border-left: 2px solid var(--en-gold-soft); }
.agni-compass__ex a { color: var(--en-green); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--en-gold-soft); }
.agni-compass__ex .why { color: var(--en-muted); }
.agni-compass__note { color: var(--en-muted); font-size: 12px; }

/* ---------- Urja / Chakra switch ---------- */
.urja-switch { display: grid; gap: 6px; padding: 10px 12px 8px; }
.urja-switch__label { margin: 0; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: #cdbb90; text-align: center; }
.urja-switch__seg { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid rgba(217, 193, 144, .55); border-radius: 999px; padding: 3px; background: rgba(0, 0, 0, .18); }
.urja-switch__seg button { min-height: 42px; border: 0; border-radius: 999px; background: none; color: #f1dfb4; font: 600 13px/1.15 Mukta, sans-serif; cursor: pointer; padding: 4px 8px; display: grid; }
.urja-switch__seg button small { font-weight: 400; font-size: 10px; color: #cdbb90; }
.urja-switch__seg button[aria-selected="true"] { background: #efdcad; color: #173a2c; }
.urja-switch__seg button[aria-selected="true"] small { color: #3d5739; }
.urja-switch__desc { margin: 0; font-size: 12px; line-height: 1.45; color: #e6dcc3; text-align: center; min-height: 2.9em; }

/* body: view transitions */
.neural-body .uv, .neural-body .cv { transition: opacity .55s ease; }
.neural-body[data-view="urja"] .cv { opacity: 0; pointer-events: none; }
.neural-body[data-view="chakra"] .uv { opacity: 0; pointer-events: none; }
.neural-body[data-view="chakra"] .skeletal-frame, .neural-body[data-view="chakra"] .neural-branches, .neural-body[data-view="chakra"] .neural-tracks, .neural-body[data-view="chakra"] .neural-streams, .neural-body[data-view="chakra"] .neural-origin { opacity: .16; transition: opacity .55s ease; }
.neural-body .skeletal-frame, .neural-body .neural-branches, .neural-body .neural-tracks, .neural-body .neural-streams { transition: opacity .55s ease; }
.neural-body[data-view="urja"] .neural-streams { opacity: .35; }
.neural-body[data-view="chakra"] .urja-hits { display: none; }

/* vāyu layer */
.uv-group { transition: opacity .5s ease; }
.uv-group.is-dim { opacity: .22; }
.uv-group.is-on { opacity: 1; }
.uv-path { fill: none; stroke: #ebce86; stroke-width: 1.4; stroke-linecap: round; opacity: .8; }
.uv-dash { fill: none; stroke: #ffe9a8; stroke-width: 2; stroke-linecap: round; stroke-dasharray: 6 18; animation-play-state: paused; opacity: .95; filter: url(#neural-glow); }
.urja-panel[data-urja-motion="on"] .uv-dash { animation-play-state: running; }
.uv-prana .uv-dash { animation: uvUp 3.8s linear infinite; }
.uv-udana .uv-dash { animation: uvUp2 2.6s ease-in-out infinite; stroke-dasharray: 4 14; }
@keyframes uvUp2 { from { stroke-dashoffset: 36; } to { stroke-dashoffset: 0; } }
.uv-samana .uv-dash { animation: uvOrbit 4.2s linear infinite; stroke-dasharray: 5 9; }
.uv-vyana .uv-dash { animation: uvOut 5s linear infinite; stroke-dasharray: 4 22; }
.uv-apana .uv-dash { animation: uvDown 3.4s linear infinite; stroke-dasharray: 6 16; }
@keyframes uvUp { from { stroke-dashoffset: 48; } to { stroke-dashoffset: 0; } }
@keyframes uvDown { from { stroke-dashoffset: 0; } to { stroke-dashoffset: -44; } }
@keyframes uvOut { from { stroke-dashoffset: 52; } to { stroke-dashoffset: 0; } }
@keyframes uvOrbit { from { stroke-dashoffset: 28; } to { stroke-dashoffset: 0; } }
.uv-group.is-focus .uv-dash { animation-duration: 1.3s; }
.uv-group.is-hush .uv-dash { animation-play-state: paused !important; opacity: .35; }
.uv-group.is-disturbed .uv-dash { animation: uvStutter 2.2s steps(1, end) infinite; opacity: .9; }
@keyframes uvStutter { 0% { stroke-dashoffset: 0; } 18% { stroke-dashoffset: -9; } 30% { stroke-dashoffset: -4; } 44% { stroke-dashoffset: -22; } 52% { stroke-dashoffset: -22; } 66% { stroke-dashoffset: -30; } 74% { stroke-dashoffset: -26; } 88% { stroke-dashoffset: -41; } 100% { stroke-dashoffset: -44; } }
.uv-group.is-disturbed .uv-path { stroke: #e8a26a; stroke-dasharray: 2 5; }
.uv-group.is-disturbed .uv-dash { stroke-dasharray: 6 16; stroke: #ffc27a; }
.uv-label { font: 600 10.5px Mukta, sans-serif; fill: #e3d7ba; letter-spacing: .06em; opacity: .75; transition: opacity .4s; }
.uv-group.is-on .uv-label { opacity: 1; fill: #fff3cf; font-size: 11.5px; }
.uv-group.is-dim .uv-label { opacity: .35; }
.uv-seat { fill: #ffe9a8; opacity: .55; }
.uv-group.is-on .uv-seat { opacity: 1; }
.uv-scatter { fill: #ffd27a; opacity: 0; }
.uv-scatter.is-on { animation: uvScatter .9s ease-out forwards; }
@keyframes uvScatter { 0% { opacity: .9; transform: translate(0, 0) scale(.6); } 100% { opacity: 0; transform: translate(var(--dx, 6px), var(--dy, 6px)) scale(1.3); } }
.urja-halo-ring { fill: none; stroke: #ffe9a8; stroke-width: 1.2; opacity: 0; transform-box: fill-box; transform-origin: center; }
.urja-halo-ring.is-on { animation: urjaHaloRing 2.6s ease-out infinite; }
@keyframes urjaHaloRing { 0% { transform: scale(.6); opacity: .8; } 100% { transform: scale(1.5); opacity: 0; } }
.urja-region-label { font: 600 11px Mukta, sans-serif; fill: #fff3cf; opacity: 0; transition: opacity .3s; }
.urja-region-label.is-on { opacity: 1; }
.urja-region-leader { stroke: #ffe9a8; stroke-width: 1; fill: none; opacity: 0; transition: opacity .3s; stroke-dasharray: 2 3; }
.urja-region-leader.is-on { opacity: .8; }
.urja-wave { fill: none; stroke: #fff3cf; stroke-width: 3; stroke-linecap: round; filter: url(#neural-glow); opacity: 0; }

/* chakra layer */
.cv-channel { fill: none; stroke: #ebce86; stroke-width: 1.2; opacity: .45; }
.cv-channel-lit { fill: none; stroke: #fff3cf; stroke-width: 2.2; stroke-linecap: round; filter: url(#neural-glow); opacity: .9; transition: stroke-dashoffset .9s ease; }
.cv-side { fill: none; stroke: #ebce86; stroke-width: .8; opacity: .28; }
.cv-centre { cursor: pointer; transition: opacity .4s; }
.cv-centre .cv-petals { transform-box: fill-box; transform-origin: center; transform: scale(.78); transition: transform .5s ease; }
.cv-centre.is-on .cv-petals { transform: scale(1); }
.cv-centre.is-dim { opacity: .4; }
.cv-petal { stroke: rgba(255, 243, 207, .6); stroke-width: .6; }
.cv-core { stroke: rgba(255, 243, 207, .8); stroke-width: .8; }
.cv-glow { opacity: 0; transition: opacity .5s; }
.cv-centre.is-on .cv-glow { opacity: 1; }
.cv-label { font: 600 10.5px Mukta, sans-serif; fill: #e3d7ba; letter-spacing: .05em; opacity: .8; }
.cv-centre.is-on .cv-label { fill: #fff3cf; font-size: 11.5px; opacity: 1; }
.cv-rays { opacity: 0; transition: opacity .4s; }
.cv-centre.is-on .cv-rays { opacity: .55; }
.urja-panel[data-urja-motion="on"] .cv-centre.is-on .cv-petals { animation: cvBreathe 4.5s ease-in-out infinite alternate; }
@keyframes cvBreathe { from { transform: scale(.96); } to { transform: scale(1.06); } }
.urja-panel[data-urja-motion="on"] .cv-centre.is-on .cv-glow { animation: cvGlow 3s ease-in-out infinite alternate; }
@keyframes cvGlow { from { opacity: .6; } to { opacity: 1; } }

/* control rows */
.urja-regions button.is-vayu { background: transparent; }
.cv-buttons { flex-basis: 100%; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 4px 0 2px; }
.cv-buttons button { min-height: 36px; padding: 0 10px; border-radius: 999px; border: 1px solid rgba(217, 193, 144, .5); background: rgba(246, 240, 228, .06); color: #f1dfb4; font: 600 12px/1 Mukta, sans-serif; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.cv-buttons button i { width: 9px; height: 9px; border-radius: 50%; display: inline-block; border: 1px solid rgba(255, 243, 207, .7); }
.cv-buttons button[aria-pressed="true"] { background: #efdcad; color: #173a2c; border-color: #efdcad; }
.cv-buttons[hidden], .urja-regions[hidden], .urja-regions__q[hidden] { display: none; }

/* explore panel (both views) */
.urja-live__head { display: grid; gap: 2px; }
.urja-live__kicker { margin: 0; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--en-maroon); font-weight: 600; }
.urja-live__q { margin: 0; }
.urja-live__q span[lang] { font: 400 16px/1 Mukta, "Mukta Devanagari", sans-serif; color: var(--en-gold); margin-left: 8px; }
.urja-layer { display: grid; gap: 4px; }
.urja-layer__k { margin: 0; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--en-muted); font-weight: 600; }
.urja-layer p { margin: 0; font-size: 14px; line-height: 1.55; }
.urja-live__row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.urja-live__row .agni-live__cta { min-height: 40px; font-size: 14px; padding: 0 14px; }
.urja-demo-note { margin: 0; font-size: 12px; color: var(--en-maroon); line-height: 1.5; padding: 8px 10px; background: #fff3e4; border-left: 3px solid var(--en-ember); border-radius: 6px; }
.urja-demo-note[hidden] { display: none; }
.urja-attention { display: grid; gap: 6px; padding-top: 10px; border-top: 1px dashed var(--en-edge); }
.urja-attention__k { margin: 0; font: 600 13px/1.3 Mukta, sans-serif; color: var(--en-green); }
.urja-attention__k small { display: block; font-weight: 400; color: var(--en-muted); font-size: 12px; }
.urja-ask { margin: 0; padding-left: 16px; font-size: 13px; line-height: 1.5; display: grid; gap: 4px; }
.urja-claim { font-size: 13px; line-height: 1.5; padding: 8px 10px; background: var(--en-paper); border-radius: 6px; }
.urja-claim b { display: block; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--en-maroon); margin-bottom: 2px; }
.urja-src { font-size: 12px; color: var(--en-muted); }

/* ---------- Banyan doorway ---------- */
.tree-story-link { position: relative; display: block; }
.bc-halo-live { position: absolute; inset: -6% -10% 6%; z-index: 0; pointer-events: none; opacity: .9; }
.bc-halo-live i { position: absolute; border-radius: 50%; filter: blur(12px); mix-blend-mode: screen; animation-play-state: paused; }
.bc-halo-live .h1 { inset: 12% 18% 30%; background: radial-gradient(circle at 50% 50%, rgba(255, 228, 150, .55), rgba(214, 170, 82, .18) 48%, transparent 72%); animation: haloBreath 9s ease-in-out infinite alternate; }
.bc-halo-live .h2 { inset: 22% 26% 36%; background: radial-gradient(circle at 48% 46%, rgba(255, 244, 205, .5), transparent 62%); animation: haloDrift 13s ease-in-out infinite alternate; }
.bc-halo-live .h3 { inset: 40% 36% 18%; background: radial-gradient(ellipse at 50% 60%, rgba(192, 140, 60, .28), transparent 70%); animation: haloBreath 11s ease-in-out -4s infinite alternate; }
.tree-experience[data-motion-running="true"] .bc-halo-live i { animation-play-state: running; }
@keyframes haloBreath { from { transform: scale(.94); opacity: .75; } to { transform: scale(1.06); opacity: 1; } }
@keyframes haloDrift { from { transform: translate(-3%, 2%) scale(.98); } to { transform: translate(3%, -2%) scale(1.04); } }
.bc-rays { position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .5; }
.bc-rays line { stroke: #ffe9a8; stroke-width: .6; opacity: .35; }
.bc-motes { position: absolute; inset: 0; z-index: 2; pointer-events: none; overflow: visible; }
.bc-motes circle { fill: #ffe9a8; opacity: 0; animation: moteRise 7s linear infinite; animation-play-state: paused; }
.tree-experience[data-motion-running="true"] .bc-motes circle { animation-play-state: running; }
@keyframes moteRise { 0% { opacity: 0; transform: translateY(0); } 15% { opacity: .8; } 85% { opacity: .5; } 100% { opacity: 0; transform: translateY(-120px); } }
.tree-story-cta { display: flex !important; flex-direction: column; align-items: center; gap: 2px; }
.tree-story-cta .invite { font: 500 20px/1.2 Cormorant, Georgia, serif; }
.tree-story-cta .invite-sub { font: 400 12px/1.3 Mukta, sans-serif; opacity: .85; letter-spacing: .02em; }
.tree-story-link:focus-visible { outline: 3px solid #ebce86; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { .bc-halo-live i, .bc-motes circle { animation: none !important; } .bc-motes { display: none; } }

/* ---------- Wider-circle rail as slides ---------- */
.rail-cues { display: grid; gap: 6px; }
.rail-dots { display: flex; justify-content: center; gap: 7px; margin: 4px 0 0; }
.rail-dots i { width: 7px; height: 7px; border-radius: 50%; background: var(--en-edge); transition: transform .2s, background-color .2s; }
.rail-dots i.is-on { background: var(--en-maroon); transform: scale(1.3); }
.rail-swipe { font: 600 12px/1 Mukta, sans-serif; color: var(--en-muted); display: inline-flex; align-items: center; gap: 6px; transition: opacity .4s; }
.rail-swipe::after { content: "→"; animation: swipeNudge 1.4s ease-in-out infinite; }
@keyframes swipeNudge { 50% { transform: translateX(4px); } }
.rail-swipe.is-done { opacity: 0; }
#treatment-position { font: 600 14px/1 Mukta, sans-serif; color: var(--en-green); }
@media (min-width: 700px) { .rail-cues { display: none; } }
@media (prefers-reduced-motion: reduce) { .rail-swipe::after { animation: none; } }

/* ---------- Globe caption ---------- */
.distance-art figcaption.bc-globe-cap { display: grid; gap: 4px; letter-spacing: .04em; text-transform: none; font-size: 12px; line-height: 1.35; bottom: 4%; }
.distance-art figcaption.bc-globe-cap b { font: 500 15px/1.2 Cormorant, Georgia, serif; color: #f6e9c4; letter-spacing: .02em; }
.distance-art .bc-globe-action { position: absolute; left: 50%; bottom: -62px; transform: translateX(-50%); display: block; text-align: center; margin: 0; padding: 4px 0; font: 600 14px/1.4 Mukta, sans-serif; color: #f1dfb4; border-bottom: 1px solid rgba(217, 193, 144, .5); white-space: nowrap; max-width: 100%; text-decoration: none; }
.distance-art .bc-globe-action:hover, .distance-art .bc-globe-action:focus-visible { border-color: #f1dfb4; }
.distance-scene .distance-art { margin-bottom: 70px; }

/* ---------- Treatment course ---------- */
.course { background: var(--en-paper, #eee4d2); padding: 44px 0 52px; color: var(--en-ink); }
.course .wrap { display: grid; gap: 18px; }
.course__head { display: grid; gap: 10px; max-width: 62ch; }
.course__head h2 { margin: 0; font: 500 clamp(1.9rem, 1.4rem + 2vw, 2.8rem)/1.1 Cormorant, Georgia, serif; color: var(--en-maroon); }
.course__head p { margin: 0; font-size: 16px; line-height: 1.55; }
.course__stages { display: grid; gap: 12px; }
.course__stage { background: var(--en-ivory); border: 1px solid var(--en-edge); border-radius: 10px; padding: 16px; display: grid; gap: 6px; }
.course__stage .num { font: 500 13px/1 Cormorant, Georgia, serif; color: var(--en-gold); letter-spacing: .12em; text-transform: uppercase; }
.course__stage h3 { margin: 0; font: 500 22px/1.15 Cormorant, Georgia, serif; color: var(--en-green); }
.course__stage p { margin: 0; font-size: 14px; line-height: 1.55; }
.course__foot { display: grid; gap: 8px; font-size: 14px; line-height: 1.55; max-width: 70ch; }
.course__foot p { margin: 0; }
.course__foot .muted { color: var(--en-muted); font-size: 13px; }
.course__foot a.text-link { font-weight: 600; color: var(--en-green); }
@media (min-width: 700px) { .course__stages { grid-template-columns: repeat(3, minmax(0, 1fr)); } .course .wrap { gap: 24px; } }

/* ---------- phase 2 fixes: panel geometry, labels, paused states ---------- */
.snapshot-demo.example-report .urja-panel { position: relative; }
.urja-switch { flex: none; }
.urja-tag { position: absolute; z-index: 3; transform: translate(0, -50%); background: rgba(23, 58, 44, .94); color: #fff3cf; border: 1px solid #ebce86; border-radius: 999px; padding: 5px 11px; font: 600 12px/1.2 Mukta, sans-serif; pointer-events: none; white-space: nowrap; box-shadow: 0 2px 10px rgba(0, 0, 0, .25); }
.urja-tag::before { content: ""; position: absolute; left: -16px; top: 50%; width: 16px; border-top: 1px dashed #ebce86; }
.urja-tag[hidden] { display: none; }
.urja-regions__q small { display: block; font-weight: 400; font-size: 12px; color: #d0d8c9; margin-top: 2px; }
.urja-regions button[aria-pressed="true"] { box-shadow: 0 0 0 3px rgba(239, 220, 173, .35); }
.urja-panel:not([data-urja-motion="on"]) .urja-halo-ring.is-on { animation: none; opacity: .7; transform: scale(1.12); }
.urja-panel:not([data-urja-motion="on"]) .uv-scatter { display: none; }
.uv-label { font-size: 12px; opacity: .55; }
.cv-label { font-size: 12px; }
.nidaan-summary__topics { border: 1px dashed var(--en-edge); border-radius: 8px; padding: 0 12px; background: #fbf8f1; }
.nidaan-summary__topics[hidden] { display: none; }
.nidaan-summary__topics summary { cursor: pointer; min-height: 40px; display: flex; align-items: center; font: 600 13px/1.3 Mukta, sans-serif; color: var(--en-muted); }
.nidaan-summary__topics .note { margin: 0 0 8px; font-size: 12px; color: var(--en-muted); line-height: 1.45; }
.nidaan-summary__topics ul { margin: 0 0 8px; padding-left: 18px; font-size: 13px; line-height: 1.5; display: grid; gap: 3px; }
.nidaan-summary__topics .inc { display: flex; gap: 8px; align-items: center; font-size: 13px; padding: 0 0 12px; }
.nidaan-summary__topics .inc input { width: 18px; height: 18px; margin: 0; accent-color: var(--en-green); }
@media (prefers-reduced-motion: reduce) {
  .uv-dash, .cv-centre .cv-petals, .cv-centre .cv-glow, .urja-halo-ring.is-on, .uv-scatter { animation: none !important; }
  .urja-halo-ring.is-on { opacity: .7; transform: scale(1.12); }
  .uv-scatter { display: none; }
}
/* stage size on phones: the body needs room once it is interactive; SVG labels give way to the HTML tag */
@media (max-width: 699px) {
  .snapshot-demo.example-report .urja-panel.is-live .urja-art { height: 400px; padding-block: 10px; }
  .uv-label, .cv-label { display: none; }
}
/* paused/demo/emphasis refinements */
.urja-panel:not([data-urja-motion="on"]) .uv-dash, .urja-panel:not([data-urja-motion="on"]) .uv-group.is-disturbed .uv-dash { animation-play-state: paused; }
.uv-group.is-on .uv-dash { stroke-width: 3; }
.uv-group.is-on .uv-path { stroke-width: 2; opacity: 1; }
.uv-group.is-on .uv-seat { r: 4; }
.urja-tag.is-flip::before { left: auto; right: -16px; }
.urja-panel.is-demo .urja-tag { border-color: #ffb067; color: #ffe1bf; }
.urja-panel.is-demo .urja-halo-ring { stroke: #ffb067; }
.urja-panel.is-demo .urja-settle { filter: hue-rotate(-18deg) saturate(1.3); }
.uv-scatter { filter: url(#neural-glow); }
.cv-buttons button { min-height: 42px; }
@media (min-width: 700px) { .snapshot-demo.example-report .urja-panel.is-live .urja-art { height: 520px; } }
@media (min-width: 1000px) { .snapshot-demo.example-report .urja-panel.is-live .urja-art { height: 600px; } }
/* label wrapping on narrow stages, touch sizes, mote restraint, globe link placement */
.urja-tag { white-space: normal; max-width: min(48%, 230px); line-height: 1.25; text-align: left; }
.urja-regions button { min-height: 42px; padding: 0 12px; }
.bc-motes circle { opacity: 0; }
.bc-motes circle { animation-name: moteRise; }
@keyframes moteRise { 0% { opacity: 0; transform: translateY(0); } 15% { opacity: .55; } 85% { opacity: .3; } 100% { opacity: 0; transform: translateY(-120px); } }
@media (max-width: 699px) { .distance-art .bc-globe-action { white-space: normal; font-size: 13px; width: max-content; max-width: 100%; } }

/* ======================================================================
   v3 — composition (stage + panel), selection sequence, essences, FAQ, course
   ====================================================================== */
/* --- card becomes a simple block; the stage wrap holds figure + panel --- */
.snapshot-demo.example-report.is-live { display: block; }
.urja-stage-wrap { display: block; }
.snapshot-demo.example-report.is-live .urja-panel { display: block; border-radius: 11px 11px 0 0; }
.snapshot-demo.example-report.is-live .urja-live { margin: 0; padding: 18px clamp(16px, 3vw, 26px) 14px; grid-column: auto; background: #f6f0e4; }
.snapshot-demo.example-report.is-live .example-copy { grid-column: auto; grid-row: auto; border-top: 1px solid var(--en-edge); }
.snapshot-demo.example-report.is-live .nidaan-summary { margin-top: 0; }
.urja-rows { display: grid; gap: 8px; width: 100%; }
.urja-caption { display: none; }
.snapshot-demo.example-report.is-live .urja-controls { border-top: 1px solid rgba(217, 193, 144, .18); }

/* control chips with a colour cue synced to the figure */
.urja-regions button .cue, .urja-essences button .cue, .urja-chip .cue, .urja-live__kicker .cue { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; margin-right: 6px; font-style: normal; font-size: 11px; line-height: 1; background: var(--cue, #ebce86); color: #173a2c; }
.urja-regions button, .urja-essences button { display: inline-flex; align-items: center; }
.urja-essences { flex-basis: 100%; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; }
.urja-essences__k { flex-basis: 100%; text-align: center; font: 400 11px/1.3 Mukta, sans-serif; color: #cdbb90; letter-spacing: .04em; }
.urja-essences button { min-height: 38px; padding: 0 12px 0 8px; border-radius: 999px; border: 1px dashed rgba(217, 193, 144, .55); background: transparent; color: #f1dfb4; font: 600 12px/1 Mukta, sans-serif; cursor: pointer; }
.urja-essences button[aria-pressed="true"] { background: #efdcad; color: #173a2c; border-style: solid; border-color: #efdcad; }
.urja-essences[hidden], .urja-rows [hidden] { display: none; }

/* --- panel: core (stable) + deep + foot --- */
.urja-live__core { display: grid; gap: 10px; }
.urja-live.is-fresh .urja-live__core { animation: urjaFresh .42s ease-out both; }
@keyframes urjaFresh { from { opacity: .35; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.urja-live__head { display: grid; gap: 4px; }
.urja-live__kicker { margin: 0; display: flex; align-items: center; font: 600 11px/1.2 Mukta, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--en-maroon); }
.urja-live__kicker .cue:empty { display: none; }
.urja-live__title { margin: 0; font: 500 clamp(1.45rem, 1.2rem + .9vw, 1.9rem)/1.15 Cormorant, Georgia, serif; color: var(--en-green); }
.urja-live__title span[lang] { font: 400 .85em/1 Mukta, "Mukta Devanagari", sans-serif; color: var(--en-gold); margin-left: 8px; white-space: nowrap; }
.urja-live__title small { display: block; font: 400 15px/1.3 Mukta, sans-serif; color: var(--en-muted); margin-top: 2px; }
.urja-live__insight { margin: 0; font-size: 16px; line-height: 1.6; color: var(--en-ink); }
.urja-live__prompt { margin: 0; font-size: 15px; line-height: 1.55; color: var(--en-green); padding: 10px 12px; background: #fbf6ea; border-left: 3px solid var(--en-gold-soft); border-radius: 0 8px 8px 0; }
.urja-live__badge { margin: 0; display: inline-block; width: max-content; font: 600 11px/1.2 Mukta, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--en-maroon); border: 1px solid var(--en-gold-soft); border-radius: 4px; padding: 3px 8px; background: #fff8ea; }
.urja-link { background: none; border: 0; padding: 0; color: var(--en-green); font: 600 14px/1.4 Mukta, sans-serif; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.urja-chip { min-height: 40px; display: inline-flex; align-items: center; padding: 0 12px 0 8px; border-radius: 999px; border: 1px solid var(--en-edge); background: var(--en-ivory); color: var(--en-green); font: 600 13px/1 Mukta, sans-serif; cursor: pointer; }
.urja-more { border-top: 1px solid var(--en-edge); }
.urja-more summary { cursor: pointer; list-style: none; min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 10px; font: 600 15px/1.3 Mukta, sans-serif; color: var(--en-green); }
.urja-more summary::-webkit-details-marker { display: none; }
.urja-more summary .plus { color: var(--en-maroon); font-size: 20px; transition: transform .25s; }
.urja-more[open] summary .plus { transform: rotate(45deg); }
.urja-more__body { padding: 0 0 14px; display: grid; gap: 10px; font-size: 14px; line-height: 1.6; }
.urja-more__body p { margin: 0; }
.urja-more[open] .urja-more__body { animation: urjaFresh .3s ease-out both; }
.urja-more.is-daily { border: 1px solid var(--en-gold-soft); border-radius: 8px; padding: 0 12px; background: #fff8ea; }
.urja-more.is-daily summary { color: var(--en-maroon); }
.urja-live__deep { margin-top: 12px; }
.urja-live__foot { margin: 12px 0 0; padding-top: 10px; border-top: 1px solid var(--en-edge); font-size: 13px; line-height: 1.55; color: var(--en-ink); }
.urja-live__foot span { display: block; color: var(--en-muted); margin-top: 4px; }
.urja-live__safety { font-size: 13px; }
.urja-live__row { margin-top: 2px; }
.urja-attention { padding-top: 8px; border-top: 1px dashed var(--en-edge); }

/* --- selection hierarchy: fine anatomy recedes while something is selected --- */
.neural-body.has-selection[data-view="urja"] .neural-branches { opacity: .28; }
.neural-body.has-selection[data-view="urja"] .neural-tracks { opacity: .35; }
.neural-body.has-selection[data-view="urja"] .skeletal-frame { opacity: .62; }
.neural-body.has-selection[data-view="urja"] .neural-streams { opacity: .14; }
.uv-dash { filter: none; stroke: var(--uv, #ffe9a8); }
.uv-path { stroke: var(--uv, #ebce86); }
.uv-seat { fill: var(--uv, #ffe9a8); }
.uv-group.is-on .uv-dash { filter: url(#neural-glow); animation-duration: 2.1s; }
.uv-group.is-dim .uv-dash { opacity: .35; }
.uv-group.is-essence .uv-dash { opacity: 1; }

/* --- chakra motion character: slow breath for all, rotation + glow for the chosen one --- */
.urja-panel[data-urja-motion="on"] .neural-body[data-view="chakra"] .cv-centre:not(.is-dim) .cv-petals { animation: cvBreathe 6.5s ease-in-out infinite alternate; animation-delay: calc(var(--i, 0) * -.9s); }
.urja-panel[data-urja-motion="on"] .cv-centre.is-on .cv-petals { animation: cvBreathe 4.5s ease-in-out infinite alternate, cvSpin 48s linear infinite; }
@keyframes cvSpin { to { transform: rotate(360deg) scale(1); } }
.urja-panel[data-urja-motion="on"] .cv-centre.is-on .cv-rays { animation: cvSpinBack 36s linear infinite; transform-box: fill-box; transform-origin: center; }
@keyframes cvSpinBack { to { transform: rotate(-360deg); } }
.cv-coreg { transform-box: fill-box; transform-origin: center; }

/* --- essences: artistic overlays --- */
.ue-layer { opacity: 0; transition: opacity .6s ease; pointer-events: none; }
.neural-body.ue-tejas .ue-tejas, .neural-body.ue-ojas .ue-ojas { opacity: 1; }
.ue-tejas-core { transform-box: fill-box; transform-origin: center; animation: ueBreath 3.2s ease-in-out infinite alternate; animation-play-state: paused; }
.ue-tejas-eye { opacity: .8; }
.ue-tejas-rim { fill: none; stroke: #ffc27a; stroke-width: 1.6; stroke-dasharray: 18 82; stroke-linecap: round; filter: url(#neural-glow); animation: ueRim 6s linear infinite; animation-play-state: paused; opacity: .9; }
@keyframes ueRim { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
.ue-tejas-ray { stroke: #ffd9a8; stroke-width: .8; opacity: .6; transform-box: view-box; transform-origin: 180px 246px; animation: ueRays 14s linear infinite; animation-play-state: paused; }
@keyframes ueRays { to { transform: rotate(360deg); } }
.ue-ojas-core { transform-box: fill-box; transform-origin: center; animation: ueBreath 7s ease-in-out infinite alternate; animation-play-state: paused; }
.ue-ojas-ring { fill: none; stroke: #fff3cf; stroke-width: .9; opacity: 0; transform-box: fill-box; transform-origin: center; animation: ueRing 7.8s ease-out infinite; animation-play-state: paused; }
@keyframes ueRing { 0% { transform: scale(.55); opacity: .5; } 100% { transform: scale(1.35); opacity: 0; } }
.ue-ojas-field { opacity: .35; }
@keyframes ueBreath { from { transform: scale(.92); opacity: .85; } to { transform: scale(1.08); opacity: 1; } }
.urja-panel[data-urja-motion="on"] .ue-tejas-core, .urja-panel[data-urja-motion="on"] .ue-tejas-rim, .urja-panel[data-urja-motion="on"] .ue-tejas-ray, .urja-panel[data-urja-motion="on"] .ue-ojas-core, .urja-panel[data-urja-motion="on"] .ue-ojas-ring { animation-play-state: running; }
.neural-body.ue-ojas .skeletal-frame, .neural-body.ue-tejas .skeletal-frame { opacity: .5; }

/* --- phones: compact section-bound sticky stage, explanation beneath --- */
@media (max-width: 699px) {
  .snapshot-demo.example-report.is-live .urja-panel.is-live { position: sticky; top: var(--bc-stage-top, 0px); z-index: 6; box-shadow: 0 14px 24px -16px rgba(0, 0, 0, .6); }
  .snapshot-demo.example-report.is-live .urja-panel.is-live .urja-art { height: clamp(190px, 30vh, 300px); height: clamp(190px, 30svh, 300px); padding-block: 6px; }
  .urja-switch { padding: 8px 10px 4px; }
  .urja-switch__label, .urja-switch__desc { display: none; }
  .urja-switch__seg button { min-height: 40px; }
  .snapshot-demo.example-report.is-live .urja-controls { flex-direction: row; align-items: center; gap: 8px; padding: 8px 10px 10px; }
  .snapshot-demo.example-report.is-live .urja-controls .motion-control { order: 2; min-height: 40px; max-width: 44px; width: 44px; padding: 0; font-size: 0; position: relative; }
  .snapshot-demo.example-report.is-live .urja-controls .motion-control::before { content: "⏸"; font-size: 16px; color: #f6f0e4; }
  .snapshot-demo.example-report.is-live .urja-controls .motion-control[aria-pressed="true"]::before { content: "▶"; }
  .urja-rows { order: 1; flex: 1; min-width: 0; gap: 0; }
  .urja-regions__q, .urja-essences__k { display: none; }
  .urja-regions, .urja-essences, .cv-buttons { display: flex; flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; gap: 6px; margin: 0; padding: 2px 0; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; mask-image: linear-gradient(90deg, #000 88%, transparent); -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent); }
  .urja-regions::-webkit-scrollbar, .urja-essences::-webkit-scrollbar, .cv-buttons::-webkit-scrollbar { display: none; }
  .urja-regions button, .urja-essences button, .cv-buttons button { flex: none; scroll-snap-align: start; min-height: 40px; white-space: nowrap; }
  .urja-essences { margin-top: 6px; }
  .urja-regions[hidden], .urja-essences[hidden], .cv-buttons[hidden] { display: none; }
  .urja-live__core { min-height: 0; }
  .urja-tag { font-size: 11px; padding: 4px 9px; }
}
@media (max-width: 699px) and (max-height: 600px), (max-width: 699px) and (orientation: landscape) {
  .snapshot-demo.example-report.is-live .urja-panel.is-live { position: static; box-shadow: none; }
}
/* --- desktop: body beside a calm panel; the body stays in view while the panel is read --- */
@media (min-width: 700px) {
  .urja-stage-wrap { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; }
  .snapshot-demo.example-report.is-live .urja-panel.is-live { position: sticky; top: calc(var(--bc-stage-top, 0px) + 12px); align-self: start; border-radius: 11px 0 0 0; }
  .snapshot-demo.example-report.is-live .urja-panel.is-live .urja-art { height: clamp(340px, 52vh, 520px); }
  .snapshot-demo.example-report.is-live .urja-live { padding: 22px 26px 16px; border-left: 1px solid var(--en-edge); min-height: 100%; }
  .urja-live__core { min-height: 330px; align-content: start; }
  .urja-regions { justify-content: center; }
}
@media (min-width: 1000px) { .snapshot-demo.example-report.is-live .urja-panel.is-live .urja-art { height: clamp(380px, 56vh, 560px); } }
@media (prefers-reduced-motion: reduce) { .urja-live.is-fresh .urja-live__core, .urja-more[open] .urja-more__body, .ue-tejas-core, .ue-tejas-rim, .ue-tejas-ray, .ue-ojas-core, .ue-ojas-ring, .cv-centre .cv-petals, .cv-centre .cv-rays { animation: none !important; } .ue-ojas-ring { opacity: .25; } }

/* --- treatment course v2: brief, three stages, timeline cue --- */
.course__head h2 em { font-style: italic; color: var(--en-gold); }
.course__stages { position: relative; counter-reset: stage; }
.course__stage { position: relative; padding-left: 52px; }
.course__stage .num { position: absolute; left: 14px; top: 18px; width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--en-gold); color: var(--en-maroon); font: 600 12px/24px Mukta, sans-serif; text-align: center; letter-spacing: 0; text-transform: none; }
.course__stage h3 { font-size: 21px; }
.course__stage p { font-size: 15px; }
.course__stage .when { font: 600 11px/1.2 Mukta, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--en-gold); }
@media (min-width: 700px) {
  .course__stages::before { content: ""; position: absolute; left: 10%; right: 10%; top: 31px; border-top: 1px dashed var(--en-gold-soft); }
  .course__stage { padding: 16px 16px 16px 52px; }
}
.course__foot .text-link { color: var(--en-green); }

/* --- FAQ v2: three groups, topic index, spacious rows --- */
.faq-nav { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 18px; }
.faq-nav a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--en-edge); background: var(--en-ivory); color: var(--en-green); font: 600 13px/1 Mukta, sans-serif; text-decoration: none; white-space: nowrap; }
.faq-nav a[aria-current="true"] { background: var(--en-green); color: var(--en-ivory); border-color: var(--en-green); }
.faq-v2 { display: grid; gap: 30px; }
.faq-group { scroll-margin-top: calc(var(--bc-stage-top, 0px) + 16px); }
.faq-group h3 { margin: 0 0 4px; font: 500 24px/1.2 Cormorant, Georgia, serif; color: var(--en-maroon); padding-bottom: 8px; border-bottom: 1px solid var(--en-gold-soft); }
.faq-v2 details { border-bottom: 1px solid var(--en-edge); padding: 0; }
.faq-v2 summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; list-style: none; cursor: pointer; font: 500 18px/1.35 Mukta, sans-serif; color: var(--en-green); min-height: 64px; padding: 14px 0; }
.faq-v2 summary::-webkit-details-marker { display: none; }
.faq-v2 summary > span { flex: none; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--en-gold-soft); display: inline-flex; align-items: center; justify-content: center; color: var(--en-maroon); font-weight: 400; font-size: 18px; transition: transform .25s ease, background-color .25s; }
.faq-v2 details[open] summary > span { transform: rotate(45deg); background: #fff8ea; }
.faq-a { padding: 0 0 20px; max-width: 65ch; display: grid; gap: 10px; }
.faq-a p { margin: 0; font-size: 16px; line-height: 1.6; }
.faq-a p:first-child::first-line { font-weight: 600; }
.faq-a .text-link { font-size: 14px; min-height: 36px; }
.faq-v2 details[open] .faq-a { animation: urjaFresh .28s ease-out both; }
@media (max-width: 699px) {
  .faq-nav { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; margin: 14px -16px 0; padding-inline: 16px; }
  .faq-nav::-webkit-scrollbar { display: none; }
  .faq-v2 summary { font-size: 17px; min-height: 60px; }
}
@media (min-width: 700px) {
  .faq-layout > div:first-child { position: sticky; top: calc(var(--bc-stage-top, 0px) + 24px); align-self: start; }
  .faq-nav { flex-direction: column; align-items: flex-start; gap: 6px; margin-top: 22px; }
  .faq-nav a { border: 0; border-left: 2px solid var(--en-edge); border-radius: 0; background: none; padding: 0 12px; min-height: 36px; }
  .faq-nav a[aria-current="true"] { background: none; color: var(--en-maroon); border-left-color: var(--en-maroon); }
}
@media (prefers-reduced-motion: reduce) { .faq-v2 details[open] .faq-a, .faq-v2 summary > span { animation: none; transition: none; } }
/* the section must not be a scroll container, or the stage cannot stick (same fix as the Agni section) */
.pulse.is-live-section { overflow: clip; }
@supports not (overflow: clip) { .pulse.is-live-section { overflow: visible; } }
.urja-panel:not([data-urja-motion="on"]) .urja-ring.is-on { animation: none; opacity: .7; }
@media (min-width: 700px) { .urja-live__core { min-height: max(330px, var(--core-min, 0px)); } }
.faq-layout > div { min-width: 0; }
.faq-nav { max-width: 100%; }
/* compact stage budgets: phones keep ~55% of the viewport for reading; short screens compact further; very short go static */
.urja-live__essences { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding-top: 8px; border-top: 1px dashed var(--en-edge); font: 400 12px/1.3 Mukta, sans-serif; color: var(--en-muted); }
.urja-live__essences > span { flex-basis: 100%; }
.urja-chip--sm { min-height: 34px; font-size: 12px; padding-right: 10px; }
@media (max-width: 699px) {
  .urja-essences { display: none; }
  .snapshot-demo.example-report.is-live .urja-panel.is-live .urja-art { height: clamp(170px, 26vh, 250px); height: clamp(170px, 26svh, 250px); }
  .urja-regions, .cv-buttons { mask-image: linear-gradient(90deg, #000 93%, transparent); -webkit-mask-image: linear-gradient(90deg, #000 93%, transparent); padding-right: 28px; }
}
@media (max-width: 699px) and (max-height: 700px) {
  .snapshot-demo.example-report.is-live .urja-panel.is-live .urja-art { height: clamp(140px, 22vh, 200px); height: clamp(140px, 22svh, 200px); padding-block: 4px; }
  .urja-switch { padding-top: 6px; } .urja-switch__seg button { min-height: 36px; } .urja-switch__seg button small { display: none; }
}
@media (max-width: 699px) and (max-height: 560px) { .snapshot-demo.example-report.is-live .urja-panel.is-live { position: static; box-shadow: none; } }
@media (min-width: 700px) {
  .snapshot-demo.example-report.is-live .urja-panel.is-live .urja-art { height: clamp(300px, 46vh, 440px); }
  .urja-live__essences { display: none; }
  .snapshot-demo.example-report.is-live .urja-controls { padding: 10px 14px 12px; gap: 6px; }
  .urja-rows { gap: 6px; }
  .urja-regions__q { margin-bottom: 0; }
}
@media (min-width: 1000px) { .snapshot-demo.example-report.is-live .urja-panel.is-live .urja-art { height: clamp(320px, 48vh, 460px); } }

/* ======================================================================
   v4 — the care journey, the consultation reminder, the Nidaan invitation
   ====================================================================== */
.care-journey { padding: 44px 0 48px; background: var(--en-ivory, #F6F0E4); border-bottom: 1px solid var(--en-edge); }
.care-journey .wrap { display: grid; gap: 22px; }
.cj__head { display: grid; gap: 8px; max-width: 60ch; position: relative; }
.cj__head h2 { margin: 0; font: 500 clamp(1.9rem, 1.3rem + 2.2vw, 2.9rem)/1.08 Cormorant, Georgia, serif; color: var(--en-maroon); }
.cj__head h2 em { font-style: italic; color: var(--en-gold); }
.cj__head .lead { margin: 0; font-size: 17px; max-width: 44ch; }
.cj__pause { margin: 0; padding: 6px 0; justify-self: start; color: var(--en-muted); font-size: 11px; min-height: 36px; }
.cj__stage { position: relative; }
.cj__thread { display: none; }
.cj__steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; position: relative; }
.cj__step { position: relative; display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 14px; align-items: center; background: #fff; border: 1px solid var(--en-edge); border-radius: 14px; padding: 10px 14px 10px 10px; }
.cj__art { margin: 0; aspect-ratio: 220 / 160; background: var(--en-paper, #EEE4D2); border-radius: 10px; overflow: hidden; }
.cj__art svg { width: 100%; height: 100%; display: block; }
.cj__text { display: grid; gap: 3px; }
.cj__num { width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--en-gold); color: var(--en-maroon); font: 600 12px/1 Mukta, sans-serif; margin-bottom: 2px; }
.cj__text h3 { margin: 0; font: 600 17px/1.25 Mukta, sans-serif; color: var(--en-green); }
.cj__text p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--en-ink); }
.cj__text .cj__meta { font-size: 12px; color: var(--en-muted); letter-spacing: .02em; }
/* mobile thread: a light travelling down the left edge of the list */
.cj__steps::before { content: ""; position: absolute; left: -10px; top: 24px; bottom: 24px; border-left: 1px dashed var(--en-gold-soft); }
.cj__steps::after { content: ""; position: absolute; left: -13px; top: 24px; width: 7px; height: 7px; border-radius: 50%; background: var(--en-gold); box-shadow: 0 0 10px 2px rgba(182, 147, 87, .55); opacity: 0; }
.care-journey.is-live[data-motion="on"] .cj__steps::after { animation: cjTravelY 7s ease-in-out infinite; }
@keyframes cjTravelY { 0% { top: 24px; opacity: 0; } 8% { opacity: 1; } 92% { opacity: 1; } 100% { top: calc(100% - 28px); opacity: 0; } }
.cj__after { display: grid; gap: 8px; padding: 14px 16px; border: 1px dashed var(--en-gold-soft); border-radius: 12px; background: #fbf7ee; scroll-margin-top: 90px; }
.cj__after-k { margin: 0; font: 600 11px/1.2 Mukta, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--en-maroon); }
.cj__ladder { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.cj__ladder li { display: flex; align-items: center; gap: 10px; font-size: 14px; line-height: 1.4; color: var(--en-ink); }
.cj__ladder li span { flex: none; width: 22px; height: 22px; border-radius: 50%; background: var(--en-green); color: var(--en-ivory); font: 600 11px/22px Mukta, sans-serif; text-align: center; }
.cj__cta { display: grid; gap: 10px; justify-items: start; }
.cj__cta .button { min-height: 52px; }
.cj__cta .button.primary { background: var(--en-green); color: var(--en-ivory); border-color: var(--en-green); }
.cj__cta .button.secondary { color: var(--en-green); border-color: var(--en-gold-soft); background: #fff; }
.cj__fee { margin: 2px 0 0; font-size: 13px; line-height: 1.5; color: var(--en-muted); max-width: 62ch; }
/* scene details: every scene is complete at rest; motion only accents it, and plays when the scene is seen */
.cj__step { --i: 0; }
.s1-day, .s1-pay, .s1-shot, .s1-ok, .s2-wave rect, .s2-doc-head, .s3-tag, .s3-node, .s3-hand, .s3-arm, .s4-parcel, .s4-lid, .s4-spark, .s4-meds, .s5-bubble, .s5-sheet, .s5-leaf, .s5-ring, .s2-ring, .s2-lamp, .s1-figure { transform-box: fill-box; transform-origin: center; }
.s2-ring { opacity: 0; } .s5-ring { opacity: .7; } .s4-lid { transform-origin: left center; } .s2-doc-head { transform-origin: 50% 90%; } .s3-line { stroke-dasharray: 100; stroke-dashoffset: 0; }
.care-journey[data-motion="on"] .cj__step.is-seen .s1-day { animation: cjPop .6s cubic-bezier(.2, .9, .3, 1.3) both calc(var(--i) * .9s + .2s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s1-pay { animation: cjRise .5s ease-out both calc(var(--i) * .9s + .9s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s1-shot { animation: cjRise .5s ease-out both calc(var(--i) * .9s + 1.5s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s1-ok { animation: cjRise .6s ease-out both calc(var(--i) * .9s + 2.1s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s2-ring--1 { animation: cjRing 2.8s ease-out infinite calc(var(--i) * .9s + .4s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s2-ring--2 { animation: cjRing 2.8s ease-out infinite calc(var(--i) * .9s + 1.1s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s2-wave rect { animation: cjWave 1.5s ease-in-out infinite alternate calc(var(--i) * .9s + 1.2s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s2-wave rect:nth-child(2) { animation-delay: calc(var(--i) * .9s + 1.5s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s2-wave rect:nth-child(3) { animation-delay: calc(var(--i) * .9s + 1.8s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s2-doc-head { animation: cjListen 1.6s ease-in-out both calc(var(--i) * .9s + 1.4s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s2-lamp { animation: cjGlow 4s ease-in-out infinite alternate; }
.care-journey[data-motion="on"] .cj__step.is-seen .s3-line { animation: cjDraw 1.6s ease-out both calc(var(--i) * .9s + .3s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s3-n1 { animation: cjNode .5s ease-out both calc(var(--i) * .9s + .4s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s3-n2 { animation: cjNode .5s ease-out both calc(var(--i) * .9s + 1.1s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s3-n3 { animation: cjNode .5s ease-out both calc(var(--i) * .9s + 1.8s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s3-tag { animation: cjPop .6s ease-out both calc(var(--i) * .9s + 2.2s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s3-hand, .care-journey[data-motion="on"] .cj__step.is-seen .s3-arm { animation: cjPoint 2.4s ease-in-out infinite alternate calc(var(--i) * .9s + 1s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s4-parcel { animation: cjArrive 1.1s cubic-bezier(.2, .8, .2, 1) both calc(var(--i) * .9s + .3s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s4-lid { animation: cjLid .9s cubic-bezier(.3, .8, .3, 1) both calc(var(--i) * .9s + 1.5s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s4-meds { animation: cjRise .6s ease-out both calc(var(--i) * .9s + 1.9s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s4-spark { animation: cjTwinkle 2.4s ease-in-out infinite calc(var(--i) * .9s + 2.4s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s4-light { animation: cjGlow 4s ease-in-out infinite alternate; }
.care-journey[data-motion="on"] .cj__step.is-seen .s5-sheet { animation: cjLift .8s ease-out both calc(var(--i) * .9s + .3s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s5-bubble { animation: cjRise .6s ease-out both calc(var(--i) * .9s + 1.2s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s5-leaf { animation: cjPop .8s ease-out both calc(var(--i) * .9s + 1.8s); }
.care-journey[data-motion="on"] .cj__step.is-seen .s5-ring { animation: cjRing 3s ease-out infinite calc(var(--i) * .9s + 2.2s); }
@keyframes cjPop { from { transform: scale(.4); opacity: 0; } 70% { transform: scale(1.12); opacity: 1; } to { transform: scale(1); opacity: 1; } }
@keyframes cjRise { from { transform: translateY(8px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes cjRing { 0% { transform: scale(.4); opacity: .9; } 100% { transform: scale(2.2); opacity: 0; } }
@keyframes cjWave { from { transform: scaleY(.45); } to { transform: scaleY(1.15); } }
@keyframes cjDraw { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
@keyframes cjNode { from { fill: #EEE4D2; transform: scale(.8); } to { fill: #B69357; transform: scale(1); } }
@keyframes cjArrive { from { transform: translateX(-60px); opacity: 0; } 60% { opacity: 1; } 85% { transform: translateX(3px); } to { transform: none; opacity: 1; } }
@keyframes cjLid { from { transform: rotate(0deg) translateY(0); } to { transform: rotate(-28deg) translateY(-4px); } }
@keyframes cjListen { 0% { transform: rotate(0deg); } 45% { transform: rotate(-6deg); } 100% { transform: rotate(-4deg); } }
@keyframes cjPoint { from { transform: translate(0, 0); } to { transform: translate(-3px, -2px); } }
@keyframes cjLift { from { transform: translateY(6px) rotate(-10deg); opacity: 0; } to { transform: translateY(0) rotate(-10deg); opacity: 1; } }
@keyframes cjTwinkle { 0%, 100% { transform: scale(.6) rotate(0deg); opacity: .4; } 50% { transform: scale(1.1) rotate(45deg); opacity: 1; } }
@keyframes cjGlow { from { opacity: .55; } to { opacity: 1; } }
.s5-sheet { transform-box: view-box; transform-origin: 88px 118px; }
/* payment & confirmation: a disclosure beside the actions (open by default on wide screens via script) */
.cj__pay { grid-column: 1 / -1; border: 1px dashed var(--en-gold-soft); border-radius: 12px; background: #fbf7ee; padding: 0 14px; }
.cj__pay summary { cursor: pointer; list-style: none; min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 10px; font: 600 12px/1.2 Mukta, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--en-maroon); }
.cj__pay summary::-webkit-details-marker { display: none; }
.cj__pay summary .plus { font-size: 18px; letter-spacing: 0; transition: transform .25s; }
.cj__pay[open] summary .plus { transform: rotate(45deg); }
.cj__pay .cj__ladder { padding: 0 0 12px; }
@media (min-width: 700px) {
  .care-journey { padding: 56px 0 60px; }
  .care-journey .wrap { gap: 28px; }
  .cj__head { grid-template-columns: minmax(0, 1fr) auto; align-items: end; max-width: none; }
  .cj__head .eyebrow, .cj__head h2, .cj__head .lead { grid-column: 1; }
  .cj__pause { grid-column: 2; grid-row: 2 / 4; align-self: end; }
  .cj__stage { padding-top: 10px; }
  .cj__thread { display: block; position: absolute; left: 2%; right: 2%; top: 58px; height: 120px; width: 96%; pointer-events: none; }
  .cj__thread-base { stroke: var(--en-gold-soft); stroke-width: 1.4; opacity: .8; }
  .cj__thread-light { stroke: #e3c783; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 9 91; stroke-dashoffset: 100; opacity: 0; filter: drop-shadow(0 0 6px rgba(227, 199, 131, .9)); }
  .care-journey.is-live[data-motion="on"] .cj__thread-light { opacity: 1; animation: cjThread 9s linear infinite; }
  @keyframes cjThread { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
  .cj__steps { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; align-items: start; }
  .cj__steps::before, .cj__steps::after { display: none; }
  .cj__step { grid-template-columns: 1fr; gap: 10px; padding: 10px 12px 14px; align-items: start; background: transparent; border: 0; }
  .cj__art { background: #fff; border: 1px solid var(--en-edge); border-radius: 14px; box-shadow: 0 10px 24px -18px rgba(20, 61, 44, .45); position: relative; z-index: 1; }
  .cj__text h3 { font-size: 18px; }
  .cj__text p { font-size: 13.5px; }
  .cj__step:nth-child(2) { --i: 1; } .cj__step:nth-child(3) { --i: 2; } .cj__step:nth-child(4) { --i: 3; } .cj__step:nth-child(5) { --i: 4; }
  .cj__ladder { grid-template-columns: repeat(5, auto); gap: 8px 16px; }
  .cj__ladder li { font-size: 13px; }
  .cj__cta { grid-template-columns: auto auto; align-items: center; column-gap: 12px; }
  .cj__fee { grid-column: 1 / -1; }
}
@media (min-width: 1100px) { .cj__text h3 { font-size: 19px; } .cj__text p { font-size: 14px; } }
@media (prefers-reduced-motion: reduce) { .care-journey * { animation: none !important; } .cj__thread-light { opacity: 0 !important; } .cj__steps::after { display: none; } .s2-ring { opacity: 0; } }
@media (max-width: 699px) { .cj__meta { display: none; } .cj__step { padding: 10px 12px 10px 10px; } .cj__text p { font-size: 15px; } }

/* consultation section reminder */
.video-reminder { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; counter-reset: vr; }
.video-reminder li { display: inline-flex; align-items: center; counter-increment: vr; }
.video-reminder li a { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px 0 8px; border-radius: 999px; border: 1px solid var(--en-edge); background: #fff; color: var(--en-green); font: 600 13px/1 Mukta, sans-serif; text-decoration: none; }
.video-reminder li a::before { content: counter(vr); width: 18px; height: 18px; border-radius: 50%; background: var(--en-green); color: var(--en-ivory); font-size: 10px; line-height: 18px; text-align: center; }
.video-reminder-note { margin: 0 0 12px; font-size: 14px; line-height: 1.5; color: #e6e7d9; }

/* Nidaan invitation: small, non-modal, above the sticky CTA */
.nidaan-invite { position: fixed; z-index: 60; top: auto; left: 12px; right: 12px; bottom: calc(var(--bc-dock-h, 0px) + 12px + env(safe-area-inset-bottom)); height: auto; max-height: calc(100vh - 24px); overflow: visible; box-sizing: border-box; margin: 0; padding: 12px 14px 12px 12px; border: 1px solid var(--en-gold-soft); border-radius: 14px; background: #fffdf7; color: var(--en-ink); box-shadow: 0 16px 40px -18px rgba(20, 61, 44, .55), 0 2px 8px rgba(20, 61, 44, .08); display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 10px 12px; align-items: center; width: auto; max-width: none; font-family: Mukta, sans-serif; }
.nidaan-invite:not([open]) { display: none; }
.nidaan-invite.is-in { animation: inviteIn .42s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes inviteIn { from { transform: translateY(14px); opacity: 0; } to { transform: none; opacity: 1; } }
.nidaan-invite__flame { width: 44px; height: 44px; border-radius: 12px; background: var(--en-green); display: grid; place-items: center; }
.nidaan-invite__flame svg { width: 26px; height: 30px; display: block; overflow: visible; }
.nidaan-invite__flame path { transform-box: fill-box; transform-origin: 50% 100%; }
.nidaan-invite.is-in .nidaan-invite__flame .f1 { animation: inviteFlame 2.4s ease-in-out infinite alternate; }
.nidaan-invite.is-in .nidaan-invite__flame .f2 { animation: inviteFlame 1.9s ease-in-out -.6s infinite alternate; }
@keyframes inviteFlame { from { transform: scale(.94, .9) skewX(-2deg); } to { transform: scale(1.04, 1.08) skewX(2deg); } }
.nidaan-invite__text { display: grid; gap: 2px; min-width: 0; }
.nidaan-invite__k { margin: 0; font: 600 11px/1.2 Mukta, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--en-maroon); }
.nidaan-invite__t { margin: 0; font: 500 17px/1.25 Cormorant, Georgia, serif; color: var(--en-green); }
.nidaan-invite__s { margin: 0; font-size: 12px; line-height: 1.35; color: var(--en-muted); }
.nidaan-invite__go { grid-column: 2; justify-self: start; min-height: 40px; padding: 0 14px; border-radius: 999px; border: 0; background: var(--en-green); color: var(--en-ivory); font: 600 14px/1 Mukta, sans-serif; cursor: pointer; }
.nidaan-invite__x { grid-column: 3; grid-row: 1; align-self: start; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--en-edge); background: #fff; color: var(--en-maroon); font-size: 18px; line-height: 1; cursor: pointer; }
.nidaan-invite__x:focus-visible, .nidaan-invite__go:focus-visible { outline: 3px solid var(--en-gold); outline-offset: 2px; }
@media (min-width: 700px) { .nidaan-invite { left: auto; right: 24px; bottom: calc(var(--bc-dock-h, 0px) + 24px); width: 360px; } }
@media (prefers-reduced-motion: reduce) { .nidaan-invite.is-in { animation: inviteFade .3s ease-out both; } .nidaan-invite .f1, .nidaan-invite .f2 { animation: none !important; } }
@keyframes inviteFade { from { opacity: 0; } to { opacity: 1; } }

/* Ayurvedic lens in the summary + review line */
.nidaan-lens { border: 1px solid var(--en-gold-soft); border-radius: 10px; background: #fff8ea; padding: 12px 14px; display: grid; gap: 6px; }
.nidaan-lens[hidden] { display: none; }
.nidaan-lens__k { margin: 0; font: 600 11px/1.2 Mukta, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--en-maroon); }
.nidaan-lens__body { display: grid; gap: 8px; }
.nidaan-lens__body p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--en-ink); }
.nidaan-lens__body .intro { color: var(--en-muted); }
.nidaan-lens__body .normal { padding: 8px 10px; background: #fff; border-left: 3px solid var(--en-green); border-radius: 0 6px 6px 0; color: var(--en-green); }
.nidaan-lens__body .next { font-weight: 500; }
.bc-reviewed { display: block; margin: 10px 0 0; font: 600 11px/1.3 Mukta, sans-serif; letter-spacing: .06em; color: var(--en-muted); }
.bc-reviewed::before { content: "✓ "; color: var(--en-green); }
.urja-live__foot .bc-reviewed { margin-top: 6px; }
/* archive photo: show the whole photograph */
.distance-archive img { aspect-ratio: auto; height: auto; object-fit: contain; }

/* ===================== Phase 7 — wide-screen density + language switch ===================== */
/* 1. The page is laid out for a 1160px wrap; above 1500px the margins grew and everything looked small. */
@media (min-width: 1500px) {
  .wrap, .concern-grid { width: min(calc(100% - 96px), 1340px); }
  .concern-grid { gap: 20px; }
  .hero-portrait img { height: 610px; }
  .distance-art { max-width: 520px; }
  .cj__steps { gap: 18px; }
  .cj__text h3 { font-size: 20px; }
  .cj__text p { font-size: 15px; }
}
@media (min-width: 1900px) {
  .wrap, .concern-grid { width: min(calc(100% - 160px), 1440px); }
  .hero-portrait img { height: 650px; }
  .distance-art { max-width: 560px; }
}

/* 2. Distance: the 1996 photograph becomes a proper second visual beside the actions; the globe column keeps
      caption, pause control and action in normal flow (no overlaps). */
.distance-art { aspect-ratio: auto; display: grid; justify-items: center; }
.distance-art::before { inset: auto; top: 11%; left: 11%; width: 78%; aspect-ratio: 1; }
.distance-art svg { aspect-ratio: 1; width: 100%; height: auto; }
.distance-art figcaption.bc-globe-cap { position: static; width: 100%; margin-top: -4%; }
.distance-art .motion-control { position: absolute; top: 0; right: 0; bottom: auto; left: auto; transform: none; min-height: 36px; padding: 4px 10px; border-radius: 999px; border: 1px solid #c6ab6855; background: #0c261c88; }
.distance-art .bc-globe-action { position: static; transform: none; margin: 12px 0 0; }
@media (min-width: 900px) {
  .distance-layout { grid-template-columns: minmax(250px, .9fr) minmax(200px, 270px) minmax(380px, 1.2fr); grid-template-areas: "copy copy globe" "actions archive globe"; column-gap: 40px; row-gap: 20px; align-items: start; }
  .distance-copy { grid-area: copy; }
  .distance-layout > .distance-actions { grid-area: actions; max-width: none; align-self: start; }
  .distance-archive { grid-area: archive; width: 100%; max-width: 300px; margin: 0; justify-self: start; align-self: start; }
  .distance-archive figcaption { font-size: 12px; }
  .distance-art { grid-area: globe; justify-self: end; align-self: center; width: 100%; max-width: 480px; margin: 0; }
  .distance-art svg { max-width: none; }
}
@media (min-width: 1500px) { .distance-layout { grid-template-columns: minmax(280px, 1fr) minmax(230px, 300px) minmax(420px, 1.15fr); column-gap: 56px; } .distance-art { max-width: 540px; } }

/* 3. Composer: the heading column was top-aligned against a tall form; centre it and give the lead more presence. */
@media (min-width: 900px) {
  .message-layout { align-items: center; }
  .message-heading > p:not(.eyebrow) { font-size: 18px; line-height: 1.55; max-width: 36ch; }
}

/* 4. Story: the archive portrait of Dr. Sharma was 150px wide on a 1160px wrap. */
@media (min-width: 1100px) {
  .doctor-mini { gap: 26px; padding: 26px 0 22px; }
  .doctor-mini .doctor-archive { flex-basis: 210px; }
  .doctor-mini strong { font-size: 22px; }
  .doctor-mini span { font-size: 14px; }
  .doctor-mini .archive-date { font-size: 14px; }
}

/* 5. Care journey: actions grouped together instead of pushed to opposite edges. */
@media (min-width: 900px) {
  .cj__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
  .cj__fee { flex-basis: 100%; max-width: 70ch; }
}

/* 6. Language switch: a visible control in the header, and a floating copy while the header is auto-hidden. */
.bc-s01-header .bc-language-switch { gap: 2px; padding: 3px; border: 1px solid #d3c5ae; border-radius: 999px; background: #fbf7ee; }
.bc-s01-header .bc-language-switch::before { content: "अ"; display: inline-grid; place-items: center; width: 26px; height: 26px; margin: 0 2px 0 4px; border-radius: 50%; background: var(--bc-green, #143d2c); color: #f6f0e4; font: 700 14px/1 Mukta, sans-serif; }
.bc-s01-header .bc-language-switch a { min-height: 36px; padding: 2px 12px; border-radius: 999px; font-weight: 600; }
.bc-s01-header .bc-language-switch a[aria-current="page"] { background: var(--bc-green, #143d2c); color: #f6f0e4; }
.bc-lang-float { position: fixed; top: 10px; right: 14px; z-index: 60; display: flex; align-items: center; gap: 2px; padding: 3px; border-radius: 999px; background: #fbf7eeee; border: 1px solid #d3c5ae; box-shadow: 0 8px 24px -12px rgba(12, 43, 32, .5); backdrop-filter: blur(6px); opacity: 0; transform: translateY(-8px); pointer-events: none; transition: opacity .25s ease, transform .25s ease; }
.bc-lang-float.is-on { opacity: 1; transform: none; pointer-events: auto; }
.bc-lang-float::before { content: "अ"; display: inline-grid; place-items: center; width: 24px; height: 24px; margin: 0 2px 0 3px; border-radius: 50%; background: var(--bc-green, #143d2c); color: #f6f0e4; font: 700 13px/1 Mukta, sans-serif; }
.bc-lang-float a { min-height: 34px; padding: 2px 11px; border-radius: 999px; font-weight: 600; font-size: 14px; color: var(--bc-green, #143d2c); }
.bc-lang-float a[aria-current="page"] { background: var(--bc-green, #143d2c); color: #f6f0e4; }
@media (max-width: 699px) { .bc-lang-float { top: 8px; right: 8px; } .bc-lang-float a { padding: 2px 9px; font-size: 13px; } }
@media (prefers-reduced-motion: reduce) { .bc-lang-float { transition: none; } }
