:root{
  --page-bg:
    radial-gradient(circle at top right, rgba(21,97,170,.12), transparent 24%),
    linear-gradient(180deg,#f8fbfe 0%,#f4f8fb 45%,#eef5fa 100%);
  --surface:#ffffff;
  --surface-soft:#f4f8fb;
  --surface-muted:#f8fbfd;
  --text-color:#12304c;
  --text-soft:#567089;
  --line-color:#d9e3ec;
  --line-strong:#bfd4e7;
  --accent:#1561AA;
  --accent-soft:#ebf4fb;
  --success:#4AB859;
  --success-soft:#ebf9ee;
  --danger:#D45836;
  --danger-soft:#fff1ea;
  --announcement-bg:linear-gradient(90deg,#4AB859,#2e9f48);
  --topbar-bg:linear-gradient(90deg,#1561AA,#0082A4);
  --topbar-text:#ffffff;
  --topbar-muted:rgba(255,255,255,.78);
  --shadow-lg:0 24px 64px rgba(21,97,170,.10);
  --shadow-md:0 16px 30px rgba(21,97,170,.08);
}

html,body{
  background:var(--page-bg);
}

.topbar{
  position:sticky;
  top:0;
}

.cta-group{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.hero-panel{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(135deg,#0e4f91 0%, var(--accent) 55%, #0082A4 100%);
  color:#fff;
  border-radius:24px;
  padding:34px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:22px;
  margin-bottom:24px;
  box-shadow:var(--shadow-md);
}

.hero-panel::after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-120px;
  width:280px;
  height:280px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
}

.hero-content,
.hero-visual{
  position:relative;
  z-index:1;
}

.hero-panel .lead{
  color:rgba(255,255,255,.86);
}

.hero-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:16px;
}

.hero-proof{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}

.proof-chip{
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.16);
  font-size:12px;
  color:rgba(255,255,255,.88);
}

.hero-visual{
  display:grid;
  gap:14px;
}

.hero-box{
  min-height:220px;
  border-radius:18px;
  border:1px dashed rgba(255,255,255,.3);
  background:rgba(255,255,255,.08);
  display:grid;
  place-items:center;
  text-align:center;
  padding:18px;
  color:rgba(255,255,255,.8);
  font-size:13px;
  line-height:1.6;
}

.hero-mini-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.hero-mini-card{
  border-radius:16px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  padding:14px;
}

.hero-mini-card strong{
  display:block;
  font-size:18px;
  margin-bottom:4px;
}

.hero-mini-card span{
  font-size:12px;
  color:rgba(255,255,255,.82);
  line-height:1.5;
}

.action-card{
  background:linear-gradient(180deg,#fff,#fbfdff);
}

.action-card .card-title{
  margin-bottom:8px;
}

.service-card{
  background:linear-gradient(180deg,#fff,#fbfdff);
}

.doctor-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.doctor-card{
  background:#fff;
}

.footer-bar{
  position:sticky;
  bottom:0;
  backdrop-filter:blur(10px);
}

@media (max-width: 1080px){
  .hero-panel,
  .doctor-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 860px){
  .cta-group{
    width:100%;
  }

  .cta-group .btn{
    flex:1;
  }

  .hero-panel{
    padding:24px 18px;
  }

  .hero-mini-grid{
    grid-template-columns:1fr;
  }

  .mobile-cta{
    grid-template-columns:1fr 1fr;
  }

  .footer-bar{
    padding-bottom:92px;
  }
}

@media (max-width: 560px){
  .mobile-cta{
    grid-template-columns:1fr;
  }
}
