:root{
  --brand:#0b3d91;    /* deep blue */
  --accent:#0ea5a4;   /* teal accent */
  --muted:#6b7280;
  --bg:#ffffff;
  --radius:10px;
  --max-width:1100px;
  --flow:1.25rem;
  --shadow: 0 6px 20px rgba(11,61,145,0.08);
  --fw-regular: 400;
  --fw-bold: 700;
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  color-scheme: light;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:linear-gradient(180deg,#f8fafc 0%, #ffffff 100%);
  color:#111827;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.6;
  font-size:16px;
}

/* layout */
.container{max-width:var(--max-width);margin:0 auto;padding:1.25rem;}
.header{
  background:var(--bg);
  position:sticky;top:0;z-index:60;border-bottom:1px solid #eef2ff;
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit}
.brand img{width:48px;height:48px;object-fit:cover;border-radius:8px}
.site-title{font-weight:var(--fw-bold);font-size:1.05rem}
.nav{display:flex;gap:1rem;align-items:center}
.nav a{color:inherit;text-decoration:none;padding:.5rem .6rem;border-radius:8px}
.nav a:hover, .nav a:focus{background:#f1f5f9;outline:none}
.cta{background:var(--brand);color:white;padding:.5rem .9rem;border-radius:8px;text-decoration:none;font-weight:600}
.secondary-cta{border:1px solid #e6eefc;padding:.45rem .75rem;border-radius:8px}

/* mobile nav */
.mobile-toggle{display:none;background:transparent;border:0;padding:.35rem;border-radius:8px}
.mobile-menu{display:none;flex-direction:column;padding:.75rem 0;gap:.25rem}

/* Hero */
.hero{
  display:grid;grid-template-columns:1fr;gap:1.25rem;padding:2.5rem 0;
  align-items:center;
}
.hero-card{background:linear-gradient(180deg,rgba(14,165,164,0.04),transparent);padding:1.25rem;border-radius:14px;box-shadow:var(--shadow)}
.hero h1{margin:0;font-size:clamp(1.5rem,3.6vw,2.4rem)}
.lead{color:var(--muted);margin-top:.5rem}

/* features */
.grid{display:grid;gap:1rem}
.grid-3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--bg);padding:1rem;border-radius:12px;box-shadow:var(--shadow);border:1px solid #f3f4f6}
.card h3{margin:.25rem 0}

/* quick contact bar */
.quick-contact{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:1rem;border-radius:12px;background:#0b3d91;color:white}
.quick-contact .phone{font-weight:700}

/* practice list */
.service-list{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

/* team */
.team-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.team-member{display:flex;gap:.75rem;align-items:center}

/* blog list */
.post{display:flex;gap:.75rem;align-items:flex-start;background:#fff;padding:.75rem;border-radius:8px;border:1px solid #f3f4f6}

/* footer */
.footer{margin-top:2rem;padding:2rem 0;border-top:1px solid #eef2ff;background:transparent}
.footer-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:start}
.small{font-size:.95rem;color:var(--muted)}

/* contact form */
.form{display:grid;gap:.75rem}
.input, textarea{width:100%;padding:.7rem;border-radius:8px;border:1px solid #e6eefc}
textarea{min-height:140px;resize:vertical}
.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
.form .btn{background:var(--accent);border:0;color:white;padding:.6rem .9rem;border-radius:8px;font-weight:700}

/* responsiveness */
@media (max-width: 880px){
  .hero{padding:1.25rem 0}
  .nav{display:none}
  .mobile-toggle{display:inline-flex}
  .mobile-menu{display:flex}
  .hero{grid-template-columns:1fr}
  .grid-3{grid-template-columns:repeat(1,1fr)}
  .form-row{grid-template-columns:1fr}
}

/* accessibility focus */
a:focus, button:focus, input:focus, textarea:focus{outline:3px solid rgba(14,165,164,0.15);outline-offset:2px}