/* The supplied transparent mark has generous vertical padding. This viewport
   removes only that padding: the unscaled image keeps every original letter. */
.logo-wrap { width: 330px; }
.logo-wrap img { width: 330px; transform: translateY(-50%); }

@media (max-width: 900px) {
  .logo-wrap { width: 220px; }
  .logo-wrap img { width: 220px; transform: translateY(-50%); }
}

/* The full desktop nav is no longer comfortable below this width. */
@media (max-width: 1023px) {
  .desktop-nav, .subscribe-link { display: none; }
  .header-inner { height: 66px; padding: 0 21px; }
  .logo-wrap { width: 220px; height: 39px; }
  .logo-wrap img { width: 220px; transform: translateY(-50%); }
  .menu-button { display: grid; }
  .mobile-nav { padding: 10px 21px 18px; border-top: 1px solid var(--line); gap: 14px; flex-wrap: wrap; }
  .mobile-nav.open { display: flex; }
  .mobile-nav a { font-size: 14px; font-weight: 700; }
  .mobile-nav button { margin-left: auto; padding: 6px 10px; }
}

@media (max-width: 340px) {
  .header-inner { padding: 0 14px; }
  .logo-wrap { width: 185px; }
  .logo-wrap img { width: 185px; }
  .mobile-nav { padding-left: 14px; padding-right: 14px; }
}

/* A technology-review voice: one confident, readable sans family throughout. */
:root { --serif: var(--sans); }
.feature h1, .topic-page h1, .about-page h1, .article h1 { font-weight: 550; letter-spacing: -.04em; }
.feature h1 { font-size: clamp(38px, 4.4vw, 64px); }
.story h3, .research-band h2, .newsletter h2, .newsletter-box h2, .about-page h2, .article-body h2 { font-weight: 550; letter-spacing: -.03em; }
.article-body { font-size: 17px; line-height: 1.72; letter-spacing: -.006em; }
.deck { font-weight: 430; }
.story h3 { line-height: 1.16; }

/* Keep client-side route focus useful to assistive tech without outlining every page. */
main:focus { outline: none; }
.search-dialog[hidden], .newsletter-modal[hidden] { display: none; }

/* Footer uses the supplied mark too; only the asset's transparent padding is clipped. */
.footer-logo-mark { display: block; width: 145px; height: 25px; overflow: hidden; position: relative; }
.footer-logo-mark img { position: absolute; top: 50%; width: 145px; height: auto; transform: translateY(-50%); }

/* Feature-first desktop framing keeps the start of the latest section in view. */
@media (min-width: 901px) {
  .feature-image img { height: clamp(300px, 24vw, 340px); }
  .feature-copy { margin: 24px 0 42px; }
  .feature h1 { margin: 12px 0 12px; }
  .byline { margin-top: 16px; }
}

/* Keep the desktop evidence cards readable within the rail without wrapping. */
@media (min-width: 1024px) {
  .coming-soon-feature .planned-agents i { padding: 12px 5px; }
  .planned-agents .customer-full b { font-size: 9px; }
  .planned-agents .customer-full em { font-size: 8px; }
  .planned-agents .customer-full small { font-size: 8px; }
  .planned-agents .customer-full strong { font-size: 11px; }
}
