/* Public support uses the same navigation, type and brand tokens as the homepage. */
.support-page .legal-hero { padding-block: 42px 32px; }
.support-page .legal-hero h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.55; letter-spacing: normal; margin-block: 12px 16px; }
.support-page .legal-lead { font-size: 1.05rem; line-height: 1.95; max-width: 53rem; }
.support-content { padding-bottom: 56px; }
.support-help { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; padding: 24px 28px; border: 1px solid #5d4c80; border-radius: 20px; background: linear-gradient(120deg, #27203d, #141e33); margin-bottom: 28px; }
.support-help > div { flex: 1; min-width: min(100%, 220px); }
.support-help h2 { font-size: 1.15rem; line-height: 1.7; margin-bottom: 5px; }
.support-help p { color: #b9c3da; font-size: .95rem; line-height: 1.8; }
.support-help > .module-icon, .support-mail-icon { display: grid; place-items: center; position: relative; width: 56px; height: 56px; flex: 0 0 56px; border: 1px solid #66548c; border-radius: 16px; color: #c4b0ff; background: #8a63ff20; }
.support-help .btn { flex-shrink: 0; min-height: 44px; }
.support-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: stretch; }
.support-card { padding: clamp(24px, 3vw, 36px); border: 1px solid #3d3659; border-radius: 22px; background: linear-gradient(145deg, #1c243a, #121b30); }
.support-card h2 { font-size: 1.3rem; line-height: 1.7; margin-bottom: 24px; }
.support-contact { display: flex; flex-direction: column; align-items: flex-start; }
.support-mail-icon { margin-bottom: 20px; }
.support-mail-icon svg { width: 28px; height: 28px; }
.support-contact-detail { display: grid; gap: 8px; width: 100%; }
.support-contact-detail > span { color: #aeb9d0; font-size: .85rem; }
.support-contact-detail a { color: #eee9ff; font-size: 1.18rem; overflow-wrap: anywhere; }
.support-contact-detail a:is(:hover, :focus-visible) { color: var(--link-hover); }
.support-email-cta { margin-block: 24px 18px; min-height: 48px; padding-inline: 24px; }
.support-response { display: flex; align-items: baseline; gap: 10px; color: #b9c3da; font-size: .85rem; line-height: 1.8; }
.support-status-dot { flex: 0 0 6px; width: 6px; height: 6px; border-radius: 50%; background: #bca8ff; }
.support-website { border-top: 1px solid #333d54; margin-top: 26px; padding-top: 22px; }
.support-website a { font-size: 1rem; }
.support-topics { list-style: none; display: grid; gap: 0; }
.support-topics li { display: flex; align-items: center; gap: 14px; padding-block: 14px; border-top: 1px solid #333d54; line-height: 1.7; color: #d5dcee; }
.support-topics li:first-child { border-top: 0; padding-top: 0; }
.support-topics .module-icon { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; color: #c4b0ff; background: #8a63ff15; border-radius: 12px; }
.support-topics .module-icon::after { display: none; }
.support-topics .module-icon svg { width: 24px; height: 24px; }
.support-prepare { margin-top: 28px; border-inline-start: 3px solid #8A63FF; padding: 8px 22px; max-width: 60rem; }
.support-prepare h2 { font-size: 1.05rem; line-height: 1.7; margin-bottom: 8px; }
.support-prepare p { color: #b9c3da; font-size: .95rem; line-height: 1.9; }
.support-page a:focus-visible { outline: 2px solid #bca8ff; outline-offset: 4px; }
@media (max-width: 760px) {
  .support-grid { grid-template-columns: 1fr; gap: 20px; }
  .support-page .legal-hero { padding-block: 28px; }
  .support-help { padding: 24px; }
  .support-help > .btn { width: 100%; justify-content: center; }
  .support-email-cta { width: 100%; justify-content: center; }
}
