/* A concise security overview within the shared QHealth marketing theme. */
.security-page .section-kicker { color: #007cbd; font-size: .75rem; line-height: 1.6; }
.security-page h1, .security-page h2 { font-family: var(--font-display); font-weight: 600; letter-spacing: -.04em; }
.security-page > section[id] { scroll-margin-top: 6rem; }
.security-hero { padding-top: 2.5rem; }
.security-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin-bottom: 3rem; color: var(--muted-foreground); font-size: .75rem; }
.security-breadcrumbs a { display: inline-flex; align-items: center; min-height: 44px; }
.security-breadcrumbs a:hover { color: #007cbd; text-decoration: underline; text-underline-offset: 4px; }
.security-hero__copy { max-width: 48rem; }
.security-hero h1 { max-width: 15em; margin-top: 1.25rem; font-size: clamp(2.25rem, 4.3vw, 3.4rem); line-height: 1.2; text-wrap: balance; }
.security-hero__intro { max-width: 44rem; margin-top: 1.5rem; color: var(--muted-foreground); font-size: 1.125rem; line-height: 1.8; }
.security-page-nav { display: flex; flex-wrap: wrap; gap: .5rem 2.5rem; margin-top: 3rem; padding-block: .85rem; border-block: 1px solid var(--border); }
.security-page-nav a { display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; font-size: .85rem; font-weight: 700; }
.security-page-nav span { color: #007cbd; }
.security-page-nav a:hover { color: #007cbd; text-decoration: underline; text-underline-offset: 4px; }
.security-controls, .security-compliance, .security-review { padding-block: 4.5rem; }
.security-section-layout { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 5rem; }
.security-section-heading h2 { font-size: clamp(1.7rem, 2.6vw, 2.25rem); line-height: 1.3; text-wrap: pretty; }
.security-section-heading .section-kicker + h2 { margin-top: .8rem; }
.security-section-heading > p:not(.section-kicker) { margin-top: 1rem; color: var(--muted-foreground); font-size: 1rem; line-height: 1.8; }
.security-control + .security-control { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--border); }
.security-page h3, .security-review dt { font-size: 1.05rem; font-weight: 800; line-height: 1.5; }
.security-control p, .security-compliance__content p, .security-review dd { margin-top: .6rem; color: var(--muted-foreground); font-size: 1rem; line-height: 1.8; }
.security-compliance { background: var(--surface); border-block: 1px solid var(--border); }
.security-compliance__content > p + p { margin-top: 1rem; }
.security-responsibilities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--border); }
.security-responsibilities h3 { font-size: .95rem; }
.security-responsibilities p { font-size: .95rem; }
.security-review__list > div + div { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--border); }
.security-contact { padding-block: 0 4.5rem; }
.security-contact__panel { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 2rem 4rem; padding: 2.5rem; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; }
.security-contact h2 { font-size: clamp(1.5rem, 2.4vw, 2rem); }
.security-contact__email { display: inline-flex; align-items: center; gap: .8rem; min-height: 44px; color: #007cbd; font-size: 1.05rem; font-weight: 800; text-decoration: underline; text-decoration-color: #b5d5e7; text-underline-offset: 4px; overflow-wrap: anywhere; }
.security-contact__actions p { max-width: 25rem; margin-top: .5rem; color: var(--muted-foreground); font-size: .8rem; line-height: 1.7; }
.security-contact__links { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .5rem 2rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.security-contact__links a { display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; color: #007cbd; font-size: .85rem; font-weight: 700; }
.security-contact a:hover { text-decoration: underline; text-decoration-color: currentColor; text-underline-offset: 4px; }
.security-page a:focus-visible { outline: 2px solid #007cbd; outline-offset: 4px; border-radius: 3px; }

@media (max-width: 980px) {
  .security-section-layout { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 2.5rem; }
  .security-responsibilities { grid-template-columns: 1fr; gap: 1.25rem; }
  .security-contact__panel { gap: 2rem; padding: 2rem; }
}
@media (max-width: 760px) {
  .security-hero { padding-top: 1.25rem; }
  .security-breadcrumbs { margin-bottom: 2rem; }
  .security-hero h1 { font-size: clamp(2rem, 7.5vw, 2.75rem); line-height: 1.25; }
  .security-hero__intro { font-size: 1rem; line-height: 1.75; }
  .security-page-nav { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 1rem; margin-top: 2rem; }
  .security-page-nav a { justify-content: space-between; font-size: .8rem; gap: .35rem; }
  .security-controls, .security-compliance, .security-review { padding-block: 3rem; }
  .security-section-layout { grid-template-columns: 1fr; gap: 2rem; }
  .security-section-heading h2 { font-size: 1.75rem; }
  .security-contact { padding-bottom: 3rem; }
  .security-contact__panel { grid-template-columns: 1fr; gap: 1.5rem; padding: 1.5rem; }
  .security-contact h2 { font-size: 1.5rem; }
  .security-contact__email { font-size: 1rem; }
}
