/* NH LabShack — page-level layout on top of nh-labshack-theme.css.
   Tokens and component classes come from the theme file; only layout glue lives here. */

.nh-nav__inner { display: flex; gap: 28px; padding: 14px 0; overflow-x: auto; }
.nh-nav a { padding: 4px 0; white-space: nowrap; }
.nh-nav a:focus-visible,
.nh-btn:focus-visible,
a:focus-visible { outline: 3px solid var(--nh-red-bright); outline-offset: 2px; }

.nh-hero__inner { padding: 72px 0 64px; max-width: 880px; }
.nh-hero__lead { font-size: 19px; color: var(--nh-graphite); max-width: 60ch; }
.nh-hero__cta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 28px; }

.nh-section { padding: 56px 0 0; }

.nh-icon { width: 44px; height: 44px; color: var(--nh-red); margin-bottom: 10px; }
.nh-card__body p { margin: 0; color: var(--nh-graphite); font-size: 15px; }
.nh-card__title a { color: inherit; text-decoration: none; }
.nh-card__title a:hover { color: var(--nh-red); }

.nh-callout--cta { display: flex; align-items: center; justify-content: space-between;
  gap: 24px; flex-wrap: wrap; }
.nh-callout__text { margin: 6px 0 0; font: 800 22px/1.2 var(--nh-font-display);
  text-transform: uppercase; }

.nh-about { max-width: 72ch; }
.nh-about .nh-specs li { border-bottom-color: var(--nh-line); }

.nh-footer__inner { display: flex; align-items: center; justify-content: space-between;
  gap: 24px; flex-wrap: wrap; padding: 28px 0 8px; }
.nh-footer__links { display: flex; gap: 22px; flex-wrap: wrap; }
.nh-footer__links a { font-weight: 800; text-transform: uppercase; letter-spacing: .05em;
  text-decoration: none; }
.nh-footer__links a:hover { color: var(--nh-red-bright); }
.nh-footer__legal { padding: 8px 0 28px; }
.nh-footer__legal p { margin: 0; color: #bdbdbd; font-size: 13px; }

@media (max-width: 700px) {
  .nh-hero__inner { padding: 48px 0 44px; }
  .nh-hero__cta .nh-btn { width: 100%; }
  .nh-callout--cta .nh-btn { width: 100%; }
}
