
html {
	font-family: "PT Sans", Verdana, Helvetica, Arial, sans-serif;
	font-size: 16px;
}

pre {
	tab-size: 2;
}

@media (min-width: 40em) {
	html {
		font-size: 18px;
	}
	
	pre {
		tab-size: 4;
	}
}

@media (min-width: 80em) {
	html {
		font-size: 20px;
	}
	
	pre {
		tab-size: 4;
	}
}

body {
	padding: 0;
	margin: 0;
	background:
		radial-gradient(circle at top, rgba(72, 172, 255, 0.18), transparent 32%),
		linear-gradient(180deg, #07111f 0%, #0b1628 42%, #f6f8fb 42%, #f6f8fb 100%);
}

body > header {
	margin: 0;
	padding: 4rem 2rem 2.5rem;
	color: white;
}

.masthead {
	max-width: 72rem;
	margin: 0 auto;
}

.eyebrow {
	margin: 0 0 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.8rem;
	color: rgba(199, 222, 255, 0.8);
}

.masthead h1 {
	margin: 0;
	font-size: clamp(3rem, 8vw, 5rem);
	font-weight: normal;
	color: #f5fbff;
}

.tagline {
	margin: 1rem 0 0;
	max-width: 44rem;
	font-size: 1.1rem;
	line-height: 1.6;
	color: rgba(223, 236, 255, 0.88);
}

p, ul, ol {
	color: #555;
}

p strong {
	color: #222;
}

h1, h2, h3, h4, h5, h6 {
	margin: 2rem 1rem 1rem 1rem;
	color: #4E8DD9;
}

h1 {
	margin-bottom: 4rem;
}

h2 {
	margin-top: 6rem;
}

img {
	border: none;
}

a {
	color: #33a;
}

a:hover {
	color: #55c;
}

p, ul, ol, dl, h3 {
	margin: 2rem;
}

li {
	margin: 0.2rem;
}

li > ul, li > ol {
	margin: 0;
}

pre {
	overflow: auto;
	
	padding: 1rem 2rem;
	font-size: 0.8rem;
	
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	
	background-color: #eee;
}

h3 {
	border-bottom: 1px solid #ccf;
}

ul {
	margin-bottom: 1rem;
}

h2, h3, h4, h5, h6 {
	font-weight: normal;
}

body.front h1 {
	font-weight: normal;
	font-size: 300%;
	color: #ffad4a;

	text-align: left;
}

footer {
	max-width: 72rem;
	margin: 0 auto;
	padding: 2rem;
	font-size: 0.8rem;
	color: #6f7a89;
}

nav {
	position: absolute;
	margin: 2.5rem;
	font-size: 0.8rem;
	color: #aaa;
}

section.features {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	
	margin: 1rem;
}

section.features > div {
	box-sizing: border-box;
	
	flex-basis: 20rem;
	flex-grow: 1;
	
	color: #171e42;
	margin: 1rem;
	padding: 1rem;
	
	padding-left: 3rem;
	
	position: relative;
}

section.features > div i {
	position: absolute;
	left: 0rem;
	
	font-size: 1.5rem;
	text-align: center;
	
	width: 3rem;
	color: #fafafa;
	text-shadow: 0px 0px 1px #000;
}

section.features p {
	margin: 0;
	maring-bottom: 1rem;
	font-size: 80%;
}

section.features h2 {
	margin: 0;
	font-size: 1.1rem;
	padding: 0;
}

form fieldset {
	border: 0;
}

form fieldset textarea {
	box-sizing: border-box;
	
	width: 100%;
	height: 10rem;
}

form fieldset.footer {
	text-align: right;
}

#page {
	max-width: 72rem;
	margin: 0 auto;
	padding: 0 2rem 4rem;
}

.hero {
	padding: 1rem 0 2rem;
}

.lead {
	font-size: 1.2rem;
	line-height: 1.7;
	color: #29374d;
}

.feature-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
	gap: 1.5rem;
	margin: 2rem;
}

.feature-card,
.repository-card {
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(66, 97, 153, 0.12);
	border-radius: 1.25rem;
	box-shadow: 0 1rem 3rem rgba(7, 17, 31, 0.08);
}

.feature-card {
	padding: 1.5rem;
}

.feature-card h2,
.roadmap h2,
.repositories h2 {
	margin-top: 0;
	color: #13315a;
}

.feature-card p {
	margin: 0.75rem 0 0;
	line-height: 1.6;
}

.roadmap,
.repositories {
	margin-top: 3rem;
}

.roadmap ul {
	padding-left: 1.2rem;
	line-height: 1.7;
}

.repository-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
	gap: 1rem;
	margin: 2rem;
}

.repository-card {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1.25rem;
	text-decoration: none;
	color: #12304f;
	transition: transform 120ms ease, box-shadow 120ms ease;
}

.repository-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 1.4rem 3rem rgba(7, 17, 31, 0.12);
	color: #12304f;
}

.repository-card strong {
	font-size: 1rem;
}

.repository-card span {
	color: #516074;
	line-height: 1.5;
}

@media (max-width: 760px) {
	body > header {
		padding: 3rem 1.25rem 2rem;
	}

	#page,
	footer {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

	.feature-grid,
	.repository-list {
		margin-left: 0;
		margin-right: 0;
	}
}
