/* Deliberately limited repairs to the established portal design.
   No replacement layouts, images or global typography/button overrides.
   Loaded only by home, studio, press and directory pages; never product pages. */

/* A 320px browser with a visible scrollbar has less than 320px of content space. */
body.portal-page { min-width: 0; }

/* Match the existing square, bold uppercase controls. Keep game accent colours
   and the distinction between filled discover actions and text previews. */
.portal-page :is(.overview-game-discover, .overview-game-preview, .overview-preview-retry) {
  min-height: 48px;
  border-radius: 0;
  font: 800 .78rem/1.6 var(--sans);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.portal-page .overview-game-discover { padding: .85rem 1.2rem; }
.portal-page .overview-preview-retry { background: transparent; }
/* Existing red primary buttons had navy text. White provides clearer contrast;
   the white home hero CTA and its outlined Coregrove companion are untouched. */
.portal-page :is(.studio-page, .press-page) .button.primary { color: var(--dw-white); }
.portal-page :is(.studio-page, .press-page) .button.primary:hover { color: var(--dw-navy); }
/* The press-game headings were the sans-serif site's serif outlier.
   Retain their established sizes, line-height and layout. */
.portal-page .press-game h2 { font-family: var(--sans); font-weight: 750; }
/* The section label inherited the dark-hero's white text on its light surface. */
.portal-page .games-section .section-heading .eyebrow { color: #66758a; }
/* Compact factual spacing only. Preserve the tall illustrated press hero,
   full-width game art, two-column copy blocks and large closing headings. */
.portal-page :is(.press-facts, .press-use, .press-kit-contents, .press-contact) {
  padding-top: clamp(3rem, 5vw, 5rem);
  padding-bottom: clamp(3rem, 5vw, 5rem);
}
.portal-page .press-games { padding-bottom: clamp(3rem, 5vw, 5rem); }
.portal-page .press-fact-list div { padding-block: 1rem; }
.portal-page .press-section-links { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin-top: 1rem; }
.portal-page .press-section-links a { display: inline-flex; min-height: 44px; align-items: center; color: var(--ink); font-weight: 750; text-underline-offset: .2em; }
.portal-page .press-game, .portal-page .press-contact { scroll-margin-top: 120px; }
.portal-page .press-email-action { position: relative; display: inline-flex; max-width: 100%; align-items: center; vertical-align: middle; }
.portal-page .press-email-action > a { min-width: 0; overflow-wrap: anywhere; }
.portal-page .press-copy-email {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  min-height: 44px;
  margin: 0;
  padding: 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  vertical-align: middle;
}
.portal-page .press-copy-email svg { display: block; width: 20px; height: 20px; }
.portal-page .press-copy-email:hover { outline: none; background: transparent; color: #bd1724; }
.portal-page .press-copy-email:focus-visible { outline: 2px solid #bd1724; outline-offset: 0; background: transparent; color: var(--ink); }
.portal-page .press-copy-status { position: absolute; top: 100%; right: 0; max-width: 100%; font: 650 .78rem/1.4 var(--sans); color: var(--ink); }
.portal-page .press-page .press-download-meta { font-size: .82rem; line-height: 1.65; }

/* Readable supporting information on the existing light surfaces. */
.portal-page .studio-principles .values p,
.portal-page .studio-section-heading > p:not(.eyebrow),
.portal-page .press-page :is(.press-heading, .press-game, .press-use, .press-contact) p:not(.eyebrow):not(.press-download-meta):not(.press-utility-status),
.portal-page .press-game li,
.portal-page .press-kit-contents li {
  color: #46586e;
  font-size: 1.0625rem;
  line-height: 1.7;
}
.portal-page .studio-game-card p,
.portal-page .game-card-copy > p,
.portal-page .manifesto-detail > p {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: #e0e6ef;
}
.portal-page .press-fact-list dt { color: #46586e; font-size: .8125rem; }
.portal-page .press-fact-list dd { font-size: 1rem; }
.portal-page .press-page .press-download-meta { font-size: .875rem; color: #46586e; }
.portal-page :is(.studio-section-heading, .games-section .section-heading) .eyebrow,
.portal-page .card-meta { font-size: .8125rem; }

/* Shorten only the empty transitions, not the illustrated sections. */
.portal-page .studio-games { padding-bottom: 3rem; }
.portal-page .studio-principles { padding-top: 3rem; }
.portal-page .press-hero { min-height: 0; padding-bottom: 3rem; }
.portal-page .press-facts { padding-top: 3rem; }

/* Three direct downloads within the original hero copy column. */
.portal-page .press-quick-downloads { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; }
.portal-page .press-download-choice { flex: 1 1 150px; min-width: 0; }
.portal-page .press-download-choice .button { width: 100%; padding-inline: 1rem; }
.portal-page .press-download-choice .press-download-meta { margin-top: .6rem; }
.portal-page .press-download-choice .press-download-meta span:not(:first-child) { display: none; }
.portal-page .press-download-choice .press-download-meta span::before { content: none; }
.portal-page .press-package-note { margin: .25rem 0 0; color: #46586e; font-size: .875rem; line-height: 1.5; }
.portal-page .press-section-links { gap: .5rem 1.25rem; }
@media (max-width: 720px) {
  .portal-page .press-game, .portal-page .press-contact { scroll-margin-top: 96px; }
  .portal-page .card-meta { flex-direction: column; align-items: flex-start; gap: .5rem; }
}
@media (max-width: 520px) {
  .portal-page .press-download-choice { flex-basis: 100%; }
}
/* Keep the complete word Bildmaterial inside a narrow mobile viewport. */
@media (max-width: 360px) {
  .portal-page .press-hero h1 { font-size: 3.25rem; }
  .portal-page :is(.press-kit-contents, .press-contact) h2 { font-size: 2.5rem; }
  .portal-page .game-card h3 { font-size: 2.75rem; }
  .portal-page .studio-game-card h3 { font-size: 2.125rem; }
}
