body {
  line-height: 1.6;
}

/* Global typography refinements */
p {
  margin-bottom: 1.5rem;
  font-size: 1.05rem;
  line-height: 1.7;
}

.lead {
  line-height: 1.8;
  margin-bottom: 2rem;
}

h1, h2, h3, h4, h6 {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

h1 {
  font-size: 2.5rem;
  font-weight: 700;
}

h2 {
  font-size: 2rem;
  font-weight: 600;
}

h3 {
  font-size: 1.75rem;
  font-weight: 600;
}

.h5, h5 {
  font-size: 1.15rem;
  line-height: 1.4;
  margin-bottom: 1rem;
}

/* Editorial / Blog Content */
.blog-content {
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}

.blog-content p {
  font-size: 1.125rem; /* 18px */
  line-height: 1.8;
}

.blog-content ul,
.blog-content ol {
  font-size: 1.125rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

/* Accessibility: Visible Focus */
:focus-visible {
    outline: 3px solid #356b8d;
    outline-offset: 2px;
}
/* Fallback for browsers without :focus-visible support */
:focus {
    outline: 3px solid #356b8d;
    outline-offset: 2px;
}
