/* Route-critical foundation extracted from the shared stylesheet for /case-studies/ only. */
:root {
  --ink: #05111f;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  min-width: 0;
}

html {
  max-width: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  line-height: 1.55;
}

a {
  color: inherit;
  text-decoration: none;
  overflow-wrap: anywhere;
}

img,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

h1,
h2,
h3 {
  margin-top: 0;
  color: var(--ink);
  line-height: 1.06;
  letter-spacing: -0.045em;
}

p { margin-top: 0; }

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

@media (max-width: 640px) {
  html,
  body.reform-site {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  body.reform-site *,
  body.reform-site *::before,
  body.reform-site *::after { box-sizing: border-box; }

  body.reform-site main,
  body.reform-site section,
  body.reform-site footer {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: clip !important;
  }

  body.reform-site h1,
  body.reform-site h2,
  body.reform-site h3,
  body.reform-site p,
  body.reform-site li {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  body.reform-site h1 { font-size: clamp(30px, 9vw, 38px) !important; line-height: 1.06 !important; }
  body.reform-site h2 { font-size: clamp(26px, 8vw, 34px) !important; line-height: 1.08 !important; }
  body.reform-site h3 { font-size: clamp(20px, 6vw, 26px) !important; line-height: 1.14 !important; }
  body.reform-site p,
  body.reform-site li { font-size: 15px !important; line-height: 1.55 !important; }

  body.reform-site button {
    min-height: 46px !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
    touch-action: manipulation;
  }

  body.reform-site h1,
  body.reform-site h2,
  body.reform-site h3 {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
}
