
      .nav-link { color: #333333; transition: color 200ms ease; }
      .nav-link:hover { color: #002FA7; }
      .nav-active { color: #002FA7; font-weight: 600; }
      .dropdown-menu {
        opacity: 0;
        visibility: hidden;
        transform: translate(0, -8px);
        transition: opacity 200ms ease, visibility 200ms ease, transform 200ms ease;
        z-index: 60;
        box-shadow: 0 8px 16px rgba(0,0,0,0.10);
      }
      .nav-dropdown:hover .dropdown-menu,
      .nav-dropdown.dropdown-open .dropdown-menu {
        opacity: 1;
        visibility: visible;
        transform: translate(0, 0);
      }
      .fex-input { transition: border-color 150ms cubic-bezier(.2,.8,.2,1), box-shadow 150ms cubic-bezier(.2,.8,.2,1); }
      .fex-input:hover:not(:focus) { border-color: #7F7F7F; }
      .fex-input:focus { border-color: var(--color-data-cyan); box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-data-cyan) 22%, transparent); outline: none; }
      .fex-input:focus-visible { border-color: var(--color-data-cyan); box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-data-cyan) 22%, transparent); outline: none; }
      .fex-btn-primary { transition: background-color 150ms cubic-bezier(.2,.8,.2,1), transform 150ms cubic-bezier(.2,.8,.2,1); }
      .fex-btn-primary:hover { background-color: #00268A; transform: translateY(-1px); }
      .fex-btn-primary:active { transform: translateY(0); }
      .fex-btn-primary:focus-visible { outline: 2px solid var(--color-data-cyan); outline-offset: 2px; }
      .fex-btn-primary:hover .fex-btn-icon { transform: translateX(2px); }
      .fex-btn-icon { transition: transform 150ms cubic-bezier(.2,.8,.2,1); }
      .fex-card-hover { transition: border-color 200ms cubic-bezier(.2,.8,.2,1), transform 200ms cubic-bezier(.2,.8,.2,1); }
      .fex-card-hover:hover { border-color: var(--color-data-cyan); transform: translateY(-2px); }
      .fex-social { transition: border-color 150ms cubic-bezier(.2,.8,.2,1), color 150ms cubic-bezier(.2,.8,.2,1), transform 150ms cubic-bezier(.2,.8,.2,1); }
      .fex-social:hover { border-color: var(--color-data-cyan); color: var(--color-platform-blue); transform: translateY(-2px); }
      .fex-social:focus-visible { outline: 2px solid var(--color-data-cyan); outline-offset: 2px; }
      .fex-map-bg {
        background-color: var(--color-gray-050);
        background-image:
          linear-gradient(#E5E5E5 1px, transparent 1px),
          linear-gradient(90deg, #E5E5E5 1px, transparent 1px);
        background-size: 40px 40px, 40px 40px;
      }
      .fex-map-road-h { background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--color-platform-blue) 16%, transparent), transparent); }
      .fex-map-road-v { background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--color-platform-blue) 16%, transparent), transparent); }
      .fex-map-label { box-shadow: 0 8px 16px rgba(0,0,0,0.10); }
      @keyframes fex-pulse { 0% { transform: scale(1); opacity: .55; } 70% { opacity: 0; } 100% { transform: scale(2.8); opacity: 0; } }
      .fex-pulse-ring { animation: fex-pulse 2.4s cubic-bezier(.2,.8,.2,1) infinite; }
      @media (prefers-reduced-motion: reduce) {
        .fex-pulse-ring { animation: none; }
        .fex-input, .fex-btn-primary, .fex-btn-icon, .fex-card-hover, .fex-social { transition: none !important; }
        .fex-btn-primary:hover, .fex-card-hover:hover, .fex-social:hover { transform: none; }
      }
          .footer-title { font-size: 15px; font-weight: 600; color: rgba(255,255,255,0.95); }
      .footer-link { font-size: 14px; color: rgba(255,255,255,0.6); transition: color 200ms ease; }
      .footer-link:hover { color: #00E5FF; }
      .footer-text { font-size: 14px; color: rgba(255,255,255,0.6); }
