:root{
  /* Calm clinic palette */
  --bg: #f8faf8;
  --bg-accent: #eef5f0;
  --card: #ffffff;
  --text: #1e2a24;       /* deep greenish slate */
  --muted:#5c6b63;       /* soft sage */
  --primary:#1c5c4a;     /* rich teal-sage */
  --accent:#f3c3b8;      /* blush */
  --accent-2:#8bd5c0;    /* mint */
  --border:#e6efe8;
  --radius:16px;
  --shadow: 0 10px 28px rgba(14, 28, 22, .06);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:
    radial-gradient(800px 500px at 10% -10%, var(--bg-accent) 0%, transparent 60%),
    radial-gradient(700px 500px at 110% 0%, #eef3ff 0%, transparent 55%),
    var(--bg);
  color:var(--text);
  line-height:1.6;
  font-size:16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Subtle dotted pattern */
.bg{
  position:fixed; inset:0; pointer-events:none; z-index:-1;
  background-image:
    radial-gradient(rgba(28,92,74,.08) 1px, transparent 1.5px);
  background-size: 18px 18px;
  mask-image: radial-gradient(ellipse at center, rgba(255,255,255,.65), transparent 70%);
}

/* Hero */
.hero{
  max-width:820px; margin: 22px auto 10px; padding: 18px 16px;
  text-align:center;
}
.avatar{
  width:120px;height:120px;border-radius:50%;
  object-fit:cover; display:block; margin:0 auto 12px;
  border:4px solid #fff; box-shadow:0 10px 20px rgba(0,0,0,.06);
}
.hero h1{
  font-size:1.95rem; margin:.25rem 0 .1rem;
  letter-spacing:.2px;
}
.subtitle{ margin:0; color:var(--muted); font-weight:500; }

.pills{
  display:flex; gap:.5rem; justify-content:center; flex-wrap:wrap;
  margin-top:.8rem;
}
.pill{
  background:#fff; border:1px solid var(--border);
  padding:.38rem .7rem; border-radius:999px; font-size:.86rem; color:var(--text);
  box-shadow:0 2px 8px rgba(0,0,0,.03);
}
.pill i{ color:var(--primary); }

/* CTA row */
.cta-row{
  display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap;
  margin-top:1rem;
}
.btn{
  display:inline-flex; align-items:center; gap:.6rem;
  text-decoration:none; font-weight:700; letter-spacing:.2px;
  padding:.78rem 1rem; border-radius:14px; border:1px solid var(--primary);
  transition: transform .05s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  box-shadow: 0 6px 16px rgba(28,92,74,.15);
}
.btn.primary{
  background: var(--primary);
  color:#fff;
}
.btn.ghost{
  background:#fff;
  color: var(--primary);
  border-color: var(--border);
}
.btn:hover{ transform: translateY(-1px); }
.btn:active{ transform: translateY(0); }

/* Cards */
.card{
  max-width:820px; width:calc(100% - 3rem);
  margin: 12px auto;
  padding: 14px 14px;
  border-radius: var(--radius);
  background: var(--card);
  border:1px solid var(--border);
  box-shadow: var(--shadow);
}
h3{
  margin:0 0 .8rem;
  font-size:1.12rem;
  display:flex; align-items:center; gap:.6rem;
  color:var(--primary);
}
h3 i{ color: var(--primary); opacity:.95; }
p, li{ color:var(--muted); font-weight:400; font-size:1rem; }
a.link{ color:var(--primary); text-decoration:none; }
a.link:hover{ text-decoration:underline; }

/* Link in bio list */
.linklist .link-item{
  display:flex; align-items:center; gap:.8rem;
  border:1px solid var(--border);
  border-radius:12px; padding:.9rem 1rem; margin:.55rem 0;
  text-decoration:none; color:var(--text);
  background:#fff;
  transition: background .2s ease, transform .05s ease;
}
.linklist .link-item .end{ margin-left:auto; opacity:.7; }
.linklist .link-item:hover{ background:#f6fbf8; transform: translateY(-1px); }
.linklist .link-item i{ color:var(--primary); }

/* Services grid */
.services .service-grid{
  list-style:none; padding:0; margin:0;
  display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:10px;
}
.services .service-grid li{
  display:flex; align-items:flex-start; gap:.6rem;
  background:#fff;
  border:1px solid var(--border);
  border-radius:12px; padding:.7rem .75rem;
}
.services .service-grid i{ color: var(--primary); margin-top:.05rem; }
.services .service-grid span{ color: var(--text); }

/* Articles */
.articles article{
  margin-bottom:1rem; padding-bottom:.8rem; border-bottom:1px solid var(--border);
}
.articles article:last-child{ border-bottom:none; }
.articles h4{ margin:.1rem 0 0; font-size:1.05rem; color:var(--text); }
.articles p{ margin:.35rem 0 0; font-size:.92rem; color:var(--muted); }
.articles a{ text-decoration:none; }
.articles a:hover h4{ text-decoration:underline; }
.see-all{ text-align:right; margin-top:.6rem; }
.see-all a{ color:var(--primary); font-weight:600; text-decoration:none; }
.see-all a:hover{ text-decoration:underline; }

/* Map */
.map-container{
  position:relative; width:100%; padding-top:56.25%;
  border-radius:12px; overflow:hidden; border:1px solid var(--border);
  background:#f3f6f4;
}
.map-container iframe{
  position:absolute; inset:0; width:100%; height:100%; border:0;
}

/* Footer */
.footer{
  text-align:center; color:#50655c; font-size:.9rem;
  padding: 20px 0 30px;
  opacity:.9;
}

/* Responsive */
@media (min-width: 980px){
  .hero h1{ font-size:2.1rem; }
  .card{ width:calc(100% - 6rem); }
}
@media (max-width: 420px){
  .avatar{ width:108px; height:108px; }
  .pill{ font-size:.8rem; }
  .services .service-grid{ grid-template-columns: 1fr; }
}
