/* Shared WebsiteMatchers identity, loaded after each page's layout styles. */
:root {
  --ink: #12344e;
  --lime: #bce75a;
  --lime-dark: #526f1a;
  --aqua: #bce75a;
  --paper: #f6f6f0;
  --line: #dce0d7;
  --muted: #59696e;
  --muted-light: #667676;
  --shadow: 0 8px 24px #12344e06;
  --shadow-soft: 0 5px 18px #12344e05;
}
.brand, .footer-brand { gap: 10px; letter-spacing: -.055em; white-space: nowrap; }
.brand .brand-mark, .footer-brand .brand-mark {
  display: block;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.brand-mark img { display: block; width: 100%; height: 100%; }
.brand-word { font-size: 1.32rem; font-weight: 800; line-height: 1.1; }
.brand-accent {
  color: var(--ink);
  background: linear-gradient(transparent 68%, var(--lime) 68%, var(--lime) 96%, transparent 96%);
}
.site-header, .header { border-bottom: 1px solid var(--line); }
.site-footer, .footer { background: #fff; color: var(--ink); }
.site-footer .footer-brand { color: var(--ink); }
.site-footer .brand-mark { width: 36px; height: 36px; flex-basis: 36px; }
.site-footer .brand-word { font-size: 1.2rem; }
.site-footer .footer-links a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.button, .button-primary, .button-secondary, .nav-cta { box-shadow: none; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, label:has(input:focus-visible) {
  outline: 3px solid var(--ink); outline-offset: 4px;
}
.hero-advice { background: #f6f6f0; }
.summary-card, .related-card, .aside { border-radius: 10px; box-shadow: none; }
.bottom-cta { background: #edf4da; }
.eyebrow { letter-spacing: .09em; }
.legal-footer { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: .78rem; }
.legal-footer nav { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-bottom: 12px; }
.legal-footer a { text-decoration: underline; text-underline-offset: 4px; }
.legal-footer p { margin: 0; }
.form-fields-group { display: contents; }
.button-next:disabled, #partner-submit-button:disabled { cursor: not-allowed; opacity: .55; }
@media (max-width: 720px) {
  .brand-word { font-size: 1.06rem; }
  .brand .brand-mark { width: 33px; height: 33px; flex-basis: 33px; }
  .brand, .footer-brand { gap: 7px; }
  .navigation { gap: 8px; }
  .navigation nav .button { font-size: .7rem; padding: 10px; }
}
