@font-face{font-family:Manrope;src:url('/assets/manrope-v52.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:Anek;src:url('/assets/anek-malayalam-319ccd3dc61afce2-v52.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--paper:#f3f4f8;--ink:#17202b;--blue:#294cff;--ice:#dbe5ff;--white:#fff;--muted:#566170;--pad:5vw;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #7897ff;outline-offset:5px}img{max-width:100%;display:block}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.055em}p{line-height:1.65}::selection{background:var(--blue);color:white}.skip{position:fixed;top:-80px;left:20px;z-index:200;padding:14px;background:white}.skip:focus{top:10px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:.075em;line-height:1.5}
.site-header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:22px;padding:22px var(--pad);z-index:20;background:#f3f4f8f2;backdrop-filter:blur(16px);border-bottom:1px solid #17202b0b}.brand{display:flex;align-items:center;gap:11px}.brand img{width:44px;height:44px;object-fit:contain}.brand>span{font-size:12px;font-weight:750;letter-spacing:.025em}.brand small{display:block;font-size:8px;margin-top:5px;letter-spacing:.04em;font-weight:550}.header-actions{display:flex;gap:9px;align-items:center}.pill{border:0;border-radius:99px;background:#e7eaf1;display:inline-flex;gap:28px;align-items:center;justify-content:center;padding:16px 23px;font-size:12px;font-weight:650;line-height:1;white-space:nowrap;transition:background .25s,transform .4s var(--ease)}.pill span{font-size:18px;line-height:.8}.pill:hover{background:#d8dfef;transform:translateY(-2px)}.dark{background:var(--ink);color:white}.dark:hover{background:var(--blue)}.white{background:var(--white);color:var(--ink)}.language{border:0;background:transparent;font-size:11px;padding:14px 9px;font-weight:700;min-width:40px}.menu-dots{letter-spacing:2px}
.opening{padding:0 var(--pad)}.opening-title{display:grid;grid-template-columns:1.6fr 1fr;align-items:end;gap:7vw;padding:36px 0 34px}.opening-title>.eyebrow{display:block}.care-dot{display:inline-block;width:6px;height:6px;background:var(--blue);border-radius:50%;vertical-align:middle;margin-right:8px}.opening-title h1{font-size:clamp(48px,5.4vw,94px);line-height:1.05;letter-spacing:-.065em;margin-top:17px;font-weight:500}.title-second{color:var(--blue)}.opening-context{max-width:360px;justify-self:end;padding-bottom:3px}.opening-context>.eyebrow{font-size:9px;letter-spacing:.06em}.opening-context .bilingual{font-size:15px;margin:13px 0 16px;max-width:355px;line-height:1.65}.opening-context .bilingual[lang=ml]{font-size:18px;line-height:1.65}.intro-link{font-size:12px;font-weight:650;display:inline-flex;gap:48px;align-items:center}.intro-link span{font-size:19px;transition:transform .3s}.intro-link:hover span{transform:translate(3px,-3px)}
.hero-stage{position:relative;height:clamp(420px,61svh,700px);overflow:hidden;border-radius:18px;background:#182b2c;isolation:isolate}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:50% 43%;transform:scale(1.025);will-change:transform}.hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,20,25,.72),transparent 52%)}.hero-copy{position:absolute;bottom:7%;left:4.5%;color:white}.hero-copy>.eyebrow{font-size:9px;font-weight:500;letter-spacing:.12em}.hero-copy h2{font-family:Anek,sans-serif;font-size:clamp(55px,6vw,105px);font-weight:500;line-height:1.28;letter-spacing:-.03em;margin-top:8px}.hero-explore{position:absolute;right:4.5%;bottom:9%;display:flex;gap:20px;align-items:center;color:white;font-size:12px}.hero-explore b{width:52px;height:52px;border:1px solid #ffffff88;border-radius:50%;display:grid;place-items:center;font-size:24px;font-weight:400;background:#ffffff0a;transition:background .3s,transform .3s}.hero-explore:hover b{background:var(--blue);transform:translateY(3px)}.image-credit{position:absolute;right:18px;top:17px;color:#fff;font-size:9px;background:#17202b85;padding:6px 10px;border-radius:20px}.hero-meta{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:19px 0;font-size:9px;font-weight:550;letter-spacing:.055em;color:var(--muted)}.hero-meta-line{height:1px;flex:1;background:#17202b25;max-width:48%}
.section{padding:100px var(--pad)}.purpose{display:grid;grid-template-columns:30% 1fr;padding-top:100px;padding-bottom:110px;gap:0}.section-label{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding-bottom:12px}.purpose-note{font-size:13px;line-height:1.6;color:var(--muted)}.statement{font-size:clamp(36px,4.3vw,72px);line-height:1.14}.statement span{color:var(--blue)}.bilingual{font-size:17px;color:var(--muted);max-width:620px}.bilingual[lang=ml]{font-family:Anek,sans-serif;font-size:20px;line-height:1.8;letter-spacing:0}.intro-copy{max-width:600px;margin:27px 0 21px}.text-link{display:inline-flex;gap:40px;align-items:center;font-size:12px;font-weight:650;padding:13px 0;border-bottom:1px solid #a7b0bf;transition:gap .35s var(--ease)}.text-link span{font-size:19px}.text-link:hover{gap:50px;color:var(--blue)}
.work{padding-top:0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:40px}.section-heading h2{font-size:clamp(35px,3.8vw,60px);line-height:1.13}.section-heading>p{font-size:9px;line-height:1.7;letter-spacing:.065em;color:var(--muted)}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:4vw}.feature .photo{border-radius:16px;overflow:hidden}.photo{position:relative;background:#d9e2ec}.photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.photo figcaption{position:absolute;bottom:16px;left:17px;font-size:9px;background:#17202b95;color:white;padding:6px 9px;border-radius:20px}.care-feature .photo{height:clamp(400px,40vw,620px)}.care-feature .photo img{object-position:50% 40%}.community-feature{padding-top:76px}.community-feature .photo{height:clamp(320px,31vw,475px)}.image-link{display:block;position:relative}.image-link:hover img{transform:scale(1.035)}.round-arrow{position:absolute;right:20px;bottom:20px;display:grid;place-items:center;background:white;border-radius:50%;width:48px;height:48px;font-size:23px;transition:transform .4s var(--ease),background .3s}.image-link:hover .round-arrow{transform:rotate(45deg);background:var(--blue);color:white}.feature-title{margin:23px 0 14px}.feature-title h3{font-size:27px;letter-spacing:-.045em;line-height:1.2}.feature-title>span{display:block;font-size:8px;letter-spacing:.07em;margin-top:11px;color:var(--muted)}.feature .bilingual{font-size:15px;max-width:510px}.feature .bilingual[lang=ml]{font-size:19px}.feature .text-link{margin-top:10px}
.stepz{position:relative;background:var(--blue);color:white;min-height:560px;border-radius:20px;margin:0 var(--pad);overflow:hidden;isolation:isolate;padding:32px 3.5vw 38px}.stepz-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2}.status{font-size:9px;letter-spacing:.06em;border:1px solid #ffffff70;border-radius:30px;padding:9px 13px;display:inline-flex;align-items:center;gap:8px}.status i{width:5px;height:5px;border-radius:50%;background:#dbe5ff}.care-loop{position:absolute;pointer-events:none}.stepz .care-loop{width:52%;left:52%;top:8%;height:100%;z-index:-1}.stepz-word{font-size:clamp(110px,17vw,290px);line-height:1.1;letter-spacing:-.08em;font-weight:500;margin:35px 0 30px;position:relative;z-index:1}.stepz-word>.stepz-period{color:#b7ccff}.stepz-bottom{display:flex;align-items:flex-end;justify-content:space-between;position:relative;z-index:2;gap:40px}.stepz-bottom h2{font-size:28px;letter-spacing:-.035em}.stepz-bottom .bilingual{color:#f0f3ff;margin-top:13px;max-width:450px;font-size:15px}.stepz-bottom .bilingual[lang=ml]{font-size:19px;line-height:1.75}.stepz-bottom .pill{margin-bottom:3px}
.app-section{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding-top:110px;padding-bottom:110px}.app-section h2{font-size:clamp(36px,4vw,63px);line-height:1.12;margin-top:20px;margin-bottom:24px}.app-section .bilingual{max-width:480px}.app-links{border-top:1px solid #bac2cf}.app-links>a{display:flex;justify-content:space-between;align-items:center;padding:27px 0;border-bottom:1px solid #bac2cf;transition:padding .3s,color .3s}.app-links>a:hover{padding-left:12px;color:var(--blue)}.app-links small{display:block;font-size:8px;letter-spacing:.065em;margin-bottom:10px;color:var(--muted)}.app-links span{font-size:24px;letter-spacing:-.035em}.app-links b{font-weight:400;font-size:26px}
.donate-section{margin:0 var(--pad);display:grid;grid-template-columns:46% 54%;min-height:540px;background:var(--ink);color:white;border-radius:20px;overflow:hidden}.donate-visual .photo{height:100%}.donate-visual img{object-position:43% 50%}.donate-copy{padding:50px 4.4vw;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.donate-copy h2{font-size:clamp(44px,5.2vw,84px);line-height:1.05;margin:27px 0 22px}.donate-copy h2>span{color:#9fb8ff}.donate-copy .bilingual{color:#d2d9e6;font-size:16px;margin-bottom:28px;max-width:420px}.donate-copy .bilingual[lang=ml]{font-size:21px;line-height:1.7}.donate-copy .eyebrow{font-size:9px}
footer{padding:95px var(--pad) 24px}.footer-top{display:flex;justify-content:space-between;gap:50px;padding-bottom:65px}.footer-top h2{font-size:40px;line-height:1.13;margin-top:20px}.contact{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:17px;font-size:16px}.contact a:hover{color:var(--blue)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #bdc4d4;padding-top:25px;font-size:10px;line-height:1.65;gap:30px}.footer-bottom>div{display:flex;gap:25px;align-items:flex-start}.footer-bottom button{border:0;background:none;padding:0;color:inherit;font-size:10px}.preview-note{font-size:9px;color:var(--muted);margin-top:25px;max-width:700px}
.menu-dialog{width:calc(100% - 4vw);max-width:none;height:calc(100% - 4vw);max-height:none;margin:2vw;padding:30px 4vw;background:var(--blue);border:0;color:white;border-radius:24px;overflow:auto}.menu-dialog::backdrop{background:#17202b90;backdrop-filter:blur(10px)}.menu-dialog[open]{animation:menu-in .35s var(--ease)}.menu-top,.menu-bottom{display:flex;justify-content:space-between;align-items:center;font-size:12px}.menu-dialog nav{display:flex;flex-direction:column;padding:35px 9vw}.menu-dialog nav a{display:flex;align-items:center;font-size:clamp(30px,4.5vw,68px);padding:9px 0;letter-spacing:-.045em;border-bottom:1px solid #ffffff40;transition:padding .3s}.menu-dialog nav a:hover{padding-left:16px}.menu-dialog nav a>span{margin-left:auto}.menu-dialog nav small{font-size:9px;letter-spacing:.08em;margin-left:20px}.menu-bottom{border-top:1px solid #ffffff40;padding-top:22px;gap:20px}
.detail-heading{padding-top:50px;padding-bottom:55px}.detail-heading>.text-link{margin-bottom:40px}.detail-heading .eyebrow{display:block;margin-bottom:20px;color:var(--blue)}.detail-heading h1{font-size:clamp(48px,6.4vw,100px);line-height:1.08}.detail-photo{margin:0 var(--pad);height:520px;border-radius:18px;overflow:hidden}.detail-photo img{object-position:center 40%}.detail-body{padding-left:33%;padding-top:70px;max-width:1450px}.detail-body article{margin-bottom:48px}.detail-body h2{font-size:32px;margin-bottom:20px}.detail-body .bilingual{max-width:650px}.detail-actions{display:flex;gap:30px;align-items:center;flex-wrap:wrap}.detail-stepz{min-height:420px;height:440px}.detail-stepz .stepz-word{margin:30px 0 20px}.detail-stepz .care-loop{left:45%;width:60%}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .9s var(--ease)}.js-motion .reveal.visible{opacity:1;transform:none}
@keyframes menu-in{from{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:none}}@keyframes intro-in{from{opacity:.4;transform:translateY(15px)}to{opacity:1;transform:none}}.opening-title h1{animation:intro-in .85s var(--ease) both}.hero-stage{animation:intro-in 1s .1s var(--ease) both}
@media(max-width:1050px){.opening-title{gap:5vw;grid-template-columns:1.4fr 1fr}.opening-title h1{font-size:clamp(44px,5.8vw,61px)}.opening-context>.eyebrow{font-size:8px}.opening-context .bilingual[lang=ml]{font-size:17px}.hero-stage{height:510px}.purpose{grid-template-columns:24% 1fr}.statement{font-size:43px}.stepz-bottom .bilingual{max-width:370px}.stepz .care-loop{left:55%;width:55%}.app-links span{font-size:20px}.donate-section{min-height:480px}.donate-copy{padding:38px}.footer-top h2{font-size:35px}.contact{font-size:14px}}
@media(max-width:700px){:root{--pad:6vw}html{scroll-padding-top:90px}.site-header{padding:17px var(--pad);gap:9px}.brand{gap:8px}.brand img{width:34px;height:34px}.brand>span{font-size:9px;max-width:130px}.brand small{font-size:6px;margin-top:4px}.header-actions{gap:5px}.language{padding:10px 4px;font-size:10px;min-width:27px}.header-actions .pill{font-size:10px;padding:13px 14px;gap:11px}.header-actions .pill span{font-size:16px}.menu-toggle{font-size:0!important;gap:0!important;padding:12px!important;width:38px}.menu-toggle .menu-dots{font-size:13px}.opening-title{grid-template-columns:1fr;gap:23px;padding:28px 0}.opening-title h1{font-size:clamp(35px,9.5vw,62px);line-height:1.08;margin-top:14px;letter-spacing:-.06em}.opening-title .eyebrow{font-size:8px;letter-spacing:.065em}.opening-context{justify-self:start;max-width:100%;padding:0}.opening-context>.eyebrow{display:none}.opening-context .bilingual{margin:0;max-width:440px;font-size:14px;line-height:1.7}.opening-context .bilingual[lang=ml]{font-size:17px;line-height:1.7}.intro-link{margin-top:13px;font-size:11px;gap:30px}.hero-stage{height:clamp(360px,53svh,520px);min-height:0;border-radius:14px;margin:0 -2vw}.hero-photo{object-position:71% 48%}.hero-shade{background:linear-gradient(0deg,#071c26c0,transparent 55%)}.hero-copy{left:7%;bottom:7%}.hero-copy h2{font-size:clamp(38px,10.2vw,64px);margin-top:8px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:.06em}.hero-explore{right:6%;bottom:10%;gap:0}.hero-explore>span{display:none}.hero-explore b{width:38px;height:38px;font-size:21px}.image-credit{font-size:8px;right:12px;top:12px}.hero-meta{font-size:7px;letter-spacing:.025em;gap:10px;padding:16px 0}.hero-meta-line{max-width:none;min-width:10px}.hero-meta>span:last-child{max-width:130px;text-align:right;line-height:1.5}.section{padding:68px var(--pad)}.purpose{grid-template-columns:1fr;gap:22px;padding-top:55px}.section-label{display:block;padding:0}.purpose-note{display:none}.statement{font-size:clamp(30px,7.3vw,44px);line-height:1.17;letter-spacing:-.045em}.intro-copy{margin:22px 0 15px}.bilingual{font-size:16px}.bilingual[lang=ml]{font-size:19px;line-height:1.8}.text-link{font-size:11px;gap:35px}.work{padding-top:8px}.section-heading{display:block;margin-bottom:29px}.section-heading h2{font-size:clamp(30px,7.3vw,44px);line-height:1.18}.section-heading>p{margin-top:17px;font-size:8px;max-width:220px}.feature-grid{grid-template-columns:1fr;gap:42px}.care-feature .photo{height:420px}.community-feature{padding:0}.community-feature .photo{height:auto;aspect-ratio:1.16}.feature .photo{border-radius:14px}.feature-title h3{font-size:25px}.feature-title>span{font-size:7px;letter-spacing:.07em}.feature .bilingual[lang=ml]{font-size:19px}.feature .bilingual{font-size:15px}.round-arrow{width:42px;height:42px;font-size:20px}.stepz{margin:0 4vw;border-radius:16px;padding:25px 6vw 29px;min-height:560px}.stepz-top{align-items:center;gap:13px}.stepz-top .eyebrow{font-size:7px;max-width:78px}.status{font-size:7px;padding:7px 9px;gap:5px;white-space:nowrap}.stepz-word{font-size:25vw;line-height:1.1;margin:55px 0 100px;letter-spacing:-.08em}.stepz .care-loop{width:75%;left:39%;height:62%;top:5%;opacity:.8}.stepz-bottom{display:block}.stepz-bottom h2{font-size:26px}.stepz-bottom .bilingual{font-size:14px;max-width:100%}.stepz-bottom .bilingual[lang=ml]{font-size:18px}.stepz-bottom .pill{margin-top:22px}.app-section{grid-template-columns:1fr;gap:33px}.app-section h2{font-size:37px;line-height:1.1;margin-top:17px;margin-bottom:21px}.app-links>a{padding:22px 0}.app-links span{font-size:21px}.app-links small{font-size:7px;margin-bottom:10px}.app-links b{font-size:24px}.donate-section{margin:0 4vw;display:flex;flex-direction:column;border-radius:16px}.donate-visual{height:310px}.donate-visual img{object-position:50% 38%}.donate-copy{padding:33px 6vw 38px}.donate-copy h2{font-size:clamp(42px,10.6vw,63px);margin:24px 0 21px}.donate-copy .eyebrow{font-size:8px}.donate-copy .bilingual[lang=ml]{font-size:20px}.footer-top{display:block;padding-bottom:38px}.footer-top h2{font-size:34px}.contact{margin-top:30px;font-size:14px;gap:16px}footer{padding-top:65px}.footer-bottom{display:block;font-size:9px}.footer-bottom>div{margin-top:23px;gap:23px}.footer-bottom button{font-size:9px}.preview-note{font-size:8px;line-height:1.7}.menu-dialog{width:94vw;height:94dvh;max-height:94dvh;margin:3dvh 3vw;padding:22px 7vw;border-radius:17px}.menu-dialog nav{padding:32px 0}.menu-dialog nav a{font-size:clamp(25px,7.2vw,39px);padding:17px 0;letter-spacing:-.05em}.menu-dialog nav small{font-size:6px;margin-left:10px}.menu-bottom{align-items:center;flex-wrap:wrap;gap:20px;font-size:10px}.menu-bottom>span{flex-basis:100%}.detail-heading{padding-top:30px;padding-bottom:34px}.detail-heading>.text-link{margin-bottom:30px}.detail-heading h1{font-size:clamp(36px,9vw,58px);line-height:1.12}.detail-photo{height:360px;margin:0 4vw;border-radius:14px}.detail-body{padding:45px var(--pad)}.detail-body h2{font-size:26px}.detail-body article{margin-bottom:35px}.detail-stepz{height:350px;min-height:350px;padding-top:40px}.detail-stepz .stepz-word{font-size:24vw;margin:35px 0 40px}.detail-stepz .care-loop{height:100%;width:90%;left:30%;top:0}.detail-actions{gap:22px}}
@media(max-width:360px){.brand{gap:5px}.brand img{width:29px}.brand>span{font-size:8px;max-width:110px}.brand small{font-size:5.4px}.header-actions{gap:3px}.header-actions .pill{padding:12px;font-size:9px;gap:8px}.language{min-width:24px;font-size:9px}.hero-copy h2{font-size:36px}.hero-explore b{width:32px;height:32px}.care-feature .photo{height:370px}.contact{font-size:12px}.stepz-bottom h2{font-size:23px}.menu-dialog nav a{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.hero-photo{transform:none!important}}
html[data-motion=paused]{scroll-behavior:auto}html[data-motion=paused] *,html[data-motion=paused] *::before,html[data-motion=paused] *::after{animation:none!important;transition:none!important}body.motion-paused .reveal{opacity:1;transform:none}body.motion-paused .hero-photo{transform:none!important}
/* Give the moving sculpture its own space between the STEPZ name and copy on phones. */
@media(max-width:700px){.stepz-word{margin:36px 0 175px}.stepz:not(.detail-stepz) .care-loop{width:210px;height:210px;left:auto;right:12px;top:145px;opacity:1}.detail-stepz .stepz-word{margin:35px 0 40px}}

/* A continuous line current behind the page; photos remain opaque above it. */
body{isolation:isolate}
.background-flow{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;contain:strict}
.hero-shade{background:linear-gradient(0deg,rgba(6,20,25,.76),transparent 65%),linear-gradient(90deg,rgba(6,20,25,.28),transparent 60%)}
.hero-copy h2{font-size:clamp(52px,5.1vw,86px);line-height:1.14;letter-spacing:0;font-weight:450;margin-top:17px}
.hero-copy h2 span,.hero-copy h2 strong{display:block}
.hero-copy h2 strong{font-weight:600;color:#e1edff}
.hero-copy{bottom:8%}
@media(max-width:700px){
 .hero-copy{bottom:8%;left:7%;max-width:76%}
 .hero-copy h2{font-size:clamp(36px,9.4vw,59px);line-height:1.2;margin-top:12px}
 .hero-shade{background:linear-gradient(0deg,#071c26df,transparent 74%)}
 .hero-explore{bottom:9%}
}

/* The upcoming programme is presented through type, without the 3D sculpture. */
.stepz{min-height:480px}
.detail-stepz{min-height:340px;height:auto}
.stepz-word{margin:35px 0 30px}
.hero-donation{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;color:var(--ink)}
.hero-donation strong{font-size:15px;letter-spacing:-.02em;color:var(--blue)}
.hero-donation:hover{color:var(--blue)}
.dialysis-price{display:flex;align-items:center;justify-content:space-between;gap:25px;width:100%;border-top:1px solid #ffffff35;padding:23px 0;margin:0 0 8px}
.dialysis-price .eyebrow{display:block;color:#c4d2ed;font-size:9px}
.dialysis-price strong{display:block;font-size:clamp(40px,4vw,62px);font-weight:550;letter-spacing:-.055em;line-height:1.2;margin-top:8px;font-variant-numeric:tabular-nums}
.dialysis-price p{font-family:Anek,sans-serif;font-size:19px;line-height:1.6;color:#d2d9e6}
@media(max-width:700px){
 .stepz{min-height:0}
 .stepz-word{margin:36px 0 32px}
 .detail-stepz{min-height:280px}
 .dialysis-price{gap:15px;padding:21px 0}
 .dialysis-price strong{font-size:48px}
 .dialysis-price p{font-size:17px}
 .hero-donation{gap:7px;font-size:9px}
 .hero-donation strong{font-size:13px}
}

/* Shared visitor pages: spacious reading, clear routes and direct contact. */
.menu-dialog nav a{font-size:clamp(26px,3.2vw,48px);padding:12px 0}
.footer-nav{display:flex;flex-wrap:wrap;gap:20px 36px;padding:24px 0;border-top:1px solid #ffffff26;font-size:14px}
.image-note{font-size:11px;opacity:.55;margin-top:24px;line-height:1.6}
.page-intro{max-width:670px;margin:28px 0 0 auto;font-size:21px;line-height:1.85}
.route-directory{padding-top:20px}
.route-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:34px;align-items:start;border-top:1px solid #17202b30;padding:44px 0}
.route-number{font-size:14px;color:var(--blue);padding-top:5px}
.route-row h2{font-size:clamp(28px,3.4vw,48px);font-weight:500;letter-spacing:-.04em;margin:13px 0 17px}
.route-row .bilingual{max-width:640px;font-size:19px;line-height:1.85}
.route-row>.text-link{align-self:center;white-space:nowrap}
.support-panel{background:var(--ice);display:grid;grid-template-columns:1fr 1fr;gap:70px;margin:0 6%;padding:55px;border-radius:28px}
.support-panel h2{font-size:clamp(64px,7vw,110px);font-weight:500;letter-spacing:-.07em;margin:20px 0 0}
.support-panel h2 span{display:block;font-size:24px;letter-spacing:-.03em;margin-top:20px;line-height:1.4}
.support-panel .bilingual{font-size:21px;line-height:1.85;margin:0 0 30px}
.contact-directory{display:grid;grid-template-columns:1fr 1fr;gap:0 7%;padding-top:16px}
.contact-directory>a,.contact-directory>div{min-width:0;display:flex;flex-direction:column;align-items:flex-start;border-top:1px solid #17202b30;padding:36px 0 46px}
.contact-directory strong{font-size:clamp(23px,2.6vw,38px);font-weight:500;letter-spacing:-.04em;margin:23px 0;overflow-wrap:anywhere}
.contact-action{font-size:14px;color:var(--blue)}
.contact-directory .bilingual{font-size:18px;line-height:1.8;max-width:440px;margin:0}
.enquiry-section{display:grid;grid-template-columns:1fr 2fr;gap:50px;padding-top:0}
.enquiry-section h2{font-size:clamp(28px,4vw,52px);font-weight:500;letter-spacing:-.04em;margin:0 0 22px}
.enquiry-section .bilingual{font-size:21px;line-height:1.85;max-width:690px}
.enquiry-section .text-link{margin-top:18px}
@media(max-width:700px){
 .menu-dialog nav a{font-size:27px;padding:11px 0}
 .footer-nav{gap:16px 24px;font-size:13px}
 .page-intro{font-size:19px;margin-top:26px}
 .route-row{grid-template-columns:28px minmax(0,1fr);gap:18px;padding:30px 0}
 .route-row>.text-link{grid-column:2;white-space:normal}
 .route-row .bilingual{font-size:18px}
 .support-panel{grid-template-columns:1fr;gap:25px;margin:0 6%;padding:30px 24px;border-radius:20px}
 .support-panel h2{font-size:70px}
 .support-panel .bilingual{font-size:19px}
 .contact-directory{grid-template-columns:1fr}
 .contact-directory strong{font-size:27px}
 .enquiry-section{grid-template-columns:1fr;gap:25px}
 .enquiry-section .bilingual{font-size:19px}
}

/* Original outline icons replace text glyphs; size stays stable across languages. */
.icon{display:inline-block;width:20px;height:20px;min-width:20px;flex-shrink:0;vertical-align:middle;overflow:visible}
.pill .icon{width:20px;height:20px}
.menu-dots{display:inline-flex;letter-spacing:0}
.menu-dialog nav .icon{width:25px;height:25px;opacity:.85}
.menu-dialog nav small{margin-right:auto}
.text-link>svg,.intro-link .icon{width:18px;height:18px;min-width:18px}
.contact .icon,.footer-nav .icon,.footer-bottom .icon{width:16px;height:16px;min-width:16px;margin-left:6px}
.footer-nav a{display:inline-flex;gap:8px;align-items:center}
.round-arrow .icon{width:22px;height:22px}
.image-link:hover .round-arrow{transform:translateY(-3px)}
.hero-explore b{display:grid;place-items:center}
.hero-donation .icon{width:17px;height:17px;min-width:17px}
.app-links b{display:flex;align-items:center}
.app-links b .icon{width:28px;height:28px}
.route-symbol{color:var(--blue);padding-top:5px}
.route-symbol .icon{width:30px;height:30px}
.contact-action{display:inline-flex;align-items:center;gap:12px}
.detail-body article .bilingual{font-size:18px;line-height:1.9;max-width:670px}
.detail-body article .bilingual[lang=ml]{font-size:21px;line-height:1.95}
.detail-body article{margin-bottom:54px}
.extra-reading{padding-top:0}
.questions{margin-top:45px}
.questions>.eyebrow{color:var(--blue);display:block;margin-bottom:18px}
.questions details{border-top:1px solid #17202b30;padding:0}
.questions details:last-child{border-bottom:1px solid #17202b30}
.questions summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;cursor:pointer;padding:23px 0;font-size:17px;line-height:1.5;font-weight:600}
.questions summary::-webkit-details-marker{display:none}
.questions summary .icon{transition:transform .2s}
.questions details[open] summary .icon{transform:rotate(90deg)}
.questions details>.bilingual{padding:0 28px 24px 0;margin:0;line-height:1.85}
@media(max-width:700px){
 .header-actions .pill .icon{width:17px;height:17px;min-width:17px}
 .menu-toggle .icon{width:20px;height:20px;min-width:20px}
 .menu-dialog nav .icon{width:21px;height:21px}
 .detail-body article .bilingual{font-size:16px;line-height:1.85}
 .detail-body article .bilingual[lang=ml]{font-size:19px;line-height:1.9}
 .detail-body article{margin-bottom:38px}
 .route-symbol .icon{width:24px;height:24px;min-width:24px}
 .extra-reading{padding-top:0}
 .questions summary{font-size:16px;gap:18px}
 .contact .icon{width:14px;height:14px;min-width:14px;margin-left:3px}
 .footer-nav .icon{display:none}
}
@media(prefers-reduced-motion:reduce){.questions summary .icon{transition:none}}

.detail-body .bilingual,.questions summary{overflow-wrap:anywhere}

/* One continuous photographic hero; the original photograph remains intact.
   Desktop crops the upper sky; portrait screens focus on the entrance and facade. */
.centre-hero{height:auto;min-height:0;aspect-ratio:1.9;background:#172b32}
.centre-hero .hero-photo{display:block;position:absolute;top:0;left:0;width:100%;height:auto;max-width:none;object-fit:cover;object-position:center;filter:saturate(.92) contrast(1.025);transform:translateY(-14%) scale(1.012);transform-origin:50% 0;animation:centre-arrive 2.4s cubic-bezier(.22,1,.36,1) both}
.centre-hero .hero-shade{background:linear-gradient(0deg,rgba(8,24,30,.82),rgba(8,24,30,.22) 30%,transparent 64%)}
.centre-hero .hero-copy{bottom:7%;left:5%}
.centre-hero .hero-copy h2{font-size:clamp(44px,4.5vw,72px);line-height:1.18;text-shadow:0 2px 22px #071a2340}
.centre-hero .hero-explore{bottom:9%}
@keyframes centre-arrive{from{transform:translateY(-14%) scale(1.045)}to{transform:translateY(-14%) scale(1.012)}}
@keyframes centre-arrive-mobile{from{transform:scale(1.045)}to{transform:scale(1.012)}}
@media(max-width:700px){
 .centre-hero{height:clamp(360px,105vw,510px);aspect-ratio:auto;min-height:0;padding-bottom:0;border-radius:14px}
 .centre-hero .hero-photo{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:48% 50%;transform:scale(1.012);transform-origin:48% 50%;animation-name:centre-arrive-mobile}
 .centre-hero .hero-shade{background:linear-gradient(0deg,rgba(7,23,29,.88),rgba(7,23,29,.48) 24%,transparent 61%)}
 .centre-hero .hero-copy{left:7%;bottom:26px;max-width:78%}
 .centre-hero .hero-copy>.eyebrow{font-size:7px;letter-spacing:.07em}
 .centre-hero .hero-copy h2{font-size:clamp(34px,8.8vw,46px);margin-top:11px;line-height:1.18}
 .centre-hero .hero-explore{right:7%;bottom:30px}
 .centre-hero .hero-explore b{width:36px;height:36px}
}
/* Static mode retains the crop: removing its transform would reveal the watermark. */
body.motion-paused .centre-hero .hero-photo{transform:translateY(-14%) scale(1.012)!important}
@media(prefers-reduced-motion:reduce){.centre-hero .hero-photo{animation:none!important;transform:translateY(-14%) scale(1.012)!important}}
@media(max-width:700px){body.motion-paused .centre-hero .hero-photo{transform:scale(1.012)!important}}
@media(max-width:700px) and (prefers-reduced-motion:reduce){.centre-hero .hero-photo{transform:scale(1.012)!important}}

/* Desktop navigation is a compact panel; the mobile menu remains full screen. */
@media(min-width:701px){
 .menu-dialog{inset:24px 3vw auto auto;width:min(520px,88vw);height:auto;max-height:calc(100svh - 48px);margin:0;padding:26px 34px;border-radius:18px;box-shadow:0 24px 80px #071c2640}
 .menu-dialog nav{padding:20px 0 18px}
 .menu-dialog nav a{font-size:26px;line-height:1.2;padding:11px 0;gap:14px}
 .menu-dialog nav small{font-size:8px;margin-left:0}
 .menu-dialog nav a:hover{padding-left:7px}
 .menu-dialog nav .icon{width:23px;height:23px}
 .menu-bottom{flex-wrap:wrap;justify-content:flex-start;gap:20px;font-size:11px;padding-top:21px}
 .menu-bottom>span{width:100%;font-size:10px;opacity:.7}
 .menu-dialog::backdrop{background:#10282b65;backdrop-filter:blur(5px)}
}

/* Verified visitor address, v18. */
.footer-address{font-style:normal;font-size:14px;line-height:1.8;margin-bottom:9px;opacity:.9}
.centre-address{font-style:normal;font-size:17px;line-height:1.8;max-width:440px;margin:0 0 23px}
.contact-directory .map-link{margin-top:20px;padding:10px 0;border-bottom:1px solid currentColor;min-height:44px}
@media(max-width:700px){.centre-address{font-size:16px}.footer-address{font-size:13px}}

/* Keep the care worker’s face inside the wide desktop photo crop. */
@media(min-width:761px){.detail-photo:has(img[src$="/care-ai.png"]){height:clamp(520px,42vw,760px)}.detail-photo img[src$="/care-ai.png"]{object-position:center 25%}}

/* v54: native donation choices and lightweight, input-aware feedback. */
.session-picker{border:0;margin:22px auto 0;padding:0;min-width:0;max-width:380px;text-align:center;color:inherit}
.session-picker legend{float:left;width:100%;padding:0;margin:0 0 14px;font-size:13px;font-weight:600;line-height:1.5;letter-spacing:0}
.session-picker[lang=ml] legend{font-family:Anek,sans-serif;font-size:18px}
.session-options{clear:both;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.session-options label{position:relative;cursor:pointer;min-width:0;touch-action:manipulation}
.session-options input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.session-option{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:76px;padding:12px 6px;border:1px solid #132f3059;border-radius:8px;background:#fff9;color:#132f30;transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease,transform 140ms ease-out}
.session-option strong{font-size:25px;line-height:1.1;font-weight:750;font-variant-numeric:tabular-nums}
.session-option small{font-size:12px;line-height:1.5}
.session-picker[lang=ml] .session-option small{font-family:Anek,sans-serif;font-size:16px}
.session-options input:checked+.session-option{background:#132f30;border-color:#132f30;color:#fff}
.session-options input:focus-visible+.session-option{outline:2px solid #4c7064;outline-offset:3px;transition:none}
.session-options label:is(:active,.is-pressed) .session-option{transform:scale(.96)}
.session-picker .session-rate{font-size:12px;line-height:1.6;margin:12px 0 0;opacity:.8}
.session-picker[lang=ml] .session-rate{font-family:Anek,sans-serif;font-size:16px}
.interaction-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
body .nh-give-amount:has(.session-picker) .nh-price{font-variant-numeric:tabular-nums;margin-top:17px}
body :is(.pill,.nh-button,.language,.nh-link,.text-link,.nh-care-call,summary){touch-action:manipulation}
body :is(.pill,.nh-button,.language){transition:transform 140ms ease-out,background-color 160ms ease,color 160ms ease}
body :is(.nh-link,.nh-care-call,.nh-button)>.icon{transition:transform 180ms ease-out}
body :is(.nh-care-list,.questions) summary{transition:color 160ms ease,background-color 160ms ease;min-height:52px}
body :is(.nh-care-list,.questions) summary:focus-visible{outline:3px solid #456be7;outline-offset:5px}
@media(hover:hover) and (pointer:fine){
 .session-options input:not(:checked)+.session-option:hover{background:#e1ede7;border-color:#132f30}
 body :is(.nh-button,.nh-link,.nh-care-call):hover>.icon{transform:translateX(3px)}
 body :is(.nh-care-list,.questions) summary:hover{background:#132f3008}
}
@media(hover:none){body :is(.pill,.nh-button):hover{transform:none}body .text-link:hover{gap:40px}body .app-links>a:hover{padding-left:0}}
body :is(.pill,.nh-button,.language):is(:active,.is-pressed){transform:scale(.97)}
body :is(.nh-link,.text-link,.nh-care-call):active{opacity:.65}
body :is(.nh-care-list,.questions) summary:active{background:#132f3010}
body :is(.pill,.nh-button,.language):focus-visible{transition:none}
@media(prefers-reduced-motion:reduce){
 body :is(.pill,.nh-button,.language,.session-option,.nh-link,.nh-care-call),body :is(.nh-link,.nh-care-call,.nh-button)>.icon,body :is(.nh-care-list,.questions) summary{transition:none!important}
 body :is(.pill,.nh-button,.language):is(:active,.is-pressed),.session-options label:is(:active,.is-pressed) .session-option,body :is(.nh-button,.nh-link,.nh-care-call):hover>.icon{transform:none}
}

/* v57: custom contributions reuse the app's amount entry, without double entry. */
.session-custom{grid-column:1/-1}
.session-custom .session-option{flex-direction:row;gap:12px;min-height:54px}
.session-custom .session-option small{font-size:14px;font-weight:650}
.session-picker[lang=ml] .session-custom .session-option small{font-size:18px}
body .nh-give-amount .nh-price.is-custom{font-size:clamp(30px,4vw,48px);letter-spacing:-.035em;min-height:110px;display:flex;align-items:center;justify-content:center;line-height:1.3}
body .nh-give-amount .nh-price.is-custom[lang=ml]{font-family:Anek,sans-serif;letter-spacing:0}
.nh-price.is-custom>span{display:none}

/* v58: a readable dialysis rate and an exact-amount form, without extra assets. */
.session-picker .session-rate{clear:both;margin:0 0 16px;padding:12px 14px;border-radius:8px;background:#132f30;color:#fff;opacity:1;font-size:16px;font-weight:700;line-height:1.45}
.session-picker[lang=ml] .session-rate{font-size:21px}
.session-picker[lang=ml] .session-options small{font-size:14px}
.custom-donation{margin:20px 0 0;text-align:left}
.custom-donation>label{display:block;margin-bottom:8px;font-size:16px;font-weight:650}
.custom-amount-entry{display:flex;align-items:center;gap:12px;padding:10px 16px;border:2px solid #132f30;border-radius:8px;background:#fff;color:#132f30}
.custom-amount-entry:focus-within{outline:none;border-color:#4c7064;box-shadow:inset 0 0 0 1px #4c7064}
.custom-amount-entry>span{font-size:28px}
.custom-amount-entry input{display:block;width:100%;min-width:0;min-height:40px;padding:0;border:0;outline:none;border-radius:0;background:transparent;color:#132f30;font:600 clamp(22px,5vw,30px)/1.4 Manrope,sans-serif;font-variant-numeric:tabular-nums;box-shadow:none}
.custom-amount-entry:has([aria-invalid=true]){border-color:#a62716}
.custom-amount-help,.custom-amount-error{margin:10px 0 0;font-size:13px;line-height:1.5}
.session-picker[lang=ml] .custom-donation>label{font-size:20px}
.session-picker[lang=ml] .custom-amount-help,.session-picker[lang=ml] .custom-amount-error{font-size:17px}
.custom-amount-error{color:#a62716;font-weight:650}
body .nh-give-amount .custom-donate-button{width:100%;border:0;cursor:pointer;font-family:inherit;white-space:normal;overflow-wrap:anywhere}
body .nh-give-amount [hidden]{display:none!important}
@media(max-width:360px){.session-picker[lang=ml] .session-options .session-option small{font-size:13px}.session-picker[lang=ml] .session-custom .session-option small{font-size:18px}.session-option{padding-inline:2px}}

/* Keep donation keyboard focus within the centre palette. */
.nh-give-amount :is(button,a):focus-visible{outline:2px solid #4c7064;outline-offset:4px}

/* v60: keep the amount and its action together, including above mobile keyboards. */
body .nh-give-amount .custom-donation .custom-donate-button{margin:16px 0 0;max-width:none}
@media(max-width:900px){
 body .nh-give-amount .custom-donation .custom-donate-button.is-docked{position:fixed;z-index:150;top:var(--donate-top);left:6vw;width:88vw;max-width:none;min-height:56px;margin:0;padding:15px 20px;font-size:18px;line-height:1.3;box-shadow:0 0 0 8px #e4e7d8;transform:none;transition:none}
}

/* v61: both amount modes share one stable grid footprint. Inactive controls
   remain invisible/inert, while their natural height prevents layout jumps. */
.donation-stage{display:grid;margin-top:20px;min-width:0}
.donation-stage>.donation-preset,.donation-stage>.custom-donation{grid-area:1/1;min-width:0;margin:0;display:flex;flex-direction:column}
.donation-stage>.is-inactive{visibility:hidden;pointer-events:none}
body .nh-give-amount .donation-stage .nh-price{margin-top:0;font-size:clamp(72px,22vw,106px);white-space:nowrap}
.donation-preset>.nh-price{flex:1}
body .nh-give-amount .donation-preset>a.nh-button{width:100%;max-width:none;margin:16px 0 0}
.custom-donate-slot{margin-top:auto;padding-top:16px;flex-shrink:0}
body .nh-give-amount .custom-donation .custom-donate-slot>.custom-donate-button{margin:0}

@keyframes donation-mode-in{from{opacity:.25}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){.donation-stage>:not(.is-inactive){animation:donation-mode-in 150ms ease-out}}
