/* type-system.css */

/* Font Families */
.font-sans { font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; }
.font-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }

/* Font Sizes (Updated with clamps for responsiveness) */
.text-xs { font-size: clamp(0.65rem, 0.75vw, 0.75rem); line-height: 1rem; } /* 12px base */
.text-sm { font-size: clamp(0.75rem, 0.875vw, 0.875rem); line-height: 1.25rem; } /* 14px */
.text-base { font-size: clamp(0.875rem, 1vw, 1rem); line-height: 1.5rem; } /* 16px */
.text-lg { font-size: clamp(1rem, 1.125vw, 1.125rem); line-height: 1.75rem; } /* 18px */
.text-xl { font-size: clamp(1.125rem, 1.25vw, 1.25rem); line-height: 1.75rem; } /* 20px */
.text-2xl { font-size: clamp(1.25rem, 1.5vw, 1.5rem); line-height: 2rem; } /* 24px */
.text-3xl { font-size: clamp(1.5rem, 1.875vw, 1.875rem); line-height: 2.25rem; } /* 30px */
.text-4xl { font-size: clamp(1.75rem, 2.25vw, 2.25rem); line-height: 2.5rem; } /* 36px */
.text-5xl { font-size: clamp(2.5rem, 6vw, 4.5rem); } /* Added for homepage h1 */

/* Font Weights */
.font-thin { font-weight: 100; }
.font-extralight { font-weight: 200; }
.font-light { font-weight: 300; }
.font-normal { font-weight: 400; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }
.font-extrabold { font-weight: 800; }
.font-black { font-weight: 900; }

/* Font Styles */
.italic { font-style: italic; }
.not-italic { font-style: normal; }

/* Line Heights */
.leading-none { line-height: 1; }
.leading-tight { line-height: 1.25; }
.leading-snug { line-height: 1.375; }
.leading-normal { line-height: 1.5; }
.leading-relaxed { line-height: 1.625; }
.leading-loose { line-height: 2; }

/* Text Align */
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-justify { text-align: justify; }

/* Text Decoration */
.underline { text-decoration: underline; }
.line-through { text-decoration: line-through; }
.no-underline { text-decoration: none; }

/* Letter Spacing */
.tracking-tighter { letter-spacing: -0.05em; }
.tracking-tight { letter-spacing: -0.025em; } /* Close to -0.02em */
.tracking-normal { letter-spacing: 0em; }
.tracking-wide { letter-spacing: 0.025em; }
.tracking-wider { letter-spacing: 0.05em; }
.tracking-widest { letter-spacing: 0.1em; }

/* Media Queries for Deeper Responsiveness */
@media (max-width: 768px) {
  .md\:text-3xl { font-size: clamp(1.25rem, 4vw, 2.5rem); }
  .md\:p-5 { padding: 1.25rem; } /* Example for responsive padding */
  /* Add more as needed for homepage media */
}

/* ── Larger Display Sizes ─────────────────────────────────────── */
.text-6xl { font-size: clamp(3rem, 10vw, 5rem);     line-height: 1.1; }     /* ~48–80px */
.text-7xl { font-size: clamp(3.5rem, 12vw, 6rem);  line-height: 1.05; }    /* ~56–96px */
.text-8xl { font-size: clamp(4rem, 14vw, 7.5rem);  line-height: 1; }       /* ~64–120px */
.text-9xl { font-size: clamp(5rem, 16vw, 9rem);    line-height: .95; }     /* ~80–144px */

/* ── Extra-large headings (great for hero sections) ───────────── */
.text-hero   { font-size: clamp(4rem, 15vw, 8rem);   line-height: 1; }
.text-super  { font-size: clamp(5rem, 20vw, 10rem); line-height: .95; }

/* ── Slightly bigger body options (for when text-xl isn’t enough) ── */
.text-2xl { font-size: clamp(1.25rem, 4vw, 1.75rem); line-height: 1.5; }   /* already exists → keeping for reference */
.text-3xl { font-size: clamp(1.5rem, 5vw, 2.25rem);  line-height: 1.45; }
.text-4xl { font-size: clamp(1.875rem, 6vw, 2.75rem); line-height: 1.4; }
.text-5xl { font-size: clamp(2.25rem, 7vw, 3.5rem);  line-height: 1.35; }

/* ── Ultra-bold weights for maximum impact ─────────────────────── */
.font-black      { font-weight: 900; }
.font-extrabold  { font-weight: 800; }
