@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&family=Source+Sans+3:wght@300;400;500;600;700&display=swap");

:root {
  --ink: #0a2540;
  --ink-soft: #17385b;
  --gold: #c9a227;
  --paper: #f8fafc;
  --line: #e2e8f0;
  --text: #253449;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--text);
  font-family: "Source Sans 3", system-ui, sans-serif;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.heading-serif { font-family: "Playfair Display", Georgia, serif; }
.nav-link { transition: color .25s ease; }
.nav-link:hover, .accent { color: var(--gold); }
.professional-shadow { box-shadow: 0 24px 70px rgb(2 6 23 / .28); }
.hero-overlay { background: linear-gradient(105deg, rgb(10 37 64 / .88), rgb(10 37 64 / .62) 48%, rgb(10 37 64 / .8)); }
.service-card { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.service-card:hover { transform: translateY(-6px); border-color: rgb(201 162 39 / .45); box-shadow: 0 22px 38px -22px rgb(15 23 42 / .32); }
.page-hero {
  min-height: 360px;
  background: linear-gradient(115deg, rgb(10 37 64 / .96), rgb(23 56 91 / .88)), url("images/standing-professional.svg") center/cover;
}
.legal-prose h2 { color: var(--ink); font-family: "Playfair Display", Georgia, serif; font-size: 1.6rem; margin-top: 2rem; }
.legal-prose p, .legal-prose li { color: #526176; line-height: 1.75; }
.skip-link { position: absolute; left: -999px; top: 8px; background: white; padding: 8px 12px; z-index: 100; }
.skip-link:focus { left: 8px; }
