html { scroll-behavior: smooth; scroll-padding-top: calc(var(--rf-header-height) + var(--rf-space-4)); }
body { background: var(--rf-color-page); color: var(--rf-color-text); font-family: var(--rf-font-family); font-size: var(--rf-font-size-body); line-height: var(--rf-line-height-body); }
body.rf-menu-open { overflow: hidden; }
.rf-home, .rf-site-header, .rf-site-footer { font-family: var(--rf-font-family); }
.rf-home *, .rf-site-header *, .rf-site-footer * { box-sizing: border-box; }
.rf-home img, .rf-site-header img, .rf-site-footer img { display: block; height: auto; max-width: 100%; }
.rf-home figure { margin: 0; }
.rf-home h1, .rf-home h2, .rf-home h3, .rf-site-footer h2 { color: inherit; font-family: inherit; font-weight: 500; line-height: var(--rf-line-height-heading); margin: 0; }
.rf-home h1 { font-size: var(--rf-font-size-h1); letter-spacing: -0.025em; }
.rf-home h2 { font-size: var(--rf-font-size-h2); letter-spacing: -0.02em; }
.rf-home h3, .rf-site-footer h2 { font-size: var(--rf-font-size-h3); }
.rf-home p, .rf-site-footer p { margin: 0; }
.rf-home a, .rf-site-header a, .rf-site-footer a { text-decoration: none; }
.rf-container { margin-inline: auto; max-width: calc(var(--rf-container-wide) + (var(--rf-page-gutter) * 2)); padding-inline: var(--rf-page-gutter); width: 100%; }
.rf-section { background: var(--rf-color-surface); padding-block: var(--rf-section-space); position: relative; }
.rf-section-muted { background: var(--rf-color-surface-muted); }
.rf-section-dark { background: var(--rf-color-dark); color: var(--rf-color-text-inverse); }
.rf-eyebrow { color: var(--rf-color-brand); font-size: var(--rf-font-size-eyebrow); font-weight: 700; letter-spacing: .18em; margin-bottom: var(--rf-space-4) !important; text-transform: uppercase; }
.rf-section-heading { margin: 0 auto var(--rf-space-8); max-width: 780px; text-align: center; }
.rf-section-heading > p:last-child { color: var(--rf-color-text-secondary); margin-top: var(--rf-space-5); }
.rf-button-group { display: flex; flex-wrap: wrap; gap: var(--rf-space-4); }
.rf-button { align-items: center; border: 2px solid transparent; border-radius: var(--rf-radius-button); cursor: pointer; display: inline-flex; font-size: 15px; font-weight: 600; justify-content: center; min-height: 44px; min-width: 142px; padding: 9px 24px; transition: background-color var(--rf-motion-fast) var(--rf-ease-standard), border-color var(--rf-motion-fast) var(--rf-ease-standard), color var(--rf-motion-fast) var(--rf-ease-standard), transform var(--rf-motion-fast) var(--rf-ease-standard); }
.rf-button-primary { background: var(--rf-color-brand); border-color: var(--rf-color-brand); color: var(--rf-color-dark); }
.rf-button-primary:hover, .rf-button-primary:focus-visible { background: var(--rf-color-brand-hover); border-color: var(--rf-color-brand-hover); color: #fff; transform: translateY(-1px); }
.rf-button-outline-inverse { background: rgba(0,0,0,.06); border-color: var(--rf-color-brand); color: var(--rf-color-brand); }
.rf-button-outline-inverse:hover, .rf-button-outline-inverse:focus-visible { background: var(--rf-color-brand); color: var(--rf-color-dark); }
.rf-button:focus-visible, .rf-home a:focus-visible, .rf-site-header a:focus-visible, .rf-site-header button:focus-visible, .rf-site-footer a:focus-visible, .rf-faq-item button:focus-visible { box-shadow: var(--rf-shadow-focus); outline: none; }
.rf-text-link { color: var(--rf-color-text); display: inline-flex; font-weight: 600; gap: var(--rf-space-2); margin-top: var(--rf-space-6); }
.rf-section-dark .rf-text-link { color: var(--rf-color-text-inverse); }
.rf-text-link span { color: var(--rf-color-brand); transition: transform var(--rf-motion-fast) var(--rf-ease-standard); }
.rf-text-link:hover span, .rf-text-link:focus-visible span { transform: translateX(4px); }
.rf-visually-hidden { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.rf-skip-link { background: var(--rf-color-brand); color: var(--rf-color-dark); font-weight: 700; left: var(--rf-space-4); padding: var(--rf-space-3) var(--rf-space-4); position: fixed; top: -80px; z-index: 100001; }
.rf-skip-link:focus { top: var(--rf-space-4); }
[data-rf-reveal] { opacity: 0; transform: translateY(18px); transition: opacity var(--rf-motion-slow) var(--rf-ease-standard), transform var(--rf-motion-slow) var(--rf-ease-standard); }
[data-rf-reveal].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } [data-rf-reveal] { opacity: 1; transform: none; } }
