.punch-news {
    padding: 0 40px var(--punch-space-24);
    background: var(--punch-bg);
    scroll-margin-top: var(--punch-space-8);
}

.punch-news-inner { max-width: 1320px; margin-inline: auto; }
.punch-news-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--punch-space-8);
    padding-top: var(--punch-space-16);
    margin-bottom: var(--punch-space-12);
    border-top: 1px solid var(--punch-line);
}
.punch-news-heading h2 {
    margin: 0;
    color: var(--punch-text);
    font: 600 clamp(30px, 3.8vw, 52px)/1.2 var(--punch-font-display);
    letter-spacing: -.05em;
    text-wrap: balance;
}
.punch-news-heading p {
    max-width: 560px;
    margin: var(--punch-space-4) 0 0;
    color: var(--punch-muted);
    font-size: var(--punch-text-md);
    line-height: 1.8;
}
.punch-news-heading > .punch-button { flex: none; margin-bottom: var(--punch-space-1); }
.punch-news-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--punch-space-12); }
.punch-news-grid-single { grid-template-columns: minmax(0, 800px); }
.punch-news-featured { min-width: 0; }
.punch-news-featured-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid var(--punch-line);
    border-radius: var(--punch-radius-stage);
    background: var(--punch-surface);
    color: var(--punch-text);
    overflow: hidden;
    transition: border-color var(--punch-motion-ui) var(--punch-ease);
}
.punch-news-cover { position: relative; aspect-ratio: 16 / 9; background: var(--punch-surface-raised); overflow: hidden; }
.punch-news :is(.punch-news-cover, .punch-news-thumbnail) img { display: block; width: 100%; height: 100%; object-fit: cover; }
.punch-news-latest {
    position: absolute;
    left: var(--punch-space-6);
    top: var(--punch-space-6);
    padding: var(--punch-space-2) var(--punch-space-3);
    border-radius: var(--punch-radius-control);
    background: var(--punch-accent);
    color: var(--punch-on-accent);
    font-size: var(--punch-text-xs);
    font-weight: 600;
    line-height: 1.5;
}
.punch-news-featured-body { display: flex; flex-direction: column; align-items: flex-start; flex: 1; padding: var(--punch-space-8); }
.punch-news-date { display: block; color: var(--punch-muted); font-size: var(--punch-text-xs); line-height: 1.6; }
.punch-news h3 { color: var(--punch-text); font-weight: 600; overflow-wrap: anywhere; transition: color var(--punch-motion-fast) var(--punch-ease); }
.punch-news-featured h3 { margin: var(--punch-space-3) 0; font-size: clamp(24px, 2.2vw, 30px); line-height: 1.35; }
.punch-news-summary { margin: 0; color: var(--punch-muted); font-size: var(--punch-text-sm); line-height: 1.7; overflow-wrap: anywhere; }
.punch-news-read { display: inline-flex; align-items: center; gap: var(--punch-space-3); padding-top: var(--punch-space-8); margin-top: auto; color: var(--punch-accent); font-size: var(--punch-text-sm); font-weight: 600; }
.punch-news-list { display: flex; flex-direction: column; min-width: 0; }
.punch-news-item { display: flex; flex: 1; min-width: 0; border-bottom: 1px solid var(--punch-line); }
.punch-news-item:first-child { border-top: 1px solid var(--punch-line); }
.punch-news-item-link { display: grid; grid-template-columns: 136px minmax(0, 1fr) 20px; align-items: center; gap: var(--punch-space-6); width: 100%; padding-block: var(--punch-space-8); color: var(--punch-text); }
.punch-news-thumbnail { aspect-ratio: 1.15; background: var(--punch-surface-raised); border-radius: var(--punch-radius-control); overflow: hidden; }
.punch-news-item h3 { margin: var(--punch-space-2) 0; font-size: 20px; line-height: 1.4; }
.punch-news-item-arrow { color: var(--punch-muted); transition: color var(--punch-motion-fast) var(--punch-ease); }
.punch-news-featured-link:is(:hover, :focus-visible) { border-color: var(--punch-control-line); }
.punch-news :is(.punch-news-featured-link, .punch-news-item-link):is(:hover, :focus-visible) h3,
.punch-news-item-link:is(:hover, :focus-visible) .punch-news-item-arrow { color: var(--punch-accent); }
.punch-news-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; padding: var(--punch-space-4); color: var(--punch-accent); font: 600 clamp(18px, 3vw, 40px)/1.2 var(--punch-font-display); letter-spacing: -.05em; }
.punch-news-placeholder > span { margin-top: var(--punch-space-2); color: var(--punch-muted); font: 400 var(--punch-text-xs)/1.4 var(--punch-font-body); letter-spacing: 0; }
.punch-news-empty { padding: var(--punch-space-12); border: 1px solid var(--punch-line); border-radius: var(--punch-radius-panel); background: var(--punch-surface); }
.punch-news-empty h3 { margin: 0 0 var(--punch-space-2); font-size: 24px; }
.punch-news-empty p { margin: 0; color: var(--punch-muted); }

@media (max-width: 1100px) {
    .punch-news-grid { gap: var(--punch-space-8); }
    .punch-news-item-link { grid-template-columns: 100px minmax(0, 1fr); gap: var(--punch-space-4); padding-block: var(--punch-space-6); }
    .punch-news-item-arrow { display: none; }
    .punch-news-featured-body { padding: var(--punch-space-6); }
}
@media (max-width: 780px) {
    .punch-news { padding-inline: var(--punch-space-6); padding-bottom: var(--punch-space-16); }
    .punch-news-heading { align-items: flex-start; flex-direction: column; gap: var(--punch-space-6); padding-top: var(--punch-space-12); margin-bottom: var(--punch-space-8); }
    .punch-news-grid { grid-template-columns: minmax(0, 1fr); }
    .punch-news-item-link { grid-template-columns: 120px minmax(0, 1fr) 20px; }
    .punch-news-item-arrow { display: block; }
    .punch-news-featured-link { border-radius: var(--punch-radius-panel); }
    .punch-news-latest { left: var(--punch-space-4); top: var(--punch-space-4); }
    .punch-news-empty { padding: var(--punch-space-6); }
}
@media (max-width: 420px) {
    .punch-news { padding-inline: 20px; }
    .punch-news-heading h2 { font-size: 28px; }
    .punch-news-heading p { font-size: var(--punch-text-sm); }
    .punch-news-item-link { grid-template-columns: 88px minmax(0, 1fr); }
    .punch-news-item-arrow { display: none; }
    .punch-news-item h3 { font-size: var(--punch-text-lg); }
    .punch-news-featured-body { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .punch-news *, .punch-news *::before, .punch-news *::after { transition: none; }
}
