/* Direction A v2: Editorial, premium. Airy split hero, timeline pathway, accordions, orange as shape. */
:root{--orange:#F47920;--lorange:#F79B5C;--cta:#C2570C;--teal:#27666A;--lteal:#71BFBE;--ink:#22383A;--soft:#FAFBFB;--tint:#EAF4F4;--line:#E7EEEE;--muted:#4F6163}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Poppins,system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased}
:lang(ml){font-family:"Noto Sans Malayalam",Poppins,sans-serif;line-height:1.9}
.wrap{max-width:1200px;margin:auto;padding:0 24px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
a{color:var(--teal)}
img{max-width:100%;display:block}
header.site{background:rgba(255,255,255,.94);backdrop-filter:blur(8px);position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:24px;min-height:76px}
.logo img{height:40px;width:auto}
nav.primary{display:none;gap:24px;margin-left:auto;font-size:14.5px;font-weight:500}
nav.primary a{color:var(--ink);text-decoration:none;white-space:nowrap}
.actions{display:flex;gap:12px;align-items:center;margin-left:auto}
.call{display:none;font-size:14px;color:var(--ink);text-decoration:none;font-weight:500;white-space:nowrap}
.sw{font-size:14px;font-weight:600;color:var(--teal);text-decoration:none;border:1.5px solid var(--teal);border-radius:999px;padding:4px 14px;white-space:nowrap}
.btn{display:inline-block;background:var(--cta);color:#fff;text-decoration:none;font-weight:600;padding:15px 30px;border-radius:999px;font-size:16px;transition:transform .2s;box-shadow:0 8px 20px -8px rgba(194,87,12,.6)}
.btn:hover{transform:translateY(-2px)}
.btn.sm{padding:9px 18px;font-size:14px;display:none;box-shadow:none;white-space:nowrap}
@media(min-width:960px){nav.primary{display:flex}.btn.sm{display:inline-block}.actions{margin-left:0}}
@media(min-width:1240px){.call{display:block}}
.hero{padding:48px 0 24px;overflow:hidden}
.hero-in{display:grid;gap:36px;align-items:center;position:relative}
@media(min-width:960px){.hero{padding:88px 0 40px}.hero-in{grid-template-columns:1.05fr .95fr;gap:72px}}
.hero h1{font-size:clamp(32px,5.4vw,58px);line-height:1.08;font-weight:700;margin:6px 0 24px;letter-spacing:-.02em}
:lang(ml) .hero h1{line-height:1.4;font-size:clamp(26px,4.2vw,42px)}
.hero h1::before{content:"";display:block;width:64px;height:6px;background:var(--orange);border-radius:3px;margin-bottom:26px}
.hero .copy>p{font-size:19px;color:#35494b;max-width:34em}
.hero .copy>p:first-child em{font-size:13.5px;color:var(--muted)}
.hero .copy p:has(.btn){margin-top:32px}
.shot{margin:0;position:relative;padding:0 0 24px 24px}
.shot img{width:100%;aspect-ratio:4/3.4;object-fit:cover;border-radius:28px 28px 120px 28px;box-shadow:0 30px 60px -30px rgba(34,56,58,.45);position:relative;z-index:1}
.ring{position:absolute;left:0;bottom:0;width:150px;height:150px;border-radius:50%;border:16px solid var(--lorange);opacity:.55}
.badge{position:absolute;right:-6px;top:-28px;width:112px;height:112px;border-radius:50%;background:#fff;box-shadow:0 14px 34px -12px rgba(34,56,58,.4);z-index:2;display:none;overflow:hidden}
.badge img{width:100%;height:100%;object-fit:cover}
@media(min-width:960px){.badge{display:block}}
.stats{list-style:none;margin:56px 0 0;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
@media(min-width:760px){.stats{grid-template-columns:repeat(4,1fr)}}
.stats li{display:flex;flex-direction:column;gap:2px}
.stats strong{font-size:clamp(26px,3.4vw,38px);line-height:1.1;color:var(--teal);font-weight:700}
.stats span{font-size:14px;color:var(--muted);line-height:1.5}
.foot small{display:block;margin-top:14px}
small{font-size:13px;color:var(--muted)}
.a-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;padding-top:56px;padding-bottom:120px}
@media(min-width:960px){.a-grid{grid-template-columns:220px minmax(0,740px);gap:80px;justify-content:center}}
.toc{display:none}
@media(min-width:960px){.toc{display:block;position:sticky;top:104px;align-self:start;font-size:13.5px}
.toc ol{margin:0;padding:0;list-style:none;border-left:3px solid var(--orange)}
.toc li{padding:7px 0 7px 16px;color:var(--muted)}}
article section{padding:72px 0 0}
article section:first-child{padding-top:0}
article h2{font-size:clamp(25px,3.4vw,34px);font-weight:600;line-height:1.22;margin:0 0 .7em;letter-spacing:-.01em}
:lang(ml) article h2{line-height:1.5}
article h2::before{content:"";display:block;width:12px;height:12px;border-radius:50%;background:var(--orange);margin-bottom:18px}
article h3{font-size:19px;font-weight:600;margin-top:2em}
article p,article li{max-width:40em}
ul,ol{padding-left:1.3em}li{margin:.4em 0}li::marker{color:var(--orange)}
ul.cards{list-style:none;padding:0;display:grid;gap:16px;margin:28px 0}
@media(min-width:620px){ul.cards{grid-template-columns:repeat(2,1fr)}}
ul.cards li{margin:0;max-width:none;display:flex;gap:16px;align-items:center;background:var(--soft);border:1px solid var(--line);border-radius:20px;padding:14px 18px 14px 14px;transition:transform .2s,box-shadow .2s}
ul.cards li:hover{transform:translateY(-3px);box-shadow:0 16px 30px -20px rgba(34,56,58,.5)}
ul.cards .ic{width:76px;height:76px;flex:none;border-radius:16px;object-fit:cover;background:var(--tint)}
ul.cards div{font-size:15px;line-height:1.5}
:lang(ml) ul.cards div{line-height:1.7}
ol.path{list-style:none;padding:0;margin:32px 0;counter-reset:s;position:relative}
ol.path::before{content:"";position:absolute;left:35px;top:20px;bottom:20px;width:3px;background:linear-gradient(var(--orange),var(--lteal));border-radius:2px}
ol.path li{counter-increment:s;margin:0 0 26px;max-width:none;display:grid;grid-template-columns:72px 1fr;gap:20px;align-items:center;position:relative}
ol.path .st{width:72px;height:72px;border-radius:50%;object-fit:cover;background:#fff;border:3px solid #fff;box-shadow:0 0 0 3px var(--orange);position:relative;z-index:1}
ol.path li::after{content:counter(s);position:absolute;left:-6px;top:-6px;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-size:12px;font-weight:600;display:grid;place-items:center;z-index:2}
ol.path div{font-size:16px;line-height:1.6}
section.faq details{border-bottom:1px solid var(--line);margin:0;max-width:none}
section.faq summary{cursor:pointer;list-style:none;padding:22px 44px 22px 0;font-weight:600;position:relative;line-height:1.5}
section.faq summary::-webkit-details-marker{display:none}
section.faq summary::after{content:"+";position:absolute;right:6px;top:18px;font-size:26px;color:var(--cta);font-weight:400;transition:transform .2s}
section.faq details[open] summary::after{transform:rotate(45deg)}
section.faq summary:focus-visible{outline:3px solid var(--lteal);outline-offset:2px}
section.faq details p{margin:0 0 22px;color:#35494b}
.callout{border:2px solid var(--orange);border-left-width:8px;background:#FFF6EE;border-radius:12px;padding:16px 20px;margin:1.4em 0}
.tw{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15px}th,td{border-bottom:1px solid var(--line);padding:12px 8px;text-align:left}th{background:var(--soft)}
.ph{background:#FFE8A3;color:#5a4300;border:1px dashed #b88a00;border-radius:4px;padding:0 4px;font-size:.85em}
footer.site{border-top:6px solid var(--orange);background:var(--soft);padding:48px 0 120px;font-size:15px}
.ft{font-weight:600;font-size:18px}
.sticky{position:fixed;inset:auto 0 0 0;display:flex;background:#fff;border-top:1px solid var(--line);z-index:6}
.sticky a{flex:1;text-align:center;padding:15px 4px;color:var(--teal);text-decoration:none;font-weight:600;font-size:15px;min-height:48px}
.sticky a.primary{background:var(--cta);color:#fff}
@media(min-width:960px){.sticky{display:none}footer.site{padding-bottom:48px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.hero p:has(.btn) strong{white-space:nowrap}

/* ===== v3 ===== */
.hero-in>*,.stats li,.a-grid>*,.grid>*,.card,.long,.copy{min-width:0}
body{overflow-wrap:break-word}
header.site .bar{gap:16px}
nav.primary{flex:1;min-width:0;justify-content:center;gap:clamp(12px,1.6vw,26px)}
:lang(ml) nav.primary{font-size:13.5px}
.dd{position:relative}
.dd>a{display:inline-flex;gap:6px;align-items:center}
.dd svg{width:10px;height:10px}
.menu-pop{display:none;position:absolute;top:100%;left:-14px;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:0 20px 40px -20px rgba(34,56,58,.45);z-index:8}
.dd:hover .menu-pop,.dd:focus-within .menu-pop{display:block}
.menu-pop a{display:block;padding:10px 14px;border-radius:10px;white-space:nowrap}
.menu-pop a:hover{background:var(--soft)}
button.menu{font:inherit;font-weight:600;font-size:14px;background:none;border:1.5px solid var(--ink);color:var(--ink);border-radius:999px;padding:6px 16px;min-height:40px;cursor:pointer}
@media(max-width:1199px){:lang(ml) .btn.sm{display:none!important}}
@media(max-width:1359px){:lang(ml) .call{display:none!important}}
.hero .copy p:has(.btn){display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:34px}
.hero .copy p:has(.btn) strong{white-space:nowrap}
.stats{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:760px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.stats strong,.stats span{overflow-wrap:anywhere}
:lang(ml) .stats strong{font-size:clamp(22px,2.4vw,30px);line-height:1.3}
main section[id]{scroll-margin-top:150px}
.chips{position:sticky;top:76px;z-index:4;display:flex;gap:8px;overflow-x:auto;padding:10px 20px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chips a{flex:none;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:9px 15px;border-radius:999px;background:var(--soft);color:var(--ink);text-decoration:none;font-size:13.5px;border:1px solid var(--line);min-height:40px}
.chips a[aria-current]{background:var(--teal);color:#fff;border-color:var(--teal)}
.toc a{display:block;color:var(--muted);text-decoration:none}
.toc a:hover{color:var(--teal)}
.toc a[aria-current]{color:var(--teal);font-weight:600}
.toc li:has(a[aria-current]){border-left:3px solid var(--teal);margin-left:-3px}
.toc{max-height:calc(100vh - 140px);overflow:auto}
.toc-h{font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
figure.sec-img{margin:8px 0 28px}
.sec-img img{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:24px}
.sec-img img.illus{object-fit:contain;background:var(--tint);padding:10px;aspect-ratio:16/7}
ul.clinics{list-style:none;padding:0;margin:24px 0 8px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
ul.clinics li{margin:0;padding:0;max-width:none;background:var(--soft);border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:transform .2s,box-shadow .2s}
ul.clinics li::before{display:none}
ul.clinics li:hover{transform:translateY(-4px);box-shadow:0 20px 36px -24px rgba(34,56,58,.6)}
ul.clinics .cl{width:100%;aspect-ratio:4/3;object-fit:cover}
ul.clinics div{padding:14px 16px 18px;line-height:1.5}
ul.clinics strong{font-size:15px}
ul.clinics span{display:block;font-size:14px;color:var(--muted);margin-top:6px}
.testi .widget{border:2px dashed var(--line);border-radius:24px;padding:22px;background:var(--soft);margin-top:8px}
.tgrid{display:grid;gap:14px;margin-top:16px;grid-template-columns:1fr}
@media(min-width:620px){.tgrid{grid-template-columns:repeat(3,1fr)}}
.tcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;gap:10px}
.tcard i{display:block;height:10px;border-radius:6px;background:#E3ECEC}
.tcard i.s{width:60%}
.vid{margin-top:18px;display:flex;gap:14px;align-items:center;border-radius:24px;padding:18px 22px;background:var(--tint)}
.vid svg{width:52px;height:52px;color:var(--teal);flex:none}
/* footer */
footer.site{padding:0;font-size:15px}
footer.site a{text-decoration:none}
.trust{display:flex;flex-wrap:wrap;gap:18px 40px;align-items:center;justify-content:space-between;padding:32px 0;border-bottom:1px solid var(--fline)}
.trust ul{list-style:none;display:flex;flex-wrap:wrap;gap:14px 40px;margin:0;padding:0}
.trust li{display:flex;flex-direction:column;max-width:200px;line-height:1.4}
.trust li strong{font-size:24px;line-height:1.2}
.trust li span{font-size:13px;opacity:.85}
.fcols{display:grid;gap:40px;padding:52px 0 40px;grid-template-columns:minmax(0,1fr)}
@media(min-width:700px){.fcols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.fcols{grid-template-columns:1.25fr .9fr 1.1fr 1.25fr;gap:48px}}
footer h3{font-size:13px;letter-spacing:.07em;text-transform:uppercase;margin:0 0 16px}
footer h4{font-size:13px;margin:18px 0 6px}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin:0 0 9px;max-width:none}
.flogo img{height:44px;width:auto;background:#fff;border-radius:12px;padding:6px 12px}
.fb .ft{margin:18px 0 6px}
.fb .div{font-size:13.5px;opacity:.85}
.sh{font-weight:600;margin:20px 0 10px}
.soc{display:flex;gap:10px;margin-bottom:8px}
.soc a{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1.5px solid currentColor}
.soc svg{width:20px;height:20px}
.fbtn{display:flex;flex-direction:column;gap:10px;align-items:flex-start;margin:14px 0 8px}
.ghost{display:inline-block;padding:11px 22px;border-radius:999px;border:1.5px solid currentColor;font-weight:600;font-size:14.5px}
.fbot{display:grid;gap:12px;padding:26px 0 130px;border-top:1px solid var(--fline);font-size:13.5px}
.fbot p{margin:0}
.legal{display:flex;flex-wrap:wrap;gap:8px 24px}
@media(min-width:960px){.fbot{padding-bottom:40px}}

@media(min-width:960px){.chips{display:none}button.menu{display:none}}
footer.site{--fline:var(--line);background:var(--soft);color:var(--ink)}
footer.site a{color:var(--ink)}
footer.site .ghost{color:var(--teal)}
.trust li strong{color:var(--teal)}
footer.site .btn{color:#fff}
.sec-img img{box-shadow:0 24px 50px -30px rgba(34,56,58,.5)}
.testi{padding-top:72px}

.logo{flex:none}.actions{flex:none}
@media(max-width:1359px){.call{display:none!important}}
:lang(ml) nav.primary{font-size:13px;gap:clamp(10px,1.2vw,18px)}
:lang(ml) .btn.sm{font-size:12.5px;padding:8px 14px;display:inline-block!important}
:lang(ml) header.site .bar{gap:12px}
:lang(ml) .logo img{height:34px}
@media(max-width:1279px){:lang(ml) .btn.sm{display:none!important}}
.cta-band{margin-top:36px;padding:32px;border-radius:24px;background:var(--tint)}
.cta-band p{margin:.4em 0;max-width:none}
.cta-band p:first-child{font-size:20px}
.cta-band .btn{margin-right:6px}

/* ===== v4: header rebuild, link affordance, featured story, footer ===== */
header.site .bar{display:flex;align-items:center;gap:20px;min-height:76px}
header.site .logo{flex:none}
header.site .logo img{height:42px;width:auto}
header.site nav.primary{display:none!important;margin:0 auto;gap:clamp(14px,1.8vw,30px);font-size:14.5px;min-width:0}
header.site .actions{display:flex;margin-left:auto;gap:10px;align-items:center;flex:none}
header.site .call{display:none!important}
header.site .btn.sm{display:none!important}
header.site button.menu{display:inline-block!important}
@media(min-width:1100px){header.site nav.primary{display:flex!important}header.site .btn.sm{display:inline-block!important}header.site button.menu{display:none!important}}
:lang(ml) header.site nav.primary{font-size:13.5px;gap:clamp(12px,1.3vw,22px)}
@media(min-width:1100px) and (max-width:1479px){:lang(ml) header.site nav.primary{display:none!important}:lang(ml) header.site button.menu{display:inline-block!important}}
@media(max-width:699px){header.site .btn.sm{display:none!important}}
/* mobile / narrow panel */
header.site.open nav.primary{display:flex!important;flex-direction:column;align-items:stretch;gap:0;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:8px 24px 20px;box-shadow:0 24px 40px -24px rgba(34,56,58,.4);max-height:calc(100vh - 80px);overflow:auto;margin:0}
header.site.open nav.primary>a,header.site.open .dd>a{padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
header.site.open .menu-pop{display:block;position:static;box-shadow:none;border:0;padding:0 0 8px 12px;min-width:0}
header.site.open .menu-pop.wide{display:block;width:auto}
header.site .dd>a svg{width:10px;height:10px}
/* dropdowns */
.menu-pop.wide{min-width:560px;padding:20px;display:none}
.dd:hover .menu-pop.wide,.dd:focus-within .menu-pop.wide{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 20px}
.menu-pop .grp p{margin:0 0 6px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:normal}
.menu-pop .grp a{padding:8px 10px;margin:0 -10px}
.menu-pop a.all{grid-column:1/-1;border-top:1px solid var(--line);margin-top:6px;padding-top:14px;font-weight:600;color:var(--teal)}
.dd:hover .menu-pop,.dd:focus-within .menu-pop{display:block}
.dd:hover .menu-pop.wide,.dd:focus-within .menu-pop.wide{display:grid}
:lang(ml) .menu-pop .grp a,:lang(ml) .menu-pop a{white-space:normal}
.menu-pop{left:-20px}
nav.primary>a:hover,.dd>a:hover{color:var(--teal)}
/* links: no underlines. inline = highlighter marker; "→" lines = pills; cards/menus use hover state */
a{text-decoration:none}
article p a,article li a,article td a,article summary a,.callout a{color:var(--teal);font-weight:600;background:linear-gradient(transparent 62%,rgba(113,191,190,.38) 62%);border-radius:2px;transition:background-size .2s,background-color .2s}
article p a:hover,article li a:hover,article td a:hover{background:rgba(113,191,190,.38)}
article a:focus-visible,.pill:focus-visible,.menu-pop a:focus-visible,nav.primary a:focus-visible,footer a:focus-visible{outline:3px solid var(--lteal);outline-offset:3px;border-radius:6px}
a.pill{display:inline-flex;gap:8px;align-items:center;padding:9px 18px;border-radius:999px;border:1.5px solid var(--lteal);background:#fff!important;color:var(--teal);font-weight:600;margin:6px 8px 6px 0;line-height:1.4;transition:background .2s,border-color .2s,transform .2s}
a.pill:hover{background:var(--tint)!important;border-color:var(--teal);transform:translateX(2px)}
article p a.pill span{transition:transform .2s}
a.pill:hover span{transform:translateX(3px)}
ul.cards li a,ul.clinics li a{background:none!important;font-weight:600;color:var(--teal)}
ul.cards li,ul.clinics li{cursor:pointer}
ul.cards li:hover a,ul.clinics li:hover a{color:var(--ink)}
ul.clinics li a::after{content:" →";font-weight:400}
.toc a,.chips a{text-decoration:none}
/* featured patient story */
.feature{padding-top:56px}
.feat{display:grid;gap:28px;align-items:center;background:var(--soft);border:1px solid var(--line);border-radius:32px;padding:20px;margin:8px 0}
@media(min-width:760px){.feat{grid-template-columns:.9fr 1.1fr;padding:24px 36px 24px 24px;gap:40px}}
.feat figure{margin:0;display:grid;gap:10px}
.feat img{width:100%;aspect-ratio:4/3.3;object-fit:cover;border-radius:24px 24px 90px 24px}
.feat .q{display:grid;gap:14px}
.feat .q svg{width:44px;height:33px;color:var(--lorange)}
.feat .lines{display:grid;gap:10px}
.feat .lines i{display:block;height:12px;border-radius:6px;background:#E3ECEC}
.feat .lines i.s{width:55%}
/* footer */
footer.site .flogo img{background:none;padding:0;border-radius:0;height:46px}
footer.site .fb .div{font-size:14.5px;font-weight:500;opacity:1;margin-top:14px}
footer.site .cp{font-weight:500}
footer.site a:hover{color:var(--teal)}
header.site .wrap{max-width:1360px}
.menu-pop.wide{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px}
header.site.open nav.primary{justify-content:flex-start;padding-bottom:90px}
header.site.open .menu-pop .grp p{margin:14px 0 4px;font-size:11.5px}
header.site.open .menu-pop a{padding:10px 0;margin:0}
header.site.open .menu-pop a.all{border-top:0;padding-top:10px;margin-top:0}
.hero .copy p:has(.btn){display:block!important}
.hero .copy p:has(.btn) .btn{display:flex;width:max-content;max-width:100%;margin:0 0 16px}
footer.site a.btn,footer.site a.btn:hover,footer.site a.btn:focus-visible{color:#fff}

/* ===== v5: DTX, assessment, book, team, stories, guides, research ===== */
.hero .copy p.emerg{border:2px solid var(--orange);border-left-width:8px;background:#FFF6EE;border-radius:14px;padding:14px 18px;font-size:16px;max-width:36em}
.shot.panel{padding:0 0 24px 24px}
.shot.panel img{aspect-ratio:4/3.4;object-fit:contain;background:var(--tint);padding:6% 12%;border-radius:28px 28px 120px 28px;box-shadow:none}
/* icons shared */
.ico{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:16px;background:var(--tint);color:var(--teal)}
.ico svg{width:26px;height:26px}
/* path without badge numbers (numbers are in the headings) */
ol.path.nonum li::after{display:none}
ol.path.nonum h3{margin:0 0 4px;font-size:18px}
ol.path.nonum p{margin:0;font-size:16px;line-height:1.65}
ol.path.nonum li{align-items:start;margin-bottom:34px}
ol.path.nonum::before{top:36px}
/* facts tiles */
ul.facts{list-style:none;padding:0;margin:26px 0;display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:620px){ul.facts{grid-template-columns:repeat(2,1fr)}}
ul.facts li{margin:0;max-width:none;display:flex;gap:14px;align-items:flex-start;background:var(--soft);border:1px solid var(--line);border-radius:20px;padding:20px 22px}
ul.facts li svg{width:26px;height:26px;color:var(--teal);flex:none;margin-top:2px}
ul.facts strong{display:block;font-size:16px;margin-bottom:4px}
ul.facts span{display:block;font-size:15px;line-height:1.6;color:#35494b}
ul.facts li::marker{content:""}
/* therapies */
ul.therapies{list-style:none;padding:0;margin:26px 0;display:grid;gap:14px}
@media(min-width:620px){ul.therapies{grid-template-columns:repeat(2,1fr)}}
ul.therapies li{margin:0;max-width:none;display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 18px 36px -30px rgba(34,56,58,.5)}
ul.therapies strong{display:block;margin-bottom:4px}
ul.therapies span{font-size:15px;line-height:1.6;color:#35494b;display:block}
ul.therapies li:last-child:nth-child(odd){grid-column:1/-1}
/* rehab roadmap */
ol.levels{list-style:none;padding:0;margin:30px 0;display:grid;gap:14px;counter-reset:lv;grid-template-columns:1fr}
@media(min-width:620px){ol.levels{grid-template-columns:repeat(2,1fr)}}
ol.levels li{counter-increment:lv;margin:0;max-width:none;position:relative;background:var(--soft);border:1px solid var(--line);border-radius:22px;padding:58px 20px 20px;overflow:hidden}
ol.levels li::before{content:counter(lv);position:absolute;left:20px;top:14px;width:32px;height:32px;border-radius:50%;background:var(--orange);color:#1b1b1b;font-weight:700;display:grid;place-items:center;font-size:14px}
ol.levels li::after{content:"";position:absolute;left:0;top:0;height:5px;width:calc(var(--n,1) * 25%);background:var(--orange)}
ol.levels li:nth-child(1){--n:1}ol.levels li:nth-child(2){--n:2}ol.levels li:nth-child(3){--n:3}ol.levels li:nth-child(4){--n:4}
ol.levels li div{font-size:15.5px;line-height:1.6}
/* follow-up timeline */
.tl-head{display:flex;gap:20px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:26px 0 0;font-weight:600;padding-left:130px}
.tl-head span:first-child{display:none}
ol.timeline{list-style:none;margin:14px 0 26px;padding:0;position:relative}
ol.timeline::before{content:"";position:absolute;left:14px;top:12px;bottom:12px;width:3px;background:linear-gradient(var(--orange),var(--lteal));border-radius:2px}
ol.timeline li{margin:0 0 20px;max-width:none;display:grid;grid-template-columns:130px 1fr;gap:6px;position:relative;padding-left:44px}
ol.timeline li::before{content:"";position:absolute;left:6px;top:6px;width:18px;height:18px;border-radius:50%;background:#fff;border:4px solid var(--orange)}
ol.timeline li strong{font-size:18px;color:var(--teal)}
ol.timeline li span{color:#35494b}
@media(max-width:620px){ol.timeline li{grid-template-columns:1fr}.tl-head{padding-left:44px}}
/* ticks */
ul.ticks{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px}
@media(min-width:620px){ul.ticks{grid-template-columns:repeat(2,1fr)}}
ul.ticks li{margin:0;max-width:none;display:flex;gap:12px;align-items:flex-start;background:var(--soft);border-radius:18px;padding:16px 18px;border:1px solid var(--line)}
ul.ticks svg{width:24px;height:24px;color:var(--teal);flex:none;margin-top:2px}
/* alert sections */
section.alert{background:#FFF6EE;border:2px solid var(--orange);border-radius:28px;padding:32px 30px!important;margin-top:56px}
section.alert h2::before{background:#B3261E}
section.alert li::marker{color:#B3261E}
/* booking */
ul.ways{list-style:none;padding:0;margin:28px 0;display:grid;gap:16px}
@media(min-width:760px){ul.ways{grid-template-columns:repeat(3,1fr)}}
ul.ways li{margin:0;max-width:none;display:grid;gap:12px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 22px 40px -32px rgba(34,56,58,.55);align-content:start}
ul.ways li p{margin:0;max-width:none;font-size:16px}
ul.ways a{background:none!important;font-size:20px;color:var(--teal)}
section.formsec{background:var(--soft);border:1px solid var(--line);border-radius:32px;padding:36px 32px!important;margin-top:56px}
@media(max-width:600px){section.formsec{padding:24px 18px!important}}
form.bf{display:grid;gap:18px;margin-top:10px}
form.bf .row{display:grid;gap:18px}
@media(min-width:700px){form.bf .row{grid-template-columns:1fr 1fr}}
form.bf label{display:grid;gap:8px;font-weight:600;font-size:15px}
form.bf input[type=text],form.bf input[type=tel],form.bf select,form.bf textarea{font:inherit;font-weight:400;padding:14px 16px;border:1.5px solid #B8C9C9;border-radius:14px;background:#fff;color:var(--ink);min-height:48px;width:100%}
form.bf input:focus,form.bf select:focus,form.bf textarea:focus{outline:3px solid var(--lteal);outline-offset:1px;border-color:var(--teal)}
form.bf label.chk{display:flex;gap:12px;align-items:flex-start;font-weight:400}
form.bf label.chk input{width:22px;height:22px;margin-top:3px;accent-color:var(--teal);flex:none}
form.bf .u18{margin:0}
form.bf .note{margin:0;padding:14px 16px;background:#fff;border:1.5px solid var(--orange);border-radius:14px;font-size:14.5px}
form.bf .btn{border:0;cursor:pointer;width:max-content;font-family:inherit}
/* team */
.persons{display:grid;gap:18px;margin:24px 0}
@media(min-width:760px){.persons{grid-template-columns:repeat(2,1fr)}}
article.person{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:0 22px 40px -32px rgba(34,56,58,.5)}
article.person h3{margin:0 0 4px;font-size:19px}
article.person p{margin:.4em 0;font-size:15px}
.av{display:grid;place-items:center;flex:none;width:72px;height:72px;border-radius:50%;background:var(--tint);color:var(--teal);font-weight:700;font-size:22px;border:3px solid #fff;box-shadow:0 0 0 3px var(--lorange)}
span.av{width:52px;height:52px;font-size:16px;box-shadow:0 0 0 2px var(--lorange)}
.group{margin:34px 0}
.group h3{margin:0 0 14px;font-size:19px}
ul.people{list-style:none;padding:0;margin:0;display:grid;gap:12px}
@media(min-width:620px){ul.people{grid-template-columns:repeat(2,1fr)}}
ul.people li{margin:0;max-width:none;display:flex;gap:14px;align-items:center;background:var(--soft);border:1px solid var(--line);border-radius:20px;padding:14px 16px;line-height:1.45}
ul.people strong{display:block;font-size:15.5px}
/* patient stories */
section.bigstat-sec>p:first-of-type,section.bigstat-sec p:has(>strong:first-child){font-size:20px}
section.bigstat-sec p>strong:first-child{display:block;font-size:clamp(52px,8vw,84px);line-height:1;color:var(--teal);font-weight:700;margin-bottom:8px}
.vgrid{display:grid;gap:18px;margin:26px 0}
@media(min-width:760px){.vgrid{grid-template-columns:repeat(3,1fr)}}
.vtile{margin:0;display:grid;gap:10px}
.vtile .ratio{aspect-ratio:16/9;border-radius:22px;background:linear-gradient(135deg,var(--tint),#fff);border:1px solid var(--line);display:grid;place-items:center}
.vtile .ratio i{width:64px;height:64px;color:var(--teal)}
.vtile svg{width:64px;height:64px}
.wgrid{display:grid;gap:18px;margin:12px 0 28px}
@media(min-width:760px){.wgrid{grid-template-columns:repeat(3,1fr)}}
.wcard{background:var(--soft);border:1px solid var(--line);border-radius:24px;padding:22px;display:grid;gap:14px;align-content:start}
.wcard svg{width:34px;height:26px;color:var(--lorange)}
.wcard .lines{display:grid;gap:9px}.wcard .lines i{display:block;height:11px;border-radius:6px;background:#E3ECEC}.wcard .lines i.s{width:55%}
/* guides + research hubs */
ul.lcards{list-style:none;padding:0;margin:24px 0;display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:700px){ul.lcards{grid-template-columns:repeat(2,1fr)}}
ul.lcards li.lc{margin:0;max-width:none;position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
ul.lcards li.lc:hover{transform:translateY(-4px);box-shadow:0 24px 44px -28px rgba(34,56,58,.6)}
ul.lcards figure{margin:0}
ul.lcards img{width:100%;aspect-ratio:16/8;object-fit:cover}
ul.lcards figure.ev img{object-fit:contain;background:var(--tint);padding:8px}
ul.lcards div{padding:18px 22px 22px}
ul.lcards a{background:none!important;font-weight:600;font-size:18px;line-height:1.4;color:var(--ink)}
ul.lcards a::after{content:"";position:absolute;inset:0}
ul.lcards li:hover a{color:var(--teal)}
ul.lcards p{margin:8px 0 0;font-size:15px;color:#35494b;max-width:none}
/* research findings */
ol.findings{list-style:none;padding:0;margin:26px 0;display:grid;gap:12px;counter-reset:fd}
ol.findings li{counter-increment:fd;margin:0;max-width:none;position:relative;background:var(--soft);border:1px solid var(--line);border-radius:20px;padding:18px 20px 18px 66px}
ol.findings li::before{content:counter(fd);position:absolute;left:18px;top:16px;width:34px;height:34px;border-radius:50%;background:var(--teal);color:#fff;font-weight:700;display:grid;place-items:center}
/* references */
section.refs ol{font-size:14px;line-height:1.65;color:#35494b}
section.refs li{margin:.7em 0;max-width:none;overflow-wrap:anywhere}
section.refs a{font-weight:500}
/* clinic cards small label */
ul.clinics small{display:block;font-size:12px;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}
ul.clinics strong{display:block}
.hero .copy p a:not(.btn):not(.pill){color:var(--teal);font-weight:600;background:linear-gradient(transparent 62%,rgba(113,191,190,.38) 62%)}
ul.ways a{white-space:nowrap}
@media(min-width:700px){ul.lcards li.lc:last-child:nth-child(odd){grid-column:1/-1;flex-direction:row}ul.lcards li.lc:last-child:nth-child(odd) figure{flex:0 0 42%}ul.lcards li.lc:last-child:nth-child(odd) img{height:100%;aspect-ratio:auto}ul.lcards li.lc:last-child:nth-child(odd) div{align-self:center}}
/* two-tier titles: first part large, description smaller on its own line */
.hero h1 .sub{display:block;font-size:.5em;font-weight:500;line-height:1.35;letter-spacing:0;color:var(--muted);margin-top:.7em;max-width:24em}
.hero h1 .sub::first-letter{text-transform:uppercase}
:lang(ml) .hero h1 .sub{line-height:1.6;font-size:.55em}
.a-grid.no-toc{grid-template-columns:minmax(0,1fr)}
@media(min-width:960px){.a-grid.no-toc{grid-template-columns:minmax(0,760px);justify-content:center}}
.hero-in.no-fig{grid-template-columns:minmax(0,1fr)!important}
.hero-in.no-fig .copy{max-width:46em}

/* Contact Form 7 (booking page) */
section.formsec{background:var(--soft);border:1px solid var(--line);border-radius:32px;padding:36px 32px!important;margin-top:56px}
@media(max-width:600px){section.formsec{padding:24px 18px!important}}
.wpcf7-form{display:grid;gap:18px;margin-top:10px}
.wpcf7-form label{display:grid;gap:8px;font-weight:600;font-size:15px}
.wpcf7-form p{margin:0;max-width:none}
.wpcf7-form input[type=text],.wpcf7-form input[type=tel],.wpcf7-form input[type=email],.wpcf7-form select,.wpcf7-form textarea{font:inherit;font-weight:400;padding:14px 16px;border:1.5px solid #B8C9C9;border-radius:14px;background:#fff;color:var(--ink);min-height:48px;width:100%}
.wpcf7-form input:focus,.wpcf7-form select:focus,.wpcf7-form textarea:focus{outline:3px solid var(--lteal);outline-offset:1px;border-color:var(--teal)}
.wpcf7-form .wpcf7-acceptance label,.wpcf7-form .wpcf7-list-item label{display:flex;gap:12px;align-items:flex-start;font-weight:400}
.wpcf7-form input[type=checkbox]{width:22px;height:22px;margin-top:3px;accent-color:var(--teal);flex:none}
.wpcf7-form .note{padding:14px 16px;background:#fff;border:1.5px solid var(--orange);border-radius:14px;font-size:14.5px}
.wpcf7-form input[type=submit]{font:inherit;font-weight:600;border:0;cursor:pointer;background:var(--cta);color:#fff;padding:15px 30px;border-radius:999px;width:max-content;box-shadow:0 8px 20px -8px rgba(194,87,12,.6)}
.wpcf7-form input[type=submit]:hover{transform:translateY(-2px)}
.wpcf7-not-valid-tip{color:#A4160D;font-size:14px;font-weight:500}
.wpcf7-response-output{margin:6px 0 0!important;padding:14px 16px!important;border-radius:14px;border-width:2px!important;font-size:15px}
.wpcf7-spinner{display:none}
ul.clinics.hubcards{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
ul.hubcards li div{display:grid;gap:4px}
ul.hubcards .lbl{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-top:8px}
ul.hubcards .lbl:first-child{margin-top:0}
ul.hubcards strong{font-size:17px}
ul.hubcards span:not(.lbl){font-size:14.5px;line-height:1.5;color:#35494b}
ul.hubcards a.tel{font-weight:600}

.cookie{position:fixed;left:16px;right:16px;bottom:76px;z-index:20;max-width:720px;margin:auto;background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:18px 20px;box-shadow:0 24px 50px -20px rgba(34,56,58,.5);display:grid;gap:14px;font-size:14.5px}
.cookie[hidden]{display:none}
.cookie p{margin:0}
.cookie>div{display:flex;gap:10px;flex-wrap:wrap}
.cb-btn{font:inherit;font-weight:600;padding:11px 24px;border-radius:999px;border:1.5px solid var(--teal);background:#fff;color:var(--teal);cursor:pointer;min-height:44px}
@media(min-width:960px){.cookie{bottom:20px;left:20px;right:auto;margin:0}}
/* long reference URLs must wrap, never widen the page */
section.refs li,section.refs li a,article li{overflow-wrap:anywhere}
/* touch targets: header and footer links are at least 44px tall on phones */
@media(max-width:959px){
  footer.site li a{display:inline-block;padding:11px 0}
  footer.site .legal a{display:inline-block;padding:11px 0}
  footer.site .soc a{width:44px;height:44px}
  header.site .sw,header.site button.menu{min-height:44px;display:inline-flex;align-items:center}
}
footer.site li a,footer.site .legal a{display:inline-block;padding:5px 0;line-height:1.5}
/* images that size themselves by aspect-ratio must ignore the width/height attributes' fixed height */
.shot img,.sec-img img,.feat img,ul.clinics .cl,ul.lcards img,.sec-img img.illus{height:auto}
.feat img{height:auto}

/* whole card is the link: the title link stretches over its card (the phone number on hub cards stays separately clickable) */
ul.cards li,ul.clinics li{position:relative}
ul.cards li a::after{content:"";position:absolute;inset:0;border-radius:inherit}
ul.clinics li strong a::before{content:"";position:absolute;inset:0}
ul.clinics a.tel{position:relative;z-index:1}

/* patient stories: photo with play button, quote, name and condition; the video loads only when played */
a.yt,.yt-frame{display:block;position:relative;border-radius:20px;overflow:hidden;background:var(--tint)}
a.yt img{display:block;width:100%;height:auto;aspect-ratio:16/11;object-fit:cover;object-position:center 25%;transition:transform .3s}
a.yt:hover img{transform:scale(1.03)}
a.yt svg{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;color:var(--teal);filter:drop-shadow(0 4px 12px rgba(0,0,0,.3));transition:transform .2s}
a.yt:hover svg{transform:scale(1.1)}
.yt-frame{aspect-ratio:16/11}.yt-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.wcard.story{align-content:start;gap:16px}
.wcard.story blockquote,.feat .q blockquote{margin:0;font-size:15px;line-height:1.7}
.feat .q blockquote{font-size:17px}
.who{margin:0;display:grid;gap:2px;font-size:14px}.who strong{font-size:16px}.who span{color:var(--muted)}
.wgrid.stories.n1{grid-template-columns:minmax(0,520px)}
@media(min-width:760px){.wgrid.stories.n2{grid-template-columns:repeat(2,1fr)}.wgrid.stories.n1{grid-template-columns:minmax(0,520px)}}
.stories+.note{font-size:14px;color:var(--muted);margin:0 0 14px}
.feat a.yt img{aspect-ratio:4/3.3;border-radius:24px 24px 90px 24px}.feat a.yt{border-radius:24px 24px 90px 24px}
.feat .rating{margin:0;font-size:15px;color:var(--muted)}.feat .rating strong{color:var(--ink);font-size:18px}
.vidstory{margin-top:22px;max-width:560px}
.map{margin:20px 0;border-radius:20px;overflow:hidden;border:1px solid var(--line)}.map iframe{display:block;width:100%;height:360px;border:0}
.ghead{display:flex;align-items:center;gap:12px;margin:0 0 14px}.ghead h3{margin:0}
.gi{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:var(--tint);color:var(--teal)}.gi svg{width:24px;height:24px}
img.av{display:block;object-fit:cover;object-position:center 20%;background:var(--tint)}
/* Contact Form 7 (its own stylesheet is off): hide the screen-reader announcer, show messages only when there is one */
.screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;border:0;word-wrap:normal}
.wpcf7 form .wpcf7-response-output{margin:18px 0 0;padding:14px 18px;border-radius:14px;border:2px solid var(--teal);font-weight:600}
.wpcf7 form.init .wpcf7-response-output,.wpcf7-spinner{display:none}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.aborted .wpcf7-response-output{border-color:#C0521A}
.wpcf7-not-valid-tip{color:#B3261E;font-size:14px;font-weight:600}
.wpcf7-form .wpcf7-acceptance label,.wpcf7-form .wpcf7-list-item{display:flex;gap:12px;align-items:flex-start;font-weight:400}
.wpcf7 .hidden-fields-container{display:none;border:0;margin:0;padding:0}
