.legal-wrap { max-width:1000px; margin:0 auto; padding:130px 24px 90px; }
.legal-hero { text-align:center; margin-bottom:52px; }
.legal-hero .page-badge { display:inline-flex; align-items:center; gap:8px; padding:8px 18px; background:rgba(var(--color-primary-rgb),0.12); border:1px solid rgba(var(--color-primary-rgb),0.3); border-radius:50px; color:var(--color-primary-light); font-size:13px; font-weight:600; margin-bottom:18px; }
.legal-hero h1 { font-size:38px; font-weight:800; margin-bottom:10px; }
.legal-hero p { color:#999; font-size:15px; }

/* ── Service cards grid ───────────────────────────────────────────── */
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:52px; }
.service-card {
  background:#111827;
  border:1px solid rgba(255,255,255,0.06);
  border-radius:22px;
  padding:30px 26px;
  box-shadow:0 20px 45px rgba(0,0,0,0.25);
  display:flex; flex-direction:column;
  transition:.25s;
}
.service-card:hover { border-color:rgba(var(--color-primary-rgb),0.35); transform:translateY(-4px); }
.service-card-icon {
  width:52px; height:52px; border-radius:14px;
  background:rgba(var(--color-primary-rgb),0.14); color:var(--color-primary-light);
  display:flex; align-items:center; justify-content:center;
  font-size:22px; margin-bottom:18px;
}
.service-card h3 { font-size:19px; font-weight:800; margin-bottom:6px; }
.service-tagline { color:var(--color-primary-light); font-size:13px; font-weight:600; margin-bottom:12px; }
.service-desc { color:#b3b3b3; font-size:14px; line-height:1.75; margin-bottom:18px; }
.service-points { list-style:none; padding:0; margin:0 0 24px; flex-grow:1; }
.service-points li { display:flex; align-items:flex-start; gap:10px; color:#ccc; font-size:13.5px; line-height:1.7; margin-bottom:9px; }
.service-points li i { color:var(--color-secondary); margin-top:3px; flex-shrink:0; font-size:11px; }
.service-quote-btn { width:100%; justify-content:center; border:none; cursor:pointer; font-family:'Exo 2',sans-serif; }

@media (max-width:900px) {
  .service-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  .service-grid { grid-template-columns:1fr; }
  .legal-hero h1 { font-size:30px; }
}

/* ── Main card body (matches contact/legal pages) ───────────────────── */
.legal-card {
  background:#111827;
  border:1px solid rgba(255,255,255,0.06);
  border-radius:22px;
  padding:36px 34px;
  box-shadow:0 20px 45px rgba(0,0,0,0.25);
  scroll-margin-top:90px;
}
.block-head { display:flex; align-items:center; gap:12px; margin-bottom:22px; padding-bottom:14px; border-bottom:1px solid rgba(255,255,255,0.06); }
.block-num {
  width:34px; height:34px; flex-shrink:0;
  border-radius:10px; background:rgba(var(--color-primary-rgb),0.15); color:var(--color-primary-light);
  display:flex; align-items:center; justify-content:center;
}
.block-num i { font-size:15px; line-height:1; }
.legal-card h2 { font-size:19px; font-weight:700; }

/* ── Get a Quote form — same input styling as the Contact form ──────── */
.contact-form-wrap { margin-top:6px; }
.contact-form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-group { margin-bottom:20px; }
.form-group label { display:block; font-size:12px; font-weight:700; color:#666; text-transform:uppercase; letter-spacing:.05em; margin-bottom:8px; }
.form-group input,
.form-group select,
.form-group textarea {
  width:100%; padding:13px 16px; background:#1a2234;
  border:1px solid rgba(255,255,255,0.07); border-radius:13px;
  color:#fff; font-size:14px; outline:none;
  font-family:'Exo 2',sans-serif; transition:.25s;
}
.form-group select { appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>"); background-repeat:no-repeat; background-position:right 14px center; padding-right:38px; }
.form-group select option { background:#1a2234; color:#fff; }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color:var(--color-primary); box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),0.12); }
.form-group textarea { resize:vertical; min-height:130px; }
.form-hint { color:#666; font-size:12px; margin-top:6px; }
.hp-field { position:absolute; left:-9999px; top:-9999px; opacity:0; height:0; width:0; }

.form-alert { display:flex; align-items:center; gap:12px; border-radius:14px; padding:16px 18px; margin-bottom:26px; font-size:14px; line-height:1.6; }
.form-alert i { flex-shrink:0; line-height:1; }
.form-alert.success { background:rgba(var(--color-secondary-rgb),0.08); border:1px solid rgba(var(--color-secondary-rgb),0.25); color:#86efac; }
.form-alert.error { background:rgba(239,68,68,0.08); border:1px solid rgba(239,68,68,0.25); color:#fca5a5; align-items:flex-start; }
.form-alert.error i { margin-top:2px; }
.form-alert ul { margin:4px 0 0; padding-left:18px; }

.contact-submit-btn { width:100%; justify-content:center; border:none; cursor:pointer; font-family:'Exo 2',sans-serif; }

@media (max-width:640px) {
  .contact-form-row { grid-template-columns:1fr; }
}
@media (max-width:900px) {
  .legal-card { padding:28px 22px; }
}
@media (max-width:520px) {
  .legal-card { padding:22px 16px; }
}
