/* Visual polish overrides */
.skip-link {
  position: fixed;
  left: 12px;
  top: 12px;
  transform: translateY(-180%);
  opacity: 0;
  pointer-events: none;
}
.skip-link:focus {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.brand {
  gap: 12px;
}
.brand-company {
  font-size: 1rem;
}
.brand-product {
  padding-left: 12px;
  border-left: 1px solid var(--line);
  font-size: .88rem;
}

h1 {
  font-size: clamp(2.7rem, 4.6vw, 4.7rem);
  line-height: 1.02;
}
h2 {
  font-size: clamp(1.9rem, 3vw, 3rem);
  line-height: 1.1;
}
.hero-lede {
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
}

.hero-shot {
  aspect-ratio: 16 / 10;
  min-height: 0;
}
.hero-shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.product-shot-large {
  min-height: 0;
  background: #fff;
}
.product-shot-large img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.legal-page h1 {
  font-size: clamp(2.4rem, 4vw, 4rem);
}
.legal-page h2 {
  font-size: clamp(1.35rem, 2.2vw, 1.85rem);
  margin-top: 36px;
}
.legal-meta {
  color: var(--muted);
  margin-bottom: 32px;
}
.legal-page a {
  color: var(--accent);
}

@media (max-width: 720px) {
  .brand {
    gap: 8px;
  }
  .brand-product {
    display: inline;
    padding-left: 8px;
    font-size: .78rem;
  }
  h1 {
    font-size: clamp(2.45rem, 12vw, 3.55rem);
  }
  h2 {
    font-size: clamp(1.85rem, 8vw, 2.6rem);
  }
  .hero-shot {
    aspect-ratio: 4 / 3;
  }
}
