/* HMIC shared maturity layer: non-PIC public routes, August 2026. */
:root { --shell-max: 1180px; }

html { overflow-x: clip; }
body { overflow-wrap: break-word; }

/* Keep reading measures deliberate while giving operational layouts room. */
.wrap,
.toprail-inner,
.topnav-inner,
.footer-rail-inner,
.footer-nav,
.site-footer-inner,
.foot-mark { max-width: var(--shell-max); }
.hero .lede,
.lede,
.prose { max-width: 72ch; }

/* One quiet interaction language across existing route-local components. */
.btn,
.actions .btn,
.ctas .btn,
.pc-cta-row .btn {
  box-shadow: 0 1px 0 rgba(42,38,24,.18);
  text-decoration: none;
}
.btn:hover,
.actions .btn:hover,
.ctas .btn:hover,
.pc-cta-row .btn:hover { box-shadow: 0 2px 0 rgba(42,38,24,.22); }
.panel,
.card,
.pcard,
.industry,
.release,
.studio-showcase,
.ratchet .rstep,
.pic-idea { border-radius: 4px; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--orange, #c44a26);
  outline-offset: 3px;
  border-radius: 2px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Homepage is the only route with nested navigation: make every destination
   intentionally visible rather than hiding it in the old three-column grid. */
@media (max-width: 820px) {
  .topnav-inner { align-items: flex-start; }
  .nav-menu { display: block; width: 100%; }
  .nav-menu > li { border-top: 1px solid var(--rule, #d8cea8); }
  .nav-menu > li > .nav-top,
  .nav-menu > li > a.nav-top { display: block; padding: 10px 0; }
  .nav-submenu,
  .nav-menu > li:hover > .nav-submenu,
  .nav-menu > li:focus-within > .nav-submenu {
    display: block;
    position: static;
    min-width: 0;
    padding: 0 0 8px 14px;
    border: 0;
    box-shadow: none;
    background: transparent;
  }
  .nav-submenu a { padding: 7px 0; }
}
