:root {
	--takum-bg: #090909;
	--takum-surface: #111111;
	--takum-text: #ffffff;
	--takum-muted: #7e7e80;
	--takum-accent: #e5ff27;
	--takum-radius: 8px;
	--takum-container: min(1200px, calc(100vw - 32px));
	--takum-font-body: "Nunito Sans", system-ui, sans-serif;
	--takum-font-display: "Syne", system-ui, sans-serif;
}

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--takum-bg);
	color: var(--takum-text);
	font-family: var(--takum-font-body);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

a {
	color: inherit;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

.takum-skip-link {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 10000;
	transform: translateY(-150%);
	background: var(--takum-accent);
	color: #090909;
	padding: 10px 14px;
	border-radius: var(--takum-radius);
	font-weight: 700;
	text-decoration: none;
}

.takum-skip-link:focus {
	transform: translateY(0);
}

.takum-site-header,
.takum-site-footer {
	background: var(--takum-bg);
}

.takum-site-header__inner,
.takum-site-footer__inner,
.takum-archive__inner,
.takum-single,
.takum-error__inner {
	width: var(--takum-container);
	margin-inline: auto;
}

.takum-site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 72px;
	gap: 24px;
}

.takum-site-header__brand {
	font-family: var(--takum-font-display);
	font-weight: 800;
	text-decoration: none;
}

.takum-site-header__nav ul,
.takum-site-footer__nav ul {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.takum-site-main {
	min-height: 60vh;
}

.takum-page {
	margin: 0;
}

.takum-archive,
.takum-single,
.takum-error {
	padding-block: 96px;
}

.takum-card {
	padding: 24px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.takum-card__title,
.takum-single h1,
.takum-error h1 {
	font-family: var(--takum-font-display);
}

.takum-button {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 12px 20px;
	border-radius: 999px;
	background: var(--takum-accent);
	color: #090909;
	font-weight: 800;
	text-decoration: none;
}

.takum-site-footer__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-block: 32px;
	color: var(--takum-muted);
}

@media (max-width: 767px) {
	.takum-site-header__inner,
	.takum-site-footer__inner {
		align-items: flex-start;
		flex-direction: column;
	}

	.takum-site-header__nav ul,
	.takum-site-footer__nav ul {
		align-items: flex-start;
		flex-direction: column;
	}
}

