/* Small, site-wide refinements: clearer hierarchy and a calmer reading rhythm. */

.hero-video .hero-copy {
  max-width: min(680px, calc(100vw - 2rem));
}

.hero-video p.lead {
  max-width: 54ch;
}

.topic-links {
  gap: clamp(.7rem, 1.2vw, 1.1rem);
}

.topic-links a {
  font-weight: 650;
}

.feature-copy-card p {
  max-width: 30rem;
  line-height: 1.62;
}

.feature-copy-card h3::after {
  width: min(100%, 13rem);
  margin-block: .85rem;
  opacity: .72;
}

.nav,
.header-actions {
  min-width: 0;
}

.header-actions > * {
  min-width: 0;
}

.partner-logo--digitm8 a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .28rem;
  padding: .75rem 1rem;
  text-decoration: none;
}

.partner-logo--digitm8 img {
  width: 3.1rem;
  max-height: 3.1rem;
  flex: 0 0 auto;
}

.partner-logo--digitm8 span {
  color: #0e0d0de8;
  font-size: clamp(1.4rem, 2vw, 1.95rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}

.partner-logo--digitm8:hover span,
.partner-logo--digitm8:focus-within span {
  color: #050505;
}

.partner-logo--opv img {
  width: 88%;
  max-height: 3.05rem;
}

@media (min-width: 901px) {
  .feature-showcase {
    gap: clamp(4.5rem, 6.5vw, 6.75rem);
  }

  .feature-shot-frame {
    box-shadow: 0 20px 46px rgba(17, 24, 39, .09), 0 7px 18px rgba(17, 24, 39, .05);
  }

  .feature-row:hover .feature-shot-frame {
    transform: translateY(-2px) scale(1.005);
  }
}

@media (max-width: 720px) {
  .header-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: stretch;
    gap: .35rem;
    max-width: 100%;
    overflow: hidden;
  }

  .header-actions a,
  header.scrolled .header-actions a,
  body.header-scrolled .header-actions a,
  body.header-scrolled header .header-actions a,
  .theme-toggle,
  header.scrolled .theme-toggle,
  body.header-scrolled .theme-toggle,
  body.header-scrolled header .theme-toggle {
    min-width: 0;
    min-height: 2.35rem;
    padding: .42rem .35rem;
    font-size: .8rem;
    margin-left: 0;
    white-space: normal;
    text-align: center;
    overflow-wrap: anywhere;
  }

  .header-actions a[href="/#contact"] {
    grid-column: span 2;
    color: var(--text);
    background: color-mix(in srgb, var(--primary) 11%, var(--panel));
    border: 1px solid color-mix(in srgb, var(--primary) 22%, var(--border));
  }

  .topic-links {
    flex-wrap: nowrap;
    gap: .55rem;
    margin-block: .8rem 1.8rem;
    overflow-x: auto;
    padding: .1rem var(--container-padding) .45rem;
    scrollbar-width: none;
  }

  .topic-links::-webkit-scrollbar {
    display: none;
  }

  .topic-links a {
    flex: 0 0 auto;
    padding: .42rem .68rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--panel) 82%, var(--bg));
    font-size: .82rem;
  }
}

@media (max-width: 480px) {
  .header-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .3rem;
  }

  .header-actions a[href="/#contact"] {
    grid-column: auto;
  }

  .theme-toggle,
  header.scrolled .theme-toggle,
  body.header-scrolled .theme-toggle,
  body.header-scrolled header .theme-toggle {
    grid-column: 1 / -1;
    width: 100%;
  }
}
