:root{--red:#126151;--red-dark:#093e33;--ink:#17392e;--muted:#52665d;--soft:#eff6ed;--line:#ccdacd;--pink:#deede1;--gold:#d9aa66;--shadow:0 14px 32px #183e2c12}
body{background:#f7f8f1;font-family:"Nirmala UI","Noto Sans Bengali",system-ui,sans-serif;color:var(--ink)}header{background:#fffff9;border-bottom:1px solid var(--line)}.brandname{font-family:system-ui,sans-serif}.hero{background:#123e34;color:#fff;padding:clamp(35px,5vw,82px) 0}.hero-grid{gap:clamp(28px,5vw,80px)}.hero h1{font-size:clamp(38px,5vw,76px);font-weight:650;letter-spacing:normal;line-height:1.22;color:#fff}.hero h1 em{color:#c3dfa9}.hero .lead{color:#e0ece2;font-size:1.05rem}.hero .eyebrow{color:#c3dfa9}.hero-art{min-height:0;margin:0}.hero .photo-frame{width:100%;height:auto;aspect-ratio:1.18;border:0;border-radius:80px 18px 80px 18px;background:#c4d3bf}.hero .photo-frame img{height:100%}.btn,button,.therapy-choice{border-radius:12px}.hero .btn{background:#cce9ae;color:#17392e;border-color:#cce9ae}.hero .btn.light{background:transparent;color:white;border-color:#709285}.directory{padding:48px 0 70px}.directory h2{font-size:clamp(26px,3vw,40px)}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr));gap:14px}.tile{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px;background:white;border:1px solid var(--line);border-radius:18px;color:#17392e;text-decoration:none;font-weight:700}.tile span{display:grid;place-items:center;border-radius:50%;background:#e6f1df;width:34px;height:34px;flex:none}.tile:hover,.tile:focus-visible{border-color:#397961;background:#f0f6ed}.tiles .tile:nth-child(3n+1){background:#edf3e7}.section-head h2,.about-copy h2{letter-spacing:normal;line-height:1.32}.stats,.services,.contact,.map-section,main>section:not(.hero){background:#f7f8f1}.fee-card,.info-card,.hours-card,.step,.stat,.service-card,.gallery-card,.map-card,.contact-form,.therapy-detail,.faq-list details{border:1px solid var(--line);border-radius:20px;background:white;color:var(--ink);box-shadow:var(--shadow)}.trail{display:block;padding-top:22px;color:var(--red);font-weight:650}.footer-links a:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #cb9447;outline-offset:3px}footer{background:#123e34}.gallery-grid img,.service-thumb{border-radius:14px}.login{border-top:5px solid #397961}.metric{border-top:4px solid #8fb58c}.panel,.metric{box-shadow:var(--shadow)}@media(max-width:680px){.hero .photo-frame{aspect-ratio:1.55;border-radius:40px 12px}.hero .actions{display:grid}.hero-grid{gap:24px}.directory{padding:28px 0}.tile{padding:15px 18px}}.page-title{font-size:clamp(30px,4vw,52px);line-height:1.28;letter-spacing:normal;color:var(--ink);margin:0 0 16px}

.home-page {
  --red: #b51224;
  --red-dark: #850d1a;
  --ink: #211b1e;
  --muted: #61575c;
  --line: #e9dce0;
  background: white;
}
.home-page header { background: white; }
.home-page .hero { background: linear-gradient(110deg,#fff 35%,#fbebee); border-bottom: 1px solid var(--line); }
.home-page .hero h1 { max-width: 16ch; color: var(--ink); font-size: clamp(40px,4.8vw,72px); line-height: 1.24; }
.home-page .hero h1 em { display: block; color: var(--red); font-style: normal; }
.home-page .hero .eyebrow { color: var(--red-dark); }
.home-page .hero .lead { color: var(--muted); max-width: 48ch; line-height: 1.8; }
.home-page .hero .photo-frame { aspect-ratio: 1.45; border-radius: 20px; background: #f4dce0; box-shadow: 8px 8px 0 #ecd1d7; }
.home-page .hero .btn { background: var(--red); border-color: var(--red); color: white; border-radius: 9px; }
.home-page .hero .btn.light { background: white; color: var(--red-dark); border-color: var(--line); }
.home-page .hero .btn:hover { background: var(--red-dark); color: white; }
.home-page main>.directory { background: white; }
.directory-groups { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.directory-card { padding: 24px; border: 1px solid var(--line); border-top: 3px solid var(--red); border-radius: 12px; }
.directory-card h3 { margin: 0 0 12px; color: var(--red-dark); font-size: 22px; }
.directory-card .tile { min-height: 48px; border: 0; border-top: 1px solid var(--line); padding: 10px 0; border-radius: 0; color: var(--ink); font-weight: 550; }
.directory-card .tile span { background: #fff2f4; color: var(--red); width: 28px; height: 28px; }
.directory-card .tile:hover,.directory-card .tile:focus-visible { background: #fff6f7; color: var(--red-dark); }
.home-page footer { background: #21191c; }
@media(max-width:800px) { .directory-groups { grid-template-columns: 1fr; } .directory-card { padding: 18px; } }
@media(max-width:680px) { .home-page .hero .photo-frame { aspect-ratio: 1.65; width: calc(100% - 12px); } }

/* Public site masthead and material surfaces */
body:has(.wrap.nav) {
  --red:#b51224; --red-dark:#820e21; --ink:#291d22; --line:#e6d9dd;
  --paper:#fcf8f7; --glass:rgba(255,255,255,.83);
  --lift:0 14px 34px -22px #62324066, inset 0 1px 0 #fff;
  background:var(--paper);
}
header:has(.wrap.nav) {
  background:var(--glass); backdrop-filter:blur(20px) saturate(125%);
  border-bottom:1px solid #dfd0d4; box-shadow:0 4px 20px #44232a08;
}
.wrap.nav { min-height:86px; gap:16px; position:relative; }
.nav .brand { gap:12px; color:#281e21; }
.nav .logo { width:52px; height:52px; padding:3px; object-fit:contain; border:1px solid #dfc9cb; background:white; box-shadow:0 0 0 4px #f7eff0; }
.nav .brandname { max-width:180px; font:720 16px/1.12 system-ui,sans-serif; letter-spacing:-.45px; }
.nav .brandname small { font:600 12px/1.5 "Nirmala UI",sans-serif; letter-spacing:.35px; color:#88414d; }
.nav .links {
  padding:5px; gap:4px; border:1px solid #e3d5da; border-radius:16px;
  background:linear-gradient(140deg,#fff,#f0e8e9); box-shadow:var(--lift);
}
.nav .links a {
  display:flex; align-items:center; justify-content:center; min-height:40px; padding:6px 13px;
  border:1px solid transparent; border-radius:11px; color:#48353c;
}
.nav .links a:hover,.nav .links a:focus-visible,.nav .links a[aria-current="page"] {
  background:white; border-color:#ead5d9; box-shadow:0 2px 6px #57283512; color:#9f1226;
}
.nav>.btn,.home-page .hero .btn:not(.light) {
  background:linear-gradient(135deg,#c31b39,#900e24); color:white; border:1px solid #9d172b;
  border-radius:12px; box-shadow:inset 0 1px 0 #ffffff45,0 7px 16px -8px #98102799;
}
.home-page .hero {
  background:radial-gradient(ellipse at 86% 30%,#efd5dc 0,transparent 50%),linear-gradient(118deg,#fffaf7,#fff 49%,#f9e9ed);
}
.home-page .hero .photo-frame {
  box-sizing:border-box; aspect-ratio:1.42; padding:8px; border:1px solid #fff; border-radius:28px;
  background:linear-gradient(140deg,#fff,#f8e4e6b8);box-shadow:0 28px 54px -32px #6337439c;
}
.home-page .hero .photo-frame img { border-radius:20px; }
.home-page .hero .btn.light { background:var(--glass); box-shadow:var(--lift); }
.home-page main>.directory { background:#faf6f5; }
.home-page .directory h2 { letter-spacing:normal; }
.directory-card {
  padding:0 22px 14px; overflow:hidden; border:1px solid #e6d9dd; border-radius:22px;
  background:linear-gradient(145deg,#fff,#fcf8f7); box-shadow:var(--lift);
}
.directory-card h3 {
  position:relative; isolation:isolate; display:flex; align-items:end; min-height:142px; margin:0 -22px 8px;
  padding:24px 22px 14px; color:white; font-size:24px; background:#53343e;
}
.directory-card h3::before {
  content:""; position:absolute; z-index:-1; inset:0;
  background:linear-gradient(0deg,#26141beb 0%,#361d2640 65%),var(--cover) center 42%/cover;
}
.directory-card:nth-child(1){--cover:url("images/gallery-services-intro.jpg")}
.directory-card:nth-child(2){--cover:url("images/royal-banner.jpg")}
.directory-card:nth-child(3){--cover:url("images/gallery-personal-care.jpg")}
.directory-card .tile { background:transparent; }
.directory-card .tile:first-of-type { border-top:0; }
.directory-card .tile span { background:white; border:1px solid #e5cdd4; }
main :is(.service-card,.gallery-card,.fee-card,.info-card,.hours-card,.stat,.step,.map-card,.contact-form,.therapy-choice,.faq-list details) {
  background:linear-gradient(155deg,#fff 25%,#fcf6f7); border:1px solid #e5d7dc;
  color:#302228; border-radius:20px; box-shadow:var(--lift);
}
main :is(.service-card,.gallery-card,.fee-card,.info-card,.hours-card,.stat,.step) :is(p,h3,li){color:#44333a}
@media(max-width:900px) {
  .wrap.nav{min-height:72px}.nav .menu{display:block}.nav>.btn{display:none}
  .nav .links{display:none;position:absolute;top:calc(100% - 2px);left:auto;right:0;width:min(320px,100%);padding:8px;flex-direction:column;align-items:stretch;background:#fffcfd;box-shadow:0 18px 40px #4e293028}
  .nav .links.open{display:flex}.nav .links a{justify-content:flex-start;min-height:44px}
}
@media(max-width:680px){
  .nav .logo{width:43px;height:43px}.nav .brandname{font-size:15px}
  .home-page .hero .photo-frame{aspect-ratio:1.6;width:100%;padding:5px}
  .directory-card h3{min-height:116px}
}

/* Each spread shares the same wine, blush and pearl palette. */
body:has(.wrap.nav) {--muted:#675961;background:#faf5f5}
main>.trail {padding-top:10px;padding-bottom:4px;font-size:14px}
main>.trail+section {padding-top:12px;background:linear-gradient(135deg,#fffafa,#f8edf0 55%,#fffdfa)}
#services .section-head {
  display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:4px 36px;
  max-width:none;margin:0 0 18px;padding:20px 24px;text-align:left;
  border:1px solid #ebd6db;border-radius:18px;background:linear-gradient(115deg,#fff,#fbecf0);
  box-shadow:inset 0 1px white,0 8px 25px -22px #682f44
}
#services .eyebrow {justify-content:flex-start;margin:0;grid-column:1/-1}
#services .page-title {font-size:clamp(28px,3.1vw,44px);line-height:1.3;margin:0;max-width:19em}
#services .section-head p {margin:0;padding:10px 16px;border-left:2px solid #bc5369;color:#5b424a;font-size:16px}
#services .cards {gap:20px}
#services .service-card {
  display:flex;flex-direction:column;padding:0 0 17px;overflow:hidden;border:1px solid #e9d7db;border-radius:20px;
  background:linear-gradient(130deg,#fffc,#fff8 60%,#fbeef3b8);backdrop-filter:blur(14px);
  box-shadow:0 13px 32px -22px #66344566,inset 0 1px #fff
}
#services .service-thumb {width:100%;height:auto;aspect-ratio:2.02;object-fit:cover;margin:0;border-radius:0}
#services .service-card h3 {align-self:stretch;position:relative;margin:-16px 11px 0;padding:13px 14px 8px;
  background:linear-gradient(110deg,#fffffff2,#fff9);backdrop-filter:blur(14px);border:1px solid #fff;
  border-radius:12px;color:#41192a;font-size:21px;line-height:1.35}
#services .service-card p {margin:10px 23px 16px;line-height:1.65;flex:1;color:#5b4950}
#services .text-link {align-self:flex-start;margin:0 22px;padding:6px 12px;background:#f9e6eb;color:#8e1935;border-radius:9px}
.home-page main>.hero {background:#faf4f4;padding:clamp(12px,2vw,28px) 0 0;border:0}
.home-page .hero-grid {
  position:relative;isolation:isolate;overflow:hidden;grid-template-columns:1fr 1fr;gap:0;
  background:#491428;color:white;border-radius:26px;box-shadow:0 18px 55px -40px #4e1329
}
.home-page .hero-grid>div:first-child {padding:clamp(22px,3.8vw,58px);z-index:1}
.home-page .hero-grid h1 {font-size:clamp(38px,4.2vw,64px);line-height:1.22;max-width:100%;margin:12px 0;color:white}
.home-page .hero-grid h1 em {color:#ffd6df}
.home-page .hero .eyebrow {color:#ffdce4}
.home-page .hero .lead {color:#f8e4ea;font-size:clamp(15px,1.4vw,19px);max-width:40ch;line-height:1.75;margin:14px 0 22px}
.home-page .hero .hero-art {align-self:stretch;min-height:0;margin:0;position:relative}
.home-page .hero .photo-frame {position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;padding:0;border:0;border-radius:0;box-shadow:none}
.home-page .hero .photo-frame img {width:100%;height:100%;object-fit:cover;border-radius:0}
.home-page .hero-art:after {content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#491428 0%,#49142833 12%,transparent 30%)}
.home-page .hero .actions .btn {color:#72152e;background:#fff4f5;border:1px solid white;border-radius:10px;box-shadow:none}
.home-page .hero .actions .light {background:#ffffff12;color:white;border-color:#ffffff65}
.home-page main>.directory {padding:clamp(24px,3.2vw,48px) 0 58px;background:linear-gradient(#faf4f4,#fff)}
.home-page .directory h2 {font-size:clamp(25px,2.5vw,36px);margin:0 0 18px}
.home-page .directory-card {background:linear-gradient(135deg,#fff,#fff9fa);border-color:#ecdee2;box-shadow:0 14px 28px -23px #55253866}
@media(max-width:760px){
  #services .section-head {grid-template-columns:1fr;padding:15px;gap:8px;margin-bottom:12px}
  #services .section-head p {padding:5px 12px;font-size:15px}
  .home-page .hero-grid {grid-template-columns:1fr;border-radius:18px}
  .home-page .hero-grid>div:first-child {padding:22px}
  .home-page .hero .hero-art {height:clamp(190px,54vw,300px)}
  .home-page .hero-art:after {background:linear-gradient(#491428 0%,transparent 18%)}
  .home-page .hero .actions {display:flex;flex-wrap:wrap;gap:8px}
  .home-page .hero .actions a {flex:1 1 130px}
}


.home-page #care-guide {background:#faf4f4;padding:clamp(24px,3.3vw,46px) 0 0}
.care-heading,.care-caption {display:flex;align-items:center;justify-content:space-between;gap:12px}
.care-heading {margin-bottom:16px}
.care-heading h2,.care-caption h3 {margin:0;letter-spacing:normal}
.care-heading h2 {font-size:clamp(24px,2.4vw,34px);line-height:1.4}
.care-heading a {color:#831732;white-space:nowrap;padding-block:10px;font-weight:700}
.care-grid {display:grid;grid-template-columns:1.18fr 1fr 1fr;gap:14px}
.care-feature {display:grid;position:relative;isolation:isolate;overflow:hidden;min-height:clamp(190px,19vw,255px);border-radius:19px;background:#491428;color:white;text-decoration:none}
.care-photo {width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:-2}
.care-feature::before {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#270d1ce8,#270d1c73 26%,transparent 62%)}
.care-caption {align-self:end;padding:16px;color:white}
.care-caption h3 {font-size:clamp(20px,1.75vw,26px);color:white}
.care-caption span {display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff78;border-radius:50%;background:#ffffff22;backdrop-filter:blur(9px)}
.care-feature:is(:hover,:focus-visible) .care-caption span {color:#75192f;background:white}
.home-page .directory-card h3 {color:#69192e;background:#f9ecef;min-height:0;padding:16px 22px;font-size:20px}
.home-page .directory-card h3::before {content:none}
#services .service-card {scroll-margin-top:105px}
#services .service-card:target {outline:2px solid #ae3859;outline-offset:2px}
@media(max-width:680px){
  .care-grid {grid-template-columns:1fr 1fr;gap:10px}
  .care-feature {min-height:154px;border-radius:15px}
  .care-feature:first-child {grid-column:1/-1;min-height:190px}
  .care-caption {padding:10px;gap:4px}
  .care-caption h3 {font-size:17px}
  .care-caption span {width:25px;height:25px;flex:none}
}
