/* Homepage sections added 2026-10-13: Supported by, Our thinking, Careers.
   Premium minimal (Apple-style) on the homepage's dark theme. Scoped to .nh-* so the
   homepage's existing styles and these sections cannot affect each other. */
.nh-band { background: #000; color: #F5F5F7; padding: 104px 20px; text-align: center; font-family: inherit; }
.nh-band .nh-inner { max-width: 1080px; margin: 0 auto; }
.nh-band .nh-eyebrow { margin: 0 0 10px; font-size: 1.05rem; font-weight: 600; color: #FF9F45; letter-spacing: 0; text-transform: none; }
.nh-band .nh-title { margin: 0 0 16px; font-size: clamp(2rem, 1.3rem + 2.6vw, 3.1rem); font-weight: 600; line-height: 1.08; letter-spacing: -0.025em; color: #F5F5F7; text-transform: none; }
.nh-band .nh-lead { margin: 0 auto 48px; max-width: 40rem; font-size: clamp(1.05rem, 0.98rem + 0.3vw, 1.25rem); line-height: 1.5; color: #A1A1A6; }
.nh-band .nh-pill { display: inline-block; padding: 14px 26px; border-radius: 980px; background: #F5F5F7; color: #1D1D1F; font-size: 1rem; font-weight: 500; text-decoration: none; transition: background-color .2s ease; }
.nh-band .nh-pill:hover, .nh-band .nh-pill:focus-visible { background: #FFFFFF; }
.nh-band a:focus-visible { outline: 2px solid #F5F5F7; outline-offset: 3px; }

/* Supported by */
.nh-supported { padding: 64px 20px; }
.nh-supported .nh-supported__label { margin: 0 0 24px; font-size: 0.95rem; font-weight: 500; color: #A1A1A6; letter-spacing: 0; }
.nh-supported .nh-supported__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin: 0; padding: 0; list-style: none; }
.nh-supported .nh-supported__list a { display: flex; align-items: center; justify-content: center; width: 188px; height: 88px; padding: 14px 22px; background: #FFFFFF; border-radius: 18px; transition: transform .2s ease; }
.nh-supported .nh-supported__list a:hover { transform: translateY(-2px); }
.nh-supported .nh-supported__list img { display: block; max-width: 100%; max-height: 52px; width: auto; height: auto; object-fit: contain; }

/* Our thinking */
.nh-insights .nh-insights__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0 0 48px; padding: 0; list-style: none; text-align: left; }
.nh-insights .nh-insights__card { position: relative; display: flex; flex-direction: column; margin: 0; padding: 36px 30px 30px; background: #1D1D1F; border-radius: 18px; transition: background-color .2s ease; }
.nh-insights .nh-insights__card:hover, .nh-insights .nh-insights__card:focus-within { background: #2C2C2E; }
.nh-insights .nh-insights__tag { margin: 0 0 12px; font-size: 0.9rem; font-weight: 600; color: #FF9F45; }
.nh-insights .nh-insights__name { margin: 0 0 12px; font-size: 1.35rem; font-weight: 600; line-height: 1.25; letter-spacing: -0.015em; color: #F5F5F7; text-transform: none; }
.nh-insights .nh-insights__desc { flex: 1; margin: 0 0 24px; font-size: 1rem; line-height: 1.5; color: #A1A1A6; }
.nh-insights .nh-insights__link { font-size: 1rem; font-weight: 500; color: #F5F5F7; text-decoration: none; }
.nh-insights .nh-insights__link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.nh-insights .nh-insights__link span { display: inline-block; transition: transform .2s ease; }
.nh-insights .nh-insights__card:hover .nh-insights__link span { transform: translateX(3px); }

/* Careers */
.nh-careers { background: #0A0A0A; }

@media (max-width: 900px) {
  .nh-insights .nh-insights__grid { grid-template-columns: minmax(0, 1fr); max-width: 30rem; margin-left: auto; margin-right: auto; }
}
@media (max-width: 600px) {
  .nh-band { padding: 72px 16px; }
  .nh-supported { padding: 48px 16px; }
  .nh-supported .nh-supported__list a { width: 148px; height: 76px; padding: 12px 16px; }
  .nh-supported .nh-supported__list img { max-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .nh-band *, .nh-band *::after { transition: none !important; }
}
