/* GOOGLE FONTS */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");

/* DESIGN TOKENS (CSS VARIABLES) */

:root {
  /* Brand */

--color-primary: #D78B01;

--color-primary-dark: #B87400;

--color-primary-light: #FFF5DD;

--color-secondary: #D78B01;

/* Theme */

--color-dark: #0A162E;

--color-dark-card: #132544;

--color-background: #0A162E;

--color-surface: var(--color-dark-card);

/* Typography */

--color-text: #F5F5F5;

--color-text-light: #CBD5E1;

--color-white: #F5F5F5;

/* Progress Bar */

--progress-background: #22385F;

--progress-fill: #D78B01;

  /* Typography font */

  --font-heading: "Mona Sans", "Inter", system-ui, sans-serif;

  --font-body: "Mona Sans", "Inter", system-ui, sans-serif;

  /* Font Sizes */

  --fs-100: 0.875rem;

  --fs-200: 1rem;

  --fs-300: 1.125rem;

  --fs-400: 1.25rem;

  --fs-500: 1.5rem;

  --fs-600: 2rem;

  --fs-700: 2.8rem;

  --fs-800: 4rem;

  /* Font Weights */

  --fw-regular: 400;

  --fw-medium: 500;

  --fw-semibold: 600;

  --fw-bold: 700;

  --fw-black: 800;

  /* Spacing Scale */

  --space-1: 0.25rem;

  --space-2: 0.5rem;

  --space-3: 0.75rem;

  --space-4: 1rem;

  --space-5: 1.5rem;

  --space-6: 2rem;

  --space-7: 3rem;

  --space-8: 4rem;

  --space-9: 5rem;

  --space-10: 6rem;

  /* Border Radius */

  --radius-sm: 0.5rem;

  --radius-md: 0.75rem;

  --radius-lg: 1.25rem;

  --radius-xl: 2rem;

  --radius-round: 999px;

  /* Shadows */

  --shadow-xs: 0 1px 3px rgba(0, 0, 0, 0.08);

  --shadow-sm: 0 4px 10px rgba(0, 0, 0, 0.08);

  --shadow-md: 0 10px 24px rgba(0, 0, 0, 0.1);

  --shadow-lg: 0 20px 45px rgba(0, 0, 0, 0.12);

  /* Widths */

  --container-width: 1200px;

  --header-height: 5.625rem;

  /* Transitions */

  --transition-fast: 0.2s ease;

  --transition: 0.3s ease;

  --transition-slow: 0.5s ease;

  /* Z-Index Layers */

  --z-back: -1;

  --z-normal: 1;

  --z-dropdown: 100;

  --z-sticky: 500;

  --z-overlay: 900;

  --z-modal: 1000;
}

/* CSS RESET */

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;

  font-family: var(--font-body);

  font-size: var(--fs-200);

  color: var(--color-text);

  background: var(--color-background);

  line-height: 1.6;

  overflow-x: hidden;

  text-rendering: optimizeLegibility;

  -webkit-font-smoothing: antialiased;

  padding-top: 90px;
  
}

img,
picture {
  display: block;

  max-width: 100%;

  height: auto;
}

video {
  display: block;

  width: 100%;
}

a {
  color: inherit;

  text-decoration: none;
}

ul,
ol {
  list-style: none;
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  border: none;

  cursor: pointer;

  background: none;
}

textarea {
  resize: vertical;
}

input,
textarea {
  outline: none;
}

/* BASE STYLES */

section {
  padding-block: var(--space-10);
}

main {
  display: block;
}

.container {
  width: min(100% - 2rem, var(--container-width));

  margin-inline: auto;
}

/* TYPOGRAPHY */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);

  color: var(--color-text);

  line-height: 1.2;

  font-weight: var(--fw-bold);
}

h1 {
  font-size: clamp(3rem, 6vw, 4.5rem);
}

h2 {
  font-size: clamp(2.2rem, 4vw, 3.25rem);
}

h3 {
  font-size: 1.75rem;
}

p {
  color: var(--color-text-light);
}

.section-title {
  margin-bottom: var(--space-4);
}

.section-subtitle {
  max-width: 45rem;
}

/* LAYOUT HELPERS */

.grid {
  display: grid;
}

.flex {
  display: flex;
}

.flex-center {
  display: flex;

  justify-content: center;

  align-items: center;
}

.flex-between {
  display: flex;

  justify-content: space-between;

  align-items: center;
}

/* UTILITY CLASSES */

.text-center {
  text-align: center;
}

.hidden {
  display: none;
}

.shadow {
  box-shadow: var(--shadow-md);
}

.rounded {
  border-radius: var(--radius-lg);
}

.bg-white {
  background:#132544;
}

.mt-1 {
  margin-top: var(--space-1);
}
.mt-2 {
  margin-top: var(--space-2);
}
.mt-3 {
  margin-top: var(--space-3);
}
.mt-4 {
  margin-top: var(--space-4);
}
.mt-5 {
  margin-top: var(--space-5);
}
.mt-6 {
  margin-top: var(--space-6);
}

.mb-1 {
  margin-bottom: var(--space-1);
}
.mb-2 {
  margin-bottom: var(--space-2);
}
.mb-3 {
  margin-bottom: var(--space-3);
}
.mb-4 {
  margin-bottom: var(--space-4);
}
.mb-5 {
  margin-bottom: var(--space-5);
}
.mb-6 {
  margin-bottom: var(--space-6);
}

/* ACCESSIBILITY */

:focus-visible {
  outline: 3px solid var(--color-secondary);

  outline-offset: 4px;
}

::selection {
  background: var(--color-primary);

  color: var(--color-white);
}

/* ANIMATIONS */

@keyframes fadeUp {
  from {
    opacity: 0;

    transform: translateY(30px);
  }

  to {
    opacity: 1;

    transform: translateY(0);
  }
}

.fade-up {
  animation: fadeUp 0.8s ease forwards;
}

.loading {
  opacity: 0.65;

  pointer-events: none;
}
