/*
  同盟门户 · 项目自有内容层
  规则：只承载 TCWF 基座未覆盖的项目内容排版（人员卡、榜单、图表容器、页脚等）。
  一律引用 foundation.css 的 token，禁止新增第二套配色/圆角/阴影体系。
*/

/* ═══ 品牌名较长，窄屏收敛字号，避免与控件挤压 ═══ */
@media (max-width: 600px) {
  .tcwf-portal-header__mobile-brand {
    font-size: 15px;
  }
}

@media (max-width: 380px) {
  .tcwf-portal-header__mobile-brand {
    font-size: 14px;
  }
}

/*
  ═══ 触达尺寸修正（无障碍 44px 底线） ═══
  基座的 `.tcwf-root button { font: inherit }`（0,1,1）会盖掉
  `.tcwf-tabs__tab { line-height: 50px }`（0,1,0），导致所有 tab 塌缩到 20px。
  这里用同等特异性把行高与最小高度补回，不改基座文件本身。
*/
.tcwf-root .tcwf-tabs__tab {
  min-height: 44px;
  line-height: 44px;
}

@media (max-width: 768px) {
  .tcwf-root .tcwf-tabs__tab {
    /* 基座在窄屏改为 26px 行高 + 下内边距，这里只保底高度，保留其视觉形态 */
    min-height: 44px;
    line-height: 26px;
  }
}

/* 页脚导航为纯文本链接，撑到 44px 保证可点区域 */
.tm-footer__links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

/* 跳转链接聚焦时也要满足触达尺寸 */
.tcwf-root .tcwf-skip-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

/* ═══ 页脚（基座无footer 骨架，用SectionFrame 语法自建，仅用基座 token） ═══ */
.tm-footer {
  border-top: 1px solid var(--tcwf-border);
  background: var(--tcwf-surface-2);
}

.tm-footer__inner {
  max-width: var(--tcwf-container);
  margin: 0 auto;
  padding: 40px var(--tcwf-gutter);
  text-align: center;
}

.tm-footer__brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.tm-footer__brand img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.tm-footer__brand span {
  color: var(--tcwf-ink-800);
  font-size: 14px;
  font-weight: 500;
}

.tm-footer__slogan {
  margin: 0;
  color: var(--tcwf-ink-500);
  font-size: 14px;
  line-height: 24px;
}

.tm-footer__stamp {
  margin: 8px 0 0;
  color: var(--tcwf-ink-300);
  font-size: 12px;
  line-height: 20px;
}

.tm-footer__record {
  margin: 4px 0 0;
  font-size: 12px;
  line-height: 20px;
}

.tm-footer__record a {
  color: var(--tcwf-ink-300);
}

.tm-footer__record a:hover {
  color: var(--tcwf-blue-600);
}

.tm-footer__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 20px;
  margin-top: 16px;
}

.tm-footer__links a {
  color: var(--tcwf-ink-500);
  font-size: 13px;
  line-height: 22px;
}

.tm-footer__links a:hover {
  color: var(--tcwf-blue-600);
}

/* ═══ 人员卡（主席顾问团 / 名人堂） ═══ */
.tm-person-grid {
  display: grid;
  gap: 20px;
}

.tm-person-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tm-person {
  min-width: 0;
  border: 1px solid var(--tcwf-border);
  background: #fff;
  box-shadow: var(--tcwf-shadow-card);
  transition: box-shadow 200ms linear;
}

@media (hover: hover) {
  .tm-person:hover {
    box-shadow: var(--tcwf-shadow-card-hover);
  }
}

.tm-person__media {
  position: relative;
  overflow: hidden;
  background: var(--tcwf-surface-2);
}

.tm-person__media img {
  width: 100%;
  aspect-ratio: 1 / 1.1;
  object-fit: cover;
  object-position: top center;
}

.tm-person__bio {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 16px;
  color: #fff;
  background: rgba(24, 36, 58, 0.86);
  font-size: 12px;
  line-height: 22px;
  opacity: 0;
  overflow: auto;
  transition: opacity var(--tcwf-duration-state) var(--tcwf-ease-toggle);
}

@media (hover: hover) {
  .tm-person:hover .tm-person__bio,
  .tm-person:focus-within .tm-person__bio {
    opacity: 1;
  }
}

.tm-person__body {
  padding: 16px;
}

.tm-person__name {
  margin: 0;
  color: var(--tcwf-ink-900);
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}

.tm-person__title {
  margin: 4px 0 0;
  color: var(--tcwf-ink-500);
  font-size: 13px;
  line-height: 22px;
}

/* 名人堂：紧凑头像卡 */
.tm-person-grid--compact {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tm-person--compact {
  padding: 20px;
  text-align: center;
}

.tm-person--compact img {
  width: 72px;
  height: 72px;
  margin: 0 auto 12px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top center;
  background: var(--tcwf-surface-2);
}

/* 移动端「经历」在触屏不可 hover，改为常显折叠说明 */
.tm-person__bio-static {
  display: none;
  padding: 0 16px 16px;
  color: var(--tcwf-ink-500);
  font-size: 12px;
  line-height: 22px;
}

/* ═══ 列表（文章 / 活动 / 排行行） ═══ */
.tm-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tm-list__item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  border: 1px solid var(--tcwf-border);
  background: #fff;
  box-shadow: var(--tcwf-shadow-card);
  transition: box-shadow 200ms linear;
}

@media (hover: hover) {
  .tm-list__item:hover {
    box-shadow: var(--tcwf-shadow-card-hover);
  }

  .tm-list__item:hover .tm-list__title {
    color: var(--tcwf-blue-600);
  }
}

.tm-list__rank {
  flex: 0 0 auto;
  display: flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  color: var(--tcwf-blue-600);
  background: var(--tcwf-info-bg);
  font-size: 14px;
  font-weight: 500;
}

.tm-list__body {
  flex: 1;
  min-width: 0;
}

.tm-list__title {
  color: var(--tcwf-ink-900);
  font-size: 15px;
  font-weight: 500;
  line-height: 24px;
  transition: color 200ms linear;
}

.tm-list__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  margin-top: 8px;
  color: var(--tcwf-ink-500);
  font-size: 12px;
  line-height: 20px;
}

.tm-list__thumb {
  flex: 0 0 auto;
  width: 96px;
  height: 64px;
  object-fit: cover;
  background: var(--tcwf-surface-2);
}

.tm-list__empty {
  padding: 48px 0;
  color: var(--tcwf-ink-400);
  font-size: 14px;
  text-align: center;
}

/* ═══ 标签（地区 / 类型 / 分数） ═══ */
.tm-tag {
  display: inline-flex;
  align-items: center;
  padding: 1px 8px;
  border: 1px solid transparent;
  font-size: 12px;
  line-height: 20px;
}

.tm-tag--info {
  color: var(--tcwf-blue-600);
  background: var(--tcwf-info-bg);
}

.tm-tag--neutral {
  color: var(--tcwf-ink-500);
  background: var(--tcwf-surface-2);
  border-color: var(--tcwf-border);
}

.tm-tag--success {
  color: #0a8f47;
  background: var(--tcwf-success-bg);
}

.tm-tag--score {
  margin-left: auto;
  color: #8a5a00;
  background: #fdf1d6;
}

/* ═══ KPI 指标块 ═══ */
.tm-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.tm-kpi {
  padding: 24px;
  border: 1px solid var(--tcwf-border);
  background: #fff;
  box-shadow: var(--tcwf-shadow-card);
}

.tm-kpi__label {
  margin: 0;
  color: var(--tcwf-ink-500);
  font-size: 14px;
  line-height: 22px;
}

.tm-kpi__value {
  margin: 12px 0 0;
  color: var(--tcwf-ink-900);
  font-size: 32px;
  font-weight: 500;
  line-height: 42px;
}

.tm-kpi__hint {
  margin: 4px 0 0;
  color: var(--tcwf-ink-400);
  font-size: 12px;
  line-height: 20px;
}

.tm-kpi__hint strong {
  color: var(--tcwf-success);
  font-weight: 500;
}

/* ═══ 图表容器 ═══ */
.tm-panel {
  padding: 24px;
  border: 1px solid var(--tcwf-border);
  background: #fff;
  box-shadow: var(--tcwf-shadow-card);
}

.tm-panel__title {
  margin: 0 0 20px;
  color: var(--tcwf-ink-900);
  font-size: 18px;
  font-weight: 500;
  line-height: 28px;
}

.tm-panel-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.tm-chart {
  width: 100%;
}

/* ═══ 数据表 ═══ */
.tm-table-scroll {
  overflow-x: auto;
}

.tm-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.tm-table th {
  padding: 0 16px 12px 0;
  border-bottom: 1px solid var(--tcwf-border);
  color: var(--tcwf-ink-500);
  font-weight: 400;
  text-align: left;
  white-space: nowrap;
}

.tm-table td {
  padding: 12px 16px 12px 0;
  border-bottom: 1px solid var(--tcwf-surface-3);
  color: var(--tcwf-ink-700);
  white-space: nowrap;
}

.tm-table th:last-child,
.tm-table td:last-child {
  padding-right: 0;
}

.tm-table .tm-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* ═══ 筛选条═══ */
.tm-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--tcwf-border);
  background: #fff;
}

.tm-filter input[type="search"],
.tm-filter input[type="text"],
.tm-filter select {
  min-height: 44px; /* 无障碍触达底线 */
  padding: 0 12px;
  border: 1px solid var(--tcwf-border);
  border-radius: var(--tcwf-radius);
  color: var(--tcwf-ink-700);
  background: #fff;
  font-size: 14px;
}

.tm-filter input:focus-visible,
.tm-filter select:focus-visible {
  outline: 2px solid var(--tcwf-blue-600);
  outline-offset: 1px;
}

.tm-filter__count {
  margin-left: auto;
  color: var(--tcwf-ink-500);
  font-size: 14px;
}

.tm-filter__count strong {
  color: var(--tcwf-blue-600);
  font-weight: 500;
}

/* ═══ 分段筛选按钮（活动类型 / 排行时间窗） ═══ */
.tm-segment {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tm-segment__button {
  min-height: 44px; /* 无障碍触达底线 */
  padding: 0 16px;
  border: 1px solid var(--tcwf-border);
  border-radius: var(--tcwf-radius);
  color: var(--tcwf-ink-700);
  background: #fff;
  font-size: 14px;
  cursor: pointer;
  transition: color 200ms linear, border-color 200ms linear;
}

.tm-segment__button[aria-pressed="true"] {
  color: #fff;
  border-color: var(--tcwf-blue-600);
  background: var(--tcwf-blue-600);
}

.tm-segment__button:focus-visible {
  outline: 2px solid var(--tcwf-blue-600);
  outline-offset: 2px;
}

/* ═══ 区块内的头尾行（标题 + 右侧“查看全部”） ═══ */
.tm-section-bar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}

.tm-section-bar__title {
  margin: 0;
  color: var(--tcwf-ink-900);
  font-size: 24px;
  font-weight: 500;
  line-height: 34px;
}

.tm-section-bar__hint {
  margin: 4px 0 0;
  color: var(--tcwf-ink-500);
  font-size: 14px;
  line-height: 22px;
}

/* ═══ 地区双入口卡 ═══ */
.tm-region-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.tm-region {
  padding: 24px;
  border: 1px solid var(--tcwf-border);
  background: #fff;
  box-shadow: var(--tcwf-shadow-card);
  transition: box-shadow 200ms linear;
}

@media (hover: hover) {
  .tm-region:hover {
    box-shadow: var(--tcwf-shadow-card-hover);
  }
}

.tm-region__name {
  margin: 0;
  color: var(--tcwf-ink-900);
  font-size: 20px;
  font-weight: 500;
  line-height: 30px;
}

.tm-region__desc {
  margin: 4px 0 20px;
  color: var(--tcwf-ink-400);
  font-size: 13px;
  line-height: 22px;
}

.tm-region__actions {
  display: flex;
  gap: 12px;
}

.tm-region__actions .tcwf-action {
  flex: 1;
  justify-content: center;
}

/* ═══ 期刊封面 ═══ */
.tm-journal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  justify-items: center;
}

.tm-journal {
  width: 100%;
  max-width: 280px;
  text-align: center;
}

.tm-journal__cover {
  display: block;
  border: 1px solid var(--tcwf-border);
  background: #fff;
  box-shadow: var(--tcwf-shadow-card);
  transition: box-shadow 200ms linear;
}

@media (hover: hover) {
  .tm-journal__cover:hover {
    box-shadow: var(--tcwf-shadow-card-hover);
  }
}

.tm-journal__cover img {
  width: 100%;
  height: auto;
}

.tm-journal__link {
  display: inline-flex;
  margin-top: 12px;
}

/* ═══ 标签云 ═══ */
.tm-tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* ═══ 作者榜卡 ═══ */
.tm-author-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.tm-author {
  padding: 20px;
  border: 1px solid var(--tcwf-border);
  background: #fff;
  box-shadow: var(--tcwf-shadow-card);
}

.tm-author__head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.tm-author__rank {
  display: flex;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  color: var(--tcwf-blue-600);
  background: var(--tcwf-info-bg);
  font-size: 18px;
  font-weight: 500;
}

.tm-author__rank--top {
  color: #fff;
  background: var(--tcwf-blue-600);
}

.tm-author__name {
  margin: 0;
  color: var(--tcwf-ink-900);
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tm-author__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
  text-align: center;
}

.tm-author__stat-value {
  color: var(--tcwf-ink-900);
  font-size: 20px;
  font-weight: 500;
  line-height: 30px;
}

.tm-author__stat-label {
  color: var(--tcwf-ink-500);
  font-size: 12px;
  line-height: 20px;
}

/* ═══ 申请条件清单 ═══ */
.tm-check-list {
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

.tm-check-list li {
  position: relative;
  padding: 0 0 12px 28px;
  color: var(--tcwf-ink-500);
  font-size: 14px;
  line-height: 24px;
}

.tm-check-list li img {
  position: absolute;
  top: 4px;
  left: 0;
  width: 16px;
  height: 16px;
}

/* ═══ 统计角标（关于同盟图片上的144+） ═══ */
.tm-figure {
  position: relative;
}

.tm-figure img {
  width: 100%;
  height: auto;
  border: 1px solid var(--tcwf-border);
}

.tm-figure__stat {
  position: absolute;
  right: 16px;
  bottom: 16px;
  padding: 12px 16px;
  border: 1px solid var(--tcwf-border);
  background: #fff;
  box-shadow: var(--tcwf-shadow-card);
}

.tm-figure__stat-value {
  color: var(--tcwf-blue-600);
  font-size: 24px;
  font-weight: 500;
  line-height: 32px;
}

.tm-figure__stat-label {
  color: var(--tcwf-ink-500);
  font-size: 12px;
  line-height: 20px;
}

/* ═══ 数据面板内的地区切换（沿用基座segment 语法） ═══ */
.tm-region-panel {
  margin-top: 20px;
}

.tm-region-panel__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.tm-region-panel__stat {
  padding: 16px;
  border: 1px solid var(--tcwf-border);
  background: var(--tcwf-surface-1);
}

/* ═══ 二维码弹窗内容（基座 dialog 之内） ═══ */
.tm-qr {
  margin: 0;
  text-align: center;
}

.tm-qr img {
  width: 200px;
  height: 200px;
  margin: 0 auto 12px;
  border: 1px solid var(--tcwf-border);
}

.tm-qr figcaption {
  color: var(--tcwf-ink-950);
  font-size: 14px;
  font-weight: 600;
  line-height: 22px;
}

.tm-qr figcaption span {
  color: var(--tcwf-ink-500);
  font-weight: 400;
}

.tm-qr-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 20px;
}

/* ═══ 新人指南：hero 眉标 ═══ */
.tm-eyebrow {
  margin: 0 0 12px;
  color: var(--tcwf-blue-600);
  font-size: 14px;
  font-weight: 600;
  line-height: 22px;
}

.tcwf-solution-hero--dark .tm-eyebrow,
.tcwf-static-hero .tm-eyebrow {
  color: var(--tcwf-blue-600);
}

/* ═══ 新人指南：任务清单 ═══ */
.tm-task-list {
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tm-task {
  display: flex;
  gap: 20px;
  padding: 24px;
  border: 1px solid var(--tcwf-border);
  background: #fff;
}

.tm-task__index {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--tcwf-blue-600);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}

.tm-task__body {
  flex: 1 1 auto;
  min-width: 0;
}

.tm-task__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.tm-task__title {
  margin: 0;
  color: var(--tcwf-ink-950);
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
}

.tm-task__desc {
  margin: 0 0 16px;
  color: var(--tcwf-ink-500);
  font-size: 14px;
  line-height: 22px;
}

.tm-task__desc:last-child {
  margin-bottom: 0;
}

/* ═══ 新人指南：定义列表（FAQ 分条口径） ═══ */
.tm-def-list {
  margin: 0;
}

.tm-def-list dt {
  margin-top: 12px;
  color: var(--tcwf-ink-950);
  font-size: 14px;
  font-weight: 600;
  line-height: 22px;
}

.tm-def-list dt:first-child {
  margin-top: 0;
}

.tm-def-list dd {
  margin: 4px 0 0;
  color: var(--tcwf-ink-500);
  font-size: 14px;
  line-height: 22px;
}

/* ═══ 响应式：768 平板 ═══ */
@media (max-width: 768px) {
  .tm-person-grid--4,
  .tm-person-grid--compact,
  .tm-kpi-grid,
  .tm-region-grid,
  .tm-author-grid,
  .tm-region-panel__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tm-panel-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .tm-footer__inner {
    padding: 32px var(--tcwf-gutter-mobile);
  }

  .tm-section-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  /* 触屏无 hover：改为常显简介 */
  .tm-person__bio {
    display: none;
  }

  .tm-person__bio-static {
    display: block;
  }
}

/* ═══ 响应式：600 以下窄屏 ═══ */
@media (max-width: 600px) {
  .tm-journal-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .tm-region-grid,
  .tm-author-grid,
  .tm-kpi-grid,
  .tm-region-panel__stats {
    grid-template-columns: minmax(0, 1fr);
  }

  .tm-person-grid--4,
  .tm-person-grid--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tm-panel {
    padding: 20px 16px;
  }

  .tm-list__item {
    gap: 12px;
    padding: 12px;
  }

  .tm-list__thumb {
    width: 72px;
    height: 52px;
  }

  .tm-filter {
    flex-direction: column;
    align-items: stretch;
  }

  .tm-filter input[type="search"],
  .tm-filter input[type="text"],
  .tm-filter select {
    width: 100%;
    min-height: 44px;
    font-size: 16px; /* 防iOS 聚焦缩放 */
  }

  .tm-filter__count {
    margin-left: 0;
  }

  .tm-segment__button {
    min-height: 44px;
  }

  .tm-figure__stat {
    right: 12px;
    bottom: 12px;
    padding: 8px 12px;
  }

  .tm-qr-group {
    grid-template-columns: minmax(0, 1fr);
  }

  .tm-task {
    flex-direction: column;
    gap: 12px;
    padding: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tm-person,
  .tm-person__bio,
  .tm-list__item,
  .tm-list__title,
  .tm-region,
  .tm-journal__cover,
  .tm-segment__button {
    transition: none;
  }
}

/*
  腾讯广告式明亮门户覆写层
  只抽取「明亮舞台、上提入口带、低饱和蓝紫、轻圆角」的公开设计规律；
  不使用第三方广告站的素材、文案、图标或代码。
*/
.tcwf-static-page {
  --tm-blue: #0d74ff;
  --tm-blue-deep: #0757d4;
  --tm-blue-soft: #eaf4ff;
  --tm-periwinkle: #dfe5ff;
  --tm-ink: #101a2b;
  --tm-body: #526177;
  --tm-line: #dce7f6;
  --tm-page: #f7faff;
  --tm-shadow: 0 18px 50px rgba(29, 104, 213, 0.11);
  --tm-shadow-hover: 0 24px 56px rgba(29, 104, 213, 0.16);
  background: var(--tm-page);
  color: var(--tm-ink);
}

.tcwf-static-page .tcwf-portal-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(220, 231, 246, 0.82);
  background: rgba(255, 255, 255, 0.86);
  backdrop-filter: blur(18px);
}

.tcwf-static-page .tcwf-portal-header__desktop {
  min-height: 72px;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 28px;
}

.tcwf-static-page .tcwf-portal-header__brand {
  gap: 10px;
  color: var(--tm-ink);
  font-weight: 600;
}

.tcwf-static-page .tcwf-portal-header__nav {
  gap: 4px;
  margin-left: 28px;
}

.tcwf-static-page .tcwf-portal-header__nav-link {
  min-height: 44px;
  padding: 0 11px;
  border-radius: 999px;
  color: #45536a;
}

.tcwf-static-page .tcwf-portal-header__nav-link:hover,
.tcwf-static-page .tcwf-portal-header__nav-link[aria-current="page"] {
  color: var(--tm-blue-deep);
  background: var(--tm-blue-soft);
}

.tcwf-static-page .tcwf-portal-header__operations {
  gap: 10px;
}

.tcwf-static-page .tcwf-portal-header__utility,
.tcwf-static-page .tcwf-portal-header__console {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.tcwf-static-page .tcwf-portal-header__utility {
  color: var(--tm-blue-deep);
  background: #fff;
  box-shadow: inset 0 0 0 1px #b8d6ff;
}

.tcwf-static-page .tcwf-portal-header__console {
  color: #fff;
  background: linear-gradient(100deg, var(--tm-blue-deep), #5b8cff);
  box-shadow: 0 8px 18px rgba(13, 116, 255, 0.22);
}

.tcwf-static-page .tcwf-portal-header__utility:hover,
.tcwf-static-page .tcwf-portal-header__console:hover {
  transform: translateY(-2px);
}

.tcwf-static-page .tcwf-solution-hero {
  position: relative;
  min-height: clamp(390px, 38vw, 560px);
  margin: 16px clamp(16px, 2.5vw, 32px) 0;
  overflow: hidden;
  border-radius: 28px;
  background: linear-gradient(118deg, #f7fbff 0%, #edf5ff 45%, #e7eaff 100%);
  box-shadow: var(--tm-shadow);
  isolation: isolate;
}

.tcwf-static-page .tcwf-solution-hero::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.58) 40%, rgba(255, 255, 255, 0) 67%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(88, 133, 255, 0.08));
  pointer-events: none;
}

.tcwf-static-page .tcwf-static-hero__background {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.92;
  transform: scale(1.02);
}

.tcwf-static-page .tcwf-solution-hero__inner {
  max-width: 1240px;
  min-height: inherit;
  margin: 0 auto;
  padding: clamp(68px, 7vw, 104px) clamp(28px, 7vw, 96px);
}

.tcwf-static-page .tcwf-solution-hero__copy {
  max-width: 565px;
  animation: tm-hero-rise 500ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.tcwf-static-page .tcwf-solution-hero h1 {
  color: var(--tm-ink);
  font-size: clamp(38px, 4vw, 56px);
  font-weight: 600;
  line-height: 1.16;
  letter-spacing: 0;
}

.tcwf-static-page[data-tcwf-page="alliance-portal"] .tcwf-solution-hero h1 {
  font-size: clamp(34px, 3.7vw, 52px);
}

.tcwf-static-page .tcwf-solution-hero__copy > p {
  max-width: 520px;
  margin-top: 20px;
  color: var(--tm-body);
  font-size: 17px;
  line-height: 1.8;
}

.tcwf-static-page .tcwf-static-hero .tm-eyebrow {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 16px;
  padding: 6px 12px;
  border-radius: 999px;
  color: var(--tm-blue-deep);
  background: rgba(255, 255, 255, 0.76);
  box-shadow: inset 0 0 0 1px rgba(119, 167, 255, 0.42);
}

.tcwf-static-page .tcwf-solution-hero__actions {
  gap: 12px;
  margin-top: 30px;
}

.tcwf-static-page .tcwf-action {
  min-height: 44px;
  padding: 0 20px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(100deg, var(--tm-blue-deep), #5b8cff);
  box-shadow: 0 10px 20px rgba(13, 116, 255, 0.2);
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.tcwf-static-page .tcwf-action:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(13, 116, 255, 0.26);
}

.tcwf-static-page .tcwf-action--secondary,
.tcwf-static-page .tcwf-action.tcwf-action--secondary {
  color: var(--tm-blue-deep);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: inset 0 0 0 1px #b8d6ff;
}

.tcwf-static-page .tcwf-section-nav {
  position: relative;
  z-index: 4;
  max-width: 1160px;
  margin: 0 auto -32px;
  border: 1px solid rgba(212, 228, 248, 0.9);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 10px 30px rgba(29, 104, 213, 0.09);
  backdrop-filter: blur(18px);
  transform: translateY(-32px);
}

.tcwf-static-page .tcwf-section-nav__inner {
  justify-content: center;
  gap: 4px;
  padding: 8px 12px;
}

.tcwf-static-page .tcwf-section-nav__link {
  min-height: 42px;
  padding: 0 14px;
  border: 0;
  border-radius: 999px;
  color: #50617a;
}

.tcwf-static-page .tcwf-section-nav__link:hover,
.tcwf-static-page .tcwf-section-nav__link[aria-current="true"] {
  color: var(--tm-blue-deep);
  background: var(--tm-blue-soft);
}

.tcwf-static-page .tcwf-section {
  padding: 92px 0;
  background: transparent;
}

.tcwf-static-page .tcwf-section--muted {
  background: linear-gradient(180deg, rgba(234, 244, 255, 0.6), rgba(247, 250, 255, 0));
}

.tcwf-static-page .tcwf-section__inner {
  max-width: 1240px;
  padding-right: 28px;
  padding-left: 28px;
}

.tcwf-static-page .tcwf-section__header {
  max-width: 720px;
  margin-right: auto;
  margin-bottom: 42px;
  margin-left: auto;
}

.tcwf-static-page .tcwf-section__title,
.tcwf-static-page .tm-section-bar__title {
  color: var(--tm-ink);
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 600;
  line-height: 1.26;
  letter-spacing: 0;
}

.tcwf-static-page .tcwf-section__description,
.tcwf-static-page .tm-section-bar__hint {
  color: var(--tm-body);
  font-size: 15px;
  line-height: 1.8;
}

.tcwf-static-page .tcwf-solution-feature,
.tcwf-static-page .tm-person,
.tcwf-static-page .tm-list__item,
.tcwf-static-page .tm-kpi,
.tcwf-static-page .tm-panel,
.tcwf-static-page .tm-region,
.tcwf-static-page .tm-author,
.tcwf-static-page .tm-task,
.tcwf-static-page .tm-filter,
.tcwf-static-page .tcwf-type-card,
.tcwf-static-page .tcwf-case-card,
.tcwf-static-page .tcwf-split-story {
  border: 1px solid var(--tm-line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 28px rgba(29, 104, 213, 0.07);
}

.tcwf-static-page .tcwf-solution-feature,
.tcwf-static-page .tm-person,
.tcwf-static-page .tm-list__item,
.tcwf-static-page .tm-region,
.tcwf-static-page .tcwf-type-card,
.tcwf-static-page .tcwf-case-card {
  overflow: hidden;
  transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

@media (hover: hover) {
  .tcwf-static-page .tcwf-solution-feature:hover,
  .tcwf-static-page .tm-person:hover,
  .tcwf-static-page .tm-list__item:hover,
  .tcwf-static-page .tm-region:hover,
  .tcwf-static-page .tcwf-type-card:hover,
  .tcwf-static-page .tcwf-case-card:hover {
    border-color: #b8d6ff;
    box-shadow: var(--tm-shadow-hover);
    transform: translateY(-4px);
  }
}

.tcwf-static-page .tcwf-solution-features {
  gap: 18px;
}

.tcwf-static-page .tcwf-solution-feature {
  min-height: 184px;
  padding: 28px;
}

.tcwf-static-page .tcwf-solution-feature__icon {
  width: 58px;
  height: 58px;
  padding: 10px;
  border-radius: 16px;
  background: linear-gradient(135deg, #e9f5ff, #e5e9ff);
}

.tcwf-static-page .tcwf-solution-feature__title,
.tcwf-static-page .tcwf-split-story__title,
.tcwf-static-page .tcwf-type-card__title,
.tcwf-static-page .tm-panel__title {
  color: var(--tm-ink);
  font-weight: 600;
}

.tcwf-static-page .tcwf-benefits {
  gap: 12px;
}

.tcwf-static-page .tcwf-benefit {
  padding: 18px 14px;
  border-radius: 14px;
}

.tcwf-static-page .tcwf-benefit:hover {
  background: rgba(234, 244, 255, 0.76);
}

.tcwf-static-page .tm-person__media,
.tcwf-static-page .tm-person__media img,
.tcwf-static-page .tcwf-type-card__art,
.tcwf-static-page .tcwf-case-card__image,
.tcwf-static-page .tcwf-split-story__image,
.tcwf-static-page .tm-figure img,
.tcwf-static-page .tm-journal__cover {
  border-radius: 14px;
}

.tcwf-static-page .tm-person__media {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.tcwf-static-page .tm-person__media img {
  border-radius: 0;
}

.tcwf-static-page .tm-person__body,
.tcwf-static-page .tcwf-type-card__content,
.tcwf-static-page .tcwf-case-card__body {
  padding: 20px;
}

.tcwf-static-page .tm-person--compact,
.tcwf-static-page .tm-kpi,
.tcwf-static-page .tm-panel,
.tcwf-static-page .tm-region,
.tcwf-static-page .tm-author,
.tcwf-static-page .tm-task,
.tcwf-static-page .tm-filter {
  border-radius: 16px;
}

.tcwf-static-page .tm-kpi {
  padding: 26px;
  background: linear-gradient(145deg, #fff, #f0f7ff);
}

.tcwf-static-page .tm-kpi__value {
  color: var(--tm-blue-deep);
  font-size: 36px;
  font-weight: 600;
}

.tcwf-static-page .tm-list__rank,
.tcwf-static-page .tm-author__rank,
.tcwf-static-page .tm-task__index {
  border-radius: 12px;
  color: var(--tm-blue-deep);
  background: linear-gradient(135deg, #e8f5ff, #e7eaff);
}

.tcwf-static-page .tm-author__rank--top,
.tcwf-static-page .tm-task__index {
  color: #fff;
  background: linear-gradient(135deg, var(--tm-blue-deep), #648eff);
}

.tcwf-static-page .tm-filter input[type="search"],
.tcwf-static-page .tm-filter input[type="text"],
.tcwf-static-page .tm-filter select,
.tcwf-static-page .tm-segment__button,
.tcwf-static-page .tm-tag,
.tcwf-static-page .tcwf-tabs__tab {
  border-radius: 12px;
}

.tcwf-static-page .tm-segment__button[aria-pressed="true"],
.tcwf-static-page .tcwf-tabs__tab[aria-selected="true"] {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(100deg, var(--tm-blue-deep), #5b8cff);
}

.tcwf-static-page .tm-figure__stat {
  border: 0;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 10px 24px rgba(29, 104, 213, 0.16);
  backdrop-filter: blur(12px);
}

.tcwf-static-page .tcwf-solution-cta {
  max-width: 1240px;
  margin: 0 auto 72px;
  border-radius: 28px;
  background: linear-gradient(108deg, #0b2f77, var(--tm-blue-deep) 70%, #5e86ff);
  box-shadow: 0 20px 45px rgba(18, 72, 167, 0.2);
}

.tcwf-static-page .tm-footer {
  border: 0;
  background: #0b1c3a;
}

.tcwf-static-page .tm-footer__brand span,
.tcwf-static-page .tm-footer__slogan,
.tcwf-static-page .tm-footer__links a {
  color: rgba(255, 255, 255, 0.8);
}

.tcwf-static-page .tm-footer__stamp {
  color: rgba(255, 255, 255, 0.45);
}

.tcwf-static-page .tm-footer__links a:hover {
  color: #fff;
}

@keyframes tm-hero-rise {
  from {
    opacity: 0;
    transform: translateY(16px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 820px) {
  .tcwf-static-page .tcwf-portal-header__mobile {
    min-height: 60px;
    padding: 0 16px;
    background: rgba(255, 255, 255, 0.9);
  }

  .tcwf-static-page .tcwf-portal-header__mobile-control {
    border-radius: 12px;
    background: var(--tm-blue-soft);
  }

  .tcwf-static-page .tcwf-portal-header__drawer {
    margin: 0 12px 12px;
    border: 1px solid var(--tm-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--tm-shadow);
  }

  .tcwf-static-page .tcwf-solution-hero {
    min-height: 432px;
    margin: 8px 12px 0;
    border-radius: 22px;
  }

  .tcwf-static-page .tcwf-solution-hero::after {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.48) 55%, rgba(255, 255, 255, 0.24)),
      linear-gradient(90deg, rgba(240, 247, 255, 0.5), rgba(223, 229, 255, 0.25));
  }

  .tcwf-static-page .tcwf-static-hero__background {
    object-position: 66% center;
    opacity: 0.66;
  }

  .tcwf-static-page .tcwf-solution-hero__inner {
    padding: 56px 28px 46px;
  }

  .tcwf-static-page .tcwf-solution-hero h1 {
    font-size: 36px;
  }

  .tcwf-static-page[data-tcwf-page="alliance-portal"] .tcwf-solution-hero h1 {
    font-size: 34px;
  }

  .tcwf-static-page .tcwf-solution-hero__copy > p {
    font-size: 15px;
    line-height: 1.72;
  }

  .tcwf-static-page .tcwf-solution-hero__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .tcwf-static-page .tcwf-solution-hero__actions .tcwf-action {
    width: 100%;
  }

  .tcwf-static-page .tcwf-section-nav {
    margin: 0 12px -16px;
    border-radius: 14px;
    transform: translateY(-16px);
  }

  .tcwf-static-page .tcwf-section-nav__inner {
    justify-content: flex-start;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .tcwf-static-page .tcwf-section-nav__inner::-webkit-scrollbar {
    display: none;
  }

  .tcwf-static-page .tcwf-section {
    padding: 64px 0;
  }

  .tcwf-static-page .tcwf-section__inner {
    padding-right: 16px;
    padding-left: 16px;
  }

  .tcwf-static-page .tcwf-section__header {
    margin-bottom: 28px;
    text-align: left;
  }

  .tcwf-static-page .tcwf-section__title,
  .tcwf-static-page .tm-section-bar__title {
    font-size: 28px;
  }

  .tcwf-static-page .tcwf-solution-feature,
  .tcwf-static-page .tm-kpi,
  .tcwf-static-page .tm-panel,
  .tcwf-static-page .tm-region,
  .tcwf-static-page .tm-author,
  .tcwf-static-page .tm-task {
    border-radius: 14px;
  }

  .tcwf-static-page .tcwf-solution-cta {
    margin: 0 12px 44px;
    border-radius: 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tcwf-static-page .tcwf-solution-hero__copy,
  .tcwf-static-page .tcwf-action,
  .tcwf-static-page .tcwf-portal-header__utility,
  .tcwf-static-page .tcwf-portal-header__console,
  .tcwf-static-page .tcwf-solution-feature,
  .tcwf-static-page .tm-person,
  .tcwf-static-page .tm-list__item,
  .tcwf-static-page .tm-region,
  .tcwf-static-page .tcwf-type-card,
  .tcwf-static-page .tcwf-case-card {
    animation: none;
    transition: none;
  }
}
