/* Landing navigation and FAQ only. Signup and service integrations are unchanged. */
.topbar-left { min-width: 0; white-space: normal; overflow: visible; text-overflow: clip; }
.topbar-left > [data-i18n="topbar_text"] { min-width: 0; line-height: 1.55; }
.mobile-nav a { min-width: 0; min-height: 44px; display: flex; align-items: center; justify-content: center; text-align: center; white-space: normal; line-height: 1.4; border-radius: 9px; }
.mobile-nav a[href="#scale"] { color: #071b22; background: #73edca; font-weight: 800; border: 1px solid #a0f4da; }
.mobile-nav a[href="#scale"]:hover { color: #071b22; background: #a0f4da; }
.mobile-nav a:focus-visible, .topbar-link:focus-visible, .footer-links a:focus-visible, .footer-links button:focus-visible { outline: 3px solid #67e8f9; outline-offset: 3px; }
@media (max-width: 1199px) {
  .mobile-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding: 10px 16px; overflow: visible; }
  main section[id], #faq details[id] { scroll-margin-top: 170px; }
}
@media (max-width: 639px) {
  .topbar-inner { flex-direction: column; align-items: flex-start; gap: 5px; }
  .topbar-left { align-items: flex-start; width: 100%; }
  .topbar-left .pulse-dot { margin-top: 5px; }
  .topbar-link { align-self: flex-end; min-height: 24px; }
  .mobile-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); font-size: 12px; }
  main section[id], main #contact-box, #faq details[id] { scroll-margin-top: 250px; }
}
#faq { scroll-margin-top: 90px; }
#faq .faq-wrap { max-width: 1040px; gap: 26px; }
#faq .faq-intro { max-width: 64ch; margin: 14px auto 0; font-size: 15px; color: #cbd5e1; line-height: 1.7; }
#faq .faq-tools { padding: clamp(16px, 3vw, 26px); border: 1px solid #285261; border-radius: 20px; background: linear-gradient(135deg, #102a34, #0b1525); }
#faq .faq-search-label { display: block; margin-bottom: 9px; font-weight: 750; color: #e2f5fa; font-size: 14px; }
#faq .faq-search-row { display: flex; gap: 10px; align-items: stretch; }
#faq .faq-search-input { width: 100%; min-width: 0; min-height: 48px; padding: 12px 14px; border: 1px solid #4b6878; border-radius: 11px; background: #07131f; color: #f1f5f9; }
#faq .faq-search-input::placeholder { color: #a9bcc9; opacity: 1; }
#faq .faq-reset, #faq .faq-filter, #faq .faq-collapse { min-height: 44px; padding: 10px 14px; border: 1px solid #4b6878; border-radius: 11px; color: #dbeef5; font-size: 13px; font-weight: 700; }
#faq .faq-reset { flex: none; background: #16313e; }
#faq .faq-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
#faq .faq-filter[aria-pressed="true"] { color: #071b22; background: #73edca; border-color: #a0f4da; }
#faq .faq-filter:hover:not([aria-pressed="true"]), #faq .faq-collapse:hover, #faq .faq-reset:hover { border-color: #82d4ea; background: #173849; }
#faq .faq-toolbar-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 15px; }
#faq .faq-results { color: #cbd5e1; font-size: 13px; }
#faq .faq-collapse { padding: 8px 12px; }
#faq .faq-group { min-width: 0; }
#faq .faq-group-title { margin: 4px 0 13px; color: #8bf0d5; font-size: 17px; letter-spacing: -.015em; }
#faq .faq-item { padding: 0; margin-bottom: 10px; overflow: hidden; border-color: #2d4258; background: linear-gradient(135deg, #111d2d, #0b1322); box-shadow: inset 0 1px 0 #ffffff06; }
#faq .faq-item[open] { border-color: #448a94; }
#faq .faq-q { display: flex; align-items: center; gap: 13px; padding: 18px clamp(14px, 3vw, 24px); margin: 0; cursor: pointer; list-style: none; line-height: 1.5; font-size: 15px; font-weight: 750; }
#faq .faq-q::-webkit-details-marker { display: none; }
#faq .faq-q::marker { content: ""; }
#faq .faq-number { flex: 0 0 28px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; color: #b1e7f1; background: #163343; font-size: 11px; font-weight: 800; }
#faq .faq-question { min-width: 0; flex: 1; overflow-wrap: anywhere; }
#faq .faq-toggle { position: relative; flex: 0 0 18px; width: 18px; height: 18px; color: #8bf0d5; }
#faq .faq-toggle::before, #faq .faq-toggle::after { content: ""; position: absolute; top: 8px; left: 2px; width: 14px; height: 2px; border-radius: 1px; background: currentColor; }
#faq .faq-toggle::after { transform: rotate(90deg); }
#faq details[open] .faq-toggle::after { transform: rotate(0); }
#faq .faq-answer { padding: 0 clamp(14px, 3vw, 24px) 22px; }
#faq .faq-a { color: #c4d5e3; font-size: 14px; line-height: 1.8; margin: 0; }
#faq .faq-a a, #faq .faq-permalink, #faq .faq-help a { color: #9cead6; text-decoration: underline; text-underline-offset: 4px; }
#faq .faq-permalink { display: inline-block; min-height: 44px; padding-top: 14px; font-size: 12px; }
#faq .faq-empty { padding: 22px; border: 1px dashed #517087; border-radius: 16px; color: #d3e5ef; line-height: 1.7; }
#faq .faq-help { margin-top: 2px; padding: 18px 22px; border-left: 3px solid #73edca; border-radius: 0 12px 12px 0; background: #10232f; color: #cbd5e1; font-size: 14px; line-height: 1.7; }
#faq :is(input, button, summary, a):focus-visible { outline: 3px solid #67e8f9; outline-offset: 3px; }
.footer-links a, .footer-links button { display: inline-flex; align-items: center; min-height: 44px; }
.footer-provider { margin-top: 9px; font-size: 12px; }
.footer-provider a { color: #b9d7df; text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 768px) { .footer-inner > div:first-child { max-width: 44%; } .footer-links { max-width: 54%; justify-content: flex-end; gap: 8px 18px; } }
@media (max-width: 479px) { #faq .faq-search-row { flex-wrap: wrap; } #faq .faq-reset { width: 100%; } #faq .faq-q { gap: 10px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media (max-width: 1199px) { #faq { scroll-margin-top: 170px; } }
@media (max-width: 639px) { #faq { scroll-margin-top: 250px; } }
