/* Current PHP-rendered news listing base. */
.intro-band { position: relative; flex: 0 0 auto; min-height: 6rem; overflow: hidden; color: #fff; background: #273531 url("../../images/industry/excavator-mountain-hero.webp") center 48%/cover no-repeat; border-bottom: 1px solid #26332f; }
.intro-band::after { position: absolute; inset: 0; background: linear-gradient(90deg, #1D2427ED, #1D2427B8 56%, #1D24276B); content: ""; }
.intro-band .intro { position: relative; z-index: 1; display: flex; align-items: center; min-height: 6rem; padding: 1.125rem 0; }
.intro-band .eyebrow { display: flex; align-items: center; gap: .625rem; margin-bottom: .625rem; color: #F07922; font: 600 .6875rem/1.6 var(--desktop-font); letter-spacing: .045em; }
.intro-band .eyebrow::before { width: 2rem; height: 2px; flex-shrink: 0; background: currentColor; content: ""; }
.intro-band h1 { margin: 0; color: var(--white); font-size: 1.75rem; line-height: 1.3; font-weight: 700; }
.intro-en { display: inline-block; margin-left: .75rem; color: var(--muted-on-dark); font-size: .6875rem; font-weight: 500; vertical-align: middle; }
.intro-copy { display: none; }
main { display: flex; flex: 1 1 0; flex-direction: column; min-height: 0; }
.news-area { flex: 1 0 auto; padding: 2.25rem 0 3rem; }
.result-count, .page-note { color: var(--slate); font-size: .75rem; }
.empty-list { margin: auto 0; padding: 1.25rem 0; color: #8a958e; font-size: .75rem; }
.pagination-wrap { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.pagination { display: flex; align-items: center; gap: .5rem; padding-top: 3px; }
.page-button { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border: 1px solid var(--line); border-radius: 2px; background: #fff; color: var(--steel); cursor: pointer; font: 600 .8125rem/1 var(--desktop-font); transition: color .15s ease, background .15s ease, border-color .15s ease, transform .24s var(--motion-smooth, cubic-bezier(.22,.61,.36,1)); }
.page-button:hover:not(:disabled) { border-color: var(--orange); color: var(--orange-dark); transform: translateY(-2px); }
.page-button[aria-current="page"], .page-button[aria-current="page"]:hover { color: var(--carbon); border-color: var(--orange); background: var(--orange); }
.page-button:disabled, .page-button[aria-disabled="true"] { color: #adb5ae; background: transparent; cursor: default; pointer-events: none; }
.page-button svg { width: 14px; height: 14px; }

@media (max-width: 720px) {
  .intro-band .intro { min-height: 6.5rem; padding: 1.375rem 0; }
  .intro-band .eyebrow, .intro-en { font-size: .625rem; }
  .intro-en { margin-left: .625rem; }
  .news-area { padding: 1.75rem 0 2.875rem; }
}

@media (min-width: 1024px) {
            .news-area {
              --news-accent: #F7B427;
              --news-accent-ink: #94600B;
              --news-ink: #202A2E;
              --news-body: #59666B;
              --news-muted: #748187;
              --news-line: #D8DFE1;
              display: grid;
              grid-template-rows: max-content minmax(min-content, 1fr) max-content;
              gap: clamp(16px, 2svh, 24px) 0;
              width: min(1440px, calc(100% - 2 * var(--page-gutter)));
              height: calc(100svh - 96px);
              min-height: min-content;
              flex: none;
              overflow: visible;
              padding: 24px 0 20px;
            }
            .updates-head {
              display: flex;
              align-items: center;
              justify-content: space-between;
              gap: 24px;
              padding-bottom: 16px;
              border-bottom: 1px solid var(--news-line);
            }
            .updates-heading {
              position: relative;
              margin: 0;
              padding-left: 16px;
              color: var(--news-ink);
              font-size: 1.25rem;
              font-weight: 650;
              line-height: 1.5;
            }
            .updates-heading::before {
              position: absolute;
              top: .3em;
              bottom: .3em;
              left: 0;
              width: 4px;
              background: var(--news-accent);
              content: "";
            }
            .updates-head .result-count { padding: 0; color: var(--news-muted); font-size: .75rem; line-height: 1.5; }
            .updates-feed {
              display: grid;
              grid-template-columns: minmax(0, 1.45fr) repeat(3, minmax(0, 1fr));
              grid-template-rows: minmax(min-content, 1fr) auto auto;
              align-items: stretch;
              gap: 20px clamp(16px, 1.3vw, 24px);
              min-width: 0;
              min-height: min-content;
              padding: 0;
            }
            .news-entry { min-width: 0; }
            .news-entry-media { position: relative; margin: 0; overflow: hidden; background: #E4E9E9; }
            .news-entry-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
            .news-entry-content { min-width: 0; }
            .news-entry-date {
              display: flex;
              align-items: center;
              flex-wrap: wrap;
              gap: 8px;
              color: var(--news-accent-ink);
              font: 500 .71875rem/1.5 Consolas, monospace;
              font-variant-numeric: tabular-nums;
            }
            .news-time-value { padding-left: 8px; color: var(--news-muted); border-left: 1px solid var(--news-line); }
            .news-entry-title {
              margin: 8px 0 0;
              color: var(--news-ink);
              font-size: 1rem;
              font-weight: 600;
              line-height: 1.55;
              overflow-wrap: anywhere;
            }
            .news-entry-summary {
              margin: 9px 0 0;
              color: var(--news-body);
              font-size: .8125rem;
              font-weight: 400;
              line-height: 1.8;
              white-space: pre-line;
              overflow-wrap: anywhere;
            }
            .news-feature {
              display: flex;
              grid-column: 1;
              grid-row: 1 / span 3;
              flex-direction: column;
              overflow: hidden;
              color: #FFFFFF;
              background: #1D272B;
              border-bottom: 3px solid var(--news-accent);
              border-radius: 2px;
            }
            .news-feature .news-entry-media { flex: 1 1 auto; min-height: 220px; }
            .news-feature .news-entry-media img { object-position: 48% center; }
            .news-feature .news-entry-content { padding: clamp(20px, 1.65vw, 28px); }
            .news-feature .news-entry-date { color: var(--news-accent); font-size: .75rem; }
            .news-feature .news-time-value { color: #BFCACF; border-color: #546168; }
            .news-feature .news-entry-title {
              margin-top: 14px;
              color: #FFFFFF;
              font-size: clamp(24px, 1.8vw, 29px);
              font-weight: 650;
              line-height: 1.45;
            }
            .news-feature .news-entry-summary { margin-top: 14px; color: #CED8DC; font-size: .875rem; line-height: 1.9; }
            .news-feature.news-entry--text .news-entry-content { display: flex; flex: 1; flex-direction: column; justify-content: center; min-height: 360px; }
            .news-card {
              display: flex;
              flex-direction: column;
              overflow: hidden;
              background: #FFFFFF;
              border: 1px solid #DFE5E7;
              border-radius: 2px;
              box-shadow: 0 3px 12px rgba(29, 39, 43, .025);
            }
            .news-card .news-entry-media { flex: 1 1 auto; min-height: clamp(88px, 12svh, 156px); }
            .news-card .news-entry-content { padding: 16px 16px 18px; }
            .news-card .news-entry-date::before { width: 10px; height: 2px; flex: none; background: var(--news-accent); content: ""; }
            .news-card.news-entry--text .news-entry-content { display: flex; flex: 1; flex-direction: column; justify-content: center; }
            .news-brief { border-top: 1px solid var(--news-line); }
            .news-brief .news-entry-content { padding: 16px 0 12px; }
            .news-brief .news-entry-date { color: var(--news-muted); }
            .news-brief .news-entry-title { margin-top: 9px; font-size: .96875rem; font-weight: 500; line-height: 1.6; }
            .news-brief .news-entry-summary { margin-top: 8px; line-height: 1.8; }
            .updates-feed--short { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: minmax(min-content, 1fr); }
            .updates-feed--short .news-feature { grid-column: auto; grid-row: auto; }
            .updates-feed--short .news-entry-media { flex: 1 1 auto; min-height: 220px; }
            .updates-feed .empty-list { grid-column: 1 / -1; padding: 30px 0; }
            .pagination-wrap {
              display: flex;
              align-items: center;
              justify-content: space-between;
              gap: 24px;
              margin: 0;
              padding: 12px 0 0;
              border-top: 1px solid var(--news-line);
            }
            .page-note { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; color: var(--news-muted); font-size: .75rem; line-height: 1.6; }
            .pagination { gap: 6px; }
            .page-button { width: 34px; height: 34px; border-radius: 2px; font-weight: 500; }
            .page-button[aria-current="page"], .page-button[aria-current="page"]:hover { color: var(--news-ink); border-color: var(--news-accent); background: var(--news-accent); font-weight: 650; }
            .page-button:hover:not(:disabled) { border-color: var(--news-accent); color: var(--news-accent-ink); }
            .page-button:focus-visible { outline: 2px solid var(--news-accent); outline-offset: 3px; }
}

/* The PHP-rendered news-entry structure uses the same editorial cards below desktop. */
@media (max-width: 1023px) {.news-area {
    --news-accent: #F7B427;
    --news-accent-ink: #94600B;
    --news-ink: #202A2E;
    --news-body: #59666B;
    --news-muted: #748187;
    --news-line: #D8DFE1;
    display: grid;
    grid-template-rows: max-content auto max-content;
    gap: 20px;
    overflow: visible;
  }
  .updates-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--news-line);
  }
  .updates-heading {
    position: relative;
    margin: 0;
    padding-left: 14px;
    color: var(--news-ink);
    font-size: 1.1875rem;
    font-weight: 650;
    line-height: 1.5;
  }
  .updates-heading::before {
    position: absolute;
    top: .3em;
    bottom: .3em;
    left: 0;
    width: 4px;
    background: var(--news-accent);
    content: "";
  }
  .updates-head .result-count { padding: 0; color: var(--news-muted); font-size: .75rem; line-height: 1.5; }
  .updates-feed {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    min-width: 0;
    padding: 0;
  }
  .news-entry,
  .news-entry-content { min-width: 0; }
  .news-entry-media { position: relative; margin: 0; overflow: hidden; background: #E4E9E9; }
  .news-entry-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
  .news-entry-date {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    color: var(--news-accent-ink);
    font: 500 .71875rem/1.5 Consolas, monospace;
    font-variant-numeric: tabular-nums;
  }
  .news-time-value { padding-left: 8px; color: var(--news-muted); border-left: 1px solid var(--news-line); }
  .news-entry-title {
    margin: 8px 0 0;
    color: var(--news-ink);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.55;
    overflow-wrap: anywhere;
  }
  .news-entry-summary {
    margin: 9px 0 0;
    color: var(--news-body);
    font-size: .8125rem;
    line-height: 1.8;
    white-space: pre-line;
    overflow-wrap: anywhere;
  }
  .news-feature {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: minmax(240px, .9fr) minmax(0, 1.1fr);
    overflow: hidden;
    color: #FFFFFF;
    background: #1D272B;
    border-bottom: 3px solid var(--news-accent);
    border-radius: 2px;
  }
  .news-feature .news-entry-media { min-height: 280px; }
  .news-feature .news-entry-media img { object-position: 48% center; }
  .news-feature .news-entry-content { padding: 24px; align-self: center; }
  .news-feature .news-entry-date { color: var(--news-accent); font-size: .75rem; }
  .news-feature .news-time-value { color: #BFCACF; border-color: #546168; }
  .news-feature .news-entry-title { margin-top: 14px; color: #FFFFFF; font-size: 1.5625rem; font-weight: 650; line-height: 1.45; }
  .news-feature .news-entry-summary { margin-top: 14px; color: #CED8DC; font-size: .875rem; line-height: 1.9; }
  .news-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #FFFFFF;
    border: 1px solid #DFE5E7;
    border-radius: 2px;
    box-shadow: 0 3px 12px rgba(29, 39, 43, .025);
  }
  .news-card .news-entry-media { min-height: 190px; }
  .news-card .news-entry-content { padding: 16px 16px 18px; }
  .news-card .news-entry-date::before { width: 10px; height: 2px; flex: none; background: var(--news-accent); content: ""; }
  .news-brief { border-top: 1px solid var(--news-line); }
  .news-brief .news-entry-content { padding: 16px 0 12px; }
  .news-brief .news-entry-date { color: var(--news-muted); }
  .news-brief .news-entry-title { margin-top: 9px; font-size: .96875rem; font-weight: 500; line-height: 1.6; }
  .news-brief .news-entry-summary { margin-top: 8px; }
  .updates-feed .empty-list { grid-column: 1 / -1; padding: 30px 0; }
  .pagination-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0;
    padding: 12px 0 0;
    border-top: 1px solid var(--news-line);
  }
  .page-note { color: var(--news-muted); font-size: .75rem; line-height: 1.6; }
  .pagination { gap: 6px; }
  .page-button { width: 34px; height: 34px; border-radius: 2px; font-weight: 500; }
  .page-button[aria-current="page"],
  .page-button[aria-current="page"]:hover { color: var(--news-ink); border-color: var(--news-accent); background: var(--news-accent); font-weight: 650; }
}

@media (max-width: 720px) {.updates-head { align-items: flex-start; gap: 12px; }
  .updates-heading { font-size: 1.125rem; }
  .updates-head .result-count { padding-top: 3px; }
  .updates-feed { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .news-feature { grid-column: auto; grid-template-columns: minmax(0, 1fr); }
  .news-feature .news-entry-media { min-height: 220px; }
  .news-feature .news-entry-content { padding: 20px; }
  .news-feature .news-entry-title { font-size: 1.375rem; }
  .news-card .news-entry-media { min-height: 210px; }
  .pagination-wrap { align-items: flex-start; flex-direction: column; gap: 12px; }
}

/* QIHE NEWS RESPONSIVE START */
.qihe-news { min-width: 0; }
.qihe-news .news-page-main { display: flex; flex: 1 1 auto; flex-direction: column; min-height: calc(100svh - var(--site-header-height)); }
@media (min-width: 1024px) {
  .qihe-news .news-area { min-height: calc(100svh - var(--site-header-height) - 6rem); height: auto; }
}
@media (max-width: 1023px) {
  .qihe-news .news-entry-media { min-height: 0; }
  .qihe-news .news-feature .news-entry-media { aspect-ratio: 16 / 9; min-height: 0; max-height: 20rem; }
  .qihe-news .news-card .news-entry-media { aspect-ratio: 16 / 9; min-height: 0; max-height: 15rem; }
  .qihe-news .news-entry-media img { width: 100%; height: 100%; object-fit: cover; }
  .qihe-news .pagination-wrap { flex-wrap: wrap; }
  .qihe-news .page-note { flex: 1 0 auto; }
  .qihe-news .pagination { flex: 0 1 auto; }
}
@media (max-width: 720px) {
  .qihe-news .updates-head { min-width: 0; }
  .qihe-news .result-count { flex: 0 0 auto; }
  .qihe-news .pagination-wrap { align-items: flex-start; }
  .qihe-news .pagination { max-width: 100%; align-self: center; }
}
@media (max-width: 480px) {
  .qihe-news .page-button { flex: 0 0 auto; }
  .qihe-news .updates-head { flex-direction: column; }
  .qihe-news .pagination-wrap { display: block; }
  .qihe-news .page-note { margin-bottom: .75rem; }
  .qihe-news .pagination { width: 100%; justify-content: center; padding-bottom: .25rem; }
}
/* QIHE NEWS RESPONSIVE END */
