@font-face {
	font-family: Manrope;
	font-style: normal;
	font-weight: 300 600;
	font-display: swap;
	src: url("../fonts/manrope-latin.woff2") format("woff2");
}

:root {
	--ink: #0d0d0e;
	--ink-soft: #171719;
	--white: #fff;
	--grey: #9b9b98;
	--brand: #3f9470;
	--brand-bright: #62b28f;
	--signal: #b8ff3d;
	--line-dark: rgba(255, 255, 255, 0.17);
	--gutter: clamp(22px, 4.5vw, 76px);
	--section: clamp(68px, 7.5vw, 112px);
	--ease: cubic-bezier(0.22, 1, 0.36, 1);
}

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

body {
	margin: 0;
	background: var(--ink);
	color: var(--white);
	font-family: "Manrope", "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(17px, 1.15vw, 19px);
	font-weight: 300;
	line-height: 1.55;
	letter-spacing: -0.015em;
	-webkit-font-smoothing: antialiased;
}

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

:where(a, button):focus-visible { outline: 2px solid #589c78; outline-offset: 5px; }

.wp-site-blocks { min-height: 100vh; }
.wp-site-blocks > * { margin-block-start: 0; }

h1, p { margin-top: 0; }
h1 {
	font-size: clamp(52px, 7.4vw, 126px);
	font-weight: 300;
	line-height: 1.06;
	letter-spacing: -0.05em;
	text-wrap: balance;
}
h1 em { font-weight: 300; font-style: normal; color: #8f8f8d; }

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.kicker {
	margin: 0 0 30px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.wordmark, .wordmark a { display: inline-flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 500; letter-spacing: -0.045em; }
.wordmark .header-brand-image { display: block; width: 140px; height: 40px; background: url("../images/nekai-green-logo.png") center / contain no-repeat; }

.button, .wp-block-button.nekai-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-height: 56px;
	padding: 17px 30px;
	border: 1px solid currentColor;
	border-radius: 0 !important;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.button-light, .wp-block-button.button-light .wp-block-button__link { background: var(--white); border-color: var(--white); color: var(--ink); }
.button-light:hover, .wp-block-button.button-light .wp-block-button__link:hover { background: var(--signal); border-color: var(--signal); color: var(--ink); }

.signpost {
	position: relative;
	display: grid;
	align-content: center;
	min-height: 100svh;
	padding: var(--section) var(--gutter);
	background: var(--ink);
	color: var(--white);
}
.signpost .standalone-mark { position: absolute; top: 30px; left: var(--gutter); margin: 0; }
.signpost > div { max-width: 850px; }
.signpost h1 { margin-bottom: 34px; }
.signpost > div > p:not(.kicker):not(.signpost-identity) { max-width: 620px; margin-bottom: 40px; color: #aaa; font-size: clamp(19px, 1.55vw, 23px); }

.signpost-identity {
	position: absolute;
	right: var(--gutter);
	bottom: 28px;
	left: var(--gutter);
	padding-top: 20px;
	border-top: 1px solid var(--line-dark);
	margin: 0;
	color: #9aa49f;
	font-size: 14px;
	letter-spacing: 0;
}
.signpost-identity a { color: #c7c7c4; border-bottom: 1px solid rgba(255, 255, 255, 0.28); }
.signpost-identity a:hover { color: var(--white); }

@media (max-width: 680px) {
	:root { --gutter: 21px; --section: 64px; }
	body { font-size: 17px; }
	h1 { font-size: clamp(42px, 13vw, 64px); }
	.wordmark .header-brand-image { width: 118px; height: 36px; }
	.signpost { align-content: start; padding-top: 108px; padding-bottom: 168px; }
	.signpost > div > p:not(.kicker):not(.signpost-identity) { font-size: 18px; }
	.signpost .wp-block-button, .signpost .wp-block-button .wp-block-button__link { width: 100%; }
	.signpost-identity { position: static; margin-top: 56px; }
}
