* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--text);
    font-family: var(--font-body);
    /* Crisper text on macOS/Webkit + Firefox. Keep only kerning + standard
       ligatures/contextual alternates — no stylistic-set overrides, which made
       the previous font render odd glyph variants. */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "kern", "liga", "calt";
    font-size: 16px;
    line-height: 1.6;
    background: linear-gradient(180deg, var(--body-bg-top, #fafbfe) 0%, var(--bg) 220px) no-repeat var(--bg);
}

h1, h2, h3, h4, h5,
.page-title,
.section-head h2,
.section-title-display,
.title,
.auth-header h3,
.simple-header h2,
.flow-card h2,
.hero h1 {
    font-feature-settings: "kern", "liga", "calt";
}

html[data-cf-transparent="1"] body,
html[data-cf-embed="1"][data-cf-transparent="1"] body {
    background: transparent !important;
}

html[data-cf-transparent="1"] .page-shell {
    background: transparent;
}

a {
    color: var(--link, inherit);
}

img {
    max-width: 100%;
}

.page-shell {
    min-height: 100vh;
}
