*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: 16px; }
body { margin: 0; font: 17px/1.5 var(--zf-primary-regular); color: var(--ink); background: var(--page); text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
h1, h2, h3, p { margin-top: 0; }
.skip-link { position: absolute; top: -40px; left: 10px; z-index: 1000; background: var(--card); padding: 8px 12px; border-radius: 8px; }
.skip-link:focus { top: 10px; }
h1 { max-width: 680px; font: 84px/1.02 var(--zf-primary-semibold); letter-spacing: 0; margin-bottom: 24px; color: var(--navy); }
h1 span { display: block; color: var(--orange); }
h2 { font: 54px/1.02 var(--zf-primary-medium); letter-spacing: 0; margin-bottom: 18px; color: var(--navy); }
h2 span { color: var(--orange); }
h3 { font: 22px/1.15 var(--zf-primary-semibold); letter-spacing: 0; margin-bottom: 10px; }
p { color: var(--muted); }
.blog-h1 { font: 54px/1.05 var(--zf-primary-semibold); letter-spacing: 0; }
.blog-h2 { font: 38px/1.1 var(--zf-primary-medium); letter-spacing: 0; }
.blog-h3 { font: 26px/1.2 var(--zf-primary-semibold); letter-spacing: 0; }
.section { padding: 98px 24px; }
.rl-section-compact { padding-top: 48px; padding-bottom: 48px; }
.section-inner, .hero-inner, .dark-inner { max-width: var(--container); margin: 0 auto; }
.centered { text-align: center; }
.narrow { max-width: 760px; }
.section-inner > p { font-size: 20px; line-height: 1.55; }
.eyebrow { margin: 0 0 13px; font: 13px/1.1 var(--zf-primary-bold); letter-spacing: 3px; text-transform: uppercase; color: var(--orange); }
.rl-eyebrow-white { color: rgba(255, 255, 255, .82); }
.rl-eyebrow-light { color: rgba(255, 255, 255, .72); }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: none; }
.delay-1 { transition-delay: .08s; }
.delay-2 { transition-delay: .16s; }
.rl-main { min-height: 60vh; }
.rl-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--space-12); align-items: start; }
.rl-pixel-img { display: none; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid rgba(255, 122, 0, .34); outline-offset: 2px; }
