@media (max-width: 1024px) {
  .ph-solutions {
    flex-direction: column;
  }

  .ph-solutions__side {
    flex: none;
    width: 100%;
    height: auto;
    min-height: auto;
  }

  .ph-solutions__grid {
    grid-template-columns: repeat(2, 1fr);
    max-width: none;
  }

  /* 首页满屏区块 — 平板起取消 PC 固定高度，避免移动端裁切 */
  .ph-home .ph-panel--family,
  .ph-home .ph-panel--solutions,
  .ph-home .ph-panel--white:has(.ph-panel__inner--news) {
    height: auto;
    min-height: auto;
    overflow: visible;
    align-items: stretch;
  }

  .ph-home .ph-panel__inner--family,
  .ph-home .ph-panel--solutions .ph-content-shell,
  .ph-home .ph-panel__inner--news {
    height: auto;
    min-height: auto;
    align-items: stretch;
    justify-content: flex-start;
  }

  .ph-home .ph-solutions {
    align-items: stretch;
    width: 100%;
    max-width: 100%;
  }

  .ph-home .ph-solutions__side {
    width: 100%;
    height: auto;
    min-height: auto;
    flex: none;
  }

  .ph-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ph-footer__col--social {
    grid-column: 1 / -1;
  }

  .ph-footer__social {
    flex-wrap: wrap;
    width: 100%;
  }

  .ph-brand-grid {
    grid-template-columns: 1fr;
  }

  .ph-news-grid,
  .ph-download-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ph-news-grid--home {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ph-split__inner,
  .ph-split-block__inner,
  .ph-product-detail,
  .ph-products-list__card {
    grid-template-columns: 1fr;
  }

  .ph-product-detail-grid {
    flex-direction: column;
    align-items: center;
  }

  .ph-product-card-detail {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .ph-split-block__inner--img-right .ph-split-block__media,
  .ph-split-block__inner--img-right .ph-split-block__content {
    order: unset;
  }

  .ph-service-section__inner,
  .ph-service-section__inner--img-right {
    flex-direction: column;
  }

  .ph-service-section__media {
    flex: none;
    max-width: none;
    width: 100%;
  }

  .ph-service-section__media img {
    min-height: 240px;
  }

  .ph-service-section__content {
    padding: calc(24px * var(--ph-scale)) 0 0;
  }

  .ph-contact-line__text {
    white-space: normal;
    word-break: break-all;
  }

  .ph-split-block__media,
  .ph-split-block__media img {
    min-height: 240px;
  }

  .ph-split-block__inner {
    min-height: auto;
  }

  .ph-split--img-left .ph-split__media {
    order: 0;
  }

  .ph-contact-strip {
    grid-template-columns: 1fr;
    padding: 32px 24px;
  }
}

@media (max-width: 1320px) {
  .ph-solutions {
    flex-wrap: wrap;
    justify-content: center;
  }

  .ph-solutions__grid {
    grid-template-columns: repeat(3, 1fr);
    max-width: 100%;
  }

  .ph-product-card {
    width: auto;
    height: auto;
    min-height: var(--ph-product-card-h, 362px);
  }
}

@media (max-width: 768px) {
  :root {
    --ph-header-h: 64px;
    --ph-hero-h: calc(100vh - var(--ph-topbar-h) - var(--ph-header-h));
    --ph-hero-h: calc(100svh - var(--ph-topbar-h) - var(--ph-header-h));
    --ph-tab-gap: 0;
  }

  .ph-topbar__inner,
  .ph-header__inner {
    display: flex;
    justify-content: space-between;
    padding-inline: 24px;
  }

  .ph-header__search-wrap {
    display: none;
  }

  .ph-header__left {
    gap: 16px;
    width: 100%;
  }

  .ph-header__menu-btn {
    display: flex;
  }

  .ph-header__search {
    display: none;
  }

  .ph-header__search-mobile {
    display: flex;
    align-items: center;
  }

  .ph-nav {
    position: fixed;
    top: calc(var(--ph-topbar-h) + var(--ph-header-h));
    left: 0;
    right: 0;
    background: var(--ph-white);
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    transform: translateY(-120%);
    opacity: 0;
    visibility: hidden;
    transition: transform 0.3s, opacity 0.3s, visibility 0.3s;
    z-index: 99;
    flex: none;
    width: 100%;
  }

  .ph-nav.is-open {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
  }

  .ph-nav__list {
    flex-direction: column;
    padding: 16px;
    gap: 0;
  }

  .ph-nav__item a {
    padding: 14px 16px;
    border-bottom: none;
    border-left: 3px solid transparent;
  }

  .ph-nav__item.is-active a,
  .ph-nav__item a.is-current {
    border-left-color: var(--ph-blue);
    border-bottom-color: transparent;
  }

  .ph-header__search .ph-search-form {
    display: none;
  }

  .ph-hero,
  .ph-hero__slide {
    height: var(--ph-hero-h);
    min-height: max(360px, var(--ph-hero-h));
  }

  .ph-hero__content {
    padding: 32px 24px 72px;
  }

  .ph-section {
    padding: 48px 0;
  }

  .ph-panel {
    min-height: auto;
  }

  .ph-panel__inner {
    padding: 64px 24px 48px;
  }

  .ph-home .ph-panel__inner--family .ph-panel__title,
  .ph-home .ph-panel__inner--brand .ph-panel__title,
  .ph-home .ph-solutions__side-title {
    font-size: clamp(32px, 8vw, 64px);
  }

  .ph-home .ph-panel--family,
  .ph-home .ph-panel__inner--family {
    height: auto;
    min-height: auto;
    overflow: visible;
  }

  .ph-home .ph-panel__inner--family .ph-panel__copy {
    margin-top: 64px;
    padding-inline: 24px;
  }

  .ph-home .ph-gallery--family {
    flex: none;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    width: 100%;
    max-width: none;
    height: auto;
    margin-top: 32px;
    padding: 0 24px;
    box-sizing: border-box;
  }

  .ph-home .ph-gallery--family .ph-gallery__item {
    flex: none;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 386 / 258;
    min-height: 180px;
  }

  .ph-home .ph-gallery--family .ph-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .ph-home .ph-panel__inner--family .ph-panel__actions {
    margin-top: 32px;
    margin-bottom: 64px;
  }

  .ph-home .ph-panel--solutions {
    height: auto;
    min-height: auto;
    overflow: visible;
    align-items: stretch;
    padding: 0;
  }

  .ph-home .ph-panel--solutions .ph-content-shell {
    height: auto;
    min-height: auto;
    padding: 40px 24px 48px;
    align-items: stretch;
    justify-content: flex-start;
  }

  /* 移动端解决方案：蓝卡在上（DOM 顺序），产品双列在下 */
  .ph-home .ph-solutions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    gap: 16px;
  }

  .ph-home .ph-solutions__side {
    width: 100%;
    max-width: none;
    height: auto;
    min-height: auto;
    flex: none;
    padding: 32px 24px;
    box-sizing: border-box;
    justify-content: flex-start;
    gap: 16px;
  }

  .ph-home .ph-solutions__side-title {
    font-size: clamp(28px, 7vw, 40px);
    margin-bottom: 8px;
  }

  .ph-home .ph-solutions__side-desc {
    margin-bottom: 16px;
  }

  .ph-home .ph-solutions__qr {
    width: 140px;
    height: 140px;
    margin: 0 auto;
  }

  .ph-home .ph-solutions__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
    flex: none;
  }

  .ph-home .ph-product-card {
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 0;
    padding: 12px 12px 16px;
    gap: 8px;
    align-items: center;
  }

  .ph-home .ph-product-card__img {
    flex: 0 0 auto;
    height: auto;
    min-height: 0;
    max-height: none;
    padding: 0 8px;
    margin: 0;
    align-items: center;
  }

  .ph-home .ph-product-card__img img {
    width: auto;
    max-width: 100%;
    max-height: 200px;
    height: auto;
    object-fit: contain;
  }

  .ph-home .ph-product-card__name {
    margin-top: 0;
    font-size: 18px;
    padding: 0 8px;
    text-align: center;
  }

  .ph-home > .ph-panel--dark,
  .ph-home .ph-panel__inner--brand {
    min-height: calc(var(--ph-hero-h) + 40px);
  }

  .ph-home .ph-panel__inner--brand {
    padding: 64px 24px 48px;
  }

  .ph-home .ph-panel__inner--brand .ph-panel__title {
    font-size: clamp(32px, 8vw, 63px);
  }

  .ph-gallery--family {
    flex-direction: column;
    height: auto;
    margin-top: 48px;
    padding-inline: 24px;
  }

  .ph-gallery--family .ph-gallery__item {
    flex: none;
    width: 100%;
    height: 220px;
  }

  .ph-gallery {
    grid-template-columns: 1fr;
  }

  .ph-gallery__item {
    height: 220px;
  }

  .ph-panel__inner--news {
    padding: 64px 0 48px;
  }

  .ph-home .ph-panel--white:has(.ph-panel__inner--news),
  .ph-home .ph-panel__inner--news {
    height: auto;
    min-height: auto;
    overflow: visible;
  }

  .ph-home .ph-panel__inner--news {
    padding: 64px 24px 40px;
  }

  .ph-home .ph-panel__inner--news > .ph-panel__title {
    font-size: clamp(32px, 8vw, 64px);
    margin-bottom: 32px;
    padding-inline: 0;
  }

  .ph-home .ph-news-grid--home {
    flex: none;
    align-content: start;
    margin-bottom: 24px;
    gap: 20px;
    padding-inline: 0;
  }

  .ph-home .ph-hero__title {
    font-size: clamp(32px, 8vw, 64px);
  }

  .ph-news-grid--home {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 32px;
  }

  .ph-home .ph-news-card__img {
    min-height: 200px;
    aspect-ratio: 16 / 9;
  }

  .ph-home .ph-news-card__body {
    flex: none;
    flex-shrink: 0;
    padding: 16px 20px 20px;
    gap: 12px;
  }

  .ph-home .ph-news-card__excerpt {
    flex: none;
  }

  .ph-home .ph-news-card__body .ph-btn--detail {
    display: inline-flex;
    flex-shrink: 0;
    margin-top: 4px;
  }

  .ph-news-card__body {
    padding: 16px 20px 20px;
    gap: 10px;
  }

  .ph-news-card__title {
    font-size: 20px;
    line-height: 1.35;
  }

  .ph-news-card__date,
  .ph-news-card__excerpt {
    font-size: 14px;
    line-height: 1.5;
  }

  .ph-news-card__excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
  }

  .ph-home .ph-panel__inner--news .ph-panel__actions {
    margin-top: 0;
    flex-shrink: 0;
    align-self: center;
    width: auto;
    max-width: none;
  }

  .ph-home .ph-panel__inner--news .ph-panel__actions .ph-btn--primary {
    width: auto;
    max-width: none;
  }

  .ph-solutions__grid {
    grid-template-columns: 1fr;
  }

  .ph-home .ph-solutions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ph-news-grid,
  .ph-download-grid,
  .ph-products-list {
    grid-template-columns: 1fr;
  }

  .ph-footer__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .ph-footer__bottom-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .ph-footer__legal {
    flex-direction: column;
    gap: 8px;
  }

  .ph-page-hero {
    min-height: 320px;
  }

  .ph-page-hero__content {
    padding: 48px 24px;
  }

  .ph-page-hero__title {
    font-size: clamp(32px, 8vw, 56px);
  }

  .ph-page-hero__subtitle {
    font-size: 16px;
  }

  .ph-split-block__title-num {
    font-size: 40px;
  }

  .ph-split-block__title-suf,
  .ph-split-block__title-text {
    font-size: 24px;
  }

  .ph-about-page .ph-page-hero {
    height: auto;
    min-height: 360px;
  }

  .ph-about-page .ph-page-hero__title {
    font-size: 40px;
    white-space: normal;
  }

  .ph-about-page .ph-page-hero__subtitle {
    font-size: 16px;
  }

  .ph-about-main {
    padding: 32px 0;
    gap: 32px;
  }

  .ph-about-page .ph-split-block__inner,
  .ph-about-page .ph-split-block__inner--img-right {
    grid-template-columns: 1fr;
    height: auto;
    min-height: 0;
  }

  .ph-about-page .ph-split-block__media {
    width: 100%;
    max-width: none;
    min-height: 220px;
    height: 220px;
  }

  .ph-about-page .ph-split-block__media img {
    min-height: 220px;
    height: 220px;
  }

  .ph-about-page .ph-split-block__content {
    padding: 24px;
  }

  .ph-about-page .ph-split-block__title-line {
    white-space: normal;
    font-size: 24px;
  }

  .ph-service-page .ph-page-hero {
    height: auto;
    min-height: 360px;
  }

  .ph-service-page .ph-page-hero__title {
    font-size: 40px;
  }

  .ph-service-page .ph-page-hero__subtitle {
    font-size: 16px;
  }

  .ph-service-main {
    padding: 32px 0;
    gap: 32px;
  }

  .ph-service-page .ph-service-section__inner,
  .ph-service-page .ph-service-section__inner--img-right {
    height: auto;
    min-height: 0;
  }

  .ph-service-page .ph-service-section__media {
    flex: none;
    max-width: none;
    width: 100%;
  }

  .ph-service-page .ph-service-section__media img {
    min-height: 220px;
    height: 220px;
  }

  .ph-service-page .ph-service-section__content {
    padding: 24px 0 0;
  }

  .ph-service-page .ph-service-section__title {
    font-size: 24px;
  }

  .ph-modal__qr {
    width: 200px;
    height: 200px;
  }

  .ph-news-detail__title {
    font-size: clamp(28px, 6vw, 48px);
  }

  .ph-news-detail__date {
    font-size: 16px;
  }

  .ph-news-detail__lead,
  .ph-news-detail__content {
    font-size: 16px;
  }

  .ph-news-detail__figure-img {
    height: auto;
    aspect-ratio: 16 / 9;
    min-height: 200px;
  }

  .ph-media-header__title {
    font-size: 28px;
  }

  .ph-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .ph-tabs__item {
    white-space: nowrap;
    padding: 12px 16px;
    font-size: 14px;
  }

  .ph-brand-card {
    min-height: 320px;
  }

  .ph-contact-strip__wechat {
    flex-direction: column;
    text-align: center;
  }

  .ph-carousel--media-news .ph-carousel__slide,
  .ph-carousel__slide {
    flex: 0 0 100%;
  }

  /* 触屏无 hover：需要时始终可点箭头 */
  .ph-section--media-news {
    padding-left: 16px;
    padding-right: 16px;
  }

  .ph-carousel--media-news .ph-carousel__nav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .ph-carousel--media-news .ph-carousel__nav--prev {
    transform: translate(calc(-100% - 16px), -50%);
  }

  .ph-carousel--media-news .ph-carousel__nav--next {
    transform: translate(calc(100% + 16px), -50%);
  }

  .ph-carousel--media-news.ph-carousel--single .ph-carousel__nav {
    display: none;
  }
}

@media (max-width: 480px) {
  .ph-container {
    padding: 0 16px;
  }

  .ph-home .ph-hero__title {
    font-size: clamp(28px, 7vw, 40px);
  }

  .ph-product-detail__title {
    font-size: 24px;
  }

  .ph-product-card-detail__title {
    font-size: 24px;
  }

  .ph-product-card-detail__visual {
    width: min(100%, calc(285px * var(--ph-scale)));
    height: auto;
    min-height: calc(280px * var(--ph-scale));
    aspect-ratio: 285 / 356;
    border-radius: calc(32px * var(--ph-scale));
  }

  .ph-product-card-detail__actions {
    gap: calc(24px * var(--ph-scale));
  }

  .ph-legal__title {
    font-size: 28px;
  }
}
