/* Shared service footer; all layout and color rules stay inside this component. */
footer.site-footer {
  --footer-bg: #111923;
  --footer-text: #b5c4db;
  --footer-heading: #f5f8ff;
  --footer-line: #304052;
  --footer-blue: #2457e8;
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 max(28px, calc((100% - 1200px) / 2));
  border: 0;
  background: var(--footer-bg);
  color: var(--footer-text);
  font-family: inherit;
  font-size: 15px;
  line-height: 1.7;
  text-align: left;
}
.site-footer * { box-sizing: border-box; }
.site-footer ::selection { background: #315cba; color: #fff; }
.site-footer a { color: var(--footer-text); text-decoration: none; text-underline-offset: 5px; }
.site-footer a:hover { color: #fff; text-decoration: underline; }
.site-footer a:focus-visible,
.site-footer button:focus-visible,
.site-footer summary:focus-visible { outline: 2px solid #91b5ff; outline-offset: 5px; }
.site-footer svg { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.site-footer-main { display: grid; grid-template-columns: 420px minmax(0, 1fr); gap: 60px; padding: 48px 0 28px; }
.site-footer-brand { min-width: 0; padding-right: 42px; border-right: 1px solid var(--footer-line); }
.site-footer-brand .site-footer-logo { display: flex; width: fit-content; align-items: center; gap: 14px; min-height: 44px; color: var(--footer-heading); font-size: 28px; font-weight: 750; letter-spacing: -.02em; text-decoration: none; }
.site-footer-mark { display: block; flex: none; width: 40px; height: 40px; background: transparent url('/static/brand-mark.svg?v=2') center / contain no-repeat; }
.site-footer-mark i { display: none; }
.header .help-brand-mark { display: inline-block; width: 32px; height: 32px; vertical-align: middle; margin-right: 10px; background: url('/static/brand-mark.svg?v=2') center / contain no-repeat; }
.site-footer-help { padding: 22px 0 24px; border-bottom: 1px solid var(--footer-line); }
.site-footer-help h2 { margin: 0; color: var(--footer-heading); font-size: 32px; line-height: 1.4; font-weight: 750; letter-spacing: -.025em; }
.site-footer-help p { max-width: 350px; margin: 14px 0 22px; color: var(--footer-text); font-size: 14px; line-height: 1.8; text-wrap: pretty; }
.site-footer-help > a { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: min(100%, 304px); min-height: 58px; padding: 12px 26px; border-radius: 8px; background: var(--footer-blue); color: #fff; font-size: 18px; font-weight: 650; }
.site-footer-help > a:hover { background: #3466f5; color: #fff; text-decoration: none; }
.site-footer-help > a svg { width: 24px; height: 24px; }
.site-footer .footer-support-copy { display: flex; align-items: center; gap: 18px; width: 100%; min-height: 60px; margin: 18px 0 0; padding: 8px 0; border: 0; border-radius: 4px; background: transparent; box-shadow: none; color: #b9d2ff; cursor: pointer; font: inherit; text-align: left; }
.site-footer .footer-support-copy:hover { color: #fff; background: #182333; }
.site-footer .footer-support-copy > svg { width: 36px; height: 36px; }
.site-footer .footer-support-account { display: grid; gap: 0; }
.site-footer .footer-support-account > span { color: var(--footer-text); font-size: 13px; }
.site-footer .footer-support-account strong { color: var(--footer-heading); font-size: 18px; font-weight: 650; letter-spacing: .02em; }
.site-footer .footer-support-copy [data-footer-copy-label] { display: flex; align-items: center; gap: 12px; margin-left: auto; padding: 5px 20px 5px 28px; border-left: 1px solid var(--footer-line); color: var(--footer-text); font-size: 14px; white-space: nowrap; }
.site-footer .footer-support-copy [data-footer-copy-label] svg { order: -1; width: 20px; height: 20px; }
.site-footer-feedback { display: block; min-height: 20px; margin-top: 4px; color: #b9d2ff; font-size: 12px; }
.site-footer-brand .site-footer-disclaimer { margin: 18px 0 0; color: var(--footer-text); font-size: 14px; line-height: 1.9; }
.site-footer nav.site-footer-nav { display: grid; grid-template-columns: 1fr 1fr; column-gap: 72px; align-content: start; padding: 0; }
.site-footer-group { min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.site-footer-group:nth-child(n + 3) { position: relative; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--footer-line); }
.site-footer-group:nth-child(3)::before { position: absolute; top: -1px; right: -72px; width: 72px; border-top: 1px solid var(--footer-line); content: ''; }
.site-footer-group summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 38px; margin: 0; padding: 0; color: var(--footer-heading); font-size: 19px; font-weight: 650; list-style: none; cursor: pointer; }
.site-footer-group summary::-webkit-details-marker { display: none; }
.site-footer-group-title { display: flex; align-items: center; gap: 18px; }
.site-footer-icon { display: block; flex: none; width: 26px; height: 26px; background-color: #3970ff; mask: var(--footer-icon) center / contain no-repeat; }
.site-footer-icon-layout-cards { --footer-icon: url('/static/icons/tabler/layout-cards.svg'); }
.site-footer-icon-book { --footer-icon: url('/static/icons/tabler/book.svg'); }
.site-footer-icon-help-circle { --footer-icon: url('/static/icons/tabler/help-circle.svg'); }
.site-footer-icon-users { --footer-icon: url('/static/icons/tabler/users.svg'); }
.site-footer-group summary .site-footer-chevron { width: 16px; height: 16px; }
.site-footer-group[open] summary .site-footer-chevron { transform: rotate(180deg); }
.site-footer-group ul { list-style: none; margin: 12px 0 0; padding: 0; }
.site-footer-group li { margin: 0; padding: 0; }
.site-footer-group a { display: flex; align-items: center; min-height: 34px; font-size: 15px; overflow-wrap: anywhere; }
.site-footer-group:nth-child(even) ul { padding-left: 44px; }
.site-footer-bottom { display: flex; align-items: center; min-height: 72px; padding: 16px 0; border-top: 1px solid var(--footer-line); font-size: 12px; }
.site-footer-bottom p { margin: 0; color: var(--footer-text); }
@media (min-width: 761px) {
  body:has(.site-tools:not([hidden])) footer.site-footer { padding-bottom: 0; }
  .site-footer-group summary { cursor: default; }
  .site-footer-group summary .site-footer-chevron { display: none; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .site-footer-main { grid-template-columns: 34% minmax(0, 1fr); gap: 32px; padding-top: 40px; }
  .site-footer-brand { padding-right: 28px; }
  .site-footer-brand .site-footer-logo { gap: 10px; font-size: 24px; }
  .site-footer-help h2 { font-size: 30px; }
  .site-footer-help p { font-size: 14px; }
  .site-footer .footer-support-copy { flex-wrap: wrap; gap: 12px; }
  .site-footer .footer-support-copy [data-footer-copy-label] { margin-left: 48px; padding: 0; border: 0; }
  .site-footer-brand .site-footer-disclaimer { font-size: 13px; }
  .site-footer nav.site-footer-nav { column-gap: 32px; }
  .site-footer-group:nth-child(3)::before { right: -32px; width: 32px; }
  .site-footer-group-title { gap: 10px; }
  .site-footer-group summary { font-size: 17px; }
  .site-footer-group a { font-size: 14px; }
  .site-footer-group:nth-child(even) ul { padding-left: 0; }
}
@media (max-width: 760px) {
  footer.site-footer { padding: 0 24px; }
  .site-footer-main { grid-template-columns: 1fr; gap: 28px; padding: 32px 0 0; }
  .site-footer-brand { padding: 0; border: 0; }
  .site-footer-brand .site-footer-logo { gap: 12px; font-size: 24px; }
  .site-footer-mark { width: 34px; height: 34px; }
  .site-footer-help { padding: 20px 0 24px; }
  .site-footer-help h2 { font-size: 30px; line-height: 1.4; }
  .site-footer-help p { margin: 14px 0 20px; font-size: 14px; }
  .site-footer-help > a { width: 100%; min-height: 54px; padding: 12px 20px; font-size: 16px; }
  .site-footer .footer-support-copy { gap: 12px; margin-top: 16px; }
  .site-footer .footer-support-copy > svg { width: 30px; height: 30px; }
  .site-footer .footer-support-copy [data-footer-copy-label] { gap: 8px; padding: 5px 0 5px 18px; font-size: 13px; }
  .site-footer-brand .site-footer-disclaimer { margin-top: 8px; font-size: 13px; }
  .site-footer nav.site-footer-nav { display: block; }
  .site-footer-group,
  .site-footer-group:nth-child(n + 3) { margin: 0; padding: 0; border-top: 1px solid var(--footer-line); }
  .site-footer-group:nth-child(3)::before { display: none; }
  .site-footer-group summary { min-height: 60px; font-size: 16px; }
  .site-footer-group-title { gap: 12px; }
  .site-footer-icon { width: 22px; height: 22px; }
  .site-footer-group ul,
  .site-footer-group:nth-child(even) ul { margin: 0 0 16px; padding-left: 34px; }
  .site-footer-group a { min-height: 44px; font-size: 14px; }
  .site-footer-bottom { min-height: 68px; font-size: 11px; }
}
