/**
 * 移动端适配 - 仅在小屏生效，PC 端（≥768px）不受任何影响
 * 所有规则均在 @media (max-width: 767px) 内，保证 PC 视觉效果零变化
 */
@media (max-width: 767px) {
  /* 防止横向滚动 */
  html, body {
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }

  /* 移动端菜单：垂直堆叠、可折叠（旧版 Tailwind 导航已移除，保留类名供其它页面复用） */
  .nav-mobile-menu {
    display: none;
    width: 100%;
    order: 10;
    flex-basis: 100%;
    padding: 0.5rem 0 1rem;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    margin-top: 0.25rem;
  }
  .nav-mobile-menu.is-open {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.25rem;
  }
  .nav-mobile-menu a {
    padding: 0.75rem 0.5rem;
    font-size: 0.9375rem;
    border-radius: 0.5rem;
  }
  .nav-mobile-menu a:hover {
    background: rgba(249, 115, 22, 0.08);
  }

  /* 汉堡按钮：仅移动端显示 */
  .nav-hamburger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: none;
    background: transparent;
    color: #475569;
    border-radius: 0.5rem;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
  }
  .nav-hamburger:hover {
    background: rgba(0, 0, 0, 0.05);
    color: #0f172a;
  }
  .nav-hamburger svg {
    width: 1.5rem;
    height: 1.5rem;
  }

  /* 移动端登录按钮：等比例缩小 */
  [data-purpose="main-navigation"] button.bg-accent {
    padding: 0.4rem 0.875rem;
    font-size: 0.8125rem;
    border-radius: 0.5rem;
  }

  /* 主内容区：仅用 body 留白，与导航一致；Hero 不再额外 margin，视频与导航紧贴 */
  body.pt-20 {
    padding-top: 3.5rem;
  }
  [data-purpose="hero-banner"] {
    margin-top: 0;
    min-height: 80vh;
  }

  /* 与 reference @media (max-width: 820px) 中 .container 收窄、.hero-title 行高一致 */
  [data-purpose="hero-banner"] .container.hero-content {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  [data-purpose="hero-banner"] h1.hero-title {
    line-height: 1.08 !important;
  }

  /* 各 section 内边距缩小 */
  [data-purpose="product-center"],
  [data-purpose="strength-section"],
  [data-purpose="news-section"] {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  [data-purpose="product-center"] .max-w-7xl,
  [data-purpose="strength-section"] .max-w-7xl,
  [data-purpose="news-section"] .max-w-7xl {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  /* 产品中心：标题与「全部产品」同一行，按钮等比例缩小 */
  [data-purpose="product-center"] .flex.items-center.justify-between.mb-16 {
    flex-direction: row;
    align-items: center;
    margin-bottom: 2rem;
    gap: 0.5rem;
  }
  [data-purpose="product-center"] .flex.items-center.justify-between.mb-16 > div:first-child {
    min-width: 0;
    flex: 1 1 auto;
  }
  [data-purpose="product-center"] .flex.items-center.justify-between.mb-16 .btn-dynamics-link {
    flex-shrink: 0;
    padding: 0.35rem 0.6rem;
    font-size: 0.8125rem;
    white-space: nowrap;
  }
  [data-purpose="product-center"] .flex.items-center.justify-between.mb-16 .btn-dynamics-link svg {
    width: 0.75rem;
    height: 0.75rem;
  }

  /* 产品大卡片：圆角与内边距 */
  [data-purpose="product-center"] .rounded-\[2\.5rem\] {
    border-radius: 1.5rem;
  }
  [data-purpose="product-center"] .lg\:p-12 {
    padding: 1.5rem 1rem;
  }
  [data-purpose="product-center"] .p-8 {
    padding: 1.25rem 1rem;
  }
  [data-purpose="product-center"] .text-3xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }
  [data-purpose="product-center"] .text-lg {
    font-size: 1rem;
  }
  [data-purpose="product-center"] .space-y-4.mb-10 {
    margin-bottom: 1.5rem;
  }

  /* 小产品卡片网格：移动端两列、适当缩小 */
  [data-purpose="product-center"] .grid.gap-6.reveal {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
  }
  [data-purpose="product-center"] .grid.gap-6.reveal > div .rounded-\[2rem\] {
    border-radius: 1rem;
    padding: 1rem 0.75rem !important;
  }
  [data-purpose="product-center"] .grid.gap-6.reveal > div .w-20.h-20 {
    width: 2.75rem;
    height: 2.75rem;
    margin-bottom: 0.5rem;
  }
  [data-purpose="product-center"] .grid.gap-6.reveal > div h4 {
    font-size: 0.9375rem;
    line-height: 1.25rem;
    margin-bottom: 0.25rem;
  }
  [data-purpose="product-center"] .grid.gap-6.reveal > div p.text-slate-500 {
    font-size: 0.75rem;
    line-height: 1rem;
  }

  /* 风行之力：移动端两列、适当缩小 */
  [data-purpose="strength-section"] .mb-20 {
    margin-bottom: 2.5rem;
  }
  [data-purpose="strength-section"] h2 {
    font-size: 1.375rem;
    line-height: 1.75rem;
  }
  [data-purpose="strength-section"] .grid.grid-cols-1 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 0.75rem;
  }
  [data-purpose="strength-section"] .grid.grid-cols-1 > div {
    padding: 0.75rem 0.5rem;
  }
  [data-purpose="strength-section"] .grid.grid-cols-1 .text-5xl,
  [data-purpose="strength-section"] .grid.grid-cols-1 .text-6xl {
    font-size: 1.75rem;
    line-height: 2rem;
    margin-bottom: 0.25rem;
  }
  [data-purpose="strength-section"] .grid.grid-cols-1 .text-slate-500 {
    font-size: 0.6875rem;
    line-height: 1rem;
    letter-spacing: 0.02em;
  }
  [data-purpose="strength-section"] .grid.grid-cols-1 > div.lg\:border-l {
    border-left: none;
  }

  /* 风行动态：标题与「全部动态」同一行，按钮等比例缩小 */
  [data-purpose="news-section"] .flex.items-center.justify-between.mb-12 {
    flex-direction: row;
    align-items: center;
    margin-bottom: 1.5rem;
    gap: 0.5rem;
  }
  [data-purpose="news-section"] .flex.items-center.justify-between.mb-12 > div:first-child {
    min-width: 0;
    flex: 1 1 auto;
  }
  [data-purpose="news-section"] .flex.items-center.justify-between.mb-12 .btn-dynamics-link {
    flex-shrink: 0;
    padding: 0.35rem 0.6rem;
    font-size: 0.8125rem;
    white-space: nowrap;
  }
  [data-purpose="news-section"] .flex.items-center.justify-between.mb-12 .btn-dynamics-link svg {
    width: 0.75rem;
    height: 0.75rem;
  }
  [data-purpose="news-section"] .aspect-video.rounded-3xl {
    border-radius: 1rem;
    margin-bottom: 1rem;
  }
  [data-purpose="news-section"] .dynamics-news-item .dynamics-news-title {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  [data-purpose="news-section"] .dynamics-news-item {
    padding: 0.75rem 0.5rem;
    gap: 0.75rem;
  }
  [data-purpose="news-section"] .dynamics-news-item .w-32 {
    width: 5rem;
    min-width: 5rem;
  }
  [data-purpose="news-section"] .dynamics-news-item .h-24 {
    height: 4rem;
  }
  [data-purpose="news-section"] h3 {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
  [data-purpose="news-section"] .px-2 p {
    font-size: 0.9375rem;
  }

  /* 页脚 */
  [data-purpose="site-footer"] .max-w-7xl {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  [data-purpose="site-footer"] .py-16 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
  [data-purpose="site-footer"] .grid.gap-12.mb-12 {
    gap: 2rem;
    margin-bottom: 2rem;
  }
  [data-purpose="site-footer"] .pt-8 {
    padding-top: 1.5rem;
  }
  [data-purpose="site-footer"] .text-\[10px\] {
    font-size: 0.625rem;
    text-align: center;
  }
  [data-purpose="site-footer"] .flex.space-x-6 {
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  /* 按钮：触控友好（勿作用于 .nav-btn/.menu-toggle，避免与参考导航 padding、字号冲突） */
  .btn-cta,
  .btn-dynamics-link {
    min-height: 2.75rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }

  /* 新增首页模块：移动端统一收敛，避免桌面多列/固定高度/绝对定位造成横向溢出 */
  .site-root,
  .section,
  .container,
  .engine-showcase,
  .mini-program-layout,
  .ott-showcase,
  .assets-wrap,
  .service-grid,
  .news-grid,
  .partner-categories,
  footer {
    max-width: 100%;
    overflow-x: clip;
  }

  .section {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .section-head {
    margin-bottom: 1.75rem;
  }

  .section-title {
    font-size: clamp(1.5rem, 7vw, 2rem);
    line-height: 1.22;
    letter-spacing: 0;
    white-space: normal;
  }

  .section-desc {
    font-size: 0.9375rem;
    line-height: 1.75;
  }

  .round-btn {
    max-width: 100%;
    min-height: 2.75rem;
    padding: 0.75rem 1.25rem !important;
    font-size: 0.9375rem !important;
    justify-content: center;
    white-space: nowrap;
  }

  .engine-showcase {
    gap: 1rem;
    margin-top: 2rem;
  }

  .engine-dual-core,
  .engine-matrix-row,
  .ott-main-grid,
  .ott-card-grid,
  .asset-grid,
  .service-grid,
  .news-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem;
  }

  .engine-card:hover,
  .ott-stage-card:hover,
  .ott-product-card:hover,
  .asset-card:hover,
  .service-card:hover,
  .news-item:hover,
  .partner-logo-card:hover {
    transform: none;
  }

  .engine-main-card {
    height: auto;
    min-height: 0;
  }

  .engine-main-media {
    flex: none;
    aspect-ratio: 16 / 9;
    min-height: 0;
  }

  .engine-main-content {
    padding: 1rem;
    gap: 0.875rem;
    align-items: flex-start;
    flex-direction: column;
  }

  .engine-main-header {
    gap: 0.75rem;
  }

  .engine-main-logo {
    max-width: 8.5rem;
    height: 1.5rem;
  }

  .engine-main-text h3 {
    font-size: 1.25rem;
    line-height: 1.25;
  }

  .engine-main-desc,
  .engine-matrix-item-desc {
    font-size: 0.8125rem;
    line-height: 1.55;
  }

  .engine-main-btn {
    width: 100%;
    padding: 0.75rem 1rem;
    text-align: center;
  }

  .engine-matrix-item-card {
    min-height: 0;
    padding: 1rem;
  }

  .engine-matrix-item-header,
  .engine-matrix-item-info-row {
    min-width: 0;
  }

  .engine-matrix-item-info-row {
    gap: 0.625rem;
    flex-wrap: wrap;
  }

  .engine-matrix-item-logo {
    width: 2.25rem;
    height: 2.25rem;
    min-width: 2.25rem;
  }

  .engine-matrix-item-info-row h4 {
    font-size: 1rem;
  }

  .engine-matrix-item-tag {
    padding: 0.25rem 0.5rem;
    font-size: 0.6875rem;
  }

  .mini-program-layout {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 1.5rem;
  }

  .mp-content {
    gap: 1rem;
    min-width: 0;
  }

  .achievement-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0.75rem;
  }

  .achievement-card {
    padding: 0.75rem 0;
    min-width: 0;
  }

  .achievement-card .data-value {
    font-size: clamp(1.75rem, 10vw, 2.25rem);
    line-height: 1.05;
  }

  .achievement-card .data-label {
    margin-bottom: 0.75rem;
    font-size: 0.8125rem;
    line-height: 1.35;
  }

  .achievement-visual {
    margin-top: 0.75rem;
    --achievement-visual-height: 140px;
  }

  .mp-visual {
    height: 390px;
    max-width: 100%;
    overflow: hidden;
    perspective: none;
    transform-style: flat;
  }

  .mp-phone-frame {
    width: min(48vw, 160px);
    height: min(98vw, 330px);
    border-radius: 28px;
    padding: 6px;
  }

  .mp-phone-frame img {
    border-radius: 22px;
  }

  .phone-main {
    transform: translate3d(0, 0, 0) scale(1);
  }

  .phone-left-side {
    transform: translate3d(-62px, 18px, 0) scale(0.88);
  }

  .phone-right-side {
    transform: translate3d(62px, 18px, 0) scale(0.88);
  }

  .mp-visual:hover .phone-main,
  .mp-visual:hover .phone-left-side,
  .mp-visual:hover .phone-right-side {
    transform: none;
  }

  .mp-visual:hover .phone-left-side {
    transform: translate3d(-62px, 18px, 0) scale(0.88);
  }

  .mp-visual:hover .phone-right-side {
    transform: translate3d(62px, 18px, 0) scale(0.88);
  }

  .mp-float-card {
    transform: scale(0.82);
    z-index: 6;
  }

  .mini-program-layout.reveal-stagger.active .mp-float-card {
    transform: scale(0.82);
  }

  .float-wx { top: 2%; left: 8%; }
  .float-dy { top: 5%; right: 8%; }
  .float-ks { top: auto; bottom: 4%; left: 15%; }
  .float-4 { top: auto; right: 13%; bottom: 6%; }
  .float-5 { top: 47%; left: 5%; }
  .float-douyin { top: 42%; right: 5%; }
  .float-kuaishou,
  .float-xhs {
    display: none;
  }

  .creator-nebula-wrap {
    height: 300px;
    margin-top: 2rem;
    border-radius: 1rem;
  }

  .mosaic-container {
    gap: 0.75rem;
    transform: rotate(-5deg) scale(1.02);
  }

  .mosaic-item {
    width: 3rem;
    height: 3rem;
    border-radius: 0.75rem;
  }

  .nebula-core {
    width: min(78vw, 220px);
    padding: 1.25rem;
  }

  .nebula-core .data-val {
    font-size: clamp(2.75rem, 15vw, 3.5rem);
    letter-spacing: 0;
  }

  .nebula-core .data-label {
    font-size: 0.75rem;
    letter-spacing: 0.2em;
  }

  .ott-showcase {
    margin-top: 2rem;
    gap: 1rem;
  }

  .ott-stage-card,
  .ott-product-card {
    border-radius: 1rem;
    box-shadow: 0 14px 34px rgba(148, 163, 184, 0.14);
  }

  .ott-stage-card {
    padding: 0.875rem;
  }

  .ott-stage-screen,
  .ott-product-preview {
    border-radius: 0.875rem;
  }

  .ott-screen-chip {
    top: 0.75rem;
    left: 0.75rem;
    min-height: 1.625rem;
    padding: 0 0.625rem;
    font-size: 0.6875rem;
  }

  .ott-stage-content {
    padding: 1rem 0.25rem 0.25rem;
  }

  .ott-stage-content h3 {
    font-size: clamp(1.5rem, 8vw, 2rem);
    white-space: normal;
    letter-spacing: 0;
  }

  .ott-stage-content p {
    max-width: none;
    margin-top: 0.75rem;
    font-size: 0.875rem;
    line-height: 1.7;
  }

  .ott-product-card {
    min-height: 0;
    padding: 1rem;
  }

  .ott-product-desc {
    min-height: 0;
    font-size: 0.8125rem;
  }

  .asset-grid {
    padding: 0;
  }

  .asset-grid > div:nth-child(even) {
    margin-top: 0;
  }

  .asset-card {
    border-radius: 1rem;
    padding: 0.75rem;
  }

  .asset-poster {
    border-radius: 0.875rem;
    overflow: hidden;
  }

  .asset-bottom {
    gap: 0.625rem;
  }

  .asset-name {
    font-size: 1rem;
  }

  .asset-tag {
    padding: 0.25rem 0.5rem;
    font-size: 0.6875rem;
  }

  .service-grid {
    margin-top: 1.5rem;
  }

  .service-media {
    border-radius: 1rem;
  }

  .service-body {
    padding-right: 0;
  }

  .service-title {
    font-size: 1rem;
  }

  .service-desc {
    font-size: 0.875rem;
    line-height: 1.7;
  }

  .news-grid {
    margin-top: 1.5rem;
  }

  .news-body {
    padding: 1rem;
  }

  .news-title {
    font-size: 1.375rem;
    line-height: 1.35;
    letter-spacing: 0;
  }

  .news-desc {
    margin-top: 0.75rem;
    font-size: 0.875rem;
    line-height: 1.7;
  }

  .news-list {
    gap: 0.75rem;
  }

  .news-item {
    padding: 1rem;
  }

  .news-item-meta,
  .news-item-title {
    gap: 0.5rem;
    flex-direction: column;
    align-items: flex-start;
  }

  .news-item-title {
    font-size: 1rem;
    line-height: 1.55;
  }

  .partner-categories {
    margin-top: 2rem;
  }

  .partner-tabs {
    gap: 0.5rem;
    margin-bottom: 1.5rem;
  }

  .partner-tab {
    flex: 1 1 calc(50% - 0.5rem);
    min-width: 0;
    padding: 0.625rem 0.75rem;
    font-size: 0.8125rem;
    text-align: center;
  }

  .partner-content {
    min-height: 0;
  }

  .partner-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0;
  }

  .partner-logo-card {
    height: 4.5rem;
    padding: 0.5rem;
    border-radius: 0.75rem;
  }

  .partner-roll-wrap .partner-logo-card {
    width: 6.25rem;
    height: 4rem;
  }

  footer {
    padding: 3rem 0 1.75rem;
  }

  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 2rem;
  }

  .footer-brand {
    align-items: center;
    text-align: center;
  }

  .footer-text {
    max-width: none;
    margin-bottom: 1.25rem;
  }

  .footer-title {
    margin-bottom: 1rem;
  }

  .footer-links,
  .contact-list {
    gap: 0.75rem;
  }

  .footer-bottom {
    margin-top: 2rem;
    padding-top: 1.25rem;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    text-align: center;
  }

  .footer-bottom-links {
    gap: 0.75rem 1rem;
    justify-content: center;
    flex-wrap: wrap;
  }
}

@media (max-width: 420px) {
  .achievement-grid {
    grid-template-columns: 1fr;
  }

  .achievement-visual {
    --achievement-visual-height: 150px;
  }

  .mp-visual {
    height: 340px;
  }

  .mp-phone-frame {
    width: 142px;
    height: 292px;
  }

  .phone-left-side {
    transform: translate3d(-52px, 14px, 0) scale(0.82);
  }

  .phone-right-side {
    transform: translate3d(52px, 14px, 0) scale(0.82);
  }

  .partner-tab {
    flex-basis: 100%;
  }
}

/* PC 端（≥768px）始终隐藏移动端专属元素，保证 PC 视觉效果零变化 */
@media (min-width: 768px) {
  .nav-hamburger,
  .nav-mobile-menu {
    display: none !important;
  }
}
