/* Shared tokens inherit the block theme brand settings. No body reset. */
:root {
  --cg-red: var(--wp--preset--color--challenger-red, #ed1c24);
  --cg-yellow: var(--wp--preset--color--challenger-yellow, #ffc72c);
  --cg-ink: #171a1d;
  --cg-muted: #4d4d4f;
  --cg-surface: #f4f5f6;
  --cg-border: #d9dde1;
  --cg-font: var(--wp--preset--font-family--open-sans, "Open Sans", Arial, sans-serif);
  --cg-content-width: 1320px;
  --cg-page-gutter: 28px;
  --cg-container-width: min(var(--cg-content-width), calc(100% - var(--cg-page-gutter) * 2));
  --cg-radius: 4px;
  --cg-shadow: 0 8px 28px rgb(23 26 29 / 10%);
  --cg-section-space: clamp(32px, 4vw, 56px);
}
.cg-content { color: var(--cg-ink); font-family: var(--cg-font); font-size: 1rem; line-height: 1.6; }
.cg-content, .cg-content *, .cg-content *::before, .cg-content *::after { box-sizing: border-box; }
.cg-container { width: var(--cg-container-width); margin-inline: auto; }
.cg-section { padding-block: var(--cg-section-space); }
.cg-section--muted { background: var(--cg-surface); }
.cg-section-title { margin: 0 0 24px; font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 700; line-height: 1.2; text-align: center; }
.cg-section-title::after { content: ""; display: block; width: 40px; height: 3px; background: var(--cg-yellow); margin: 14px auto 0; }
.cg-eyebrow { margin: 0 0 12px; font-size: .875rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.cg-content img { display: block; max-width: 100%; height: auto; }
.cg-icon { width: 48px; height: 48px; flex: 0 0 auto; color: var(--cg-red); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cg-small { font-size: .875rem; line-height: 1.5; }
.cg-muted { color: var(--cg-muted); }
@media (max-width: 650px) { :root { --cg-page-gutter: 12px; } }
