html { scroll-behavior: smooth; }
body { margin: 0; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; color: #1A1A3E; background: #FFFFFF; -webkit-font-smoothing: antialiased; text-wrap: pretty; }
* { box-sizing: border-box; }
a { color: #3D3DC8; text-decoration: none; }
a:hover { color: #2D2D99; }
:focus-visible { outline: 2px solid #3D3DC8; outline-offset: 3px; }
.btn-cta-light:hover { background: #DDE0FF; }
.nav-dropdown { position: relative; }
.nav-dropdown-toggle { background: none; border: none; cursor: pointer; font: inherit; color: rgba(255,255,255,0.85); display: inline-flex; align-items: center; gap: 4px; padding: 0; }
.nav-dropdown-menu { display: none; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); padding-top: 16px; z-index: 60; }
.nav-dropdown:hover .nav-dropdown-menu { display: block; }
.nav-dropdown-panel { background: #FFFFFF; border-radius: 12px; box-shadow: 0 20px 45px -12px rgba(10,10,50,0.25); padding: 8px; min-width: 200px; text-align: left; }
.nav-dropdown-menu a { display: block; padding: 10px 14px; border-radius: 8px; font-size: 0.9375rem; font-weight: 500; color: #1A1A3E; white-space: nowrap; }
.nav-dropdown-menu a:hover { background: #F4F5FF; color: #3D3DC8; }
.mobile-nav-toggle { display: none; background: none; border: none; cursor: pointer; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 44px; height: 44px; padding: 0; margin-left: auto; color: #FFFFFF; }
.mobile-nav-toggle span { width: 22px; height: 2px; border-radius: 2px; background: currentColor; display: block; }
.mobile-nav-panel { display: none; position: fixed; top: 72px; left: 0; right: 0; bottom: 0; background: #1E1E6B; padding: 8px 24px 24px; flex-direction: column; overflow-y: auto; z-index: 99; }
.mobile-nav-panel.open { display: flex; }
.mobile-nav-panel a, .mobile-nav-panel .mobile-nav-section-label { padding: 14px 4px; font-size: 1.0625rem; font-weight: 500; color: rgba(255,255,255,0.92); border-bottom: 1px solid rgba(255,255,255,0.14); }
.mobile-nav-panel .mobile-nav-section-label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: #9FA6F0; border-bottom: none; padding-bottom: 4px; }
.mobile-nav-panel .mobile-nav-cta { display: inline-flex; align-items: center; justify-content: center; height: 48px; margin-top: 16px; border-radius: 999px; font-weight: 700; background: #3D3DC8; color: #FFFFFF !important; border-bottom: none !important; }
.mobile-nav-panel .mobile-nav-lang { display: flex; gap: 4px; padding: 4px 0; border-bottom: 1px solid rgba(255,255,255,0.14); }
.mobile-nav-panel .mobile-nav-lang a { display: inline-flex; align-items: center; background: none; border: none; padding: 12px 10px; font-weight: 700; color: rgba(255,255,255,0.6); border-bottom: none; }
.mobile-nav-panel .mobile-nav-lang a.active { color: #FFFFFF; }
.perm-table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.perm-table th { text-align: left; padding: 10px 12px; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; color: #5C5C8A; border-bottom: 1px solid #CCCCEE; }
.perm-table td { padding: 12px; border-bottom: 1px solid #EAECFF; color: #1A1A3E; vertical-align: top; }
.perm-table td:first-child { font-weight: 700; color: #3D3DC8; white-space: nowrap; font-family: ui-monospace, SFMono-Regular, monospace; font-size: 0.875rem; }
@media (max-width: 860px) {
  header nav.desktop-nav { display: none !important; }
  .mobile-nav-toggle { display: flex; }
}
