body {
  font-family: var(--font-body);

  background: var(--color-background);

  color: var(--color-text);
}

.container {
  width: min(100% - 40px, var(--container-width));

  margin: auto;
}

.header {
  position: sticky;

  top: 0;

  z-index: 999;

  background: rgba(255, 255, 255, 0.92);

  backdrop-filter: blur(10px);

  border-bottom: var(--border);

  transition: all 0.3s ease;
}

.header.scrolled {
  padding: 8px 0;
}

.navbar {
  height: 90px;

  display: flex;

  align-items: center;

  justify-content: space-between;
}
/*=========================================
=            FOOTER                       =
=========================================*/

.footer {
  padding: 80px 0 30px;

  background: #111;

  color: #fff;
}

.footer-grid {
  display: grid;

  grid-template-columns: 2fr 1fr 1fr;

  gap: 60px;

  margin-bottom: 50px;
}

.footer h4 {
  margin-bottom: 20px;

  font-family: var(--font-heading);
}

.footer ul {
  display: flex;

  flex-direction: column;

  gap: 12px;
}

.footer a {
  transition: 0.3s;
}

.footer a:hover {
  color: var(--color-yellow);
}

.footer-text {
  margin-top: 24px;

  color: #bbb;

  line-height: 1.8;

  max-width: 420px;
}

.footer-bottom {
  padding-top: 30px;

  border-top: 2px solid rgba(255, 255, 255, 0.15);

  text-align: center;

  color: #888;
}
/*=========================================
=            CUSTOM CURSOR                =
=========================================*/

* {
  cursor: none;
}

.cursor {
  position: fixed;

  left: 0;

  top: 0;

  pointer-events: none;

  z-index: 999999;
}

.cursor-ring {
  position: absolute;

  width: 42px;

  height: 42px;

  margin-left: -21px;

  margin-top: -21px;

  border: 3px solid #111;

  border-radius: 14px;

  background: rgba(255, 255, 255, 0.08);

  backdrop-filter: blur(12px);

  transition:
    width 0.25s,
    height 0.25s,
    border-radius 0.25s,
    background 0.25s,
    transform 0.25s;
}

.cursor-dot {
  position: absolute;

  width: 8px;

  height: 8px;

  margin-left: -4px;

  margin-top: -4px;

  background: #111;

  border-radius: 50%;
}

.cursor-text {
  position: absolute;

  left: 50%;

  top: 50%;

  transform: translate(-50%, -50%);

  font-size: 10px;

  font-weight: 700;

  text-transform: uppercase;

  opacity: 0;

  transition: 0.2s;

  white-space: nowrap;
}
.cursor.hover .cursor-ring {
  width: 90px;

  height: 90px;

  margin-left: -45px;

  margin-top: -45px;

  border-radius: 50%;

  background: #ffd84d;
}

.cursor.hover .cursor-text {
  opacity: 1;
}
.cursor.button .cursor-ring {
  width: 120px;

  height: 48px;

  margin-left: -60px;

  margin-top: -24px;

  border-radius: 999px;

  background: #ffd84d;
}
.cursor.card .cursor-ring {
  width: 80px;

  height: 80px;

  border-radius: 24px;

  background: #4d7cfe;

  border-color: #4d7cfe;
}
