/* Self-hosted Inter (variable, latin + latin-ext) — replaces render-blocking Google Fonts */
@font-face{font-family:'Inter';font-style:normal;font-weight:300 600;font-display:swap;src:url(/assets/fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:300 600;font-display:swap;src:url(/assets/fonts/inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
/* Nanda Medical Center — shared design system (base). Auto-extracted. */
/* ============================================================
   NANDA MEDICAL CENTER — v2
   Inter (light) · flat/white · single accent: teal #30A890
   8pt grid · 1px borders · 16px card radius · pill buttons
   ============================================================ */
:root{
  --teal:#30A890;            /* brand accent: icons, tints, hover */
  --teal-deep:#1A6B5A;       /* readable teal: text on white, button fills */
  --teal-soft:#EAF5F2;       /* light wash */
  --teal-line:#CFE3DD;       /* tinted hairline */

  --ink:#16221F;             /* headings */
  --body:#4C5854;            /* body text */
  --muted:#8B948F;           /* captions */
  --bg:#FFFFFF;
  --bg-soft:#F6FAF9;
  --line:#E6ECEA;
  --dark:#0E332C;            /* footer / donate band */
  --on-dark:#A9CcC3;
  --on-dark-soft:#7FA39A;

  --bw:1px;
  --r:16px;
  --r-sm:12px;
  --pill:999px;

  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;

  --sh-1:0 1px 2px rgba(22,34,31,.04);
  --sh-2:0 8px 24px rgba(22,34,31,.06);
  --sh-3:0 18px 50px rgba(22,34,31,.10);
  --sh-fab:0 10px 24px rgba(26,107,90,.30);

  --container:1200px;
  --gutter:24px;
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip}
body{font-family:var(--font);font-weight:400;overflow-x:clip;color:var(--body);background:var(--bg);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--teal);color:#fff}

.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.section{padding:var(--s9) 0}
.section--soft{background:var(--bg-soft)}

/* Inner-page hero (Doctor Schedule, Mission, Contact, Privacy, 404) */
.page-hero{padding:var(--s9) 0 var(--s7);background:var(--bg-soft);border-bottom:var(--bw) solid var(--line)}
.page-hero h1{font-size:clamp(32px,5vw,54px);font-weight:600;letter-spacing:-.03em;margin-bottom:var(--s4)}
.page-hero .lead{margin-bottom:var(--s5)}

.eyebrow{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--s2);max-width:100%;font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:var(--s4)}
.eyebrow::before{content:"";width:18px;height:var(--bw);background:var(--teal)}
.eyebrow .dev{font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--teal-deep)}

h1,h2,h3,h4,h5{color:var(--ink);line-height:1.12;letter-spacing:-.02em;font-weight:500}
h2.title{font-size:clamp(28px,3.5vw,40px);font-weight:600;max-width:none}
.lead{font-size:clamp(17px,1.6vw,19px);font-weight:300;color:var(--body);max-width:60ch}
.section-head{margin-bottom:var(--s8);max-width:880px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);font-family:var(--font);font-size:15.5px;font-weight:500;line-height:1;padding:15px 26px;border-radius:var(--pill);border:var(--bw) solid transparent;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease;white-space:nowrap}
.btn svg{width:18px;height:18px;flex:none}
.btn--primary{background:var(--teal-deep);color:#fff}
.btn--primary:hover{background:#14564a;transform:translateY(-2px);box-shadow:var(--sh-2)}
.btn--ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--teal);color:var(--teal-deep);transform:translateY(-2px)}
.btn--ghost-dark{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.btn--ghost-dark:hover{border-color:#fff;background:rgba(255,255,255,.06);transform:translateY(-2px)}
.btn--sm{padding:11px 18px;font-size:14px}
.btn--block{width:100%}

/* Chips */
.chips{display:flex;flex-wrap:wrap;gap:var(--s2)}
.chip{display:inline-flex;align-items:center;gap:var(--s2);font-size:13.5px;font-weight:400;color:var(--ink);background:#fff;border:var(--bw) solid var(--line);padding:8px 14px;border-radius:var(--pill)}
.chip svg{width:15px;height:15px;color:var(--teal)}

/* ---------- HEADER (two-tier, Narayana-style) ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(180%) blur(10px);border-bottom:var(--bw) solid var(--line);transition:box-shadow .2s ease}
.site-header.scrolled{box-shadow:var(--sh-1)}
.hdr-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);height:74px}
.brand{display:inline-flex;align-items:center}
.brand img{height:50px;width:auto}
.utils{display:flex;align-items:center;gap:var(--s7)}
.util{display:inline-flex;align-items:center;gap:9px;font-size:14px;color:var(--ink)}
.util svg{width:18px;height:18px;color:var(--teal);flex:none}
.util b{font-weight:500;color:var(--ink)}
.util span{display:block;font-size:11.5px;color:var(--muted);line-height:1.1}
.util .stack{display:flex;flex-direction:column;line-height:1.15}
.hdr-nav{display:flex;align-items:center;gap:var(--s7);height:52px;border-top:var(--bw) solid var(--line)}
.hdr-nav a{font-size:15px;font-weight:400;color:var(--ink);position:relative;padding:4px 0}
.hdr-nav a::after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:2px;background:var(--teal);transition:width .22s ease}
.hdr-nav a:hover{color:var(--teal-deep)}
.hdr-nav a:hover::after{width:100%}
.hdr-nav a[aria-current="page"]{color:var(--teal-deep);font-weight:500}
.hdr-nav a[aria-current="page"]::after{width:100%}
.drawer a.dlink[aria-current="page"]{color:var(--teal-deep);font-weight:500}
.mobile-actions{display:none;align-items:center;gap:var(--s3)}
.icon-btn{width:46px;height:46px;border:var(--bw) solid var(--line);border-radius:var(--r-sm);background:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.icon-btn svg{width:22px;height:22px;color:var(--ink)}
@media(max-width:1080px){.utils,.hdr-nav{display:none}.mobile-actions{display:inline-flex}.hdr-top{height:66px}.brand img{height:44px}}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:60;background:rgba(22,34,31,.5);opacity:0;visibility:hidden;transition:.25s}
.drawer.open{opacity:1;visibility:visible}
.drawer-panel{position:absolute;top:0;right:0;height:100%;width:min(86%,360px);background:#fff;padding:var(--s6) var(--s5);transform:translateX(100%);transition:transform .28s ease;display:flex;flex-direction:column;gap:var(--s2);overflow-y:auto}
.drawer.open .drawer-panel{transform:translateX(0)}
.drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s5)}
.drawer-top img{height:44px}
.drawer a.dlink{padding:14px 6px;font-size:17px;font-weight:400;color:var(--ink);border-bottom:var(--bw) solid var(--line)}
.drawer .dbtns{display:flex;flex-direction:column;gap:var(--s3);margin-top:var(--s5)}

/* ---------- HERO (full-bleed image) ---------- */
.hero{position:relative;width:100%;min-height:86vh;display:flex;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;display:block}
.hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(95deg,rgba(11,40,34,.85) 0%,rgba(11,40,34,.60) 28%,rgba(11,40,34,.22) 55%,rgba(11,40,34,0) 82%),linear-gradient(0deg,rgba(11,40,34,.55) 0%,rgba(11,40,34,0) 42%)}
.hero-inner{position:relative;z-index:2;width:100%;display:flex;flex-direction:column;justify-content:space-between;padding-top:var(--s7);padding-bottom:var(--s8)}
.trust-pill{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.14);border:var(--bw) solid rgba(255,255,255,.30);backdrop-filter:blur(6px);border-radius:var(--pill);padding:6px 16px 6px 6px;color:#fff;font-size:13px;font-weight:400;max-width:100%}
.trust-pill .avatars{display:inline-flex}
.trust-pill .avatars span{width:28px;height:28px;border-radius:var(--pill);border:2px solid rgba(255,255,255,.65);background:var(--teal);display:inline-flex;align-items:center;justify-content:center;margin-left:-9px;overflow:hidden}
.trust-pill .avatars span picture{display:block;width:100%;height:100%}
.trust-pill .avatars span img{width:100%;height:100%;object-fit:cover;display:block}
.trust-pill .avatars span:first-child{margin-left:0}
.trust-pill .avatars svg{width:16px;height:16px;color:#fff}
.hero-content{max-width:820px;margin-top:auto}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;color:#bfe7dd;font-size:12.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-bottom:var(--s4)}
.hero-eyebrow::before{content:"";width:22px;height:var(--bw);background:#7fe0cc}
.hero h1{color:#fff;font-size:clamp(38px,6.4vw,76px);font-weight:600;line-height:1.03;letter-spacing:-.03em;margin-bottom:var(--s5)}
.hero h1 em{font-style:normal;color:#7fe0cc}
.hero-sub{color:rgba(255,255,255,.88);font-size:clamp(16px,1.7vw,19px);font-weight:300;max-width:56ch;margin-bottom:var(--s6)}
.hero-cta{display:flex;flex-wrap:wrap;gap:var(--s3)}
.btn--light{background:#fff;color:var(--teal-deep)}
.btn--light:hover{background:#eafaf6;transform:translateY(-2px);box-shadow:var(--sh-2)}
.btn--on-img{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.5)}
.btn--on-img:hover{background:rgba(255,255,255,.16);border-color:#fff;transform:translateY(-2px)}
@media(max-width:760px){.hero{min-height:78vh}.hero h1{font-size:clamp(34px,9vw,50px)}.hero-inner{padding-top:var(--s6);padding-bottom:var(--s7)}.hero-scrim{background:linear-gradient(0deg,rgba(11,40,34,.88) 0%,rgba(11,40,34,.50) 46%,rgba(11,40,34,.34) 100%)}}

/* ---------- STATS ---------- */
.stats{border-top:var(--bw) solid var(--line);border-bottom:var(--bw) solid var(--line)}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:var(--s7) var(--s4);text-align:center;border-left:var(--bw) solid var(--line)}
.stat:first-child{border-left:0}
.stat b{display:block;font-size:clamp(30px,3.4vw,40px);font-weight:300;color:var(--teal-deep);letter-spacing:-.02em;line-height:1}
.stat span{display:block;margin-top:var(--s2);font-size:14px;color:var(--muted)}
@media(max-width:760px){.stats .wrap{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-left:var(--bw) solid var(--line)}.stat:nth-child(3){border-left:0;border-top:var(--bw) solid var(--line)}.stat:nth-child(4){border-top:var(--bw) solid var(--line)}}

/* ---------- CARDS ---------- */
.grid{display:grid;gap:var(--s5)}
.g-3{grid-template-columns:repeat(3,1fr)}
.card{background:#fff;border:var(--bw) solid var(--line);border-radius:var(--r);padding:var(--s6);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.card:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:var(--teal-line)}
.card-ic{width:54px;height:54px;border-radius:var(--r-sm);background:var(--teal-soft);display:flex;align-items:center;justify-content:center;margin-bottom:var(--s5)}
.card-ic svg{width:27px;height:27px;color:var(--teal)}
.card h3{font-size:21px;font-weight:500;margin-bottom:var(--s3)}
.card p{font-size:15.5px;color:var(--body)}
.card .tag{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:var(--s4)}
.sys-card{position:relative}
.sys-card .badge{position:absolute;top:var(--s5);right:var(--s5);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--teal-deep);background:var(--teal-soft);border:var(--bw) solid var(--teal-line);border-radius:var(--pill);padding:6px 12px}

/* problems tiles */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
.tile{display:flex;gap:var(--s4);align-items:flex-start;background:#fff;border:var(--bw) solid var(--line);border-radius:var(--r);padding:var(--s5);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.tile:hover{transform:translateY(-3px);border-color:var(--teal-line);box-shadow:var(--sh-1)}
.tile .t-ic{width:46px;height:46px;flex:none;border-radius:var(--r-sm);background:var(--teal-soft);display:flex;align-items:center;justify-content:center}
.tile .t-ic svg{width:24px;height:24px;color:var(--teal)}
.tile h4{font-size:16.5px;font-weight:500;margin-bottom:4px}
.tile p{font-size:13.5px;color:var(--muted);line-height:1.5}
.tile .sys{display:inline-block;margin-top:8px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--teal-deep)}
@media(max-width:900px){.tiles{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.tiles{grid-template-columns:1fr}}

/* departments */
.depts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
.dept{display:flex;align-items:center;gap:var(--s4);background:#fff;border:var(--bw) solid var(--line);border-radius:var(--r);padding:var(--s4) var(--s5);transition:.18s ease}
.dept:hover{border-color:var(--teal);box-shadow:var(--sh-1)}
.dept .d-ic{width:40px;height:40px;flex:none;border-radius:var(--r-sm);background:var(--teal-soft);display:flex;align-items:center;justify-content:center}
.dept .d-ic svg{width:21px;height:21px;color:var(--teal)}
.dept b{font-size:15.5px;color:var(--ink);font-weight:500}
.dept span{display:block;font-size:12.5px;color:var(--muted)}
@media(max-width:900px){.depts{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.depts{grid-template-columns:1fr}}

/* diagnostics + pharmacy */
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}
.panel{background:#fff;border:var(--bw) solid var(--line);border-radius:var(--r);padding:var(--s7)}
.panel .p-head{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s5)}
.panel .p-ic{width:48px;height:48px;border-radius:var(--r-sm);background:var(--teal-soft);display:flex;align-items:center;justify-content:center;flex:none}
.panel .p-ic svg{width:25px;height:25px;color:var(--teal)}
.panel h3{font-size:22px;font-weight:500}
.tags{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s5)}
.tag-pill{font-size:13.5px;font-weight:400;color:var(--ink);background:var(--bg-soft);border:var(--bw) solid var(--line);border-radius:var(--pill);padding:8px 14px}
.panel .meta{display:flex;flex-direction:column;gap:8px;font-size:14.5px;color:var(--body);border-top:var(--bw) solid var(--line);padding-top:var(--s5)}
.panel .meta div{display:flex;align-items:center;gap:10px}
.panel .meta svg{width:16px;height:16px;color:var(--teal);flex:none}
@media(max-width:840px){.split{grid-template-columns:1fr}}

/* doctors */
.docs{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.doc{background:#fff;border:var(--bw) solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.doc:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.doc-photo{aspect-ratio:1/1;background:var(--teal-soft);display:flex;align-items:center;justify-content:center;border-bottom:var(--bw) solid var(--line)}
.doc-photo svg{width:80px;height:80px;color:#bcdcd3}
.doc-photo picture{display:block;width:100%;height:100%}
.doc-photo img{width:100%;height:100%;object-fit:cover;display:block}
.doc-body{padding:var(--s5)}
.doc-body b{font-size:17px;font-weight:500;color:var(--ink);display:block}
.doc-body .spec{font-size:13.5px;color:var(--teal-deep);font-weight:500;margin-top:3px}
.doc-body p{font-size:13.5px;color:var(--muted);margin-top:var(--s3)}
@media(max-width:900px){.docs{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.docs{grid-template-columns:1fr 1fr;gap:var(--s4)}}

/* legacy */
.legacy-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--s8);align-items:center}
.legacy-img{aspect-ratio:4/3;border-radius:var(--r);border:var(--bw) solid var(--line);background:var(--teal-soft);box-shadow:var(--sh-2);display:flex;align-items:center;justify-content:center;position:relative}
.legacy-img svg{width:90px;height:90px;color:#bcdcd3}
.legacy h2{font-size:clamp(26px,3.4vw,38px);font-weight:600;margin-bottom:var(--s5)}
.legacy p{margin-bottom:var(--s4);font-size:16px;font-weight:300}
.verse{margin-top:var(--s5);padding:var(--s5);background:var(--teal-soft);border-radius:var(--r);border-left:3px solid var(--teal)}
.verse .dev{font-size:18px;color:var(--teal-deep);font-weight:500;line-height:1.5}
.verse .en{font-size:14px;color:var(--body);margin-top:8px;font-style:italic}
@media(max-width:900px){.legacy-grid{grid-template-columns:1fr;gap:var(--s6)}.legacy-img{max-width:480px;order:-1}}

/* donate band */
.donate{background:var(--dark);color:var(--on-dark);text-align:center;border-radius:var(--r);padding:var(--s9) var(--s6)}
.donate .eyebrow{color:#7fd6c3}.donate .eyebrow::before{background:#7fd6c3}
.donate h2{color:#fff;font-weight:600;font-size:clamp(26px,3.6vw,40px);max-width:20ch;margin:0 auto var(--s5)}
.donate p{max-width:56ch;margin:0 auto var(--s6);color:var(--on-dark);font-size:16px;font-weight:300}
.donate .d-cta{display:flex;gap:var(--s3);justify-content:center;flex-wrap:wrap}
.donate .note{margin-top:var(--s6);font-size:13px;color:var(--on-dark-soft)}

/* visit */
.visit-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--s7)}
.contact-card{background:#fff;border:var(--bw) solid var(--line);border-radius:var(--r);padding:var(--s7);box-shadow:var(--sh-1)}
.contact-row{display:flex;gap:var(--s4);padding:var(--s4) 0;border-bottom:var(--bw) solid var(--line)}
.contact-row:last-of-type{border-bottom:0}
.contact-row .c-ic{width:42px;height:42px;flex:none;border-radius:var(--r-sm);background:var(--teal-soft);display:flex;align-items:center;justify-content:center}
.contact-row .c-ic svg{width:21px;height:21px;color:var(--teal)}
.contact-row b{font-size:15px;font-weight:500;color:var(--ink);display:block}
.contact-row a,.contact-row span{font-size:14.5px;color:var(--body)}
.contact-row a:hover{color:var(--teal-deep)}
.visit-cta{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s6)}
.map-frame{border-radius:var(--r);overflow:hidden;border:var(--bw) solid var(--line);box-shadow:var(--sh-1);min-height:440px;height:100%}
.map-frame iframe{width:100%;height:100%;min-height:440px;border:0;display:block}
@media(max-width:900px){.visit-grid{grid-template-columns:1fr}}

/* ---------- FOOTER (overlapping CTA card + dark) ---------- */
.footer{display:flow-root;background:var(--dark);color:var(--on-dark);padding:0 0 var(--s6)}
.foot-cta{margin-top:-80px;margin-bottom:var(--s8);background:var(--teal-soft);border:var(--bw) solid var(--teal-line);border-radius:var(--r);padding:var(--s8) var(--s7);display:grid;grid-template-columns:1fr 1fr;gap:var(--s6);align-items:center;box-shadow:var(--sh-3)}
.foot-cta h2{font-size:clamp(26px,3.4vw,38px);font-weight:600;color:var(--ink);max-width:14ch}
.foot-cta .cta-right p{color:var(--body);font-size:16px;font-weight:300;margin-bottom:var(--s5);max-width:42ch}
.foot-cta .cta-btns{display:flex;gap:var(--s3);flex-wrap:wrap}
@media(max-width:820px){.foot-cta{grid-template-columns:1fr;gap:var(--s5);padding:var(--s7) var(--s6)}}

.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.2fr;gap:var(--s6);padding-bottom:var(--s7);border-bottom:var(--bw) solid rgba(255,255,255,.1)}
.footer .fbrand img{height:54px;width:auto}
.footer .f-desc{margin-top:var(--s4);font-size:14px;font-weight:300;max-width:34ch;line-height:1.7;color:var(--on-dark)}
.footer h5{color:#fff;font-weight:500;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:var(--s4)}
.footer ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.footer ul a,.footer ul span{font-size:14.5px;font-weight:300;color:var(--on-dark)}
.footer ul a:hover{color:#fff}
.socials{display:flex;gap:var(--s2);margin-top:var(--s5)}
.socials a{width:40px;height:40px;border-radius:var(--pill);border:var(--bw) solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;transition:.18s}
.socials a:hover{background:var(--teal);border-color:var(--teal)}
.socials svg{width:18px;height:18px;color:#dcefe9}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);padding-top:var(--s6);font-size:13px;font-weight:300;color:var(--on-dark-soft);flex-wrap:wrap}
.footer-bottom .links{display:flex;gap:var(--s4);flex-wrap:wrap}
.footer-bottom a:hover{color:#fff}.hgx-tag{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:300;color:var(--on-dark-soft);border:var(--bw) solid rgba(255,255,255,.14);border-radius:var(--pill);padding:7px 14px;transition:.18s ease;white-space:nowrap}.hgx-tag .dot{width:6px;height:6px;border-radius:var(--pill);background:var(--teal);flex:none}.hgx-tag strong{font-weight:600;color:#fff;letter-spacing:.04em}.hgx-tag:hover{border-color:var(--teal);color:#fff;transform:translateY(-1px)}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:var(--s6)}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr}}

/* ---------- STICKY FAB STACK (bottom-right) ---------- */
.fab-stack{position:fixed;right:24px;bottom:24px;z-index:65;display:flex;flex-direction:column;gap:var(--s3);align-items:flex-end}
.fab{position:relative;display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:var(--pill);background:var(--teal-deep);color:#fff;box-shadow:var(--sh-fab);transition:transform .18s ease,background .18s ease}
.fab:hover{transform:translateY(-3px) scale(1.04);background:#14564a}
.fab svg{width:24px;height:24px}
.fab.fab-wa{width:64px;height:64px;background:transparent;box-shadow:none}
.fab.fab-wa:hover{background:transparent;transform:translateY(-3px) scale(1.06)}
.fab-wa .fab-img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 6px 14px rgba(0,0,0,.20))}
.fab-label{position:absolute;right:calc(100% + 12px);white-space:nowrap;background:#fff;color:var(--ink);border:var(--bw) solid var(--line);box-shadow:var(--sh-1);font-size:13px;font-weight:500;padding:8px 14px;border-radius:var(--pill);opacity:0;transform:translateX(8px);transition:.18s ease;pointer-events:none}
.fab:hover .fab-label{opacity:1;transform:none}
@media(max-width:760px){.fab-stack{right:16px;bottom:16px;gap:10px}.fab{width:50px;height:50px}.fab.fab-wa{width:60px;height:60px}.fab-label{display:none}}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}
:focus-visible{outline:3px solid var(--teal);outline-offset:2px;border-radius:6px}
.note-tag{display:inline-flex;align-items:center;gap:8px;background:var(--teal-soft);border:var(--bw) solid var(--teal-line);color:var(--teal-deep);font-size:12.5px;font-weight:500;padding:7px 14px;border-radius:var(--pill)}.note-tag svg{width:15px;height:15px;flex:none}.center-cta{display:flex;justify-content:center;margin-top:var(--s7)}.docs-note{margin-top:var(--s5);font-size:14px;color:var(--muted);text-align:center}

/* ============================================================
   PHOTOGRAPHY ADDITIONS — real facility imagery
   ============================================================ */

/* Story image (replaces the placeholder in "Our story") */
.legacy-img{overflow:hidden}
.legacy-img img{width:100%;height:100%;object-fit:cover;display:block}

/* Facilities gallery (homepage bento) */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:var(--s4)}
.gal{position:relative;margin:0;border-radius:var(--r);overflow:hidden;border:var(--bw) solid var(--line);box-shadow:var(--sh-1)}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.gal:hover img{transform:scale(1.06)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 16px 13px;color:#fff;font-size:13.5px;font-weight:500;letter-spacing:.01em;background:linear-gradient(to top,rgba(11,40,34,.78),rgba(11,40,34,.32) 55%,transparent);pointer-events:none}
.gal-lg{grid-column:span 2;grid-row:span 2}
.gal-wide{grid-column:span 2}
@media(max-width:900px){.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:168px}.gal-lg{grid-column:span 2;grid-row:span 2}.gal-wide{grid-column:span 2}}
@media(max-width:560px){.gallery{grid-auto-rows:132px;gap:var(--s3)}.gal-lg{grid-column:span 2;grid-row:span 2}.gal-wide{grid-column:span 2}.gal figcaption{font-size:12.5px;padding:20px 12px 10px}}

/* Inner-page hero with photographic background */
.page-hero--img{position:relative;background:var(--dark);border-bottom:0;overflow:hidden}
.page-hero--img .ph-media{position:absolute;inset:0;z-index:0}
.page-hero--img .ph-media img{width:100%;height:100%;object-fit:cover}
.page-hero--img::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(11,40,34,.60),rgba(11,40,34,.82))}
.page-hero--img .wrap{position:relative;z-index:2}
.page-hero--img h1{color:#fff}
.page-hero--img .lead{color:rgba(255,255,255,.9)}
.page-hero--img .eyebrow,.page-hero--img .eyebrow .dev{color:#bfe7dd}
.page-hero--img .eyebrow::before{background:#7fe0cc}
.page-hero--img .note-tag{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);color:#eafaf6}

/* ============================================================
   SCROLL MOTION — additive. Same UI/type/colour, adds animation.
   Governed by the prefers-reduced-motion guard (line ~287).
   ============================================================ */
/* nicer easing + optional stagger via --i (0 = unchanged) */
.reveal{transition:opacity .7s cubic-bezier(.16,.84,.44,1),transform .7s cubic-bezier(.16,.84,.44,1);transition-delay:calc(var(--i,0)*90ms)}
/* heading mask-reveal (text slides up from behind a clip; JS wraps the inner span) */
.reveal-title{overflow:hidden;padding-bottom:.1em}
.reveal-title .rt-inner{display:block;transform:translateY(115%);transition:transform 1s cubic-bezier(.16,.84,.44,1);transition-delay:calc(var(--i,0)*80ms)}
.reveal-title.in .rt-inner{transform:translateY(0)}
/* subtle parallax on the story frame (JS drives translateY) */
.legacy-img.px img{position:absolute;left:0;top:-9%;height:118%;will-change:transform}
/* keep counting digits from reflowing */
.stat b{font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){.reveal-title{overflow:visible;padding-bottom:0}.reveal-title .rt-inner{transform:none}.legacy-img.px img{position:absolute;top:0;height:100%;transform:none}}

/* ============================================================
   IMPORTANT NOTICE BAR — no online booking / third-party alert
   ============================================================ */
.notice-bar{background:#FCEBC6;border-bottom:1px solid #E8CC82;color:#4b3d18}
.notice-bar .notice-inner{display:flex;align-items:flex-start;gap:11px;padding:11px 0;font-size:13.5px;line-height:1.55}
.notice-bar .notice-ic{flex:none;width:20px;height:20px;color:#C4820E;margin-top:1px}
.notice-bar p{margin:0}
.notice-bar strong{color:#3a2f12;font-weight:600}
.notice-bar a{color:#0F5C4A;font-weight:600;text-decoration:underline;white-space:nowrap}
@media(max-width:600px){.notice-bar .notice-inner{padding:10px 0;gap:9px;font-size:12.5px}}
