* {
	box-sizing: border-box;
	scroll-behavior: smooth;
}

:root {
	--color-navy: #000b75;
	--color-white: #ffffff;
	--color-gray: #f4f4f4;
	--color-dark-gray: #cccccc;
	--color-blush: #fadadd;
	--color-light-blush: #fce9eb;
	--color-creative: #e76daa;
	--color-deep-navy: #000062;
	--max: 1200px;
}

html, body {
	margin: 0;
	padding: 0;
}

body {
	background-color: var(--color-white);
	color: var(--color-deep-navy);
	font-family: 'Arial', sans-serif;
	line-height: 1.5;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.skip-link:focus {
	padding: .5rem .75rem;
	background: #0f1a2b;
	color: var(--color-white);
	position: static;
	width: auto;
	height: auto;
	display: inline-block;
}

/*HEADER*/
.site-hero {
	padding: 48px 20px;
	background: radial-gradient(
		circle, 
		rgba(255, 255, 255, 1.0) 0%,
		rgba(204, 204, 204, 1.0) 50%,
		rgba(250, 218, 221, 1.0) 100%
	);
	color: var(--color-navy);
	text-align: center;
}

.site-hero h1 {
	margin: 0 0 .5rem;
	font-size: 2.2rem;
	font-weight: 800;
	letter-spacing: .2px;
}

.site-hero p {
	margin: 0;
	font-size: 1.1rem;
	opacity: 0.95;
}

/*NAVBAR*/
.site-nav {
	padding: .75rem 2rem;
	/*background: #192842;*/
	background-color: var(--color-deep-navy);
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	justify-content: space-between;
	align-items: center;
	position: sticky;
	top: 0;
	backdrop-filter: blur(4px);
	z-index: 50;
}

.nav-left .brand {
	color: var(--color-white);
	text-decoration: none;
	font-weight: 700;
	font-size: 1.1rem;
	transition: color 0.2s ease;
}

.nav-left .brand:hover {
	color: var(--color-creative);
}

.nav-right a {
	margin-left: 1rem;
	color: var(--color-blush);
	text-decoration: none;
	font-size: 0.95rem;
}

.nav-right a[aria-current="page"] {
	color: var(--color-creative);
	font-weight: 700;
	text-decoration: underline;
}

/*MAIN SECTION*/
#main {
	padding: 40px 16px;
}

.tier {
	padding: 32px 16px;
}

.section-title {
	margin: 0 0 1.25rem;
	color: #0f1a2b;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 800;
	letter-spacing: 0.3px;
	/*position: relative;*/
}

.section-title .arrow {
	margin-left: 8px;
	margin-right: 8px;
	color: var(--color-creative);
	font-size: 1.4rem;
	display: inline-block;
	animation: arrow-bounce 2s infinite ease-in-out;
}

@keyframes arrow-bounce {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(6px);
	}
}

/*.section-title:hover .arrow {
	transform: translateY(4px);
}*/

.tier-socials {
	background-color: var(--color-white);
}

.btn {
	padding: .55rem .9rem;
	background: var(--color-creative);
	color: white;
	text-decoration: none;
	font-weight: 700;
	align-self: center;
	border-radius: 999px;
	box-shadow: 0 6px 16px rgba(15,26,43,.18);
	transition: transform .15s ease;
}

.btn:hover {
	transform: translateY(-1px);
}

/*TIER ONE*/
.tier-primary {
	background-color: var(--color-white);
}

.content-shell {
	margin: 0 auto 40px;
	padding: 40px 24px 48px;
	background-color: var(--color-gray);
	border-radius: 24px;
	max-width: var(--max);
}

/*ABOUT SECTION*/
.about {
	margin: 0 auto 24px;
	padding: 0 12px;
	text-align: center;
	max-width: 900px;
}

.about h2 {
	margin: 0 0 .75rem;
	/*color: var(--color-deep-navy);*/
	font-size: 1.4rem;
	font-weight: 800;
}

/*.about p {
	margin: 0;
	color: #000062;
}*/

/*CATEGORIES*/
.categories {
	margin: 32px auto 0;
	padding: 0 12px;
	/*display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px;*/
	max-width: 1100px;
	/*align-items: stretch;*/
}

.categories h2 {
	color: var(--color-deep-navy);
}

.card-grid {
	margin: 0 auto;
	padding: 0 20px;
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(auto-fit, minmax(188px, 1fr));
	max-width: 1100px;
}

.card {
	padding: 18px 18px 16px;
	background-color: white;
	/*text-align: center;*/
	transition: transform 0.2s ease;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .06);
	transition: transform .18s ease;
}

.card:hover {
	transform: translateY(-3px);
}

.card h3 {
	margin: .25rem 0 .35rem;
	text-align: center;
	font-size: 1.25rem;
}

.card p {
	margin: 0 0 .9rem;
	color: var(--color-navy);
}

/*TIER TWO*/
.tier-latest {
	margin: 0 auto 40px;
	padding: 40px 24px 48px;
	background-color: var(--color-gray);
	border-radius: 24px;
	max-width: 1000px;
}

.latest-shell {
	margin: 0 auto 32px;
	padding: 24px 20px 28px;
	background-color: var(--color-white);
	border-radius: 20px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
	max-width: 900px;
}

.latest-card {
	text-align: left;
}

.latest-card h3 {
	margin: 0 0 .5rem;
	font-size: 1.2rem;
}

.latest-meta {
	margin: 0 0 .25rem;
	color: #555;
	font-size: .85rem;
}

/*TIER THREE*/
.tier-socials {
	margin: 0 auto 40px;
	padding: 20px 14px 20px;
	background-color: var(--color-gray);
	border-radius: 24px;
	max-width: 800px;
}
.socials-shell {
	margin: 0 auto 40px;
	padding: 10px 9px 12px;
	background-color: var(--color-white);
	text-align: center;
	border-radius: 18px;
	max-width: 700px;
}

.socials-text {
	margin: 0 0 1rem;
}

.social-icons {
	display: flex;
	justify-content: center;
	gap: 16px;
}

.social-icons a {
	padding: 8px 20px;
	background-color: var(--color-deep-navy);
	color: var(--color-blush);
	text-decoration: none;
	font-size: .85rem;
	font-weight: 700;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	/*width: 40px;*/
	min-width: 90px;
	height: 40px;
}

/* Footer */
.site-foot {
	margin-top: 32px;
	padding: 24px 20px;
	background: radial-gradient(
		circle,
		#ffffff 0%,
		#d4d4d4 30%,
		#fadadd 80%
	);
	color: var(--color-navy);
	border-top: 1px solid var(--color-creative);
	text-align: center;
}


/*

.card a {
	padding: 10px 15px;
	display: inline-block;
	transition: background-color 0.2s ease;
}

.card a:hover {
	background-color: #444;
}

/*NAVIGATION BAR*/
@media (max-width: 600px) {
	nav {
		flex-direction: column;
		align-items: center;
	}
	nav a {
		margin: 8px 0;
		display: block;
	}
}

/* CARDS ON MEDIUM DEVICES (TABLETS, SMALL LAPTOPS) */
@media (min-width: 601px) and (max-width: 1024px) {
	.categories {
		grid-template-columns: 1fr 1fr; /*2 cards per row*/
	}
}

/* CARDS ON LARGE DEVICES (DESKTOPS) */
@media (min-width: 1025px) {
	.categories {
		grid-template-columns: repeat(4, 1fr); /* all 4 in one row */
	}
}