/* Shared identity and navigation. Page layouts live in their own stylesheets. */
:root { --site-blue: #3157ff; --site-ink: #202639; --site-muted: #697386; --site-pale: #f7f8fe; --site-line: #e7ebf5; }
:is(.page-home, .page-inner) { color: var(--site-ink); font: 16px/1.7 -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; }
:is(.page-home, .page-inner) :is(h1,h2,h3,h4,.brand,.footer-brand) { font-family: inherit; font-style: normal; font-weight: 600; letter-spacing: 0; }
:is(.page-home, .page-inner) [hidden] { display: none !important; }
:is(.page-home, .page-inner) .shell { width: min(1280px, calc(100% - 96px)); }
:is(.page-home, .page-inner) :is(a,button,input,textarea):focus-visible { outline: 3px solid #8ba1ff; outline-offset: 4px; }
:is(.page-home, .page-inner) .site-header { position: sticky; top: 0; height: 76px; background: #fff; border: 0; box-shadow: 0 2px 14px #25335d06; }
:is(.page-home, .page-inner) .header-inner { gap: 30px; }
:is(.page-home, .page-inner) .brand { color: var(--site-blue); font-size: 25px; gap: 10px; }
:is(.page-home, .page-inner) .brand-logo { width: auto; max-width: 115px; height: 37px; }
:is(.page-home, .page-inner) .brand-wordmark .brand-logo { max-width: 230px; height: 40px; }
:is(.page-home, .page-inner) .brand-wordmark .brand-name { display: none; }
:is(.page-home, .page-inner) .brand-mark { background: var(--site-blue); box-shadow: none; border-radius: 7px; height: 37px; width: 37px; }
:is(.page-home, .page-inner) .nav { gap: 22px; margin-left: auto; }
:is(.page-home, .page-inner) .nav > a { color: #272d3d; font-size: 15px; font-weight: 400; white-space: nowrap; }
:is(.page-home, .page-inner) .nav > a:hover, :is(.page-home, .page-inner) .nav > a[aria-current="page"] { color: var(--site-blue); }
:is(.page-home, .page-inner) .header-actions { gap: 18px; margin-left: 0; }
:is(.page-home, .page-inner) .login-link { color: #4c5263; font-size: 14px; }
:is(.page-home, .page-inner) .header-actions .button { background: var(--site-blue); color: #fff; border: 1px solid var(--site-blue); box-shadow: none; padding: 0 19px; height: 38px; min-height: 0; border-radius: 4px; font-size: 14px; font-weight: 400; gap: 0; }
:is(.page-home, .page-inner) .header-actions .button span { display: none; }
:is(.page-home, .page-inner) .menu-toggle { color: var(--site-ink); }
:is(.page-home, .page-inner) .menu-toggle > span:not(.sr-only) { background: var(--site-ink); }
:is(.page-home, .page-inner) .button { min-height: 46px; border-radius: 5px; padding: 13px 25px; font-size: 15px; font-weight: 500; }
:is(.page-home, .page-inner) .button-orange { background: var(--site-blue); color: white; box-shadow: none; }
:is(.page-home, .page-inner) .button-orange:hover { background: #2447dc; }
:is(.page-home, .page-inner) .button-white { color: white; background: var(--site-blue); box-shadow: none; }
:is(.page-home, .page-inner) .text-link, :is(.page-home, .page-inner) .case-related-link { color: var(--site-blue); border-color: #bdcaff; font-weight: 500; }
:is(.page-home, .page-inner) .eyebrow, :is(.page-home, .page-inner) .card-kicker { color: var(--site-blue); font-size: 13px; font-weight: 500; letter-spacing: .04em; }
:is(.page-home, .page-inner) .section-heading > .eyebrow { display: none; }
:is(.page-home, .page-inner) .footer { background: #fff; color: #7a8498; padding: 58px 0 0; }
:is(.page-home, .page-inner) .footer-grid { grid-template-columns: 1.6fr 1fr 1fr 1.3fr; gap: 60px; }
:is(.page-home, .page-inner) .footer-brand { color: var(--site-blue); font-size: 28px; font-weight: 600; }
:is(.page-home, .page-inner) .footer-grid h3 { color: #313e5a; font-size: 16px; margin-top: 0; }
:is(.page-home, .page-inner) .footer-grid :is(p,a,button) { color: #8991a0; font-size: 13px; line-height: 1.85; }
:is(.page-home, .page-inner) .footer :is(a,button):hover { color: var(--site-blue); }
:is(.page-home, .page-inner) .footer-bottom { color: #9da4b1; border-color: #eef0f5; padding: 23px 0; margin-top: 44px; font-size: 12px; }
:is(.page-home, .page-inner) .contact-dialog h2 { font-size: 27px; }
.site-icon { width: 36px; height: 36px; flex-shrink: 0; object-fit: contain; }
@media (max-width: 1380px) {
  :is(.page-home, .page-inner) .shell { width: min(1180px, calc(100% - 80px)); }
  :is(.page-home, .page-inner) .header-inner { gap: 22px; }
  :is(.page-home, .page-inner) .nav { gap: 16px; }
  :is(.page-home, .page-inner) .nav > a { font-size: 14px; }
  :is(.page-home, .page-inner) .brand { font-size: 22px; }
  :is(.page-home, .page-inner) .header-actions { gap: 14px; }
}
@media (max-width: 1100px) {
  :is(.page-home, .page-inner) .shell { width: calc(100% - 64px); }
  :is(.page-home, .page-inner) .header-actions .login-link { display: none; }
  :is(.page-home, .page-inner) .header-inner { gap: 15px; }
  :is(.page-home, .page-inner) .nav { gap: 13px; }
  :is(.page-home, .page-inner) .brand { font-size: 20px; }
  :is(.page-home, .page-inner) .brand-wordmark .brand-logo { max-width: 190px; }
  :is(.page-home, .page-inner) .header-actions .button { padding-inline: 12px; }
}
@media (max-width: 1000px) {
  :is(.page-home, .page-inner) .site-header { height: 66px; }
  :is(.page-home, .page-inner) .menu-toggle { display: flex !important; margin-left: auto; width: 36px; height: 36px; padding: 7px; flex-direction: column; justify-content: center; gap: 6px; border: 0; background: transparent; }
  :is(.page-home, .page-inner) .menu-toggle > span:not(.sr-only) { display: block; width: 20px; height: 2px; }
  :is(.page-home, .page-inner) .header-actions { display: none; }
  :is(.page-home, .page-inner) .nav { display: none; position: absolute; top: 66px; left: 0; right: 0; margin: 0; padding: 16px 32px; background: #fff; border-top: 1px solid #edf0f6; box-shadow: 0 20px 30px #15245312; align-items: stretch; }
  :is(.page-home, .page-inner) .nav.open { display: flex; flex-direction: column; gap: 0; }
  :is(.page-home, .page-inner) .nav > a { display: block; padding: 10px 0; font-size: 15px; }
  :is(.page-home, .page-inner) .nav .mobile-login { display: block !important; color: var(--site-blue); }
}
@media (max-width: 600px) {
  :is(.page-home, .page-inner) .shell { width: calc(100% - 40px); }
  :is(.page-home, .page-inner) .brand-logo { height: 32px; }
  :is(.page-home, .page-inner) .brand-wordmark .brand-logo { max-width: 210px; }
  :is(.page-home, .page-inner) .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  :is(.page-home, .page-inner) .footer-grid > div:first-child { grid-column: 1 / -1; }
  :is(.page-home, .page-inner) .footer { padding-top: 40px; }
  :is(.page-home, .page-inner) .footer-bottom { flex-direction: column; gap: 8px; }
  :is(.page-home, .page-inner) .contact-dialog { padding: 30px 22px; }
}
