/* ==========================================================================
   深度触达 DEEPTOUCH — responsive
   ========================================================================== */

@media (max-width: 980px) {
  .sec-head { grid-template-columns: 82px minmax(0, 1fr); }
  .sec-head__no { font-size: 56px; }

  .intro { grid-template-columns: 1fr; }
  .intro__side { padding-left: 0; border-left: 0; padding-top: 18px; border-top: 1px solid var(--line); }

  .quad { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quad__card { padding: 20px 22px 22px; }
  .quad__card:nth-child(odd) { border-left: 0; padding-left: 0; }
  .quad__card:nth-child(n + 3) { border-top: 1px solid var(--line); }

  .svc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc__card:nth-child(3n) { border-right: 1px solid var(--line); padding-right: 24px; }
  .svc__card:nth-child(2n) { border-right: 0; padding-right: 0; }

  .film { grid-template-columns: 1fr; }
  .film__visual { order: -1; }
  .film__visual img { aspect-ratio: 16 / 9; }

  .split { grid-template-columns: 1fr; gap: 28px; }
  .fde { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 18px; }
  .duo--stack { margin-top: 18px; }

  .local__head { grid-template-columns: 1fr; }
  .abilities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ability:nth-child(3n) { border-right: 1px solid rgba(183, 156, 235, 0.18); }
  .ability:nth-child(even) { border-right: 0; }

  .tracks { grid-template-columns: 1fr; }
  .tracks__list { border-right: 0; }
  .tracks__panels { padding: 22px 0 0; min-height: 0; }
  .path__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .path__list li { border-bottom: 1px solid var(--line); }
  .path__list li:nth-child(3n) { border-right: 0; }
  .path__list li:nth-child(3n + 1) { padding-left: 0; }
  .schools { grid-template-columns: 1fr; }

  .partners { grid-template-columns: 1fr; }
  .partner__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .partner__facts--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

  .bali__head { grid-template-columns: 1fr; }
  .bali__hero { text-align: left; }
  .bali__hero-num { justify-content: flex-start; }
  .bali__body { grid-template-columns: 1fr; }
  .bali__visual { max-width: 460px; }
  .bali__panels { min-height: 0; }

  .instant__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .instant__card { padding-left: 18px; }
  .instant__card:nth-child(odd) { border-left: 0; padding-left: 0; }
  .instant__card:nth-child(n + 3) { border-top: 1px solid var(--line); }

  .aigc__grid { grid-template-columns: 1fr; }
  .gallery__row { grid-template-columns: 150px minmax(0, 1fr) 170px; gap: 18px; }
  .localres__grid { grid-template-columns: 1fr; }

  .datawall__head { grid-template-columns: 1fr; }
  .datawall__note { border-left: 0; padding-left: 0; max-width: 44em; }

  .process { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .process li:nth-child(3n) { border-right: 0; }
  .process li:nth-child(3n + 1) { padding-left: 0; }
  .process li:nth-child(n + 4) { border-top: 1px solid var(--line); }

  .contact { grid-template-columns: 1fr; }
  .contact__aside { border-left: 0; padding-left: 0; padding-top: 18px; border-top: 1px solid var(--line-dark); }
}

@media (max-width: 760px) {
  .sec { padding-block: 46px; }
  .sec-head { grid-template-columns: 1fr; gap: 8px; padding-bottom: 18px; margin-bottom: 28px; }
  .sec-head__no { font-size: 46px; }
  .sec-title { margin-top: 12px; font-size: clamp(27px, 7vw, 36px); }
  .sec-lead { margin-top: 12px; }
  .block-head { margin-top: 34px; }
  .block-title { font-size: 22px; }
  .block-note { font-size: 11px; }

  .intro__statement { font-size: 20px; line-height: 1.8; }
  .quad { grid-template-columns: 1fr; }
  .quad__card,
  .quad__card:nth-child(odd),
  .quad__card:nth-child(even) { padding: 18px 0 20px; border-left: 0; }
  .quad__card:nth-child(n + 2) { border-top: 1px solid var(--line); }
  .quad__title { font-size: 20px; }

  .timeline__line { left: 7px; }
  .tl { grid-template-columns: 1fr; min-height: 0; }
  .tl::after { left: 7px; margin-left: 0; transform: translateX(-50%); top: 6px; }
  .tl:nth-child(odd) .tl__card,
  .tl:nth-child(even) .tl__card {
    grid-column: 1;
    text-align: left;
    padding-left: 28px;
    padding-right: 0;
    padding-bottom: 20px;
  }
  .tl__title { font-size: 16px; }

  .base__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stat { padding: 16px 14px 18px; }
  .stat:nth-child(odd) { border-left: 0; padding-left: 0; }
  .stat:nth-child(even) { border-left: 1px solid var(--line); }
  .stat:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .stat__num { font-size: 38px; }
  .stat__desc { font-size: 11px; }

  .culture { grid-template-columns: 1fr; }
  .culture__item,
  .culture__item:first-child { padding: 18px 0 20px; border-left: 0; border-top: 1px solid var(--line); }
  .culture__item:first-child { border-top: 0; }

  .chars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .char { padding: 18px 18px 4px 0; border-bottom: 1px solid var(--line); }
  .char:nth-child(even) { border-right: 0; padding-right: 0; padding-left: 16px; }
  .char__glyph { font-size: 66px; }

  .why { padding: 22px 18px; }
  .why__row { gap: 14px 32px; }
  .why__not { font-size: 24px; }

  .svc { grid-template-columns: 1fr; }
  .svc__card,
  .svc__card:nth-child(2n),
  .svc__card:nth-child(3n) { border-right: 0; padding: 16px 0 18px; }
  .svc__card:hover { padding-left: 0; background: transparent; }
  .svc__go { display: none; }

  .capacity { gap: 22px; }
  .capacity__num { font-size: 32px; }
  .forms__tab { padding: 8px 9px; font-size: 11px; }
  .forms__panels { min-height: 0; }

  .specs { grid-template-columns: 1fr; }
  .spec,
  .spec:first-child { border-left: 0; border-top: 1px solid var(--line-dark); padding: 16px 0 18px; }
  .spec:first-child { border-top: 0; }
  .film__foot { gap: 8px 18px; }

  .duo { grid-template-columns: 1fr; }
  .fde { grid-template-columns: 1fr; border-top: 0; }
  .fde li { padding: 11px 0 11px 22px; border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
  .fde li:first-child { border-top: 0; }
  .fde li::before { top: 18px; left: -4px; }
  .phones { gap: 8px; }
  .phone figcaption { font-size: 7.5px; }

  .local__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .local__facts > div { padding-left: 14px; }
  .local__facts > div:nth-child(odd) { border-left: 0; padding-left: 0; }
  .local__facts > div:nth-child(n + 3) { border-top: 1px solid rgba(183, 156, 235, 0.18); margin-top: 12px; }
  .abilities { grid-template-columns: 1fr; }
  .ability,
  .ability:nth-child(3n),
  .ability:nth-child(even) { border-right: 0; padding: 14px 0 16px; }
  .local__foot { display: block; }

  .resources { margin-top: 38px; }
  .resource-grid { grid-template-columns: 1fr; }
  .resource,
  .resource:nth-child(3n) { border-right: 0; border-bottom: 1px solid var(--line); padding: 16px 0 18px; }

  .tracks__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .track-tab { border-right: 1px solid var(--line); }
  .track-tab:nth-child(even) { border-right: 0; }
  .track-tab__name { font-size: 15px; }
  .track-panel__points { grid-template-columns: 1fr; gap: 8px; }
  .cert { padding: 16px 18px; }
  .path__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .path__list li:nth-child(3n) { border-right: 1px solid var(--line); }
  .path__list li:nth-child(even) { border-right: 0; }
  .path__list li:nth-child(odd) { padding-left: 0; }
  .audience__wechat { margin-left: 0; flex-basis: 100%; }
  .schools__list li { font-size: 16px; }

  .matrix__row { grid-template-columns: 1fr; gap: 6px; }
  .matrix__row li { font-size: 16px; }
  .partner { padding: 20px 18px; }
  .partner__facts,
  .partner__facts--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kol__grid { grid-template-columns: 1fr; }

  .bali { padding: 22px 18px; }
  .bali__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bali__step { border-bottom: 1px solid var(--line-dark); }
  .bali__step.is-active { border-color: var(--gold); }
  .bali__visual { padding-right: 0; max-width: none; }
  .bali__poster { display: none; }
  .bali__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bali__stats > div:nth-child(odd) { border-left: 0; padding-left: 0; }
  .bali__stats > div:nth-child(n + 3) { margin-top: 12px; }

  .instant__grid { grid-template-columns: 1fr; }
  .instant__card,
  .instant__card:nth-child(odd),
  .instant__card:nth-child(even) { border-left: 0; padding: 14px 0 16px; border-top: 1px solid var(--line); }
  .instant__card:first-child { border-top: 0; }
  .aigc__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .gallery__row { grid-template-columns: 1fr; gap: 10px; padding: 14px 0 18px; }
  .gallery__row img { aspect-ratio: 16 / 9; }
  .gallery__brand { text-align: left; }
  .localres__list li { font-size: 14px; }
  .localres__hits article { padding: 15px 16px; }

  .datawall__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .datawall__grid li:nth-child(4n + 1) { border-left: 1px solid var(--line-dark); padding-left: 16px; }
  .datawall__grid li:nth-child(odd) { border-left: 0; padding-left: 0; }
  .datawall__grid li:nth-child(n + 3) { border-top: 1px solid var(--line-dark); }
  .dw__num { font-size: 30px; }

  .marquee__item { font-size: 16px; padding: 0 16px; }

  .process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process li,
  .process li:nth-child(3n + 1) { padding: 12px 14px 14px; border-right: 1px solid var(--line); }
  .process li:nth-child(odd) { padding-left: 0; }
  .process li:nth-child(even) { border-right: 0; }
  .process li:nth-child(n + 3) { border-top: 1px solid var(--line); }

  .contact { padding: 22px 18px; }
  .contact__phone { font-size: clamp(27px, 8vw, 36px); }
  .contact__row { gap: 8px 12px; }
}

@media (max-width: 520px) {
  .sec-head__no { font-size: 40px; }
  .sec-title { font-size: 26px; }
  .block-title { font-size: 20px; }
  .intro__slogan { font-size: 15px; }
  .char__glyph { font-size: 58px; }
  .char h4 { font-size: 14px; }
  .why__not { font-size: 21px; }
  .why__answer { font-size: 18px; }

  .svc__name { font-size: 19px; }
  .band { padding-block: 44px; }
  .band__title { font-size: 28px; }
  .capacity__num { font-size: 28px; }
  .film__visual img { aspect-ratio: 4 / 3; }

  .partner__facts b { font-size: 17px; }
  .kol__num { font-size: 32px; }

  .bali__hero-num { font-size: 38px; }
  .bali__stats b { font-size: 21px; }
  .hit__num { font-size: 32px; }
  .dw__num { font-size: 26px; }
  .datawall__grid li { padding: 12px 12px 14px; }
  .gallery__row h4 { font-size: 16px; }
  .path__list { grid-template-columns: 1fr; }
  .path__list li { border-right: 0; padding-left: 0; }

  .tracks__list { grid-template-columns: 1fr; }
  .track-tab { border-right: 0; }

  .cert__name { font-size: 18px; }
  .process { grid-template-columns: 1fr; }
  .process li,
  .process li:nth-child(3n + 1),
  .process li:nth-child(even) { border-right: 0; padding-left: 0; }
  .process li:nth-child(n + 2) { border-top: 1px solid var(--line); }

  .contact__phone { font-size: 26px; letter-spacing: 0; }
  .aigc__stats b { font-size: 15px; }
  .aigc__stats b span { font-size: 7px; }
}

/* Per-site preference, initialized before styles load. */

html[data-motion="off"] .marquee__track { animation: none !important; }

html[data-motion="off"] .reveal { opacity: 1 !important; transform: none !important; }


