/* Case study responsive overrides shared by WOVEN STAR, PIXEL LAMP, and ColorOS. */

@media (max-width: 1080px) {
  .pixel-lamp-meta-grid,
  .pixel-lamp-standard-grid,
  .pixel-lamp-module-grid,
  .pixel-lamp-tradeoff-grid,
  .pixel-lamp-engineering-grid,
  .pixel-lamp-problem-grid,
  .pixel-lamp-ai-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .pixel-lamp-pipeline-detail {
    grid-template-columns: minmax(0, 1fr);
  }

  .pixel-lamp-results-still-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .pixel-lamp-results-card.is-top-row.is-board,
  .pixel-lamp-results-card.is-top-row.is-photo,
  .pixel-lamp-results-card.is-top-row.is-portrait {
    flex: initial;
  }

  .pixel-lamp-results-card.is-top-row .pixel-lamp-results-image,
  .pixel-lamp-results-card.is-top-row .pixel-lamp-results-video {
    width: 100%;
    height: auto;
    max-width: 100%;
  }

  .pixel-lamp-pipeline-flow {
    gap: 0.65rem;
  }

  .pixel-lamp-pipeline-arrow {
    display: none;
  }

  .pixel-lamp-meta-card {
    border-right: 0;
    border-bottom: 4px solid #111111;
  }

  .pixel-lamp-meta-card:last-child {
    border-bottom: 0;
  }

  .pixel-lamp-architecture-layer,
  .pixel-lamp-architecture-layer:nth-child(2),
  .pixel-lamp-architecture-layer:nth-child(3) {
    width: 100%;
  }

  .pixel-lamp-architecture-layer {
    flex-direction: column;
    align-items: flex-start;
  }

  .pixel-lamp-architecture-layer p {
    max-width: none;
    text-align: left;
  }
}

@media (max-width: 720px) {
  .case-hero-transition-pixel-lamp .case-hero-transition-copy {
    width: min(100%, calc(100% - 1.4rem));
    gap: 0.9rem;
  }

  .case-hero-transition-pixel-lamp .case-hero-transition-wordmark.is-inline {
    gap: 0.72rem;
  }

  .case-hero-transition-pixel-lamp .case-hero-transition-main,
  .case-hero-transition-pixel-lamp .case-hero-transition-stroke {
    font-size: clamp(3rem, 16vw, 4.9rem);
    letter-spacing: 0.06em;
  }

  body[data-lang="en"] .case-hero-transition-pixel-lamp .case-hero-transition-wordmark.is-inline {
    flex-direction: column;
    align-items: center;
    gap: 0.1rem;
  }

  body[data-lang="zh"] .case-hero-transition-pixel-lamp .case-hero-transition-main {
    font-size: clamp(3.4rem, 18vw, 5.6rem);
    letter-spacing: normal;
  }

  body[data-lang="zh"] .case-hero-transition-pixel-lamp .case-hero-transition-main {
    max-width: 100%;
    white-space: nowrap;
    text-wrap: nowrap;
    line-height: 1;
    font-size: clamp(2rem, 10.6vw, 3rem);
    word-spacing: -0.28em;
  }

  .case-hero-transition-pixel-lamp .case-hero-transition-note {
    font-size: 1rem;
  }

  .page-main.page-pixel-lamp {
    padding-top: 0;
    padding-bottom: 3.4rem;
  }

  .page-main.page-coloros {
    padding-top: 0;
    padding-bottom: 3.4rem;
  }

  .case-hero-transition-coloros .case-hero-transition-copy {
    width: min(100%, calc(100% - 1.4rem));
  }

  .case-hero-transition-coloros .case-hero-transition-main,
  .case-hero-transition-coloros .case-hero-transition-stroke {
    font-size: clamp(3.2rem, 15vw, 5.2rem);
  }

  .case-hero-transition-coloros .case-hero-transition-local {
    font-size: 1rem;
    letter-spacing: 0.18em;
  }

  .coloros-case-wrap {
    width: min(1280px, calc(100% - 1.4rem));
  }

  .coloros-hero-copy {
    gap: 0.9rem;
  }

  .coloros-wordmark.is-inline {
    gap: 0.65rem;
  }

  .coloros-wordmark-main,
  .coloros-wordmark-stroke {
    font-size: clamp(3.2rem, 15vw, 5.2rem);
  }

  .coloros-wordmark-local {
    font-size: 0.96rem;
    letter-spacing: 0.2em;
  }

  .coloros-hero-summary {
    font-size: 0.98rem;
  }

  .coloros-meta-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .coloros-report-shell {
    padding: 0.75rem;
    border-radius: 24px;
  }

  .coloros-report-layout {
    grid-template-columns: 1fr;
  }

  .coloros-report-sidebar-card {
    position: static;
  }

  .coloros-report-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .coloros-report-stage {
    padding-left: 0;
  }

  .pixel-lamp-wrap {
    width: min(1180px, calc(100% - 1.4rem));
  }

  .pixel-lamp-hero-copy {
    width: min(100%, calc(100% - 1.4rem));
    gap: 0.9rem;
  }

  .pixel-lamp-wordmark.is-inline {
    gap: 0.72rem;
  }

  body[data-route="pixel-lamp"][data-lang="en"] .pixel-lamp-wordmark.is-inline {
    flex-direction: column;
    align-items: center;
    gap: 0.1rem;
  }

  .pixel-lamp-wordmark-main,
  .pixel-lamp-wordmark-stroke {
    font-size: clamp(3rem, 16vw, 4.9rem);
    letter-spacing: 0.06em;
  }

  body[data-lang="zh"] .pixel-lamp-wordmark-main {
    font-size: clamp(3.4rem, 18vw, 5.6rem);
    letter-spacing: normal;
  }

  body[data-route="pixel-lamp"][data-lang="zh"] .pixel-lamp-wordmark-main {
    max-width: 100%;
    white-space: nowrap;
    text-wrap: nowrap;
    line-height: 1;
    font-size: clamp(2rem, 10.6vw, 3rem);
    word-spacing: -0.28em;
  }

  .pixel-lamp-hero-note,
  .pixel-lamp-results-copy {
    font-size: 1rem;
  }

  .pixel-lamp-band,
  .pixel-lamp-results {
    padding-block: 2.5rem;
  }
}

@media (max-width: 1080px) {
  .coloros-meta-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .zhixing-section-grid,
  .zhixing-split-panels,
  .zhixing-decision-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .zhixing-hero {
    min-height: min(100vh, 860px);
    min-height: min(100svh, 860px);
  }

  .zhixing-hero-copy {
    min-height: min(100vh, 860px);
    min-height: min(100svh, 860px);
  }

  .zhixing-section-rail {
    position: static;
  }

  .zhixing-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zhixing-action-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .zhixing-gallery.cols-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .page-main.page-zhixing {
    width: min(1320px, calc(100% - 1.4rem));
    padding-top: 0;
  }

  .case-hero-transition-copy {
    width: min(1320px, calc(100% - 1.5rem));
    min-height: 100vh;
    min-height: 100svh;
  }

  .case-hero-transition-main,
  .case-hero-transition-stroke {
    font-size: clamp(3.4rem, 18vw, 5.6rem);
    letter-spacing: 0.1em;
  }

  .case-hero-transition-wordmark.is-inline {
    gap: 0.75rem;
  }

  body[data-lang="en"] .case-hero-transition-main,
  body[data-lang="en"] .case-hero-transition-stroke {
    font-size: clamp(2.5rem, 11vw, 4.2rem);
    letter-spacing: 0.06em;
  }

  body[data-lang="en"] .case-hero-transition-pixel-lamp .case-hero-transition-main,
  body[data-lang="en"] .case-hero-transition-pixel-lamp .case-hero-transition-stroke {
    font-size: clamp(3rem, 16vw, 4.9rem);
    letter-spacing: 0.06em;
  }

  .case-hero-transition-note {
    max-width: 19rem;
    font-size: 0.94rem;
    letter-spacing: 0.2em;
  }

  body[data-lang="zh"] .case-hero-transition-note {
    letter-spacing: 0.24em;
  }

  .coloros-report-nav {
    grid-template-columns: minmax(0, 1fr);
  }

  .zhixing-hero {
    min-height: 100vh;
    min-height: 100svh;
  }

  .zhixing-hero-copy {
    min-height: 100vh;
    min-height: 100svh;
    width: min(1320px, calc(100% - 1.5rem));
    padding: 1.8rem 0;
  }

  .zhixing-wordmark-main,
  .zhixing-wordmark-stroke {
    font-size: clamp(3.4rem, 18vw, 5.6rem);
    letter-spacing: 0.1em;
  }

  .zhixing-wordmark.is-inline {
    gap: 0.75rem;
  }

  body[data-lang="zh"] .zhixing-wordmark-main {
    letter-spacing: 0;
  }

  body[data-lang="en"] .zhixing-wordmark-main,
  body[data-lang="en"] .zhixing-wordmark-stroke {
    font-size: clamp(2.5rem, 11vw, 4.2rem);
    letter-spacing: 0.06em;
  }

  .zhixing-wordmark-local {
    font-size: clamp(2.8rem, 13vw, 4.4rem);
    letter-spacing: 0.12em;
  }

  .zhixing-decision-gallery {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .zhixing-decision-gallery .zhixing-figure,
  .zhixing-decision-frame {
    width: 100%;
  }

  .zhixing-decision-frame {
    display: flex;
    height: auto;
    width: 100%;
  }

  .zhixing-decision-frame img {
    width: 100%;
    height: auto;
  }

  .zhixing-hero-note {
    max-width: 19rem;
    font-size: 0.94rem;
    letter-spacing: 0.2em;
  }

  body[data-lang="zh"] .zhixing-hero-note {
    letter-spacing: 0.24em;
  }

  .zhixing-intro-copy {
    font-size: 1rem;
    line-height: 1.78;
  }

  .zhixing-decision-lead {
    font-size: 1.08rem;
    line-height: 1.72;
  }

  .zhixing-sketch-title {
    padding-bottom: 0.62rem;
    font-size: 1.18rem;
  }

  .zhixing-sketch-body {
    font-size: 1rem;
    line-height: 1.72;
  }

  .zhixing-sketch-note-lead,
  .zhixing-sketch-check-list li,
  .zhixing-decision-list li,
  .zhixing-execution-lead {
    font-size: 1rem;
    line-height: 1.68;
  }

  .zhixing-sketch-check-list li {
    white-space: normal;
  }

  .zhixing-decision-list li {
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0.7rem;
  }

  .zhixing-decision-list li::before {
    font-size: 0.94rem;
  }

  .zhixing-info-grid,
  .zhixing-gallery.cols-2,
  .zhixing-gallery.cols-3,
  .zhixing-gallery.cols-4,
  .zhixing-sketch-detail-row,
  .zhixing-timeline {
    grid-template-columns: minmax(0, 1fr);
  }

  .zhixing-lead-block {
    font-size: 1rem;
    line-height: 1.7;
  }

  .zhixing-lead-block span {
    font-size: 1.8rem;
  }

  .zhixing-panel,
  .zhixing-note-panel,
  .zhixing-reality-card {
    padding: 1.2rem;
  }
}
