/* Reset */
*,
*::before,
*::after {
	box-sizing: border-box;
}

* {
	margin: 0;
	padding: 0;
}

html {
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
}

body {
	min-height: 100dvh;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

img,
picture,
video,
canvas,
svg {
	display: block;
	max-width: 100%;
}

input,
button,
textarea,
select {
	font: inherit;
	color: inherit;
}

button {
	background: none;
	border: none;
	cursor: pointer;
}

a {
	color: inherit;
	text-decoration: none;
}

ul,
ol {
	list-style: none;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: break-word;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	font-weight: inherit;
}

/* ibm-plex-sans-condensed-500 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: "IBM Plex Sans Condensed";
	font-style: normal;
	font-weight: 500;
	src: url("/assets/ibm-plex-sans-condensed-v15-latin-500.woff2")
		format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* ibm-plex-sans-condensed-500italic - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: "IBM Plex Sans Condensed";
	font-style: italic;
	font-weight: 500;
	src: url("/assets/ibm-plex-sans-condensed-v15-latin-500italic.woff2")
		format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* ibm-plex-mono-regular - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: "IBM Plex Mono";
	font-style: normal;
	font-weight: 400;
	src: url("/assets/ibm-plex-mono-v20-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* ibm-plex-mono-italic - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: "IBM Plex Mono";
	font-style: italic;
	font-weight: 400;
	src: url("/assets/ibm-plex-mono-v20-latin-italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* ibm-plex-mono-500 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: "IBM Plex Mono";
	font-style: normal;
	font-weight: 500;
	src: url("/assets/ibm-plex-mono-v20-latin-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* ibm-plex-mono-500italic - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: "IBM Plex Mono";
	font-style: italic;
	font-weight: 500;
	src: url("/assets/ibm-plex-mono-v20-latin-500italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:root {
	--white: white;
	--black: #31213b;
	--mono: "IBM Plex Mono";
	--sans: "IBM Plex Sans Condensed";
	background: var(--white);
	color: var(--black);

	font-size: 16px;
	@media (min-width: 991px) {
		font-size: 1vw;
	}
	@media (min-width: 1600px) {
		font-size: 16px;
	}
}

body {
	width: 100vw;
	height: 100svh;
	padding: 1.5rem;
    display: flex;
    flex-direction: column;

    @media (min-width: 991px) {
        padding: 2.5rem;
    }
    
}

header {
	font: 400 0.875rem/1 var(--mono);
}

h1 {
	margin-top: 1.5rem;
	font: 500 2.25rem/1 var(--sans);

	@media (min-width: 991px) {
		margin-top: 2.5rem;
		font: 500 4.5rem/1 var(--sans);
	}
}

.socials {
	margin-top: 1.5rem;
	display: flex;
	gap: 0.5rem;
    flex-grow: 1;

	@media (min-width: 991px) {
		margin-top: 2.5rem;
	}

	a {
		width: 3.75rem;
		height: 3.75rem;
		background: #eeecf4;
		border-radius: 100%;
		flex-shrink: 0;
		display: flex;
		align-items: center;
		justify-content: center;

		svg {
			width: 1.25rem;
		}
	}
}

footer {
	background: #aeefc9;
	border-radius: 1.25rem;
	padding: 1.5rem;
    display: flex;
    gap: 2rem;
    flex-direction: column;
    @media (min-width: 991px) {
        padding: 4rem;
        flex-direction: row;
        justify-content: space-between;
    }
    

	p {
		max-width: 42ch;
		font: 400 0.875rem/1 var(--mono);
	}

	a {
		border-radius: 0.5rem;
		background: var(--white);
		display: flex;
		align-items: center;
		justify-content: center;
		text-decoration: underline;
		font: 500 0.875rem/1 var(--mono);
		text-transform: uppercase;
        padding: 1rem 2rem;
        width: fit-content;
	}
}
