/* =========================================================
   ElevoraPrep Global Font System
   Font: Inter
   Upload path: /assets/css/elevoraprep-inter-font-system.css
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  --elevora-font-main: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --font-xs: 12px;
  --font-sm: 14px;
  --font-base: 16px;
  --font-md: 17px;
  --font-lg: 18px;
  --font-xl: 20px;
  --font-2xl: 24px;
  --font-3xl: 32px;
  --font-4xl: 42px;
  --font-5xl: 56px;

  --line-tight: 1.12;
  --line-heading: 1.18;
  --line-normal: 1.55;
}

html,
body,
button,
input,
textarea,
select {
  font-family: var(--elevora-font-main) !important;
}

body *:not(i):not(svg):not(path):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.material-icons):not(.material-symbols-outlined) {
  font-family: var(--elevora-font-main) !important;
}

body {
  font-size: var(--font-base);
  line-height: var(--line-normal);
  font-weight: 400;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

p,
li,
td,
th,
input,
textarea,
select {
  font-size: var(--font-base);
  line-height: var(--line-normal);
}

h1,
.hero-title,
.main-title {
  font-size: clamp(34px, 5vw, var(--font-5xl));
  line-height: var(--line-tight);
  font-weight: 800;
  letter-spacing: -0.045em;
}

h2,
.section-title {
  font-size: clamp(28px, 3.4vw, var(--font-4xl));
  line-height: var(--line-heading);
  font-weight: 800;
  letter-spacing: -0.035em;
}

h3,
.card-title,
.plan-title {
  font-size: var(--font-xl);
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: -0.02em;
}

h4 {
  font-size: var(--font-lg);
  line-height: 1.3;
  font-weight: 700;
}

.hero-subtitle,
.hero-text,
.section-subtitle,
.lead {
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.55;
  font-weight: 500;
}

.eyebrow,
.badge,
.tag,
.kicker {
  font-size: var(--font-sm);
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.02em;
}

nav,
.nav,
.navbar,
.menu,
.header-menu {
  font-size: 15px;
  font-weight: 600;
}

nav a,
.nav a,
.navbar a,
.menu a,
.header-menu a {
  font-size: 15px;
  font-weight: 600;
}

button,
.btn,
.button,
.cta,
a.btn,
a.button {
  font-size: 15px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.card,
.feature-card,
.tool-card,
.pricing-card {
  font-size: var(--font-base);
}

.card p,
.feature-card p,
.tool-card p,
.pricing-card p {
  font-size: 15px;
  line-height: 1.55;
  font-weight: 400;
}

.price,
.plan-price,
.pricing-price {
  font-size: clamp(40px, 4vw, 52px);
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.05em;
}

.price-note,
.plan-duration,
.pricing-duration {
  font-size: var(--font-sm);
  font-weight: 600;
}

table,
table td,
table th {
  font-size: 15px;
  line-height: 1.45;
}

table th {
  font-weight: 700;
}

.faq-question,
.accordion-title {
  font-size: 17px;
  line-height: 1.35;
  font-weight: 700;
}

.faq-answer,
.accordion-content {
  font-size: 15px;
  line-height: 1.6;
  font-weight: 400;
}

footer,
.footer {
  font-size: 14px;
  line-height: 1.55;
}

footer h3,
footer h4,
.footer h3,
.footer h4 {
  font-size: 15px;
  font-weight: 800;
}

footer a,
.footer a {
  font-size: 14px;
  font-weight: 500;
}

@media (max-width: 768px) {
  body {
    font-size: 15px;
  }

  p,
  li,
  td,
  th,
  input,
  textarea,
  select {
    font-size: 15px;
  }

  nav a,
  .nav a,
  .navbar a,
  .menu a,
  .header-menu a {
    font-size: 14px;
  }

  button,
  .btn,
  .button,
  .cta,
  a.btn,
  a.button {
    font-size: 14px;
  }
}