#case-studies {
	isolation: isolate;
}
@media (min-width: 900px) {
	#case-studies {
		row-gap: 65px;
		margin: 100px 0;
	}
	#case-studies > :not(:last-child) { margin-bottom: 65px; }
}
@media (max-width: 899.99px) {
	#case-studies {
		row-gap: 35px;
		margin: 75px 0;
	}
	#case-studies > :not(:last-child) { margin-bottom: 35px; }
}

/*------------------------------------------------------------------------*/

#case-studies > header {
	display: grid;
	grid-auto-rows: auto;
	row-gap: 25px;
	column-gap: 50px;
}
#case-studies > header > * {
	margin: 0;
	font-weight: 500;
}
#case-studies > header > .hook {
	grid-area: hook;
	
	text-wrap: balance;
	line-height: 130%;
	font-size: 20px;
}
#case-studies > header > .title {
	grid-area: title;
	
	text-wrap: balance;
	line-height: 100%;
}
#case-studies > header > .description {
	grid-area: description;
	
	text-wrap: balance;
	line-height: 130%;
}
@media (min-width: 900px) {
	#case-studies > header {
		grid-template-areas:
			"hook	description"
			"title	description";
		grid-template-columns: repeat(2, 1fr);
		align-items: flex-end;
	}
	#case-studies > header > .title {
		font-size: 56px;
	}
	#case-studies > header > .description {
		justify-self: flex-end;
		max-width: 475px;
		
		text-align: right;
		font-size: 22px;
	}
}
@media (max-width: 899.99px) {
	#case-studies > header {
		grid-template-areas:
			"hook"
			"title"
			"description";
		grid-template-columns: 1fr;
	}
	#case-studies > header > .title { font-size: 36px; }
	#case-studies > header > .description { font-size: 16px; }
}

/*------------------------------------------------------------------------*/

#case-studies > .case-studies {
	padding: 0 max(20px, (100vw - 1200px) / 2);
	isolation: isolate;
}
@media (min-width: 590px) {
	#case-studies > .case-studies .single-case-study { width: 550px; }
}

/*------------------------------------------------------------------------*/

#case-studies > footer {
	display: grid;
	
	grid-auto-rows: auto;
	column-gap: 50px;
	row-gap: 25px;
}
@media (min-width: 900px) {
	#case-studies > footer {
		grid-template-columns: 1fr auto;
		align-items: center;
	}
}
@media (max-width: 899.99px) {
	#case-studies > footer {
		grid-template-columns: 1fr;
		text-align: center;
	}
}

/*------------------------------------------------------------------------*/
	
#case-studies > footer > .controls {
	justify-self: flex-end;
	
	display: flex;
	flex-direction: row;
	column-gap: 10px;
}
@media (max-width: 899.99px) { #case-studies > footer > .controls { display: none; } }

#case-studies > footer > .controls > .control {
	position: relative;
	display: block; height: 50px; width: 50px;
	
	background-color: #D5ED99;
	border: solid 1px rgba(0,0,0,.3);
	border-radius: 50%;
	
	transition:
		background-color .4s ease-out,
		border-width	 .4s ease-out,
		border-color	 .4s ease-out;
	
	cursor: pointer;
}
#case-studies > footer > .controls > .control:after {
	content: '';
	box-sizing: border-box;
	position: absolute; top: 0; left: 0;
	display: block; height: 100%; width: 100%;
	padding: 15.5px;
	
	background-color: #000;
	
	--mask-image: url("../../images/icons/arrow.down.svg");
	--mask-repeat: no-repeat;
	--mask-position: center;
	--mask-origin: content-box;
	--mask-size: contain;
	
	-webkit-mask-image: var(--mask-image);
	mask-image: var(--mask-image);
	-webkit-mask-repeat: var(--mask-repeat);
	mask-repeat: var(--mask-repeat);
	-webkit-mask-position: var(--mask-position);
	mask-position: var(--mask-position);
	-webkit-mask-origin: var(--mask-origin);
	mask-origin: var(--mask-origin);
	-webkit-mask-size: var(--mask-size);
	mask-size: var(--mask-size);
}
#case-studies > footer > .controls > .control-prev:after { transform: rotate(90deg); }
#case-studies > footer > .controls > .control-next:after { transform: rotate(-90deg); }
#case-studies > footer > .controls > .control:hover {
	background-color: #FFF;
	border-color: #000;
}