/* NTU Chinese introduction: locally served assets and system CJK fonts. */
.ntu-chinese {font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Noto Sans SC", system-ui, sans-serif; color:#17313f;}
.cn-page {--cn-muted:#536772; --cn-line:var(--line);}
.cn-page section[id] {scroll-margin-top:28px;}
.cn-page h1,.cn-page h2,.cn-page h3,.cn-page p {margin:0;}
.cn-page h2 {font-size:clamp(30px,3.05vw,46px);line-height:1.48;font-weight:700;letter-spacing:-.025em;}
.cn-page h3 {font-size:23px;line-height:1.5;font-weight:650;}
.cn-page p {font-size:17px;line-height:1.95;}
.cn-page .cn-eyebrow {color:#007db5;font-size:12px;line-height:1.6;font-weight:700;letter-spacing:.15em;margin-bottom:24px;}
.cn-section {padding:104px 0;}
.cn-soft {background:#f2f6f8;}
.cn-section-heading {display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:end;margin-bottom:48px;}
.cn-section-heading>p {max-width:480px;color:var(--cn-muted);}
.cn-header .nav-bar {min-height:104px;}
.cn-header .primary-nav {min-height:104px;gap:28px;}
.cn-header .primary-nav>a {font-size:14px;}
.cn-header .brand {min-width:0;}
.cn-header .brand__official--current {width:290px;}
.cn-header .nav-cta {min-height:44px;}
.cn-skip {position:absolute;top:-100px;left:20px;z-index:100;background:#fff;color:#006593;padding:12px 20px;}
.cn-skip:focus {top:10px;}
.ntu-chinese a:focus-visible,.ntu-chinese button:focus-visible {outline:3px solid #0093d5;outline-offset:5px;}
.cn-hero {position:relative;isolation:isolate;background:#eef4f7;overflow:hidden;}
.cn-hero-image {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center;z-index:-2;}
.cn-hero::before {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(245,249,252,.98),rgba(245,249,252,.91) 33%,rgba(245,249,252,.3) 60%,rgba(245,249,252,0) 80%);}
.cn-hero-inner {min-height:680px;display:flex;align-items:center;}
.cn-hero-copy {width:55%;max-width:730px;padding:74px 0 92px;}
.cn-hero .cn-eyebrow {font-size:11px;letter-spacing:.09em;display:flex;align-items:center;gap:10px;}
.cn-hero .cn-eyebrow span {display:inline-block;width:7px;height:7px;background:#0093d5;}
.cn-hero .cn-eyebrow i {font-style:normal;color:#8aa5b5;}
.cn-hero h1 {font-size:clamp(42px,4.4vw,68px);line-height:1.36;letter-spacing:-.04em;font-weight:750;color:#123448;}
.cn-hero h1 em {font-style:normal;color:#008ac8;}
.cn-hero .cn-hero-subtitle {margin:28px 0 12px;font-weight:650;font-size:21px;color:#183e52;}
.cn-hero .cn-lead {max-width:555px;color:#334e5e;font-size:16px;line-height:1.95;}
.cn-actions {margin-top:32px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.cn-button {display:inline-flex;justify-content:space-between;align-items:center;gap:42px;padding:17px 23px;min-height:56px;font-size:15px;font-weight:650;border:1px solid transparent;transition:background .18s,color .18s;}
.cn-button span {font-size:22px;font-weight:400;}
.cn-button-blue {background:#007db5;color:#fff;}
.cn-button-blue:hover {background:#005e89;}
.cn-text-link {font-size:14px;color:#174457;font-weight:600;display:inline-flex;gap:18px;align-items:center;}
.cn-text-link:hover {color:#007db5;}
.cn-hero-bottom {border-top:1px solid rgba(39,85,110,.18);background:rgba(240,247,250,.93);}
.cn-hero-bottom .shell {display:flex;justify-content:space-between;gap:20px;padding-block:19px;font-size:10px;letter-spacing:.14em;font-weight:650;color:#315569;}
.cn-intro-grid {display:grid;grid-template-columns:1fr 1fr;gap:90px;}
.cn-prose p {color:var(--cn-muted);margin-bottom:20px;}
.cn-prose .cn-intro-lead {color:#193b4e;font-size:23px;line-height:1.8;font-weight:550;margin-bottom:23px;}
.cn-principles {margin-top:58px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid #0093d5;padding-top:28px;}
.cn-principles>div {padding:0 24px;border-right:1px solid var(--cn-line);}
.cn-principles>div:first-child {padding-left:0;}
.cn-principles>div:last-child {border:0;}
.cn-principles span {font-size:21px;font-weight:650;color:#183d52;}
.cn-principles p {font-size:14px;color:var(--cn-muted);margin-top:8px;}
.cn-solutions-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--cn-line);border:1px solid var(--cn-line);}
.cn-solution {background:#fff;padding:33px 32px;display:flex;flex-direction:column;align-items:flex-start;}
.cn-index {color:#007db5;font-size:13px;font-weight:700;margin-bottom:27px;}
.cn-solution p {margin:15px 0 28px;color:var(--cn-muted);font-size:16px;}
.cn-solution small {margin-top:auto;font-size:9px;letter-spacing:.15em;font-weight:700;color:#007db5;}
.cn-page .cn-section-link {margin-top:28px;font-size:14px;color:var(--cn-muted);}
.cn-section-link a {color:#007db5;border-bottom:1px solid #8fc1d7;padding-bottom:4px;margin-left:8px;white-space:nowrap;}
.cn-industries-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;}
.cn-industry {border:1px solid var(--cn-line);}
.cn-industry img {width:100%;height:auto;aspect-ratio:1.42;object-fit:cover;}
.cn-industry>div {padding:26px 22px;}
.cn-industry h3 {font-size:21px;}
.cn-industry p {font-size:15px;color:var(--cn-muted);margin-top:12px;}
.cn-network {background:var(--ntu-deep);color:#fff;}
.cn-network .cn-eyebrow {color:#73caef;}
.cn-network .cn-section-heading>p {color:#c3d2dc;}
.cn-partners-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.cn-partner {background:#fff;padding:22px 23px 17px;display:flex;flex-direction:column;gap:18px;transition:transform .18s;}
.cn-partner:hover {transform:translateY(-3px);}
.cn-partner img {width:100%;height:69px;object-fit:contain;}
.cn-partner>.partner-caption {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;font-size:11px;padding-top:13px;border-top:1px solid #e2e9ee;}
.cn-partner .partner-caption__arrow {color:var(--ntu-blue);font-size:18px;}
.cn-page .cn-note {margin-top:25px;color:#b2c9d7;font-size:12px;line-height:1.9;max-width:1050px;}
.cn-process {padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--cn-line);border:1px solid var(--cn-line);}
.cn-process li {padding:32px 30px;background:#fff;min-width:0;}
.cn-process span {display:block;margin-bottom:22px;color:#007db5;font-size:13px;font-weight:700;}
.cn-process p {margin-top:14px;font-size:16px;color:var(--cn-muted);}
.cn-contact {background:var(--ntu-cta-background);color:#fff;padding:88px 0 92px;}
.cn-contact .cn-eyebrow {color:#d4effa;}
.cn-contact-grid {display:grid;grid-template-columns:1.2fr .8fr;gap:100px;}
.cn-contact .cn-contact-lead {margin:24px 0 27px;color:#e8f7ff;max-width:580px;}
.cn-button-white {background:#fff;color:#075679;}
.cn-button-white:hover {background:#dff3fc;}
.cn-page .cn-contact-hint {margin-top:18px;color:#d4effa;font-size:12px;}
.cn-contact-details {border-left:1px solid rgba(255,255,255,.32);padding:6px 0 0 48px;}
.cn-contact-name {font-size:19px;font-weight:650;letter-spacing:.08em;}
.cn-contact .cn-legal {font-size:13px;color:#d4effa;margin-top:6px;}
.cn-contact dl {margin:30px 0 0;}
.cn-contact dl>div {padding:20px 0;border-top:1px solid rgba(255,255,255,.26);}
.cn-contact dt {font-size:12px;letter-spacing:.09em;color:#d4effa;}
.cn-contact dd {margin:7px 0 0;font-size:clamp(20px,2.15vw,30px);font-weight:550;line-height:1.5;}
.cn-contact dd.cn-address {font-size:15px;line-height:1.9;font-weight:400;}
.cn-contact dd a:hover {text-decoration:underline;text-underline-offset:5px;}
.cn-footer {background:var(--footer);color:rgba(255,255,255,.78);border-top:5px solid var(--ntu-blue);}
.cn-footer-top {padding-block:44px;display:flex;align-items:center;justify-content:space-between;gap:34px;}
.cn-footer-top img {width:260px;height:auto;}
.cn-footer-top p {font-size:16px;line-height:1.8;margin:0;}
.cn-footer-top p span {display:block;font-size:11px;color:rgba(255,255,255,.78);margin-top:5px;}
.cn-back {font-size:12px;white-space:nowrap;}
.cn-back span {margin-left:20px;}
.cn-footer-bottom {display:flex;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.12);padding-block:22px;font-size:10px;line-height:1.8;color:rgba(255,255,255,.78);}
@media(min-width:961px) and (max-width:1180px) {
  .cn-header .nav-bar {display:flex;padding:0;gap:20px;}
  .cn-header .primary-nav {width:auto;gap:16px;border:0;}
  .cn-header .brand__official--current {width:245px;}
}
@media(max-width:1100px) {
  .cn-intro-grid,.cn-section-heading,.cn-contact-grid {gap:48px;}
  .cn-hero-inner {min-height:600px;}
  .cn-hero-copy {width:62%;}
  .cn-industries-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .cn-solution {padding:28px 23px;}
  .cn-principles>div {padding-inline:16px;}
}
@media(max-width:960px) {
  .cn-header .nav-bar {min-height:86px;}
  .cn-header .primary-nav {min-height:0;gap:0;}
  .cn-header .brand__official--current {width:260px;}
  .cn-hero-copy {width:70%;}
  .cn-section {padding:76px 0;}
  .cn-section-heading {grid-template-columns:1fr;gap:22px;}
  .cn-section-heading>p {max-width:620px;}
  .cn-solutions-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .cn-partners-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
  .cn-process {grid-template-columns:repeat(2,minmax(0,1fr));}
  .cn-contact-grid {grid-template-columns:1fr;gap:48px;}
  .cn-contact-details {border-left:0;border-top:1px solid rgba(255,255,255,.32);padding:34px 0 0;}
  .cn-footer-top {flex-wrap:wrap;}
}
@media(max-width:640px) {
  .cn-header .nav-bar {min-height:80px;gap:10px;}
  .cn-header .brand {flex:1;min-width:0;}
  .cn-header .brand__official--current {width:190px;max-height:56px;}
  .cn-header .header-tools {gap:4px;flex-shrink:0;}
  .cn-header .menu-toggle {width:38px;padding:8px;}
  .cn-hero-inner {min-height:0;padding-bottom:210px;}
  .cn-hero-copy {width:100%;padding:48px 0 30px;}
  .cn-hero h1 {font-size:clamp(34px,9vw,48px);}
  .cn-hero-image {object-position:76% bottom;height:320px;top:auto;bottom:30px;}
  .cn-hero::before {background:linear-gradient(180deg,#f5f9fc 0%,#f5f9fc 50%,rgba(245,249,252,.8) 65%,rgba(245,249,252,0) 83%);}
  .cn-hero .cn-eyebrow {font-size:10px;letter-spacing:0;gap:6px;}
  .cn-hero .cn-hero-subtitle {font-size:18px;margin-top:22px;}
  .cn-hero .cn-lead {font-size:15px;}
  .cn-actions {gap:22px;margin-top:25px;}
  .cn-button {padding:14px 17px;gap:24px;font-size:14px;min-height:52px;}
  .cn-text-link {font-size:12px;gap:10px;}
  .cn-hero-bottom .shell {font-size:8px;letter-spacing:.08em;flex-direction:column;gap:6px;padding-block:14px;}
  .cn-section {padding:58px 0;}
  .cn-page h2 {font-size:29px;}
  .cn-page .cn-eyebrow {margin-bottom:17px;}
  .cn-intro-grid {grid-template-columns:1fr;gap:25px;}
  .cn-prose .cn-intro-lead {font-size:20px;}
  .cn-prose p,.cn-section-heading>p {font-size:16px;}
  .cn-principles {grid-template-columns:repeat(2,minmax(0,1fr));margin-top:30px;gap:24px 16px;}
  .cn-principles>div {padding:0;border:0;}
  .cn-principles span {font-size:18px;}
  .cn-principles p {font-size:13px;}
  .cn-section-heading {margin-bottom:30px;}
  .cn-solutions-grid {grid-template-columns:1fr;}
  .cn-solution {padding:26px;}
  .cn-index {margin-bottom:16px;}
  .cn-solution p {margin-bottom:21px;}
  .cn-industries-grid {gap:15px;}
  .cn-industry>div {padding:20px 15px;}
  .cn-industry h3 {font-size:18px;}
  .cn-industry p {font-size:14px;}
  .cn-partners-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .cn-partner {padding:18px 14px 13px;gap:10px;}
  .cn-partner img {height:50px;}
  .cn-partner>span {font-size:10px;}
  .cn-process li {padding:24px 20px;}
  .cn-process h3 {font-size:21px;}
  .cn-process p {font-size:14px;}
  .cn-contact {padding:58px 0;}
  .cn-contact-details {padding-top:29px;}
  .cn-footer-top {padding-block:32px;gap:26px;}
  .cn-footer-top img {width:230px;}
  .cn-footer-top p {font-size:15px;}
  .cn-footer-bottom {flex-direction:column;gap:8px;}
}
@media(max-width:380px) {
  .cn-header .brand__official--current {width:155px;}
  .cn-industries-grid {grid-template-columns:1fr;}
  .cn-process {grid-template-columns:1fr;}
  .cn-hero h1 {font-size:32px;}
}
@media(prefers-reduced-motion:reduce) {
  .cn-page * {scroll-behavior:auto;transition:none;}
}
