/* Shared inner-page chrome. Scoped so each page keeps its own content styles. */
[data-shared-header] { display: block; height: 86px; }
[data-shared-footer] { display: block; width: 100%; }
.shared-shell-fallback { display: inline-flex; align-items: center; min-height: 56px; padding: 12px 24px; color: #fff; background: #0756d8; text-decoration: none; }

.shared-header { position: fixed; z-index: 90; inset: 0 0 auto; padding: 24px 48px 0; font-family: "Cabinet Grotesk", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif; transition: padding 240ms ease; }
.shared-header *, .shared-company *, .shared-auth-dialog * { box-sizing: border-box; }
.shared-header .nav-shell { display: flex; align-items: center; width: min(1260px, 100%); min-height: 58px; margin: 0 auto; padding: 0 28px; border: 1px solid #b2bfff35; border-radius: 12px; background: linear-gradient(110deg, #226bb516, #271e4428 55%, #6e29b525), #070a171c; box-shadow: inset 0 1px 0 #d2ddff0a, 0 8px 24px #00000012; backdrop-filter: blur(26px) saturate(140%); -webkit-backdrop-filter: blur(26px) saturate(140%); transition: min-height 240ms ease, border-color 240ms ease, background-color 240ms ease; }
.shared-header.is-scrolled { padding-top: 12px; }
.shared-header.is-scrolled .nav-shell { min-height: 58px; border-color: #b2bfff40; background-color: #070d21b3; }
.shared-header .brand { display: flex; flex: 0 0 auto; align-items: center; width: 100px; height: 44px; overflow: hidden; text-decoration: none; }
.shared-header .brand img { display: block; width: 100%; height: auto; }
.shared-header .desktop-nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(18px, 2.35vw, 34px); margin-left: auto; }
.shared-header .desktop-nav > a, .shared-header .desktop-nav .nav-dropdown-toggle { position: relative; min-height: 46px; padding: 16px 0; color: #e8eaf9; font-size: 14px; font-weight: 400; line-height: 1; text-decoration: none; white-space: nowrap; transition: color 180ms ease; }
.shared-header .desktop-nav > a::after, .shared-header .desktop-nav .nav-dropdown-toggle::after { position: absolute; right: 10%; bottom: 2px; left: 10%; height: 2px; border-radius: 999px; background: linear-gradient(90deg, #57b8ff, #aaa0ff); box-shadow: 0 0 9px #559cffb3, 0 0 20px #746bff66; content: ""; opacity: 0; transform: scaleX(.35); transition: opacity 180ms ease, transform 180ms ease; }
.shared-header .desktop-nav > a:hover, .shared-header .desktop-nav .nav-dropdown-toggle:hover, .shared-header .desktop-nav .nav-dropdown-toggle[aria-expanded="true"] { color: #fff; }
@media (hover: hover) and (pointer: fine) { .shared-header .desktop-nav > a:hover::after, .shared-header .desktop-nav .nav-dropdown-toggle:hover::after { opacity: 1; transform: scaleX(1); } }
.shared-header .desktop-nav > a:focus-visible::after, .shared-header .desktop-nav .nav-dropdown-toggle:focus-visible::after { opacity: 1; transform: scaleX(1); }
.shared-header .nav-dropdown { position: relative; }
.shared-header .nav-dropdown-toggle { display: flex; align-items: center; gap: 7px; min-height: 46px; border: 0; background: transparent; color: inherit; cursor: pointer; }
.shared-header .nav-dropdown-toggle svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.4; transition: transform 180ms ease; }
.shared-header .nav-dropdown-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.shared-header .nav-submenu { position: absolute; top: calc(100% + 12px); left: -18px; display: grid; gap: 4px; min-width: 176px; padding: 8px; border: 1px solid #879cd73d; border-radius: 10px; background: #0b1327ed; box-shadow: 0 14px 32px #00000035; backdrop-filter: blur(26px); -webkit-backdrop-filter: blur(26px); }
.shared-header .nav-submenu[hidden], .shared-header .mobile-nav[hidden] { display: none; }
.shared-header .nav-submenu a, .shared-header .nav-submenu button { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 46px; width: 100%; padding: 11px 12px; border: 0; border-radius: 6px; background: transparent; color: #dbe6f5; font: inherit; font-size: 13px; line-height: 1.5; text-decoration: none; text-align: left; white-space: nowrap; cursor: pointer; transition: background-color 180ms, color 180ms; }
.shared-header .nav-submenu a:hover, .shared-header .nav-submenu button:hover, .shared-header .nav-submenu a:focus-visible, .shared-header .nav-submenu button:focus-visible { background: #203856; color: #fff; }
.shared-header .nav-submenu a > span { color: #8fafd5; font-size: 12px; }
.shared-header .nav-language { margin-left: 0; padding-left: 20px; border-left: 1px solid #d9d0fa30; }
.shared-header .language-toggle { min-width: 96px; justify-content: flex-start; gap: 8px; }
.shared-header .language-toggle > .language-choice { gap: 8px; }
.shared-header .language-flag { display: block; flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%; box-shadow: 0 0 0 1px #ffffff28; object-fit: cover; }
.shared-header .language-choice { display: flex; align-items: center; gap: 10px; }
.shared-header .language-submenu { left: auto; right: 0; min-width: 182px; background: linear-gradient(135deg, #221b36f5, #11192df5); border-color: #a38bcd50; }
.shared-header .language-submenu button { gap: 16px; min-height: 44px; }
.shared-header .language-submenu .language-choice, .shared-header .language-submenu .language-choice > span { color: #f0eafa; font-size: 13px; }
.shared-header .language-check { opacity: 0; color: #d4b6ff; }
.shared-header .language-submenu button[aria-pressed="true"] { background: #8661bb26; }
.shared-header .language-submenu button[aria-pressed="true"] .language-check { opacity: 1; }
.shared-header .language-demo-note { border-top: 1px solid #b4a1d32e; padding: 10px 5px 2px; margin: 7px 0 0; font-size: 10px; line-height: 1.6; color: #b9adc9; white-space: nowrap; }
.shared-header .auth-nav-trigger { flex: 0 0 auto; min-height: 38px; margin-left: -8px; padding: 0 14px; border: 1px solid rgba(192, 204, 255, .5); border-radius: 8px; background: linear-gradient(125deg, rgba(44, 117, 240, .22), rgba(142, 76, 230, .22)); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); color: #fff; font: inherit; font-size: 13px; white-space: nowrap; cursor: pointer; transition: background-color .2s, border-color .2s, transform .2s; }
.shared-header .auth-nav-trigger:hover { transform: translateY(-1px); border-color: rgba(219, 223, 255, .85); background-color: rgba(105, 94, 217, .26); }
.shared-header .menu-toggle, .shared-header .mobile-nav { display: none; }
.shared-header :focus-visible { outline: 2px solid #acc9ff; outline-offset: 3px; }
.shared-auth-dialog :focus-visible { outline: 3px solid #b7d5ff; outline-offset: 3px; }

.shared-company { padding: 54px 40px 0; color: #edf3ff; background: radial-gradient(ellipse at 90% 10%, #62329144, transparent 55%), radial-gradient(ellipse at 0% 90%, #12539433, transparent 60%), #091426; font-family: "Cabinet Grotesk", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif; line-height: 1.6; }
.shared-company .talent-shell { max-width: 1240px; margin: auto; }
.shared-company .company-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: center; gap: 72px; }
.shared-company .company-logo { width: 118px; height: auto; display: block; margin-bottom: 22px; }
.shared-company .company-copy h2 { font-size: 24px; line-height: 1.45; margin: 0 0 14px; color: #edf3ff; }
.shared-company .company-copy > p { font-size: 13px; line-height: 1.9; color: #b4c3da; max-width: 490px; margin: 0; }
.shared-company .company-facts { display: flex; flex-wrap: wrap; gap: 34px; margin: 24px 0 18px; }
.shared-company .company-facts > div { display: flex; flex-direction: column; gap: 9px; }
.shared-company .company-facts strong { font-size: 25px; font-weight: 500; line-height: 1.4; color: #edf3ff; }
.shared-company .company-facts small { font-size: 12px; font-weight: 400; color: #c4d1e7; }
.shared-company .company-facts span { font-size: 12px; color: #aabdd7; }
.shared-company .company-contact { display: inline-flex; align-items: center; justify-content: space-between; gap: 44px; padding: 12px 0; border: 0; border-bottom: 1px solid #778da8; background: transparent; color: #eef4ff; text-align: left; text-decoration: none; font: inherit; font-size: 14px; min-height: 44px; cursor: pointer; }
.shared-company .company-social > p:first-child { font-size: 15px; margin: 0 0 22px; color: #edf3ff; }
.shared-company .company-qr-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; max-width: 440px; }
.shared-company .company-qr-list figure { margin: 0; text-align: center; }
.shared-company .company-qr-placeholder { aspect-ratio: 1; background: #14243b; border: 1px dashed #667c9b; border-radius: 8px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 8px; color: #afc1da; }
.shared-company .company-qr-placeholder > span { font-size: 27px; font-weight: 200; line-height: 1; color: #afc1da; }
.shared-company .company-qr-placeholder small { font-size: 11px; color: #afc1da; }
.shared-company .company-qr-list figcaption { font-size: 13px; margin-top: 13px; color: #d3def0; }
.shared-company .company-qr-note { font-size: 11px; line-height: 1.6; color: #a2b4cf; margin: 18px 0 0; }
.shared-company .company-baseline { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 16px; margin-top: 42px; padding: 22px 0; border-top: 1px solid #28374f; color: #a2b4cf; font-size: 11px; }
.shared-company .company-baseline > span:last-child { justify-self: end; text-align: right; }
.shared-company .company-icp { justify-self: center; color: #c5d5ee; text-decoration: none; white-space: nowrap; font-size: 13px; line-height: 1.6; }
.shared-company .company-icp:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.shared-company a:focus-visible, .shared-company button:focus-visible { outline: 3px solid #b7d5ff; outline-offset: 4px; }

.shared-auth-dialog { box-sizing: border-box; width: min(440px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 30px; border: 1px solid rgba(153, 169, 234, .48); border-radius: 18px; background: radial-gradient(circle at 100% 0, rgba(104, 59, 183, .28), transparent 48%), linear-gradient(145deg, #111b34, #101425 75%); box-shadow: 0 24px 80px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.1); color: #f6f7ff; font-family: "Cabinet Grotesk", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif; line-height: 1.6; }
.shared-auth-dialog::backdrop { background: rgba(2, 6, 18, .74); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.shared-auth-dialog .auth-close { position: absolute; top: 13px; right: 13px; width: 44px; height: 44px; border: 0; border-radius: 8px; background: transparent; color: #d9dff2; font-size: 30px; line-height: 1; cursor: pointer; }
.shared-auth-dialog .auth-close:hover { background: rgba(160, 176, 236, .12); }
.shared-auth-dialog .auth-brand { width: 104px; height: 42px; overflow: hidden; }
.shared-auth-dialog .auth-brand img { display: block; width: 100%; height: auto; }
.shared-auth-dialog .auth-eyebrow { margin: 28px 0 4px; color: #a7bffe; font-size: 11px; font-weight: 600; letter-spacing: .18em; }
.shared-auth-dialog h2 { margin: 0; color: #f6f7ff; font-size: 29px; line-height: 1.35; letter-spacing: -.035em; }
.shared-auth-dialog .auth-description { margin: 12px 0 24px; color: #c5cede; font-size: 14px; line-height: 1.75; }
.shared-auth-dialog form { display: grid; gap: 9px; }
.shared-auth-dialog label { margin-top: 8px; font-size: 13px; font-weight: 600; }
.shared-auth-dialog .auth-phone-field input, .shared-auth-dialog .auth-code-field input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; padding: 10px 13px; border: 1px solid #7e8cab; border-radius: 8px; background: #0d182d; color: #fff; font: inherit; font-size: 16px; }
.shared-auth-dialog input::placeholder { color: #9ba9c1; }
.shared-auth-dialog .auth-code-field { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.shared-auth-dialog .auth-code-field button { min-height: 48px; padding: 0 15px; border: 1px solid #869ad2; border-radius: 8px; background: rgba(58, 100, 184, .16); color: #e9efff; font: inherit; font-size: 13px; white-space: nowrap; cursor: pointer; }
.shared-auth-dialog .auth-code-field button:hover { background: rgba(58, 100, 184, .28); }
.shared-auth-dialog .auth-submit { display: flex; justify-content: center; align-items: center; gap: 10px; min-height: 48px; margin-top: 17px; border: 0; border-radius: 8px; background: linear-gradient(105deg, #307bf0, #8948e7); color: #fff; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.shared-auth-dialog .auth-submit:hover { filter: brightness(1.1); }
.shared-auth-dialog .auth-status { min-height: 39px; margin: 6px 0 0; color: #bdc8dd; font-size: 12px; line-height: 1.65; }
.shared-shell-notice { position: fixed; left: 50%; bottom: 96px; transform: translateX(-50%); z-index: 110; max-width: calc(100vw - 40px); width: max-content; padding: 12px 20px; border: 1px solid #b394e16b; border-radius: 10px; background: #251936f2; color: #f4edff; box-shadow: 0 8px 28px #11092033; font-size: 13px; line-height: 1.6; pointer-events: none; text-align: center; }
.shared-shell-notice[hidden] { display: none; }

@media (max-width: 1180px) { .shared-header .brand { width: 94px; } .shared-header .desktop-nav { gap: 18px; } .shared-header .desktop-nav > a, .shared-header .desktop-nav .nav-dropdown-toggle { font-size: 13px; } .shared-header .nav-language { padding-left: 14px; } .shared-header .language-toggle { min-width: 90px; } .shared-header .auth-nav-trigger { padding-inline: 10px; font-size: 12px; } .shared-company .company-grid { gap: 36px; } }
@media (max-width: 1000px) and (min-width: 941px) { .shared-header { padding-inline: 24px; } .shared-header .nav-shell { padding-inline: 20px; } .shared-header .brand { width: 85px; } .shared-header .desktop-nav { gap: 14px; } .shared-header .nav-language { padding-left: 12px; } }
@media (max-width: 940px) {
  .shared-header .desktop-nav { display: none; }
  .shared-header .menu-toggle { display: inline-grid; place-content: center; gap: 6px; width: 44px; height: 44px; margin-left: auto; border: 1px solid transparent; border-radius: 10px; background: transparent; color: #fff; cursor: pointer; }
  .shared-header .menu-toggle:hover, .shared-header .menu-toggle[aria-expanded="true"] { background: rgba(191, 207, 230, .08); }
  .shared-header .menu-toggle span { display: block; width: 20px; height: 1.5px; border-radius: 999px; background: currentColor; transition: transform 180ms ease, opacity 180ms ease; }
  .shared-header .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.75px) rotate(45deg); }
  .shared-header .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.75px) rotate(-45deg); }
  .shared-header .mobile-nav { position: absolute; top: calc(100% + 8px); right: clamp(18px, 3vw, 44px); left: clamp(18px, 3vw, 44px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; max-height: calc(100svh - 112px); padding: 12px; overflow: auto; border: 1px solid #879cd73d; border-radius: 12px; background: #0b1327ed; box-shadow: 0 24px 64px rgba(0, 0, 0, .36); backdrop-filter: blur(26px); -webkit-backdrop-filter: blur(26px); }
  .shared-header .mobile-nav > a, .shared-header .mobile-nav .nav-dropdown-toggle { min-height: 48px; padding: 13px 14px; border-radius: 10px; color: #d8e7fb; text-decoration: none; }
  .shared-header .mobile-nav > a:hover, .shared-header .mobile-nav .nav-dropdown-toggle:hover { background: rgba(22, 140, 255, .12); color: #fff; }
  .shared-header .mobile-nav .nav-dropdown-toggle { width: 100%; justify-content: space-between; font-size: 16px; line-height: 1.6; }
  .shared-header .mobile-nav .nav-submenu { position: static; min-width: 0; margin: 2px 0 6px 14px; padding: 4px 0 4px 8px; border: 0; border-left: 1px solid #42648a; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .shared-header .mobile-nav .nav-language { grid-column: 1 / -1; border-top: 1px solid #ba9ce530; margin-top: 8px; padding: 6px 0 0; border-left: 0; }
  .shared-header .mobile-nav .language-toggle .language-choice { color: #e9e1f9; font-size: 15px; }
  .shared-header .mobile-nav .language-submenu { margin: 0 10px 4px; padding: 4px 0; border-left: 0; }
  .shared-header .mobile-nav .language-submenu > div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .shared-header .mobile-nav .language-submenu button { padding: 10px; gap: 8px; }
  .shared-header .mobile-nav .auth-nav-trigger { grid-column: 1 / -1; min-height: 48px; margin: 6px 0 0; padding: 10px 16px; border: 1px solid rgba(183, 162, 245, .48); border-radius: 9px; background: linear-gradient(105deg, rgba(34, 104, 224, .3), rgba(136, 63, 217, .28)); color: #fff; font: inherit; text-align: left; cursor: pointer; }
  .shared-shell-notice { bottom: 82px; font-size: 12px; }
}
@media (max-width: 850px) { .shared-company { padding: 40px 24px 0; } .shared-company .company-grid { grid-template-columns: 1fr; gap: 32px; } .shared-company .company-qr-list { max-width: 410px; } .shared-company .company-copy > p { max-width: 560px; } .shared-company .company-baseline { margin-top: 28px; } }
@media (max-width: 767px) { [data-shared-header] { height: 68px; } .shared-header { padding: 8px 12px 0; } .shared-header .nav-shell { min-height: 52px; padding: 0 14px; border-radius: 12px; } .shared-header.is-scrolled { padding-top: 6px; } .shared-header.is-scrolled .nav-shell { min-height: 52px; } .shared-header .brand { width: 80px; } .shared-header .mobile-nav { top: calc(100% + 6px); right: 12px; left: 12px; grid-template-columns: 1fr; } }
@media (max-width: 700px) { .shared-header { padding: 18px 16px 0; } .shared-header.is-scrolled { padding-top: 8px; } .shared-header .nav-shell, .shared-header.is-scrolled .nav-shell { min-height: 52px; padding: 0 18px; border-radius: 10px; } .shared-header .mobile-nav { right: 16px; left: 16px; } }
@media (max-width: 700px) { .shared-company .company-baseline { grid-template-columns: 1fr; text-align: center; } .shared-company .company-baseline > span:last-child { justify-self: center; text-align: center; } }
@media (max-width: 520px) { .shared-company { padding: 34px 20px 0; } .shared-company .company-copy h2 { font-size: 22px; } .shared-company .company-facts { gap: 24px; } .shared-company .company-facts strong { font-size: 23px; } .shared-company .company-facts small { font-size: 11px; } .shared-company .company-qr-list { gap: 12px; } .shared-company .company-qr-placeholder small { font-size: 10px; } .shared-company .company-baseline { font-size: 10px; gap: 8px; } .shared-auth-dialog { padding: 24px 20px; border-radius: 14px; } .shared-auth-dialog h2 { font-size: 25px; } .shared-auth-dialog .auth-code-field button { padding-inline: 10px; } }
@media (prefers-reduced-motion: reduce) { .shared-header *, .shared-header, .shared-auth-dialog * { transition: none !important; } }
