@font-face {
  font-family: "Rajdhani Local";
  src: url("../fonts/Rajdhani-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Gotham Local";
  src: url("../fonts/gotham.otf") format("opentype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

/* Keep the global header visually continuous during same-origin page changes. */
@view-transition {
  navigation: auto;
}

.fixed-header {
  view-transition-name: nctcc-persistent-header;
}

::view-transition-group(nctcc-persistent-header) {
  z-index: 10000;
  animation-duration: 1ms;
}

::view-transition-old(nctcc-persistent-header),
::view-transition-new(nctcc-persistent-header) {
  animation: none;
  mix-blend-mode: normal;
}

::view-transition-old(root),
::view-transition-new(root) {
  animation: none;
  mix-blend-mode: normal;
}

/* Homepage hero: unlettered artwork with a persistent typographic layer */
#home.carousel .swiper-mbanner {
  position: relative;
}

#home.carousel .swiper-slide {
  background-position: center center !important;
  background-size: cover !important;
}

.nctcc-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 18;
  overflow: hidden;
  pointer-events: none;
  color: #fff;
  background: transparent;
  font-family: "Inter", "PingFang SC", "Microsoft YaHei", sans-serif;
}

.nctcc-hero-first-active .nctcc-hero-overlay {
  background: transparent;
}

.nctcc-hero-brand {
  position: absolute;
  left: 50%;
  top: 53%;
  width: min(72%, 1320px);
  transform: translateX(-50%);
  text-align: center;
  color: #fff;
  filter: drop-shadow(0 5px 13px rgba(0, 37, 76, .38));
}

.nctcc-hero-brand-main {
  font-family: "Gotham Local", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(64px, 6.5vw, 118px);
  font-weight: 800;
  letter-spacing: .01em;
  line-height: .96;
}

.nctcc-hero-brand-city {
  margin-top: 14px;
  padding-left: .46em;
  font-size: clamp(22px, 2.15vw, 38px);
  font-weight: 650;
  letter-spacing: .46em;
  line-height: 1.1;
  font-family: "Gotham Local", "Helvetica Neue", Arial, sans-serif;
}

.nctcc-hero-details {
  position: absolute;
  top: 7%;
  left: 50%;
  right: auto;
  width: min(72%, 1200px);
  opacity: 0;
  transform: translate3d(-50%, 12px, 0);
  transition: opacity .42s ease, transform .42s ease;
  text-align: center;
  text-shadow: 0 3px 10px rgba(0, 39, 75, .42);
}

.nctcc-hero-first-active .nctcc-hero-details {
  opacity: 1;
  transform: translate3d(-50%, 0, 0);
}

.nctcc-hero-title-cn {
  font-size: clamp(23px, 2.25vw, 38px);
  font-weight: 700;
  letter-spacing: .025em;
  line-height: 1.34;
}

.nctcc-hero-title-en {
  width: 100%;
  max-width: none;
  margin: 10px auto 0;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(14px, 1.22vw, 21px);
  font-weight: 500;
  letter-spacing: .015em;
  line-height: 1.38;
  white-space: nowrap;
}

.nctcc-hero-detail-rule {
  width: 82px;
  height: 2px;
  margin: 18px auto 15px;
  background: rgba(255, 255, 255, .92);
}

.nctcc-hero-date {
  font-size: clamp(17px, 1.48vw, 25px);
  font-weight: 650;
  letter-spacing: .035em;
  line-height: 1.5;
}

.nctcc-hero-date span {
  display: inline-block;
  margin-left: .6em;
}

.nctcc-hero-hosts {
  margin-top: 17px;
  font-size: clamp(13px, 1.08vw, 18px);
  font-weight: 450;
  letter-spacing: .01em;
  line-height: 1.85;
}

.nctcc-hero-hosts b {
  font-weight: 650;
}

#home.carousel .swiper-pag,
#home.carousel .carousel-prev,
#home.carousel .carousel-next {
  z-index: 28;
}

@media (max-width: 900px) {
  .nctcc-hero-brand {
    left: 50%;
    top: 52%;
    width: 86%;
  }

  .nctcc-hero-details {
    top: 6%;
    left: 50%;
    right: auto;
    width: 88%;
  }

  .nctcc-hero-detail-rule {
    margin: 13px 0 11px;
  }

  .nctcc-hero-hosts {
    margin-top: 9px;
    line-height: 1.62;
  }
}

@media (max-width: 640px) {
  .nctcc-hero-brand {
    left: 50%;
    top: 57%;
    width: 92%;
    transform: translateX(-50%);
  }

  .nctcc-hero-brand-main {
    font-size: clamp(36px, 12vw, 54px);
  }

  .nctcc-hero-brand-city {
    margin-top: 6px;
    font-size: 14px;
  }

  .nctcc-hero-details {
    top: 8%;
    left: 50%;
    right: auto;
    width: 94%;
    transform: translate3d(-50%, 12px, 0);
    text-align: center;
    white-space: normal !important;
  }

  .nctcc-hero-details,
  .nctcc-hero-details * {
    white-space: normal !important;
  }

  .nctcc-hero-first-active .nctcc-hero-details {
    transform: translate3d(-50%, 0, 0);
  }

  .nctcc-hero-title-cn {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    font-size: clamp(17px, 4.8vw, 20px);
    line-height: 1.35;
    white-space: normal !important;
    word-break: break-all !important;
    overflow-wrap: anywhere !important;
  }

  .nctcc-hero-title-en {
    display: block;
    width: 100%;
    max-width: 100%;
    margin-top: 7px;
    font-size: clamp(7.5px, 2.45vw, 10px);
    line-height: 1.4;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  .nctcc-hero-title-en .nctcc-hero-nowrap {
    white-space: nowrap !important;
  }

  .nctcc-hero-detail-rule {
    width: 54px;
    margin: 12px auto 10px;
  }

  .nctcc-hero-date {
    font-size: 14px;
    white-space: normal !important;
  }

  .nctcc-hero-date span {
    margin-left: .35em;
  }

  .nctcc-hero-hosts {
    margin-top: 8px;
    font-size: 11px;
    line-height: 1.55;
    white-space: normal !important;
  }
}

:root {
  --nctcc-ink: #0b2447;
  --nctcc-text: #152238;
  --nctcc-muted: #607089;
  --nctcc-teal: #16b5d8;
  --nctcc-teal-dark: #0b5fa5;
  --nctcc-blue: #0b5fa5;
  --nctcc-sage: #7da9b6;
  --nctcc-gold: #d8b35c;
  --nctcc-mist: #f4f7fa;
  --nctcc-aqua: #eaf4f8;
  --nctcc-line: #dce5ec;
  --nctcc-table-head: rgb(0, 112, 192);
  --nctcc-ivory: #ffffff;
  --nctcc-white: #ffffff;
  --nctcc-shadow: 0 12px 32px rgba(11, 36, 71, .10);
  --nctcc-shadow-soft: 0 6px 24px rgba(11, 36, 71, .06);
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
}

body.nctcc-redesign {
  color: var(--nctcc-text);
  background: var(--nctcc-mist);
  font-family: Inter, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif !important;
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.nctcc-redesign ::selection {
  color: var(--nctcc-white);
  background: var(--nctcc-teal);
}

a, button { -webkit-tap-highlight-color: transparent; }

a:focus-visible,
button:focus-visible {
  outline: 3px solid rgba(77, 133, 128, .28);
  outline-offset: 4px;
}

/* Header and condensed navigation */
.fixed-header {
  z-index: 1000 !important;
}

.nctcc-site-header {
  width: 100%;
  background: rgba(255, 255, 255, .94);
  border-bottom: 1px solid rgba(67, 111, 116, .12);
  box-shadow: 0 8px 30px rgba(29, 62, 68, .06);
  backdrop-filter: blur(18px) saturate(130%);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
}

.nctcc-header-inner {
  width: min(100% - 64px, 1200px);
  min-height: 74px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 24px;
}

.nctcc-brand {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

.nctcc-brand img {
  width: auto;
  height: 48px;
  object-fit: contain;
}

.nctcc-wordmark {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  color: var(--nctcc-blue);
  font-family: "Gotham Local", "Helvetica Neue", Arial, sans-serif;
  line-height: 1;
  white-space: nowrap;
}

.nctcc-wordmark strong {
  font-family: inherit;
  font-size: 31px;
  font-weight: 700;
  letter-spacing: .005em;
  line-height: .95;
}

.nctcc-wordmark > span {
  margin-top: 5px;
  padding-left: .36em;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .36em;
  line-height: 1;
}

.weatherbox {
  position: static !important;
  min-width: 106px;
  margin-right: auto;
  padding: 8px 12px !important;
  color: var(--nctcc-muted) !important;
  background: var(--nctcc-mist) !important;
  border: 1px solid var(--nctcc-line) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font-size: 12px !important;
  line-height: 1.45;
}

.weatherbox #city { color: var(--nctcc-ink); font-weight: 600; }
.weatherbox #temp { margin-left: 7px; color: var(--nctcc-teal-dark); font-weight: 700; }
.weatherbox .info { color: var(--nctcc-muted) !important; }

.nctcc-desktop-nav {
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  gap: 4px;
  align-self: stretch;
}

.nctcc-nav-link,
.nctcc-nav-trigger {
  position: relative;
  min-height: 74px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: var(--nctcc-ink) !important;
  background: transparent;
  border: 0;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .02em;
  white-space: nowrap;
  cursor: pointer;
  transition: color .25s ease, background .25s ease;
}

.nctcc-nav-link::after,
.nctcc-nav-trigger::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 0;
  height: 2px;
  border-radius: 999px 999px 0 0;
  background: var(--nctcc-teal);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .25s ease;
}

.nctcc-nav-link:hover,
.nctcc-nav-trigger:hover,
.nctcc-nav-link.is-active,
.nctcc-nav-trigger.is-active,
.nctcc-nav-group:has(.nctcc-nav-trigger.is-active) > .nctcc-nav-trigger {
  color: var(--nctcc-blue) !important;
  background: transparent;
}

.nctcc-nav-link:hover::after,
.nctcc-nav-trigger:hover::after,
.nctcc-nav-link.is-active::after,
.nctcc-nav-trigger.is-active::after { transform: scaleX(1); }

.nctcc-nav-trigger i {
  font-size: 10px;
  color: var(--nctcc-sage);
  transition: transform .25s ease;
}

.nctcc-nav-group {
  position: relative;
  display: flex;
}

.nctcc-nav-group:hover .nctcc-nav-trigger i,
.nctcc-nav-group:focus-within .nctcc-nav-trigger i,
.nctcc-nav-group.is-open .nctcc-nav-trigger i { transform: rotate(180deg); }

.nctcc-dropdown {
  position: absolute;
  top: calc(100% - 7px);
  left: 50%;
  z-index: 1001;
  min-width: 176px;
  padding: 9px;
  background: rgba(255, 255, 255, .98);
  border: 1px solid var(--nctcc-line);
  border-radius: 12px;
  box-shadow: var(--nctcc-shadow);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 10px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.nctcc-dropdown-wide { min-width: 194px; }

.nctcc-nav-group:hover .nctcc-dropdown,
.nctcc-nav-group:focus-within .nctcc-dropdown,
.nctcc-nav-group.is-open .nctcc-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

.nctcc-dropdown a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 9px 13px;
  color: var(--nctcc-text) !important;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 550;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

.nctcc-dropdown a::before {
  content: "";
  width: 5px;
  height: 5px;
  margin-right: 10px;
  border-radius: 50%;
  background: var(--nctcc-sage);
}

.nctcc-dropdown a:hover {
  color: var(--nctcc-teal-dark) !important;
  background: var(--nctcc-mist);
  transform: translateX(3px);
}

.nctcc-menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  color: var(--nctcc-ink);
  background: var(--nctcc-mist);
  border: 1px solid var(--nctcc-line);
  border-radius: 12px;
  font-size: 20px;
}

.nctcc-mobile-menu {
  background: rgba(255, 255, 255, .98);
  border-top: 1px solid var(--nctcc-line);
  box-shadow: 0 20px 34px rgba(28, 62, 66, .10);
}

.nctcc-mobile-inner {
  width: min(100% - 32px, 720px);
  max-height: calc(100vh - 92px);
  margin: 0 auto;
  padding: 12px 0 20px;
  overflow-y: auto;
}

.nctcc-mobile-menu .mobile-nav-link {
  min-height: 48px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--nctcc-ink) !important;
  border-bottom: 1px solid rgba(215, 227, 225, .72);
  font-size: 16px;
  font-weight: 600;
}

.nctcc-mobile-menu .mobile-dropdown-item {
  min-height: 42px;
  padding: 9px 16px;
  display: flex;
  align-items: center;
  color: var(--nctcc-muted) !important;
  border-left: 2px solid var(--nctcc-line);
  font-size: 14px;
}

.nctcc-mobile-menu .is-active > .mobile-nav-link,
.nctcc-mobile-menu .mobile-nav-link.is-active {
  color: var(--nctcc-teal-dark) !important;
}

/* Page rhythm and banners */
.scrollable-content { background: var(--nctcc-mist); }

.page-banner {
  position: relative;
  height: clamp(220px, 23vw, 320px) !important;
  overflow: hidden;
  background: var(--nctcc-blue);
}

.page-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(31, 75, 79, .18), rgba(57, 111, 121, .16) 45%, rgba(49, 101, 111, .46));
}

.page-banner .banner-image,
.page-banner .fullscreen-video {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  filter: saturate(.78) contrast(.96);
}

.page-banner + section,
.main-content > section.py-16 {
  padding-top: 64px !important;
  padding-bottom: 80px !important;
  background: linear-gradient(180deg, #f8fbfa 0%, var(--nctcc-mist) 100%) !important;
}

.main-content > section.py-16 > .container,
.main-content > section.py-16 > div.container {
  width: min(100% - 32px, 1180px) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.section-fade-in > h2 {
  margin-bottom: 24px !important;
  color: var(--nctcc-ink) !important;
  font-size: clamp(25px, 3vw, 34px) !important;
  font-weight: 680 !important;
  letter-spacing: -.02em;
}

.section-fade-in > h2 i {
  width: 38px;
  height: 38px;
  margin-right: 14px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--nctcc-teal-dark) !important;
  background: var(--nctcc-aqua);
  border-radius: 12px;
  font-size: 17px;
}

.aboutbody {
  position: relative;
  padding: clamp(28px, 5vw, 58px) !important;
  color: var(--nctcc-text) !important;
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid rgba(215, 227, 225, .9) !important;
  border-radius: 24px !important;
  box-shadow: var(--nctcc-shadow-soft) !important;
  overflow: hidden;
}

.aboutbody::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--nctcc-blue), var(--nctcc-teal), #a7bdb6);
}

.aboutbody,
.aboutbody *:not(.fa) {
  font-family: Inter, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif !important;
}

.aboutbody > :first-child { margin-top: 0 !important; }
.aboutbody > :last-child { margin-bottom: 0 !important; }

.aboutbody p {
  margin: 0 0 1.05em;
  color: var(--nctcc-text);
  font-size: clamp(15.5px, 1.25vw, 17px) !important;
  line-height: 1.95 !important;
  letter-spacing: .012em;
}

.aboutbody p:not([style*="text-align: right"]):not([style*="text-align: center"]) {
  text-align: justify;
  text-justify: inter-ideograph;
}

.aboutbody h2,
.aboutbody h3,
.aboutbody h4,
.aboutbody h5 {
  margin: 1.75em 0 .75em !important;
  color: var(--nctcc-ink) !important;
  font-weight: 680 !important;
  line-height: 1.4 !important;
  letter-spacing: -.01em;
}

.aboutbody h2 { font-size: clamp(23px, 2.4vw, 30px) !important; }
.aboutbody h3 { font-size: clamp(20px, 2vw, 25px) !important; }
.aboutbody h4 { font-size: 19px !important; }

.aboutbody strong,
.aboutbody b {
  color: var(--nctcc-ink);
  font-weight: 680;
}

.aboutbody ul,
.aboutbody ol {
  margin: 1.1em 0 1.5em 1.25em !important;
  padding: 0 !important;
}

.aboutbody li {
  margin: .55em 0;
  padding-left: .25em;
  color: var(--nctcc-text);
  line-height: 1.85;
}

.aboutbody ul li::marker { color: var(--nctcc-teal); }
.aboutbody ol li::marker { color: var(--nctcc-blue); font-weight: 700; }

.aboutbody a:not(.nctcc-cta):not(.nctcc-download-link) {
  color: var(--nctcc-teal-dark) !important;
  text-decoration-color: rgba(44, 100, 98, .35);
  text-underline-offset: 4px;
}

.aboutbody img:not([aria-hidden="true"]) {
  max-width: 100%;
  height: auto;
  border-radius: 14px;
}

/* Modern responsive tables, overriding pasted office styles */
.nctcc-table-scroll {
  width: 100%;
  margin: 28px 0 36px;
  overflow-x: auto;
  border: 1px solid var(--nctcc-line);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(42, 76, 78, .06);
  -webkit-overflow-scrolling: touch;
}

.aboutbody table {
  width: 100% !important;
  min-width: 680px;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: auto !important;
  background: var(--nctcc-white) !important;
}

.aboutbody table tr > th,
.aboutbody table tr > td {
  min-width: 92px;
  padding: 14px 16px !important;
  color: var(--nctcc-text) !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid var(--nctcc-line) !important;
  border-bottom: 1px solid var(--nctcc-line) !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  vertical-align: middle !important;
}

.aboutbody table tr > *:last-child { border-right: 0 !important; }
.aboutbody table tr:last-child > * { border-bottom: 0 !important; }
.aboutbody table tbody tr:nth-child(even) > * { background: #f7faf9 !important; }
.aboutbody table tbody tr:hover > * { background: #edf5f3 !important; }

.aboutbody table tr:first-child > th,
.aboutbody table tr:first-child > td {
  color: var(--nctcc-white) !important;
  background: var(--nctcc-table-head) !important;
  border-color: rgba(255, 255, 255, .16) !important;
  font-weight: 680 !important;
  text-align: center !important;
}

.aboutbody table tr:first-child > * * {
  color: inherit !important;
  background: transparent !important;
  font-family: inherit !important;
  font-size: inherit !important;
}

.aboutbody table p {
  margin: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  text-align: inherit !important;
}

/* Custom schedule/venue templates keep their own card markup. */
.main-content .nctcc-table-scroll table {
  width: 100% !important;
  min-width: 720px;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: auto !important;
  background: var(--nctcc-white) !important;
}

.main-content .nctcc-table-scroll table tr > th,
.main-content .nctcc-table-scroll table tr > td {
  padding: 14px 16px !important;
  color: var(--nctcc-text) !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid var(--nctcc-line) !important;
  border-bottom: 1px solid var(--nctcc-line) !important;
  font-family: inherit !important;
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  vertical-align: middle !important;
}

.main-content .nctcc-table-scroll table tr > *:last-child { border-right: 0 !important; }
.main-content .nctcc-table-scroll table tr:last-child > * { border-bottom: 0 !important; }
.main-content .nctcc-table-scroll table tbody tr:nth-child(even) > * { background: #f7faf9 !important; }
.main-content .nctcc-table-scroll table tbody tr:hover > * { background: #edf5f3 !important; }

.main-content .nctcc-table-scroll table tr:first-child > th,
.main-content .nctcc-table-scroll table tr:first-child > td {
  color: var(--nctcc-white) !important;
  background: var(--nctcc-table-head) !important;
  border-color: rgba(255, 255, 255, .16) !important;
  font-weight: 680 !important;
  text-align: center !important;
}

.main-content .nctcc-table-scroll table tr:first-child > * * {
  color: inherit !important;
  background: transparent !important;
  font-family: inherit !important;
  font-size: inherit !important;
}

.main-content .nctcc-table-scroll table p {
  margin: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  text-align: inherit !important;
}

/* Every data table follows one alignment rule across CMS and custom pages. */
.aboutbody table tr > th,
.aboutbody table tr > td,
.main-content .nctcc-table-scroll table tr > th,
.main-content .nctcc-table-scroll table tr > td,
.aboutbody table tr > th *,
.aboutbody table tr > td *,
.main-content .nctcc-table-scroll table tr > th *,
.main-content .nctcc-table-scroll table tr > td * {
  text-align: center !important;
}

.main-content .bg-white.rounded-2xl.shadow-xl,
.main-content .border.border-gray-100.rounded-xl.overflow-hidden {
  border-color: var(--nctcc-line) !important;
  border-radius: 20px !important;
  box-shadow: var(--nctcc-shadow-soft) !important;
}

#schedule-overview,
#schedule-detail,
#venue-details {
  scroll-margin-top: 104px;
}

#schedule-overview,
#venue-details {
  color: var(--nctcc-ink) !important;
  background: var(--nctcc-aqua) !important;
}

/* Hyperlink actions */
.nctcc-cta {
  min-width: 190px;
  min-height: 54px;
  margin: 22px 10px 10px 0;
  padding: 14px 22px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: var(--nctcc-white) !important;
  background: linear-gradient(135deg, var(--nctcc-blue), var(--nctcc-teal-dark));
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 14px;
  box-shadow: 0 12px 24px rgba(44, 100, 98, .18);
  font-size: 16px;
  font-weight: 680;
  text-decoration: none !important;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.nctcc-cta:hover {
  color: var(--nctcc-white) !important;
  filter: brightness(1.04);
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(44, 100, 98, .24);
}

.nctcc-cta i { font-size: 13px; transition: transform .2s ease; }
.nctcc-cta:hover i { transform: translateX(4px); }

.nctcc-download-link {
  min-height: 52px;
  margin: 8px 0;
  padding: 13px 17px;
  display: flex !important;
  align-items: center;
  gap: 12px;
  color: var(--nctcc-ink) !important;
  background: var(--nctcc-mist);
  border: 1px solid var(--nctcc-line);
  border-radius: 12px;
  text-decoration: none !important;
  transition: border-color .2s ease, transform .2s ease, background .2s ease;
}

.nctcc-download-link::before {
  content: "\f019";
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: var(--nctcc-teal-dark);
  background: var(--nctcc-aqua);
  border-radius: 9px;
  font-family: FontAwesome;
}

.nctcc-download-link:hover {
  background: var(--nctcc-white);
  border-color: var(--nctcc-sage);
  transform: translateX(4px);
}

/* The abstract template is part of a sentence, not a Download Zone file card. */
.nctcc-page-3 .aboutbody .nctcc-inline-template-link {
  display: inline !important;
  width: auto !important;
  min-height: 0 !important;
  margin: 0 .1em !important;
  padding: 0 !important;
  color: var(--nctcc-teal-dark) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(22, 180, 216, .5) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: inherit !important;
  font-weight: 650;
  line-height: inherit !important;
  text-decoration: none !important;
  vertical-align: baseline;
  white-space: nowrap;
  transform: none !important;
}

.nctcc-page-3 .aboutbody .nctcc-inline-template-link::before,
.nctcc-page-3 .aboutbody .nctcc-inline-template-link::after {
  content: none !important;
  display: none !important;
}

.nctcc-page-3 .aboutbody .nctcc-inline-template-link:hover {
  color: var(--nctcc-blue) !important;
  border-bottom-color: var(--nctcc-blue) !important;
}

.nctcc-question {
  margin-top: 22px !important;
  margin-bottom: 6px !important;
  padding: 14px 18px;
  color: var(--nctcc-ink) !important;
  background: var(--nctcc-aqua);
  border-left: 4px solid var(--nctcc-teal);
  border-radius: 10px;
  font-weight: 680;
  text-align: left !important;
}

.nctcc-answer {
  padding: 0 18px 8px;
  color: var(--nctcc-text) !important;
  text-align: left !important;
}

/* Explicitly retained home exceptions: corrected countdown card and updated timeline palette. */
.countdown-container {
  background: rgba(255, 255, 255, .92) !important;
  border: 1px solid rgba(255, 255, 255, .82) !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 30px rgba(11, 36, 71, .14) !important;
  backdrop-filter: blur(14px);
}

/* Standalone countdown component. The legacy countdown DOM is replaced in JS. */
.nctcc-odometer {
  min-height: 186px;
  padding: 19px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  font-family: "Gotham Local", "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
}

.nctcc-odometer__title {
  margin: 0 0 18px;
  color: rgba(255, 255, 255, .96);
  font-size: 17px;
  font-weight: 650;
  letter-spacing: .05em;
  line-height: 1.4;
}

.nctcc-odometer__grid {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 20px;
}

.nctcc-odometer__unit {
  position: relative;
  min-width: 64px;
  flex: 0 0 auto;
  text-align: center;
}

.nctcc-odometer__unit:nth-child(3)::before,
.nctcc-odometer__unit:nth-child(4)::before {
  content: ":";
  position: absolute;
  top: 12px;
  left: -14px;
  color: rgba(240, 250, 253, .9);
  font-family: "Gotham Local", "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  font-size: 34px;
  font-weight: 600;
  line-height: 1;
  text-shadow: 0 2px 8px rgba(1, 25, 43, .3);
}

.nctcc-odometer__value {
  height: 64px;
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: .015em;
  color: #fff;
  font-family: "Gotham Local", "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  font-size: clamp(34px, 3.15vw, 42px);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  letter-spacing: 0;
  line-height: 1;
  -webkit-box-reflect: below 2px linear-gradient(to bottom, rgba(255, 255, 255, .16) 0%, rgba(255, 255, 255, .06) 22%, transparent 42%);
}

.nctcc-odometer__digit {
  width: .64em;
  height: 100%;
  display: block;
  overflow: hidden;
  contain: strict;
}

.nctcc-odometer__track {
  height: 200%;
  display: flex;
  flex-direction: column;
  transform: translate3d(0, -50%, 0);
  transition: transform .68s linear;
  will-change: transform;
  backface-visibility: hidden;
}

.nctcc-odometer__slot {
  height: 50%;
  flex: 0 0 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: none;
  -webkit-text-fill-color: currentColor;
  text-shadow: 0 2px 10px rgba(2, 35, 65, .32);
}

.nctcc-odometer__digit.is-rolling .nctcc-odometer__track {
  transform: translate3d(0, 0, 0);
}

.nctcc-odometer__digit.is-resetting .nctcc-odometer__track {
  transition: none;
}

.nctcc-odometer__label {
  margin-top: 26px;
  color: rgba(255, 255, 255, .68);
  font-size: 12px;
  font-weight: 550;
  letter-spacing: .14em;
  line-height: 1.25;
}

.nctcc-conference-facts {
  min-height: 131px;
  margin-top: 24px !important;
  padding: 4px 0 !important;
  display: flex;
  align-items: center;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.nctcc-conference-facts > div {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(154px, .9fr);
  align-items: start;
  gap: 18px;
}

.nctcc-conference-fact {
  margin: 0 !important;
  color: #fff !important;
  line-height: 1.4 !important;
}

.nctcc-conference-fact__label {
  margin-bottom: 3px;
  display: block;
  color: rgba(255, 255, 255, .58) !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  letter-spacing: .16em;
}

.nctcc-conference-fact__primary {
  display: block;
  color: #fff !important;
  font-size: 23px !important;
  font-weight: 680 !important;
  letter-spacing: -.025em;
  line-height: 1.18 !important;
}

.nctcc-conference-fact__secondary {
  margin-top: 3px;
  display: block;
  color: rgba(255, 255, 255, .76) !important;
  font-size: 12.5px !important;
  font-weight: 450 !important;
  line-height: 1.4 !important;
}

.nctcc-conference-fact:nth-child(2) .nctcc-conference-fact__primary {
  font-size: 20px !important;
  white-space: nowrap;
}

.timeline-item .bg-primary { background: var(--nctcc-teal) !important; }

.timeline-item span.bg-white {
  color: var(--nctcc-teal-dark) !important;
  border-color: rgba(22, 181, 216, .24) !important;
}

.timeline-item.is-next .timeline-dot { background: var(--nctcc-teal) !important; }
.timeline-item.is-next span.bg-white { color: var(--nctcc-teal-dark) !important; }
.timeline-item.is-opening .timeline-dot { background: var(--nctcc-gold) !important; }
.timeline-item.is-opening span.bg-white { color: #9a7119 !important; }

/* Footer and floating quick actions */
.nctcc-footer {
  padding: 48px 0 110px;
  color: rgba(255, 255, 255, .78);
  background:
    radial-gradient(circle at 85% 20%, rgba(115, 155, 151, .18), transparent 28%),
    linear-gradient(135deg, #173c43 0%, #224f55 52%, #2d5f61 100%);
}

.nctcc-footer-inner {
  width: min(100% - 40px, 1180px);
  margin: 0 auto;
}

.nctcc-footer-brand {
  padding-bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.nctcc-footer-brand img { height: 40px; width: auto; filter: brightness(0) invert(1); opacity: .94; }
.nctcc-wordmark--footer { color: #fff; opacity: .94; }
.nctcc-wordmark--footer strong { font-size: 27px; }
.nctcc-wordmark--footer > span { font-size: 11px; }
.nctcc-footer-brand p { margin: 0; color: rgba(255, 255, 255, .82); font-size: 14px; letter-spacing: .03em; }

.nctcc-footer-meta {
  padding-top: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  color: rgba(255, 255, 255, .62);
  font-size: 12.5px;
}

.nctcc-footer-logos { display: flex; align-items: center; gap: 30px; }
.nctcc-footer-logos img { height: 34px; width: auto; object-fit: contain; filter: brightness(0) invert(1); opacity: .76; }

.fudbut {
  position: fixed !important;
  right: 22px !important;
  bottom: 20px !important;
  z-index: 990 !important;
  width: auto !important;
  padding: 8px !important;
  background: rgba(255, 255, 255, .88) !important;
  border: 1px solid rgba(215, 227, 225, .92);
  border-radius: 16px;
  box-shadow: 0 14px 38px rgba(30, 67, 72, .18);
  backdrop-filter: blur(15px);
}

.fudbut .banner-buttons { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; gap: 8px !important; }

.nctcc-quick-action {
  min-height: 44px;
  padding: 10px 16px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: var(--nctcc-white) !important;
  background: var(--nctcc-teal-dark);
  border: 1px solid var(--nctcc-teal-dark);
  border-radius: 11px !important;
  font-size: 14px;
  font-weight: 650;
  white-space: nowrap;
  text-decoration: none !important;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}

.nctcc-quick-action:nth-child(even) {
  color: var(--nctcc-teal-dark) !important;
  background: var(--nctcc-white);
  border-color: var(--nctcc-line);
}

.nctcc-quick-action:hover { transform: translateY(-2px); filter: brightness(1.03); }
.nctcc-quick-action i { font-size: 11px; }

/* Subtle progressive motion */
.nctcc-reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .55s ease, transform .55s ease;
}

.nctcc-reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1120px) {
  .nctcc-header-inner { gap: 14px; }
  .weatherbox { display: none !important; }
  .nctcc-nav-link, .nctcc-nav-trigger { padding-left: 11px; padding-right: 11px; font-size: 14px; }
}

@media (max-width: 860px) {
  .nctcc-header-inner { width: min(100% - 28px, 760px); min-height: 70px; }
  .nctcc-brand img { height: 40px; }
  .nctcc-desktop-nav { display: none; }
  .nctcc-menu-toggle { display: inline-flex; margin-left: auto; }
  .page-banner { height: 210px !important; }
  .page-banner + section, .main-content > section.py-16 { padding-top: 40px !important; padding-bottom: 56px !important; }
  .aboutbody { border-radius: 18px !important; }
  .nctcc-footer-brand, .nctcc-footer-meta { align-items: flex-start; flex-direction: column; }
  .nctcc-footer-brand p { line-height: 1.7; }
}

@media (max-width: 640px) {
  html { scroll-padding-top: 78px; }
  .nctcc-header-inner { min-height: 64px; }
  .nctcc-brand img { height: 34px; }
  .nctcc-wordmark strong { font-size: 24px; }
  .nctcc-wordmark > span { margin-top: 4px; font-size: 9px; }
  .nctcc-menu-toggle { width: 40px; height: 40px; border-radius: 10px; }
  .page-banner { height: 165px !important; }
  .section-fade-in > h2 { font-size: 25px !important; }
  .section-fade-in > h2 i { width: 34px; height: 34px; }
  .aboutbody { padding: 26px 20px !important; }
  .aboutbody p { font-size: 15.5px !important; line-height: 1.88 !important; }
  .nctcc-table-scroll { width: calc(100% + 4px); margin-left: -2px; border-radius: 12px; }
  .aboutbody table tr > th, .aboutbody table tr > td { padding: 12px 13px !important; font-size: 13.5px !important; }
  .nctcc-cta { width: 100%; margin-right: 0; }
  .fudbut { right: 10px !important; bottom: 10px !important; left: 10px !important; width: auto !important; }
  .fudbut .banner-buttons { width: 100%; }
  .nctcc-quick-action { flex: 1 1 0; padding: 9px 10px !important; font-size: 13px; }
  .nctcc-footer { padding: 42px 0 118px; }
  .nctcc-footer-inner { width: min(100% - 30px, 1180px); }
  .nctcc-footer-logos { gap: 18px; flex-wrap: wrap; }
  .nctcc-footer-logos img { max-width: 42vw; height: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .nctcc-reveal { opacity: 1; transform: none; }
}

/* NCTCC 2026 design system v2: authority, precision and restrained technology */
.aboutbody {
  border: 1px solid var(--nctcc-line) !important;
  border-radius: 12px !important;
  background: var(--nctcc-white) !important;
  box-shadow: var(--nctcc-shadow-soft) !important;
}

.nctcc-footer {
  background: var(--nctcc-ink);
}

.nctcc-btn,
.nctcc-cta {
  min-height: 46px;
  padding: 11px 20px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.35;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, color .2s ease, background .2s ease;
}

.nctcc-btn--primary,
.nctcc-cta {
  color: #fff !important;
  background: var(--nctcc-blue) !important;
  border-color: var(--nctcc-blue) !important;
  box-shadow: 0 6px 18px rgba(11, 95, 165, .14);
}

.nctcc-btn--primary:hover,
.nctcc-cta:hover {
  color: #fff !important;
  background: #094f89 !important;
  border-color: #094f89 !important;
  box-shadow: 0 10px 24px rgba(11, 95, 165, .20);
  transform: translateY(-2px);
}

.nctcc-btn--secondary {
  color: var(--nctcc-blue) !important;
  background: #fff !important;
  border-color: rgba(11, 95, 165, .42) !important;
  box-shadow: none;
}

.nctcc-btn--secondary:hover {
  color: var(--nctcc-ink) !important;
  background: var(--nctcc-aqua) !important;
  border-color: var(--nctcc-teal) !important;
}

.nctcc-btn.is-disabled,
.nctcc-cta.is-disabled,
.nctcc-quick-action.is-disabled {
  color: #7c8998 !important;
  background: #edf1f4 !important;
  border-color: #d9e0e6 !important;
  box-shadow: none !important;
  cursor: not-allowed;
  pointer-events: none;
}

.nctcc-action-panel {
  width: 100%;
  margin: 0 0 24px;
  padding: 22px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  background: #fff;
  border: 1px solid var(--nctcc-line);
  border-left: 3px solid var(--nctcc-teal);
  border-radius: 12px;
  box-shadow: var(--nctcc-shadow-soft);
}

.nctcc-action-summary {
  min-width: 0;
  display: grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  column-gap: 14px;
  row-gap: 8px;
}

.nctcc-action-label {
  color: var(--nctcc-muted);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
}

.nctcc-action-value {
  color: var(--nctcc-ink);
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 700;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}

.nctcc-status {
  grid-column: 1 / -1;
  width: max-content;
  max-width: 100%;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 650;
}

.nctcc-status--open { color: #066e83; background: rgba(22, 181, 216, .12); }
.nctcc-status--coming { color: #7c6121; background: rgba(216, 179, 92, .18); }
.nctcc-status--update { color: var(--nctcc-blue); background: rgba(11, 95, 165, .09); }

.nctcc-section-lead {
  margin-top: 30px !important;
  margin-bottom: 10px !important;
  color: var(--nctcc-blue) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  text-align: left !important;
  text-indent: 0 !important;
}

.nctcc-section-lead * {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

.nctcc-page-3 .aboutbody p:not(.nctcc-section-lead) strong {
  font-weight: 500 !important;
}

/* Editorial pages use flush-left paragraphs; override indentation pasted from CMS. */
.nctcc-page-3 .aboutbody p,
.nctcc-page-20 .aboutbody p,
.nctcc-page-22 .aboutbody p {
  text-indent: 0 !important;
}

.nctcc-action-buttons {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
}

.nctcc-key-dates > .relative {
  min-height: 118px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: start;
}

.nctcc-key-dates > .relative > div:first-child {
  display: block !important;
  top: 61px !important;
  left: 10% !important;
  bottom: auto !important;
  width: 80% !important;
  height: 1px !important;
  background: var(--nctcc-line) !important;
  transform: none !important;
}

.nctcc-key-dates .timeline-item {
  min-width: 0;
  padding: 0 4px !important;
}

.nctcc-key-dates .timeline-item > .flex {
  padding-left: 0 !important;
}

.nctcc-key-dates .timeline-item .w-full {
  margin-top: 0 !important;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
}

.nctcc-key-dates .timeline-item span.bg-white {
  order: -1;
  margin: 0 0 39px !important;
  padding: 0 !important;
  color: var(--nctcc-ink) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.nctcc-key-dates .timeline-item span.text-white {
  color: var(--nctcc-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.4;
}

.nctcc-key-dates .timeline-dot {
  top: 55px !important;
  left: 50% !important;
  width: 13px !important;
  height: 13px !important;
  background: #fff !important;
  border: 3px solid #9eb2c0 !important;
  box-shadow: 0 0 0 4px #fff !important;
  transform: translateX(-50%) !important;
}

.nctcc-key-dates .timeline-item.is-next .timeline-dot {
  border-color: var(--nctcc-teal) !important;
}

.nctcc-key-dates .timeline-item.is-next span.bg-white {
  color: var(--nctcc-teal-dark) !important;
}

.nctcc-key-dates .timeline-item.is-opening .timeline-dot {
  border-color: var(--nctcc-gold) !important;
}

.nctcc-key-dates .timeline-item.is-opening span.bg-white {
  color: #9a7119 !important;
}

body:not(.nctcc-js-ready) .countdown-container > .flex {
  display: none !important;
}

body:not(.nctcc-js-ready) .countdown-container::after {
  content: "会议时间：2026年12月26日至28日";
  display: block;
  color: var(--nctcc-ink);
  text-align: center;
  font-size: 16px;
  font-weight: 600;
}

body.nctcc-js-ready .countdown-container::after { display: none; }

.fudbut {
  border-color: var(--nctcc-line);
  border-radius: 12px;
  box-shadow: var(--nctcc-shadow);
}

.nctcc-quick-action {
  color: var(--nctcc-blue) !important;
  background: #fff;
  border-color: var(--nctcc-line);
  border-radius: 9px !important;
}

.nctcc-quick-action.is-primary,
.nctcc-quick-action:nth-child(even) {
  color: #fff !important;
  background: var(--nctcc-blue);
  border-color: var(--nctcc-blue);
}

@media (max-width: 760px) {
  .nctcc-action-panel {
    padding: 20px;
    align-items: stretch;
    flex-direction: column;
    gap: 18px;
  }

  .nctcc-action-buttons {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }

  .nctcc-action-buttons .nctcc-btn { width: 100%; }

  .nctcc-key-dates > .relative {
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .nctcc-key-dates > .relative > div:first-child {
    top: 10px !important;
    bottom: 10px !important;
    left: 7px !important;
    width: 1px !important;
    height: auto !important;
  }

  .nctcc-key-dates .timeline-item {
    min-height: 58px;
    padding: 0 0 0 32px !important;
  }

  .nctcc-key-dates .timeline-item .w-full {
    flex-direction: row;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
    text-align: left;
  }

  .nctcc-key-dates .timeline-item span.bg-white {
    order: 0;
    margin: 0 !important;
    font-size: 18px !important;
  }

  .nctcc-key-dates .timeline-dot {
    top: 7px !important;
    left: 7px !important;
  }
}

/* Feedback pass: restore original home content presentation and stabilize navigation */
.fixed-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 10000 !important;
  isolation: isolate;
  overflow: visible !important;
}

.nctcc-site-header,
.nctcc-header-inner,
.nctcc-desktop-nav,
.nctcc-nav-group {
  overflow: visible !important;
}

.nctcc-dropdown { z-index: 10001 !important; }
.main-content, .page-banner { position: relative; z-index: 0; }

.nctcc-page-2 .aboutbody {
  padding-top: 28px !important;
}

.nctcc-registration-header-label {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center !important;
}

.nctcc-page-2 .fudbut {
  display: none !important;
}

/* Organization page: consistent rhythm and width-driven name wrapping. */
.nctcc-page-4 .aboutbody > p {
  margin: 0 0 11px !important;
  line-height: 1.86 !important;
  text-align: left !important;
}

.nctcc-page-4 .aboutbody .nctcc-org-heading {
  margin-top: 22px !important;
  margin-bottom: 8px !important;
  color: var(--nctcc-ink) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}

.nctcc-page-4 .aboutbody .nctcc-org-heading:first-child {
  margin-top: 0 !important;
}

.nctcc-page-4 .aboutbody .nctcc-org-role {
  margin-bottom: 9px !important;
  line-height: 1.78 !important;
}

.nctcc-page-4 .aboutbody .nctcc-org-name-list {
  margin: 2px 0 22px !important;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 24px;
  line-height: 1.72 !important;
}

.nctcc-page-4 .aboutbody .nctcc-org-name {
  flex: 0 0 auto;
  color: var(--nctcc-text) !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
  white-space: nowrap;
}

.nctcc-action-panel:not(:has(.nctcc-action-buttons)) {
  justify-content: flex-start;
}

.nctcc-page-13 .aboutbody .nctcc-contact-row,
.nctcc-page-13 .aboutbody .nctcc-contact-row * {
  font-family: Inter, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
}

.nctcc-page-13 .aboutbody .nctcc-contact-heading,
.nctcc-page-13 .aboutbody .nctcc-contact-heading * {
  color: var(--nctcc-ink) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}

/* Hotel page: keep the original information complete and make dense source formatting readable. */
.nctcc-page-22 .nctcc-hotel-table-heading-cell {
  padding: 18px 22px !important;
  text-align: center !important;
}

.nctcc-hotel-table-heading {
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px 12px;
  text-align: center;
}

.nctcc-hotel-table-heading__title,
.nctcc-hotel-table-heading__subtitle {
  display: inline-block;
  color: inherit !important;
  font-family: inherit !important;
  text-align: center !important;
  white-space: nowrap;
}

.nctcc-page-22 .aboutbody table tr:first-child .nctcc-hotel-table-heading__title {
  font-size: 20px !important;
  font-weight: 750 !important;
  line-height: 1.4 !important;
}

.nctcc-page-22 .aboutbody table tr:first-child .nctcc-hotel-table-heading__subtitle {
  font-size: 16px !important;
  font-weight: 550 !important;
  line-height: 1.55 !important;
  opacity: .92;
}

.nctcc-hotel-faq {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--nctcc-line);
}

.nctcc-hotel-faq__title {
  margin: 0 0 10px !important;
  color: var(--nctcc-ink) !important;
  font-size: clamp(25px, 2.6vw, 31px) !important;
  font-weight: 720 !important;
  line-height: 1.4 !important;
  text-align: left;
}

.nctcc-page-22 .aboutbody .nctcc-hotel-faq__title {
  margin: 0 0 8px !important;
}

.nctcc-page-22 .aboutbody .nctcc-hotel-faq__intro {
  margin: 0 0 14px !important;
}

.nctcc-hotel-faq__intro {
  margin: 0 0 16px !important;
  color: var(--nctcc-muted) !important;
  font-size: 15.5px !important;
  line-height: 1.75 !important;
  text-align: left !important;
}

.nctcc-hotel-faq__list {
  display: grid;
  gap: 12px;
}

.nctcc-hotel-faq__item {
  padding: 16px 18px;
  background: #f8fbfd;
  border: 1px solid var(--nctcc-line);
  border-radius: 12px;
}

.nctcc-hotel-faq__question,
.nctcc-hotel-faq__answer {
  margin: 0 !important;
  text-align: left !important;
}

.nctcc-hotel-faq__question {
  color: var(--nctcc-ink) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.65 !important;
}

/* h3 rules in pasted CMS content are more specific; reset their large
   editorial top margin inside the compact Q&A cards. */
.nctcc-page-22 .aboutbody .nctcc-hotel-faq__question {
  margin: 0 !important;
}

.nctcc-hotel-faq__answer {
  margin-top: 8px !important;
  color: var(--nctcc-text) !important;
  font-size: 16px !important;
  line-height: 1.85 !important;
}

.nctcc-hotel-faq__contact {
  margin-top: 22px;
  padding: 18px 22px;
  color: var(--nctcc-text);
  background: #eef6fa;
  border-left: 3px solid var(--nctcc-teal);
  border-radius: 10px;
  font-size: 16px;
  line-height: 1.9;
}

.nctcc-page-22 .aboutbody table .nctcc-hotel-name-cell,
.nctcc-page-22 .aboutbody table .nctcc-hotel-name-cell p {
  text-align: center !important;
  text-indent: 0 !important;
}

/* Contact page: preserve original visual separation while keeping type consistent. */
.nctcc-page-13 .aboutbody .nctcc-contact-row {
  margin: 0 0 7px !important;
  line-height: 1.85 !important;
}

.nctcc-page-13 .aboutbody .nctcc-contact-heading {
  margin: 30px 0 11px !important;
}

.nctcc-page-13 .aboutbody .nctcc-contact-heading:first-child {
  margin-top: 0 !important;
}

.nctcc-page-13 .aboutbody .nctcc-contact-person-end {
  margin-bottom: 18px !important;
}

/* Final editorial polish inspired by ICSM 2026: strong hierarchy, restrained color and consistent rhythm. */
.nctcc-subpage .page-banner {
  height: clamp(190px, 19vw, 260px) !important;
}

.nctcc-subpage .page-banner::after {
  background: linear-gradient(90deg, rgba(11, 36, 71, .12), rgba(11, 95, 165, .08) 45%, rgba(11, 36, 71, .34));
}

.nctcc-subpage .page-banner .banner-image,
.nctcc-subpage .page-banner .fullscreen-video {
  filter: saturate(.74) contrast(.98);
}

.nctcc-subpage .page-banner + section,
.nctcc-subpage .main-content > section.py-16 {
  padding-top: 52px !important;
  background: linear-gradient(180deg, #fbfcfd 0%, var(--nctcc-mist) 100%) !important;
}

.nctcc-subpage .section-fade-in > h2 {
  margin: 0 0 28px !important;
  padding: 0 0 18px;
  display: flex;
  align-items: center;
  color: var(--nctcc-ink) !important;
  border-bottom: 1px solid var(--nctcc-line);
  font-size: clamp(28px, 3vw, 36px) !important;
  font-weight: 720 !important;
  line-height: 1.25;
  letter-spacing: -.025em;
}

.nctcc-subpage .section-fade-in > h2::after {
  content: "NCTCC 2026";
  margin-left: auto;
  color: #8190a2;
  font-family: "Gotham Local", "Helvetica Neue", Arial, sans-serif;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .18em;
}

.nctcc-subpage .section-fade-in > h2 i {
  width: 36px;
  height: 36px;
  margin-right: 15px !important;
  color: var(--nctcc-blue) !important;
  background: #edf5f8;
  border-radius: 8px;
  font-size: 15px;
}

.nctcc-subpage .aboutbody {
  padding: clamp(30px, 4.5vw, 52px) !important;
  border-color: var(--nctcc-line) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 28px rgba(11, 36, 71, .055) !important;
}

.nctcc-subpage .aboutbody p,
.nctcc-subpage .aboutbody li {
  color: var(--nctcc-text) !important;
}

.nctcc-subpage .aboutbody > p:not(.nctcc-section-lead):not(.nctcc-question):not(.nctcc-answer) span {
  color: inherit !important;
  background: transparent !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

.nctcc-subpage .aboutbody strong,
.nctcc-subpage .aboutbody b {
  color: var(--nctcc-ink) !important;
}

.nctcc-subpage .main-content .text-gray-900,
.nctcc-subpage .main-content .text-gray-800,
.nctcc-subpage .main-content .text-black { color: var(--nctcc-ink) !important; }
.nctcc-subpage .main-content .text-gray-700 { color: var(--nctcc-text) !important; }
.nctcc-subpage .main-content .text-gray-600,
.nctcc-subpage .main-content .text-gray-500 { color: var(--nctcc-muted) !important; }

.nctcc-subpage .main-content .bg-white.rounded-2xl.shadow-xl,
.nctcc-subpage .main-content .border.border-gray-100.rounded-xl.overflow-hidden {
  border: 1px solid var(--nctcc-line) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 28px rgba(11, 36, 71, .055) !important;
}

.nctcc-subpage .aboutbody table tr:first-child > th,
.nctcc-subpage .aboutbody table tr:first-child > td,
.nctcc-subpage .main-content .nctcc-table-scroll table tr:first-child > th,
.nctcc-subpage .main-content .nctcc-table-scroll table tr:first-child > td {
  background: var(--nctcc-table-head) !important;
}

.nctcc-subpage .aboutbody table tbody tr:nth-child(even) > *,
.nctcc-subpage .main-content .nctcc-table-scroll table tbody tr:nth-child(even) > * {
  background: var(--nctcc-ivory) !important;
}

.nctcc-page-19 .aboutbody {
  display: grid;
  gap: 16px;
}

.nctcc-page-19 .aboutbody > p {
  margin: 0 !important;
}

.nctcc-page-19 .nctcc-download-link {
  min-height: 72px;
  margin: 0;
  padding: 17px 20px;
  color: var(--nctcc-ink) !important;
  background: #f7fafc;
  border-color: var(--nctcc-line);
  font-size: 16px;
  font-weight: 620;
}

.nctcc-page-19 .nctcc-download-link::after {
  content: attr(data-file-type);
  margin-left: auto;
  padding: 4px 8px;
  color: var(--nctcc-blue);
  background: #e8f2f7;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .08em;
}

/* Live timeline with a collision-safe moving current-time node. */
.nctcc-live-timeline {
  --nctcc-axis-x: 12px;
  position: relative;
  padding-top: 44px;
  padding-bottom: 34px;
}

.nctcc-live-timeline .timeline-item {
  min-height: 82px;
}

.nctcc-live-timeline .nctcc-timeline-base {
  display: block !important;
  left: calc(var(--nctcc-axis-x) - 2px) !important;
  width: 4px !important;
  background: rgba(255, 255, 255, .34) !important;
  border-radius: 999px;
  transform: none !important;
}

.nctcc-timeline-progress {
  position: absolute;
  top: 16px;
  left: calc(var(--nctcc-axis-x) - 2px);
  z-index: 1;
  width: 4px;
  min-height: 0;
  background: #c84545;
  border-radius: 999px;
  transform: none;
  pointer-events: none;
}

.nctcc-live-timeline .timeline-item {
  position: relative;
  z-index: 2;
}

.nctcc-live-timeline .timeline-dot { z-index: 2; }

/* Keep every marker centered on the same axis, including narrow screens. */
.nctcc-live-timeline .timeline-item .timeline-dot {
  left: var(--nctcc-axis-x) !important;
  transform: translateX(-50%) !important;
}

.nctcc-live-timeline .timeline-item.is-complete .timeline-dot {
  background: #c84545 !important;
}

.nctcc-live-timeline .timeline-item.is-complete span.bg-white {
  color: #a33737 !important;
  border-color: rgba(200, 69, 69, .28) !important;
}

.nctcc-current-time {
  position: absolute;
  left: 0;
  z-index: 5;
  width: 100%;
  height: 0;
  pointer-events: none;
}

.nctcc-current-time__dot {
  position: absolute;
  top: 0;
  left: var(--nctcc-axis-x);
  width: 15px;
  height: 15px;
  background: #c84545;
  border: 3px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(200, 69, 69, .18), 0 4px 12px rgba(11, 36, 71, .18);
  transform: translate(-50%, -50%);
  transition: none;
}

.nctcc-current-time__connector {
  position: absolute;
  top: -1px;
  left: calc(var(--nctcc-axis-x) - 30px);
  width: 30px;
  height: 2px;
  display: none;
  background: #c84545;
}

.nctcc-current-time.is-collision .nctcc-current-time__dot {
  margin-left: -30px;
}

.nctcc-current-time.is-collision .nctcc-current-time__connector {
  display: block;
}

.nctcc-current-time__label {
  position: absolute;
  min-width: 118px;
  min-height: 31px;
  padding: 6px 10px;
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: 7px;
  color: #fff;
  background: #b63b3b;
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(84, 24, 24, .2);
  font-size: 12px;
  line-height: 1.25;
  white-space: nowrap;
}

.nctcc-current-time__label strong {
  color: inherit !important;
  font-size: 12px;
  font-weight: 750;
}

.nctcc-current-time__label small {
  color: rgba(255, 255, 255, .84);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

/* Homepage welcome: a calm editorial author row and a balanced two-column rhythm. */
.dierceng .nctcc-welcome-copy {
  display: flex;
  flex-direction: column;
  padding-right: 54px !important;
}

.nctcc-welcome-copy > .max-w-3xl {
  order: 1;
  width: 100%;
  max-width: none !important;
  margin-bottom: 26px !important;
}

.nctcc-welcome-copy > .dahuizc {
  order: 2;
  width: 100% !important;
  margin: 0 0 30px !important;
}

.nctcc-welcome-copy > div[style*="clear"] { display: none !important; }

.nctcc-welcome-copy > .dahuizc > .resource-card {
  display: grid;
  grid-template-columns: 236px minmax(0, 1fr);
  align-items: center;
  gap: 34px;
  width: 100%;
  overflow: visible !important;
}

.nctcc-welcome-copy > .dahuizc > .resource-card > .h-64 {
  width: 236px;
  height: 236px !important;
  border: 0 !important;
  border-radius: 50%;
  box-shadow: 0 12px 28px rgba(3, 34, 77, .2);
}

.nctcc-welcome-copy > .dahuizc > .resource-card > .h-64 img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

.nctcc-welcome-copy > .dahuizc > .resource-card > .card-content {
  padding: 0 !important;
  text-align: left !important;
}

.nctcc-welcome-copy > .dahuizc h3 {
  margin-bottom: 7px;
  font-size: 24px !important;
  line-height: 1.25;
}

.nctcc-welcome-copy > .dahuizc p {
  color: rgba(255, 255, 255, .84) !important;
  font-size: 15px !important;
  letter-spacing: .04em;
}

.nctcc-welcome-copy__text {
  order: 3;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  text-wrap: pretty;
}

/* Balance the right column instead of pushing the welcome copy away from its author. */
.dierceng .grid > div:nth-child(2) > .mt-6.mb-10 {
  margin-top: 6px !important;
  margin-bottom: 14px !important;
}

.dierceng .grid > div:nth-child(2) > .max-w-3xl.mt-10.mb-10 {
  margin-top: 14px !important;
  margin-bottom: 14px !important;
}

.nctcc-cooperation-benefit-line {
  display: block;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

.nctcc-welcome-copy__paragraph {
  margin-bottom: 20px !important;
  text-align: justify;
  text-justify: inter-ideograph;
  line-height: 1.7 !important;
  line-break: strict;
  word-break: normal;
  overflow-wrap: break-word;
}

.nctcc-welcome-copy__paragraph:nth-last-child(2) {
  margin-top: 20px !important;
  margin-bottom: 4px !important;
}

.nctcc-welcome-copy__paragraph:last-child { margin-bottom: 0 !important; }

.nctcc-keep-together { white-space: nowrap; }

/* Schedule page: one rounded card, matching the venue-distribution panel. */
.nctcc-page-9 .nctcc-schedule-overview-card {
  margin-top: 32px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--nctcc-line);
  border-radius: 12px;
  box-shadow: 0 8px 28px rgba(11, 36, 71, .055);
}

.nctcc-page-9 #schedule-overview {
  margin: 0 !important;
  padding: 14px 16px !important;
  color: var(--nctcc-ink) !important;
  border-bottom: 1px solid var(--nctcc-line) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.nctcc-page-9 #schedule-overview + .hctable > p:first-child,
.nctcc-page-9 #schedule-overview + .hctable > p:empty { display: none !important; }

.nctcc-page-9 #schedule-overview + .hctable .nctcc-table-scroll {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.nctcc-page-9 .nctcc-schedule-overview-card .hctable > p:last-child { display: none !important; }

@media (max-width: 760px) {

  .dierceng .nctcc-welcome-copy { padding-right: 0 !important; }

  .nctcc-welcome-copy > .dahuizc > .resource-card {
    grid-template-columns: 122px minmax(0, 1fr);
    gap: 20px;
  }

  .nctcc-welcome-copy > .dahuizc > .resource-card > .h-64 {
    width: 122px;
    height: 122px !important;
  }

  .nctcc-welcome-copy__text { display: block; }

  .nctcc-welcome-copy__paragraph {
    text-align: left;
    text-wrap: pretty;
  }

  .nctcc-welcome-copy__paragraph:nth-last-child(2) { margin-top: 20px !important; }

  .nctcc-page-9 .nctcc-schedule-overview-card { margin-top: 24px; }

  .nctcc-subpage .page-banner { height: 160px !important; }
  .nctcc-subpage .page-banner + section,
  .nctcc-subpage .main-content > section.py-16 { padding-top: 34px !important; }

  .nctcc-subpage .section-fade-in > h2 {
    margin-bottom: 20px !important;
    padding-bottom: 14px;
    font-size: 27px !important;
  }

  .nctcc-subpage .section-fade-in > h2::after { display: none; }
  .nctcc-subpage .aboutbody { padding: 25px 20px !important; }

  .nctcc-page-19 .nctcc-download-link {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .nctcc-page-19 .nctcc-download-link::after {
    margin-left: 46px;
  }

  .nctcc-live-timeline { padding-top: 54px; padding-bottom: 46px; }
  .nctcc-live-timeline .timeline-item { min-height: 86px; }

  /* The CMS carries desktop min-content widths into its grid. Collapse every
     subpage to a true one-column layout before sizing the content within it. */
  .nctcc-subpage .main-content .container > .grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .nctcc-subpage .main-content .lg\:col-span-2,
  .nctcc-subpage .main-content .section-fade-in,
  .nctcc-subpage .main-content .aboutbody,
  .nctcc-subpage .nctcc-action-panel,
  .nctcc-subpage .nctcc-action-summary,
  .nctcc-subpage .nctcc-action-buttons {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .nctcc-subpage .nctcc-action-summary {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .nctcc-subpage .nctcc-action-value,
  .nctcc-subpage .nctcc-status {
    width: auto !important;
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }

  .nctcc-page-10 .section-fade-in > .bg-white,
  .nctcc-page-10 .section-fade-in > .bg-white > *,
  .nctcc-page-10 .section-fade-in iframe {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .nctcc-page-10 .section-fade-in iframe {
    height: auto !important;
    aspect-ratio: 16 / 9;
  }

  /* Mobile tables must be fully visible, not a clipped desktop canvas. */
  .nctcc-subpage .nctcc-table-scroll {
    width: 100% !important;
    margin-left: 0 !important;
    overflow-x: visible !important;
  }

  .nctcc-subpage .aboutbody table,
  .nctcc-subpage .main-content .nctcc-table-scroll table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
  }

  .nctcc-subpage .nctcc-table-scroll colgroup,
  .nctcc-subpage .nctcc-table-scroll col {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .nctcc-subpage .aboutbody table tr > th,
  .nctcc-subpage .aboutbody table tr > td,
  .nctcc-subpage .main-content .nctcc-table-scroll table tr > th,
  .nctcc-subpage .main-content .nctcc-table-scroll table tr > td {
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    padding: 8px 4px !important;
    font-size: 10.5px !important;
    line-height: 1.42 !important;
    white-space: normal !important;
    word-break: break-all;
    overflow-wrap: anywhere;
  }

  .nctcc-subpage .nctcc-table-scroll th > *,
  .nctcc-subpage .nctcc-table-scroll td > * {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: break-all !important;
    overflow-wrap: anywhere !important;
  }

  .nctcc-page-9 .main-content .nctcc-table-scroll table tr > th,
  .nctcc-page-9 .main-content .nctcc-table-scroll table tr > td,
  .nctcc-page-22 .aboutbody table tr > th,
  .nctcc-page-22 .aboutbody table tr > td {
    padding: 7px 2px !important;
    font-size: 9.5px !important;
  }

  .nctcc-cooperation-benefit-line {
    font-size: inherit !important;
    line-height: inherit !important;
    overflow-wrap: anywhere;
  }

  .nctcc-page-4 .aboutbody > p {
    margin-bottom: 10px !important;
    line-height: 1.84 !important;
  }

  .nctcc-page-4 .aboutbody .nctcc-org-heading {
    margin-top: 18px !important;
  }

  .nctcc-page-4 .aboutbody .nctcc-org-name-list {
    margin-bottom: 18px !important;
    gap: 9px 16px;
  }

  .nctcc-page-4 .aboutbody .nctcc-org-name {
    font-size: 15px !important;
    line-height: 1.7 !important;
  }

  .nctcc-odometer {
    min-height: 172px;
    margin-top: 38px;
    padding: 18px 0;
  }

  .nctcc-odometer__title {
    margin-bottom: 14px;
    font-size: 15px;
  }

  .nctcc-odometer__grid { gap: 10px; }

  .nctcc-odometer__unit { min-width: 58px; }

  .nctcc-odometer__unit:nth-child(3)::before,
  .nctcc-odometer__unit:nth-child(4)::before {
    top: 13px;
    left: -8px;
    font-size: 28px;
  }

  .nctcc-odometer__value {
    height: 56px;
    font-size: 30px;
  }

  .nctcc-odometer__label {
    margin-top: 22px;
    font-size: 11px;
  }

  .nctcc-conference-facts {
    min-height: 0;
    margin-top: 14px !important;
    padding: 8px 0 16px !important;
  }

  .nctcc-conference-facts > div {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .nctcc-conference-fact:nth-child(2) .nctcc-conference-fact__primary {
    font-size: 23px !important;
    white-space: normal;
  }

  .nctcc-conference-fact__primary { font-size: 23px !important; }
  .nctcc-conference-fact__secondary { font-size: 14px !important; }

  .nctcc-hotel-table-heading {
    flex-direction: column;
    align-items: center;
    gap: 4px;
  }

  .nctcc-hotel-table-heading__title,
  .nctcc-hotel-table-heading__subtitle {
    white-space: normal;
  }

  .nctcc-hotel-faq { margin-top: 20px; padding-top: 16px; }
  .nctcc-hotel-faq__item { padding: 17px 16px; }
  .nctcc-hotel-faq__contact { padding: 16px; }

  .fixed-header { top: 0 !important; }
}
/* Partner logo composition: two primary organizations above, three partners below. */
#sponsors {
  isolation: isolate;
}

#sponsors .flex.flex-wrap {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: center;
  gap: 2.75rem 3rem;
  width: min(100%, 1120px);
  margin-inline: auto;
}

#sponsors .sponsor-item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

#sponsors .sponsor-item:nth-child(1) {
  grid-column: 4 / span 3;
}

#sponsors .sponsor-item:nth-child(2) {
  grid-column: 7 / span 3;
}

#sponsors .sponsor-item:nth-child(3) {
  grid-column: 1 / span 4;
}

#sponsors .sponsor-item:nth-child(4) {
  grid-column: 5 / span 4;
}

#sponsors .sponsor-item:nth-child(5) {
  grid-column: 9 / span 4;
}

#sponsors .sponsor-item img {
  width: 100% !important;
  height: 72px !important;
  max-width: 390px;
  object-fit: contain;
}

#sponsors .sponsor-item:nth-child(2) img {
  max-width: 280px;
}

#sponsors .sponsor-item:nth-child(n + 3) img {
  max-width: 300px;
  background: transparent !important;
  mix-blend-mode: normal;
}

/* Preserve the transparent-logo treatment in every interactive state. */
#sponsors .sponsor-item:nth-child(n + 3),
#sponsors .sponsor-item:nth-child(n + 3):hover,
#sponsors .sponsor-item:nth-child(n + 3):focus,
#sponsors .sponsor-item:nth-child(n + 3):focus-visible {
  background: transparent !important;
  box-shadow: none !important;
}

#sponsors .sponsor-item:nth-child(n + 3)::before,
#sponsors .sponsor-item:nth-child(n + 3)::after {
  background: transparent !important;
  box-shadow: none !important;
}

#sponsors .sponsor-item:nth-child(n + 3):hover img,
#sponsors .sponsor-item:nth-child(n + 3):focus img,
#sponsors .sponsor-item:nth-child(n + 3):focus-visible img {
  background: transparent !important;
  mix-blend-mode: normal !important;
}

/* Five partner marks on the first hero slide only. */
#home.carousel .nctcc-hero-partners {
  position: absolute;
  top: 36%;
  left: 50%;
  right: auto;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: center;
  gap: 13px 10px;
  width: min(52vw, 720px);
  opacity: 0;
  visibility: hidden;
  transform: translate3d(-50%, 8px, 0);
  transition: opacity .36s ease, transform .36s ease, visibility 0s linear .36s;
  pointer-events: none;
}

#home.carousel .nctcc-hero-first-active .nctcc-hero-partners {
  opacity: .94;
  visibility: visible;
  transform: translate3d(-50%, 0, 0);
  transition-delay: 0s;
  pointer-events: auto;
}

#home.carousel .nctcc-hero-partners a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  background: transparent !important;
  box-shadow: none !important;
  transition: opacity .2s ease, transform .2s ease;
}

#home.carousel .nctcc-hero-partners a:nth-child(1) {
  grid-column: 4 / span 3;
}

#home.carousel .nctcc-hero-partners a:nth-child(2) {
  grid-column: 7 / span 3;
}

#home.carousel .nctcc-hero-partners a:nth-child(3) {
  grid-column: 1 / span 4;
}

#home.carousel .nctcc-hero-partners a:nth-child(4) {
  grid-column: 5 / span 4;
}

#home.carousel .nctcc-hero-partners a:nth-child(5) {
  grid-column: 9 / span 4;
}

#home.carousel .nctcc-hero-partners a:hover,
#home.carousel .nctcc-hero-partners a:focus-visible {
  opacity: 1;
  transform: translateY(-2px);
}

#home.carousel .nctcc-hero-partners img {
  display: block;
  width: 100%;
  height: 34px;
  object-fit: contain;
  filter: brightness(0) invert(1) drop-shadow(0 2px 5px rgba(0, 27, 62, .38));
}

#home.carousel .nctcc-hero-partners a:nth-child(n + 3) img {
  height: 30px;
}

@media (max-width: 767px) {
  #sponsors .flex.flex-wrap {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem 1rem;
  }

  #sponsors .sponsor-item:nth-child(n) {
    grid-column: auto;
  }

  #sponsors .sponsor-item:last-child {
    grid-column: 1 / -1;
  }

  #sponsors .sponsor-item img {
    height: 58px !important;
    max-width: 100%;
  }

  #sponsors .sponsor-item:last-child img {
    max-width: 280px;
  }

  #home.carousel .nctcc-hero-partners {
    top: 35%;
    left: 50%;
    right: auto;
    width: 92%;
    gap: 10px 6px;
  }

  #home.carousel .nctcc-hero-partners img {
    height: 27px;
  }

  #home.carousel .nctcc-hero-partners a:nth-child(n + 3) img {
    height: 23px;
  }
}

@media (max-width: 479px) {
  #sponsors .flex.flex-wrap {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  #sponsors .sponsor-item:last-child {
    grid-column: auto;
  }

  #sponsors .sponsor-item img {
    height: 62px !important;
    max-width: 310px;
  }
}

#home.carousel .swiper-slide.nctcc-hero-artwork-first::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(2, 29, 60, .20) 0%, rgba(2, 29, 60, .14) 100%);
}

.nctcc-video-credit {
  margin: 8px 0 0;
  color: rgba(255, 255, 255, .72);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .04em;
  text-align: center;
}

#sponsors .flex.flex-wrap { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 980px; max-width: 100%; gap: 2.75rem 3rem; margin-inline: auto; }
#sponsors .sponsor-item:nth-child(n) { grid-column: auto; background: transparent !important; box-shadow: none !important; }
#sponsors .sponsor-item:nth-child(n) img { width: 100% !important; height: 72px !important; max-width: 300px; object-fit: contain; background: transparent !important; mix-blend-mode: normal !important; }
@media (max-width: 767px) { #sponsors .flex.flex-wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); } #sponsors .sponsor-item:last-child { grid-column: 1 / -1; } }
@media (max-width: 479px) { #sponsors .flex.flex-wrap { grid-template-columns: 1fr; } #sponsors .sponsor-item:last-child { grid-column: auto; } }
.nctcc-hero-cohosts{display:inline-grid;grid-template-columns:auto auto;align-items:start;gap:0 4px;margin-top:5px;font-size:clamp(11px,.9vw,15px);font-weight:450;line-height:1.5;text-align:left}
.nctcc-hero-cohosts b{font-weight:650;white-space:nowrap}
.nctcc-hero-cohost-list span{display:block;white-space:nowrap}
@media(max-width:480px){.nctcc-hero-cohosts{margin-top:4px;font-size:9px;line-height:1.35}}
.nctcc-video-credit{text-align:left}
#home.carousel .nctcc-hero-partners{top:48%}
.nctcc-hero-brand{top:62%}
@media(max-width:900px){.nctcc-hero-brand{top:62%}}
@media(max-width:767px){#home.carousel .nctcc-hero-partners{top:49%}}
@media(max-width:640px){.nctcc-hero-brand{top:65%}}
#home.carousel .nctcc-hero-partners{top:46.5%}
.nctcc-hero-brand{top:60.5%}
@media(max-width:900px){.nctcc-hero-brand{top:60.5%}}
@media(max-width:767px){#home.carousel .nctcc-hero-partners{top:47.5%}}
@media(max-width:640px){.nctcc-hero-brand{top:63.5%}}
.nctcc-hero-hosts{width:min(100%,420px);margin-right:auto;margin-left:auto;text-align:left}
.nctcc-hero-hosts>div{display:grid;grid-template-columns:5.5em minmax(0,1fr);align-items:baseline}
.nctcc-hero-cohosts{display:grid;grid-template-columns:5.5em minmax(0,1fr);width:min(100%,420px);margin-right:auto;margin-left:auto;text-align:left}
.nctcc-hero-hosts,.nctcc-hero-cohosts{position:relative;left:10px}
#home.carousel .nctcc-hero-partners{top:calc(46.5% - 10px)}
.nctcc-hero-brand{top:calc(60.5% - 20px)}
@media(max-width:900px){.nctcc-hero-brand{top:calc(60.5% - 20px)}}
@media(max-width:767px){#home.carousel .nctcc-hero-partners{top:calc(47.5% - 10px)}}
@media(max-width:640px){.nctcc-hero-brand{top:calc(63.5% - 20px)}}
.nctcc-hero-hosts,.nctcc-hero-cohosts{left:20px}
#home.carousel .nctcc-hero-partners{top:calc(46.5% - 20px)}
.nctcc-hero-brand{top:calc(60.5% - 40px)}
@media(max-width:900px){.nctcc-hero-brand{top:calc(60.5% - 40px)}}
@media(max-width:767px){#home.carousel .nctcc-hero-partners{top:calc(47.5% - 20px)}}
@media(max-width:640px){.nctcc-hero-brand{top:calc(63.5% - 40px)}}
.nctcc-hero-hosts,.nctcc-hero-cohosts{top:-10px}
#home.carousel .nctcc-hero-partners{grid-template-columns:repeat(10,minmax(0,1fr))}
#home.carousel .nctcc-hero-partners a:nth-child(1){grid-column:3/span 3}
#home.carousel .nctcc-hero-partners a:nth-child(2){grid-column:6/span 3}
#home.carousel .nctcc-hero-partners a:nth-child(3){grid-column:3/span 2}
#home.carousel .nctcc-hero-partners a:nth-child(4){grid-column:5/span 2}
#home.carousel .nctcc-hero-partners a:nth-child(5){grid-column:7/span 2}
@media(max-width:767px){#home.carousel .nctcc-hero-partners{grid-template-columns:repeat(6,minmax(0,1fr))}#home.carousel .nctcc-hero-partners a:nth-child(1){grid-column:1/span 3}#home.carousel .nctcc-hero-partners a:nth-child(2){grid-column:4/span 3}#home.carousel .nctcc-hero-partners a:nth-child(3){grid-column:1/span 2}#home.carousel .nctcc-hero-partners a:nth-child(4){grid-column:3/span 2}#home.carousel .nctcc-hero-partners a:nth-child(5){grid-column:5/span 2}}
@media(min-width:768px){#home.carousel .nctcc-hero-partners a:nth-child(3){position:relative;left:10px}#home.carousel .nctcc-hero-partners a:nth-child(4){position:relative;left:12px}#home.carousel .nctcc-hero-partners a:nth-child(5){position:relative;left:-10px}#sponsors .sponsor-item:nth-child(1){position:relative;left:21px}#sponsors .sponsor-item:nth-child(2){position:relative;left:23px}#sponsors .sponsor-item:nth-child(3){position:relative;left:-21px}}
@media(min-width:768px){#home.carousel .nctcc-hero-partners a:nth-child(1){position:relative;left:20px}#home.carousel .nctcc-hero-partners a:nth-child(2){position:relative;left:-20px}}
.nctcc-page-9 .nctcc-schedule-period{min-width:72px;vertical-align:middle!important;white-space:nowrap;font-weight:700!important;letter-spacing:.08em}
#home.carousel .swiper-slide.nctcc-hero-artwork-first::after{background:transparent!important}#home.carousel .nctcc-hero-overlay{display:none!important}
#home.carousel{height:auto!important;min-height:0!important;max-height:calc(100vh - 75px);aspect-ratio:3000/1432;background:#075ca8}#home.carousel .swiper-mbanner,#home.carousel .swiper-wrapper,#home.carousel .swiper-slide{height:100%!important;min-height:0!important}#home.carousel .swiper-slide{background-position:center center!important;background-size:contain!important;background-repeat:no-repeat!important}
#home.carousel{height:100vh!important;min-height:100vh!important;max-height:none!important;aspect-ratio:auto!important}#home.carousel .swiper-mbanner,#home.carousel .swiper-wrapper,#home.carousel .swiper-slide{height:100%!important;min-height:0!important}#home.carousel .swiper-slide{background-position:center top!important;background-size:cover!important;background-repeat:no-repeat!important}
@media(max-width:900px){#home.carousel{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:16/9!important}#home.carousel .swiper-mbanner,#home.carousel .swiper-wrapper,#home.carousel .swiper-slide{height:100%!important;min-height:0!important}#home.carousel .swiper-slide{background-position:center top!important;background-size:100% 100%!important;background-repeat:no-repeat!important}}
@media(min-width:901px){#home.carousel{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:3000/1432!important}#home.carousel .swiper-mbanner,#home.carousel .swiper-wrapper,#home.carousel .swiper-slide{height:100%!important;min-height:0!important}#home.carousel .swiper-slide{background-position:center top!important;background-size:100% auto!important;background-repeat:no-repeat!important}}

/* Viewport-anchored homepage down cue. */
.putdownbut.nctcc-viewport-downcue {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  top: auto !important;
  bottom: clamp(54px, 8vh, 88px) !important;
  margin: 0 !important;
  z-index: 1200 !important;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  animation: none !important;
  transform: translateX(-50%) !important;
  transition: opacity .22s ease, visibility .22s ease, transform .22s ease;
}

.putdownbut.nctcc-viewport-downcue.nctcc-downcue-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translate(-50%, 10px) !important;
}

/* Six academicians share the first keynote-speaker row on desktop. */
@media (min-width: 1100px) {
  .nctcc-academician-row {
    gap: 16px !important;
    justify-content: center !important;
  }

  .nctcc-academician-row > .resource-card {
    flex: 0 0 calc((100% - 80px) / 6) !important;
    width: calc((100% - 80px) / 6) !important;
    min-width: 0 !important;
  }
}

/* Supplied 9-7 artwork: preserve the existing navigation and countdown behavior. */
body.nctcc-redesign .nctcc-brand .nctcc-brand-artwork {
  display:block!important;width:260px!important;max-width:100%;height:auto!important;
  object-fit:contain;filter:none!important;
}
body.nctcc-redesign .nctcc-footer {background:#005bac!important;background-image:none!important;}
.nctcc-footer .nctcc-footer-brand-artwork {display:block;width:260px;max-width:100%;height:auto;filter:none!important;}
body.nctcc-redesign .nctcc-odometer__grid {
  background:transparent;border-radius:0;padding:12px 8px 28px;
}
body.nctcc-redesign.nctcc-subpage .page-banner {
  height:auto!important;min-height:0!important;max-height:none!important;
  aspect-ratio:3000 / 495;overflow:hidden;background:#005bac;
}
body.nctcc-redesign.nctcc-subpage .page-banner .banner-image {
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:contain!important;object-position:center!important;filter:none!important;
  transform:none!important;opacity:1!important;
}
body.nctcc-redesign.nctcc-subpage .page-banner::after,
body.nctcc-redesign.nctcc-subpage .page-banner::before,
body.nctcc-redesign.nctcc-subpage .page-banner .banner-overlay {display:none!important;}
@media(max-width:767px){
  body.nctcc-redesign .nctcc-brand .nctcc-brand-artwork {width:210px!important;}
}
@media(max-width:479px){
  body.nctcc-redesign .nctcc-brand .nctcc-brand-artwork {width:175px!important;}
  body.nctcc-redesign .nctcc-odometer__grid {padding-left:4px;padding-right:4px;}
}

/* Unified active blue CTA color; retain disabled and secondary styles. */
body.nctcc-redesign .nctcc-btn--primary:not(.is-disabled),body.nctcc-redesign .nctcc-cta:not(.is-disabled),body.nctcc-redesign .nctcc-quick-action.is-primary:not(.is-disabled),body.nctcc-redesign .nctcc-quick-action:nth-child(even):not(.is-disabled){background:rgb(0,112,192)!important;border-color:rgb(0,112,192)!important;color:#fff!important;filter:none!important}

.nctcc-footer-logos .nctcc-footer-logo-link{display:inline-flex;align-items:center;justify-content:center;max-width:100%;flex:0 1 auto}.nctcc-footer-logos .nctcc-footer-logo-link:focus-visible{outline:2px solid white;outline-offset:5px;border-radius:3px}
