/* ================================================= */
/* TOKENS */
:root {
  /* COLORS */
  --bg: #000;
  --fg: rgb(75, 0, 130);
  --fg-muted: rgba(75, 0, 130, 0.7);
  --fg-faded: rgba(75, 0, 130, 0.5);
  --accent: rgba(75, 0, 130, 0.55);

  /* TYPO */
  --font-main: "black-pack-vf", sans-serif;
  --font-vars: "STRS" 30, "wdth" 85, "wght" 667;

  /* SCALE */
  --base: 16px;
  --title: 10;
  --h1: 8;
  --h2: 5;
  --p: 2;
  --a: 2;
  --footer: 1.125;

  /* LAYOUT */
  --max-w: 900px;

  /* SPACING */
  --space-xs: 8px;
  --space-s: 16px;
  --space-m: 32px;
  --space-l: 64px;
  --space-xl: 96px;
	
  /* ICONS */
  --icon: 28px;
  --icon-mym: 12.5865px;
}

/* ================================================= */
/* RESET */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* ================================================= */
/* BASE */
html,
body {
  background: var(--bg);
  color: var(--fg);
  font-family: var(--font-main);
  font-variation-settings: var(--font-vars);
  text-align: center;
}

/* ================================================= */
/* HEADER / NAV */
header {
  padding-top: 0;
  margin-bottom: var(--space-m);
}

nav {
  display: flex;
  justify-content: center;
  gap: 24px;
}

nav a {
  font-size: calc(var(--base) * var(--a));
  opacity: 0.85;
}

nav a:hover {
  opacity: 1;
}

/* ================================================= */
/* MAIN */
main {
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-l);
  padding: var(--space-l) 0;
}


/* ================================================= */
/* TEXT */
h1 {
  font-size: calc(var(--base) * var(--h1));
  margin-bottom: var(--space-m);
}

p {
  max-width: var(--max-w);
  font-size: calc(var(--base) * var(--p));
  line-height: 1.0;
  color: var(--fg);
}


h2 {
  font-size: calc(var(--base) * var(--h2));
}

/* ================================================= */
/* LINKS */
a {
  font-size: calc(var(--base) * var(--a));
  color: var(--fg);
  text-decoration: none;
  letter-spacing: 0.08em;
  padding: 8px 14px;
}

a:hover {
  color: var(--accent);
}

/* ================================================= */
/* ICONS / IMAGES */
img {
  color: var(--fg);
  width: var(--icon);
  height: auto;
  display: inline-block;
}

img:hover {
  color: var(--accent);

/* ================================================= */
/* FOOTER */

footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  row-gap: var(--space-s);
  column-gap: var(--space-m);
  padding-top: var(--space-m);
  padding-bottom: var(--space-m);
  font-size: calc(var(--base) * var(--footer));
  color: var(--fg);
}






footer a:hover {
  color: var(--fg-muted);
}

title {
	font-size: calc(var(--base) * var(--title));
}


/* ================================================= */
/* DEBUG — À ACTIVER SI BESOIN */
/*
* {
  outline: 1px solid rgba(255,0,0,.2);
}
*/

/* ================================================= */
/* RESPONSIVE — ONE BREAKPOINT */
@media (max-width: 900px) {
  h1 {
    font-size: calc(var(--base) * 2.6);
  }
  
  main {
    padding: var(--space-l) var(--space-s);
  }

  nav {
    flex-wrap: wrap;
    gap: 8px;
  }
}