/**
 * Module: Base elements
 * Source: Stage 3 approved design system
 * Change-ID: 20260726-152013-stage-3-design-system
 * Runtime: mirrored by Bricks Theme Style
 */
html { color-scheme: light; }
body {
  background: var(--volvo-canvas);
  color: var(--volvo-black);
  font-family: var(--volvo-font-sans);
  font-size: var(--volvo-body-size);
  line-height: 1.6;
}
h1, h2, h3 {
  color: var(--volvo-black);
  font-family: var(--volvo-font-sans);
  font-weight: 700;
  letter-spacing: -.02em;
  text-wrap: balance;
}
h1, .volvo-h1 { font-size: var(--volvo-h1-size); line-height: 1.08; }
h2, .volvo-h2 { font-size: var(--volvo-h2-size); line-height: 1.12; }
h3, .volvo-h3 { font-size: var(--volvo-h3-size); line-height: 1.2; }
.volvo-body { font-size: var(--volvo-body-size); line-height: 1.6; }
.volvo-small { font-size: var(--volvo-small-size); line-height: 1.55; }
.volvo-label { font-size: var(--volvo-label-size); font-weight: 600; line-height: 1.5; }
.volvo-button-text { font-size: var(--volvo-button-size); font-weight: 700; line-height: 1.2; }
.volvo-caption { font-size: var(--volvo-caption-size); line-height: 1.5; }
.volvo-price { font-size: max(1rem, var(--volvo-body-size)); line-height: 1.5; }
a { color: var(--volvo-nordic-blue); text-underline-offset: .18em; }
:focus-visible { outline: 2px solid var(--volvo-black); outline-offset: 3px; }
