/* Devanagari pages: Noto fonts shape conjuncts and reph (र्) reliably */
.lang-mr,.lang-hi{--head:"Noto Serif Devanagari","Martel",serif;--body:"Noto Sans Devanagari","Mukta",system-ui,sans-serif}
.lang-mr h1,.lang-hi h1,.lang-mr h2,.lang-hi h2,.lang-mr h3,.lang-hi h3{line-height:1.4;letter-spacing:0}
.hero h1{letter-spacing:0}

/* hero layout with anatomy */
@media (min-width:961px){.hero-in{grid-template-columns:1.05fr 1fr}}
.hero-vis{padding:18px 14px 14px}
.anat-wrap{position:relative;width:100%;max-width:540px;margin:0 auto;aspect-ratio:640/800}
.anatomy{width:100%;height:100%;display:block;overflow:visible}
.anatomy .skin{fill:rgba(234,243,236,.06)}
.anatomy .skin-line{fill:none;stroke:rgba(200,230,212,.6);stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s ease}
.aligned .anatomy .skin-line{stroke-dashoffset:0}
.an-skel{opacity:0;transition:opacity .9s .5s}
.aligned .an-skel{opacity:1}
.bone-f{fill:rgba(234,243,236,.14);stroke:rgba(234,243,236,.42);stroke-width:1.2}
.bone-sac{fill:rgba(234,243,236,.35)}
.rib{fill:none;stroke:rgba(234,243,236,.3);stroke-width:2.6;stroke-linecap:round}
.lb{stroke:rgba(234,243,236,.4);stroke-linecap:round}
.lb-f{fill:rgba(234,243,236,.48)}
.men{fill:#E3A21A}
.vt .vb{fill:#4E6B5D;transition:fill .5s calc(.7s + var(--i)*45ms)}
.vt .tp{fill:#3F5A4E;transition:fill .5s calc(.7s + var(--i)*45ms)}
.vt .sp{fill:#3F5A4E;transition:fill .5s calc(.7s + var(--i)*45ms)}
.aligned .vt .vb{fill:#EAF3EC}
.aligned .vt .tp{fill:#BFD8C8}
.aligned .vt .sp{fill:#A6C8B4}
.disc{fill:#E3A21A;opacity:.9}
.disc-hot{fill:#FF6B4A;animation:kp-disc 2.4s ease-in-out infinite}
@keyframes kp-disc{50%{fill:#FFB199}}
.nv{fill:none;stroke:#E3A21A;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s ease 1.4s}
.aligned .nv{stroke-dashoffset:0}
.nv-faint{stroke:rgba(227,162,26,.22);stroke-dasharray:none;stroke-dashoffset:0}
.nv-br{stroke-width:1.6}
.nv-pulse{fill:none;stroke:#FFE6A8;stroke-width:4.5;stroke-linecap:round;stroke-dasharray:10 90;stroke-dashoffset:100;opacity:0;filter:drop-shadow(0 0 4px #E3A21A);animation:kp-nv 2.2s linear 3s infinite}
@keyframes kp-nv{0%{stroke-dashoffset:100;opacity:1}100%{stroke-dashoffset:0;opacity:1}}
.scanband{animation:kp-scan 6.5s linear 2.2s infinite}
@keyframes kp-scan{from{transform:translateY(0)}to{transform:translateY(900px)}}
.hs{opacity:0;transition:opacity .4s 2s}
.aligned .hs{opacity:1}
.hs-c{fill:#FF6B4A}
.hs-r{fill:none;stroke:#FF6B4A;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:kp-rip 2.4s ease-out var(--d) infinite}
.hs-r2{animation-delay:calc(var(--d) + 1.2s)}
@keyframes kp-rip{from{transform:scale(1);opacity:.9}to{transform:scale(4);opacity:0}}
.lead{fill:none;stroke:rgba(227,162,26,.55);stroke-width:1.2;stroke-dasharray:3 3;opacity:0;transition:opacity .5s 2s}
.lead-dot{fill:#E3A21A;opacity:0;transition:opacity .5s 2s}
.aligned .lead,.aligned .lead-dot{opacity:1}
.lead-ins{stroke:rgba(255,255,255,.4)}
.ins{transform-box:fill-box;transform-origin:center;opacity:0;transform:scale(.7);transition:opacity .6s 2.1s,transform .7s cubic-bezier(.2,.9,.3,1.2) 2.1s}
.aligned .ins{opacity:1;transform:none}
.ins-bg{fill:#0A2F22}
.ins-ring{fill:none;stroke:#E3A21A;stroke-width:2.5}
.i-vb{fill:#EAF3EC}
.i-pe{fill:#BFD8C8}
.i-lab{fill:#0E3B2C;font:700 14px "Mukta",system-ui,sans-serif}
.i-disc{fill:#E3A21A}
.i-bulge{fill:#FF6B4A;transform-box:fill-box;transform-origin:left center;animation:kp-bulge 2.4s ease-in-out infinite}
@keyframes kp-bulge{50%{transform:scaleX(1.5)}}
.i-nerve{fill:none;stroke:#E3A21A;stroke-width:4;stroke-linecap:round}
.i-root{fill:none;stroke:#FF9F6A;stroke-width:3;stroke-linecap:round;animation:kp-root 2.4s ease-in-out infinite}
@keyframes kp-root{50%{stroke:#FF6B4A;stroke-width:4.5}}
.i-bone{fill:#EAF3EC}
.i-cart{fill:none;stroke:#9FD8F0;stroke-width:4;stroke-linecap:round}
.i-men{fill:#E3A21A;animation:kp-men 2.4s ease-in-out infinite}
@keyframes kp-men{50%{fill:#FFC94D}}
.i-femur{animation:kp-load 2.4s ease-in-out infinite}
@keyframes kp-load{50%{transform:translateY(5px)}}
.anat-wrap .hot{position:absolute;right:auto;transform:translate(-100%,-50%);flex-direction:row}
.anat-wrap .hot::before{display:none}
.anat-wrap .hot-c{transform:translate(-50%,-50%)}
.anat-wrap .hot span{font-size:clamp(10px,1.05vw,13.5px);padding:3px 11px}
.anat-wrap .hot-c span{background:var(--gold);color:var(--g900)}
@media (max-width:760px){.anat-wrap .hot span{font-size:10.5px;padding:2px 7px}.hero-vis{padding:12px 6px}}

/* doctor video Instagram link */
.vcard figcaption .ig-link{display:inline-flex;align-items:center;gap:6px;margin-top:4px;color:var(--gold);font-weight:700;text-decoration:none}
.vcard figcaption .ig-link:hover{text-decoration:underline}

/* conditions: knee group full width */
.cgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
.cgroup-knee{grid-column:1/-1}
.cgroup-knee ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.cgroup-knee li .crow{border-bottom:1px solid var(--line)}
.cgroup-arthritis{background:var(--gold-50);border-color:#F2D791}
.mega{grid-template-columns:repeat(4,minmax(170px,1fr));max-width:980px}
@media (max-width:960px){.cgroup-knee ul{grid-template-columns:1fr}.cgrid{grid-template-columns:1fr}}

/* in-person card: full hospital photo */
.modes-grid{grid-template-columns:1fr 1fr}
.mode-main{grid-column:1/-1;grid-row:auto;grid-template-columns:1.25fr 1fr;align-items:center}
.mode-main img{height:auto;min-height:0;aspect-ratio:1400/999;object-fit:contain;background:#DCE7F2}
@media (max-width:760px){.modes-grid{grid-template-columns:1fr}.mode-main{grid-template-columns:1fr}.mode-main img{aspect-ratio:1400/999}}

/* session player */
.flow-sub{color:#BFD8C8;margin:-8px 0 0}
.player{margin-top:20px}
.pl-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;position:relative}
.pl-tabs li{flex:1 0 140px;display:flex}
.pl-tab{position:relative;width:100%;display:flex;gap:10px;align-items:flex-start;text-align:left;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#DCEBE1;border-radius:12px;padding:10px 12px 14px;cursor:pointer;font:inherit;overflow:hidden;transition:background .2s}
.pl-tab:hover{background:rgba(255,255,255,.12)}
.pl-tab.on{background:#fff;color:var(--g900);border-color:#fff}
.pl-n{font-family:var(--head);font-weight:800;color:var(--gold);font-size:1.15rem;line-height:1.1}
.pl-tab.on .pl-n{color:var(--gold-d)}
.pl-tt{min-width:0}
.pl-tt b{display:block;font-size:.92rem;line-height:1.3}
.pl-tt small{display:block;font-size:.78rem;opacity:.85;line-height:1.3;margin-top:2px}
.pl-fill{position:absolute;left:0;bottom:0;height:4px;width:0;background:var(--gold)}
.pl-tab.done .pl-fill{width:100%;opacity:.55}
.pl-tab.on .pl-fill{animation:kp-fill 10s linear forwards}
@keyframes kp-fill{to{width:100%}}
.pl-main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;margin-top:16px;align-items:stretch}
.pl-stage{border-radius:16px;overflow:hidden;background:#F2F7F3;aspect-ratio:16/9;max-width:100%}
.pl-scene{margin:0;width:100%;height:100%}
.pl-scene svg{width:100%;height:100%;display:block}
.pl-info{display:flex;flex-direction:column;gap:6px;min-width:0}
.pl-k{color:var(--gold);font-weight:600;font-size:.9rem;margin:0}
.pl-step h4{font-family:var(--head);color:#fff;font-size:1.55rem;line-height:1.3;margin:2px 0 8px}
.pl-dur{display:inline-flex;gap:6px;align-items:center;background:rgba(227,162,26,.16);color:var(--gold);border-radius:999px;padding:4px 12px;font-weight:600;font-size:.92rem;margin:0 0 14px}
.pl-caps{display:grid;gap:10px}
.pl-caps li{opacity:.45;padding-left:14px;border-left:3px solid rgba(255,255,255,.18);color:#E4EFE8;line-height:1.45}
.pl-step:not([hidden]) .pl-caps li{animation:kp-cap 3.33s linear var(--d) both}
@keyframes kp-cap{0%{opacity:.45;border-color:rgba(255,255,255,.18)}6%,94%{opacity:1;border-color:#E3A21A}100%{opacity:.75;border-color:rgba(255,255,255,.18)}}
.pl-ctrl{margin-top:auto;padding-top:14px;display:flex;gap:10px}
.pl-btn{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer}
.pl-btn:hover{background:rgba(255,255,255,.1)}
.pl-pp{background:var(--gold);border-color:var(--gold);color:var(--g900)}
.pl-pp:hover{background:#F0B230}
.ic-prev{transform:rotate(90deg)}
.ic-next{transform:rotate(-90deg)}
.pl-pp span{display:block;width:12px;height:14px;border-left:4px solid currentColor;border-right:4px solid currentColor}
.player.paused .pl-pp span{width:0;height:0;border-right:0;border-left:13px solid currentColor;border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:4px}
.player.paused *{animation-play-state:paused!important}
.flow-total{display:flex;gap:10px;align-items:center;background:var(--gold);color:var(--g900);font-weight:700;border-radius:12px;padding:12px 16px;margin:22px 0 0}
.flow-total .ic{flex:none}
@media (max-width:860px){.pl-main{grid-template-columns:1fr;gap:16px}.pl-ctrl{margin-top:4px}}

/* scene animations (each step runs 10 s) */
.sc *{transform-box:fill-box}
.a-sheen{transform-origin:left center;animation:kp-grow 5s ease-out .5s both}
@keyframes kp-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.a-shine{opacity:0;animation:kp-shine 2.5s linear 5s 2}
@keyframes kp-shine{0%{opacity:0;transform:translateX(0)}10%{opacity:.75}100%{opacity:0;transform:translateX(370px)}}
.a-kindi{transform-origin:20% 80%;animation:kp-tilt 10s ease-in-out both}
@keyframes kp-tilt{0%{transform:rotate(0)}10%,40%{transform:rotate(18deg)}50%,100%{transform:rotate(0)}}
.a-drop{opacity:0;animation:kp-drop 1.2s ease-in calc(.8s + var(--d)) 3}
@keyframes kp-drop{0%{transform:translateY(0);opacity:0}10%{opacity:1}90%{transform:translateY(72px);opacity:1}100%{transform:translateY(76px);opacity:0}}
.a-hands{transform-box:view-box;animation:kp-massage 2.4s ease-in-out 1.6s infinite alternate}
@keyframes kp-massage{from{transform:translateX(0)}to{transform:translateX(180px)}}
.a-spark{opacity:0;transform-origin:center;animation:kp-twinkle 1.6s ease-in-out var(--d) 2}
@keyframes kp-twinkle{50%{opacity:1;transform:scale(1.3) rotate(20deg)}}
.a-warm{opacity:0;animation:kp-warm 10s linear forwards}
@keyframes kp-warm{to{opacity:.34}}
.a-steam{opacity:0;transform-origin:center;animation:kp-steam 2s ease-out calc(.4s + var(--d)) infinite}
@keyframes kp-steam{0%{transform:translate(0,0) scale(.4);opacity:0}20%{opacity:.9}60%{transform:translate(16px,30px) scale(1.4);opacity:.65}100%{transform:translate(46px,-26px) scale(2.4);opacity:0}}
.a-sweat{opacity:0;animation:kp-sweat 2s ease-in var(--d) forwards}
@keyframes kp-sweat{0%{opacity:0;transform:translateY(-4px)}40%{opacity:1}100%{opacity:1;transform:translateY(6px)}}
.a-flame{transform-origin:center bottom;animation:kp-flick .45s ease-in-out infinite alternate}
@keyframes kp-flick{to{transform:translateY(-2px) scaleY(1.15);opacity:.75}}
.a-potli{transform-box:view-box;animation:kp-potli 10s ease-in-out both}
@keyframes kp-potli{0%{transform:translate(96px,252px)}12%{transform:translate(96px,200px)}22%{transform:translate(230px,184px)}27%{transform:translate(238px,193px)}32%{transform:translate(264px,184px)}37%{transform:translate(274px,193px)}42%{transform:translate(302px,184px)}47%{transform:translate(312px,193px)}52%{transform:translate(340px,184px)}57%{transform:translate(352px,193px)}64%{transform:translate(302px,184px)}70%{transform:translate(264px,193px)}80%{transform:translate(230px,184px)}90%{transform:translate(96px,200px)}100%{transform:translate(96px,252px)}}
.a-heat{opacity:0;animation:kp-heat 2s ease-out var(--d) 2}
@keyframes kp-heat{30%{opacity:.9}100%{opacity:0;transform:translateY(-14px)}}
.a-leaf{opacity:0;transform-origin:center;animation:kp-leaf 3s ease-out var(--d) infinite}
@keyframes kp-leaf{20%{opacity:1}100%{opacity:0;transform:translate(10px,-50px) rotate(40deg)}}
.a-level{transform-origin:center bottom;animation:kp-drain 6s ease-in 1s both}
.sc-niruha .a-level{animation-delay:3.2s;animation-duration:4.8s}
@keyframes kp-drain{to{transform:scaleY(.12)}}
.a-tube{stroke-dasharray:6 6;animation:kp-flow .6s linear infinite,kp-tube 10s linear both}
.sc-niruha .a-tube{animation:kp-flow .6s linear infinite,kp-tube2 10s linear both}
@keyframes kp-flow{to{stroke-dashoffset:-12}}
@keyframes kp-tube{0%,9%{opacity:.25}10%,70%{opacity:1}72%,100%{opacity:.25}}
@keyframes kp-tube2{0%,31%{opacity:.25}32%,80%{opacity:1}82%,100%{opacity:.25}}
.a-clock,.a-timer{opacity:0;transform-origin:center;animation:kp-in 10s linear both}
@keyframes kp-in{0%,72%{opacity:0;transform:scale(.6)}78%,100%{opacity:1;transform:none}}
.a-hand{transform-box:view-box;transform-origin:150px 150px;animation:kp-spin 2s linear 7.6s infinite}
@keyframes kp-spin{to{transform:rotate(360deg)}}
.a-ing{opacity:0;animation:kp-ing 1s ease-in calc(.2s + var(--d)) both}
@keyframes kp-ing{0%{opacity:0;transform:translateY(-10px)}30%{opacity:1}100%{opacity:0;transform:translateY(56px)}}
.a-mixfill{animation:kp-mix 3s linear both}
@keyframes kp-mix{from{fill:#E7D7B0}to{fill:#7A4A1F}}
.a-spoon{transform-box:view-box;transform-origin:289px 120px;animation:kp-stir 1s ease-in-out .5s 3 alternate}
@keyframes kp-stir{from{transform:rotate(-15deg)}to{transform:rotate(15deg)}}
.a-paste{transform-origin:left center;transform:scaleX(0);animation:kp-spread 1.1s ease-out var(--d) forwards,kp-dry 3s linear 6s forwards}
@keyframes kp-spread{to{transform:scaleX(1)}}
@keyframes kp-dry{to{fill:#9DB86A}}
.a-spatula{transform-box:view-box;animation:kp-spat 10s ease-in-out both}
@keyframes kp-spat{0%{transform:translate(120px,150px)}8%{transform:translate(120px,140px)}12%{transform:translate(302px,198px)}22%{transform:translate(334px,198px)}23%{transform:translate(332px,198px)}33%{transform:translate(364px,198px)}34%{transform:translate(362px,198px)}44%{transform:translate(394px,198px)}55%{transform:translate(250px,140px)}62%,100%{transform:translate(120px,150px)}}
.a-pot{transform-box:view-box;transform-origin:154px 60px;animation:kp-swing 3.3s ease-in-out infinite alternate}
@keyframes kp-swing{from{transform:rotate(-6deg)}to{transform:rotate(6deg)}}
.a-stream{stroke-dasharray:6 5;animation:kp-flow .5s linear infinite}
.a-ripple{transform-origin:center;animation:kp-rip2 2.4s ease-out var(--d) infinite}
@keyframes kp-rip2{from{transform:scale(1);opacity:.9}to{transform:scale(3.4);opacity:0}}
.a-flowhead{stroke-dasharray:4 6;animation:kp-flow .8s linear infinite}
.a-bowl{transform-origin:center;animation:kp-bowl 10s linear both}
@keyframes kp-bowl{from{transform:scaleX(.3)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.a-paste{transform:none}.ins{opacity:1;transform:none}.an-skel,.hs,.lead,.lead-dot{opacity:1}.anatomy .skin-line,.nv{stroke-dashoffset:0}}

/* ---------- Language switch: always visible inside the sticky header ---------- */
html{scroll-padding-top:136px}
.site-head .utility{position:relative;z-index:1}
.lang-mini{display:none}
.c-side{top:140px}
@media (max-width:760px){
  html{scroll-padding-top:120px}
  .site-head .utility{display:none}
  .lang-mini{display:inline-flex;margin:0 0 0 auto;background:var(--g100);padding:3px;border-radius:999px;flex:none}
  .lang-mini a{color:var(--g900);padding:5px 10px;font-size:.8rem;line-height:1.2;white-space:nowrap}
  .lang-mini a[aria-current]{background:var(--g900);color:#fff}
  .head-in .burger{margin-left:8px}
  .brand b{font-size:1.15rem}
}
@media (max-width:359px){.brand span{display:none}}

/* ---------- Cross-browser consistency (Safari/iOS, Chrome/Android, Edge/Windows, Firefox) ---------- */
html{-webkit-tap-highlight-color:transparent;-moz-text-size-adjust:100%;text-size-adjust:100%}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
@supports (overflow-x:clip){body{overflow-x:clip}}
img{height:auto}
.site-head{-webkit-backdrop-filter:saturate(1.4) blur(8px)}
.modal-back{-webkit-backdrop-filter:blur(3px)}
.wrap{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}
@media (max-width:760px){.wrap{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}}
.wa-float{right:calc(22px + env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom))}
button,input,select,textarea{font-family:inherit;color:inherit}
button{-webkit-appearance:none;appearance:none}
.fld input:not([type=checkbox]):not([type=radio]),.fld select,.fld textarea{-webkit-appearance:none;appearance:none;border-radius:var(--r-sm);font-size:16px;line-height:1.35}
.fld select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%231F6B4F' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:40px}
.fld input[type=date]{display:block;min-height:46px;text-align:left}
.fld input[type=date]::-webkit-date-and-time-value{text-align:left}
.fld input[type=date]::-webkit-calendar-picker-indicator{opacity:.6}
.fld input[type=date]:invalid,.fld input[type=date]:not(:valid){color:var(--ink)}
.consent input{-webkit-appearance:auto;appearance:auto}
summary{display:flex}
summary::marker{content:""}
video{background:#0b2a20}
