@supports (font-variation-settings: 'wdth' 115) {
	@font-face {
	  font-family: "Mulish";
	  font-style: normal;
	  font-weight: 100 900;
	  font-display: swap;
	  src: url("_fonts/Mulish-VariableFont_wght.ttf") format("truetype");
	}
	@font-face {
	  font-family: "Roboto Slab";
	  font-style: normal;
	  font-weight: 200 900;
	  font-display: swap;
	  src: url("_fonts/RobotoSlab-VariableFont_wght.ttf") format("truetype");
	}
}


@-ms-viewport {
	width: device-width;
}

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


html {
	--color_black: oklch(0 0 0);
	--color_cream: oklch(0.9691 0.0107 76.6);
	--color_brand_green: oklch(0.3605 0.0566 200.2);
	--color_brand_green_menu: oklch(0.3605 0.0566 200.2 / 96%);
	--color_brand_red: oklch(0.5137 0.1093 30.08);
	--color_white: oklch(1 0 0);
	--color_input_bg: oklch(0.9888 0.0045 78.3);
	
	margin: 0;
	padding: 0;
	
	font-family: "Mulish", ui-sans-serif, sans-serif;
	font-size: 4px;
	font-optical-sizing: auto;
	font-weight: 400;
	color: oklch(0.2442 0.0064 0.59);
	
	background: var(--color_cream);
	
	scroll-behavior: smooth;
	scroll-snap-type: y mandatory;
	scroll-padding-top: 34em;
	
	text-rendering: optimizeLegibility;
	-webkit-text-size-adjust: none;
	-ms-text-size-adjust: 100%;
	text-size-adjust: none;
}

body {
	margin: 0;
	padding: 0;
	
	overflow-anchor: none;
}
body.overlay {
	height: 100dvh;
	overflow: hidden;
}

.wrapper {
	width: 100%;
	max-width: 256rem;
	
	margin: 0 auto;
	padding: 0 8rem;
}

@supports(padding: max(0px)) {
	.wrapper {
		padding-left: max(10rem, env(safe-area-inset-left));
		padding-right: max(10rem, env(safe-area-inset-right));
	}
}

h2.tab {
	margin: 0;
	padding: 2.5rem 6rem;
	
	font-family: "Roboto Slab", sans-serif;
	font-size: 4rem;
	font-optical-sizing: auto;
	font-weight: 600;
	color: var(--color_white);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	
	display: inline-block;
	
	background: var(--color_brand_red);
	
	border-radius: 2rem;
}

.spacer {
	width: 100%;
	height: 10rem;
}
.spacer.projects {
	background: oklch(1 0 0);
}
.spacer.team {
	background: oklch(0.3605 0.0566 200.2);
}




nav {
	width: 100%;
	
	margin: 0;
	padding: 0;

	background: oklch(1 0 0 / 0%);
	
	position: sticky;
	left: 0;
	right: 0;
	top: 0;
	
	z-index: 4000;
	
	transition: background 0.3s ease-in-out;
}
html:not(.js) nav {
	background: var(--color_white);
}

nav .links {
	width: 100%;
	max-width: 256rem;
	
	margin: 0 auto;
	padding: 6rem 8rem;
	
	font-size: 4rem;
	font-weight: 600;
	color: var(--color_black);
	text-transform: uppercase;
	letter-spacing: 0.044em;
	
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto;
	gap: 12rem;
	
	align-items: center;
}
nav .links > div {
	line-height: 0;
}
nav .links > div a {
	width: auto;
	height: 12rem;
	
	display: inline-block;
}
nav .links svg.logo_main {
	width: 55rem;
	height: 12rem;
	display: inline-block;
	
	cursor: pointer;
	
	--path_brand: var(--color_white);
	--path_logotype: var(--color_white);
}
html:not(.js) nav .links svg.logo_main {
	--path_brand: var(--color_brand_red);
	--path_logotype: var(--color_brand_green);
}

nav .links .menu_mobile {
	display: none;
}
nav .links .menu_mobile a {
	line-height: 9rem;
}
nav .links .menu_mobile a svg {
	width: 7rem;
	height: 3.5rem;
	
	fill: oklch(1 0 0);
}

nav .links .menu {
	line-height: 12rem;
	
	display: grid;
	grid-template-columns: repeat(5, auto);
	grid-template-rows: auto;
	gap: 12rem;
	align-items: center;
}

nav .links .menu a {
	display: block;
	text-decoration: none;
	color: oklch(1 0 0);
}
html:not(.js) nav .links .menu a {
	color: var(--color_black);
}

nav.bg_scroll {
	background: var(--color_white);
	transition: background 0.3s ease-in-out;
}
nav.bg_scroll .links svg.logo_main {
	--path_brand: var(--color_brand_red);
	--path_logotype: var(--color_brand_green);
	
	transition: fill 0.3s ease-in-out;
}
nav.bg_scroll .links .menu a {
	color: var(--color_black);
	transition: color 0.5s ease-in-out;
}
nav.bg_scroll .links .menu a:hover {
	color: var(--color_brand_red);
	transition: color 0.2s ease-in-out;
}

nav.bg_scroll .links .menu_mobile a svg {
	fill: oklch(0 0 0);
}





section.hero {
	width: 100%;
	height: 128rem;
	
	margin: -24rem 0 0 0;
	padding: 0;
	
	text-align: center;
	
	background-image: 
		url("../_img/hero.512.png"), 
		linear-gradient(90deg,oklch(0.3614 0.0548 200.43) 0%, oklch(0.3614 0.0548 200.43) 50%, oklch(0.7297 0.1233 201.56) calc(50% + 1px), oklch(0.7297 0.1233 201.56) 100%);
	background-size: auto auto;
	background-position: center top, left top;
	background-repeat: no-repeat, repeat-x;
}

section.hero h1 {
	width: 100%;
	max-width: calc(256rem - 16rem);
	height: 100%;
	
	margin: 0 auto;
	padding: 24rem 0 0 0;
	
	font-size: 14rem;
	font-weight: 600;
	color: var(--color_white);
	text-align: left;
	letter-spacing: -0.011em;
	
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: calc(100% - 40rem);
	
	align-items: center;
}



header {
	width: 100%;
	max-width: calc(256rem - 16rem);
	
	margin: -16rem auto 0 auto;
	padding: 13.5rem 16rem;
	
	background: var(--color_white);
	
	border-radius: 5rem;
	
	position: relative;
	z-index: 100;
}

header h2 {
	margin: 0;
	padding: 0;
	
	font-size: 8rem;
	font-weight: 700;
	color: var(--color_brand_green);
	text-align: center;
}

header p {
	margin: 4rem 0 0 0;
	padding: 0;
	
	font-size: 5rem;
	font-weight: 600;
	line-height: 1.5em;
	letter-spacing: -0.023em;
	text-align: justify;
}




section.services {
	width: 100%;
	
	margin: 12rem auto;
	padding: 0;
}

section.services .block {
	width: 100%;
	
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-auto-flow: dense;
	gap: 24rem;
	
	align-items: center;
}
section.services .block + .block {
	margin: 12rem 0 0 0;
}

section.services .block .image {
	width: 100%;
	height: auto;

	border-radius: 5rem;
	
	overflow: hidden;
}
section.services .block.reverse .image {
	grid-column: 2;
}
section.services .block.reverse .copy {
	grid-column: 1;
}

section.services .block .image img {
	width: 100%;
	height: auto;
	
	border-radius: inherit;
}

section.services .block .copy h2.tab {
	margin: 0 0 10rem 0;
}
section.services .block .copy h3 {
	margin: 0;
	padding: 0;
	
	font-size: 5.75rem;
	font-weight: 700;
	color: oklch(0.365 0.055 200.41);
}
section.services .block .copy p {
	margin: 3rem 0 0 0;
	padding: 0;
	
	font-size: 4.25rem;
	line-height: 1.6em;
	letter-spacing: 0;
	
	text-wrap: balance;
}





section.track_record {
	width: 100%;
	
	margin: 0 auto;
	padding: 24rem 0;
	
	background: var(--color_brand_red);
}
section.track_record .wrapper {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto;
	gap: 16rem;
}

section.track_record h3 {
	margin: 0;
	padding: 0;
	
	font-size: 8rem;
	font-weight: 600;
	color: oklch(1 0 0);
	line-height: 0;
	
	display: block;
}

section.track_record .achievements {
	display: grid;
	grid-template-columns: repeat(4, auto);
	grid-template-rows: auto;
	
	justify-content: space-between;
}

section.track_record .achievements .record {
	width: 100%;
	
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 18rem 20rem 19rem;
	gap: 4rem;
	align-items: center;
	justify-items: center;
}

section.track_record .achievements .record .icon {
	height: 18rem;
	
	line-height: 0;
	
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto;
	align-items: center;
	justify-items: center;
}
section.track_record .achievements .record .icon img {
	width: auto;
	height: 18rem;
}
section.track_record .achievements .record .icon.first img {
	width: auto;
	height: 14.5rem;
}

section.track_record .achievements .record .callout {
	font-size: 18rem;
	font-weight: 700;
	color: oklch(1 0 0);
	line-height: 0;
	
	display: grid;
	grid-template-columns: auto 1fr auto auto;
	grid-template-rows: 20rem;
	
	align-items: center;
}
section.track_record .achievements .record .callout span {
	font-size: 10rem;
	font-weight: 600;
	display: inline-block;
}
section.track_record .achievements .record .callout span.number {
	width: 26rem;
	font-size: 18rem;
	font-weight: 700;
	text-align: right;
}
section.track_record .achievements .record .callout span.value {
	/* padding: 0.75rem 0 0 0;
	align-self: end; */
	font-size: 18rem;
	font-weight: 500;
}
section.track_record .achievements .record .callout span.large {
	font-size: 14.5rem;
}

section.track_record .achievements .record .title {
	font-size: 5rem;
	color: oklch(1 0 0);
	text-align: center;
	line-height: 1.25;
	
	align-self: start;
}




section.projects {
	width: 100%;
	
	padding: 16rem 0 26rem 0;
	
	background: oklch(1 0 0 / 100%);
}
section.projects .wrapper {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto;
	gap: 12rem;
	
	justify-items: center;
}

section.projects .wrapper h2{
	margin: 0 0 4rem 0;
}

section.projects .project_logos {
	width: 100%;
	
	display: grid;
	grid-template-columns: repeat(4, auto);
	grid-template-rows: auto;
	gap: 0;
	
	align-items: center;
	justify-content: space-between;
}
section.projects .project_logos div {
	line-height: 0;
}
section.projects .project_logos .last {
	grid-column: 1 / span 4;
	text-align: center;
}

.project.chipotle {
	width: 60rem;
	height: auto;
}
.project.starbucks {
	width: 20.5rem;
	height: auto;
}
.project.dollar_tree {
	width: 66rem;
	height: auto;
}
.project.caliber_collision {
	width: 40rem;
	height: auto;
}
.project.sherwin_williams {
	width: 83rem;
	height: auto;
}
.project.aldi {
	width: 20.5rem;
	height: auto;
}
.project.mod_pizza {
	width: 20.5rem;
	height: auto;
}
.project.bandanas_bbq {
	width: 36.5rem;
	height: auto;
}
.project.mattressfirm {
	width: 72rem;
	height: auto;
}




.team_frame {
	padding: 0;
	
	background: var(--color_brand_green);
	
	position: relative;
	overflow: hidden;
	overflow-anchor: none;
}

.team_frame .watermark {
	width: 144rem;
	height: 144rem;
	
	position: absolute;
	left: 50%;
	top: -10rem;
	
	z-index: 0;
}

.rotate {
  animation: rotation 90s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  transform-origin: center center;
}

@keyframes rotation {
  from {
	transform: rotate(0deg);
  }
  to {
	transform: rotate(360deg);
  }
}

section.team {
	width: 100%;
	
	margin: 10rem 0 0 0;
	padding: 16rem 0 24rem 0;

	overflow-anchor: none;
}

section.team .wrapper {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: auto;
	gap: 14rem 12rem;
}
section.team .wrapper div:nth-child(-n+2) {
	grid-column: 1 / span 3;
}

section.team h3 {
	margin: 0 0 8rem 0;
	padding: 0;
	
	font-size: 12rem;
	font-weight: 600;
	color: oklch(1 0 0);
	line-height: 1;
}

section.team .profile {
	width: 100%;
	
	font-size: 5rem;
	font-weight: 700;
	color: oklch(1 0 0);
	letter-spacing: 0.02em;
	text-decoration: none;
	
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto;
	gap: 6rem;
}
section.team .profile span.title {
	font-size: 4rem;
	font-weight: 400;
	letter-spacing: 0.05em;
}
section.team .profile div:nth-of-type(1) {
	width: 100%;
	height: auto;
	
	object-fit: cover;
	overflow: hidden;
	
	border-radius: 4rem;
	
	transform: scale(100%);
	transition: transform 0.5s ease;
}
section.team .profile:hover div:nth-of-type(1) {
	transform: scale(105%);
	transition: transform 0.5s ease;
}
section.team .profile div:nth-of-type(1) img {
	width: 100%;
	height: auto;
	
	transform: scale(100%);
	transition: transform 0.5s ease;
	
	object-fit: cover;
	
	border-radius: inherit;
}
section.team .profile:hover div:nth-of-type(1) img {
	transform: scale(110%);
	transition: transform 0.5s ease;
}

section.team_profile {
	width: 100dvw;
	height: 100dvh;
	
	margin: 0 auto;
	padding: 12rem 0;
	
	position: fixed;
	left: 0;
	top: 0;
	
	z-index: -400;
	opacity: 0;
	
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
	align-items: center;
	
	background: var(--color_cream);
	
	will-change: opacity;
	
	background-image: url("../_img/brand.symbol.svg");
	background-size: 128rem;
	background-position: left calc(((100dvw - 256rem) / 2) - 48rem) top 4rem;
	background-repeat: no-repeat;
	
	overflow-anchor: none;
}
section.team_profile .wrapper {
	height: calc(100dvh - 24rem);
	
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 8rem 1fr;
	gap: 8rem;
}
section.team_profile.active {
	z-index: 4000;
	
	opacity: 1;
	transition: opacity 0.5s ease;
}

section.team_profile .closer {
	display: grid;
	justify-items: right;
	align-items: start;
}
section.team_profile .closer .button_close {
	width: 8rem;
	height: 8rem;
	
	background: var(--color_brand_red);
	background-image: url("../_img/icon.close.svg");
	background-size: 4rem 4rem;
	background-position: center center;
	background-repeat: no-repeat;
	
	border-radius: 1rem;
	
	cursor: pointer;
}

section.team_profile .team_member_bio {
	width: 100%;
	
	display: grid;
	grid-template-columns: 98rem 1fr;
	grid-template-rows: auto;
	gap: 12rem;
	
	overflow-y: auto;
}

section.team_profile .profile_basics {
	width: 100%;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto 1fr;
	gap: 8rem;
	
	align-items: start;
}

section.team_profile .profile_photo {
	line-height: 0;
}
section.team_profile .profile_photo img {
	width: 100%;
	height: auto;
	object-fit: cover;
	
	border-radius: 4rem;
}

section.team_profile .profile_name {
	font-size: 6rem;
	font-weight: 400;
}
section.team_profile .profile_name h2 {
	margin: 0 0 3rem 0;
	
	font-size: 7rem;
	font-weight: 700;
	color: var(--color_brand_green);
	line-height: 1;
	text-box: trim-both cap alphabetic;
}

section.team_profile .profile_resume {
	height: auto;
	
	padding: 0 2rem 6rem 0;
	
	font-size: 4.25rem;
	line-height: 1.6;
	text-wrap: balance;
	orphans: 2;
	
	overflow-y: auto;
}
section.team_profile .profile_resume p {
	text-box: trim-both cap alphabetic;
	text-wrap: balance;
}
section.team_profile .profile_resume p + p {
	margin: 8rem 0 0 0;
}
section.team_profile .profile_resume p:nth-of-type(1) {
	margin: 0;
}





.contact_frame {
	padding: 0;
}

section.contact {
	width: 100%;
	
	margin: 12rem 0 0 0;
	padding: 0 0 24rem 0;
}
section.contact .wrapper {
	max-width: 240rem;
	padding: 24rem 16rem 16rem 16rem;
	
	display: grid;
	grid-template-columns: 0.7fr 1fr;
	grid-template-rows: auto;
	gap: 24rem;
	
	background: var(--color_white);
	border-radius: 5rem;
}

section.contact .static {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto 1fr;
	gap: 12rem;
}

section.contact .static h3 {
	margin: 0;
	padding: 0;
	
	font-size: 8rem;
	font-weight: 600;
	color: var(--color_brand_green);
	letter-spacing: -0.011em;
}

section.contact .dynamic {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto;
	
	align-items: start;
}

section.contact .form_item {
	width: 100%;
	
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto;
	gap: 2rem;
	
	justify-content: start;
}
section.contact .form_item + .form_item {
	margin: 9rem 0 0 0;
}
section.contact .form_item + .form_item.submit {
	margin: 16rem 0 0 0;
}

section.contact form label {
	font-size: 4.5rem;
	color: var(--color_black);
	line-height: 1;
}

section.contact form input {
	appearance: none;
	
	font-family: inherit;
	font-size: 4.5rem;
	line-height: 13rem;
	padding: 0 4rem;
	
	background: var(--color_input_bg);
	
	border: 0.25rem var(--color_black) solid;
	border-radius: 2rem;
	
	box-sizing: border-box;
}
section.contact form textarea {
	appearance: none;
	
	height: 80rem;
	
	font-family: inherit;
	font-size: 4.5rem;
	line-height: 1.5;
	padding: 4rem;
	
	background: var(--color_input_bg);
	
	border: 0.25rem var(--color_black) solid;
	border-radius: 2rem;
	
	box-sizing: border-box;
}
section.contact form input[type="button"] {
	margin: 0 auto 0 0;
	padding: 0 12rem;
	
	align-self: start;
	
	font-family: "Roboto Slab", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	color: var(--color_white);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	
	background-color: var(--color_brand_green);
	border: 0;
}

section.contact form .form_item:nth-of-type(4) {
	width: 100%;
	height: 0;
	
	margin: 0;
	
	overflow: hidden;
	opacity: 0;
}

form.hide {
	display: none;
}
#response {
	padding-bottom: 1rem;
	
	font-size: 5rem;
	line-height: 1.5;
	
	align-self: end;
	
	opacity: 0;
}
#response.show {
	opacity: 1;
	transition: opacity 1.5s ease;
}

#response p {
	margin: 0;
}




section.copyright {
	width: 100%;
	max-width: calc(256rem - 16rem);
	
	margin: 0 auto;
	padding: 0 0 12rem 0;
	
	font-size: 3.5rem;
	font-weight: 200;
	text-align: center;
	loine-height: 1;
}


@media screen and (max-width: 960px) {
	
	nav .links {
		font-size: 3.5rem;
		grid-template-columns: auto 1fr;
		gap: 12rem;
	}
	
	nav .links .menu {
		gap: 0;
		justify-content: space-between;
	}
	
	section.hero h1 {
		max-width: calc(100% - 16rem);
		line-height: 1;
	}
	
	header {
		max-width: calc(100% - 16rem);
		
		padding: 13.5rem 12rem;
	}
	
	section.services .block {
		gap: 12rem;
		align-items: start;
	}
	section.services .block + .block {
		margin: 10rem 0 0 0;
	}
	
	
	
	section.track_record {
		padding: 16rem 0;
	}
	
	section.track_record .wrapper {
		gap: 8rem;
	}
	
	section.track_record h3 {
		line-height: 0;
	}
	
	section.track_record .achievements .record {
		grid-template-rows: 16rem 18rem 16rem;
		gap: 2rem;
	}
	
	section.track_record .achievements .record .icon {
		height: 16rem;
	}
	section.track_record .achievements .record .icon img {
		width: auto;
		height: 16rem;
	}
	section.track_record .achievements .record .icon.first img {
		width: auto;
		height: 12.75rem;
	}
	
	section.track_record .achievements .record .callout {
		font-size: 12rem;
		grid-template-rows: 18rem;
	}
	section.track_record .achievements .record .callout span {
		font-size: 8rem;
	}
	section.track_record .achievements .record .callout span.number {
		width: 18rem;
		font-size: 12rem;
	}
	section.track_record .achievements .record .callout span.value {
		padding: 0;
		align-self: center;
		font-size: 12rem;
	}
	section.track_record .achievements .record .callout span.large {
		font-size: 8rem;
	}
	
	section.track_record .achievements .record .title {
		font-size: 4.5rem;
	}
	
	
	section.projects {
		padding: 6rem 0 16rem 0;
	}
	
	section.projects .wrapper {
		gap: 8rem;
	}
	
	.project.chipotle {
		width: calc(60rem * 0.75);
	}
	.project.starbucks {
		width: calc(20.5rem * 0.75);
	}
	.project.dollar_tree {
		width: calc(66rem * 0.75);
	}
	.project.caliber_collision {
		width: calc(40rem * 0.75);
	}
	.project.sherwin_williams {
		width: calc(83rem * 0.75);
	}
	.project.aldi {
		width: calc(20.5rem * 0.75);
	}
	.project.mod_pizza {
		width: calc(20.5rem * 0.75);
	}
	.project.bandanas_bbq {
		width: calc(36.5rem * 0.75);
	}
	.project.mattressfirm {
		width: calc(72rem * 0.75);
	}
	
	
	.team_frame .watermark {
		width: 108rem;
		height: 108rem;
	}
	
	section.team {
		padding: 6rem 0 16rem 0;
	}
	
	section.team .wrapper {
		gap: 10rem;
	}
	
	section.team_profile .team_member_bio {
		grid-template-columns: 1fr 1fr;
		gap: 10rem;
	}
	
	
	section.contact {
		width: calc(100% - 16rem);
		
		margin-left: auto;
		margin-right: auto;
	}
	
	section.contact .wrapper {
		padding: 16rem 12rem;
		
		grid-template-columns: auto 1fr;
		gap: 12rem;
	}
	
	section.contact .static h3 {
		font-size: 6rem;
	}
	
	
	#response.show {
		height: 22.5rem;
		font-size: 4.5rem;
		line-height: 1.35;
		display: grid;
		align-items: end;
	}
	
	
	
}



@media screen and (max-width: 600px) {
	
	
	html {
		scroll-padding-top: 0;
	}
	
	.wrapper {
		padding: 0 6rem;
	}
	
	section {
		scroll-margin-top: 24rem;
	}
	
	h2.tab {
		margin: 0;
		padding: 2rem 4rem;
		
		font-size: 4rem;
		
		border-radius: 2rem;
	}
	
	nav {
		padding: 0 6rem;
	}
	
	nav .links {
		padding: 4rem 0;
		
		grid-template-columns: 1fr auto;
		gap: 4rem;
	}
	nav .links > div {
		line-height: 0;
	}
	nav .links > div a {
		width: auto;
		height: 9rem;
		
		display: inline-block;
	}
	nav .links svg.logo_main {
		width: 41.25rem;
		height: 9rem;
	}
	
	nav .links .menu_mobile {
		display: block;
	}
	nav.bg_scroll .links .menu_mobile.active a svg {
		fill: var(--color_brand_red);
	}
	
	nav .links .menu {
		width: 100%;
		
		grid-template-columns: 1fr;
		gap: 0;
		
		position: fixed;
		left: -200%;
		top: 17rem;
		
		opacity: 0;
		
		z-index: 6000;
		
		background: var(--color_white);
	}
	nav .links .menu.active {
		left: 0;
		opacity: 1;
		transition: opacity 0.4s ease;
	}
	
	nav .links .menu a {
		height: 12rem;
		padding: 0 6rem;
		color: var(--color_black);
	}
	
	section.hero {
		height: 96rem;
		margin: -18rem 0 0 0;
		background-size: cover;
	}
	
	section.hero h1 {
		padding: 18rem 0 0 0;
		font-size: 7.5rem;
	}
	
	
	header {
		width: calc(100% - 12rem);
		padding: 8rem 7rem;
		scroll-margin-top: 30rem;
	}
	
	header h2 {
		font-size: 5rem;
		line-height: 1.35em;
	}
	
	header p {
		font-size: 4.5rem;
		font-weight: 500;
		letter-spacing: -0.011em;
	}
	
	
	
	section.services .block, section.services .block.reverse {
		width: 100%;
		
		display: grid;
		grid-template-columns: 1fr;
		grid-auto-flow: dense;
		gap: 8rem;
		
		align-items: center;
	}
	section.services .block + .block {
		margin: 10rem 0 0 0;
	}
	
	section.services .block .image, section.services .block.reverse .image {
		grid-column: 1;
		grid-row: 2;
	}
	
	section.services .block .copy, section.services .block.reverse .copy {
		grid-row: 1;
	}
	
	section.services .block .image img {
		object-fit: cover;
	}
	
	section.services .block .copy h2.tab {
		margin: 0 0 10rem 0;
	}
	section.services .block .copy h3 {
		font-size: 6rem;
	}
	section.services .block .copy p {
		margin: 2rem 0 0 0;
		font-size: 4.5rem;
		orphans: 2;
		letter-spacing: -0.012em;
	}
	
	
	
	section.track_record {
		padding: 12rem 0;
	}
	
	section.track_record h3 {
		font-size: 6rem;
		font-weight: 700;
		line-height: 1;
	}
	
	section.track_record .achievements {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		align-items: center;
		gap: 12rem;
	}
	
	section.track_record .achievements .record {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 3rem;
	}
	
	section.track_record .achievements .record .icon {
		height: 14rem;
	}
	section.track_record .achievements .record .icon img {
		width: auto;
		height: 14rem;
	}
	section.track_record .achievements .record .icon.first img {
		width: auto;
		height: 10rem;
	}
	
	section.track_record .achievements .record .callout {
		font-size: 12rem;
		font-weight: 700;
		color: oklch(1 0 0);
		line-height: 0;
		
		display: grid;
		grid-template-columns: minmax(min-content, max-content);
		grid-template-rows: 12rem;
		gap: 3rem;
		
		align-items: center;
		justify-content: space-around;
	}
	section.track_record .achievements .record .callout span {
		font-size: 8rem;
		font-weight: 600;
		display: inline-block;
	}
	section.track_record .achievements .record .callout span.number {
		width: 12rem;
		font-size: 12rem;
		font-weight: 700;
		text-align: right;
	}
	section.track_record .achievements .record .callout span.value {
		font-size: 12rem;
		font-weight: 500;
	}
	section.track_record .achievements .record .callout span.large {
		font-size: 10rem;
	}
	
	section.track_record .achievements .record .title {
		font-size: 4.5rem;
		color: oklch(1 0 0);
		text-align: center;
		line-height: 1.25;
		
		align-self: start;
	}
	section.track_record .achievements .record .title br {
		display: none;
	}
	
	section.track_record .achievements .record:nth-of-type(-n+2) .callout {
		margin: 0 0 0 4rem;
		grid-template-columns: 12rem max-content;
		justify-items: center;
	}
	section.track_record .achievements .record:nth-of-type(3) .callout {
		margin: 0 0 0 4.5rem;
		grid-template-columns: auto 16.5rem auto auto;
		gap: 2rem;
	}
	
	
	
	section.projects {
		padding: 2rem 0 12rem 0;
	}
	
	section.projects .wrapper {
		gap: 8rem;
	}
	
	section.projects .wrapper h2{
		margin: 0 0 4rem 0;
	}
	
	section.projects .project_logos {
		width: 100%;
		
		grid-template-columns: 1fr;
		gap: 8rem;
		justify-items: center;
	}
	
	.project.chipotle {
		width: 60rem;
	}
	.project.starbucks {
		width: 20.5rem;
	}
	.project.dollar_tree {
		width: 66rem;
	}
	.project.caliber_collision {
		width: 40rem;
	}
	.project.sherwin_williams {
		width: 83rem;
	}
	.project.aldi {
		width: 20.5rem;
	}
	.project.mod_pizza {
		width: 20.5rem;
	}
	.project.bandanas_bbq {
		width: 36.5rem;
	}
	.project.mattressfirm {
		width: 72rem;
	}
	
	
	.team_frame .watermark {
		width: 72rem;
		height: 72rem;
	}
	
	
	section.team {
		padding: 6rem 0 14rem 0;
	}
	
	section.team .wrapper {
		grid-template-columns: 1fr;
		gap: 12rem;
	}
	section.team .wrapper div:nth-child(-n+2) {
		grid-column: auto;
	}
	
	section.team h3 {
		margin: 0 0 4rem 0;
		padding: 0;
		
		font-size: 10rem;
	}
	
	section.team .profile {
		grid-template-columns: 1fr 1fr;
		gap: 6rem;
		align-items: end;
	}
	section.team .profile div:nth-of-type(1) {
		line-height: 0;
	}
	section.team .profile:hover div:nth-of-type(1) {
		transform: scale(105%);
		transition: transform 0.5s ease;
	}
	section.team .profile div:nth-of-type(1) img {
		width: 100%;
		height: auto;
		
		transform: scale(100%);
		transition: transform 0.5s ease;
		
		object-fit: cover;
		
		border-radius: inherit;
	}
	section.team .profile:hover div:nth-of-type(1) img {
		transform: scale(110%);
		transition: transform 0.5s ease;
	}
	
	
	
	section.team_profile {
		width: 100dvw;
		height: 100dvh;
		
		margin: 0 auto;
		padding: 6rem 0;
		
		position: fixed;
		left: 0;
		top: 0;
		
		z-index: -400;
		opacity: 0;
		
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		align-items: center;
		
		background-size: 96rem;
		background-position: left -12rem top -4rem;
		
		overflow-anchor: none;
		overflow-y: auto;
	}
	section.team_profile .wrapper {
		height: calc(100dvh - 12rem);
		
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: 8rem auto;
		gap: 8rem;
	}
	
	
	section.team_profile .team_member_bio {
		display: block;
		
		overflow-y: auto;
	}
	
	section.team_profile .profile_basics {
		margin: 0 0 8rem 0;
		
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto 1fr;
		gap: 8rem;
		
		align-items: start;
	}
	
	section.team_profile .profile_photo {
		line-height: 0;
	}
	section.team_profile .profile_photo img {
		width: 100%;
		height: auto;
		object-fit: cover;
		
		border-radius: 4rem;
	}
	
	section.team_profile .profile_name {
		font-size: 5rem;
		font-weight: 300;
	}
	section.team_profile .profile_name h2 {
		margin: 0 0 1.5rem 0;
		
		font-size: 6rem;
		font-weight: 700;
		color: var(--color_brand_green);
		line-height: 1;
		text-box: trim-both cap alphabetic;
	}
	
	section.team_profile .profile_resume {
		font-size: 4.5rem;
		letter-spacing: -0.012em;
	}
	section.team_profile .profile_resume p {
		text-box: trim-both cap alphabetic;
		text-wrap: balance;
	}
	section.team_profile .profile_resume p + p {
		margin: 8rem 0 0 0;
	}
	section.team_profile .profile_resume p:nth-of-type(1) {
		margin: 0;
	}
	
	
	
	.contact_frame {
		padding: 0;
	}
	
	section.contact {
		width: 100%;
		
		margin: 12rem 0 0 0;
		padding: 0 0 12rem 0;
	}
	section.contact .wrapper {
		max-width: 240rem;
		padding: 10rem 6rem 12rem 6rem;
		
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 12rem;
		
		background: var(--color_white);
		border-radius: 0;
	}
	
	section.contact .static {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto 1fr;
		gap: 10rem;
	}
	
	section.contact .static h3 {
		margin: 0;
		padding: 0;
		
		font-size: 8rem;
		font-weight: 600;
		color: var(--color_brand_green);
		letter-spacing: -0.011em;
	}
	
	
	section.contact form input {
		line-height: 12rem;
	}
	section.contact form textarea {
		height: 60rem;
	}
	
	#response {
		height: auto;
	}
	
	
	section.copyright span {
		width: 100%;
		margin: 1rem 0 0 0;
		display: block;
	}
	
	
}

