.public-site {
    --kisoma-font-sans: "Host Grotesk", "Host Grotesk Fallback Arial", "Host Grotesk Fallback Roboto", sans-serif;
    --font-body: var(--kisoma-font-sans);
    --font-heading: var(--kisoma-font-sans);
    --font-family: var(--font-body);
    --typography--font--family: var(--font-body);
    --typography--font--family-default: var(--font-body);
    --storefront--font-family-heading: var(--font-heading);
    --kisoma-font-h1: 40px;
    --kisoma-font-h2: 32px;
    --kisoma-font-h3: 24px;
    --kisoma-font-h4: 18px;
    --kisoma-font-body: 18px;
    --kisoma-font-body-small: 16px;
    --kisoma-font-nav: 15px;
    --kisoma-font-button: 15px;
    --kisoma-font-meta: 14px;
    --kisoma-font-eyebrow: 12px;
    --kisoma-font-caption: 13px;
    --kisoma-leading-h1: 1.1;
    --kisoma-leading-h2: 1.15;
    --kisoma-leading-h3: 1.2;
    --kisoma-leading-body: 1.55;
    --kisoma-leading-supporting: 1.75;
    --kisoma-letter-eyebrow: .2em;
    --kisoma-tracking-tight: -0.02em;
    --text-xs: var(--kisoma-font-caption);
    --text-sm: var(--kisoma-font-meta);
    --text-base: var(--kisoma-font-body-small);
    --text-md: 17px;
    --text-lg: var(--kisoma-font-body);
    --text-xl: 20px;
    --text-2xl: var(--kisoma-font-h3);
    --text-3xl: 28px;
    --text-4xl: 32px;
    --text-5xl: 40px;
    --text-6xl: 48px;
    --text-7xl: 52px;
    --text-display: var(--kisoma-font-h1);
    font-family: var(--font-body) !important;
    font-size: var(--kisoma-font-body-small);
    font-weight: 400;
    line-height: var(--kisoma-leading-supporting);
}

.public-site :is(h1, h2, h3, h4, h5, h6) {
    font-family: var(--font-heading);
    font-weight: 700;
}

.public-site h1 { font-size: var(--kisoma-font-h1); line-height: var(--kisoma-leading-h1); letter-spacing: var(--kisoma-tracking-tight); font-weight: 800; }
.public-site h2 { font-size: var(--kisoma-font-h2); line-height: var(--kisoma-leading-h2); letter-spacing: var(--kisoma-tracking-tight); }
.public-site h3 { font-size: var(--kisoma-font-h3); line-height: var(--kisoma-leading-h3); letter-spacing: 0; }
.public-site h4 { font-size: var(--kisoma-font-h4); line-height: 1.25; }
.public-site h5 { font-size: var(--text-lg); line-height: 1.3; font-weight: 600; }
.public-site h6 { font-size: var(--text-md); line-height: 1.3; font-weight: 600; }
.public-site :is(.display-1, .display-2, .display-3) { font-size: var(--text-display); }

.public-site :is(p, li, a, label, table, th, td, summary, details, caption, dt, dd, small),
.public-site :is(button, input, select, textarea, .btn, .form-control, .form-select, .dropdown-menu, .table, .modal, .tooltip, .popover) {
    font-family: var(--font-body);
}

.public-site :is(button, input, select, textarea) { font-family: inherit; }
.public-site :is(button, input[type='button'], input[type='submit'], .btn, [class*='button']) {
    font-size: var(--kisoma-font-button);
    font-weight: 600;
}
.public-site :is(table, td) { font-weight: 400; }
.public-site :is(th, table caption, summary, .module-faq summary, .page-faq summary) { font-weight: 600; }

.public-site :is(.kisoma-public-navbar, .kisoma-nav-link, .kisoma-mobile-nav-link, .module-detail__breadcrumbs, .module-detail__eyebrow, .module-detail__kicker) {
    font-family: var(--font-body);
}

.public-site :is(.kisoma-nav-link, .kisoma-mobile-nav-link, .kisoma-nav-login, .kisoma-nav-cta, .kisoma-language-selector) {
    font-size: var(--kisoma-font-nav);
}

.public-site :is(.kisoma-eyebrow, .kisoma-public-eyebrow, .kisoma-content-hero__eyebrow, .kisoma-blog-hero__eyebrow, .kisoma-document-header__eyebrow, .kisoma-article-category, .kisoma-blog-section-heading span, .module-detail__eyebrow, .module-detail__kicker) {
    font-size: var(--kisoma-font-eyebrow);
    font-weight: 600;
    letter-spacing: var(--kisoma-letter-eyebrow);
    line-height: 1.2;
    text-transform: uppercase;
}

.public-site :is(.kisoma-public-hero p, .kisoma-content-hero__description, .kisoma-document-header__lede, .kisoma-blog-editorial__hero p, .kisoma-prose, .kisoma-content-body) {
    font-size: var(--kisoma-font-body);
    line-height: var(--kisoma-leading-body);
}

.public-site :is(.kisoma-public-hero h1, .kisoma-content-hero__title, .kisoma-document-header h1, .kisoma-blog-editorial__hero h1, .kisoma-modules-hero h1, .module-detail__hero h1, .kisoma-pricing-hero__title, .about-hero__title) {
    font-size: var(--kisoma-font-h1);
    line-height: var(--kisoma-leading-h1);
    letter-spacing: var(--kisoma-tracking-tight);
    font-weight: 800;
}

.public-site :is(.kisoma-public-heading h2, .kisoma-blog-section-heading h2, .kisoma-modules__section-heading, .module-detail__heading h2, .module-detail__answer h2, .module-detail__section h2, .module-detail__cta h2, .kisoma-pricing-title, .kisoma-pricing-compare h2, .kisoma-home-onboarding__title, .contact-heading h1, .contact-heading h2, .about-title) {
    font-size: var(--kisoma-font-h2);
    line-height: var(--kisoma-leading-h2);
    letter-spacing: var(--kisoma-tracking-tight);
}

.public-site :is(.kisoma-public-card h3, .module-detail__card h3, .module-showcase__copy h3, .module-detail__steps h3, .kisoma-modules-overview h3, .kisoma-modules-card h3, .kisoma-pricing-card-title, .kisoma-home-onboarding__step-title, .contact-card h3, .contact-form-card h3, .about-value-title) {
    font-size: var(--kisoma-font-h3);
    line-height: var(--kisoma-leading-h3);
    letter-spacing: 0;
}

.public-site :is(.kisoma-public-heading p, .kisoma-public-copy, .kisoma-blog-section-heading--split p, .kisoma-editorial-card p, .kisoma-public-card p, .kisoma-site-footer__description, .about-hero__description, .about-value-text) {
    font-size: var(--kisoma-font-body-small);
    line-height: var(--kisoma-leading-supporting);
}

.public-site :is(.module-detail__hero-copy, .module-detail__heading p, .module-detail__split p, .module-detail__answer p, .module-detail__card p, .module-detail__steps p, .module-faq p, .kisoma-modules-hero__copy, .kisoma-modules__section-copy, .kisoma-pricing-hero__description, .kisoma-pricing-subtitle, .about-description, .contact-heading p) {
    font-size: var(--kisoma-font-body);
    line-height: var(--kisoma-leading-body);
}

.public-site :is(.kisoma-editorial-meta, .kisoma-document-header__meta, .kisoma-content-breadcrumb, .kisoma-blog-pagination__status, .kisoma-site-footer__contact a, .kisoma-site-footer__links a, .kisoma-site-footer__social a) {
    font-size: var(--kisoma-font-meta);
}

.public-site :is(.kisoma-modules__eyebrow, .kisoma-modules__section-kicker, .kisoma-pricing-hero__eyebrow, .kisoma-pricing-compare__eyebrow, .kisoma-pricing-eyebrow, .kisoma-home-onboarding__eyebrow, .contact-kicker, .about-eyebrow, .about-values__eyebrow) {
    font-size: var(--kisoma-font-eyebrow);
    font-weight: 600;
    letter-spacing: var(--kisoma-letter-eyebrow);
    line-height: 1.2;
    text-transform: uppercase;
}

.public-site :is(.commonBtn, .kisoma-pricing-cta, .module-detail__button, .contact-btn, .kisoma-editorial-link, .kisoma-blog-pagination__link, .about-button) {
    font-size: var(--kisoma-font-button);
    font-weight: 600;
}

.public-site :is(.kisoma-site-footer__heading) {
    font-size: var(--kisoma-font-eyebrow);
    letter-spacing: var(--kisoma-letter-eyebrow);
}

.public-site .kisoma-feature-card__title { font-size: var(--kisoma-font-h3); line-height: var(--kisoma-leading-h3); }

@media (max-width: 991.98px) {
    .public-site { --kisoma-font-h1: 36px; --kisoma-font-h2: 30px; }
}

@media (max-width: 575.98px) {
    .public-site { --kisoma-font-h1: 32px; --kisoma-font-h2: 26px; --kisoma-font-h3: 20px; --kisoma-font-h4: 16px; --kisoma-font-body: 16px; }
}
