#expertise {
	isolation: isolate;
}
@media (min-width: 900px) {
	#expertise { margin: 100px 0; }
	#expertise > :not(:last-child) { margin-bottom: 65px; }
}
@media (max-width: 899.99px) {
	#expertise { margin: 75px 0; }
	#expertise > :not(:last-child) { margin-bottom: 35px; }
}

/*------------------------------------------------------------------------*/

#expertise > header {
	display: grid;
	
	grid-auto-rows: auto;
	column-gap: 50px;
	row-gap: 25px;
}
@media (min-width: 900px) {
	#expertise > header {
		grid-template-areas:
			"hook		 controls"
			"title		 controls"
			"description controls";
		grid-template-columns: 1fr auto;
		align-items: flex-end;
	}
}
@media (max-width: 899.99px) {
	#expertise > header {
		grid-template-areas:
			"hook"
			"title"
			"description";
		grid-template-columns: 1fr;
	}
}

/*------------------------------------------------------------------------*/

#expertise > header > .hook {
	grid-area: hook;
	
	line-height: 130%;
	font-weight: 500;
}
#expertise > header > .title {
	grid-area: title;
	
	margin: 0;
	
	text-wrap: balance;
	line-height: 100%;
	font-weight: 500;
}
#expertise > header > .description {
	grid-area: description;
	max-width: 800px;
	
	text-wrap: balance;
	line-height: 130%;
	font-weight: 500;
}
@media (min-width: 900px) {
	#expertise > header > .hook { font-size: 20px; }
	#expertise > header > .title { font-size: 50px; }
	#expertise > header > .description { font-size: 20px; }
}
@media (max-width: 899.99px) {
	#expertise > header > .hook { font-size: 20px; }
	#expertise > header > .title { font-size: 36px; }
	#expertise > header > .description { font-size: 16px; }
}

/*------------------------------------------------------------------------*/

#expertise > header > .controls {
	grid-area: controls;
	justify-self: flex-end;
	
	display: flex;
	flex-direction: row;
	column-gap: 10px;
}
@media (max-width: 899.99px) { #expertise > header > .controls { display: none; } }

#expertise > header > .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;
}
#expertise > header > .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);
}
#expertise > header > .controls > .control-prev:after { transform: rotate(90deg); }
#expertise > header > .controls > .control-next:after { transform: rotate(-90deg); }
#expertise > header > .controls > .control:hover {
	background-color: #FFF;
	border-color: #000;
}

/*------------------------------------------------------------------------*/

#expertise > .fields {
	padding: 0 max(20px, (100vw - 1200px) / 2);
	isolation: isolate;
}
#expertise > .fields .field {}
@media (min-width: 1200px) {
	#expertise > .fields .field { width: 800px; }
}
@media (max-width: 899.99px) {
	@media (min-width: 360px) {
		#expertise > .fields .field { width: 320px; }
	}
}

/*------------------------------------------------------------------------*/

#expertise > footer { position: relative; }
@media (min-width: 900px)	 { #expertise > footer { text-align: left; } }
@media (max-width: 899.99px) { #expertise > footer { text-align: center; } }