body { --paper: #f8f7f2; --ink: #172029; --muted: #5b6470; --line: #dcdedb; --blue: #254dc4; color-scheme: light; }
.site-header { --paper: #f8f7f2; --ink: #172029; --line: #deddd5; background: var(--paper); color: var(--ink); color-scheme: light; }
.brand-name { color: var(--muted); }
@media (min-width: 761px) {
  /* 中间导航固定在页面中线，不随左侧公司名和右侧控件的宽度偏移。 */
  .header-inner { display: grid; grid-template-columns: minmax(min-content, 1fr) minmax(0, max-content) minmax(min-content, 1fr); align-items: center; }
  .brand { grid-column: 1; justify-self: start; }
  .desktop-nav { grid-column: 2; justify-self: center; }
  .header-actions { grid-column: 3; justify-self: end; }
}
.brand img { background: transparent; padding: 6px 8px; width: 146px; }

.mobile-nav { background: var(--paper); color: var(--ink); border-color: var(--line); }
.mobile-nav a { border-color: var(--line); }
.hero { min-height: 660px; height: calc(100svh - var(--header-height)); max-height: 1040px; isolation: isolate; position: relative; overflow: hidden; border-bottom: 1px solid var(--line); }
.signal-stage { position: absolute; z-index: -1; inset: 0; pointer-events: none; }
.signal-stage canvas { display: block; width: 100%; height: 100%; opacity: 0; }
.signal-fallback { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: fill; }
.signal-stage[data-ready=true] canvas { opacity: 1; }
.signal-stage[data-ready=true] .signal-fallback { display: none; }
.hero h1 { text-shadow: none; }
.signal-title-left, .signal-title-right { isolation: isolate; }
/* 压暗层随标题本身移动，只在文字附近保护对比度，不改变整条光带。 */
.signal-title-left::before, .signal-title-right::before {
  content: ''; position: absolute; z-index: -1; inset: -.6em;
  background: #10151d; filter: blur(.35em); opacity: 0; pointer-events: none;
}
.signal-title-left { position: absolute; top: 119px; left: var(--gutter); }
.signal-title-right { position: absolute; bottom: 136px; right: calc(var(--gutter) + 12px); }
.title-dot { color: var(--blue); }
.signal-intro { position: absolute; left: var(--gutter); bottom: 119px; z-index: 3; }
.signal-intro p { color: var(--muted); }
@media (min-width: 761px) {
  /* 默认字号仍为 660px 下限；放大文字时给两侧标题和介绍留出独立阅读空间。 */
  .hero { min-height: max(660px, calc(28rem + 212px)); }
  .signal-title-left, .signal-title-right { max-width: 40%; overflow-wrap: anywhere; }
  .signal-intro { max-width: calc(50% - var(--gutter) * 2); }
}
.signal-cta { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding-block: 18px; margin-top: 20px; border-bottom: 1px solid #8995a9; min-width: 230px; }
.signal-cta:hover { color: #173aab; }
.signal-cta:hover .arrow { transform: translateX(5px); }
.signal-bottom { position: absolute; bottom: 22px; left: 0; right: 0; display: flex; justify-content: flex-end; align-items: center; color: #626b77; }

.applications { background: #f0f2f3; --ink: #172029; --muted: #526174; --line: #d6dde3; color: var(--ink); padding-block: clamp(48px, 5vw, 72px); }
.applications .section-head { margin-bottom: 20px; }
.applications .section-head > p { color: var(--muted); }
.about-photo { --photo-fade-right: 16%; --photo-fade-bottom: 20%; filter: none; }
/* 透明边缘直接透出昼夜底色，切换主题时不会残留浅色边；不支持遮罩时保留完整照片。 */
@supports (mask-composite: intersect) {
  .about-photo {
    mask-image:
      linear-gradient(to right, transparent, #000 2%, #000 calc(100% - var(--photo-fade-right)), transparent),
      linear-gradient(to bottom, transparent, #000 2%, #000 calc(100% - var(--photo-fade-bottom)), transparent);
    mask-composite: intersect;
    mask-repeat: no-repeat;
  }
}
#about.section { padding-block: clamp(48px, 5vw, 80px); }
.contact { background: #eeede7; color: var(--ink); padding-block: clamp(48px, 5vw, 72px); }
.contact .button { background: #0c1727; color: white; min-width: 215px; }
@media (max-width: 1050px) {
  .signal-title-right { bottom: 170px; }
}
@media (max-width: 760px) {
  .about-photo { --photo-fade-right: 12%; --photo-fade-bottom: 16%; }
  .brand img { width: 128px; }
  /* 手机使用内容流分配首屏高度，英文换行和较矮屏幕不会把按钮压在一起。 */
  .hero { display: grid; grid-template-rows: minmax(18.75rem, 1fr) auto auto; height: auto; min-height: max(40.625rem, calc(100svh - var(--header-height))); max-height: none; padding-bottom: 12px; }
  .hero h1 { grid-row: 1; position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: 48px 24px 10px; }
  .hero h1 br { display: none; }
  .signal-title-left, .signal-title-right { position: relative; inset: auto; max-width: 100%; overflow-wrap: anywhere; }
  .signal-title-right { align-self: flex-end; }
  .signal-stage { top: 20%; height: 44%; bottom: auto; }
  .signal-intro { position: static; grid-row: 2; margin: 20px 24px 0; }

  .signal-cta { max-width: 100%; margin-top: 14px; padding-block: 14px; }
  .signal-bottom { position: static; grid-row: 3; width: 100%; padding-top: 10px; }

  .pointer-hint { display: none; }

  .applications { padding-block: 56px; }
  .applications .section-head { margin-bottom: 16px; }
}
