:root{
  --bg:#f7fbff;
  --surface:#ffffff;
  --ink:#123047;
  --muted:#5c7182;
  --line:#dbe7ef;
  --brand:#0f5f8f;
  --brand-dark:#0b3e61;
  --soft:#eaf6fb;
  --accent:#d84747;
  --ok:#0b7a53;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
}
a{color:inherit}
.container{max-width:1120px;margin:auto;padding:0 20px}
.topbar{
  background:var(--brand-dark);
  color:white;
  font-size:14px;
}
.topbar .container{display:flex;justify-content:space-between;gap:16px;padding-top:8px;padding-bottom:8px;flex-wrap:wrap}
.header{
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:20;
  backdrop-filter:blur(12px);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:20px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800}
.logo-mark{
  width:42px;height:42px;border-radius:16px;
  background:linear-gradient(135deg,var(--brand),var(--brand-dark));
  display:grid;place-items:center;color:white;font-weight:900;
  box-shadow:0 12px 30px rgba(15,95,143,.18);
}
.logo small{display:block;color:var(--muted);font-weight:600;margin-top:-4px}
.navlinks{display:flex;gap:22px;align-items:center;font-weight:700;font-size:14px;color:var(--brand-dark)}
.navlinks a{text-decoration:none}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:var(--brand);color:white;text-decoration:none;
  padding:12px 18px;border-radius:999px;font-weight:800;border:1px solid var(--brand);
  box-shadow:0 12px 24px rgba(15,95,143,.18);
}
.btn.secondary{background:white;color:var(--brand-dark);box-shadow:none;border-color:var(--line)}
.btn.soft{background:var(--soft);color:var(--brand-dark);box-shadow:none;border-color:var(--soft)}
.hero{
  padding:72px 0 36px;
  background:
    radial-gradient(circle at top right, rgba(15,95,143,.15), transparent 35%),
    linear-gradient(180deg, #ffffff 0%, var(--bg) 100%);
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
.kicker{display:inline-flex;background:var(--soft);color:var(--brand-dark);border:1px solid var(--line);padding:7px 12px;border-radius:999px;font-weight:800;font-size:14px}
h1{font-size:48px;line-height:1.08;margin:18px 0 16px;letter-spacing:-.04em}
.lead{font-size:19px;color:var(--muted);max-width:720px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.hero-card{
  background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:26px;
  box-shadow:0 24px 70px rgba(18,48,71,.08);
}
.status{
  display:flex;align-items:center;gap:10px;background:#f1fbf7;color:var(--ok);
  border:1px solid #cbeee0;border-radius:16px;padding:10px 12px;font-weight:800;margin-bottom:16px;
}
.dot{width:10px;height:10px;border-radius:99px;background:var(--ok)}
.info-list{display:grid;gap:12px;margin:20px 0 0;padding:0;list-style:none}
.info-list li{display:flex;gap:12px;border-top:1px solid var(--line);padding-top:12px}
.info-list b{min-width:105px}
.section{padding:68px 0}
.section.alt{background:white}
.section h2{font-size:34px;letter-spacing:-.03em;margin:0 0 12px}
.section p.intro{color:var(--muted);font-size:18px;max-width:780px;margin:0 0 26px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.card{
  background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:22px;
  box-shadow:0 14px 36px rgba(18,48,71,.06);
}
.card h3{margin:0 0 8px;font-size:20px}
.card p{color:var(--muted);margin:0}
.badge{display:inline-flex;background:var(--soft);color:var(--brand-dark);font-size:13px;font-weight:800;border-radius:999px;padding:5px 10px;margin-bottom:12px}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}
.checklist{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.checklist li{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 16px}
.warning{
  background:#fff8eb;border:1px solid #f2d7a5;border-radius:22px;padding:20px;color:#5f4314;
}
.cta{
  background:linear-gradient(135deg,var(--brand-dark),var(--brand));
  color:white;border-radius:30px;padding:34px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;
}
.cta h2{color:white;margin:0}
.cta p{color:rgba(255,255,255,.84);margin:8px 0 0}
.footer{background:#0b2438;color:#d9edf7;padding:40px 0;margin-top:30px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:24px}
.footer a{color:#d9edf7;text-decoration:none}
.small{font-size:13px;color:#8da9ba}
.disclaimer{font-size:13px;color:#6a7d8b;margin-top:18px}
.page-title{padding:52px 0 24px;background:white;border-bottom:1px solid var(--line)}
.content{max-width:860px;background:white;border:1px solid var(--line);border-radius:24px;padding:28px;margin:28px auto}
.content h2{margin-top:32px}
.table{width:100%;border-collapse:collapse;background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.table th,.table td{border-bottom:1px solid var(--line);padding:13px;text-align:left;vertical-align:top}
.table th{background:var(--soft)}
@media (max-width:860px){
  .hero-grid,.split,.cta,.footer-grid{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr}
  h1{font-size:38px}
  .navlinks{display:none}
}

.logo-image{
  height:54px;
  width:auto;
  max-width:300px;
  display:block;
  object-fit:contain;
  border-radius:10px;
}
.logo-text{
  display:block;
  font-weight:800;
}
@media (max-width:560px){
  .logo-image{height:42px;max-width:220px}
  .logo-text{display:none}
}
.hero-logo{
  width:100%;
  max-width:520px;
  height:auto;
  display:block;
  margin:0 auto 18px;
  border-radius:18px;
}


.doctor-section{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:28px;
  align-items:center;
}
.doctor-photo{
  width:100%;
  max-width:420px;
  border-radius:28px;
  border:1px solid var(--line);
  box-shadow:0 24px 60px rgba(18,48,71,.10);
  display:block;
  margin:auto;
}
.doctor-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:24px;
  padding:24px;
  box-shadow:0 14px 36px rgba(18,48,71,.06);
}
.doctor-meta{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.doctor-meta div{
  border-top:1px solid var(--line);
  padding-top:10px;
}
@media (max-width:860px){
  .doctor-section{grid-template-columns:1fr}
}

.visual-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:28px;
  padding:12px;
  box-shadow:0 18px 45px rgba(18,48,71,.08);
}
.visual-card img{
  width:100%;
  height:auto;
  display:block;
  border-radius:22px;
}
.image-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:18px;
  margin-top:26px;
}
.image-tile{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:24px;
  padding:12px;
  box-shadow:0 14px 36px rgba(18,48,71,.06);
}
.image-tile img{
  width:100%;
  display:block;
  border-radius:18px;
  margin-bottom:14px;
}
.image-tile h3{
  margin:0 8px 6px;
}
.image-tile p{
  margin:0 8px 10px;
  color:var(--muted);
}
.floating-whatsapp{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:40;
  background:#0b7a53;
  color:white;
  border-radius:999px;
  padding:14px 18px;
  text-decoration:none;
  font-weight:900;
  box-shadow:0 16px 34px rgba(11,122,83,.28);
}
.faq{
  display:grid;
  gap:12px;
  margin-top:22px;
}
.faq details{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px 18px;
}
.faq summary{
  cursor:pointer;
  font-weight:900;
  color:var(--brand-dark);
}
.faq p{
  color:var(--muted);
  margin-bottom:0;
}
.map-box{
  border:1px solid var(--line);
  border-radius:28px;
  overflow:hidden;
  background:white;
  min-height:320px;
  box-shadow:0 14px 36px rgba(18,48,71,.06);
}
.map-box iframe{
  width:100%;
  height:360px;
  border:0;
  display:block;
}
@media (max-width:860px){
  .image-grid{grid-template-columns:1fr}
  .floating-whatsapp{left:16px;right:16px;text-align:center}
}


.review-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:start}
.review-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 14px 36px rgba(18,48,71,.06)}
.review-score{font-size:56px;line-height:1;font-weight:900;color:var(--brand-dark);margin:8px 0 4px}
.stars{font-size:24px;letter-spacing:2px;color:#d9a307}
.review-stat{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:18px}
.review-pill{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:14px 16px}
.review-pill strong{display:block;font-size:20px;color:var(--brand-dark)}
.photo-showcase{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:12px;box-shadow:0 18px 45px rgba(18,48,71,.08)}
.photo-showcase img{width:100%;height:auto;display:block;border-radius:22px}
.photo-caption{color:var(--muted);font-size:14px;margin:10px 6px 2px}
.hero-mini-badge{display:inline-flex;background:#f1fbf7;color:var(--ok);border:1px solid #cbeee0;padding:7px 12px;border-radius:999px;font-weight:800;font-size:14px;margin-top:14px}
@media (max-width:860px){.review-grid{grid-template-columns:1fr}.review-stat{grid-template-columns:1fr}}

.weight-program{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  align-items:center;
}
.program-steps{
  display:grid;
  gap:12px;
  counter-reset: step;
}
.program-step{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px 18px;
  position:relative;
}
.program-step strong{
  color:var(--brand-dark);
}
.live-review-list{
  display:grid;
  gap:12px;
  margin-top:18px;
}
.live-review-item{
  background:var(--soft);
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px 16px;
}
.live-review-item p{
  color:var(--muted);
  margin-bottom:0;
}
@media (max-width:860px){
  .weight-program{grid-template-columns:1fr}
}

.local-area-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
  margin-top:22px;
}
.local-area-pill{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px 18px;
  box-shadow:0 10px 24px rgba(18,48,71,.05);
}
.local-area-pill strong{
  display:block;
  color:var(--brand-dark);
  margin-bottom:4px;
}
.local-links{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:14px;
  margin-top:20px;
}
.local-link-card{
  display:block;
  text-decoration:none;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:20px;
  padding:18px;
  box-shadow:0 12px 28px rgba(18,48,71,.06);
}
.local-link-card:hover{
  transform:translateY(-1px);
}
.breadcrumb{
  font-size:14px;
  color:var(--muted);
  margin-bottom:16px;
}
.breadcrumb a{
  color:var(--brand-dark);
  text-decoration:none;
  font-weight:800;
}
.seo-note{
  background:#f1fbf7;
  border:1px solid #cbeee0;
  color:#164e3a;
  border-radius:20px;
  padding:18px;
}


.resident-preview{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:26px;
  align-items:center;
}
.resident-photo-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:28px;
  padding:12px;
  box-shadow:0 18px 45px rgba(18,48,71,.08);
}
.resident-photo-card img{
  width:100%;
  max-height:430px;
  object-fit:cover;
  object-position:center top;
  display:block;
  border-radius:22px;
}
.resident-info-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:28px;
  padding:26px;
  box-shadow:0 14px 36px rgba(18,48,71,.06);
}
.interest-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:18px 0;
}
.interest-item{
  background:var(--soft);
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
}
.interest-item strong{
  display:block;
  color:var(--brand-dark);
  margin-bottom:4px;
}
@media (max-width:860px){
  .resident-preview{grid-template-columns:1fr}
  .interest-grid{grid-template-columns:1fr}
}



/* V8: Compact floating WhatsApp button - mobile friendly */
.floating-whatsapp{
  right:18px;
  bottom:18px;
  left:auto;
  width:auto;
  min-width:0;
  max-width:max-content;
  padding:12px 16px;
  font-size:14px;
  line-height:1;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}

@media (max-width:860px){
  .floating-whatsapp{
    left:auto !important;
    right:14px !important;
    bottom:14px !important;
    width:54px !important;
    height:54px !important;
    padding:0 !important;
    border-radius:50% !important;
    font-size:0 !important;
    text-align:center !important;
    box-shadow:0 10px 24px rgba(11,122,83,.26);
  }
  .floating-whatsapp::before{
    content:"WA";
    font-size:15px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.02em;
  }
}

@media (max-width:380px){
  .floating-whatsapp{
    width:48px !important;
    height:48px !important;
    right:12px !important;
    bottom:12px !important;
  }
  .floating-whatsapp::before{
    font-size:14px;
  }
}

