@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=Host+Grotesk:ital,wght@0,300..800;1,300..800&display=swap");

:root {
  --base-100: #f9f4eb;
  --base-200: #efece5;
  --base-300: #0a0a0a;
  --base-secondary-dark: #686560;
  --base-secondary-fade: rgba(249, 244, 235, 0.15);
  --accent-1: #b1c1ef;
  --accent-2: #f2acac;
  --accent-3: #ffdd94;
  --scroll-thumb-color: var(--base-300);
  --space-1: clamp(0.5rem, 0.36rem + 0.45vw, 0.9rem);
  --space-2: clamp(0.9rem, 0.65rem + 0.75vw, 1.4rem);
  --space-3: clamp(1.4rem, 1rem + 1.2vw, 2.3rem);
  --space-4: clamp(2rem, 1.45rem + 1.9vw, 3.5rem);
  --space-5: clamp(2.8rem, 2rem + 2.8vw, 5rem);
}

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

html {
  background-color: var(--base-100);
  overflow-y: auto;
  overflow-x: clip;
}

body {
  font-family: "Host Grotesk";
  background-color: var(--base-100);
  color: var(--base-300);
  min-height: 100svh;
  overflow-y: auto;
  overflow-x: clip;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
}

html.custom-scrollbar-enabled,
body.custom-scrollbar-enabled {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

html.custom-scrollbar-enabled::-webkit-scrollbar,
body.custom-scrollbar-enabled::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.scrollbar-overlay {
  position: fixed;
  top: 0;
  right: 0;
  width: 12px;
  height: 100svh;
  pointer-events: none;
  z-index: 9999;
  opacity: 0;
  transition: opacity 180ms ease;
}

.custom-scrollbar-enabled .scrollbar-overlay {
  opacity: 1;
}

.scrollbar-overlay-thumb {
  position: absolute;
  top: 0;
  right: 0;
  width: 8px;
  margin: 4px 2px;
  border-radius: 999px;
  background: var(--scroll-thumb-color);
  transform: translate3d(0, 0, 0);
  transition: background-color 220ms cubic-bezier(0.22, 1, 0.36, 1), opacity 180ms ease;
  will-change: transform, height;
}

img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-user-select: none;
  user-select: none;
}

h1,
h2,
h3,
h4 {
  text-transform: uppercase;
  font-family: "Barlow Condensed";
  font-weight: 900;
  line-height: 0.82;
  letter-spacing: -0.03em;
}

h1 {
  font-size: clamp(4rem, 13vw, 11rem);
}

h2 {
  font-size: clamp(3rem, 9vw, 8rem);
}

h3 {
  font-size: clamp(2.4rem, 7vw, 6rem);
}

h4 {
  font-size: clamp(1.6rem, 3.2vw, 2.7rem);
}

a {
  text-decoration: none;
}

p {
  font-family: "Host Grotesk";
  font-size: clamp(1rem, 0.94rem + 0.18vw, 1.15rem);
  line-height: 1.52;
}

p.md {
  font-size: clamp(1.1rem, 1rem + 0.35vw, 1.45rem);
}

p.lg {
  font-size: clamp(1.2rem, 1.06rem + 0.45vw, 1.65rem);
}

p.mono {
  text-transform: uppercase;
  font-family: "DM Mono";
  font-size: clamp(0.75rem, 0.72rem + 0.08vw, 0.88rem);
  font-weight: 500;
  letter-spacing: 0.03em;
}

p.mono span,
a span {
  position: relative;
  top: -0.1rem;
}

.container {
  width: 100%;
  height: 100%;
  padding: var(--space-4);
  max-width: 2000px;
  margin: 0 auto;
}

.symbols-container {
  display: flex;
  gap: 0.5rem;
  height: 1.125rem;
  z-index: 1;
}

.symbols-container .symbol {
  width: 1.125rem;
  filter: brightness(0) invert(1);
}

@media (max-width: 1000px) {
  .container {
    padding: var(--space-3);
  }
}
