	html {
		overflow: auto;
	}

	body {
		background-color: #110E13;

		font-family: Rethink Sans, sans-serif;
		font-style: normal;
		font-size: 1em; /* 16px */
		font-weight: 400;
		line-height: 1.5em; /* 24px */
		letter-spacing: 0.48px;
		color: #C2BFC4;

		margin: 0;
	}



	h1 {
		font-family: Syne, sans-serif;
		font-size: 32px;
		font-weight: 600;
		line-height: 40px;
		letter-spacing: 0.96px;
		color: #fff;

		margin-block-end: 0;
		margin-block-start: 0;

	}

	h2 {
		font-family: Syne, sans-serif;
		font-size: 28px;
		font-weight: 600;
		line-height: 36px;
		letter-spacing: 0.96px;
		color: #AB57E3;

		margin-block-end: 0;
		margin-block-start: 0;

	}

	h3 {
		font-size: 18px;
		font-style: normal;
		font-weight: 700;
		letter-spacing: 0.54px;
		color: #fff;
	}


	.section {
		display: flex;
		flex-direction: column;
		gap: 32px;
	}

	.sub-section {
		width: 100%;
		max-width: 640px;
		margin: auto;
	}

	.image-block {
		display: flex;
		flex-direction: column;
		gap: 24px;
		align-items: center;
	}

	.image-block > .hero-image {
		width: 100%;
		max-width: 1280px;
		max-height: 640px;
		object-fit: cover;
		border-radius: 24px;		
		margin: auto;
	}

	.image-block > .inline-image {
		width: 100%;
		max-width: 640px;
		max-height: 384px;
		margin: auto;
		object-fit: cover;
		border-radius: 16px;		
		margin: auto;
	}

	caption {
		width: 100%;
		margin: auto;
		max-width: 640px;
		font-style: italic;
	}

	p {
		margin-block-start: 0;
	}

	a {
		font-weight: 600;
		color: #C2BFC4;
	}


	.overlay {
		height: 0;
		width: 100%;
	 	position: fixed;
	 	z-index: 1;
	 	top: 0;
	 	left: 0;
	 	background-color: rgba(24,20,27, 0.96);
	 	border-bottom: 1px solid #242026;
	 	overflow-x: hidden;
	 	-webkit-backdrop-filter: blur(12px);
	 	backdrop-filter: blur(12px);
	 	transition: 0.8s;
	 }

	.overlay-content {
		position: relative;
		top: 10%;
		width: 100%;
		text-align: center;
		margin-top: 80px;
	  
	}

	.overlay a {
		font-family: Syne, sans-serif;
		padding: 8px;
		text-decoration: none;
		font-size: 32px;
		color: #8F8794;
		display: block;
		line-height: 48px;
		transition: 0.3s;
		font-weight: 600;
	}

	.overlay a:hover, .overlay a:focus {
		color: #ffffff;
		font-weight: 760;
	}

	.overlay .closebtn {
		position: absolute;
		top: 20px;
		right: 45px;
		font-size: 60px;
	}


	nav {
		height: 64px;
		border-bottom: 1px solid #242026;
		background: rgba(24, 20, 27, 0.90);
		backdrop-filter: blur(16px);
		-webkit-backdrop-filter: blur(16px);
		display: flex;
		padding: 0 16px;
		position: fixed;
	    width: -webkit-fill-available;	
	}

	.nav {
		height: 64px;
	}

	#nav-contents {
		width: 100%;
		margin: auto;
		max-width: 1024px;
		display: flex;
		align-items: center;
		justify-content: space-between;
					transition: all 0.6s ease;
	}

	#nav-items {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	#desktop-nav {
		display: flex;
		gap: 24px;
	}	

	#desktop-nav > a {
		font-family: Syne, sans-serif;
		font-weight: 500;
		color: #8F8794;
		text-underline-offset: 8px;
		text-decoration: none;
		transition: all 0.6s ease;
	}

	#desktop-nav > a:hover, a:focus {
		color: #fff;
		text-decoration: underline 1px solid;		
	}

	footer {
		flex-direction: column-reverse;
		justify-content: space-between;
		align-items: center;
		gap: 16px;
	}

	footer > p {
		margin-bottom: 0;
	}

	footer > a {
		color: #FCD519;
		text-decoration: none;
	}

	#hero {
		display: flex;
		flex-direction: column;
		gap: 1rem;
		align-items: center;
	}

	#hero-info {
		display: flex;
		flex-direction: column;
		gap: 1.5em;	
	}

	#hero-image {
		width: 100%;
	}

	#hero-image > img {
			width: 100%;
			object-fit: cover; 
			max-height: 160px; 
			border-radius: 16px;
			transition: all 0.6s ease;
		}


	#hero-actions > a > #arrow {
		color: #707077;
	}	


	#hero-actions > a {
		text-decoration: none;
		text-underline-offset: 8px;
		overflow: hidden;
		display: flex;
		flex-direction: row;
		min-height: 32px;
		align-items: center;
		row-gap: 8px;

	}

	#hero-actions > a > #text-link:hover {
		color: #ffffff;
		text-decoration: underline 2px solid;
		transition: all 0.8s ease;
	}

	section , footer {
		padding: 24px;
		display: flex;
		justify-content: space-between;
		margin: auto;
		transition: all 0.6s ease;
	}


	#featured-projects {
		background-color: #1A151D;		
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		gap: 24px;
	}

	.title-block {	
	}

	.card-grid {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		gap: 24px;
	}

	.card {
		display: flex;
		flex-direction: column;
		border-radius: 16px;
		outline-offset: 8px;		
		overflow: hidden;
		/* transition: all 0.6s ease; */
		cursor: pointer;
		text-decoration: none;
	}

	.card:focus, .card:hover {
		background-color: #211F23;
		outline: solid 2px #fff;
		outline-offset: 12px;
	}

	.card-image {
		width: 100%;
		object-fit: cover;
		max-height: 256px;
		border-radius: 16px;
	}

	.card-body {
		display: flex;
		flex-direction: column;
		padding: 24px 0;
		gap: 8px;
	}

	.card-title {
		font-size: 18px;
		font-weight: 600;
		line-height: 24px;
		color: #fff;
		margin-bottom: 0;
	}

	.card-description {
		font-size: 16px;
		font-weight: 400;
		line-height: 24px;
		margin-bottom: 0;		
	}

	.hamburger-menu {
		cursor:pointer;
		height: 48px;
		width: 48px;
		display: flex;
		align-items: center; 
		justify-content: center;
		color: #fff;
		background-color: #333;
		border: none;
		border-radius: 12px;
	}


	@media screen and (min-width: 512px) {
		nav {
			padding: 0 36px;
		}

		footer {
			flex-direction: row;
		}

		h1 {
			font-size: 40px;
			line-height: 48px;
		}

		p {
			margin-block-end: 0;
			margin-bottom: 0.75em;
		}

		section, footer {
			padding: 32px;
		}

		#hero-image > img {
			max-height: 192px; 
		}		

	}

	@media screen and (max-width: 767px) {
		#desktop-nav {
			display: none;
		}
	}

	@media screen and (min-width: 768px) {


		section, footer {
			padding: 48px;
			max-width: 1024px;	
		}

		.card {
			flex-direction: row;
		}

		.card-grid {
			flex-wrap: nowrap;
			gap: 32px;
		}

		.card-body {
			padding: 24px;
			justify-content: center;
		}	

		.card-image {
			max-width: 50%;
		}					

		#hero {
			flex-direction: row-reverse;
			align-items: stretch;
			gap: 3rem;
						transition: all 0.6s ease;
		}

		#hero > div {
			display: flex;
			flex-direction: column;
			transition: width 0.6s ease;
		}

		#hero-info {	
			width: 65%;
			max-width: 640px;
		}

		#hero-image {
			width: 35%;	
		}

		#hero-image > img {
			max-height: unset;
			height: 100%;
			border-radius: 24px;
		}

		#mobile-nav {
			display: none;
		}

		#hero-actions > a {
			min-height: 32px;

		}		
	}

	@media screen and (min-width: 1024px) {
		h1 {

		}

		p, a {
			font-size: 18px;
			line-height: 28px;
		}

		nav {
			padding: 0 48px;
		}

		section, footer {
			padding: 64px;
		}	

		.card {
			flex-direction: column;
			flex: 1 1 0px;		
		}

		.card-image {
			max-width: unset;
		}	

		.card-grid {
			flex-direction: row;
		}		




		#hero {
			align-items: center;
			justify-content: space-between;
		}

		#hero > div {
			width: 50%;
		}

		#hero-image > img {
			max-height: 512px;
		}	

		#featured-projects {
			border-radius: 64px;
			gap: 32px;
		}		


	}

	@media screen and (min-width: 1280px) {
		h1 {
			font-size: 48px;
			line-height: 56px;
		}

		#nav-contents {
			max-width: 1280px;

		}

		section, footer {
			padding: 64px;
			max-width: 1280px;
		}		

	}

	@media screen and (max-height: 450px) {
		.overlay a {
			font-size: 24px;
		}
		.overlay .closebtn {
			font-size: 40px;
			top: 15px;
			right: 35px;
		}
	}

// <uniquifier>: Use a unique and descriptive class name
// <weight>: Use a value from 400 to 800

	.syne-<uniquifier> {
		font-family: "Syne", sans-serif;
  		font-optical-sizing: auto;
  		font-weight: <weight>;
  		font-style: normal;
	}
	.rethink-sans-<uniquifier> {
		font-family: "Rethink Sans", sans-serif;
		font-optical-sizing: auto;
		font-weight: <weight>;
		font-style: normal;
	}