/* =========================================================
   LACCOT FONT SYSTEM v3
   Headings: Space Grotesk
   Body: Inter
   Typography only. No color, no background.
========================================================= */

:root {
    --laccot-heading: "Space Grotesk", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --laccot-body: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Global body font */

html,
body,
body *,
.site-header *,
.marketing-header *,
.site-footer *,
.footer *,
main *,
section *,
article *,
.card *,
[class*="card"] *,
[class*="pricing"] *,
[class*="catalog"] *,
[class*="software"] *,
[class*="florist"] *,
[class*="about"] *,
[class*="faq"] *,
[class*="demo"] * {
    font-family: var(--laccot-body) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Main headings */

h1,
.hero-title,
.sales-home-hero h1,
.catalog-hero h1,
.pricing-direct-hero h1,
.florist-copy h1,
.software-copy h1,
.about-copy h1,
.faq-copy h1,
.demo-request-copy h1 {
    font-family: var(--laccot-heading) !important;
    font-weight: 700 !important;
    letter-spacing: -0.055em !important;
    line-height: 0.94 !important;
}

/* Section headings */

h2,
.section-title,
.about-section-head h2,
.sales-home-section h2,
.florist-content h2,
.software-content h2,
.pricing-direct-content h2,
.catalog-content h2 {
    font-family: var(--laccot-heading) !important;
    font-weight: 700 !important;
    letter-spacing: -0.048em !important;
    line-height: 0.98 !important;
}

/* Card titles */

h3,
.sales-home-card h3,
.solution-card h3,
.florist-feature-card h3,
.software-feature-card h3,
.about-focus-card h3,
.about-timeline-card h3,
.pricing-direct-card h3,
.catalog-card h3,
.demo-request-card h3 {
    font-family: var(--laccot-heading) !important;
    font-weight: 600 !important;
    letter-spacing: -0.035em !important;
    line-height: 1.08 !important;
}

/* Body text */

p,
li,
td,
th,
label,
input,
textarea,
select {
    font-family: var(--laccot-body) !important;
    font-weight: 500 !important;
    letter-spacing: -0.012em !important;
}

/* Hero paragraphs */

.sales-home-hero p,
.florist-hero p,
.software-hero p,
.about-hero p,
.faq-hero p,
.pricing-direct-hero p,
.catalog-hero p,
.demo-request-hero p {
    font-family: var(--laccot-body) !important;
    font-weight: 500 !important;
    letter-spacing: -0.014em !important;
    line-height: 1.58 !important;
}

/* Navigation */

.site-nav a,
.header-nav a,
.nav a,
.site-header a,
.marketing-header a {
    font-family: var(--laccot-body) !important;
    font-weight: 650 !important;
    letter-spacing: -0.01em !important;
}

/* Buttons */

.btn,
button,
a[class*="btn"],
input[type="submit"],
.btn-color,
.btn-light,
.btn-primary,
.btn-secondary,
.hero-cta,
.pricing-btn,
.checkout-btn,
.demo-submit {
    font-family: var(--laccot-body) !important;
    font-weight: 750 !important;
    letter-spacing: -0.012em !important;
}

/* Badges / pills / small labels */

.badge,
.pill,
.tag,
.chip,
.eyebrow,
.hero-pill,
.sales-home-badge,
[class*="badge"],
[class*="pill"],
[class*="tag"],
[class*="chip"] {
    font-family: var(--laccot-body) !important;
    font-weight: 750 !important;
    letter-spacing: 0.035em !important;
    text-transform: uppercase;
}

/* Prices and big numbers */

.price,
[class*="price"],
.stat-card strong,
.about-stat-grid strong,
.faq-summary-card strong {
    font-family: var(--laccot-heading) !important;
    font-weight: 700 !important;
    letter-spacing: -0.055em !important;
}

/* Forms */

input,
textarea,
select {
    font-size: 15px !important;
    line-height: 1.35 !important;
}

textarea {
    line-height: 1.55 !important;
}

/* Mobile */

@media (max-width: 768px) {
    h1,
    .sales-home-hero h1,
    .catalog-hero h1,
    .pricing-direct-hero h1,
    .florist-copy h1,
    .software-copy h1,
    .about-copy h1,
    .faq-copy h1,
    .demo-request-copy h1 {
        letter-spacing: -0.04em !important;
        line-height: 0.98 !important;
    }

    h2 {
        letter-spacing: -0.036em !important;
    }

    h3 {
        letter-spacing: -0.026em !important;
    }
}
