@import url("fonts.css");

:root {
  /* Neutrals - 60% (backgrounds, large areas) */
  --neutral-light: #faf7f2;
  --neutral-medium: #e8ded2;
  --neutral-dark: #2c2c2c;

  /* Primary - 30% (sections, cards, emphasis) */
  --primary-rose: #c9a2a0;
  --primary-gold: #d4af87;
  --primary-blush: #e8b4bc;

  /* Accent - 10% (CTA, highlights, hover states) */
  --accent-pink: #d4a5a5;
  --accent-deep: #8b6f6f;
  --accent-light: #f5e6e8;

  /* Gradients */
  --gradient-luxury: linear-gradient(135deg, #d4af87 0%, #c9a2a0 100%);
  --gradient-soft: linear-gradient(135deg, #faf7f2 0%, #e8ded2 100%);

  /* FONT FAMILIES */
  --font-body: "Quicksand", sans-serif;
  --font-heading: "Britney", serif;

  /* FONT WEIGHTS */
  --fw-thin: 100;
  --fw-extra-light: 200;
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extra-bold: 800;
  --fw-black: 900;

  /* FONT SIZES */
  --fs-base: 1rem;
  --fs-h6: 1.25rem;
  --fs-h5: 1.5625rem;
  --fs-h4: 1.953rem;
  --fs-h3: 2.441rem;
  --fs-h2: 3.052rem;
  --fs-h1: 3.815rem;

  /* DISPLAY SIZES - For hero sections and large displays */
  --fs-display-lg: 4.769rem;
  --fs-display-xl: 5.961rem;
  --fs-display-2xl: 7.451rem;

  /* LINE HEIGHTS */
  --lh-base: 1.5;
  --lh-h6: 1.5;
  --lh-h5: 1.5;
  --lh-h4: 1.3;
  --lh-h3: 1.2;
  --lh-h2: 1.1;
  --lh-h1: 1;

  /* DISPLAY LINE HEIGHTS */
  --lh-display-lg: 0.95;
  --lh-display-xl: 0.9;
  --lh-display-2xl: 0.85;

  /* LETTER SPACING */
  --ls-h6: -0.005rem;
  --ls-h5: -0.008rem;
  --ls-h4: -0.01rem;
  --ls-h3: -0.015rem;
  --ls-h2: -0.018rem;
  --ls-h1: -0.02rem;

  /* DISPLAY LETTER SPACING */
  --ls-display-lg: -0.025rem;
  --ls-display-xl: -0.03rem;
  --ls-display-2xl: -0.035rem;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 100%;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

html::-webkit-scrollbar {
  display: none;
}

body {
  font-family: var(--font-body);
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  margin: 0;
  min-height: 100vh;
  width: 100%;
  position: relative;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  background-color: var(--neutral-light);
}

body::-webkit-scrollbar {
  display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);
  color: var(--neutral-light);
  margin-bottom: 1rem;
}

h1 {
  font-size: var(--fs-h1);
  line-height: var(--lh-h1);
  letter-spacing: var(--ls-h1);
}
h2 {
  font-size: var(--fs-h2);
  line-height: var(--lh-h2);
  letter-spacing: var(--ls-h2);
}
h3 {
  font-size: var(--fs-h3);
  line-height: var(--lh-h3);
  letter-spacing: var(--ls-h3);
}
h4 {
  font-size: var(--fs-h4);
  line-height: var(--lh-h4);
  letter-spacing: var(--ls-h4);
}
h5 {
  font-size: var(--fs-h5);
  line-height: var(--lh-h5);
  letter-spacing: var(--ls-h5);
}
h6 {
  font-size: var(--fs-h6);
  line-height: var(--lh-h6);
  letter-spacing: var(--ls-h6);
}

.display-2xl {
  font-size: var(--fs-display-2xl);
  line-height: var(--lh-display-2xl);
  letter-spacing: var(--ls-display-2xl);
  font-family: var(--font-heading);
  color: var(--neutral-light);
  font-weight: var(--fw-black);
}

.display-xl {
  font-size: var(--fs-display-xl);
  line-height: var(--lh-display-xl);
  letter-spacing: var(--ls-display-xl);
  font-family: var(--font-heading);
  color: var(--neutral-light);
  font-weight: var(--fw-extra-bold);
}

.display-lg {
  font-size: var(--fs-display-lg);
  line-height: var(--lh-display-lg);
  letter-spacing: var(--ls-display-lg);
  font-family: var(--font-heading);
  color: var(--neutral-light);
  font-weight: var(--fw-bold);
}

.mt-navbar {
  margin-top: 5rem;
}

.section-spacing {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

.section-spacing-lg {
  margin-top: 6rem !important;
  margin-bottom: 6rem !important;
}

.section-spacing-sm {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.pt-section {
  margin-top: 4rem !important;
}

.pb-section {
  margin-bottom: 4rem !important;
}

@media (max-width: 1024px) {
  .mt-navbar {
    margin-top: 4.5rem;
  }

  .section-spacing {
    margin-top: 3.5rem !important;
    margin-bottom: 3.5rem !important;
  }

  .section-spacing-lg {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }

  .pt-section {
    margin-top: 3.5rem !important;
  }

  .pb-section {
    margin-bottom: 3.5rem !important;
  }
}

@media (max-width: 900px) {
  .mt-navbar {
    margin-top: 4.25rem;
  }

  .section-spacing {
    margin-top: 3.25rem !important;
    margin-bottom: 3.25rem !important;
  }

  .section-spacing-lg {
    margin-top: 4.5rem !important;
    margin-bottom: 4.5rem !important;
  }

  .pt-section {
    margin-top: 3.25rem !important;
  }

  .pb-section {
    margin-bottom: 3.25rem !important;
  }
}

@media (max-width: 768px) {
  .mt-navbar {
    margin-top: 4rem;
  }

  .section-spacing {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }

  .section-spacing-lg {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }

  .section-spacing-sm {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }

  .pt-section {
    margin-top: 3rem !important;
  }

  .pb-section {
    margin-bottom: 3rem !important;
  }
}

@media (max-width: 480px) {
  .mt-navbar {
    margin-top: 3.5rem;
  }

  .section-spacing {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }

  .section-spacing-lg {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }

  .section-spacing-sm {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }

  .pt-section {
    margin-top: 2rem !important;
  }

  .pb-section {
    margin-bottom: 2rem !important;
  }
}
