
/* ---------- Base ---------- */
:root{
  --brand:#1c3d5a;
  --brand-2:#0f2740;
  --accent:#c7a36b;
  --text:#1b1b1b;
  --muted:#6b7280;
  --bg:#ffffff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.55;
}
.container{max-width:1100px;margin-inline:auto;padding:0 20px}
.btn{
  display:inline-block;padding:14px 20px;border-radius:999px;
  text-decoration:none;font-weight:600;border:2px solid transparent;
  transition:.2s ease-in-out; cursor:pointer
}
.btn.primary{background:var(--accent); color:#0f0f0f}
.btn.primary:hover{filter:brightness(0.95)}
.btn.outline{border-color:#fff;color:#fff;background:transparent}
.btn.outline:hover{background:rgba(255,255,255,.1)}
.section{padding:64px 0}
.section.sm{padding:40px 0}

/* ---------- Header ---------- */
.header{
  position:sticky;top:0;z-index:40;background:rgba(255,255,255,.85);
  backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid #eee;
}
.header .inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand .mark{
  width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#fff;font-weight:800;letter-spacing:.5px
}
.brand h1{font-size:18px;margin:0;line-height:1}
.brand small{display:block;color:var(--muted);font-weight:500}

/* ---------- Hero ---------- */
.hero{
  min-height:64vh;display:grid;place-items:center;position:relative;
  color:#fff;text-align:center;
  background:url('assets/office-building.jpg') center/cover no-repeat;
}
.hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(28,61,90,.45),rgba(15,39,64,.65));
}
.hero .content{position:relative;z-index:1;padding:48px 0}
.hero h2{font-size:44px;max-width:900px;margin:0 auto 12px;font-weight:800;letter-spacing:.2px}
.hero p{max-width:800px;margin:0 auto 24px;color:#e6eef7;font-size:18px}
.hero .cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ---------- Trust Badges / Highlights ---------- */
.highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{
  background:#fff;border:1px solid #eee;border-radius:16px;padding:20px;
  box-shadow:0 4px 18px rgba(0,0,0,.04);
}
.card h3{margin:0 0 6px 0;font-size:18px}
.card p{margin:0;color:var(--muted)}

/* ---------- Services ---------- */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service{border:1px solid #eee;border-radius:16px;padding:20px;background:#fff}
.service h4{margin:0 0 8px}
.service ul{margin:10px 0 0 18px;color:var(--muted)}

/* ---------- Attorney Bio ---------- */
.bio{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:center}
.bio img{width:100%;height:auto;border-radius:18px;border:1px solid #e7e7e7;box-shadow:0 10px 24px rgba(0,0,0,.06)}
.bio h3{margin:0}
.bio p{color:var(--muted)}

/* ---------- Testimonials ---------- */
.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.quote{background:#0f1e30;color:#eaf1f9;border-radius:16px;padding:20px}
.quote p{margin:0 0 10px 0}
.quote small{color:#c9d6e6}

/* ---------- Contact ---------- */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact .panel{border:1px solid #eee;border-radius:16px;padding:20px;background:#fff}
.contact form{display:grid;gap:12px}
.input, textarea{
  width:100%;padding:12px 14px;border:1px solid #ddd;border-radius:10px;
  font:inherit;resize:vertical
}
.contact .meta{color:var(--muted);font-size:14px}

/* ---------- Footer ---------- */
.footer{background:#0f1420;color:#c9d6e6}
.footer a{color:#e8d7b1;text-decoration:none}
.footer .grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}

/* ---------- Responsive ---------- */
@media (max-width: 960px){
  .highlights{grid-template-columns:1fr}
  .services{grid-template-columns:1fr}
  .bio{grid-template-columns:1fr}
  .testimonials{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr}
  .hero h2{font-size:34px}
}
