:root {
  --text-page-title: 56px;
  --text-section-title: 24px;
  --text-card-title: 24px;
  --text-subtitle: 20px;
  --text-body: 15px;
  --text-control: 14px;
  --text-caption: 12px;
  --text-count: 32px;
}
html { margin: 0; padding: 0; border: 0; }
body.site-shell h1,
body.site-shell h2,
body.site-shell h3,
body.site-shell h4,
body.site-shell h5,
body.site-shell h6 { letter-spacing: 0; }
body.site-shell { font-size: var(--text-body); }
body.site-shell h1 { font-size: var(--text-page-title); line-height: 1.2; font-weight: 800; overflow-wrap: anywhere; }
body.site-shell .home-hero h1 { font-size: clamp(52px, 6.4vw, 88px); line-height: 1.12; }
body.site-shell h2 { font-size: var(--text-section-title); line-height: 1.4; font-weight: 700; }
body.site-shell h3 { font-size: var(--text-subtitle); line-height: 1.4; font-weight: 700; }
body.site-shell h4,
body.site-shell h5,
body.site-shell h6 { font-size: var(--text-body); line-height: 1.6; font-weight: 700; }
body.site-shell main p { font-size: var(--text-body); line-height: 1.9; }
body.site-shell .catalog-copy h2,
body.site-shell .studio-directory-info h2 { font-size: var(--text-card-title); }
body.site-shell .studio-identity h1 span { display: block; margin: 8px 0 0; font-size: inherit; font-weight: inherit; }
body.site-shell .member-grid b,
body.site-shell .studio-featured-games span,
body.site-shell .contact-card b { font-size: var(--text-body); line-height: 1.6; }
body.site-shell .top-inner nav > a,
body.site-shell .button,
body.site-shell .text-link,
body.site-shell .catalog-link,
body.site-shell .external-links a,
body.site-shell .studio-section-nav a,
body.site-shell footer > a,
body.site-shell footer div:nth-child(2) span { font-size: var(--text-control); line-height: 1.5; }
body.site-shell .section-kicker,
body.site-shell .eyebrow,
body.site-shell .empty-state > span,
body.site-shell .notice-card > span,
body.site-shell .contact-card span,
body.site-shell .game-tags span,
body.site-shell .store-breadcrumb,
body.site-shell .store-heading > span,
body.site-shell .gallery-count,
body.site-shell main .gallery-hint,
body.site-shell .summary-body dl,
body.site-shell .member-grid span,
body.site-shell .catalog-bottom > span,
body.site-shell .catalog-count small,
body.site-shell .catalog-bar,
body.site-shell .studio-section-nav span { font-size: var(--text-caption); line-height: 1.6; }
body.site-shell .catalog-count { font-size: var(--text-count); line-height: 1.2; }
body.site-shell .home-hero h1 em { letter-spacing: -.015em; }
body.site-shell .home-hero { grid-template-columns: 55% 45%; }
.site-shell .top-inner nav > a {
  transition: color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .12s ease;
}
.site-shell .top-inner nav > a:not(.nav-cta) { padding-block: 9px; }
.site-shell .top-inner nav > a:not(.nav-cta):hover { color: #08635d; box-shadow: inset 0 -2px #08635d; }
.site-shell .top-inner nav > a:not(.nav-cta).active { color: #085c55; box-shadow: inset 0 -2px #085c55; }
.site-shell .top-inner nav > a:active { transform: translateY(2px); }
.site-shell .top-inner nav > a:focus-visible { outline: 2px solid #08635d; outline-offset: 4px; }
@media (max-width: 760px) {
  :root {
    --text-page-title: 36px;
    --text-section-title: 22px;
    --text-card-title: 22px;
    --text-subtitle: 18px;
    --text-count: 26px;
  }
  body.site-shell .home-hero h1 { font-size: clamp(36px, 9.5vw, 61px); }
}
