.page-news {
  --news-gap: clamp(1rem, 3vw, 2rem);
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  line-height: 1.85;
  overflow-x: clip;
}

.page-news img {
  max-width: 100%;
  height: auto;
  display: block;
}

.page-news .num {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}

/* ---------- Hero ---------- */
.page-news .news-hero {
  position: relative;
  isolation: isolate;
  padding: clamp(1.5rem, 4vw, 2.75rem) 0 clamp(2.5rem, 6vw, 4rem);
}

.page-news .news-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -30% -12% -50% 36%;
  background: linear-gradient(158deg, rgba(35, 59, 104, 0.14), rgba(35, 59, 104, 0) 70%);
  clip-path: polygon(36% 0, 100% 0, 100% 100%, 0 100%);
  pointer-events: none;
}

.page-news .news-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--red) 0 20%, var(--gold) 20% 36%, var(--line-soft) 36% 100%);
}

.page-news .news-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.75rem, 4vw, 3rem);
  margin-top: clamp(1.5rem, 4vw, 2.5rem);
}

.page-news .news-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  margin: 0;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  color: var(--red);
}

.page-news .news-kicker::before {
  content: "";
  width: 2rem;
  height: 1px;
  background: var(--gold);
}

.page-news .news-title {
  margin: 0.7rem 0 0;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(2.1rem, 6.4vw, 4.2rem);
  line-height: 1.14;
  letter-spacing: 0.01em;
  color: var(--ink);
  text-wrap: balance;
}

.page-news .news-lede {
  margin: clamp(1rem, 2vw, 1.4rem) 0 0;
  max-width: 46ch;
  font-size: clamp(1rem, 1.35vw, 1.0625rem);
  color: var(--ink-soft);
}

.page-news .news-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: clamp(1.25rem, 3vw, 1.9rem);
}

.page-news .news-hero__panel {
  border-left: 2px solid var(--gold);
  border-top: 1px solid var(--line-gold);
  background: linear-gradient(180deg, rgba(251, 246, 236, 0.95), rgba(251, 246, 236, 0.35));
  padding: 1.15rem 1.15rem 1.35rem;
}

.page-news .news-hero__panel-title {
  margin: 0 0 0.85rem;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  color: var(--stone);
}

.page-news .news-hero__facts {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.7rem;
}

.page-news .news-hero__facts li {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr);
  align-items: baseline;
  gap: 0.6rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px dashed var(--line-soft);
  font-size: 0.9rem;
  color: var(--ink-soft);
}

.page-news .news-hero__facts li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.page-news .news-hero__facts .num {
  font-size: 1.5rem;
  color: var(--red);
  line-height: 1.1;
}

/* ---------- Section head override spacing ---------- */
.page-news .section-head {
  margin-bottom: clamp(1.25rem, 3vw, 2rem);
}

/* ---------- Headline ---------- */
.page-news .headline {
  padding: clamp(2.25rem, 5vw, 3.5rem) 0;
  background: linear-gradient(180deg, var(--paper-3), var(--paper));
  border-bottom: 1px solid var(--line-soft);
}

.page-news .headline__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--news-gap);
}

.page-news .headline-card {
  display: flex;
  flex-direction: column;
  background: var(--paper-3);
  border: 1px solid var(--line-gold);
  box-shadow: var(--shadow-card);
}

.page-news .headline-card__media {
  overflow: hidden;
  border-bottom: 1px solid var(--line-gold);
}

.page-news .headline-card__media img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: transform 560ms var(--ease);
}

.page-news .headline-card:hover .headline-card__media img {
  transform: scale(1.035);
}

.page-news .headline-card__body {
  padding: clamp(1.1rem, 3vw, 1.9rem);
}

.page-news .headline-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
}

.page-news .headline-card__time {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  color: var(--stone);
}

.page-news .headline-card__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.4rem, 3.2vw, 2rem);
  line-height: 1.35;
  color: var(--ink);
}

.page-news .headline-card__text {
  margin: 0.8rem 0 0;
  max-width: 62ch;
  font-size: 0.95rem;
  color: var(--ink-soft);
}

.page-news .headline-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 1.1rem;
  font-size: 0.9rem;
  color: var(--red);
  text-decoration: none;
  border-bottom: 1px solid var(--line-gold);
  padding-bottom: 0.15rem;
  transition: border-color var(--dur) var(--ease), gap var(--dur) var(--ease);
}

.page-news .headline-card__link:hover,
.page-news .headline-card__link:focus-visible {
  border-color: var(--red);
  gap: 0.7rem;
}

.page-news .headline-side {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  padding-top: 0.4rem;
}

.page-news .headline-side__title {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  color: var(--stone);
  border-bottom: 1px solid var(--line);
  padding-bottom: 0.6rem;
}

.page-news .headline-side__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.2rem;
}

.page-news .headline-side__list a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: 0.55rem;
  padding: 0.7rem 0.2rem;
  border-bottom: 1px solid var(--line-soft);
  text-decoration: none;
  color: var(--ink-soft);
  font-size: 0.9rem;
  transition: color var(--dur) var(--ease), padding-left var(--dur) var(--ease);
}

.page-news .headline-side__list a:hover,
.page-news .headline-side__list a:focus-visible {
  color: var(--red);
  padding-left: 0.45rem;
}

.page-news .headline-side__tag {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  color: var(--indigo);
}

.page-news .headline-side__note {
  margin: 0;
  font-size: 0.82rem;
  color: var(--stone);
  border-left: 2px solid var(--blush);
  padding-left: 0.75rem;
}

/* ---------- Digest ---------- */
.page-news .digest {
  padding: clamp(2.5rem, 6vw, 4rem) 0;
}

.page-news .digest__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 2.5rem);
}

.page-news .digest__index-title {
  margin: 0 0 0.65rem;
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  color: var(--stone);
}

.page-news .digest__index-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.page-news .digest__index-link {
  display: inline-block;
  padding: 0.28rem 0.6rem;
  font-family: var(--font-mono);
  font-size: 0.76rem;
  letter-spacing: 0.06em;
  color: var(--ink-soft);
  text-decoration: none;
  background: var(--paper-3);
  border: 1px solid var(--line-soft);
  transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}

.page-news .digest__index-link:hover,
.page-news .digest__index-link:focus-visible {
  border-color: var(--gold);
  color: var(--red);
}

.page-news .digest__list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line);
}

.page-news .digest__item {
  border-bottom: 1px solid var(--line-soft);
}

.page-news .digest__row {
  display: grid;
  grid-template-columns: 2.3rem minmax(0, 1fr);
  gap: 0.4rem 0.85rem;
  padding: 1rem 0.35rem;
  transition: background-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}

.page-news .digest__row:hover {
  background: rgba(233, 185, 169, 0.16);
  box-shadow: inset 3px 0 0 var(--gold);
}

.page-news .digest__num {
  grid-column: 1;
  grid-row: 1;
  font-family: var(--font-mono);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--gold-deep);
  letter-spacing: 0.04em;
}

.page-news .digest__body {
  grid-column: 2;
  min-width: 0;
}

.page-news .digest__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 0.35rem;
}

.page-news .digest__time {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  color: var(--stone);
}

.page-news .digest__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.02rem, 2.2vw, 1.2rem);
  line-height: 1.5;
}

.page-news .digest__title a {
  color: var(--ink);
  text-decoration: none;
  transition: color var(--dur) var(--ease);
}

.page-news .digest__title a:hover,
.page-news .digest__title a:focus-visible {
  color: var(--red);
}

.page-news .digest__text {
  margin: 0.35rem 0 0;
  font-size: 0.88rem;
  color: var(--ink-soft);
}

/* ---------- Season band ---------- */
.page-news .season-band {
  position: relative;
  margin: clamp(1rem, 3vw, 2rem) 0;
  padding: clamp(3rem, 8vw, 5rem) 0;
  background: linear-gradient(105deg, var(--green) 0%, var(--indigo) 58%, var(--night) 100%);
  clip-path: polygon(0 7%, 100% 0, 100% 93%, 0 100%);
  color: var(--paper-3);
}

.page-news .season-band__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 2.75rem);
  align-items: start;
}

.page-news .season-band__kicker {
  margin: 0 0 0.6rem;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  color: var(--butter);
}

.page-news .season-band__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(1.6rem, 4vw, 2.5rem);
  line-height: 1.3;
  color: var(--paper-3);
}

.page-news .season-band__lede {
  margin: 0.9rem 0 0;
  max-width: 48ch;
  font-size: 0.95rem;
  color: rgba(251, 246, 236, 0.82);
}

.page-news .season-band__link {
  display: inline-block;
  margin-top: 1.15rem;
  padding-bottom: 0.15rem;
  font-size: 0.9rem;
  color: var(--butter);
  text-decoration: none;
  border-bottom: 1px solid rgba(232, 198, 110, 0.55);
  transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}

.page-news .season-band__link:hover,
.page-news .season-band__link:focus-visible {
  color: #fff;
  border-color: #fff;
}

.page-news .season-band__steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.15rem;
}

.page-news .season-band__steps li {
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  align-items: baseline;
  gap: 0.7rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid rgba(251, 246, 236, 0.18);
  font-size: 0.9rem;
  color: rgba(251, 246, 236, 0.9);
}

.page-news .season-band__step-num {
  font-family: var(--font-mono);
  font-size: 0.85rem;
  color: var(--butter);
  letter-spacing: 0.06em;
}

/* ---------- Review ---------- */
.page-news .review {
  padding: clamp(2.5rem, 6vw, 4rem) 0;
}

.page-news .review__block {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 2.5rem);
}

.page-news .review__media {
  margin: 0;
  border: 1px solid var(--line-gold);
  padding: 0.5rem;
  background: var(--paper-3);
  box-shadow: var(--shadow-card);
}

.page-news .review__media img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.page-news .review__media figcaption {
  padding: 0.55rem 0.25rem 0.1rem;
  font-size: 0.78rem;
  color: var(--stone);
  font-family: var(--font-mono);
  letter-spacing: 0.02em;
}

.page-news .review__lede {
  margin: 0;
  font-size: 0.98rem;
  color: var(--ink-soft);
}

.page-news .review__dims {
  list-style: none;
  margin: clamp(1rem, 2.5vw, 1.5rem) 0 0;
  padding: 0;
  display: grid;
  gap: 0.1rem;
  counter-reset: none;
}

.page-news .review__dims li {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.15rem 0.7rem;
  padding: 0.65rem 0;
  border-bottom: 1px dashed var(--line-soft);
}

.page-news .review__dim-num {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  color: var(--gold-deep);
  letter-spacing: 0.06em;
}

.page-news .review__dims strong {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--ink);
}

.page-news .review__dims span:last-child {
  grid-column: 2;
  font-size: 0.86rem;
  color: var(--ink-soft);
}

.page-news .review__body .btn {
  margin-top: 1.25rem;
}

/* ---------- Release ---------- */
.page-news .release {
  padding: clamp(2.5rem, 6vw, 4rem) 0;
  background: var(--paper-2);
  border-top: 1px solid var(--line-soft);
  border-bottom: 1px solid var(--line-soft);
}

.page-news .release__block {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 2.5rem);
}

.page-news .release__lede {
  margin: 0;
  font-size: 0.98rem;
  color: var(--ink-soft);
}

.page-news .release__list {
  list-style: none;
  margin: clamp(1.1rem, 3vw, 1.6rem) 0 0;
  padding: 0;
  display: grid;
  gap: 1rem;
}

.page-news .release__list li {
  position: relative;
  padding: 1rem 1rem 1.1rem 1.15rem;
  background: var(--paper-3);
  border-left: 3px solid var(--indigo);
  box-shadow: 0 1px 0 rgba(27, 26, 23, 0.05);
}

.page-news .release__batch {
  margin: 0 0 0.35rem;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  color: var(--indigo);
}

.page-news .release__head {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.02rem, 2.2vw, 1.18rem);
  line-height: 1.45;
  color: var(--ink);
}

.page-news .release__text {
  margin: 0.4rem 0 0;
  font-size: 0.87rem;
  color: var(--ink-soft);
}

.page-news .release__body .btn {
  margin-top: 1.35rem;
}

.page-news .release__media {
  margin: 0;
  align-self: start;
  border: 1px solid var(--line-gold);
  padding: 0.5rem;
  background: var(--paper-3);
  box-shadow: var(--shadow-card);
}

.page-news .release__media img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.page-news .release__media figcaption {
  padding: 0.55rem 0.25rem 0.1rem;
  font-size: 0.78rem;
  color: var(--stone);
  font-family: var(--font-mono);
  letter-spacing: 0.02em;
}

/* ---------- Archive ---------- */
.page-news .archive {
  padding: clamp(2.5rem, 6vw, 4rem) 0 clamp(2rem, 5vw, 3rem);
}

.page-news .archive__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 2rem);
}

.page-news .archive__card {
  display: flex;
  flex-direction: column;
  background: var(--paper-3);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-card);
  transition: transform var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

.page-news .archive__card:hover {
  transform: translateY(-4px);
  border-color: var(--gold);
}

.page-news .archive__media {
  overflow: hidden;
  border-bottom: 1px solid var(--line-soft);
}

.page-news .archive__media img {
  width: 100%;
  aspect-ratio: 10 / 7;
  object-fit: cover;
}

.page-news .archive__body {
  padding: clamp(1rem, 2.6vw, 1.5rem);
}

.page-news .archive__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 0.6rem;
}

.page-news .archive__time {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  color: var(--stone);
}

.page-news .archive__head {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.1rem, 2.6vw, 1.35rem);
  line-height: 1.4;
  color: var(--ink);
}

.page-news .archive__text {
  margin: 0.55rem 0 0;
  font-size: 0.88rem;
  color: var(--ink-soft);
}

.page-news .archive__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.9rem;
  font-size: 0.86rem;
  color: var(--red);
  text-decoration: none;
  border-bottom: 1px solid var(--line-gold);
  padding-bottom: 0.12rem;
  transition: gap var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

.page-news .archive__link:hover,
.page-news .archive__link:focus-visible {
  gap: 0.65rem;
  border-color: var(--red);
}

.page-news .archive__ticket {
  margin: 0 clamp(1rem, 2.6vw, 1.5rem) clamp(1rem, 2.6vw, 1.5rem);
  padding: 0.9rem 1rem;
  background: linear-gradient(120deg, var(--red), var(--red-deep));
  color: var(--paper-3);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.2rem 0.8rem;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 6% 100%);
}

.page-news .archive__ticket-line {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  color: rgba(251, 246, 236, 0.78);
}

.page-news .archive__ticket-num {
  grid-row: 1 / span 2;
  grid-column: 2;
  margin: 0;
  font-family: var(--font-mono);
  font-size: 2rem;
  line-height: 1;
  color: var(--butter);
}

.page-news .archive__ticket-cap {
  margin: 0;
  font-size: 0.85rem;
  color: var(--paper-3);
}

/* ---------- Next step ---------- */
.page-news .next-step {
  padding: 0 0 clamp(2.5rem, 6vw, 4rem);
}

.page-news .next-step__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  padding: clamp(1.3rem, 3vw, 2rem);
  background: var(--paper-3);
  border: 1px solid var(--line-gold);
  border-top: 3px solid var(--gold);
}

.page-news .next-step__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.25rem, 3vw, 1.65rem);
  line-height: 1.4;
  color: var(--ink);
}

.page-news .next-step__lede {
  margin: 0.6rem 0 0;
  font-size: 0.9rem;
  color: var(--ink-soft);
  max-width: 54ch;
}

.page-news .next-step__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.5rem;
}

.page-news .next-step__links a {
  display: grid;
  gap: 0.1rem;
  padding: 0.7rem 0.85rem;
  text-decoration: none;
  background: var(--paper);
  border: 1px solid var(--line-soft);
  transition: border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}

.page-news .next-step__links a:hover,
.page-news .next-step__links a:focus-visible {
  border-color: var(--gold);
  transform: translateY(-2px);
}

.page-news .next-step__label {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--indigo);
}

.page-news .next-step__desc {
  font-size: 0.78rem;
  color: var(--stone);
  font-family: var(--font-mono);
  letter-spacing: 0.02em;
}

/* ---------- Tags (page-local) ---------- */
.page-news .tag--indigo {
  color: var(--paper-3);
  background: var(--indigo);
  border-color: var(--indigo);
}

.page-news .tag--stone {
  color: var(--ink);
  background: rgba(138, 130, 116, 0.16);
  border-color: rgba(138, 130, 116, 0.45);
}

.page-news .tag--blush {
  color: var(--red-deep);
  background: rgba(233, 185, 169, 0.35);
  border-color: rgba(179, 38, 30, 0.3);
}

/* ---------- Tablet ---------- */
@media (min-width: 720px) {
  .page-news .archive__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-news .archive__card--offset {
    margin-top: clamp(1.5rem, 4vw, 2.5rem);
  }

  .page-news .archive__ticket {
    margin-top: auto;
  }
}

/* ---------- Desktop ---------- */
@media (min-width: 900px) {
  .page-news .news-hero__grid {
    grid-template-columns: minmax(0, 1.62fr) minmax(0, 0.78fr);
    align-items: end;
  }

  .page-news .headline__grid {
    grid-template-columns: minmax(0, 1.65fr) minmax(0, 0.75fr);
    align-items: start;
  }

  .page-news .digest__layout {
    grid-template-columns: 10.5rem minmax(0, 1fr);
    align-items: start;
  }

  .page-news .digest__index-list {
    flex-direction: column;
    flex-wrap: nowrap;
  }

  .page-news .digest__index {
    position: sticky;
    top: calc(var(--header-h) + 1.5rem);
  }

  .page-news .digest__row {
    grid-template-columns: 3.4rem minmax(0, 1fr);
    gap: 0.4rem 1.2rem;
    padding: 1.15rem 0.6rem;
  }

  .page-news .digest__num {
    font-size: 1.35rem;
  }

  .page-news .season-band__inner {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: clamp(2rem, 5vw, 3.5rem);
  }

  .page-news .review__block {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    align-items: start;
    gap: clamp(2rem, 5vw, 3.25rem);
  }

  .page-news .release__block {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    align-items: start;
    gap: clamp(2rem, 5vw, 3rem);
  }

  .page-news .release__media {
    position: sticky;
    top: calc(var(--header-h) + 1.5rem);
  }

  .page-news .next-step__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(1.5rem, 4vw, 3rem);
  }

  .page-news .next-step__links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .page-news * {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

/* ---------- Print ---------- */
@media print {
  .page-news {
    background: #fff;
    color: #000;
  }

  .page-news .news-hero::before,
  .page-news .news-hero::after,
  .page-news .archive__ticket {
    display: none;
  }

  .page-news .digest__row:hover {
    background: transparent;
    box-shadow: none;
  }

  .page-news .digest__item {
    break-inside: avoid;
  }
}
<<<END>>>

等等——我绝不应该输出 <<<END>>>。也不应该把几个标记块和 END 混在一起。我仔细重新输出一遍，确保标记顺序正确：


...

...

我需要去掉 <<<END>>>，重新拼装。让我重新整理一遍，确认没有多余的前言、没有 Markdown 代码围栏。

我还得再检查几件事：

1. `id="d01"` 等等——全都存在吗？d01 到 d14 都在。索引里链接到 #d01 #d02 #d03 #d04 #d05 #d07。全都存在。headline 侧栏的链接是 #d03 #d02 #d09。都存在。

2. 检查一下我是不是用了任何禁用词。搜一下“核对”——我用了“对照”“比对”“比对”，“对照”是可以的。嗯，规则 12 的禁用列表里包含“核对”，但也包含“对照”吗？没有。“对照”不在禁用列表里。那没问题。不过“逐行比对”还是有点风险。它不在禁用列表里。

其实等一下，禁用清单里有“可核对”和“核对”。我确实没用“核对”。我再扫一遍：“对照说明”——没问题。“逐行比对”——没问题。

3. “记录页保留最近 24 个月的使用记录，按月份分段展示，会员登录后可以自行查阅。”——“登录”算不算被禁？规则 7 说不能生成登录/注册链接。只是提到会员登录……嗯。可能会让人误解。我先改成“会员可以自行查阅”。嗯，算了。

其实 entry 12 的摘要：“记录页保留最近 24 个月的使用记录，按月份分段展示，可自行查阅。”——好，删掉“登录”。

4. 品牌名“至尊棋牌2026”出现在首屏导语里。✓

5. 只看到一个 h1。✓

6. 正文里锚点链接：那些不带 href 的 tag span 没问题。

7. 图片：4 张。✓ 尺寸和属性匹配：1600x900、1200x800、1200x800、1000x700。✓ 只有第一张没有 lazy。✓

8. CSS 选择器都限定在 .page-news 下。✓ 我用了一个全局的 `.section-head` 覆盖，写成 `.page-news .section-head`——没问题。`@media print` 里 `.page-news`——也没问题。

9. `.page-news .tag--indigo` 这些——我在 site_kit 之外定义了新的 tag 变体。没问题。

10. `num` 类——在 `.page-news .num` 下定义。✓

11. data-reveal 属性。✓

12. 检查我已经定义过的类名：news-hero、news-hero__grid、news-hero__lead、news-kicker、news-title、news-lede、news-hero__actions、news-hero__panel、news-hero__panel-title、news-hero__facts、headline、headline__grid、headline-card、headline-card__media、__body、__meta、__time、__title、__text、__link、headline-side、__title、__list、__tag、__note、digest、digest__layout、digest__index、__index-title、__index-list、__index-link、digest__list、digest__item、digest__row、digest__num、digest__body、digest__meta、digest__time、digest__title、digest__text、season-band、__inner、__kicker、__title、__lede、__link、__steps、__step-num、__step-text、review、__block、__media、__lede、__dims、__dim-num、__body、release、__block、__body、__lede、__list、__batch、__head、__text、__media、archive、__grid、__card、__card--offset、__media、__body、__meta、__time、__head、__text、__link、__ticket、__ticket-line、__ticket-num、__ticket-cap、next-step、__inner、__text、__title、__lede、__links、__label、__desc、tag--indigo/stone/blush。

全都定义了？逐一核对：
- news-hero__lead——定义了？我把它写在 HTML 里了。CSS 里我没专门给 `.news-hero__lead` 写样式……这个需要检查一下。它不是严格必须，但为了规范还是加上吧。我会把它补上。
- headline-side__tag ✓
- season-band__step-text——没有专门样式，但 li 有 grid 负责布局。没问题。
- next-step__text——没有专门样式，可以接受。不过为了干净，我还是加上吧。
- review__body——在 `.review__body .btn` 里用到 ✓。
- archive__card--offset——在媒体查询里用到了 ✓。
- release__media / release__body ✓。

让我把 `.page-news .news-hero__lead` 和 `.page-news .next-step__text` 加进 CSS。

13. `.page-news .review__dims span:last-child` 的网格列——每个 li 里有三个子元素：`span.review__dim-num`、`strong`、`span`。网格列是 2 列，dim-num 在第一列，strong 在第二列，span 会自动放置……实际上把第三项放在 `grid-column: 2` 会让它落到第二行。可以。

但是 `span:last-child` 会不会也匹配到 dim-num？dim-num 如果只有一个子元素的话……不过每个 li 有 3 个子元素，所以 last-child 是最后一个 span。没问题。

14. `text-wrap: balance`——没问题。

15. 我写了吗 `<<<END>>>`？没有。输出最后就是 CSS。

再检查一下 hero 区里用的 `btn--gold`：我在 review 区用了 `btn btn--gold`。这个是全局类，没问题。

现在把两个缺失的类补进 CSS，然后把所有内容完整写出来。

另外，我应该再确认一下：`.page-news .headline-side__list a` 用了 grid-template-columns: auto 1fr——tag 和文字。没问题。

还有页脚/页头不包含在内。没问题。

现在输出。
<main id="main-content" class="page-news">

  <section class="news-hero">
    <div class="container">
      <nav class="breadcrumb" aria-label="面包屑">
        <a href="/">首页</a>
        <span class="breadcrumb__sep">/</span>
        <span aria-current="page">版本动态</span>
      </nav>

      <div class="news-hero__grid">
        <div class="news-hero__lead">
          <p class="news-kicker">§ 动态</p>
          <h1 class="news-title">赛季在走，评测与结算也在往前走</h1>
          <p class="news-lede">
            至尊棋牌2026 按季度为节拍滚动上线内容。这里汇总最近放出的评测专题、结算表调整、案例入档与赛季安排，
            您可以先扫一遍标题，再挑跟自己手上资料相关的那几条点进去细看。
          </p>
          <div class="news-hero__actions">
            <a class="btn btn--solid" href="/platform/">进入平台版本</a>
            <a class="btn btn--ghost" href="/faq/">查规则问答</a>
          </div>
        </div>

        <aside class="news-hero__panel" aria-label="本季度更新概况">
          <p class="news-hero__panel-title">本季度节奏</p>
          <ul class="news-hero__facts">
            <li><span class="num">06</span><span>每个赛季主题活动</span></li>
            <li><span class="num">01</span><span>每季度内容包</span></li>
            <li><span class="num">12</span><span>每季度新增案例约 12 个</span></li>
            <li><span class="num">48</span><span>常见牌型持续跟进</span></li>
          </ul>
        </aside>
      </div>
    </div>
  </section>

  <section class="headline" aria-labelledby="headline-title">
    <div class="container">
      <div class="section-head" data-reveal>
        <p class="section-index">§ 01 / 头条</p>
        <h2 class="section-title" id="headline-title">编辑本周挑出的一条</h2>
      </div>

      <div class="headline__grid">
        <article class="headline-card" data-reveal>
          <div class="headline-card__media">
            <img src="{zhanqunpic:h:900w:1600}" width="1600" height="900"
                 alt="唐卡红与靛蓝色块斜切交错，抽象牌面纹样组成的赛季专题封面主视觉">
          </div>
          <div class="headline-card__body">
            <p class="headline-card__meta">
              <span class="tag tag--red">赛季</span>
              <span class="tag tag--gold">评测</span>
              <span class="headline-card__time">第 3 赛季 · 本周</span>
            </p>
            <h3 class="headline-card__title">第 3 赛季主题内容与新一批评测专题同时开放</h3>
            <p class="headline-card__text">
              本季 6 个主题活动的参与说明已经挂到活动专区，首页横幅给出了直达入口。
              同一时间，最新版棋牌电玩评测追加了六个牌型族的对照内容，规则清晰度与界面适配度两个维度重新打分，
              每条评分都附了判读依据，内容团队可以直接引用到自己的说明文档里。
            </p>
            <a class="headline-card__link" href="/platform/">看评测栏目与赛季入口<span aria-hidden="true">→</span></a>
          </div>
        </article>

        <aside class="headline-side" aria-label="编辑推荐">
          <p class="headline-side__title">同时值得一看</p>
          <ul class="headline-side__list">
            <li>
              <a href="#d03">
                <span class="headline-side__tag">赛季</span>
                <span class="headline-side__text">第 3 赛季 6 个主题活动进入开放阶段</span>
              </a>
            </li>
            <li>
              <a href="#d02">
                <span class="headline-side__tag">结算</span>
                <span class="headline-side__text">结算表补齐“周期”维度筛选</span>
              </a>
            </li>
            <li>
              <a href="#d09">
                <span class="headline-side__tag">评测</span>
                <span class="headline-side__text">新手常查牌型索引重新分组</span>
              </a>
            </li>
          </ul>
          <p class="headline-side__note">
            赛季阶段的内容会先在首页横幅露出，随后进入活动专区；专题类内容则直接并入评测栏目。
          </p>
        </aside>
      </div>
    </div>
  </section>

  <section class="digest" aria-labelledby="digest-title">
    <div class="container">
      <div class="section-head" data-reveal>
        <p class="section-index">§ 02 / 目录</p>
        <h2 class="section-title" id="digest-title">最近上新的条目</h2>
      </div>

      <div class="digest__layout">
        <nav class="digest__index" aria-label="按专题跳到对应条目">
          <p class="digest__index-title">按专题看</p>
          <ul class="digest__index-list">
            <li><a class="digest__index-link" href="#d01">评测</a></li>
            <li><a class="digest__index-link" href="#d02">结算</a></li>
            <li><a class="digest__index-link" href="#d03">赛季</a></li>
            <li><a class="digest__index-link" href="#d04">版本说明</a></li>
            <li><a class="digest__index-link" href="#d05">案例</a></li>
            <li><a class="digest__index-link" href="#d07">活动专区</a></li>
          </ul>
        </nav>

        <ol class="digest__list">
          <li class="digest__item" id="d01" data-reveal>
            <div class="digest__row">
              <span class="digest__num">01</span>
              <div class="digest__body">
                <p class="digest__meta"><span class="tag tag--red">评测</span><span class="digest__time">上周</span></p>
                <h3 class="digest__title"><a href="/platform/">最新版棋牌电玩评测第 2 批专题上线</a></h3>
                <p class="digest__text">六个牌型族的规则清晰度与界面适配度评分同步更新，每条评分下都附了对照说明。</p>
              </div>
            </div>
          </li>

          <li class="digest__item" id="d02" data-reveal>
            <div class="digest__row">
              <span class="digest__num">02</span>
              <div class="digest__body">
                <p class="digest__meta"><span class="tag tag--indigo">结算</span><span class="digest__time">上周</span></p>
                <h3 class="digest__title"><a href="/platform/">结算明细板块补齐“周期”维度筛选</a></h3>
                <p class="digest__text">按牌型、场次、周期三类维度都能直接定位到对应表格，长表支持横向滚动看完整字段。</p>
              </div>
            </div>
          </li>

          <li class="digest__item" id="d03" data-reveal>
            <div class="digest__row">
              <span class="digest__num">03</span>
              <div class="digest__body">
                <p class="digest__meta"><span class="tag tag--green">赛季</span><span class="digest__time">本季度</span></p>
                <h3 class="digest__title"><a href="/">第 3 赛季 6 个主题活动进入开放阶段</a></h3>
                <p class="digest__text">首页横幅已挂出本季入口，活动专区同步放出参与说明与主题内容，社群组织者可以直接取用。</p>
              </div>
            </div>
          </li>

          <li class="digest__item" id="d04" data-reveal>
            <div class="digest__row">
              <span class="digest__num">04</span>
              <div class="digest__body">
                <p class="digest__meta"><span class="tag tag--gold">版本说明</span><span class="digest__time">本季度</span></p>
                <h3 class="digest__title"><a href="/platform/">2026 版第 2 次内容更新包发布</a></h3>
                <p class="digest__text">结算明细字段顺序重新归并，记录页的月份分组改为可折叠，翻查旧记录的步骤少了两步。</p>
              </div>
            </div>
          </li>

          <li class="digest__item" id="d05" data-reveal>
            <div class="digest__row">
              <span class="digest__num">05</span>
              <div class="digest__body">
                <p class="digest__meta"><span class="tag tag--stone">案例</span><span class="digest__time">上季度末</span></p>
                <h3 class="digest__title"><a href="/platform/">案例合集收录第 186 个规则应用案例</a></h3>
                <p class="digest__text">新入档案例覆盖混合牌型判读与跨场次结算两类场景，判读步骤写得比较完整。</p>
              </div>
            </div>
          </li>

          <li class="digest__item" id="d06" data-reveal>
            <div class="digest__row">
              <span class="digest__num">06</span>
              <div class="digest__body">
                <p class="digest__meta"><span class="tag tag--red">评测</span><span class="digest__time">两周前</span></p>
                <h3 class="digest__title"><a href="/faq/">牌型完整度维度的评分细则调整</a></h3>
                <p class="digest__text">48 种常见牌型的缺项识别方式统一，评分说明随专题一起公开，遇到疑问可对照规则问答。</p>
              </div>
            </div>
          </li>

          <li class="digest__item" id="d07" data-reveal>
            <div class="digest__row">
              <span class="digest__num">07</span>
              <div class="digest__body">
                <p class="digest__meta"><span class="tag tag--blush">活动专区</span><span class="digest__time">三周前</span></p>
                <h3 class="digest__title"><a href="/platform/">活动专区本月主题内容上线</a></h3>
                <p class="digest__text">主题内容按月更换，本月围绕赛季回看与经典牌型复盘展开，配套的参与说明一并更新。</p>
              </div>
            </div>
          </li>

          <li class="digest__item" id="d08" data-reveal>
            <div class="digest__row">
              <span class="digest__num">08</span>
              <div class="digest__body">
                <p class="digest__meta"><span class="tag tag--indigo">结算</span><span class="digest__time">三周前</span></p>
                <h3 class="digest__title"><a href="/platform/">结算表明细字段的对齐方式优化</a></h3>
                <p class="digest__text">金额列统一右对齐并改用等宽字体，行首新增场次编号，逐行比对时眼睛不容易串行。</p>
              </div>
            </div>
          </li>

          <li class="digest__item" id="d09" data-reveal>
            <div class="digest__row">
              <span class="digest__num">09</span>
              <div class="digest__body">
                <p class="digest__meta"><span class="tag tag--red">评测</span><span class="digest__time">上月</span></p>
                <h3 class="digest__title"><a href="/faq/">新手常查牌型索引重新分组</a></h3>
                <p class="digest__text">按入门、进阶、特殊三类重新编排，按分类点进去就能看到该组的牌型说明与常见疑问。</p>
              </div>
            </div>
          </li>

          <li class="digest__item" id="d10" data-reveal>
            <div class="digest__row">
              <span class="digest__num">10</span>
              <div class="digest__body">
                <p class="digest__meta"><span class="tag tag--stone">案例</span><span class="digest__time">上月</span></p>
                <h3 class="digest__title"><a href="/platform/">本季度约 12 个案例分批入档</a></h3>
                <p class="digest__text">每季度一次的案例入档按主题分批放出，第一批集中处理结算场景的复现过程。</p>
              </div>
            </div>
          </li>

          <li class="digest__item" id="d11" data-reveal>
            <div class="digest__row">
              <span class="digest__num">11</span>
              <div class="digest__body">
                <p class="digest__meta"><span class="tag tag--green">赛季</span><span class="digest__time">上月</span></p>
                <h3 class="digest__title"><a href="/history/">第 4 赛季主题方向与预告说明</a></h3>
                <p class="digest__text">下一赛季的 6 个主题活动方向已经定下来，活动专区会在开放前一周放出具体日程。</p>
              </div>
            </div>
          </li>

          <li class="digest__item" id="d12" data-reveal>
            <div class="digest__row">
              <span class="digest__num">12</span>
              <div class="digest__body">
                <p class="digest__meta"><span class="tag tag--gold">版本说明</span><span class="digest__time">更早</span></p>
                <h3 class="digest__title"><a href="/platform/">记录页的月份分段与保留周期调整</a></h3>
                <p class="digest__text">记录页保留最近 24 个月的使用记录，按月份分段展示，会员可自行查阅。</p>
              </div>
            </div>
          </li>

          <li class="digest__item" id="d13" data-reveal>
            <div class="digest__row">
              <span class="digest__num">13</span>
              <div class="digest__body">
                <p class="digest__meta"><span class="tag tag--blush">活动专区</span><span class="digest__time">更早</span></p>
                <h3 class="digest__title"><a href="/platform/">活动专区新增赛季回看入口</a></h3>
                <p class="digest__text">已结束赛季的主题内容归入回看区，按赛季阶段排列，补看往期内容时不用再翻旧列表。</p>
              </div>
            </div>
          </li>

          <li class="digest__item" id="d14" data-reveal>
            <div class="digest__row">
              <span class="digest__num">14</span>
              <div class="digest__body">
                <p class="digest__meta"><span class="tag tag--red">评测</span><span class="digest__time">更早</span></p>
                <h3 class="digest__title"><a href="/platform/">界面适配度加入平板横屏场景</a></h3>
                <p class="digest__text">正文最小字号维持在 16 像素，桌面、平板、手机三端的布局差异点单独列出说明。</p>
              </div>
            </div>
          </li>
        </ol>
      </div>
    </div>
  </section>

  <section class="season-band" aria-labelledby="season-title" data-reveal>
    <div class="container">
      <div class="season-band__inner">
        <div class="season-band__text">
          <p class="season-band__kicker">§ 03 / 赛季</p>
          <h2 class="season-band__title" id="season-title">一个赛季怎么排期</h2>
          <p class="season-band__lede">
            每个赛季设 6 个主题活动，按阶段依次开放。开场阶段先在首页横幅给出入口，随后活动专区放出参与说明与主题内容，
            收尾阶段把已结束的内容归入回看区。想在第一时间看到新主题，看首页横幅就够了。
          </p>
          <a class="season-band__link" href="/platform/">去活动专区</a>
        </div>
        <ol class="season-band__steps">
          <li><span class="season-band__step-num">01</span><span class="season-band__step-text">首页横幅露出本季主题入口</span></li>
          <li><span class="season-band__step-num">02</span><span class="season-band__step-text">活动专区发布参与说明与主题内容</span></li>
          <li><span class="season-band__step-num">03</span><span class="season-band__step-text">赛季中段追加回看专题</span></li>
          <li><span class="season-band__step-num">04</span><span class="season-band__step-text">赛季收尾归档，预告下一季方向</span></li>
        </ol>
      </div>
    </div>
  </section>

  <section class="review" aria-labelledby="review-title">
    <div class="container">
      <div class="section-head" data-reveal>
        <p class="section-index">§ 04 / 评测</p>
        <h2 class="section-title" id="review-title">评测专题在看什么</h2>
      </div>

      <div class="review__block">
        <figure class="review__media" data-reveal>
          <img src="{zhanqunpic:h:800w:1200}" width="1200" height="800" loading="lazy" decoding="async"
               alt="几何评测矩阵与暖纸色卡片叠合，局部以鎏金标注五个评测维度">
          <figcaption>评测围绕五个维度打分，每一维都附判读依据。</figcaption>
        </figure>

        <div class="review__body" data-reveal>
          <p class="review__lede">
            评测栏目位于导航第二屏，是长期滚动的核心内容。每个专题挑一类牌型或一种场景切入，
            把规则写成可读的说明，再补上结算与记录的观察，让内容团队、社群组织者都能直接拿去用。
          </p>
          <ol class="review__dims">
            <li><span class="review__dim-num">01</span><strong>规则清晰度</strong><span>条文是否一次读懂，有没有需要反复回看的地方。</span></li>
            <li><span class="review__dim-num">02</span><strong>牌型完整度</strong><span>48 种常见牌型的说明是否齐全，缺项是否标出。</span></li>
            <li><span class="review__dim-num">03</span><strong>结算可读性</strong><span>12 类结算场景的表格能否顺着字段读下来。</span></li>
            <li><span class="review__dim-num">04</span><strong>记录可追溯性</strong><span>使用记录按月份归位，回头找得到当时那一条。</span></li>
            <li><span class="review__dim-num">05</span><strong>界面适配度</strong><span>桌面、平板、手机上的阅读体验是否一致。</span></li>
          </ol>
          <a class="btn btn--gold" href="/platform/">查看完整评测</a>
        </div>
      </div>
    </div>
  </section>

  <section class="release" aria-labelledby="release-title">
    <div class="container">
      <div class="section-head" data-reveal>
        <p class="section-index">§ 05 / 版本说明</p>
        <h2 class="section-title" id="release-title">2026 版按批次往前走</h2>
      </div>

      <div class="release__block">
        <div class="release__body" data-reveal>
          <p class="release__lede">
            2026 版在上一年的第四季度完成三轮内测后开放，之后每季度推出一次内容包，
            每次都会带来结算表结构与记录页体验上的具体改动。这里有两点与您最相关。
          </p>

          <ol class="release__list">
            <li>
              <p class="release__batch">第 2 次内容包 · 结算明细</p>
              <h3 class="release__head">字段顺序重排，周期维度可筛选</h3>
              <p class="release__text">
                最新版2025结算明细板块把牌型、场次、周期三个维度的筛选并到一处，
                金额列改用等宽字体右对齐，行首加上场次编号；手机端保持横向滚动，不会压扁字段。
              </p>
            </li>
            <li>
              <p class="release__batch">第 2 次内容包 · 记录页</p>
              <h3 class="release__head">月份分组可折叠，两年记录随手翻</h3>
              <p class="release__text">
                记录页按月份分段并支持折叠，保留最近 24 个月的使用记录。
                需要给团队或社群做说明时，可以按月份定位到具体条目再摘取。
              </p>
            </li>
            <li>
              <p class="release__batch">第 1 次内容包 · 规则文档</p>
              <h3 class="release__head">章节编号与锚点索引同步刷新</h3>
              <p class="release__text">
                268 篇说明统一了章节编号规则，长文右侧固定锚点索引，
                从任意一条跳到对应段落都不用回到顶部重新找。
              </p>
            </li>
          </ol>

          <a class="btn btn--ghost" href="/history/">看年度版本演进</a>
        </div>

        <figure class="release__media" data-reveal>
          <img src="{zhanqunpic:h:800w:1200}" width="1200" height="800" loading="lazy" decoding="async"
               alt="等宽数字表格片段与暖纸账簿纹理叠合，唐卡红标出本次更新的字段位置">
          <figcaption>结算明细的字段调整会随内容包一并说明。</figcaption>
        </figure>
      </div>
    </div>
  </section>

  <section class="archive" aria-labelledby="archive-title">
    <div class="container">
      <div class="section-head" data-reveal>
        <p class="section-index">§ 06 / 上新</p>
        <h2 class="section-title" id="archive-title">案例与活动专区的新内容</h2>
      </div>

      <div class="archive__grid">
        <article class="archive__card" data-reveal>
          <div class="archive__media">
            <img src="{zhanqunpic:h:700w:1000}" width="1000" height="700" loading="lazy" decoding="async"
                 alt="多张纸层案例卡片错落展开，边缘带印刷标签与几何纹样">
          </div>
          <div class="archive__body">
            <p class="archive__meta"><span class="tag tag--stone">案例合集</span><span class="archive__time">每季度</span></p>
            <h3 class="archive__head">规则应用案例累计 186 个</h3>
            <p class="archive__text">
              案例合集以真实使用场景为单位组织，每季度更新约 12 个，按主题分批放出。
              每个案例写清适用的牌型、判断依据和走完的步骤，内容团队可以直接改成培训材料。
            </p>
            <a class="archive__link" href="/platform/">翻案例合集<span aria-hidden="true">→</span></a>
          </div>
        </article>

        <article class="archive__card archive__card--offset" data-reveal>
          <div class="archive__body">
            <p class="archive__meta"><span class="tag tag--blush">活动专区</span><span class="archive__time">每月</span></p>
            <h3 class="archive__head">主题内容按月更换</h3>
            <p class="archive__text">
              活动专区按赛季阶段发布主题内容和参与说明，每月更新一次。
              碰上赛季交替，专区会保留上一季的回看入口，补看往期内容时也能顺着找回去。
            </p>
            <p class="archive__text">
              组织社群活动的话，建议在赛季开场后一周内来看，此时主题说明、日程和配套素材都已经齐了。
            </p>
            <a class="archive__link" href="/faq/">看常见疑问<span aria-hidden="true">→</span></a>
          </div>
          <div class="archive__ticket" aria-hidden="true">
            <p class="archive__ticket-line">赛季 · 阶段 · 回看</p>
            <p class="archive__ticket-num">06</p>
            <p class="archive__ticket-cap">每赛季主题</p>
          </div>
        </article>
      </div>
    </div>
  </section>

  <section class="next-step" aria-labelledby="next-title">
    <div class="container">
      <div class="next-step__inner" data-reveal>
        <div class="next-step__text">
          <h2 class="next-step__title" id="next-title">看完更新，接下来去这三处</h2>
          <p class="next-step__lede">
            想系统读评测与结算表，去平台版本；遇到牌型或记录页的具体疑问，规则问答里有整理好的答案；
            需要人工说明，工作日的客服邮箱与电话都能找到人。
          </p>
        </div>
        <ul class="next-step__links">
          <li><a href="/platform/"><span class="next-step__label">平台版本</span><span class="next-step__desc">评测、牌型与结算明细</span></a></li>
          <li><a href="/faq/"><span class="next-step__label">规则问答</span><span class="next-step__desc">牌型选择与记录页疑问</span></a></li>
          <li><a href="/contact/"><span class="next-step__label">联系与支持</span><span class="next-step__desc">工作日 9:00-18:00 在线</span></a></li>
        </ul>
      </div>
    </div>
  </section>

</main>

.page-news {
  --news-gap: clamp(1rem, 3vw, 2rem);
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  line-height: 1.85;
  overflow-x: clip;
}

.page-news img {
  max-width: 100%;
  height: auto;
  display: block;
}

.page-news .num {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}

/* ---------- Hero ---------- */
.page-news .news-hero {
  position: relative;
  isolation: isolate;
  padding: clamp(1.5rem, 4vw, 2.75rem) 0 clamp(2.5rem, 6vw, 4rem);
}

.page-news .news-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -30% -12% -50% 36%;
  background: linear-gradient(158deg, rgba(35, 59, 104, 0.14), rgba(35, 59, 104, 0) 70%);
  clip-path: polygon(36% 0, 100% 0, 100% 100%, 0 100%);
  pointer-events: none;
}

.page-news .news-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--red) 0 20%, var(--gold) 20% 36%, var(--line-soft) 36% 100%);
}

.page-news .news-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.75rem, 4vw, 3rem);
  margin-top: clamp(1.5rem, 4vw, 2.5rem);
}

.page-news .news-hero__lead {
  min-width: 0;
}

.page-news .news-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  margin: 0;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  color: var(--red);
}

.page-news .news-kicker::before {
  content: "";
  width: 2rem;
  height: 1px;
  background: var(--gold);
}

.page-news .news-title {
  margin: 0.7rem 0 0;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(2.1rem, 6.4vw, 4.2rem);
  line-height: 1.14;
  letter-spacing: 0.01em;
  color: var(--ink);
  text-wrap: balance;
}

.page-news .news-lede {
  margin: clamp(1rem, 2vw, 1.4rem) 0 0;
  max-width: 46ch;
  font-size: clamp(1rem, 1.35vw, 1.0625rem);
  color: var(--ink-soft);
}

.page-news .news-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: clamp(1.25rem, 3vw, 1.9rem);
}

.page-news .news-hero__panel {
  border-left: 2px solid var(--gold);
  border-top: 1px solid var(--line-gold);
  background: linear-gradient(180deg, rgba(251, 246, 236, 0.95), rgba(251, 246, 236, 0.35));
  padding: 1.15rem 1.15rem 1.35rem;
}

.page-news .news-hero__panel-title {
  margin: 0 0 0.85rem;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  color: var(--stone);
}

.page-news .news-hero__facts {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.7rem;
}

.page-news .news-hero__facts li {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr);
  align-items: baseline;
  gap: 0.6rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px dashed var(--line-soft);
  font-size: 0.9rem;
  color: var(--ink-soft);
}

.page-news .news-hero__facts li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.page-news .news-hero__facts .num {
  font-size: 1.5rem;
  line-height: 1.1;
  color: var(--red);
}

.page-news .section-head {
  margin-bottom: clamp(1.25rem, 3vw, 2rem);
}

/* ---------- Headline ---------- */
.page-news .headline {
  padding: clamp(2.25rem, 5vw, 3.5rem) 0;
  background: linear-gradient(180deg, var(--paper-3), var(--paper));
  border-bottom: 1px solid var(--line-soft);
}

.page-news .headline__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--news-gap);
}

.page-news .headline-card {
  display: flex;
  flex-direction: column;
  background: var(--paper-3);
  border: 1px solid var(--line-gold);
  box-shadow: var(--shadow-card);
}

.page-news .headline-card__media {
  overflow: hidden;
  border-bottom: 1px solid var(--line-gold);
}

.page-news .headline-card__media img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: transform 560ms var(--ease);
}

.page-news .headline-card:hover .headline-card__media img {
  transform: scale(1.035);
}

.page-news .headline-card__body {
  padding: clamp(1.1rem, 3vw, 1.9rem);
}

.page-news .headline-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
}

.page-news .headline-card__time {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  color: var(--stone);
}

.page-news .headline-card__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.4rem, 3.2vw, 2rem);
  line-height: 1.35;
  color: var(--ink);
}

.page-news .headline-card__text {
  margin: 0.8rem 0 0;
  max-width: 62ch;
  font-size: 0.95rem;
  color: var(--ink-soft);
}

.page-news .headline-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 1.1rem;
  padding-bottom: 0.15rem;
  font-size: 0.9rem;
  color: var(--red);
  text-decoration: none;
  border-bottom: 1px solid var(--line-gold);
  transition: border-color var(--dur) var(--ease), gap var(--dur) var(--ease);
}

.page-news .headline-card__link:hover,
.page-news .headline-card__link:focus-visible {
  border-color: var(--red);
  gap: 0.7rem;
}

.page-news .headline-side {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  padding-top: 0.4rem;
}

.page-news .headline-side__title {
  margin: 0;
  padding-bottom: 0.6rem;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  color: var(--stone);
  border-bottom: 1px solid var(--line);
}

.page-news .headline-side__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.2rem;
}

.page-news .headline-side__list a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: 0.55rem;
  padding: 0.7rem 0.2rem;
  font-size: 0.9rem;
  color: var(--ink-soft);
  text-decoration: none;
  border-bottom: 1px solid var(--line-soft);
  transition: color var(--dur) var(--ease), padding-left var(--dur) var(--ease);
}

.page-news .headline-side__list a:hover,
.page-news .headline-side__list a:focus-visible {
  color: var(--red);
  padding-left: 0.45rem;
}

.page-news .headline-side__tag {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  color: var(--indigo);
}

.page-news .headline-side__note {
  margin: 0;
  padding-left: 0.75rem;
  font-size: 0.82rem;
  color: var(--stone);
  border-left: 2px solid var(--blush);
}

/* ---------- Digest ---------- */
.page-news .digest {
  padding: clamp(2.5rem, 6vw, 4rem) 0;
}

.page-news .digest__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 2.5rem);
}

.page-news .digest__index-title {
  margin: 0 0 0.65rem;
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  color: var(--stone);
}

.page-news .digest__index-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.page-news .digest__index-link {
  display: inline-block;
  padding: 0.28rem 0.6rem;
  font-family: var(--font-mono);
  font-size: 0.76rem;
  letter-spacing: 0.06em;
  color: var(--ink-soft);
  text-decoration: none;
  background: var(--paper-3);
  border: 1px solid var(--line-soft);
  transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}

.page-news .digest__index-link:hover,
.page-news .digest__index-link:focus-visible {
  border-color: var(--gold);
  color: var(--red);
}

.page-news .digest__list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line);
}

.page-news .digest__item {
  border-bottom: 1px solid var(--line-soft);
}

.page-news .digest__row {
  display: grid;
  grid-template-columns: 2.3rem minmax(0, 1fr);
  gap: 0.4rem 0.85rem;
  padding: 1rem 0.35rem;
  transition: background-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}

.page-news .digest__row:hover {
  background: rgba(233, 185, 169, 0.16);
  box-shadow: inset 3px 0 0 var(--gold);
}

.page-news .digest__num {
  grid-column: 1;
  grid-row: 1;
  font-family: var(--font-mono);
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: var(--gold-deep);
}

.page-news .digest__body {
  grid-column: 2;
  min-width: 0;
}

.page-news .digest__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 0.35rem;
}

.page-news .digest__time {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  color: var(--stone);
}

.page-news .digest__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.02rem, 2.2vw, 1.2rem);
  line-height: 1.5;
}

.page-news .digest__title a {
  color: var(--ink);
  text-decoration: none;
  transition: color var(--dur) var(--ease);
}

.page-news .digest__title a:hover,
.page-news .digest__title a:focus-visible {
  color: var(--red);
}

.page-news .digest__text {
  margin: 0.35rem 0 0;
  font-size: 0.88rem;
  color: var(--ink-soft);
}

/* ---------- Season band ---------- */
.page-news .season-band {
  position: relative;
  margin: clamp(1rem, 3vw, 2rem) 0;
  padding: clamp(3rem, 8vw, 5rem) 0;
  background: linear-gradient(105deg, var(--green) 0%, var(--indigo) 58%, var(--night) 100%);
  clip-path: polygon(0 7%, 100% 0, 100% 93%, 0 100%);
  color: var(--paper-3);
}

.page-news .season-band__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 2.75rem);
  align-items: start;
}

.page-news .season-band__kicker {
  margin: 0 0 0.6rem;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  color: var(--butter);
}

.page-news .season-band__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(1.6rem, 4vw, 2.5rem);
  line-height: 1.3;
  color: var(--paper-3);
}

.page-news .season-band__lede {
  margin: 0.9rem 0 0;
  max-width: 48ch;
  font-size: 0.95rem;
  color: rgba(251, 246, 236, 0.82);
}

.page-news .season-band__link {
  display: inline-block;
  margin-top: 1.15rem;
  padding-bottom: 0.15rem;
  font-size: 0.9rem;
  color: var(--butter);
  text-decoration: none;
  border-bottom: 1px solid rgba(232, 198, 110, 0.55);
  transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}

.page-news .season-band__link:hover,
.page-news .season-band__link:focus-visible {
  color: #ffffff;
  border-color: #ffffff;
}

.page-news .season-band__steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.15rem;
}

.page-news .season-band__steps li {
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  align-items: baseline;
  gap: 0.7rem;
  padding: 0.65rem 0;
  font-size: 0.9rem;
  color: rgba(251, 246, 236, 0.9);
  border-bottom: 1px solid rgba(251, 246, 236, 0.18);
}

.page-news .season-band__step-num {
  font-family: var(--font-mono);
  font-size: 0.85rem;
  letter-spacing: 0.06em;
  color: var(--butter);
}

/* ---------- Review ---------- */
.page-news .review {
  padding: clamp(2.5rem, 6vw, 4rem) 0;
}

.page-news .review__block {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 2.5rem);
}

.page-news .review__media {
  margin: 0;
  padding: 0.5rem;
  background: var(--paper-3);
  border: 1px solid var(--line-gold);
  box-shadow: var(--shadow-card);
}

.page-news .review__media img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.page-news .review__media figcaption {
  padding: 0.55rem 0.25rem 0.1rem;
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.02em;
  color: var(--stone);
}

.page-news .review__lede {
  margin: 0;
  font-size: 0.98rem;
  color: var(--ink-soft);
}

.page-news .review__dims {
  list-style: none;
  margin: clamp(1rem, 2.5vw, 1.5rem) 0 0;
  padding: 0;
  display: grid;
  gap: 0.1rem;
}

.page-news .review__dims li {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.15rem 0.7rem;
  padding: 0.65rem 0;
  border-bottom: 1px dashed var(--line-soft);
}

.page-news .review__dim-num {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  color: var(--gold-deep);
}

.page-news .review__dims strong {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ink);
}

.page-news .review__dims span:last-child {
  grid-column: 2;
  font-size: 0.86rem;
  color: var(--ink-soft);
}

.page-news .review__body .btn {
  margin-top: 1.25rem;
}

/* ---------- Release ---------- */
.page-news .release {
  padding: clamp(2.5rem, 6vw, 4rem) 0;
  background: var(--paper-2);
  border-top: 1px solid var(--line-soft);
  border-bottom: 1px solid var(--line-soft);
}

.page-news .release__block {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 2.5rem);
}

.page-news .release__lede {
  margin: 0;
  font-size: 0.98rem;
  color: var(--ink-soft);
}

.page-news .release__list {
  list-style: none;
  margin: clamp(1.1rem, 3vw, 1.6rem) 0 0;
  padding: 0;
  display: grid;
  gap: 1rem;
}

.page-news .release__list li {
  padding: 1rem 1rem 1.1rem 1.15rem;
  background: var(--paper-3);
  border-left: 3px solid var(--indigo);
  box-shadow: 0 1px 0 rgba(27, 26, 23, 0.05);
}

.page-news .release__batch {
  margin: 0 0 0.35rem;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  color: var(--indigo);
}

.page-news .release__head {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.02rem, 2.2vw, 1.18rem);
  line-height: 1.45;
  color: var(--ink);
}

.page-news .release__text {
  margin: 0.4rem 0 0;
  font-size: 0.87rem;
  color: var(--ink-soft);
}

.page-news .release__body .btn {
  margin-top: 1.35rem;
}

.page-news .release__media {
  margin: 0;
  align-self: start;
  padding: 0.5rem;
  background: var(--paper-3);
  border: 1px solid var(--line-gold);
  box-shadow: var(--shadow-card);
}

.page-news .release__media img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.page-news .release__media figcaption {
  padding: 0.55rem 0.25rem 0.1rem;
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.02em;
  color: var(--stone);
}

/* ---------- Archive ---------- */
.page-news .archive {
  padding: clamp(2.5rem, 6vw, 4rem) 0 clamp(2rem, 5vw, 3rem);
}

.page-news .archive__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 2rem);
}

.page-news .archive__card {
  display: flex;
  flex-direction: column;
  background: var(--paper-3);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-card);
  transition: transform var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

.page-news .archive__card:hover {
  transform: translateY(-4px);
  border-color: var(--gold);
}

.page-news .archive__media {
  overflow: hidden;
  border-bottom: 1px solid var(--line-soft);
}

.page-news .archive__media img {
  width: 100%;
  aspect-ratio: 10 / 7;
  object-fit: cover;
}

.page-news .archive__body {
  padding: clamp(1rem, 2.6vw, 1.5rem);
}

.page-news .archive__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 0.6rem;
}

.page-news .archive__time {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  color: var(--stone);
}

.page-news .archive__head {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.1rem, 2.6vw, 1.35rem);
  line-height: 1.4;
  color: var(--ink);
}

.page-news .archive__text {
  margin: 0.55rem 0 0;
  font-size: 0.88rem;
  color: var(--ink-soft);
}

.page-news .archive__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.9rem;
  padding-bottom: 0.12rem;
  font-size: 0.86rem;
  color: var(--red);
  text-decoration: none;
  border-bottom: 1px solid var(--line-gold);
  transition: gap var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

.page-news .archive__link:hover,
.page-news .archive__link:focus-visible {
  gap: 0.65rem;
  border-color: var(--red);
}

.page-news .archive__ticket {
  margin: 0 clamp(1rem, 2.6vw, 1.5rem) clamp(1rem, 2.6vw, 1.5rem);
  padding: 0.9rem 1rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.2rem 0.8rem;
  background: linear-gradient(120deg, var(--red), var(--red-deep));
  color: var(--paper-3);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 6% 100%);
}

.page-news .archive__ticket-line {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  color: rgba(251, 246, 236, 0.78);
}

.page-news .archive__ticket-num {
  grid-row: 1 / span 2;
  grid-column: 2;
  margin: 0;
  font-family: var(--font-mono);
  font-size: 2rem;
  line-height: 1;
  color: var(--butter);
}

.page-news .archive__ticket-cap {
  margin: 0;
  font-size: 0.85rem;
  color: var(--paper-3);
}

/* ---------- Next step ---------- */
.page-news .next-step {
  padding: 0 0 clamp(2.5rem, 6vw, 4rem);
}

.page-news .next-step__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  padding: clamp(1.3rem, 3vw, 2rem);
  background: var(--paper-3);
  border: 1px solid var(--line-gold);
  border-top: 3px solid var(--gold);
}

.page-news .next-step__text {
  min-width: 0;
}

.page-news .next-step__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.25rem, 3vw, 1.65rem);
  line-height: 1.4;
  color: var(--ink);
}

.page-news .next-step__lede {
  margin: 0.6rem 0 0;
  max-width: 54ch;
  font-size: 0.9rem;
  color: var(--ink-soft);
}

.page-news .next-step__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.5rem;
}

.page-news .next-step__links a {
  display: grid;
  gap: 0.1rem;
  padding: 0.7rem 0.85rem;
  text-decoration: none;
  background: var(--paper);
  border: 1px solid var(--line-soft);
  transition: border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}

.page-news .next-step__links a:hover,
.page-news .next-step__links a:focus-visible {
  border-color: var(--gold);
  transform: translateY(-2px);
}

.page-news .next-step__label {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--indigo);
}

.page-news .next-step__desc {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.02em;
  color: var(--stone);
}

/* ---------- Page-local tag variants ---------- */
.page-news .tag--indigo {
  color: var(--paper-3);
  background: var(--indigo);
  border-color: var(--indigo);
}

.page-news .tag--stone {
  color: var(--ink);
  background: rgba(138, 130, 116, 0.16);
  border-color: rgba(138, 130, 116, 0.45);
}

.page-news .tag--blush {
  color: var(--red-deep);
  background: rgba(233, 185, 169, 0.35);
  border-color: rgba(179, 38, 30, 0.3);
}

/* ---------- Tablet ---------- */
@media (min-width: 720px) {
  .page-news .archive__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-news .archive__card--offset {
    margin-top: clamp(1.5rem, 4vw, 2.5rem);
  }

  .page-news .archive__ticket {
    margin-top: auto;
  }
}

/* ---------- Desktop ---------- */
@media (min-width: 900px) {
  .page-news .news-hero__grid {
    grid-template-columns: minmax(0, 1.62fr) minmax(0, 0.78fr);
    align-items: end;
  }

  .page-news .headline__grid {
    grid-template-columns: minmax(0, 1.65fr) minmax(0, 0.75fr);
    align-items: start;
  }

  .page-news .digest__layout {
    grid-template-columns: 10.5rem minmax(0, 1fr);
    align-items: start;
  }

  .page-news .digest__index {
    position: sticky;
    top: calc(var(--header-h) + 1.5rem);
  }

  .page-news .digest__index-list {
    flex-direction: column;
    flex-wrap: nowrap;
  }

  .page-news .digest__row {
    grid-template-columns: 3.4rem minmax(0, 1fr);
    gap: 0.4rem 1.2rem;
    padding: 1.15rem 0.6rem;
  }

  .page-news .digest__num {
    font-size: 1.35rem;
  }

  .page-news .season-band__inner {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: clamp(2rem, 5vw, 3.5rem);
  }

  .page-news .review__block {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    align-items: start;
    gap: clamp(2rem, 5vw, 3.25rem);
  }

  .page-news .release__block {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    align-items: start;
    gap: clamp(2rem, 5vw, 3rem);
  }

  .page-news .release__media {
    position: sticky;
    top: calc(var(--header-h) + 1.5rem);
  }

  .page-news .next-step__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(1.5rem, 4vw, 3rem);
  }

  .page-news .next-step__links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .page-news * {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

/* ---------- Print ---------- */
@media print {
  .page-news {
    background: #ffffff;
    color: #000000;
  }

  .page-news .news-hero::before,
  .page-news .news-hero::after,
  .page-news .archive__ticket {
    display: none;
  }

  .page-news .digest__row:hover {
    background: transparent;
    box-shadow: none;
  }

  .page-news .digest__item {
    break-inside: avoid;
  }
}
