/* Project news use the same white Contour surfaces and Staffi brand colors. */
.news-page { font-size:18px; }
.news-page .header-inner { min-height:88px; }
.news-page .seo-nav { margin-top:4px; }
.news-page main { padding-bottom:58px; }
.news-heading { padding-block:30px 38px; max-width:860px; }
.news-heading .overline { font-size:14px; }
.news-heading h1 { margin-top:18px; color:var(--purple); font-size:clamp(36px,4.2vw,60px); line-height:1.14; letter-spacing:-.035em; font-weight:800; overflow-wrap:break-word; }
.news-heading > p:not(.overline) { margin-top:22px; color:var(--muted); font-size:20px; line-height:1.65; }
.news-list { display:grid; grid-template-columns:minmax(0,1fr); max-width:900px; padding:0; margin:0; list-style:none; }
.news-card { display:block; overflow:hidden; border:1px solid var(--line); border-radius:26px; background:#fff; transition:border-color .18s ease; }
.news-card:hover { border-color:#1cbced; }
.news-card:focus-visible { outline-offset:5px; }
.news-card-media { position:relative; border-bottom:1px solid var(--line); background:#fafafa; }
.news-card-media img { width:100%; aspect-ratio:4038 / 1936; object-fit:cover; }
.news-play { position:absolute; left:24px; bottom:22px; display:flex; align-items:center; justify-content:center; width:60px; height:60px; border-radius:50%; background:#5413b7; color:#fff; box-shadow:0 8px 24px #20102f18; }
.news-play svg { width:24px; height:24px; fill:currentColor; margin-left:3px; }
.news-card-copy { padding:28px 32px 30px; }
.news-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; color:var(--muted); font-size:17px; line-height:1.5; }
.news-kind { display:inline-flex; align-items:center; gap:8px; color:var(--purple); font-weight:600; }
.news-kind::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--cyan); }
.news-card h2 { margin-top:14px; color:var(--purple); font-size:clamp(26px,3.2vw,36px); line-height:1.22; letter-spacing:-.025em; }
.news-card-copy > p { margin-top:14px; color:var(--muted); font-size:18px; line-height:1.65; }
.news-card-action { display:inline-flex; align-items:center; gap:12px; min-height:44px; margin-top:18px; color:var(--purple); font-size:18px; font-weight:700; }
.news-card-action svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.news-article { max-width:1100px; margin-inline:auto; }
.news-article .news-heading { max-width:970px; }
.news-article .news-heading .news-meta { margin-top:22px; }
.news-player { margin:0; padding:0; border:1px solid var(--line); border-radius:24px; background:#fff; overflow:hidden; }
.news-player video { display:block; width:100%; height:auto; aspect-ratio:4038 / 1936; max-height:78vh; max-height:78dvh; object-fit:contain; background:#18151e; }
.news-player-tools { display:flex; flex-wrap:wrap; align-items:center; gap:20px 28px; padding:22px 26px; border-top:1px solid var(--line); }
.news-skip { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.news-skip button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 14px; border:1px solid var(--line); border-radius:12px; color:var(--purple); background:#fff; font-size:17px; line-height:1.4; font-weight:600; }
.news-skip button:hover { border-color:var(--cyan); }
.news-control { display:flex; align-items:center; flex-wrap:wrap; gap:10px; min-height:44px; color:var(--purple); font-size:17px; font-weight:600; }
.news-control select { min-height:44px; min-width:84px; padding:8px 30px 8px 12px; border:1px solid var(--line); border-radius:12px; color:var(--purple); background:#fff; }
.news-volume { flex:1 1 290px; }
.news-volume input { flex:1 1 100px; width:130px; min-width:80px; max-width:190px; min-height:44px; margin:0; accent-color:var(--purple); cursor:pointer; }
.news-volume output { min-width:44px; text-align:right; font-variant-numeric:tabular-nums; }
.news-player figcaption { padding:0 26px 22px; color:var(--muted); font-size:17px; line-height:1.6; }
.news-error { margin:0 26px 24px; padding:18px; border:1px solid var(--line); border-radius:14px; color:var(--ink); font-size:17px; line-height:1.6; background:#fff; }
.news-error a { color:var(--purple); text-decoration:underline; text-underline-offset:4px; }
.news-error[hidden] { display:none; }
.news-article-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; padding-top:26px; }
.news-back,.news-direct { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--purple); font-size:18px; font-weight:700; }
.news-back:hover,.news-direct:hover { text-decoration:underline; text-underline-offset:5px; }
.news-page .footer-inner { min-height:100px; }
.news-page .footer-inner p,.news-page .footer-inner > a:last-child { font-size:17px; }
@media(max-width:700px) {
  .news-page .header-inner { min-height:78px; gap:16px; }
  .news-page main { padding-bottom:38px; }
  .news-heading { padding-block:24px 30px; }
  .news-heading h1 { font-size:clamp(34px,8.4vw,46px); }
  .news-heading > p:not(.overline) { font-size:18px; margin-top:18px; }
  .news-card { border-radius:22px; }
  .news-card-copy { padding:22px 22px 24px; }
  .news-card-copy > p { font-size:17px; }
  .news-play { left:18px; bottom:16px; width:48px; height:48px; }
  .news-player { border-radius:20px; }
  .news-player-tools { gap:14px 18px; padding:18px 20px; }
  .news-skip { width:100%; }
  .news-skip button { flex:1; }
  .news-volume { flex-basis:100%; }
  .news-volume input { max-width:none; }
  .news-player figcaption { padding:0 20px 20px; }
  .news-error { margin-inline:20px; }
  .news-article-footer { align-items:flex-start; flex-direction:column; gap:8px; padding-top:20px; }
  .news-page .footer-inner { align-items:flex-start; gap:12px; }
  .news-page .footer-inner p { margin-left:0; }
}
@media(max-width:360px) {
  .news-article .news-heading h1 { font-size:30px; }
  .news-card-copy { padding-inline:18px; }
  .news-player-tools { padding-inline:16px; }
  .news-volume { gap:8px; }
  .news-volume input { flex-basis:80px; }
  .news-player figcaption { padding-inline:16px; }
}
@media(prefers-reduced-motion:reduce) { .news-card { transition:none; } }
