:root{--ink:#10283c;--muted:#4f6679;--brand:#89c9c8;--brand-dark:#72b8b7;--teal-deep:#245f5e;--deep:#186196;--mid:#378cc8;--light:#7dc5f7;--mint:#e7f4f3;--line:#c5e3e2;--bg:#fafcfd;--white:#fff;--serif:'Fraunces',Georgia,serif;--sans:'Figtree',system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.6;font-size:1rem}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.2;margin:0 0 .6rem}
h1{font-size:clamp(2rem,5vw,3.1rem)}
h2{font-size:clamp(1.5rem,3vw,2rem)}
h3{font-size:1.2rem}
a{color:inherit}
p{margin:0 0 .8rem}
.wrap{width:min(1120px,92%);margin:0 auto}
:focus-visible{outline:3px solid #f2b705;outline-offset:2px}
main{padding-top:var(--header-space,68px)}
.ddl{position:relative}
.ddl-native{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.ddl-btn{display:flex;align-items:center;gap:.6rem;width:100%;padding:.65rem;border:1px solid var(--line);border-radius:6px;font:inherit;background:var(--white);color:var(--ink);text-align:left;cursor:pointer}
.ddl-btn:hover,.ddl.open .ddl-btn{border-color:var(--brand-dark)}
.ddl-txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ddl-ico{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--mint)}
.ddl-ico svg{width:18px;height:18px;stroke:var(--deep);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ddl-chev{flex:none;width:16px;height:16px;stroke:var(--muted);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.ddl.open .ddl-chev{transform:rotate(180deg)}
.ddl-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(16,40,60,.14);max-height:280px;overflow:auto;display:none}
.ddl.open .ddl-list{display:block}
.ddl-list li{display:flex;align-items:center;gap:.6rem;padding:6px;border-radius:8px;cursor:pointer}
.ddl-list li:hover,.ddl-list li.active{background:var(--mint)}
.ddl-list li[aria-selected=true]{font-weight:600}
.ddl-list li[aria-selected=true] .ddl-ico{background:var(--deep)}
.ddl-list li[aria-selected=true] .ddl-ico svg{stroke:#fff}
.btn{display:inline-block;background:var(--brand);color:var(--ink);padding:.75rem 1.4rem;border-radius:99px;text-decoration:none;font-weight:600;border:0;cursor:pointer;font-family:inherit;font-size:1rem;transition:background .15s}
.btn:hover{background:var(--brand-dark)}
.btn-small{padding:.5rem 1rem;font-size:.95rem}
.btn-ghost{background:transparent;color:var(--deep);box-shadow:inset 0 0 0 2px var(--deep)}
.btn-ghost:hover{background:var(--mint)}
.link{color:var(--deep);font-weight:600}
.hero{padding:10px}
.hero-inner{border-radius:16px;overflow:hidden;padding:clamp(2.5rem,7vw,5rem) clamp(1.2rem,5vw,4rem);background:linear-gradient(90deg,rgba(36,95,94,.92),rgba(36,95,94,.55)),url('/assets/images/hero.svg') center/cover no-repeat,var(--teal-deep)}
.hero-inner .hero-grid{width:min(1120px,100%);margin:0 auto}
.hero h1{color:var(--white)}
.hero .lead{color:rgba(255,255,255,.88)}
.hero .actions .btn{background:var(--white);color:var(--deep)}
.hero .actions .btn:hover{background:var(--mint)}
.hero .actions .btn-ghost{background:transparent;color:var(--white);box-shadow:inset 0 0 0 2px var(--white)}
.hero .actions .btn-ghost:hover{background:rgba(255,255,255,.15)}
.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center}
.lead{font-size:1.15rem;color:var(--muted);max-width:52ch}
.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}
.finder{background:var(--white);padding:1.6rem;border-radius:12px;border:1px solid var(--line)}
label{display:block;font-weight:600;font-size:.9rem;margin:.8rem 0 .3rem}
select,input[type=search]{width:100%;padding:.65rem;border:1px solid var(--line);border-radius:6px;font:inherit;background:var(--white);color:var(--ink)}
.finder .btn{margin-top:1.2rem;width:100%}
.consult-card{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:2rem;background:#dfe9dc;border-radius:16px;overflow:hidden;padding:clamp(1.5rem,4vw,3rem) clamp(1.5rem,4vw,3.5rem) 0}
.consult-text{align-self:center;padding-bottom:clamp(1.5rem,4vw,3rem)}
.consult-text .lead-dark,.consult-text .note{color:#3d5753}
.consult-img{display:flex;justify-content:center;align-items:flex-end}
.consult-img img{display:block;height:auto;width:auto;max-width:100%;max-height:460px}
.lead-dark{color:var(--muted);font-size:1.05rem;max-width:56ch}
.steps{margin:1rem 0 1.4rem;padding-left:1.3rem}
.steps li{margin-bottom:.4rem}
.section{padding:clamp(2rem,5vw,3.5rem) 0}
.tint{background:var(--mint)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.2rem;margin:1.4rem 0}
.card{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:1.4rem}
.tint .card{border-color:transparent}
.muted{color:var(--muted)}
.price{font-family:var(--serif);font-size:1.6rem;font-weight:600;color:var(--deep);margin:.4rem 0}
.avatar{width:52px;height:52px;border-radius:50%;background:var(--brand);color:var(--ink);display:grid;place-items:center;font-family:var(--serif);font-size:1.3rem;margin-bottom:.8rem}
.filters{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;margin:1rem 0 1.4rem}
.filters>div{flex:1;min-width:200px}
.tags,.check{list-style:none;padding:0;margin:.8rem 0}
.tags{display:flex;flex-wrap:wrap;gap:.4rem}
.tags li{background:var(--mint);padding:.2rem .7rem;border-radius:999px;font-size:.85rem}
.check li{padding-left:1.5rem;position:relative;margin-bottom:.35rem}
.check li::before{content:"";position:absolute;left:.15rem;top:.55em;width:.5rem;height:.9rem;border:solid var(--deep);border-width:0 2px 2px 0;transform:translateY(-50%) rotate(45deg)}
.check+.btn{margin-top:.6rem}
.empty{padding:2rem;background:var(--mint);border-radius:10px}
.note{color:var(--muted);font-size:.9rem}
.section-title{text-align:center;margin-bottom:2rem}
.countries{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1.5rem}
.country{display:flex;flex-direction:column;align-items:center;gap:.8rem;text-decoration:none;font-weight:500}
.country img{width:96px;height:96px;border-radius:16px;object-fit:cover;box-shadow:0 4px 12px rgba(16,40,60,.25);transition:transform .2s}
.country:hover img{transform:scale(1.06)}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem 1.5rem;text-align:center}
.service svg{width:52px;height:52px;stroke:var(--mid);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.service h3{font-family:var(--sans);font-size:1rem;font-weight:600;margin:.8rem 0 0}
.partners{overflow:hidden;padding:.5rem 0 1rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.partner-track{display:flex;width:max-content;animation:partner-scroll 35s linear infinite}
.partners:hover .partner-track{animation-play-state:paused}
.partner{flex:none;height:56px;display:flex;align-items:center;margin-right:3rem}
.partner img{display:block;max-height:56px;width:auto;filter:grayscale(1);opacity:.8}
.partner span{font-weight:600;color:var(--muted);padding:.5rem 1.2rem;border:1px solid var(--line);border-radius:999px;white-space:nowrap}
@keyframes partner-scroll{to{transform:translateX(-50%)}}
.media-press{padding:clamp(1.5rem,4vw,2.5rem) 0 .5rem;background:var(--white)}
.media-title{text-align:center;margin:0 0 1.25rem;padding:0 1rem;color:var(--deep);font-weight:500;font-size:clamp(.95rem,2vw,1.1rem)}
.media-press .partner{height:48px;margin-right:clamp(2.5rem,6vw,4.5rem)}
.media-press .partner img{max-height:40px;filter:none;opacity:.75;transition:opacity .2s}
.media-press .partner img:hover{opacity:1}
.media-press .partner a{display:flex;align-items:center;height:100%;text-decoration:none}
.media-press .partner a:focus-visible{outline:2px solid var(--mid);outline-offset:4px;border-radius:4px}
.promo-card{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:clamp(1.25rem,3vw,2.5rem);align-items:start;background:var(--white);border-radius:16px;padding:clamp(1.25rem,3vw,2rem)}
.promo-img img{display:block;width:100%;height:auto;border-radius:10px}
.promo-badge{display:inline-block;background:var(--mint);color:var(--teal-deep);font-weight:600;font-size:.85rem;padding:.25rem .75rem;border-radius:999px;margin-bottom:.6rem}
.promo-body h3{margin-bottom:.4rem}
.promo-body h4{font-family:var(--sans);font-size:1rem;font-weight:600;margin:1.1rem 0 .4rem}
.promo-period{display:flex;align-items:center;gap:.5rem;margin:0;color:var(--muted)}
.promo-period svg{width:20px;height:20px;flex:none;stroke:var(--mid);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.promo-list{margin:0 0 1.1rem;padding-left:1.3rem}
.promo-list li{margin-bottom:.25rem}
.promo-table{overflow-x:auto;margin-bottom:1.2rem}
.promo-table table{width:100%;border-collapse:collapse;font-size:.95rem}
.promo-table caption{text-align:left;font-weight:600;padding-bottom:.4rem}
.promo-table th,.promo-table td{padding:.6rem .85rem;border:1px solid var(--line);text-align:left;white-space:nowrap}
.promo-table th{background:var(--deep);color:var(--white);border-color:var(--deep);font-weight:600}
.promo-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.2rem}
.promo-terms{border-top:1px solid var(--line);padding-top:.9rem}
.promo-terms summary{cursor:pointer;font-weight:600;color:var(--deep)}
.promo-terms ul{margin:.8rem 0;padding-left:1.3rem;font-size:.92rem;color:var(--muted)}
.promo-terms li{margin-bottom:.35rem}
@media(max-width:820px){.promo-card{grid-template-columns:1fr}.promo-img{max-width:320px}}
.country-hero{display:flex;gap:2rem;align-items:center;flex-wrap:wrap}
.country-flag{display:block;width:120px;height:120px;border-radius:16px;object-fit:cover;box-shadow:0 4px 12px rgba(16,40,60,.25)}
.stats{background:var(--teal-deep) center/cover no-repeat;color:var(--white);text-align:center;padding:clamp(2.5rem,6vw,4.5rem) 0;margin:2rem 10px;border-radius:32px}
.stats h2{color:var(--white);margin-bottom:.4rem}
.stats-sub{color:#e1f1f0;margin-bottom:2.2rem}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem 1rem;max-width:900px;margin:0 auto}
.stat-num{display:inline-flex;align-items:flex-start;gap:.5rem;font-family:var(--serif);font-weight:600;font-size:clamp(2.4rem,5vw,3.6rem);line-height:1;font-variant-numeric:tabular-nums}
.stat-num::before{content:"";width:3px;height:1.1rem;background:var(--brand);margin-top:.3rem}
.stat-num sup{font-family:var(--sans);font-size:1.1rem;margin-top:.1rem}
.stat-label{margin-top:.6rem;font-weight:600}
.foot-top{background:var(--ink);padding:1.4rem 0 2.6rem;margin-top:2rem}
.foot-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}
.pill{display:inline-flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font-weight:600;border:2px solid #fff;border-radius:999px;padding:.65rem 1.4rem;transition:background .15s}
.pill:hover{background:rgba(255,255,255,.15)}
.pill svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-footer{background:var(--brand);color:var(--ink);border-radius:24px 24px 0 0;margin-top:-24px;position:relative;padding:3rem 0 1rem}
.site-footer a{color:var(--ink)}
.foot-grid{display:grid;grid-template-columns:1.1fr 1.2fr 1.3fr;gap:2.5rem}
.foot-logo{display:block;width:100%;max-width:280px;height:auto;margin-bottom:1rem}
.foot-desc{max-width:42ch}
.social{display:flex;gap:.8rem;margin-top:1.2rem}
.social a{width:40px;height:40px;border-radius:50%;background:var(--ink);display:grid;place-items:center}
.social svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.foot-links h3,.office h3{font-family:var(--sans);font-size:1.15rem;font-weight:700;margin:0 0 .8rem}
.office h3{text-transform:uppercase;margin-bottom:.2rem}
.link-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}
.link-cols ul{margin:0;padding-left:1.2rem}
.link-cols li{margin-bottom:.45rem}
.offices{text-align:right}
.office{margin-bottom:.8rem}
.map{display:block;width:100%;height:190px;border:0;border-radius:12px;margin-top:1rem}
.disclaimer{font-size:.9rem}
.copy{padding-top:1rem;border-top:1px solid rgba(16,40,60,.2);font-size:.85rem}
@media(max-width:820px){
 .services{grid-template-columns:repeat(2,1fr)}
 .hero-grid{grid-template-columns:1fr;gap:2rem}
 .consult-card{grid-template-columns:1fr;gap:0}
 .consult-img img{max-height:340px}
 .stats-grid{grid-template-columns:repeat(2,1fr)}
 .foot-grid{grid-template-columns:1fr}
 .offices{text-align:left}
}
@media(max-width:480px){.services{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.partner-track{animation:none}.partners{overflow-x:auto;-webkit-mask-image:none;mask-image:none}html{scroll-behavior:auto}.btn{transition:none}}
/* ===== Rumah sakit: daftar, filter, detail ===== */
:root{--rs-btn:var(--deep);--rs-btn-hover:#124c78;--rs-green:#1d8a4e;--rs-star:#f2a516}
.rs-filter{padding:1.2rem 1.4rem 1.3rem;margin:1.4rem 0}
.rs-filter .filters{margin:0 0 1rem;align-items:flex-start}
.rs-filter .ddl-btn{padding:.4rem .65rem}
.rs-filter label{margin-top:0}
.rs-filter-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}
.rs-count{margin:0 0 0 auto;color:var(--muted);font-size:.95rem}
.rs-list{display:grid;gap:1.25rem;margin:1.4rem 0}
.rs-card{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:clamp(1.25rem,3vw,2.25rem);align-items:center;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:clamp(1rem,2.5vw,1.5rem)}
.rs-photo{display:block;aspect-ratio:3/2;border-radius:8px;overflow:hidden;background:var(--mint)}
.rs-photo img{display:block;width:100%;height:100%;object-fit:cover}
.rs-title{font-size:1.5rem;margin:0 0 .35rem}
.rs-title a{text-decoration:none}
.rs-title a:hover{color:var(--deep)}
.rs-rating{display:flex;align-items:center;gap:.45rem;margin:0 0 .8rem;font-size:.9rem;color:var(--muted)}
.stars{--p:100%;font-size:1rem;line-height:1;letter-spacing:1px;background:linear-gradient(90deg,var(--rs-star) var(--p),#d3dce2 var(--p));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.rs-desc{color:var(--muted)}
.rs-facts{list-style:none;margin:1rem 0;padding:0;display:grid;gap:.35rem}
.rs-facts li{display:flex;gap:.55rem;align-items:flex-start}
.rs-facts svg{flex:none;width:18px;height:18px;margin-top:.24rem;fill:none;stroke:var(--rs-green);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rs-facts strong{color:var(--ink)}
.rs-foot{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.rs-btn{background:var(--rs-btn);color:#fff;padding:.6rem 1.3rem}
.rs-btn:hover{background:var(--rs-btn-hover)}
.crumbs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;font-size:.92rem;color:var(--muted)}
.crumbs a{color:var(--deep);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs>*+*::before{content:"/";margin-right:.4rem;color:#9fb7c4}
.rs-card-lg{grid-template-columns:minmax(260px,400px) 1fr;align-items:start}
.rs-card-lg .rs-title{font-size:clamp(1.7rem,3.5vw,2.2rem)}
.rs-sub{font-family:var(--sans);font-size:1rem;font-weight:600;margin:1.2rem 0 .6rem}
.rs-spec{list-style:none;margin:0 0 .4rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.rs-spec li{display:flex;align-items:center;gap:.5rem;padding:.25rem .8rem .25rem .3rem;border:1px solid var(--line);border-radius:999px;font-size:.92rem}
.rs-spec .ddl-ico,.proc-list .ddl-ico{width:28px;height:28px}
.rs-cta{display:flex;flex-wrap:wrap;gap:.8rem}
.rs-tabs{margin-top:2rem}
.rs-tablist{display:flex;gap:.25rem;border-bottom:2px solid var(--line);overflow-x:auto}
.rs-tablist a{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.2rem;margin-bottom:-2px;border-bottom:3px solid transparent;font-weight:600;text-decoration:none;color:var(--muted);white-space:nowrap}
.rs-tablist a:hover{color:var(--ink)}
.rs-tablist a[aria-selected=true]{color:var(--deep);border-bottom-color:var(--deep)}
.rs-count-badge{min-width:1.6rem;padding:0 .45rem;border-radius:999px;background:var(--mint);color:var(--teal-deep);font-size:.82rem;text-align:center}
.rs-panel{padding-top:1.6rem}
.rs-panel+.rs-panel{margin-top:1.4rem;border-top:1px solid var(--line)}
.js-tabs .rs-panel{margin-top:0;border-top:0}
.js-tabs .rs-panel[hidden]{display:none}
.js-tabs .rs-panel>h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.js-tabs .rs-panel .grid{margin-top:0}
.proc-list{list-style:none;margin:0 0 1rem;padding:0;background:var(--white);border:1px solid var(--line);border-radius:10px}
.proc-list li{display:flex;align-items:center;gap:.9rem;padding:1rem 1.2rem}
.proc-list li+li{border-top:1px solid var(--line)}
.proc-name{flex:1;min-width:0;display:flex;flex-direction:column}
.proc-price{font-family:var(--serif);font-weight:600;color:var(--deep);text-align:right}
.faq{display:grid;gap:.6rem;margin-bottom:1rem}
.faq details{background:var(--white);border:1px solid var(--line);border-radius:10px}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;font-weight:600;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:.6rem;height:.6rem;border:solid var(--deep);border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq details p{margin:0;padding:0 1.2rem 1.1rem;color:var(--muted);max-width:70ch}
@media(max-width:720px){
 .rs-card,.rs-card-lg{grid-template-columns:1fr;align-items:start}
 .rs-count{margin-left:0;width:100%}
 .proc-list li{flex-wrap:wrap}
 .proc-price{width:100%;text-align:left;padding-left:calc(28px + .9rem)}
}
@media(prefers-reduced-motion:reduce){.faq summary::after{transition:none}}

/* ---------- Dokter: kartu daftar & halaman profil ---------- */
:root{--dr-btn:var(--deep);--dr-btn-hover:#124c78}
.dr-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,430px),1fr))}
.dr-card{display:flex;gap:clamp(1rem,3vw,1.8rem);align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:8px;padding:clamp(1.1rem,3vw,1.8rem)}
.dr-photo{flex:none;width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--mint);display:block}
.dr-photo img,.dr-photo svg{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.dr-body{flex:1;min-width:0;display:flex;flex-direction:column}
.dr-name{font-family:var(--sans);font-size:1.1rem;font-weight:500;margin:0 0 .35rem}
.dr-name a{color:var(--ink);text-decoration:none}
.dr-name a:hover{color:var(--deep)}
.dr-spec{margin:0 0 .2rem;font-size:.9rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.dr-card .rs-rating{margin:0}
.dr-rs{margin:.45rem 0 0;font-size:.9rem;color:var(--muted)}
.dr-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.dr-link,.dr-green{color:var(--rs-green);font-weight:600;text-decoration:none}
.dr-link:hover,.dr-green:hover{text-decoration:underline}
.dr-link{font-size:1.05rem}
.dr-btn{display:inline-block;background:var(--dr-btn);color:#fff;padding:.7rem 1.5rem;border-radius:99px;font-weight:500;text-decoration:none;transition:background .15s}
.dr-btn:hover{background:var(--dr-btn-hover)}
.dr-profile{max-width:780px}
.dr-head{display:flex;align-items:center;gap:1.2rem;margin-bottom:.8rem}
.dr-photo-lg{width:84px;height:84px}
.dr-head h1{font-family:var(--sans);font-weight:500;font-size:clamp(1.7rem,4vw,2.2rem);margin:0 0 .3rem}
.dr-title{margin:0 0 .2rem;font-weight:700;color:var(--muted)}
.dr-profile .rs-rating{margin:0}
.dr-bio{color:var(--muted);margin:.8rem 0}
.dr-profile hr{border:0;border-top:1px solid var(--line);margin:1.4rem 0}
.dr-facts{margin:0 0 1rem;color:var(--muted);line-height:1.75}
.dr-facts div{display:block}
.dr-facts dt,.dr-facts dd{display:inline;margin:0}
.dr-facts dt{font-weight:700}
.dr-wa svg{width:1em;height:1em;vertical-align:-.12em;margin-right:.3em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dr-h2{font-family:var(--sans);font-weight:400;font-size:1.5rem;margin:0 0 1rem}
.dr-sched{width:100%;border-collapse:collapse}
.dr-sched tr:nth-child(odd){background:#f3f7fa}
.dr-sched th,.dr-sched td{padding:.85rem .9rem;text-align:left;font-weight:400;font-size:.95rem}
.dr-sched th{width:34%;min-width:90px}
.dr-note-h{margin:1.8rem 0 .3rem;font-weight:700;color:var(--muted)}
.dr-notes{margin:0;padding-left:1.3rem;color:var(--muted);line-height:1.9}
.dr-cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}
@media(max-width:480px){.dr-card{gap:.9rem}.dr-photo{width:72px;height:72px}.dr-foot{flex-direction:row}}
@media(prefers-reduced-motion:reduce){.dr-btn{transition:none}}
/* Halaman tes kesehatan */
.tes [hidden]{display:none!important}
.tes h1{margin-bottom:.5rem}
.tes-tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0 1.5rem}
.tes-tabs a{display:inline-block;padding:.6rem 1.2rem;border-radius:999px;border:1px solid var(--line);background:var(--white);color:var(--deep);font-weight:600;text-decoration:none;transition:background .15s,color .15s}
.tes-tabs a:hover{background:var(--mint)}
.tes-tabs a[aria-current=true]{background:var(--deep);border-color:var(--deep);color:var(--white)}
.tes-tabs a:focus-visible{outline:3px solid var(--mid);outline-offset:2px}
.tes-panel{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:clamp(1.2rem,3vw,2rem);margin-bottom:1.5rem}
.tes-panel>h2{margin-bottom:.4rem}
.tes-split{display:grid;grid-template-columns:minmax(240px,340px) 1fr;gap:clamp(1.2rem,3vw,2.2rem);align-items:start;margin-top:.6rem}
.tes-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.tes-form input[type=number],.tes-form input[type=date]{width:100%;padding:.65rem;border:1px solid var(--line);border-radius:6px;font:inherit;background:var(--white);color:var(--ink)}
.tes-form input:focus-visible,.tes-form select:focus-visible{outline:3px solid var(--light);outline-offset:1px}
.tes-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem}
.tes-err{margin:.9rem 0 0;color:#b3261e;font-weight:600}
.tes-tip{background:var(--mint);border-radius:10px;padding:.9rem 1.1rem;margin:1rem 0;font-size:.95rem}
.tes-alert{background:#fff4f3;border:1px solid #e3a29c;border-left:5px solid #b3261e;border-radius:10px;padding:1rem 1.2rem;margin:1rem 0}
.tes-alert a{color:var(--deep);font-weight:600}
.q-list{list-style:none;counter-reset:q;padding:0;margin:1rem 0}
.q-list>li{counter-increment:q;position:relative;padding:1rem .6rem 1rem 2.8rem;border-bottom:1px solid var(--line)}
.q-list>li::before{content:counter(q);position:absolute;left:.2rem;top:1.05rem;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--deep);color:var(--white);display:grid;place-items:center;font-weight:600;font-size:.85rem}
.q-list>li p{margin:0 0 .7rem}
.q-list>li.unanswered{background:#fff4f3;border-radius:8px}
.kpsp-set h3{margin:1rem 0 0}
.yn{display:flex;flex-wrap:wrap;gap:.5rem}
.yn label{display:inline-flex;align-items:center;gap:.45rem;margin:0;padding:.45rem .95rem;border:1px solid var(--line);border-radius:999px;background:var(--white);font-weight:600;cursor:pointer}
.yn input{accent-color:var(--deep)}
.yn label:has(input:checked){background:var(--mint);border-color:var(--deep);color:var(--teal-deep)}
.yn label:has(input:focus-visible){outline:3px solid var(--mid);outline-offset:2px}
.tes-result{--lv:var(--deep);border:1px solid var(--lv);border-left-width:6px;border-radius:12px;padding:1.2rem 1.4rem;background:var(--mint);margin-top:1.2rem}
.tes-split .tes-result{margin-top:0}
.tes-result.lv-ok{--lv:#1d8a4e;background:#eaf6ef}
.tes-result.lv-warn{--lv:#b77a00;background:#fff7e3}
.tes-result.lv-bad{--lv:#b3261e;background:#fff4f3}
.tes-result h3{margin:.3rem 0 .6rem;color:var(--lv)}
.tes-result p{margin:.5rem 0}
.tes-score{font-family:var(--serif);font-size:2.6rem;font-weight:600;line-height:1;color:var(--lv)}
.tes-score small{font-size:1.2rem;color:var(--muted)}
.tes-cta{margin-top:1rem}
.bmi-scale{position:relative;margin:1.3rem 0 1rem}
.bmi-bar{display:flex;height:12px;border-radius:99px;overflow:hidden}
.bmi-bar i{display:block;height:100%}
.bmi-mark{position:absolute;top:-6px;width:4px;height:24px;background:var(--ink);border-radius:2px;transform:translateX(-50%)}
.bmi-legend{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;padding:0;margin:1.2rem 0 .4rem;font-size:.88rem;color:var(--muted)}
.bmi-legend li{display:flex;align-items:center;gap:.4rem}
.bmi-legend i{display:inline-block;width:.8rem;height:.8rem;border-radius:3px}
@media(max-width:820px){.tes-split{grid-template-columns:1fr}.tes-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.tes-tabs a{transition:none}}
/* ===== Footer: dekorasi sederhana, akun sosial, kredit developer, tampilan penuh di desktop ===== */
html{height:100%}
body{min-height:100vh;display:flex;flex-direction:column}
main{flex:1 0 auto}
.site-footer{overflow:hidden;isolation:isolate;padding:3.5rem 0 calc(1.2rem + 92px)}
.site-footer::before{content:"";position:absolute;z-index:-1;right:-90px;top:-110px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,transparent 58%,rgba(255,255,255,.28) 58.5%,rgba(255,255,255,.28) 61%,transparent 61.5%,transparent 72%,rgba(255,255,255,.18) 72.5%,rgba(255,255,255,.18) 75%,transparent 75.5%)}
.site-footer::after{content:"";position:absolute;z-index:-1;left:-20px;bottom:56px;width:220px;height:140px;background-image:radial-gradient(rgba(16,40,60,.22) 1.6px,transparent 1.7px);background-size:18px 18px;-webkit-mask-image:linear-gradient(to top right,#000,transparent 80%);mask-image:linear-gradient(to top right,#000,transparent 80%)}
.site-footer .foot-links h3::after{content:"";display:block;width:34px;height:3px;margin-top:.45rem;border-radius:3px;background:var(--ink)}
.site-footer .link-cols ul{list-style:none;padding:0}
.site-footer .link-cols a{display:inline-block;text-decoration:none;transition:transform .15s}
.site-footer .link-cols a::before{content:"\203A";display:inline-block;width:.9rem;font-weight:700;opacity:.55}
.site-footer .link-cols a:hover{text-decoration:underline;text-underline-offset:3px;transform:translateX(3px)}
.site-footer .social{flex-wrap:wrap;gap:.6rem}
.site-footer .social a{width:auto;height:auto;display:inline-flex;align-items:center;gap:.55rem;padding:.5rem 1rem .5rem .8rem;border-radius:999px;background:var(--ink);color:#fff;font-weight:600;font-size:.92rem;text-decoration:none;transition:transform .15s,box-shadow .15s}
.site-footer .social a:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(16,40,60,.25)}
.site-footer .social svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-footer .social svg.fill{fill:currentColor;stroke:none}
.site-footer .copy{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem 1.5rem}
.site-footer .copy .dev a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.site-footer .copy .dev a:hover{opacity:.75}
@media(min-width:1024px){
 .foot-top .wrap,.site-footer .wrap{width:auto;max-width:none;margin-inline:clamp(2rem,5vw,6rem)}
 .site-footer{padding-top:4rem}
 .foot-grid{grid-template-columns:1.2fr 1.3fr 1.2fr;gap:clamp(2.5rem,5vw,6rem)}
 .foot-logo{max-width:320px}
 .map{height:220px}
}
@media(max-width:820px){
 .site-footer .copy{flex-direction:column;align-items:flex-start}
}
/* ===== Polesan tampilan: kartu, tombol, fokus ===== */
.card,.rs-card,.dr-card{transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}
.card:hover,.rs-card:hover,.dr-card:hover{border-color:var(--brand-dark);box-shadow:0 10px 28px -12px rgba(16,40,60,.22);transform:translateY(-2px)}
.btn:active,.dr-btn:active{transform:translateY(1px)}
.btn:focus-visible,.dr-btn:focus-visible{outline-color:var(--deep)}
select,input[type=search],.tes-form input[type=number],.tes-form input[type=date]{border-radius:10px}
@media(prefers-reduced-motion:reduce){.card,.rs-card,.dr-card{transition:none}.card:hover,.rs-card:hover,.dr-card:hover{transform:none}}

/* ===== Hiasan wave simpel pada section statistik ===== */
.stats{position:relative;overflow:hidden;isolation:isolate}
.stats::before,.stats::after{content:"";position:absolute;left:0;right:0;bottom:0;z-index:-1;pointer-events:none;background-repeat:repeat-x;background-position:0 100%}
.stats::before{height:96px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 90' preserveAspectRatio='none'%3E%3Cpath fill='white' fill-opacity='.10' d='M0 45C120 0 240 0 360 45S600 90 720 45V90H0Z'/%3E%3C/svg%3E");background-size:760px 96px;animation:stats-wave 38s linear infinite}
.stats::after{height:64px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 90' preserveAspectRatio='none'%3E%3Cpath fill='white' fill-opacity='.08' d='M0 45C120 0 240 0 360 45S600 90 720 45V90H0Z'/%3E%3C/svg%3E");background-size:520px 64px;background-position:-180px 100%;animation:stats-wave-b 28s linear infinite reverse}
@keyframes stats-wave{to{background-position:760px 100%}}
@keyframes stats-wave-b{to{background-position:340px 100%}}
@media(max-width:600px){.stats::before{height:70px;background-size:560px 70px}.stats::after{height:48px;background-size:400px 48px}}
@media(prefers-reduced-motion:reduce){.stats::before,.stats::after{animation:none}}

/* ===== Rumah sakit favorit (beranda) ===== */
.fav-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.fav-photo{position:relative;display:block;aspect-ratio:3/2;background:var(--mint)}
.fav-photo img{display:block;width:100%;height:100%;object-fit:cover}
.fav-badge{position:absolute;top:.7rem;left:.7rem;padding:.2rem .75rem;border-radius:999px;background:var(--rs-star);color:var(--ink);font-size:.8rem;font-weight:700}
.fav-badge::before{content:"\2605";margin-right:.3rem}
.fav-body{padding:1.1rem 1.3rem 1.3rem}
.fav-body h3{margin:0 0 .3rem;font-size:1.15rem}
.fav-body h3 a{text-decoration:none}
.fav-body h3 a:hover{color:var(--deep)}
.fav-body .rs-rating{margin:0 0 .3rem}
.fav-body .muted{margin:0 0 .6rem}

/* ===== Artikel (daftar & detail), dari panel admin ===== */
.page-head{padding:clamp(1.5rem,4vw,3rem) 0 0}
.page-head .lead{max-width:60ch}
.art-search{margin:0 0 1.6rem;max-width:420px}
.art-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.2rem}
.art-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.art-thumb{position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:1rem;aspect-ratio:16/8;color:#fff;font-weight:600;background:linear-gradient(135deg,var(--teal-deep),var(--brand))}
.art-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.art-thumb.has-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(16,40,60,.6),transparent 60%)}
.art-thumb span{position:relative;z-index:1}
.art-body{display:flex;flex-direction:column;flex:1;padding:1.2rem 1.3rem 1.4rem}
.art-body h3{font-size:1.15rem}
.art-body h3 a{text-decoration:none}
.art-body h3 a:hover{color:var(--deep)}
.art-meta{font-size:.85rem;color:var(--muted);margin:0 0 .4rem}
.art-body .link{margin-top:auto}
.article{max-width:720px}
.article h1{font-size:clamp(1.7rem,4vw,2.4rem)}
.article p{font-size:1.08rem;line-height:1.8;color:#2c4457}
.article-cover{margin:1.2rem 0 1.6rem}
.article-cover img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px}
.article-body h2{font-size:clamp(1.35rem,3vw,1.7rem);margin:2rem 0 .7rem}
.article-body h3{font-size:1.2rem;margin:1.6rem 0 .5rem}
.article-body h4{font-size:1.05rem;margin:1.3rem 0 .4rem}
.article-body ul,.article-body ol{margin:0 0 1.2rem;padding-left:1.4rem;font-size:1.08rem;line-height:1.8;color:#2c4457}
.article-body li{margin-bottom:.35rem}
.article-body blockquote{margin:1.4rem 0;padding:.4rem 1.2rem;border-left:4px solid var(--brand);background:var(--mint);border-radius:0 10px 10px 0;color:#2c4457}
.article-body blockquote p{margin:.4rem 0}
.article-body img{display:block;max-width:100%;height:auto;border-radius:12px;margin:1.4rem 0}
.article-body a{color:var(--deep);text-decoration:underline;text-underline-offset:3px}
.article-body hr{border:0;border-top:1px solid var(--line);margin:2rem 0}
.article .actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}

/* ===== Payment Partners (footer) ===== */
.foot-pay{margin-top:2rem;padding-top:1.4rem;border-top:1px solid rgba(16,40,60,.2)}
.foot-pay h3{font-family:var(--sans);font-size:1.15rem;font-weight:700;margin:0 0 1rem}
.pay-list{list-style:none;margin:0 0 1.4rem;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem}
.pay-list li{display:flex;align-items:center;height:36px}
.pay-list img{display:block;height:100%;width:auto;max-width:120px;object-fit:contain;filter:grayscale(1);opacity:.85;transition:opacity .2s}
.pay-list li:hover img{opacity:1}
.pay-name{font-weight:700;font-size:1rem;letter-spacing:.01em;color:rgba(16,40,60,.75)}
@media(max-width:560px){.pay-list{gap:.9rem 1.4rem}.pay-list li{height:30px}}