/* Shared type, controls and icon language. Page compositions stay in their own stylesheets. */
@font-face {
  font-family: 'Manrope';
  src: url('/assets/fonts/manrope-variable.ttf') format('truetype');
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
:root {
  --font-display: 'Manrope', Inter, Arial, sans-serif;
  --control-radius: 10px;
}
body { text-rendering: optimizeLegibility; }
body h1, body h2, body h3, body .section-heading {
  font-family: var(--font-display);
  font-weight: 600;
}
body h1 { letter-spacing: -.05em; line-height: 1.08; text-wrap: balance; }
body h2, body .section-heading { letter-spacing: -.035em; line-height: 1.15; text-wrap: balance; }
body h3 { letter-spacing: -.02em; }
.site-nav > a { font-size: 14px; }
.site-page .btn {
  min-height: 50px;
  padding: 14px 22px;
  border-radius: var(--control-radius);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: -.015em;
  gap: 12px;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.site-page .btn:hover { transform: none; filter: none; box-shadow: 0 4px 16px #0000000d; }
.site-page .btn:active { box-shadow: none; }
.site-nav .btn { min-height: 44px; padding: 11px 18px; font-size: 13px; }
.site-page .text-link, .site-page .quiet-link {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  gap: 10px;
}
.site-page .text-link:hover, .site-page .quiet-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.ui-icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  vertical-align: -.2em;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.site-page .btn .ui-icon { color: currentColor; }
.site-page .btn span[aria-hidden] { display: inline-flex; align-items: center; }
.site-page .btn:hover span[aria-hidden] { transform: none; }
.site-page .text-link > span[aria-hidden] { display: inline-flex; align-items: center; }
.site-page .story-card-arrow .ui-icon, .site-page .industry-arrow .ui-icon { width: 20px; height: 20px; }
.site-page [data-theme-toggle] { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 10px; border-radius: 50%; }
.site-page [data-theme-toggle]:hover { background: var(--surface-2); }
.site-page [data-theme-toggle] svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.story-next::after { content: ''; width: 18px; height: 18px; flex: 0 0 18px; background: currentColor; mask: url('/assets/icons/arrow-right.svg') center / contain no-repeat; }
.story-next { display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.story-next[hidden] { display: none; }

@media(max-width:760px) {
  .site-page .site-nav > a { font-size: 16px; }
}
@media(prefers-reduced-motion:reduce) {
  .site-page .btn { transition: none; }
}
