:root {
    --bg-primary: #0d0d0d;
    --bg-secondary: #181a1b;
    --text-primary: #ffffff;
    --text-secondary: #9ca3af;
    --brand-red: #e30613;
    --nav-bg: #ffffff;
    --nav-text: #1f2937;
}

body.light-mode {
    --bg-primary: #f9fafb;
    --bg-secondary: #ffffff;
    --text-primary: #0d0d0d;
    --text-secondary: #4b5563;
    --nav-bg: #111827;
    --nav-text: #ffffff;
}

body {
    font-family: 'Manrope', sans-serif;
    font-weight: 500;
    color: var(--text-primary);
}

/* Typography Components */
.logo-text {
    font-family: 'FREE FAT FONT', 'Montserrat', 'Syne', sans-serif;
    font-weight: 900;
    font-style: italic;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    display: inline-block;
    line-height: 1;
}

.footer-display-text {
    font-family: 'FREE FAT FONT', 'Montserrat', 'Syne', sans-serif;
    font-weight: 900;
    font-style: italic;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    line-height: 0.85;
}

/* Word Reveal Typography */
.reveal-text {
    line-height: 1 !important;
}

.reveal-text .word {
    display: inline-flex;
    line-height: 1;
    padding-bottom: 0.1em;
    clip-path: polygon(0 0, 100% 0, 100% 110%, 0% 110%);
    will-change: clip-path;
}

/* ================================================== */
/* Button                                             */
/* ================================================== */

.btn-white {
  /* Layout & Spacing */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  
  /* Typography */
  color: #E30613; /* Apne brand ka red color code yahan lagayein */
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  
  /* Styling */
  background-color: #ffffff;
  border-radius: 9999px; /* Fully rounded border */
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  
  /* Transitions */
  transition: all 0.3s ease;
  cursor: pointer;
}

/* Hover Effect */
.btn-white:hover {
  background-color: #f3f4f6;
  transform: scale(1.05);
}

/* Active / Click Effect */
.btn-white:active {
  transform: scale(0.95);
}

.btn-red {
  /* Layout & Spacing */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  
  /* Typography */
  color: #FFFFFF; /* Apne brand ka red color code yahan lagayein */
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  
  /* Styling */
  background-color: #E30613;
  border-radius: 9999px; /* Fully rounded border */
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  
  /* Transitions */
  transition: all 0.3s ease;
  cursor: pointer;
}

/* Hover Effect */
.btn-red:hover {
  background-color: #f3f4f6;
  transform: scale(1.05);
}

/* Active / Click Effect */
.btn-red:active {
  transform: scale(0.95);
}


/* Heading System */
.Heading1 {
    font-size: clamp(2.25rem, 8vw, 5.5rem);
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -0.05em;
    color: inherit;
}

.Heading2 {
    font-size: clamp(1.875rem, 6vw, 3.25rem);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.05em;
    color: inherit;
    overflow-wrap: normal;
    word-wrap: normal;
    word-break: keep-all;
    hyphens: none;
    -webkit-hyphens: none;
}

.Heading3 {
    font-size: clamp(1.5rem, 4vw, 2.25rem);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.03em;
    color: inherit;
}

.Heading4 {
    font-size: clamp(1.25rem, 3vw, 1.875rem);
    font-weight: 600;
    line-height: 1.3;
    color: inherit;
}

.Heading5 {
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.4;
    color: inherit;
}

.Heading6 {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    color: inherit;
}

.Heading7 {
    font-size: clamp(0.75rem, 2vw, 0.875rem);
    font-weight: 600;
    line-height: 1.6;
    color: inherit;
}

.HeadingLarge {
    font-size: clamp(2.5rem, 10vw, 7rem);
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -0.05em;
    color: inherit;
}

.Sub-heading {
    font-size: clamp(0.875rem, 2vw, 1rem);
    font-weight: 500;
    letter-spacing: 0.03em;
    color: var(--text-secondary);
}

.Body {
    font-size: clamp(0.875rem, 2vw, 1.125rem);
    font-weight: 400;
    line-height: 1.3;
    color: var(--muted);
}
