/* 516Labs visual refinement: technical type, prominent mark, compact spacing. */
:root {
  --labs-display: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
}
* { box-sizing: border-box; }
body { -webkit-font-smoothing: antialiased; }
h1 {
  font-family: var(--labs-display) !important;
  font-weight: 500 !important;
  line-height: 1.12 !important;
  letter-spacing: -.025em !important;
}
h2, h3 { text-wrap: balance; }
.home-title {
  font-size: clamp(34px, 4.25vw, 56px) !important;
  max-width: 770px !important;
}
.hd-band {
  min-height: 116px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  gap: 28px !important;
}
.brand-link { display: block; flex: 0 0 auto; line-height: 0; }
.brand-logo {
  display: block;
  width: 224px !important;
  height: auto !important;
  max-width: 100%;
  object-fit: contain;
}
.hd-actions { margin-left: auto; }
.hd-description { font-family: var(--labs-display) !important; }
.footer-logo {
  width: 208px !important;
  height: auto !important;
  max-width: 100%;
  margin-bottom: 20px !important;
}
.svc-2x2 > a { grid-template-columns: 150px minmax(0, 1fr) !important; }
.svc-2x2 > a > div { min-width: 0; }
.svc-2x2 > a > div:last-child { padding: 22px !important; }
.stock-detail {
  display: block;
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 6px;
  margin: 0 0 22px;
}
a:focus-visible, button:focus-visible {
  outline: 2px solid #6f9bc4;
  outline-offset: 4px;
}
@media (max-width: 1080px) {
  .brand-logo { width: 208px !important; }
  .hd-band { min-height: 110px !important; gap: 24px !important; }
  .hd-description { display: none !important; }
}
@media (max-width: 760px) {
  .home-title { max-width: 600px !important; }
  .svc-2x2 > a { grid-template-columns: 160px minmax(0, 1fr) !important; }
}
@media (max-width: 620px) {
  .brand-logo { width: clamp(164px, 49vw, 200px) !important; }
  .hd-band { min-height: 104px !important; gap: 16px !important; }
  .hd-actions { gap: 0 !important; }
  .home-title { font-size: clamp(34px, 8.6vw, 48px) !important; }
  .svc-2x2 > a { grid-template-columns: minmax(0, 1fr) !important; }
  .svc-2x2 > a > div:first-child { min-height: 0 !important; height: 168px; }
  .svc-2x2 > a > div:last-child { padding: 22px !important; }
  .stock-detail { height: 190px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}
