:root {
  --brand: #2192d3;
  --accent: #ff0024;
  --brand-color: #2192d3;
  --accent-color: #ff0024;
  --brand-tint: #2192d314;
  --accent-tint-border: #ff002426;
  --brand-ink: #2192d3;
  --on-brand: #ffffff;
  --on-accent: #ffffff;
  --font-heading: 'Montserrat', sans-serif;
  --font-body: 'Source Sans 3', sans-serif;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
img, video { max-width: 100%; height: auto; }
section { padding: 4rem 0; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); }
[data-t] h1, [data-t] h2, [data-t] h3, [data-t] h4, [data-t] h5, [data-t] h6 { font-size: inherit; font-weight: inherit; }
a { text-decoration: none; }
[data-t="button"] a { color: inherit; display: block; }
[data-t="nav"] a, [data-t="logo"] a { color: inherit; }
[data-t="nav"] a:hover, [data-t="nav"] a[aria-current="page"] { text-decoration: underline; text-underline-offset: 4px; }
body { font-family: var(--font-body); color: #1f2937; -webkit-font-smoothing: antialiased; }
@media (max-width: 768px) { section { padding: 2.5rem 0; } }
@keyframes ss-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes ss-fade-up { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
@keyframes ss-fade-down { from { opacity: 0; transform: translateY(-28px); } to { opacity: 1; transform: none; } }
@keyframes ss-slide-in-left { from { opacity: 0; transform: translateX(-40px); } to { opacity: 1; transform: none; } }
@keyframes ss-slide-in-right { from { opacity: 0; transform: translateX(40px); } to { opacity: 1; transform: none; } }
@keyframes ss-zoom-in { from { opacity: 0; transform: scale(0.94); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { [data-b] { animation: none !important; transition: none !important; } }
html { scroll-behavior: smooth; scroll-padding-top: 76px; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; }