:root{--navy:#0c5360;--navy2:#09414d;--ink:#1c2733;--muted:#5a6675;--gold:#c48a1d;--goldl:#f2b134;--paper:#f2f6f6;--card:#fff;--rule:#d5e0e1;--serif:"Source Serif 4",Georgia,serif;--sans:"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}a{color:var(--navy2)}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}

/* header */
.top{background:#fff;border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:5}
.bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:12px;padding-bottom:12px}
.brand{text-decoration:none;color:var(--navy);display:flex;flex-direction:column;line-height:1.2}
.brand-n{font:600 19px var(--serif)}.brand-q{font-size:12px;color:var(--muted)}
nav{display:flex;gap:6px;flex-wrap:wrap}
nav a{text-decoration:none;color:var(--ink);font-size:14.5px;font-weight:500;padding:8px 12px;border-radius:6px}
nav a:hover{background:var(--paper)}nav a[aria-current]{color:var(--navy);box-shadow:inset 0 -2px 0 var(--gold);border-radius:0}

/* hero */
.hero{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;position:relative}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--gold),var(--goldl),var(--gold))}
.hgrid{display:grid;grid-template-columns:1.3fr .8fr;gap:56px;align-items:center;padding-top:60px;padding-bottom:72px}
.eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--goldl);font-weight:600;margin:0 0 14px}
h1{font:600 clamp(34px,5vw,54px)/1.08 var(--serif);margin:0 0 10px;letter-spacing:-.01em}
.quals{font:500 20px var(--serif);margin:0 0 18px;color:#e8edf3}
.role{font-size:17px;color:#d6dee8;max-width:560px;margin:0 0 24px}
.regchip{display:inline-flex;flex-wrap:wrap;gap:6px 18px;border:1px solid rgba(217,184,102,.5);border-radius:6px;padding:10px 16px;font-size:14px;color:#e8edf3;background:rgba(255,255,255,.04);margin:0 0 28px}
.regchip b{color:#fff}
.hacts{display:flex;gap:12px;flex-wrap:wrap;margin:0}
.hphoto{margin:0;justify-self:end;max-width:340px;width:100%;position:relative}
.hphoto img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 12%;border-radius:4px;box-shadow:0 24px 50px rgba(0,0,0,.35)}
.hphoto::before{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--goldl);border-radius:4px;z-index:-1}

/* buttons */
.b{display:inline-block;text-decoration:none;font-weight:600;font-size:14.5px;padding:10px 18px;border-radius:6px;background:var(--navy);color:#fff;border:1px solid var(--navy)}
.b:hover{background:var(--navy2)}
.b.alt{background:#fff;color:var(--navy);border-color:var(--rule)}.b.alt:hover{border-color:var(--navy)}
.b.gold{background:var(--goldl);color:var(--navy);border-color:var(--goldl)}.b.gold:hover{background:#e6c978}
.b.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}.b.ghost:hover{background:rgba(255,255,255,.1)}
.more{font-weight:600}

/* strip */
.strip{margin-top:-1px}
.strip ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.strip li{padding:24px 20px;border-right:1px solid var(--rule);display:flex;flex-direction:column}
.strip li:last-child{border-right:0}
.strip b{font:700 28px/1.1 var(--serif);color:var(--navy)}
.strip span{font-size:13.5px;color:var(--muted);margin-top:6px;line-height:1.4}

/* sections */
.sec{padding:64px 0}.tint{background:var(--paper)}
h2{font:600 28px/1.25 var(--serif);color:var(--navy);margin:0 0 6px}
h2::after{content:"";display:block;width:48px;height:3px;background:var(--gold);margin-top:12px}
h3{font:600 20px/1.3 var(--serif);color:var(--navy);margin:0 0 6px}
.lead{font-size:18px;line-height:1.7;margin:20px 0 0}
.sub{color:var(--muted);margin:18px 0 28px}
p{margin:14px 0 0}
.two{display:grid;grid-template-columns:1.2fr .8fr;gap:56px}
.tags{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:16px 0 0;padding:0}
.tags li{border:1px solid var(--rule);background:#fff;border-radius:999px;padding:7px 15px;font-size:14.5px;font-weight:500;color:var(--navy)}
.ticks{list-style:none;margin:16px 0 0;padding:0}
.ticks li{position:relative;padding:9px 0 9px 26px;border-bottom:1px solid var(--rule)}
.ticks li:last-child{border-bottom:0}
.ticks li::before{content:"";position:absolute;left:4px;top:18px;width:8px;height:8px;background:var(--gold);transform:rotate(45deg)}

/* clinics */
.clinics{display:grid;gap:22px}
.clinic{display:grid;grid-template-columns:230px 1fr;border-left:4px solid var(--navy);background:#fff;border:1px solid var(--rule);border-radius:8px;overflow:hidden}
.clinic-logo{display:grid;place-items:center;padding:24px;background:#fff;border-right:1px solid var(--rule)}
.clinic-logo img{max-width:100%;max-height:150px;object-fit:contain}
.clinic-logo.online{background:var(--navy)}.clinic-logo.online span{font:600 22px/1.25 var(--serif);color:#fff;text-align:center}
.clinic-body{padding:24px 28px}
.clinic .loc{color:var(--gold);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px}
.clinic dl{display:grid;grid-template-columns:150px 1fr;gap:6px 16px;margin:16px 0 0;font-size:15px}
dt{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;padding-top:3px}
dd{margin:0}dd small{color:var(--muted)}
.acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
/* clinic card ordering note: Isha first, Jolydoc second, KIMS last */

/* articles / cards */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.art{display:block;background:#fff;border:1px solid var(--rule);border-radius:8px;padding:22px;text-decoration:none;color:var(--ink);border-top:3px solid var(--gold)}
a.art:hover{box-shadow:0 10px 24px rgba(14,38,64,.1)}
.art.soon{opacity:.7;border-top-color:var(--rule)}
.art h3{margin:8px 0 6px}.art p{margin:0;color:var(--muted);font-size:15px}
.tag{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600}
.note{margin-top:40px;padding:24px 28px;background:var(--paper);border:1px solid var(--rule);border-radius:8px}
.tint .note{background:#fff}

/* page head */
.phead{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:48px 0 44px;border-bottom:4px solid var(--gold)}
.phead h1{font-size:clamp(30px,4vw,44px);margin:0 0 8px}.phead .quals{font-size:17px;margin:0;color:#d6dee8}
.art-h{font-size:clamp(26px,3.6vw,38px)}

/* about */
.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px}
.article-grid h2{margin-top:44px}.article-grid h2:first-child{margin-top:0}
.tl{list-style:none;margin:24px 0 0;padding:0 0 0 26px;border-left:2px solid #e9dcc0}
.tl li{position:relative;padding:0 0 24px;display:flex;flex-direction:column}
.tl li::before{content:"";position:absolute;left:-33px;top:6px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--gold)}
.when{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:600}
.tl .role{font:600 19px/1.3 var(--serif);color:var(--navy);margin-top:2px}
.tl .org{font-weight:500}.tl .note{color:var(--muted);font-size:15px;margin-top:4px;background:none;border:0;padding:0}
.pubs{counter-reset:p;list-style:none;margin:20px 0 0;padding:0}
.pubs li{counter-increment:p;position:relative;padding:12px 0 12px 44px;border-bottom:1px solid var(--rule);font-size:15px}
.pubs li::before{content:counter(p);position:absolute;left:0;top:12px;width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font-size:12.5px;font-weight:600;display:grid;place-items:center}
.pubs .j{color:var(--muted)}
aside .panel{background:var(--paper);border:1px solid var(--rule);border-top:3px solid var(--gold);border-radius:8px;padding:20px 22px;margin-top:20px}
aside dl{margin:12px 0 0}aside dt{margin-top:12px}aside dt:first-child{margin-top:0}
.sidephoto{margin:0}.sidephoto img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 12%;border-radius:6px}

/* prose */
.narrow{max-width:760px}.prose h2{margin-top:40px}.prose ul{padding-left:22px}.prose li{margin-bottom:8px}
.callout{margin-top:36px;padding:16px 20px;border-left:4px solid var(--gold);background:var(--paper);border-radius:0 6px 6px 0;font-size:15px}

/* contact table */
.ctable{border:1px solid var(--rule);border-radius:8px;overflow:hidden}
.crow{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1fr;gap:16px;padding:18px 22px;border-bottom:1px solid var(--rule);font-size:15px}
.crow:last-child{border-bottom:0}.crow.head{background:var(--paper);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}

/* footer */
.foot{background:var(--navy);color:#c9d3df;font-size:14.5px;margin-top:0}
.fgrid{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:40px;padding-top:44px;padding-bottom:28px}
.foot a{color:#e8edf3}.foot p{margin:6px 0 0}
.fn{font:600 20px var(--serif);color:#fff;margin:0}.fh{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--goldl);font-weight:600;margin:0}
.fine{border-top:1px solid rgba(255,255,255,.12);padding-top:18px;padding-bottom:28px;font-size:12.5px;line-height:1.6;color:#9eacbd}

@media (max-width:960px){
  .hgrid{grid-template-columns:1fr;gap:40px;padding-top:40px;padding-bottom:60px}
  .hphoto{justify-self:start;max-width:280px}
  .strip ul{grid-template-columns:1fr 1fr}.strip li:nth-child(2){border-right:0}.strip li:nth-child(-n+2){border-bottom:1px solid var(--rule)}
  .two,.article-grid{grid-template-columns:1fr;gap:36px}
  .cards3{grid-template-columns:1fr 1fr}
  .fgrid{grid-template-columns:1fr}
}
@media (max-width:680px){
  .wrap{padding-left:16px;padding-right:16px}
  .bar{flex-direction:column;align-items:flex-start;gap:6px}
  nav a{padding:6px 9px;font-size:14px}
  .sec{padding:44px 0}
  .clinic{grid-template-columns:1fr}.clinic-logo{border-right:0;border-bottom:1px solid var(--rule);padding:18px}
  .clinic-body{padding:20px}.clinic dl{grid-template-columns:1fr;gap:2px}.clinic dt{margin-top:10px}
  .cards3{grid-template-columns:1fr}
  .strip ul{grid-template-columns:1fr}.strip li{border-right:0;border-bottom:1px solid var(--rule)}.strip li:last-child{border-bottom:0}
  .crow{grid-template-columns:1fr;gap:6px}.crow.head{display:none}
}

.click{font-size:13.5px;font-weight:600;color:var(--gold);text-underline-offset:3px}
.clinic dd a{color:var(--navy2)}
.maps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.maps iframe{height:280px}
.maps figure{margin:0;background:#fff;border:1px solid var(--rule);border-radius:8px;padding:16px}
.maps figcaption{font:600 17px/1.3 var(--serif);margin-bottom:10px}
.maps figcaption a{color:var(--navy);text-decoration:none}.maps figcaption a:hover{text-decoration:underline}
.maps iframe{width:100%;height:300px;border:0;border-radius:6px;background:var(--paper)}
.maps .click{display:inline-block;margin-top:10px}
.social{margin-top:40px}
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:14px}
.sgrid div{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border:1px solid var(--rule);border-radius:8px;padding:16px}
.sgrid b{flex-basis:100%;font:600 17px var(--serif);color:var(--navy)}
.foot b{color:#fff}
@media (max-width:960px){.maps,.sgrid{grid-template-columns:1fr}}

.app{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff}
.app h2{color:#fff}.app .ticks li{border-color:rgba(255,255,255,.18)}.app .lead{color:#dbe7ea}
.appgrid{display:grid;grid-template-columns:1.3fr .7fr;gap:48px;align-items:start}
.stores{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.store{display:flex;flex-direction:column;background:#000;color:#fff;text-decoration:none;border:1px solid #777;border-radius:10px;padding:10px 20px;min-width:170px}
.store small{font-size:11px;opacity:.8}.store b{font-size:19px;line-height:1.2}
.store:hover{border-color:var(--goldl)}
.wabox{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:24px}
.wabox h3{color:#fff}
.pharm{border:1px solid var(--rule);border-left:4px solid var(--gold);border-radius:8px;padding:28px;display:grid;grid-template-columns:1fr 1.4fr;gap:40px;background:#fff}
.pharm dl{display:grid;grid-template-columns:110px 1fr;gap:8px 16px;margin:0}
.pharm h2{margin-bottom:6px}
@media (max-width:960px){.appgrid,.pharm{grid-template-columns:1fr;gap:28px}}

/* booking */
.navbook{font:600 14.5px var(--sans);background:var(--gold);color:#fff;border:0;border-radius:6px;padding:9px 16px;cursor:pointer;margin-left:8px}
.navbook:hover{background:#a97410}
.b.book{background:var(--gold);border-color:var(--gold);cursor:pointer;font-family:var(--sans)}
.b.book:hover{background:#a97410}
button.b{cursor:pointer;font-family:var(--sans)}
.fab-wa{position:fixed;right:18px;bottom:18px;z-index:40;display:flex;align-items:center;gap:12px;background:#25d366;color:#fff;text-decoration:none;border-radius:999px;padding:10px 20px 10px 14px;box-shadow:0 8px 24px rgba(0,0,0,.28);transition:transform .15s}
.fab-wa:hover{transform:translateY(-2px);background:#1fba5a}
.fab-wa span{display:flex;flex-direction:column;line-height:1.2;text-align:left}
.fab-wa b{font-size:15px}.fab-wa small{font-size:12px;opacity:.95}
.bookdlg{border:0;padding:0;width:min(960px,94vw);height:min(86vh,820px);border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.4);overflow:hidden;color:var(--ink)}
.bookdlg[open]{display:flex;flex-direction:column}
.bookdlg::backdrop{background:rgba(9,35,42,.6)}
.bookhead{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--navy);color:#fff;flex-wrap:wrap}
.bookhead h2{font:600 18px var(--serif);color:#fff;margin:0}.bookhead h2::after{display:none}
.booktabs{display:flex;gap:6px;flex:1}
.booktab{font:600 13.5px var(--sans);color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:6px 14px;cursor:pointer}
.booktab[aria-selected="true"]{background:var(--goldl);color:var(--navy);border-color:var(--goldl)}
.bookx{font-size:28px;line-height:1;background:none;border:0;color:#fff;cursor:pointer;padding:0 6px}
.bookbody{position:relative;flex:1;background:#fff}
.bookbody iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.bookload{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:var(--muted);z-index:0}
.bookbody iframe{z-index:1;background:transparent}
.bookfoot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 16px;font-size:13.5px;border-top:1px solid var(--rule);background:var(--paper)}
html.noscroll{overflow:hidden}
@media (max-width:680px){
  .fab-wa{right:12px;bottom:12px;padding:10px 16px 10px 12px}
  .bookdlg{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border-radius:0}
  .navbook{margin:6px 0 0}
}

.booktabs.single{display:none}
.bookhead h2{margin-right:auto}

a.navbook{display:inline-block;text-decoration:none;margin-left:8px}
a.b.book{background:var(--gold);border-color:var(--gold);color:#fff}
a.b.book:hover{background:#a97410}

/* ---- clickable text: bold + colour ---- */
:root{--link:#0b6fa4}
main a:not(.b):not(.store):not(.art):not(.soc):not(.more):not(.brand){color:var(--link);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
main a:not(.b):not(.store):not(.art):not(.soc):hover{color:#c48a1d}
.more{color:var(--link);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.click{color:#9a6a0a;font-weight:700}
nav a{font-weight:700}
.foot a:not(.soc){color:#ffd166;font-weight:700}
.foot a:not(.soc):hover{color:#fff}
.b{font-weight:700}
.art h3{color:var(--link)}
.maps figcaption a{color:var(--link);font-weight:700;text-decoration:underline}
.crow a,.clinic dd a,.pharm dd a{color:var(--link);font-weight:700}
.app a:not(.b):not(.store){color:#ffd166}

/* ---- social buttons with logos ---- */
.soc{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;font-size:14.5px;color:#fff;padding:9px 16px 9px 12px;border-radius:999px;line-height:1;box-shadow:0 2px 6px rgba(0,0,0,.15);transition:transform .15s,box-shadow .15s}
.soc:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.25);color:#fff}
.soc svg{flex:none}
.soc.instagram{background:linear-gradient(45deg,#f09433,#e6683c 30%,#dc2743 55%,#cc2366 75%,#bc1888)}
.soc.facebook{background:#1877f2}
.soc.youtube{background:#e60000}
.soc.big{font-size:17px;padding:14px 24px 14px 18px}
.socrow{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 14px}
.fsoc{margin:10px 0 0;color:#fff}
.sgrid .soc{flex:none}
.sgrid div{gap:10px}

/* ---- YouTube section ---- */
.ytsec{background:linear-gradient(135deg,#fff7f5,#fff);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.ytgrid{display:grid;grid-template-columns:auto 1fr;gap:36px;align-items:center}
.ytico{width:120px;height:120px;border-radius:28px;background:#e60000;color:#fff;display:grid;place-items:center;box-shadow:0 14px 30px rgba(230,0,0,.25)}
.ytico svg{width:72px;height:72px}
.ytsec .m{color:var(--muted);font-size:13.5px;margin-top:12px}
.ytsec h2{color:var(--navy)}
@media (max-width:680px){.ytgrid{grid-template-columns:1fr;gap:20px}.ytico{width:84px;height:84px;border-radius:20px}.ytico svg{width:50px;height:50px}}

.sgrid div{align-content:flex-start;align-items:flex-start}
.sgrid b{margin-bottom:2px}

/* contact page */
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:18px}
.qc{display:flex;flex-direction:column;gap:4px;text-decoration:none;background:#fff;border:2px solid var(--rule);border-top:5px solid var(--navy);border-radius:10px;padding:20px;color:var(--ink);transition:transform .15s,box-shadow .15s}
.qc:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(12,83,96,.16)}
.qc.wa{border-top-color:#25d366}
.qc .qi{font-size:28px;line-height:1}
.qc b{font:700 18px var(--serif);color:var(--navy);margin-top:6px}
.qc .qn{font-weight:700;font-size:17px;color:var(--link)}
.qc small{font-size:13.5px;color:var(--muted);line-height:1.45}
.ways{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.way{background:#fff;border:1px solid var(--rule);border-radius:10px;padding:22px;position:relative}
.way .num{position:absolute;top:-14px;left:20px;width:32px;height:32px;border-radius:50%;background:var(--gold);color:#fff;font-weight:700;display:grid;place-items:center;box-shadow:0 3px 8px rgba(0,0,0,.2)}
.way h3{margin:6px 0 6px}.way p{margin:8px 0 0;font-size:15px}
.way .best{color:var(--muted);font-size:13.5px;border-top:1px dashed var(--rule);padding-top:10px;margin-top:12px}
.sync{display:flex;align-items:stretch;gap:14px;margin:28px 0 8px;flex-wrap:wrap}
.sync-in,.sync-out{display:flex;flex-direction:column;gap:8px;flex:1;min-width:190px}
.sync-in span,.sync-out span{background:#fff;border:1px solid var(--rule);border-left:4px solid var(--gold);border-radius:6px;padding:9px 14px;font-weight:600;font-size:14.5px}
.sync-out span{border-left-color:#25d366}
.sync-core{flex:1;min-width:200px;background:var(--navy);color:#fff;border-radius:10px;padding:20px;display:flex;flex-direction:column;justify-content:center;text-align:center;box-shadow:0 12px 26px rgba(12,83,96,.25)}
.sync-core b{font:700 20px var(--serif)}.sync-core small{color:#cfe6ea;margin-top:6px}
.sync-arrow{align-self:center;font-size:26px;color:var(--gold);font-weight:700}
.m{color:var(--muted);font-size:14px;margin-top:14px}
@media (max-width:960px){.quick{grid-template-columns:1fr 1fr}.ways{grid-template-columns:1fr 1fr}.sync-arrow{transform:rotate(90deg);flex-basis:100%;text-align:center}}
@media (max-width:680px){.quick,.ways{grid-template-columns:1fr}}
main a.qc:not(.b):not(.store):not(.art):not(.soc):not(.more):not(.brand){color:var(--ink);font-weight:400;text-decoration:none}
main a.qc:not(.b):not(.store):not(.art):not(.soc):not(.more):not(.brand):hover{color:var(--ink)}
.qc .qn{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}

/* =============== modern layer =============== */
html{scroll-snap-type:y proximity;scroll-padding-top:64px}
.hero,.phead,main > .sec,.app,.ytsec{scroll-snap-align:start}
.strip{scroll-snap-align:none}
.top{background:rgba(255,255,255,.82);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);transition:box-shadow .25s}
html.scrolled .top{box-shadow:0 6px 24px rgba(12,83,96,.12)}
.progress{position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--gold),var(--goldl));z-index:60;transition:width .1s linear}

/* full-height sections: one scroll opens the next */
main > .sec{min-height:calc(100svh - 64px);display:flex;flex-direction:column;justify-content:center}
main > .sec > .wrap{width:100%}
.hero{min-height:calc(100svh - 64px - 96px);display:flex;align-items:center}
.hero .hgrid{width:100%}
.phead{min-height:34svh;display:flex;align-items:center}
.phead > .wrap{width:100%}

/* hero depth */
.hero::before{content:"";position:absolute;width:520px;height:520px;right:-120px;top:-140px;background:radial-gradient(circle,rgba(242,177,52,.28),transparent 65%);animation:drift 14s ease-in-out infinite alternate;pointer-events:none}
@keyframes drift{from{transform:translate(0,0) scale(1)}to{transform:translate(-60px,40px) scale(1.15)}}
.hphoto img{transition:transform .6s}
.hphoto:hover img{transform:scale(1.02)}

/* reveal */
html.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
html.js .reveal.in{opacity:1;transform:none}

/* cards feel */
.clinic,.way,.qc,.art,.pharm,.maps figure{transition:transform .25s,box-shadow .25s}
.clinic:hover,.way:hover,.maps figure:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(12,83,96,.14)}

/* dots */
.dots{position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;gap:12px}
.dots button{width:11px;height:11px;border-radius:50%;border:2px solid var(--navy);background:transparent;padding:0;cursor:pointer;transition:transform .2s,background .2s}
.dots button.on{background:var(--gold);border-color:var(--gold);transform:scale(1.35)}
.dots button:hover{background:var(--goldl)}

/* floating WhatsApp: popping */
.fab-wa{animation:fabpop 3.2s ease-in-out infinite;z-index:55}
.fab-wa::before,.fab-wa::after{content:"";position:absolute;inset:0;border-radius:999px;border:2px solid #25d366;animation:ring 2.4s ease-out infinite;pointer-events:none}
.fab-wa::after{animation-delay:1.2s}
@keyframes ring{0%{transform:scale(1);opacity:.85}100%{transform:scale(1.5,1.9);opacity:0}}
@keyframes fabpop{0%,86%,100%{transform:translateY(0) scale(1)}90%{transform:translateY(-10px) scale(1.06)}94%{transform:translateY(0) scale(1)}97%{transform:translateY(-5px) scale(1.03)}}
.fab-wa svg{animation:wiggle 3.2s ease-in-out infinite;transform-origin:50% 60%}
@keyframes wiggle{0%,86%,100%{transform:rotate(0)}89%{transform:rotate(-14deg)}92%{transform:rotate(12deg)}95%{transform:rotate(-8deg)}}
.fab-bubble{position:fixed;right:18px;bottom:88px;z-index:56;width:min(280px,calc(100vw - 36px));background:#fff;color:var(--ink);border-radius:14px;padding:14px 38px 14px 16px;box-shadow:0 16px 40px rgba(0,0,0,.25);border:1px solid var(--rule);opacity:0;transform:translateY(12px) scale(.96);pointer-events:none;transition:opacity .35s,transform .35s}
.fab-bubble::after{content:"";position:absolute;right:34px;bottom:-8px;width:16px;height:16px;background:#fff;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);transform:rotate(45deg)}
.fab-bubble.show{opacity:1;transform:none;pointer-events:auto}
.fab-bubble b{display:block;font:700 16px var(--serif);color:var(--navy)}
.fab-bubble span{font-size:13.5px;color:var(--muted);line-height:1.4;display:block;margin-top:2px}
.fab-bubble button{position:absolute;right:8px;top:6px;border:0;background:none;font-size:22px;line-height:1;color:var(--muted);cursor:pointer}

/* hamburger */
.menu{display:none;width:44px;height:44px;border:1px solid var(--rule);border-radius:10px;background:#fff;cursor:pointer;padding:0;position:relative;flex:none}
.menu span{position:absolute;left:11px;right:11px;height:2.5px;background:var(--navy);border-radius:2px;transition:transform .25s,opacity .2s,top .25s}
.menu span:nth-child(1){top:14px}.menu span:nth-child(2){top:21px}.menu span:nth-child(3){top:28px}
html.menuopen .menu span:nth-child(1){top:21px;transform:rotate(45deg)}
html.menuopen .menu span:nth-child(2){opacity:0}
html.menuopen .menu span:nth-child(3){top:21px;transform:rotate(-45deg)}

@media (max-width:860px){
  .bar{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
  .menu{display:block}
  #mainnav{position:fixed;left:0;right:0;top:var(--hh,64px);background:rgba(255,255,255,.98);backdrop-filter:blur(14px);flex-direction:column;gap:0;padding:8px 16px 20px;border-bottom:1px solid var(--rule);box-shadow:0 24px 40px rgba(0,0,0,.15);transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;max-height:calc(100dvh - var(--hh,64px));overflow:auto}
  html.menuopen #mainnav{opacity:1;transform:none;pointer-events:auto}
  #mainnav a{font-size:18px;padding:14px 8px;border-bottom:1px solid var(--rule);border-radius:0}
  #mainnav a[aria-current]{box-shadow:none;color:var(--gold)}
  a.navbook{margin:14px 0 0;text-align:center;padding:14px;font-size:16px}
  .brand-n{font-size:17px}
  .dots{display:none}
  main > .sec{min-height:calc(100svh - var(--hh,56px))}
  .hero{min-height:calc(100svh - var(--hh,56px))}
  .hgrid{gap:28px}
  .fab-wa{right:14px;bottom:14px;padding:12px 18px 12px 14px}
  .fab-wa small{display:block}
  .fab-bubble{right:14px;bottom:86px}
  body{padding-bottom:84px}
}
@media (max-width:420px){.fab-wa b{font-size:14px}.fab-wa small{font-size:11px}}
@media (prefers-reduced-motion:reduce){
  html{scroll-snap-type:none;scroll-behavior:auto}
  .fab-wa,.fab-wa::before,.fab-wa::after,.fab-wa svg,.hero::before{animation:none}
  html.js .reveal{opacity:1;transform:none;transition:none}
}
html{overflow-x:clip}
.hero{overflow:hidden}
@keyframes ring{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.22,1.6);opacity:0}}
.fab-bubble{max-width:calc(100vw - 28px)}

@media (max-width:860px){html{scroll-padding-top:52px}.bar{min-height:56px}}

html{scroll-snap-type:y mandatory}
.strip{scroll-snap-align:none}
footer.foot{scroll-snap-align:end}

@media (min-width:961px){.ways .way:last-child:nth-child(3n+1){grid-column:1/-1}}

/* ====== poster-style consulting places ====== */
.ptable{margin-top:22px;border-radius:10px;overflow:hidden;border:1px solid var(--rule);background:#fff;box-shadow:0 10px 30px rgba(12,83,96,.08)}
.prow{display:grid;grid-template-columns:1.05fr 1.25fr 1.15fr .8fr 1fr;align-items:center;border-left:6px solid var(--ac,#0c5360);border-top:1px solid var(--rule)}
.prow:nth-child(odd):not(.ph0){background:#fff}.prow:nth-child(even):not(.ph0){background:#f1f7f7}
.prow.ph0{background:#0c5360;color:#fff;font:700 12.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;border-left-color:#0c5360;border-top:0}
.prow.ph0 span{padding:12px 16px}
.pc{padding:18px 16px}
.plogo img{max-width:100%;max-height:92px;display:block;margin:0 auto}
.ologo{display:block;text-align:center;color:#2f9e6b;font-size:30px;line-height:1.1}
.ologo b{font:700 15px var(--serif);letter-spacing:.04em}
.paddr{font-size:15.5px;line-height:1.55}
.paddr a{color:var(--ink)!important;font-weight:500!important;text-decoration:none!important}
.paddr a:hover{color:var(--link)!important;text-decoration:underline!important}
.pcon .ph{display:block;font:700 22px var(--sans);color:#0c5360!important;text-decoration:none!important;letter-spacing:.01em}
.pcon .ph::before{content:"\260E\00a0";font-size:18px;color:#0c5360}
.pcon small{display:block;color:var(--muted);font-size:12.5px;line-height:1.5;margin-top:4px}
.pcon small a{font-weight:600!important}
.ptime{text-align:center}
.ptime b{display:block;font:800 19px/1.25 var(--sans);color:var(--ink);letter-spacing:.01em}
.ptime small{display:block;font-size:11.5px;font-weight:700;letter-spacing:.1em;color:var(--ac);text-transform:uppercase;margin-bottom:4px}
.ploc{text-align:center}
.qrbox{display:inline-block;text-decoration:none!important;border:3px solid var(--ac);border-radius:14px;overflow:hidden;background:#fff;transition:transform .2s}
.qrbox:hover{transform:scale(1.04)}
.qrimg{display:block;width:112px;padding:8px;line-height:0}
.qrimg svg{width:100%;height:auto;display:block}
.qrlab{display:block;background:var(--ac);color:#fff;font:700 11px var(--sans);letter-spacing:.1em;padding:6px 4px}
.lochint{font-size:13px;color:var(--muted);line-height:1.5;display:block}
.pnote{margin-top:12px}

/* ====== book / scan / connect ====== */
.bsc .eyebrow.dark{color:var(--gold)}
.band{border-radius:18px;margin-top:22px;overflow:hidden}
.band.wa{background:linear-gradient(135deg,#0c5360,#073540);color:#fff;border:2px solid #d9b866;padding:30px 34px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
.band.wa .big{font:700 clamp(26px,4vw,42px)/1.1 var(--sans);margin:6px 0 0}
.band.wa .big .gold{color:#f2b134}
.band.wa .bignum{display:flex;align-items:center;gap:12px;margin:6px 0 0;font:800 clamp(34px,5.4vw,58px)/1.1 var(--sans)}
.band.wa .bignum a{color:#fff!important;text-decoration:none!important}
.band-t{color:#cfe6ea;margin-top:14px;max-width:560px}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:16px 0 0;padding:0}
.chips li{border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:6px 14px;font-size:13.5px;font-weight:600}
.band-qr{display:block;text-align:center;text-decoration:none!important;background:#fff;border-radius:16px;padding:14px 14px 10px;box-shadow:0 12px 30px rgba(0,0,0,.3);width:190px}
.band-qr span{display:block;line-height:0}.band-qr svg{width:100%;height:auto}
.band-qr b{display:block;color:#073540;font:800 12px var(--sans);letter-spacing:.16em;margin-top:8px}
.band.app2{background:#eaf4f4;border:1px solid var(--rule);display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:22px 28px}
.appico{width:64px;height:64px;background:#0c5360;border-radius:16px;display:grid;place-items:center}
.app2-t h3{font:800 24px/1.2 var(--sans);color:var(--ink);margin:0}
.app2-t p{margin:6px 0 0;color:var(--muted);font-size:15px}
.stores{display:flex;flex-direction:column;gap:10px;margin:0}
.store{display:flex;align-items:center;gap:12px;background:#000;color:#fff!important;text-decoration:none!important;border:1px solid #666;border-radius:10px;padding:8px 18px;min-width:178px}
.store span{display:flex;flex-direction:column;line-height:1.15}.store small{font-size:10.5px;opacity:.85;letter-spacing:.06em}.store b{font-size:18px;font-weight:700}
.band.follow{background:linear-gradient(135deg,#fdf1f1,#f2f1fb);border:1px solid var(--rule);padding:24px 28px;text-align:center}
.band.follow .fl{font:700 22px var(--sans);margin:4px 0 16px;color:var(--ink)}
.ftiles{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.ftile{display:flex;align-items:center;gap:12px;text-decoration:none!important;color:#fff!important;border-radius:14px;padding:12px 22px 12px 16px;box-shadow:0 8px 18px rgba(0,0,0,.14);transition:transform .2s}
.ftile:hover{transform:translateY(-3px)}
.ftile svg{width:34px;height:34px;flex:none}
.ftile span{display:flex;flex-direction:column;text-align:left;line-height:1.2}.ftile small{font-size:10.5px;letter-spacing:.14em;opacity:.9}.ftile b{font-size:17px}
.ftile.ig{background:linear-gradient(45deg,#f09433,#dc2743 55%,#bc1888)}.ftile.fb{background:#1877f2}.ftile.yt{background:#e60000}
.fclinics{margin-top:18px;font-size:14.5px;color:var(--muted)}

@media (max-width:1000px){
  .prow.ph0{display:none}
  .ptable{border:0;box-shadow:none;background:transparent}
  .prow{grid-template-columns:1fr 1fr;border:1px solid var(--rule);border-left:6px solid var(--ac);border-radius:12px;margin-bottom:16px;background:#fff!important;overflow:hidden}
  .plogo{grid-column:1/-1;border-bottom:1px dashed var(--rule)}
  .pc[data-l]::before{content:attr(data-l);display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:6px}
  .paddr,.pcon{grid-column:1/-1}
  .ptime{text-align:left}.ploc{text-align:left}
  .band.wa{grid-template-columns:1fr;padding:24px}.band-qr{display:none}
  .band.app2{grid-template-columns:1fr}.stores{flex-direction:row;flex-wrap:wrap}
}
@media (max-width:520px){.prow{grid-template-columns:1fr}.qrimg{width:130px}.ftile{width:100%}.stores .store{flex:1}}

.band.wa .hacts{margin-top:20px}
.band.wa .b.gold{color:#073540!important}

/* ====== 3D "clickable" buttons ====== */
.b3d,a.b3d{display:inline-flex!important;align-items:center;gap:8px;margin-top:12px;padding:10px 18px;border-radius:12px;font-weight:800!important;font-size:14.5px;line-height:1.2;letter-spacing:.01em;
  color:#fff!important;text-decoration:none!important;cursor:pointer;
  background:linear-gradient(#1aa0b8,#0c5360)!important;border:1px solid #0a4450;border-bottom:5px solid #05303a;
  box-shadow:0 8px 16px rgba(5,48,58,.30),inset 0 2px 0 rgba(255,255,255,.38);
  transition:transform .12s,box-shadow .12s,border-bottom-width .12s,filter .12s}
.b3d:hover{transform:translateY(-3px);filter:brightness(1.08);box-shadow:0 14px 22px rgba(5,48,58,.35),inset 0 2px 0 rgba(255,255,255,.45)}
.b3d:active{transform:translateY(3px);border-bottom-width:2px;box-shadow:0 2px 4px rgba(5,48,58,.35),inset 0 2px 0 rgba(255,255,255,.2)}
.b3d.map::after{content:"\2197";font-size:16px;margin-left:2px}
.paddr a.b3d,.paddr a.b3d:hover{color:#fff!important;display:inline-flex!important}
.clinic dd a.b3d,.pharm dd a.b3d{color:#fff!important;margin-top:8px}
.maps .b3d{margin-top:12px}
.maps figure>a.click{color:#fff!important}

/* social + store buttons: raised */
.soc,.ftile,.store{border-bottom:5px solid rgba(0,0,0,.35)!important;box-shadow:0 8px 16px rgba(0,0,0,.22),inset 0 2px 0 rgba(255,255,255,.35)!important;transition:transform .12s,box-shadow .12s,border-bottom-width .12s}
.soc:hover,.ftile:hover,.store:hover{transform:translateY(-3px)!important}
.soc:active,.ftile:active,.store:active{transform:translateY(3px)!important;border-bottom-width:2px!important;box-shadow:0 2px 4px rgba(0,0,0,.3)!important}
.soc .go{font-style:normal;font-size:15px;margin-left:2px;opacity:.9}
.ftile em{font-style:normal;font-size:11.5px;font-weight:700;opacity:.95;margin-top:3px;background:rgba(255,255,255,.22);padding:2px 8px;border-radius:999px;align-self:flex-start}
.qrbox{border-bottom-width:6px!important;box-shadow:0 8px 16px rgba(0,0,0,.18)}
.qrcue{display:block;background:#fff;color:var(--ac);font:800 11px var(--sans);letter-spacing:.08em;padding:5px 0;text-transform:uppercase}
.qrbox:active{transform:translateY(3px) scale(.98)}

/* ====== single-page layout ====== */
body.single .navbook{margin-left:0}
body.single .bar{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;min-height:56px}
body.single main > .sec{min-height:0;display:block;padding:72px 0}
body.single main > .strip{margin:0}
.otherways{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px}
.ow{background:#fff;border:1px solid var(--rule);border-top:4px solid var(--gold);border-radius:12px;padding:22px}
.ow h3{margin:8px 0 6px}.ow p{margin:6px 0 0;font-size:15px}
.owi{font-size:28px;line-height:1}
.ow .b3d{margin-top:14px}
.ow .stores{flex-direction:row;flex-wrap:wrap;margin-top:14px}
.ow .store{min-width:0;flex:1 1 150px}
.maps.m4{grid-template-columns:repeat(2,1fr)}
.maps.m4 iframe{height:300px}
#pharmacy{margin-top:28px}
.pharm{grid-template-columns:1fr 1fr}
.two2{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.sub3{font:600 18px var(--serif);color:var(--navy);margin:26px 0 0}
.mem{font-size:14.5px;margin-top:16px;color:var(--ink)}
.interests .tags{margin-top:12px}
.tl .org{display:block}
.acc{background:#fff;border:1px solid var(--rule);border-radius:10px;margin-top:12px;overflow:hidden}
.acc>summary{cursor:pointer;list-style:none;padding:15px 52px 15px 18px;font:700 16.5px var(--sans);color:var(--link);position:relative}
.acc>summary::-webkit-details-marker{display:none}
.acc>summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:var(--gold);color:#fff;font-size:20px;line-height:26px;text-align:center;font-weight:700}
.acc[open]>summary::after{content:"\\2212"}
.acc[open]>summary{border-bottom:1px solid var(--rule)}
.acc .prose,.acc>p,.acc>ol,.acc>ul,.acc>h3{margin-left:18px;margin-right:18px}
.acc .prose{padding:6px 0 14px}
.acc .prose h4{font:700 16px var(--sans);color:var(--navy);margin:18px 0 4px}
.acc .prose ul{padding-left:20px;margin:6px 0 0}.acc .prose li{margin-bottom:6px}
.acc>ol{margin-top:6px;margin-bottom:14px}
.acc.dark{background:transparent;border-color:rgba(255,255,255,.25);margin-top:18px}
.acc.dark>summary{color:#ffd166}.acc.dark>p{color:#c9d3df;font-size:14px;padding-bottom:14px}
.ytcta{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;margin-top:36px;padding:26px;border:1px solid #f3cfcf;border-radius:14px;background:linear-gradient(135deg,#fff7f5,#fff)}
.ytcta .ytico{width:96px;height:96px;border-radius:24px;background:#e60000;color:#fff;display:grid;place-items:center;box-shadow:0 12px 26px rgba(230,0,0,.25)}
.ytcta .ytico svg{width:58px;height:58px}
.ytcta h3{margin:0}.ytcta p{margin:6px 0 14px}
.ftiles.left{justify-content:flex-start;margin-top:12px}
.fclinics.left{text-align:left;margin-top:16px;line-height:2}
.foot .fine2{font-size:12.5px;color:#9eacbd;margin-top:14px;line-height:1.6}
.foot .wrap{padding-top:40px;padding-bottom:40px}
@media (max-width:960px){
  .otherways{grid-template-columns:1fr}
  .two2{grid-template-columns:1fr;gap:36px}
  .maps.m4{grid-template-columns:1fr}
  .pharm{grid-template-columns:1fr}
  body.single main > .sec{padding:52px 0}
  html{scroll-snap-type:y proximity}
  .ytcta{grid-template-columns:1fr}
}
@media (min-width:961px){ html{scroll-snap-type:y proximity} }
body.single .hero{min-height:0}
body.single .hero .hgrid{padding-top:34px;padding-bottom:44px;gap:40px;grid-template-columns:1.5fr .6fr}
body.single .hphoto{max-width:230px}
body.single .hero .role{margin-bottom:18px}
body.single .hero .regchip{margin-bottom:20px}
body.single #book{padding-top:48px}
body.single #book .sub{margin-bottom:18px}
@media (max-width:960px){body.single .hero .hgrid{grid-template-columns:1fr;padding-top:28px;padding-bottom:36px}body.single .hphoto{max-width:200px;order:-1}}
@media (max-width:520px){body.single .brand-q{display:none}body.single .navbook{white-space:nowrap;padding:10px 14px;font-size:14px}}

/* ====== organised multipage ====== */
html.multi{scroll-snap-type:none}
body.multi main > .sec{min-height:0;display:block;padding:64px 0}
body.multi .hero{min-height:0}
body.multi .hero .hgrid{padding-top:40px;padding-bottom:52px;grid-template-columns:1.4fr .6fr;gap:44px}
body.multi .hphoto{max-width:250px}
body.multi .hero .role{max-width:600px;margin-bottom:20px}
body.multi .bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-start;min-height:60px}
body.multi .pagenav{display:flex;gap:2px;margin-left:auto;flex-wrap:nowrap}
body.multi .pagenav a{white-space:nowrap}
body.multi .navbook{margin-left:6px;white-space:nowrap}
body.multi .article-grid h2{margin-top:44px}
body.multi .grid2{margin-bottom:6px}
@media (max-width:860px){
  body.multi .bar{padding-top:10px;padding-bottom:0}
  body.multi .navbook{margin-left:auto;order:2;padding:9px 14px;font-size:14px}
  body.multi .brand{order:1}
  body.multi .pagenav{order:3;flex:1 0 100%;margin:6px -16px 0;padding:0 12px;overflow-x:auto;border-top:1px solid var(--rule);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  body.multi .pagenav::-webkit-scrollbar{display:none}
  body.multi .pagenav a{padding:12px 14px;font-size:15px;border-radius:0}
  body.multi .pagenav a[aria-current]{box-shadow:inset 0 -3px 0 var(--gold);color:var(--navy)}
  body.multi .hero .hgrid{grid-template-columns:1fr;padding-top:28px;padding-bottom:40px}
  body.multi .hphoto{max-width:210px;order:-1}
  body.multi main > .sec{padding:44px 0}
}
@media (max-width:520px){body.multi .brand-q{display:none}}
@media (max-width:860px){
  body.multi .pagenav{justify-content:space-between;padding:0 6px}
  body.multi .pagenav a{padding:12px 9px;font-size:14px}
  body.multi .hphoto{order:0;max-width:170px;margin-top:6px}
  body.multi .hero .hgrid{gap:22px}
}

/* ====== booking modules (home) ====== */
.modules{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:24px}
.mod{position:relative;background:#fff;border:1px solid var(--rule);border-top:5px solid var(--gold);border-radius:14px;padding:30px 20px 22px;display:flex;flex-direction:column;box-shadow:0 8px 22px rgba(12,83,96,.07)}
.mod:nth-child(2){border-top-color:#25d366}
.mod:nth-child(3){border-top-color:var(--navy)}
.mod:nth-child(4){border-top-color:#2f6fd1}
.modnum{position:absolute;top:-17px;left:20px;width:34px;height:34px;border-radius:50%;background:var(--gold);color:#fff;font-weight:800;display:grid;place-items:center;box-shadow:0 4px 10px rgba(0,0,0,.2)}
.mod:nth-child(2) .modnum{background:#25d366}.mod:nth-child(3) .modnum{background:var(--navy)}.mod:nth-child(4) .modnum{background:#2f6fd1}
.mod h3{margin:0 0 8px;font-size:21px}
.mod p{margin:0 0 12px;font-size:15px}
.modopts{list-style:none;margin:0 0 16px;padding:0}
.modopts li{position:relative;padding:8px 0 8px 22px;border-bottom:1px dashed var(--rule);font-size:15px}
.modopts li:last-child{border-bottom:0}
.modopts li::before{content:"";position:absolute;left:4px;top:15px;width:8px;height:8px;background:var(--gold);transform:rotate(45deg)}
.mod .b3d{margin-top:auto;justify-content:center;text-align:center}
.mod .b3d.wa{background:linear-gradient(#34d676,#1a9d4d)!important;border-color:#15803d;border-bottom-color:#0d5a2b}
.mod .b3d.call{margin-top:6px;white-space:nowrap}
.modqr{display:flex;align-items:center;gap:12px;margin:0 0 16px}
.modqr a{display:block;width:104px;padding:6px;border:2px solid #25d366;border-radius:12px;background:#fff;line-height:0}
.modqr svg{width:100%;height:auto}
.modqr small{font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11.5px}
.mod .stores{flex-direction:column;margin-top:auto}
.mod .store{min-width:0}
.modcalls{list-style:none;margin:0;padding:0}
.modcalls li{padding:10px 0;border-bottom:1px dashed var(--rule)}.modcalls li:last-child{border-bottom:0}
.modcalls span{display:block;font-weight:700;color:var(--navy);font-size:15px}
@media (max-width:1100px){.modules{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.modules{grid-template-columns:1fr;gap:28px}}

.kimsline{display:flex;align-items:center;gap:20px;margin-top:26px;padding:16px 22px;background:#f3f4fb;border:1px solid #d6daf0;border-left:6px solid #243b6b;border-radius:12px}
.kimsline img{height:46px;width:auto;flex:none}
.kimsline p{margin:0;font-size:15.5px}
.kimsline .ph{font-weight:800;font-size:17px}
@media (max-width:640px){.kimsline{flex-direction:column;align-items:flex-start;gap:10px}}

.pharm{grid-template-columns:1fr 1.5fr}
.pharm-note{grid-column:1/-1;margin:6px 0 0;padding-top:14px;border-top:1px dashed var(--rule);font-weight:700;color:#9a6a0a;font-size:14.5px}
.pharm dl{grid-template-columns:140px 1fr}
@media (max-width:960px){.pharm{grid-template-columns:1fr}.pharm dl{grid-template-columns:1fr;gap:2px}.pharm dt{margin-top:10px}}

/* ====== view-only documents ====== */
.recgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px}
.rec{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:14px;display:flex;flex-direction:column}
.recthumb{position:relative;border:0;padding:0;background:#f2f6f6;border-radius:8px;overflow:hidden;cursor:zoom-in;aspect-ratio:3/4}
.recthumb img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;-webkit-user-drag:none;user-select:none;pointer-events:none}
.recview{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);background:var(--navy);color:#fff;font:700 13px var(--sans);padding:8px 16px;border-radius:999px;box-shadow:0 6px 14px rgba(0,0,0,.3);white-space:nowrap}
.recthumb:hover .recview{background:var(--gold)}
.rec h3{margin:14px 0 4px;font-size:19px}.rec p{margin:0;font-size:14.5px;color:var(--muted)}
.recbadge{margin-top:12px;align-self:flex-start;background:#fff7e6;border:1px solid #e3c27a;color:#7a5200;font:700 11.5px var(--sans);letter-spacing:.04em;padding:4px 10px;border-radius:999px}
.recdlg{border:0;padding:0;width:min(900px,96vw);height:92vh;border-radius:12px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.recdlg[open]{display:flex;flex-direction:column}
.recdlg::backdrop{background:rgba(9,35,42,.7)}
.rechead{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--navy);color:#fff}
.rechead h3{margin:0;color:#fff;font:600 18px var(--serif);flex:1}
.viewonly{font-size:12px;font-weight:700;background:rgba(255,255,255,.15);padding:4px 10px;border-radius:999px}
.rechead button{font-size:28px;line-height:1;background:none;border:0;color:#fff;cursor:pointer}
.recbody{flex:1;overflow:auto;background:#e8eeee;padding:14px;-webkit-user-select:none;user-select:none}
.recbody img{display:block;width:100%;max-width:820px;margin:0 auto 14px;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.18);-webkit-user-drag:none}
@media print{.recbody,.recdlg,.recgrid{display:none!important}}
@media (max-width:960px){.recgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.recgrid{grid-template-columns:1fr}.recdlg{width:100vw;height:100dvh;border-radius:0}}

/* ====== breadcrumbs & consent ====== */
.crumbs{background:#fff;border-bottom:1px solid var(--rule);font-size:13.5px}
.crumbs .wrap{padding-top:10px;padding-bottom:10px;color:var(--muted)}
.crumbs a{font-weight:600;text-decoration:none;color:var(--link)}
.crumbs .sep{margin:0 6px;opacity:.6}
.crumbs [aria-current]{font-weight:700;color:var(--ink)}
.consent{position:fixed;left:16px;bottom:16px;z-index:70;max-width:430px;background:#fff;border:1px solid var(--rule);border-left:5px solid var(--gold);border-radius:12px;padding:14px 16px;box-shadow:0 16px 40px rgba(0,0,0,.22);font-size:13.5px;line-height:1.5}
.consent[hidden]{display:none}
.consent p{margin:0 0 10px}
.consent a{font-weight:700}
.consent-b{display:flex;gap:10px}
.consent button{font:700 14px var(--sans);padding:9px 18px;border-radius:8px;cursor:pointer;border:1px solid var(--navy);background:var(--navy);color:#fff}
.consent button.alt{background:#fff;color:var(--navy)}
@media (max-width:680px){.consent{left:10px;right:10px;bottom:10px;max-width:none}.consent-open .fab-wa{bottom:150px}.consent-open .fab-bubble{display:none}}

/* ====== MOBILE APP-STYLE LAYER (phones and small tablets) ======
   Each section fills the screen and snaps into place as you scroll, like pages.
   "Book appointment" stays at the top; the WhatsApp icon floats bottom-right. */
@media (max-width:860px){
  html.multi{scroll-snap-type:y proximity;scroll-padding-top:104px;overscroll-behavior-y:none}
  body.multi{padding-bottom:0}
  body.multi main > section{scroll-snap-align:start}
  body.multi main > .sec,body.multi .hero{min-height:calc(100svh - 104px);display:flex;flex-direction:column;justify-content:center}
  body.multi .hero{align-items:stretch}
  body.multi .hero .hgrid{width:100%}
  body.multi .phead{min-height:0;padding:28px 0 24px}
  body.multi .strip{scroll-snap-align:none}
  body.multi main > .sec > .wrap{width:100%}
  body.multi footer.foot{scroll-snap-align:end;padding-bottom:96px}

  /* top bar: name on the left, Book appointment always visible on the right */
  body.multi .top{position:sticky;top:0;z-index:60}
  body.multi .navbook{font-weight:800;padding:11px 16px;font-size:14.5px;border-radius:999px;box-shadow:0 4px 12px rgba(196,138,29,.45)}

  /* floating WhatsApp booking icon */
  .fab-wa{right:max(14px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));width:62px;height:62px;padding:0;justify-content:center;border-radius:50%;gap:0}
  .fab-wa span{display:none}
  .fab-wa svg{width:36px;height:36px}
  .fab-wa::before,.fab-wa::after{border-radius:50%}
  .fab-bubble{right:max(14px,env(safe-area-inset-right,0px));bottom:calc(92px + env(safe-area-inset-bottom,0px))}
  .consent-open .fab-wa{bottom:calc(120px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:860px) and (prefers-reduced-motion:reduce){html.multi{scroll-snap-type:none}}

/* ====== FOOTER LINK HUB (cross-links + social) ====== */
.footlinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:22px 28px;margin:18px 0 22px;padding:20px 0;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.footlinks h3{font:700 12px/1.2 Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#f2b134;margin:0 0 10px}
.footlinks a{display:block;color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(242,177,52,.7);padding:7px 0;font-size:15px;line-height:1.35;font-weight:500}
.footlinks a:hover,.footlinks a:focus-visible{color:#f2b134}
@media (max-width:860px){.footlinks a{padding:10px 0}}
/* footer links: keep dark background on hover (site-wide "nav a:hover" paper background must not apply) */
nav.footlinks a,nav.footlinks a:hover,nav.footlinks a:focus-visible{background:transparent;box-shadow:none;border-radius:0}
.foot nav.footlinks a:not(.soc){color:#ffd166}
.foot nav.footlinks a:not(.soc):hover,.foot nav.footlinks a:not(.soc):focus-visible{color:#fff;text-decoration-color:#fff}

/* ====== ONLINE CONSULTATION: attention badge, advantages, pulse CTAs ====== */
.onbadge{position:relative;display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:10px 18px;border-radius:999px;background:linear-gradient(135deg,#f2b134,#ffd166);color:#0c3a44;text-decoration:none;font-size:15px;box-shadow:0 6px 18px rgba(242,177,52,.45);animation:onzoom 2.2s ease-in-out infinite}
.onbadge b{font-weight:800}
.onbadge .vp{font-size:12.5px;font-weight:600;opacity:.85;border-left:1px solid rgba(12,58,68,.35);padding-left:10px}
.dot{width:11px;height:11px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 0 rgba(22,163,74,.7);animation:ondot 1.3s infinite;flex:none}
.star{position:absolute;color:#fff;font-size:16px;line-height:1;text-shadow:0 0 6px #ffd166,0 0 12px #f2b134;pointer-events:none;animation:ontwinkle 1.6s ease-in-out infinite}
.star.s1{top:-9px;left:14px}.star.s2{top:-7px;right:20px;animation-delay:.5s;font-size:13px}.star.s3{bottom:-8px;right:60px;animation-delay:1s;font-size:14px}
@keyframes onzoom{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes ondot{0%{box-shadow:0 0 0 0 rgba(22,163,74,.7)}70%{box-shadow:0 0 0 10px rgba(22,163,74,0)}100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}}
@keyframes ontwinkle{0%,100%{opacity:.2;transform:scale(.6) rotate(0)}50%{opacity:1;transform:scale(1.35) rotate(25deg)}}
.pulse{position:relative;animation:onpulse 2s ease-in-out infinite}
@keyframes onpulse{0%{box-shadow:0 0 0 0 rgba(242,177,52,.65)}70%{box-shadow:0 0 0 14px rgba(242,177,52,0)}100%{box-shadow:0 0 0 0 rgba(242,177,52,0)}}
.arr{display:inline-block;margin-left:6px;animation:onarr 1s ease-in-out infinite}
@keyframes onarr{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
.onstrip{margin:0;text-align:center;background:#0c5360;font-size:13.5px;font-weight:600}
.onstrip a{display:flex;justify-content:center;align-items:center;gap:8px;padding:7px 12px;color:#fff;text-decoration:none}
.onstrip u{text-decoration-color:#f2b134;text-underline-offset:3px;color:#ffd166}
.onsec{background:linear-gradient(180deg,#fff8e7,#fff)}
.adv{list-style:none;margin:22px 0 26px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.adv li{background:#fff;border:1px solid #ead9a8;border-top:4px solid #c48a1d;border-radius:12px;padding:16px 18px;display:grid;gap:4px;box-shadow:0 3px 10px rgba(12,83,96,.08)}
.adv .ic{font-size:26px;line-height:1;color:#0c5360}
.adv b{color:#0c5360;font-size:17px}
.adv li>span:last-child{font-size:14.5px;color:#3d4a58;line-height:1.45}
.b.big{font-size:17px;padding:15px 26px}
@media (max-width:860px){
 body.multi header.top{position:sticky}
 .onbadge{font-size:14px;padding:9px 14px}
 .onbadge .vp{display:none}
 body.multi .onsec{padding:24px 0}
 .adv{grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 18px}
 .adv li{padding:12px}.adv .ic{font-size:22px}.adv b{font-size:15px}.adv li>span:last-child{font-size:13px}
}
@media (max-width:420px){.adv{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.onbadge,.dot,.star,.pulse,.arr{animation:none}}
@media (max-width:860px){
 html.multi:has(.onstrip){scroll-padding-top:138px}
 body.multi:has(.onstrip) main > .sec,body.multi:has(.onstrip) .hero{min-height:calc(100svh - 138px)}
}
.hero a.onbadge,.hero a.onbadge:hover,.hero a.onbadge b{color:#0c3a44;text-decoration:none}
.hero a.onbadge .vp{color:#0c3a44}
.hero a.onbadge *{text-decoration:none!important;border-bottom:0!important;background-image:none!important;box-shadow:none}
.hero a.onbadge .vp{border-left:1px solid rgba(12,58,68,.35)!important}
.hero a.onbadge .dot{box-shadow:0 0 0 0 rgba(22,163,74,.7)}
.adv{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.adv li{align-content:start}
@media (max-width:860px){.adv{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.adv{grid-template-columns:1fr}}

/* ====== header: Book online consultation beside Book appointment ====== */
a.navbook.navonline{display:inline-flex;align-items:center;gap:8px;background:#0c5360;color:#fff;margin-left:8px;white-space:nowrap}
a.navbook.navonline:hover{background:#093f4a}
a.navbook.navonline .dot{width:9px;height:9px}
body.multi a.navbook.navonline{margin-left:auto;box-shadow:0 4px 12px rgba(12,83,96,.4)}
body.multi a.navbook.navonline + a.navbook{margin-left:6px}
@media (min-width:861px){body.multi .pagenav{margin-left:auto}body.multi a.navbook.navonline{margin-left:6px}}
@media (max-width:860px){
 body.multi .brand{flex:1 0 100%}
 body.multi .bar{gap:8px 8px}
 body.multi a.navbook.navonline,body.multi a.navbook.navonline + a.navbook{order:2;flex:1 1 0;margin:0;justify-content:center;text-align:center;padding:11px 8px;font-size:14px;line-height:1.15}
 html.multi,html.multi:has(.onstrip){scroll-padding-top:150px}
 body.multi main > .sec,body.multi .hero{min-height:calc(100svh - 150px)}
}
@media (max-width:360px){body.multi a.navbook.navonline,body.multi a.navbook.navonline + a.navbook{font-size:12.5px;padding:10px 4px}}
@media (min-width:861px){
 body.multi .bar{flex-wrap:nowrap;gap:10px}
 body.multi .pagenav a{padding-left:10px;padding-right:10px}
 body.multi a.navbook{padding:9px 13px;font-size:14px}
 body.multi .brand-q{font-size:11px}
}
@media (min-width:861px) and (max-width:1180px){body.multi .brand-q{display:none}}

.phead .avail{margin:14px 0 0;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:16px;color:#fff}
.phead .avail span{font:700 12px Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#0c3a44;background:#f2b134;border-radius:999px;padding:6px 12px}
.phead .avail b{font-weight:800}.phead .avail i{font-style:normal;opacity:.6}

.onsec .nomsg{margin:14px 0 0;padding:14px 18px;border-left:5px solid #c48a1d;background:#fff;border-radius:0 10px 10px 0;box-shadow:0 3px 10px rgba(12,83,96,.08);color:#1c2733;font-size:16px;line-height:1.5;max-width:820px}
.onsec .nomsg b{color:#0c5360;display:block;font-size:17px;margin-bottom:2px}
.onsec .advh{margin:22px 0 0;font:700 13px Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#a97410}
ol.adv{counter-reset:adv;margin-top:10px}
ol.adv li{counter-increment:adv;position:relative}
ol.adv li::after{content:counter(adv);position:absolute;top:10px;right:12px;width:26px;height:26px;border-radius:50%;background:#c48a1d;color:#fff;font:800 13px/26px Inter,sans-serif;text-align:center}
.adv{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
@media (max-width:860px){.onsec .nomsg{font-size:14px;padding:10px 12px}.onsec .nomsg b{font-size:15px}.onsec .advh{margin-top:14px}}
@media (min-width:1000px){ol.adv{grid-template-columns:repeat(5,1fr);gap:12px}ol.adv li{padding:14px 12px}ol.adv b{font-size:15.5px}ol.adv li>span:last-child{font-size:13.5px}}

/* ====== QUICK-ACTION DOCK: Book online / Book appointment / Call, on every page ====== */
.dock{position:fixed;z-index:70;display:flex}
.dk{display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;text-decoration:none;font:700 13.5px/1.1 Inter,system-ui,sans-serif;cursor:pointer;list-style:none;border:0}
.dk summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;width:100%;height:100%}
.dk summary::-webkit-details-marker{display:none}
.dk.online{background:#0c5360}.dk.book{background:#c48a1d}.dk.call{background:#243b6b}
.callsheet{position:absolute;background:#fff;color:#1c2733;border-radius:14px;box-shadow:0 12px 36px rgba(0,0,0,.3);padding:12px;display:grid;gap:4px;min-width:min(300px,calc(100vw - 24px))}
.callsheet b{font:700 12px Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#a97410;padding:2px 6px 6px}
.callsheet a{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 10px;border-radius:10px;background:#f2f6f6;color:#0c5360;text-decoration:none;font-size:14px;font-weight:600}
.callsheet a i{font-style:normal;font-weight:800;font-size:16px;white-space:nowrap}
.callsheet a.wa{background:#e7f8ee;color:#0b6b36}
.callsheet a:hover,.callsheet a:focus-visible{background:#dfeaea}
/* phones: bottom bar */
@media (max-width:860px){
 .dock{left:0;right:0;bottom:0;height:calc(58px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:#0c5360;box-shadow:0 -4px 18px rgba(0,0,0,.25)}
 .dk{flex:1 1 0;height:58px;flex-direction:column;gap:3px;font-size:12px;padding:0 4px;text-align:center;border-left:1px solid rgba(255,255,255,.18)}
 .dk:first-child{border-left:0}
 .dk summary{flex-direction:column;gap:3px}
 .dk svg{width:22px;height:22px}
 .dock .dk.call{position:static}
 .callsheet{left:10px;right:10px;bottom:calc(66px + env(safe-area-inset-bottom,0px))}
 .fab-wa{bottom:calc(74px + env(safe-area-inset-bottom,0px))!important}
 .fab-bubble{bottom:calc(150px + env(safe-area-inset-bottom,0px))!important}
 .consent-open .dock{transform:translateY(130%)}
 .consent-open .fab-wa{bottom:calc(120px + env(safe-area-inset-bottom,0px))!important}
 body.multi footer.foot,footer.foot{padding-bottom:150px}
}
/* desktop: slim icon rail on the right edge, labels expand on hover */
@media (min-width:861px){
 .dock{right:0;top:42%;flex-direction:column;gap:8px;align-items:flex-end}
 .dk{height:50px;min-width:50px;border-radius:25px 0 0 25px;padding:0 16px;box-shadow:-3px 4px 14px rgba(0,0,0,.25);position:relative;transition:transform .15s}
 .dk span{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .25s,opacity .2s}
 .dk:hover span,.dk:focus-visible span,.dk[open] span,.dk:focus-within span{max-width:170px;opacity:1}
 .dk.call .callsheet{right:100%;top:0;margin-right:10px;min-width:310px}
 .dk summary{width:auto}
}
@media (prefers-reduced-motion:reduce){.dk,.dk span{transition:none}}

.when{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.when li{background:#fff;border:1px solid var(--rule,#d5e0e1);border-left:6px solid var(--ac);border-radius:12px;padding:16px 18px;display:grid;gap:3px;box-shadow:0 3px 10px rgba(12,83,96,.07)}
.when b{font-size:18px;color:#0c5360}.when span{color:#5a6675;font-size:14.5px}
.when em{font-style:normal;font-weight:800;font-size:20px;color:#1c2733;margin-top:4px}
.when a{margin-top:6px;font-weight:700;font-size:14.5px}
@media (max-width:860px){.when{grid-template-columns:1fr 1fr;gap:10px}.when li{padding:12px}.when b{font-size:15.5px}.when em{font-size:16px}}
@media (max-width:420px){.when{grid-template-columns:1fr}}
@media (max-width:860px){
 body.multi:not(:has(.hero)) main > .sec{min-height:0;display:block;justify-content:initial}
 body.multi:not(:has(.hero)) main > .sec{padding-top:28px;padding-bottom:28px}
}

/* ====== Header name: capitals, larger, formal serif ====== */
.brand-n{font-family:"Cinzel","Source Serif 4",Georgia,serif!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.08em;font-size:23px!important;line-height:1.1;color:var(--navy)}
.brand-q{margin-top:3px}
@media (min-width:861px) and (max-width:1100px){.brand-n{font-size:19px!important;letter-spacing:.05em}}
@media (max-width:860px){.brand-n{font-size:22px!important}}
@media (max-width:380px){.brand-n{font-size:19px!important;letter-spacing:.05em}}
.brand-n{white-space:nowrap}
@media (min-width:861px){.brand-n{font-size:21px!important;letter-spacing:.06em}body.multi .brand{flex:0 0 auto}body.multi .pagenav a{padding-left:8px;padding-right:8px;font-size:14.5px}body.multi a.navbook{padding:9px 11px;font-size:13.5px}}
@media (min-width:861px) and (max-width:1100px){.brand-n{font-size:17px!important}}

.phead .avail{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:16px 0 0;font-size:16px;color:#fff}
.phead .avail em{font-style:normal;font-weight:600}
.phead .avail .onpill{display:inline-flex;align-items:center;gap:9px;background:linear-gradient(135deg,#f2b134,#ffd166);color:#0c3a44;text-decoration:none;font:800 14px Inter,system-ui,sans-serif;letter-spacing:.02em;border-radius:999px;padding:8px 16px;box-shadow:0 4px 14px rgba(242,177,52,.45);animation:onzoom 2.2s ease-in-out infinite}
.phead .avail .onpill small{font-weight:600;opacity:.85;font-size:12.5px;border-left:1px solid rgba(12,58,68,.35);padding-left:9px}
@media (prefers-reduced-motion:reduce){.phead .avail .onpill{animation:none}}
.phead .avail a.onpill,.phead .avail a.onpill *{text-decoration:none!important;border-bottom:0!important;background-image:none!important;color:#0c3a44}
.phead .avail a.onpill small{border-left:1px solid rgba(12,58,68,.35)!important}
.phead .avail a.onpill .dot{background:#16a34a}

/* ====== BRIGHT TOP: welcome ribbon, stacked booking buttons, lighter hero ====== */
.welcome{margin:0;text-align:center;background:linear-gradient(90deg,#fff3d6,#ffe9b0,#fff3d6);color:#0c5360;font:600 13px/1.3 Inter,system-ui,sans-serif;padding:7px 12px;border-bottom:1px solid #ecd28a;letter-spacing:.01em}
.welcome b{font-weight:800}.welcome span{color:#c48a1d;margin:0 4px}
.welcome a{color:#a97410;font-weight:800;text-decoration:none;border-bottom:1.5px solid #c48a1d}
html.scrolled .welcome{display:none}
.top{background:linear-gradient(180deg,#ffffff,#f6fbfb);border-top:3px solid #c48a1d}
.hbtns{display:flex;flex-direction:column;gap:7px;align-items:stretch;flex:0 0 auto}
.hbtns a.navbook,body.multi .hbtns a.navbook,body.multi .hbtns a.navbook.navonline,body.multi .hbtns a.navbook.navonline + a.navbook{margin:0!important;justify-content:center;text-align:center;white-space:nowrap;display:flex;align-items:center;padding:9px 16px;font-size:14px;line-height:1.15;order:0;flex:none}
@media (min-width:861px){body.multi .bar{align-items:center}body.multi .hbtns{min-width:215px}}
@media (max-width:860px){
 body.multi .hbtns{order:2;flex:1 0 100%;flex-direction:column;gap:7px}
 body.multi .hbtns a.navbook,body.multi .hbtns a.navbook.navonline,body.multi .hbtns a.navbook.navonline + a.navbook{padding:12px 14px;font-size:15px}
 html.scrolled body.multi .hbtns{display:none}
 .welcome{font-size:12px}
 html.multi,html.multi:has(.onstrip){scroll-padding-top:110px}
 body.multi main > .sec,body.multi .hero{min-height:calc(100svh - 110px)}
}
/* light, welcoming home hero */
body.multi .hero{background:radial-gradient(700px 420px at 88% 18%,rgba(242,177,52,.30),transparent 62%),radial-gradient(600px 400px at 0% 100%,rgba(23,162,184,.14),transparent 60%),linear-gradient(135deg,#eaf7f7 0%,#fffaf0 55%,#fff1cc 100%);color:#1c2733}
body.multi .hero h1{color:#0c5360}
body.multi .hero .quals{color:#0c5360}
body.multi .hero .role{color:#33424f}
body.multi .hero .eyebrow{color:#a97410}
body.multi .hero .regchip{background:#fff;border:1px solid #cfe3e5;color:#33424f;box-shadow:0 2px 8px rgba(12,83,96,.08)}
body.multi .hero .regchip b{color:#0c5360}
body.multi .hero .b.ghost{color:#0c5360;border-color:#0c5360}
body.multi .hero .b.ghost:hover{background:rgba(12,83,96,.08)}
body.multi .hero::before{background:radial-gradient(circle,rgba(242,177,52,.35),transparent 65%)}
body.multi .hphoto img{box-shadow:0 18px 40px rgba(12,83,96,.22);border:5px solid #fff;border-radius:10px}
body.multi .hphoto::before{border-color:#c48a1d}
/* brighter inner-page banners */
.phead{background:linear-gradient(135deg,#0f7f90,#0c5360)}
@media (max-width:860px){
 body.multi .hero,body.multi main > section.hero{scroll-snap-align:none}
 html.multi{scroll-snap-type:y proximity}
}
@media (max-width:860px){
 .welcome{font-size:11.5px;padding:6px 8px}
 body.multi .brand{padding-top:2px;padding-bottom:6px}
 body.multi .hbtns{margin-top:2px}
 body.multi .hbtns a.navbook.pulse{animation:none;box-shadow:0 3px 8px rgba(12,83,96,.3)}
}

/* mobile: keep Book buttons at the top while scrolling (compact side-by-side row) */
@media (max-width:860px){
 html.multi{overflow-anchor:none}
 html.scrolled body.multi .brand{display:none}
 html.scrolled body.multi .hbtns{display:flex;flex-direction:row;flex:1 0 100%;gap:8px;margin:0}
 html.scrolled body.multi .hbtns a.navbook,html.scrolled body.multi .hbtns a.navbook.navonline,html.scrolled body.multi .hbtns a.navbook.navonline + a.navbook{flex:1 1 0;padding:9px 6px;font-size:13.5px}
 html.scrolled body.multi .bar{padding-top:8px}
 html.multi,html.multi:has(.onstrip){scroll-padding-top:104px}
}
@media (max-width:860px){html.scrolled body.multi .hbtns{min-width:0;padding:0 0 2px}html.scrolled body.multi .hbtns a.navbook,html.scrolled body.multi .hbtns a.navbook.navonline,html.scrolled body.multi .hbtns a.navbook.navonline + a.navbook{font-size:12.5px;padding:9px 4px;min-width:0;white-space:nowrap}html.scrolled body.multi .hbtns .dot{display:none}}

/* while scrolling: header shows only the name + menu; booking lives in the bottom/side bar */
html.multi{overflow-anchor:none}
html.scrolled body.multi .hbtns{display:none!important}
html.scrolled body.multi .welcome{display:none}
@media (max-width:860px){
 html.scrolled body.multi .brand{display:flex}
 html.scrolled body.multi .bar{padding-top:10px}
 html.multi,html.multi:has(.onstrip){scroll-padding-top:104px}
}

/* ====== DESKTOP HEADER: pastel band, name centred, Book buttons either side ====== */
@media (min-width:861px){
 body.multi .top{background:linear-gradient(100deg,#dcf2ec 0%,#fff3da 50%,#e2eafb 100%);border-top:3px solid #c48a1d;border-bottom:1px solid #d9e3ea}
 body.multi .top .bar{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto;align-items:center;gap:6px 24px;padding-top:12px;padding-bottom:8px}
 body.multi .hbtns{display:contents}
 body.multi .hbtns a.navbook.navonline{grid-column:1;grid-row:1;justify-self:start;min-width:0}
 body.multi .hbtns a.navbook.navonline + a.navbook{grid-column:3;grid-row:1;justify-self:end}
 body.multi .hbtns a.navbook,body.multi .hbtns a.navbook.navonline,body.multi .hbtns a.navbook.navonline + a.navbook{padding:11px 20px;font-size:14.5px;display:inline-flex;align-items:center;width:auto;margin:0!important}
 body.multi .brand{grid-column:2;grid-row:1;align-items:center;text-align:center;flex:none}
 body.multi .brand-n{font-size:28px!important;letter-spacing:.09em}
 body.multi .brand-q{font-size:12px;margin-top:4px;color:#4b5b6b;display:block!important}
 body.multi .pagenav{grid-column:1 / -1;grid-row:2;justify-content:center;margin:0;gap:6px;border-top:1px solid rgba(12,83,96,.15);padding-top:4px}
 body.multi .pagenav a{padding:10px 16px;font-size:15px;border-radius:8px}
 body.multi .pagenav a:hover{background:rgba(255,255,255,.65)}
 html.scrolled body.multi .top .bar{grid-template-rows:auto auto}
 html.scrolled body.multi .brand-q{display:none!important}
 html.scrolled body.multi .brand-n{font-size:22px!important}
 html.scrolled body.multi .top .bar{padding-top:8px;padding-bottom:4px}
}
@media (min-width:861px){body.multi .hbtns a.navbook.pulse{animation:none;box-shadow:0 3px 10px rgba(12,83,96,.28)}}

.glist{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.glist li{background:#fff;border:1px solid #d5e0e1;border-left:5px solid #c48a1d;border-radius:12px;padding:14px 16px;display:grid;gap:10px}
.glist b{display:block;color:#0c5360;font-size:16px}.glist span{color:#5a6675;font-size:14px}
.glist .gbtn{display:flex;flex-wrap:wrap;gap:8px}.glist .b{padding:9px 14px;font-size:14px}
@media (max-width:420px){.glist{grid-template-columns:1fr}}
.glist .gbtn{align-items:flex-start}.glist .gbtn a{width:auto;height:auto}
/* clinics banner pill: restore gold (earlier wildcard rule removed its background) */
.phead .avail a.onpill{background:linear-gradient(135deg,#f2b134,#ffd166)!important;color:#0c3a44!important;animation:none!important}
.phead .avail a.onpill .dot{width:10px!important;height:10px!important;border-radius:50%!important;background:#16a34a!important;flex:none}
.phead .avail a.onpill small{background:none!important}

/* DESKTOP: keep the two Book buttons at the top while scrolling (compact) */
@media (min-width:861px){
 html.scrolled body.multi .hbtns{display:contents!important}
 html.scrolled body.multi .hbtns a.navbook,html.scrolled body.multi .hbtns a.navbook.navonline,html.scrolled body.multi .hbtns a.navbook.navonline + a.navbook{padding:8px 16px;font-size:13.5px}
 html.scrolled body.multi .top .bar{padding-top:6px;padding-bottom:2px;gap:2px 24px}
 html.scrolled body.multi .brand-n{font-size:21px!important}
 html.scrolled body.multi .pagenav{padding-top:0}
 html.scrolled body.multi .pagenav a{padding:7px 14px}
}

/* ====== FAQ: common questions ====== */
.faqsec{background:#fff}
.faqsec .ytcall{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;margin:18px 0;padding:14px 18px;background:#fff8e7;border:1px solid #ecd28a;border-left:5px solid #c48a1d;border-radius:10px;color:#1c2733}
.faqnav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.faqnav a{background:#eef6f6;border:1px solid #cfe3e5;color:#0c5360;text-decoration:none;font-weight:700;font-size:13.5px;padding:7px 13px;border-radius:999px}
.faqnav a:hover,.faqnav a:focus-visible{background:#0c5360;color:#fff}
.faqgrp{margin:26px 0 0}.faqgrp h3{font:700 13px Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#a97410;margin:0 0 10px}
details.faq{background:#fff;border:1px solid #d5e0e1;border-radius:12px;margin:0 0 8px;box-shadow:0 2px 8px rgba(12,83,96,.05)}
details.faq summary{cursor:pointer;list-style:none;display:flex;gap:12px;align-items:center;padding:14px 16px;font-weight:700;color:#0c5360;font-size:16.5px;line-height:1.3}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";margin-left:auto;font-size:22px;color:#c48a1d;font-weight:700}
details.faq[open] summary::after{content:"\2212"}
details.faq[open]{border-color:#c48a1d}
details.faq .fn{flex:none;width:28px;height:28px;border-radius:50%;background:#0c5360;color:#fff;font:800 12.5px/28px Inter,sans-serif;text-align:center}
details.faq .fa{padding:0 16px 16px 56px}
details.faq .fa p{margin:0 0 10px;color:#2b3846;line-height:1.55}
details.faq .refs{display:flex;flex-wrap:wrap;gap:8px}
details.faq .refs a{font-size:13.5px;font-weight:700;padding:6px 11px;border-radius:999px;background:#eef6f6;color:#0c5360;text-decoration:none;border:1px solid #cfe3e5}
details.faq .refs a.yt{background:#c4302b;color:#fff;border-color:#c4302b}
details.faq .refs a:hover{text-decoration:underline}
@media (max-width:640px){details.faq .fa{padding-left:16px}details.faq summary{font-size:15.5px}}

main details.faq .refs a,main details.faq .refs a:not(.b){color:#0c5360;text-decoration:none;font-weight:700}
main details.faq .refs a.yt{color:#fff}
main .faqnav a:not(.b){color:#0c5360;text-decoration:none;font-weight:700}
main .faqnav a:hover{color:#fff}
main details.faq .refs a{color:#0c5360!important;text-decoration:none!important}
main details.faq .refs a:hover{text-decoration:underline!important}
main details.faq .refs a.yt{color:#fff!important}
main .faqnav a{color:#0c5360!important;text-decoration:none!important}
main .faqnav a:hover,main .faqnav a:focus-visible{color:#fff!important}
main .faqsec .ytcall a.b{color:#0c3a44!important;text-decoration:none!important}

/* logos: always visible, no reveal/fade effect */
html.js .clinic-logo,html.js .clinic-logo img,html.js img[src*="logo"]{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}
html.js .clinic.reveal,html.js .clinic .reveal{opacity:1!important;transform:none!important;transition:none!important}

/* clinic logos in header, home strip, footer + trademark note */
.brand-row{display:flex;align-items:center;justify-content:center;gap:16px}
.hlogo{height:42px;width:auto;display:block;background:#fff;border-radius:6px;padding:2px 4px}
.hl2{height:44px}
@media (max-width:860px){.hlogo{display:none!important}}
html.scrolled body.multi .hlogo{height:28px}
.logostrip{background:#fff;border-bottom:1px solid var(--rule,#dde5e8);scroll-snap-align:none}
.logostrip .wrap{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}
.logostrip p{margin:0;font:700 12px/1 var(--sans,Inter,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:#5a6675}
.logostrip img{height:56px;width:auto;display:block}
@media (max-width:600px){.logostrip .wrap{gap:18px}.logostrip p{width:100%;text-align:center}.logostrip img{height:44px}}
.footlogos{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin:16px 0 4px}
.footlogos a{background:#fff;border-radius:10px;padding:8px 12px;display:block}
.footlogos img{height:46px;width:auto;display:block}
.foot .tmnote{margin-top:12px;padding:12px 14px;border:1px solid rgba(255,209,102,.55);border-radius:10px;background:rgba(255,255,255,.06);color:#e8edf3;font-size:13.5px;line-height:1.6}
.foot .tmnote b{color:#ffd166}

/* equal-size header Book buttons (desktop) */
@media (min-width:861px){
 body.multi a.navbook,html.scrolled body.multi a.navbook{box-sizing:border-box;width:250px;min-height:42px;padding:11px 14px!important;font-size:14.5px!important;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;white-space:nowrap}
 body.multi a.navbook.navonline{justify-self:start}
 body.multi a.navbook:not(.navonline){justify-self:end}
}
@media (min-width:861px){
 html body.multi .hbtns a.navbook,html.scrolled body.multi .hbtns a.navbook,html body.multi .hbtns a.navbook.navonline,html body.multi .hbtns a.navbook.navonline + a.navbook{width:250px!important;min-width:250px;padding:11px 14px;font-size:14.5px;justify-content:center}
}
@media (min-width:861px) and (max-width:1199px){
 html body.multi .hbtns a.navbook,html.scrolled body.multi .hbtns a.navbook,html body.multi .hbtns a.navbook.navonline,html body.multi .hbtns a.navbook.navonline + a.navbook{width:196px!important;min-width:0;font-size:13px;padding:10px 8px}
 .hlogo{display:none!important}
}

/* online consultation: mobile phone symbol */
.clinic-logo.online{gap:10px;align-content:center}
.clinic-logo.online .mobico{width:96px;height:auto;display:block}
.clinic-logo.online .olabel{font:700 13px/1.2 var(--sans,Inter,sans-serif);letter-spacing:.1em;text-transform:uppercase;color:#ffd166;text-align:center}

/* clinic logos sit under the name, never beside it */
.brand-logos{display:none}
@media (min-width:861px){
 body.multi .brand-logos{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:6px}
 body.multi .brand-logos .hlogo,body.multi .brand-logos .hl2{height:26px;width:auto;display:block!important}
 html.scrolled body.multi .brand-logos{display:none}
}
@media (max-width:860px){.brand-logos{display:none!important}}

/* header: no logos. Logos live in the home hero */
.brand-logos,.hlogo{display:none!important}
.herologos{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 6px}
.herologos .hl-t{font:700 12px/1 var(--sans,Inter,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:#5a6675}
.herologos a{background:#fff;border:1px solid var(--rule,#dde5e8);border-radius:10px;padding:6px 10px;display:block;box-shadow:0 2px 8px rgba(12,83,96,.08)}
.herologos img{height:46px;width:auto;display:block}
@media (max-width:600px){.herologos{gap:10px}.herologos img{height:36px}}

/* hero logos: small, one neat row of equal chips */
.herologos{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:14px 0 8px}
.herologos .hl-t{flex:0 0 100%;font:700 11px/1 var(--sans,Inter,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:#5a6675}
.herologos a{display:flex!important;align-items:center;justify-content:center;height:44px;padding:0 12px!important;background:#fff;border:1px solid var(--rule,#dde5e8);border-radius:10px;box-shadow:none!important}
.herologos img{height:28px!important;width:auto;max-width:none;display:block}
@media (max-width:600px){.herologos{gap:6px 8px}.herologos{flex-wrap:wrap}.herologos .hl-t{flex:0 0 100%}.herologos a{height:38px;padding:0 8px!important}.herologos img{height:22px!important}}
