/* Desktop compact density
   Replaces the former body-level zoom/transform workaround with real layout
   sizing. Tablet and mobile rules remain untouched. */

@media (min-width: 1025px) {
  .container,
  .header-inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  .header-inner {
    min-height: 74px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    gap: 18px !important;
  }

  .brand {
    max-width: min(352px, 38vw) !important;
  }

  .brand img {
    height: clamp(46px, 4.2vw, 59px) !important;
  }

  .nav {
    padding: 5px !important;
    gap: 3px !important;
  }

  .nav a,
  .nav .nav-item,
  .nav .nav-link-btn,
  .nav .nav-logout-btn {
    min-height: 32px !important;
    padding: 7px 11px !important;
    font-size: 12px !important;
  }

  .lang-dropdown {
    padding: 6px 8px !important;
    font-size: 12px !important;
  }

  .landing-page {
    padding-top: 21px !important;
    padding-bottom: 64px;
  }

  .index-page .container {
    gap: 22px;
  }

  .hero-shell {
    min-height: 496px;
    padding: clamp(21px, 3.2vw, 35px);
    border-radius: 27px !important;
  }

  .hero-grid {
    grid-template-columns: minmax(0, 1.25fr) minmax(256px, 336px);
    gap: 34px;
    min-height: 424px;
  }

  .hero-copy {
    gap: 19px;
    max-width: 608px;
  }

  .hero-copy .badge {
    padding: 8px 13px;
    font-size: 10px;
  }

  .hero-copy h1 {
    font-size: clamp(43px, 6.4vw, 82px);
  }

  .hero-copy > p {
    font-size: clamp(14px, 1.6vw, 18px);
  }

  .hero-actions {
    gap: 11px;
  }

  .primary-btn,
  .secondary-btn,
  .btn,
  button.btn {
    padding: 11px 19px;
    font-size: 13px;
  }

  .hero-stats {
    gap: 13px;
  }

  .stat-card {
    padding: 19px;
    border-radius: 16px;
  }

  .grid-panels {
    gap: 18px;
  }

  .panel {
    padding: 22px;
    border-radius: 19px;
  }

  .news-section {
    padding: 24px;
    border-radius: 24px;
  }

  .news-grid {
    gap: 14px;
  }

  .news-card {
    padding: 16px;
    border-radius: 16px;
  }

  .page-shell:not(.forum-page-shell) {
    width: min(960px, calc(100% - 26px));
    margin-bottom: 38px;
    gap: 16px;
  }

  /* Forum boards and topics need their own wider reading/data layout on
     standard desktops. Their 1240/1180 px widths are defined in 15-community. */
  .forum-page-shell {
    margin-bottom: 38px;
    gap: 16px;
  }

  html[lang="ja"] .nav > a,
  html[lang="ja"] .nav > .nav-dropdown > .nav-dropdown__toggle,
  html[lang="ja"] .nav > .nav-logout-form .nav-link-btn {
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
  }

  .page-shell--narrow {
    width: min(720px, calc(100% - 26px));
  }

  .compact-hero {
    padding: 19px;
  }

  .stack-list {
    gap: 13px;
  }

  .hero-card {
    padding: 38px 26px;
    gap: 14px;
    border-radius: 26px;
  }

  .site-footer,
  footer {
    font-size: 13px;
  }
}

/* Preserve compact component proportions on wide monitors. Container width is
   owned by the global responsive scale so pages align consistently. */
@media (min-width: 1600px) {
  .page-shell,
  .profile-shell--wide {
    width: min(var(--maxw), calc(100% - 52px));
  }

  .messages-page-shell .container {
    max-width: var(--maxw);
  }

  .hero-shell {
    min-height: 528px;
  }

  .hero-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(312px, 400px);
    gap: clamp(38px, 4vw, 69px);
    min-height: 456px;
  }

  .hero-copy {
    max-width: 736px;
  }

  .hero-copy h1 {
    font-size: clamp(62px, 4.1vw, 93px);
  }

  .stat-card {
    padding: 24px;
    border-radius: 21px;
  }

  .messages-app {
    grid-template-columns: 336px minmax(0, 1fr);
  }
}
