/*
 * Public site polish (2026-10-09 audit). Loaded after the older stylesheets;
 * every block says what it fixes. New work goes into the component files, not
 * into more overrides here.
 */

/* News: Russian words were hyphenated in the middle ("производительнос-ть"). */
.news-feed h2, .news-story h1 { hyphens: manual; overflow-wrap: break-word; word-break: normal; text-wrap: balance; max-width: none; }
@media (min-width: 761px) { .news-feed h2 { font-size: clamp(30px, 3vw, 44px); line-height: 1.02; letter-spacing: -.035em; } }

/* Games page: on a phone the five-picture collage ran under the heading;
   three strips keep the heading readable. */
@media (max-width: 760px) {
  .projects-page__hero-media img:nth-child(n + 4) { display: none; }
}

/* Contact, Careers (and the 404 page): cards instead of one long narrow column. */
.contact-page { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; width: min(1120px, calc(100% - 48px)); padding: 132px 0 110px; }
.contact-page__hero { grid-column: 1 / -1; padding-bottom: 24px; border-bottom: 0; }
.contact-page__mail, .contact-page__note, .contact-page__channels {
  padding: clamp(24px, 3vw, 40px); border: 1px solid var(--v2-line-strong, rgba(243, 244, 238, .24)); border-radius: 4px; background: rgba(255, 255, 255, .03);
}
.contact-page__note { border-bottom: 1px solid var(--v2-line-strong, rgba(243, 244, 238, .24)); }
.contact-page__channels, .not-found__links { grid-column: 1 / -1; }
.contact-page__address { font-size: clamp(15px, 2.3vw, 28px); overflow-wrap: anywhere; }
.contact-page__mail p, .contact-page__channels > p, .contact-page__note p { max-width: 62ch; }
.contact-page__note p + p { margin-top: 12px; }
.contact-page a:not(.project-button):not(.contact-page__address):not(.social-card) { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(233, 135, 72, .6); }
.not-found__links { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 860px) {
  .contact-page__address { font-size: clamp(14px, 4vw, 28px); }
  .contact-page__mail, .contact-page__note, .contact-page__channels { padding: 20px 16px; }
  .contact-page { grid-template-columns: 1fr; width: calc(100% - 36px); padding: 112px 0 80px; gap: 16px; }
}

/* Touch targets: footer and legal links are at least 44px high on phones. */
@media (max-width: 760px) {
  .site-footer__nav a, .site-footer__bottom a { display: inline-flex; align-items: center; min-height: 44px; }
}

/* Games page: the "coming soon" row under the released catalog. */
.projects-page__list--soon { margin-top: clamp(40px, 6vw, 80px); }
.projects-page__soon-title { margin: 0 0 20px; font-size: 14px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--v2-accent, #ff6900); }
