@font-face {
  font-family: "PP Fraktion Sans";
  src: url("fonts/PPFraktionSans-Variable.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --background: oklch(94% 0.02 103);   /* plume-beige-100 */
  --foreground: oklch(35% 0.03 186);   /* plume-vert-600 */
  --muted-foreground: oklch(52% 0.05 187); /* plume-vert-400 */
  --accent: oklch(44% 0.04 186);       /* plume-vert-500 */
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--background);
  color: var(--foreground);
  font-family: "PP Fraktion Sans", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
}

.refonte {
  width: 100%;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}

.refonte_content {
  width: 100%;
  max-width: 30rem;
  min-height: calc(100dvh - 4rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
  text-align: center;
  gap: 2.5rem;
}

.refonte_logo {
  width: 16rem;
  height: auto;
}

.refonte_text {
  margin: 0;
  color: var(--muted-foreground);
}

.refonte_block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}

.refonte_socials {
  display: flex;
  gap: 1rem;
}

.refonte_socials a {
  display: inline-flex;
  color: var(--foreground);
}

.refonte_socials svg {
  width: 1.5rem;
  height: 1.5rem;
}

.refonte_contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

.refonte_link {
  color: var(--foreground);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.3s ease;
}

.refonte_link:hover {
  color: var(--accent);
}
