:root { color-scheme: light; font-family: Arial, Helvetica, sans-serif; color: #161616; background: #fff; }
* { box-sizing: border-box; }
body { margin: 0; }
a { color: inherit; text-underline-offset: 5px; }
a:focus-visible { outline: 2px solid #161616; outline-offset: 7px; }
.page { max-width: 1120px; margin: auto; padding: 0 64px; }
header { display: flex; align-items: center; justify-content: space-between; padding: 28px 0 24px; border-bottom: 1px solid #dedede; }
.wordmark { display: block; width: 220px; margin-left: -37px; }
.wordmark img { display: block; width: 100%; height: auto; }
.header-nav { display: flex; align-items: center; gap: 20px; flex-shrink: 0; }
.header-nav a { font-size: 13px; text-decoration: none; }
.header-nav a:hover, .header-nav a[aria-current] { text-decoration: underline; }
.header-contact span { margin-left: 12px; }
.intro { padding: 76px 0 65px; }
.eyebrow { font-size: 11px; letter-spacing: .15em; text-transform: uppercase; font-weight: 600; }
.eyebrow { margin: 0 0 23px; color: #595959; }
h1 { font-size: clamp(46px, 6.4vw, 76px); line-height: 1.03; letter-spacing: -.055em; font-weight: 500; margin: 0 0 27px; }
.introduction { max-width: 560px; font-size: 18px; line-height: 1.65; color: #555; margin: 0; }
.leadership { margin: 18px 0 0; color: #666; font-size: 14px; line-height: 1.6; }
.listing-preview, .service-detail { border-top: 1px solid #dedede; padding: 26px 0; }
.listing-preview { margin-bottom: 28px; }
.listing-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.intro + .listing-cards { margin-bottom: 60px; }
.listing-card { display: flex; flex-direction: column; align-items: flex-start; border: 1px solid #dedede; padding: 24px; }
.listing-card h2, .listing-card h3, .service-detail h2 { font-size: 25px; font-weight: 400; letter-spacing: -.03em; margin: 0; }
.listing-card p, .service-detail p { max-width: 560px; font-size: 16px; line-height: 1.65; color: #555; margin: 12px 0 0; }
.listing-card p { margin-bottom: 16px; }
.listing-card a { font-size: 14px; margin-top: auto; }
.service-detail + .contact, .listing-preview + .contact { border-top: 1px solid #dedede; }
.contact { display: flex; align-items: baseline; justify-content: space-between; padding: 52px 0 60px; gap: 20px; }
.contact h2 { font-size: 25px; font-weight: 400; letter-spacing: -.03em; margin: 0; }
.contact-copy { max-width: 440px; }
.contact-copy p { font-size: 14px; color: #666; line-height: 1.65; margin: 14px 0 0; }
.contact a { flex-shrink: 0; font-size: 15px; text-decoration: none; }
.contact a:hover { text-decoration: underline; }
.contact .primary-link { display: inline-block; padding: 12px 16px; background: #161616; color: #fff; }
.contact a span { margin-left: 12px; }
footer { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid #dedede; padding: 24px 0 30px; font-size: 11px; color: #707070; }
.skip-link { position: absolute; top: -100px; left: 20px; background: #fff; padding: 12px; }
.skip-link:focus { top: 12px; }
@media (max-width: 700px) {
  .page { padding: 0 26px; }
  header { padding: 16px 0; }
  .wordmark { width: 180px; margin-left: -30px; }
  .header-nav { gap: 14px; }
  .header-contact span { margin-left: 4px; }
  .intro { padding: 52px 0; }
  .introduction { font-size: 16px; }
  .listing-cards { grid-template-columns: 1fr; gap: 16px; }
  .contact { display: block; padding: 38px 0; }
  .contact-copy { margin-bottom: 22px; }
  footer { flex-direction: column; gap: 8px; }
}
@media (max-width: 420px) {
  header { display: block; }
  .header-nav { flex-wrap: wrap; margin-top: 8px; }
}
