@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap");

@font-face {
  font-family: "Vanguard CF";
  src: url("../fonts/vanguard-cf/vanguardcf-demibold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Vanguard CF";
  src: url("../fonts/vanguard-cf/vanguardcf-extrabold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Fonts */
  --font-display: "Vanguard CF", sans-serif;
  --font-body: "Manrope", sans-serif;

  /* Color */
  --color-primary-white: #f8f8f8;
  --color-primary-black: #171718;
  --color-secondary-white: #848484;
  --project-gs: #feb151;
  --project-aws: #232f3e;
  --project-bc: #1f3a2e;
  --project-crs: #e29578;

  /* Spacing */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-28: 112px;
  --space-32: 128px;

  /* Text */
  --text-2xs: 8px;
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px; /* Standard default body text */
  --text-md: 16px;
  --text-lg: 18px;
  --text-xl: 20px;

  /* Subheadings & Headings */
  --text-2xl: 24px;
  --text-3xl: 30px;
  --text-4xl: 36px;
  --text-5xl: 48px;

  /* Display & Hero Typography */
  --text-6xl: 60px;
  --text-7xl: 72px;
  --text-8xl: 96px;
  --text-9xl: 128px;

  --text-fluid-hero__mobile: clamp(4.5rem, 15vw, 8rem);
  --text-fluid-hero__tablet: clamp(4.5rem, 11vw, 18em);
  --text-fluid-hero__desktop: clamp(4.5rem, 12.5vw, 18em);
  --text-fluid-page_title: clamp(4rem, 10vw, 12em);
  --text-fluid-cta: clamp(4rem, 12.5vw, 8em);
  --text-fluid-more-projects: clamp(4.5rem, 12.5vw, 6em);

  /* Icon */
  --icon-circle-small: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3C/svg%3E");
}

* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}
html {
  overflow-x: hidden;
  scroll-behavior: smooth;
}
body {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background-color: var(--color-primary-white);
  font-family: var(--font-body);
  line-height: 1.5;
  color: var(--color-primary-black);
  overflow-x: hidden;
  overflow-wrap: break-word;
}
h1 {
  font-family: var(--font-display);
  margin: 0;
}

.tag::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  background-color: currentColor;
  mask-image: var(--icon-circle-small);
  -webkit-mask-image: var(--icon-circle-small);
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
}

.dark {
  background-color: var(--color-primary-black);
  color: var(--color-primary-white);
}

.light {
  color: var(--color-primary-black);
  background-color: var(--color-primary-white);
}
