:root {
    --jf-navy: #071a2c;
    --jf-blue: #2855df;
    --jf-sky: #70c3ee;
    --jf-sky-soft: #eaf7fd;
    --jf-yellow-soft: #fff8d8;
    --jf-ink: #0b1f35;
    --jf-muted: #5f6f82;
    --jf-line: #dfe8ef;
    --jf-canvas: #f5f8fa;
}

body.jf-public-page {
    margin: 0;
    color: var(--jf-ink);
    background: var(--jf-canvas);
    font-family: "Jost", "Segoe UI", system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

body.jf-public-page h1,
body.jf-public-page h2,
body.jf-public-page h3 {
    font-family: "Exo", "Segoe UI", system-ui, sans-serif;
    letter-spacing: -.025em;
}

body.jf-public-page .section-title { color: var(--jf-ink) !important; text-wrap: balance; }
body.jf-public-page .section-desc { color: var(--jf-muted) !important; line-height: 1.7; }
body.jf-public-page .section-eyebrow { color: var(--jf-blue) !important; }

body.jf-public-page :is(input, select, textarea) {
    font-family: inherit;
    border-color: #cfdce5;
}

body.jf-public-page :is(input, select, textarea):focus {
    outline: none;
    border-color: var(--jf-sky) !important;
    box-shadow: 0 0 0 4px rgba(112,195,238,.2) !important;
}

body.jf-public-page .legal-page-container {
    margin-block: clamp(24px, 5vw, 72px) !important;
    padding: clamp(24px, 5vw, 56px) !important;
    background: #fff;
    border: 1px solid var(--jf-line);
    border-radius: 22px;
    box-shadow: 0 18px 50px rgba(7,26,44,.09);
}

body.jf-public-page .legal-page-container h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
body.jf-public-page .legal-page-container h2 { margin-top: 2rem; color: var(--jf-navy) !important; }
body.jf-public-page .legal-page-container :is(p, li) { color: var(--jf-muted); }

::selection { color: #fff; background: var(--jf-blue); }

@media (max-width: 640px) {
    body.jf-public-page .legal-page-container { margin-inline: 14px !important; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
