.press-page a:focus-visible {
  outline: 3px solid var(--green-deep);
  outline-offset: 5px;
}

.press-page .site-footer a:focus-visible { outline-color: #fff; }

.press-page .footer-links strong { color: rgba(255, 255, 255, 0.62); }

.press-skip {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 100;
  padding: 12px 20px;
  border-radius: 12px;
  background: var(--surface);
  transform: translateY(-160%);
}

.press-skip:focus { transform: none; }
.press-page main { max-width: 1080px; }
.press-page p { line-height: 1.9; }
.press-page main a:not(.button):not(.press-preview) { color: var(--green-deep); text-decoration: underline; text-underline-offset: 4px; }
.press-page main { overflow-wrap: anywhere; }
.press-page h1, .press-page h2 { font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif; }
.press-page h1 { margin: 12px 0 24px; font-size: clamp(36px, 6vw, 64px); line-height: 1.3; }
.press-page h2 { margin: 0 0 24px; font-size: clamp(25px, 4vw, 34px); line-height: 1.5; }
.press-page h3 { font-size: 19px; line-height: 1.5; }
.press-hero { padding: 64px 0 36px; }
.press-eyebrow { color: var(--green-deep); font-weight: 700; }
.press-lead { max-width: 46em; font-size: 18px; }
.press-update, .press-format { color: var(--text); font-size: 14px; }
.press-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 20px; }
.press-page main .button { white-space: normal; text-align: center; line-height: 1.6; }
.press-toc { display: flex; flex-wrap: wrap; gap: 8px 28px; padding: 20px 0; border-block: 1px solid var(--line); }
.press-toc a, .press-links a { display: inline-flex; align-items: center; min-height: 44px; }
.press-section { padding: 48px 0; scroll-margin-top: 92px; }
.press-section + .press-section { border-top: 1px solid var(--line); }
.press-copy { max-width: 48em; margin: 20px 0; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.press-copy h3 { margin-top: 0; }
.press-copy p:last-child { margin-bottom: 0; }
.press-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 24px; margin-top: 32px; }
.press-features article { border-top: 3px solid var(--green); }
.press-facts { margin: 0; }
.press-facts > div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.press-facts dt { font-weight: 700; }
.press-facts dd { margin: 0; line-height: 1.9; }
.press-links { display: flex; flex-wrap: wrap; gap: 8px 28px; list-style: none; padding: 0; }
.press-note { color: var(--text); }
.press-brand-grid { max-width: 480px; }
.press-assets-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.press-asset { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.press-preview { display: flex; justify-content: center; align-items: center; padding: 24px; background: var(--surface-muted); }
.press-preview img { display: block; max-width: 100%; width: auto; height: auto; object-fit: contain; }
.press-preview-brand img { width: 180px; }
.press-preview-screenshots img { max-height: 450px; }
.press-asset-body { padding: 24px; }
.press-asset-body h3 { margin-top: 0; }
.press-asset-body .button { width: 100%; }
.press-bundle { margin-top: 32px; padding: 28px; border-radius: var(--radius); background: var(--green-soft); }
.press-credit { font-weight: 700; }
.press-contact { max-width: 48em; margin-bottom: 24px; }

@media (max-width: 599px) {
  .press-hero { padding-top: 36px; }
  .press-section { padding-block: 32px; }
  .press-actions .button { width: 100%; }
  .press-assets-grid { grid-template-columns: 1fr; }
  .press-facts > div { grid-template-columns: 1fr; gap: 8px; }
  .press-copy, .press-asset-body { padding: 20px; }
}
