/* RW CMS generated site theme.
   Safe to regenerate from setup/settings. Base application CSS remains untouched. */
:root {
    --rw-primary: #1f3a5f;
    --rw-accent: #ffb84d;
    --rw-background: #f7f3ea;
    --rw-ink: #111111;
    --rw-surface: #ffffff;
    --rw-radius: 28px;
    --rw-header-bg: linear-gradient(135deg, #132235, #1f3a5f);
    --rw-hero-bg: radial-gradient(circle at 82% 8%, rgba(255,184,77,.24), transparent 24rem), linear-gradient(135deg, #1f3a5f, #132235);
    --rw-hero-shape: 48px;
    --rw-card-shadow: 0 20px 50px rgba(31,58,95,.12);
    --rw-section-gap: 4rem;
    --rw-heading-letter-spacing: -0.04em;
    --rw-button-transform: none;
    --rw-heading-font: "Fraunces", ui-sans-serif, system-ui, sans-serif;
    --rw-body-font: "Source Sans 3", ui-sans-serif, system-ui, sans-serif;
    --sf-green: #1f3a5f;
    --sf-lime: #ffb84d;
    --sf-cream: #f7f3ea;
    --sf-ink: #111111;
}

.site-public {
    background:
        radial-gradient(circle at 8% 6%, color-mix(in srgb, var(--rw-accent) 16%, transparent), transparent 24rem),
        radial-gradient(circle at 92% 4%, color-mix(in srgb, var(--rw-primary) 13%, transparent), transparent 28rem),
        var(--rw-background);
    color: var(--rw-ink);
    font-family: var(--rw-body-font);
}

.site-public h1,
.site-public h2,
.site-public h3,
.site-public .sf-blog-title,
.site-public .sf-service-content h2,
.site-public .sf-service-content h3 {
    font-family: var(--rw-heading-font);
}

.site-public header,
.site-public .sf-service-hero,
.site-public .sf-footer,
.site-public .sf-content-cta {
    background: var(--rw-header-bg);
}

.site-public .sf-service-hero,
.site-public .sf-page-hero {
    background: var(--rw-hero-bg);
    border-bottom-left-radius: var(--rw-hero-shape);
    border-bottom-right-radius: var(--rw-hero-shape);
}

.site-public .sf-service-hero__media,
.site-public .sf-content-card,
.site-public .sf-rich-section,
.site-public .sf-detail-panel,
.site-public .sf-process-card,
.site-public .sf-faq-item,
.site-public .sf-blog-card {
    border-radius: var(--rw-radius);
    box-shadow: var(--rw-card-shadow);
}

.site-public .sf-content-card,
.site-public .sf-process-card,
.site-public .sf-faq-item {
    border-color: color-mix(in srgb, var(--rw-primary) 12%, transparent);
}

.site-public a,
.site-public .sf-section-kicker,
.site-public .sf-content-card h3,
.site-public .sf-process-card h3 {
    color: color-mix(in srgb, var(--rw-primary) 88%, #000 12%);
}

.site-public .sf-marketing-popup__primary,
.site-public .sf-content-cta a,
.site-public header a[href]:last-child,
.site-public .rw-nav-cta,
.site-public .rw-hero-cta-primary {
    background: var(--rw-accent);
    color: color-mix(in srgb, var(--rw-primary) 70%, #000 30%);
    text-transform: var(--rw-button-transform);
}

.site-public .rw-hero-kicker,
.site-public .sf-page-toc > span,
.site-public .sf-faq-cta .sf-section-kicker {
    color: var(--rw-accent) !important;
}

.site-public .rw-link-on-dark:hover,
.site-public header nav a:hover {
    color: var(--rw-accent) !important;
}

.site-public .rw-hero-cta-secondary {
    border-color: color-mix(in srgb, #fff 26%, transparent) !important;
    color: #fff !important;
}

.site-public .rw-hero-cta-secondary:hover {
    background: color-mix(in srgb, #fff 12%, transparent) !important;
}

.site-public .sf-page-toc a.is-active,
.site-public .sf-page-toc a:hover,
.site-public .sf-faq-item--interactive.is-open .sf-faq-toggle {
    background: var(--rw-accent) !important;
    color: color-mix(in srgb, var(--rw-primary) 72%, #000 28%) !important;
}

.site-public .sf-service-shell,
.site-public .sf-home-about,
.site-public .sf-client-trust,
.site-public .sf-review-showcase {
    padding-top: var(--rw-section-gap);
    padding-bottom: var(--rw-section-gap);
}

.site-public h1,
.site-public h2 {
    letter-spacing: var(--rw-heading-letter-spacing);
}

.site-public .sf-service-hero__media {
    transform: rotate(-.35deg);
}

.site-public .sf-service-content > .sf-rich-section,
.site-public .sf-service-content > .sf-detail-panel,
.site-public .sf-service-content > .sf-content-cta {
    box-shadow: var(--rw-card-shadow);
}

body::before {
    content: "premium playful SaaS with editorial headings, warm neutrals, rounded cards, and confident conversion-focused layouts";
    position: fixed;
    inset: auto 1rem 1rem auto;
    width: .01px;
    height: .01px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}