/* Refined Chinese serif with a separately drawn, optically aligned Latin AI. */
#hero .hero-content { width: 100%; max-width: 940px; }
#hero .hero-editorial {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(20px, 2.2vw, 32px);
  width: 100%;
  margin: 0;
  line-height: 1;
}
.hero-editorial .art-line {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  pointer-events: none;
  user-select: none;
  filter: drop-shadow(0 2px 12px #ffffff28);
}
.hero-editorial .art-line-first { width: 78%; }
.hero-ai-art { overflow: visible; }
.hero-ai-art .ai-hit-area { pointer-events: all; }
.ai-letter-halo {
  opacity: .18;
  animation: ai-light-breathe 3s ease-in-out infinite;
  pointer-events: none;
}
.ai-gloss {
  transform: translateX(-180px) skewX(-12deg);
  animation: ai-light-sweep 3s cubic-bezier(.24,.65,.28,1) infinite;
  pointer-events: none;
}
.hero-ai-art.is-lit .ai-gloss { animation: ai-light-flash 1.35s ease-out both; }
.hero-ai-art.is-lit .ai-letter-halo { opacity: .58; animation: none; }
.hero-ai-art.ai-paused .ai-gloss,
.hero-ai-art.ai-paused .ai-letter-halo { animation-play-state: paused; }
@keyframes ai-light-sweep {
  0%, 12% { transform: translateX(-180px) skewX(-12deg); }
  67%, 100% { transform: translateX(430px) skewX(-12deg); }
}
@keyframes ai-light-flash {
  from { transform: translateX(-180px) skewX(-12deg); }
  to { transform: translateX(430px) skewX(-12deg); }
}
@keyframes ai-light-breathe {
  0%, 100% { opacity: .12; }
  45% { opacity: .38; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-ai-art .ai-gloss { animation: none !important; opacity: 0; }
  .hero-ai-art .ai-letter-halo { animation: none !important; opacity: .12; }
}
.art-accessible-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
@media (max-width: 760px) {
  #hero .hero-editorial { gap: clamp(16px, 5vw, 22px); }
  .hero-editorial .art-line-first { width: 84%; }
}

/* Editorial rhythm: room for the Chinese letterforms without oversized gaps. */
@media (min-width: 761px) {
  .section:not(.contact) { padding-top: 112px; padding-bottom: 112px; }
  .section-intro h2, .numbers h2 {
    font-size: clamp(40px, 4.4vw, 68px);
    line-height: 1.16;
    letter-spacing: -.04em;
  }
  .section-intro h2 span, .numbers h2 span { letter-spacing: -.06em; }
  .ai-stack .section-intro { gap: 0; }
  .capabilities .section-intro { margin-bottom: 44px; }
  .cases-head { margin-bottom: 44px; }
  .cases .case-card.case-landscape { width: 560px; flex-basis: 560px; }
  .number-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .number-item { flex-direction: column; align-items: flex-start; justify-content: center; gap: 16px; }
  .number-item strong { font-size: clamp(38px, 3.8vw, 62px); white-space: nowrap; }
  .number-item span { font-size: 11px; line-height: 1.65; margin: 0; }
  .stack-panel h3 {
    font-size: clamp(27px, 2.35vw, 36px);
    letter-spacing: -.025em;
    text-wrap: balance;
  }
  .process-line { margin-top: 54px; }
}
