/**
 * Shared design tokens and element defaults.
 *
 * Page- and component-specific presentation belongs in separate stylesheets.
 */

@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/inter-400-latin.woff2") format("woff2");
}

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

:root {
	--foredoom-color-navy: #00102e;
	--foredoom-color-yellow: #ffd00a;
	--foredoom-color-text: #142e2c;
	--foredoom-color-heading: #00102e;
	--foredoom-color-white: #ffffff;
	--foredoom-color-surface: #f4f5f7;
	--foredoom-color-border: #dfe3e8;
	--foredoom-font-body: "Inter", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	--foredoom-font-heading: "Manrope", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	--foredoom-content-width: 1140px;
	--foredoom-gutter: 20px;
	--foredoom-section-space: 120px;
	--foredoom-section-space-tablet: 60px;
	--foredoom-section-space-mobile: 48px;
}

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	color: var(--foredoom-color-text);
	background: var(--foredoom-color-white);
	font-family: var(--foredoom-font-body);
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

body,
button,
input,
select,
textarea {
	font-family: var(--foredoom-font-body);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-block: 0 0.65em;
	color: var(--foredoom-color-heading);
	font-family: var(--foredoom-font-heading);
	line-height: 1.25;
}

p {
	margin-block: 0 1.5em;
}

a {
	color: inherit;
}

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

img {
	height: auto;
}

button,
input,
select,
textarea {
	font-size: 100%;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	cursor: pointer;
}

:focus-visible {
	outline: 3px solid var(--foredoom-color-yellow);
	outline-offset: 3px;
}

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

.screen-reader-text:focus {
	top: 8px;
	left: 8px;
	z-index: 100000;
	width: auto;
	height: auto;
	margin: 0;
	padding: 10px 16px;
	overflow: visible;
	clip: auto;
	clip-path: none;
	color: var(--foredoom-color-navy);
	background: var(--foredoom-color-white);
	white-space: normal;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}
