:root{--page-gutter:clamp(28px,5vw,88px);}
.site-shell{
	width:min(calc(100% - (var(--page-gutter) * 2)),var(--shell)) !important;
	margin-inline:auto !important;
}
.inner-hero-grid{
	width:min(calc(100% - (var(--page-gutter) * 2)),var(--shell)) !important;
	margin-inline:auto !important;
}
.brand-philosophy-promo .site-shell{
	width:min(calc(100% - (var(--page-gutter) * 2)),var(--shell)) !important;
	margin-inline:auto !important;
}
.home-image-break-caption{
	left:max(var(--page-gutter),calc((100vw - var(--shell))/2)) !important;
	right:var(--page-gutter);
}

/* Areas of Practice */
.practice-page{
	background:#fff;
}
.practice-tabs-section{
	padding:82px 0 96px;
	background:#f5f5f2;
	border-bottom:1px solid #dedfdb;
}
.practice-tabs-intro{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);
	gap:56px;
	align-items:end;
	margin-bottom:34px;
}
.practice-tabs-intro h2{
	margin-top:14px;
	font-size:clamp(38px,4.6vw,64px);
	line-height:1;
	letter-spacing:-.05em;
}
.practice-tabs-intro > p{
	max-width:560px;
	margin:0 0 4px;
	color:#687074;
	font-size:17px;
	line-height:1.6;
}
.practice-tabs-wrap{
	position:relative;
}
.practice-tabs{
	position:sticky;
	top:88px;
	z-index:35;
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	background:#fff;
	border:1px solid #d9dad7;
	box-shadow:0 10px 28px rgba(17,20,23,.04);
}
.practice-tab{
	position:relative;
	display:grid;
	grid-template-columns:36px minmax(0,1fr);
	gap:14px;
	align-items:start;
	min-height:132px;
	padding:24px 22px 22px;
	border:0;
	border-right:1px solid #e0e1de;
	background:#fff;
	color:#1a1d1f;
	text-align:left;
	cursor:pointer;
	transition:background .22s ease,color .22s ease;
}
.practice-tab:last-child{border-right:0;}
.practice-tab::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:-1px;
	height:3px;
	background:transparent;
	transition:background .22s ease;
}
.practice-tab:hover{
	background:#fafaf8;
}
.practice-tab.is-active{
	background:#171b1f;
	color:#fff;
}
.practice-tab.is-active::after{
	background:var(--red);
}
.practice-tab-no{
	color:var(--red);
	font:600 12px/1.2 "Archivo",sans-serif;
	letter-spacing:.12em;
	padding-top:3px;
}
.practice-tab-copy{
	display:block;
}
.practice-tab-copy strong{
	display:block;
	font:600 18px/1.25 "Archivo",sans-serif;
	letter-spacing:-.025em;
}
.practice-tab-copy small{
	display:block;
	margin-top:12px;
	color:#7d8488;
	font:600 10px/1.25 "Archivo",sans-serif;
	letter-spacing:.11em;
	text-transform:uppercase;
}
.practice-tab.is-active .practice-tab-copy small{
	color:#c3c8cb;
}

.practice-tab-stage{
	position:relative;
	margin-top:22px;
}
.practice-tab-panel{
	background:#fff;
	border:1px solid #dedfdb;
}
.practice-tab-panel[hidden]{
	display:none !important;
}
.practice-panel-inner{
	padding:76px clamp(34px,5vw,74px) 82px;
}
.practice-tab-panel.is-entering .practice-panel-inner{
	animation:practiceTabIn .34s cubic-bezier(.22,1,.36,1) both;
}
@keyframes practiceTabIn{
	from{opacity:0;transform:translateY(10px);}
	to{opacity:1;transform:none;}
}

.practice-chapter-head{
	display:grid;
	grid-template-columns:64px minmax(0,1fr);
	gap:28px;
	align-items:start;
	max-width:1060px;
}
.practice-chapter-no{
	color:var(--red);
	font:600 13px/1 "Archivo",sans-serif;
	letter-spacing:.12em;
	padding-top:10px;
}
.practice-chapter-head h2{
	margin:12px 0 0;
	max-width:900px;
	font-size:clamp(42px,5vw,68px);
	line-height:.98;
	letter-spacing:-.055em;
}
.practice-chapter-intro{
	max-width:860px;
	margin:28px 0 0;
	color:#596066;
	font-size:20px;
	line-height:1.55;
}

.practice-accordion{
	max-width:1120px;
	margin-top:68px;
	border-top:1px solid #d7d8d5;
}
.practice-accordion-item{
	border-bottom:1px solid #d7d8d5;
}
.practice-accordion-trigger{
	width:100%;
	display:grid;
	grid-template-columns:minmax(0,1fr) 46px;
	gap:20px;
	align-items:center;
	padding:27px 0;
	border:0;
	background:transparent;
	color:#171a1c;
	text-align:left;
	cursor:pointer;
}
.practice-accordion-label{
	display:grid;
	grid-template-columns:58px minmax(0,1fr);
	gap:18px;
	align-items:baseline;
}
.practice-accordion-label > span{
	color:var(--red);
	font:600 11px/1 "Archivo",sans-serif;
	letter-spacing:.11em;
}
.practice-accordion-label strong{
	font:600 clamp(22px,2vw,30px)/1.15 "Archivo",sans-serif;
	letter-spacing:-.035em;
}
.practice-accordion-icon{
	position:relative;
	width:38px;
	height:38px;
	border:1px solid #d4d5d2;
	border-radius:50%;
	transition:transform .28s ease,border-color .28s ease,background .28s ease;
}
.practice-accordion-icon::before,
.practice-accordion-icon::after{
	content:"";
	position:absolute;
	left:50%;
	top:50%;
	width:12px;
	height:1px;
	background:#202426;
	transform:translate(-50%,-50%);
	transition:transform .28s ease,background .28s ease;
}
.practice-accordion-icon::after{
	transform:translate(-50%,-50%) rotate(90deg);
}
.practice-accordion-trigger:hover .practice-accordion-icon{
	border-color:var(--red);
}
.practice-accordion-item.is-open .practice-accordion-icon{
	background:var(--red);
	border-color:var(--red);
	transform:rotate(180deg);
}
.practice-accordion-item.is-open .practice-accordion-icon::before,
.practice-accordion-item.is-open .practice-accordion-icon::after{
	background:#fff;
}
.practice-accordion-item.is-open .practice-accordion-icon::after{
	transform:translate(-50%,-50%) rotate(0deg);
}
.practice-accordion-panel{
	display:grid;
	grid-template-rows:1fr;
	opacity:1;
}
.practice-js .practice-accordion-panel{
	grid-template-rows:0fr;
	opacity:.35;
	transition:grid-template-rows .36s cubic-bezier(.22,1,.36,1),opacity .24s ease;
}
.practice-js .practice-accordion-item.is-open .practice-accordion-panel{
	grid-template-rows:1fr;
	opacity:1;
}
.practice-accordion-inner{
	overflow:hidden;
	padding-left:76px;
}
.practice-accordion-inner > p{
	max-width:780px;
	margin:0;
	padding:0 0 20px;
	color:#596066;
	font-size:17px;
	line-height:1.6;
}
.capability-chips{
	display:flex;
	flex-wrap:wrap;
	gap:9px;
	margin:0;
	padding:0 0 30px;
	list-style:none;
}
.capability-chips li{
	padding:8px 11px;
	border:1px solid #d9dad7;
	border-radius:999px;
	background:#fafaf8;
	color:#62696d;
	font-size:13px;
	line-height:1.2;
}

.practice-tab-panel-dark{
	background:#15191c;
	border-color:#15191c;
	color:#fff;
}
.practice-tab-panel-dark .practice-chapter-intro{
	color:#c0c6c9;
}
.practice-path{
	display:flex;
	align-items:center;
	gap:13px;
	flex-wrap:wrap;
	margin:44px 0 0 92px;
	color:#d8dcde;
	font:600 11px/1.2 "Archivo",sans-serif;
	text-transform:uppercase;
	letter-spacing:.12em;
}
.practice-path i{
	width:26px;
	height:1px;
	background:#535b60;
}
.practice-accordion-dark{
	border-top-color:#3a4044;
}
.practice-accordion-dark .practice-accordion-item{
	border-bottom-color:#3a4044;
}
.practice-accordion-dark .practice-accordion-trigger{
	color:#fff;
}
.practice-accordion-dark .practice-accordion-icon{
	border-color:#52595d;
}
.practice-accordion-dark .practice-accordion-icon::before,
.practice-accordion-dark .practice-accordion-icon::after{
	background:#fff;
}
.practice-accordion-dark .practice-accordion-inner > p{
	color:#c0c6c9;
}
.practice-accordion-dark .capability-chips li{
	border-color:#41484c;
	background:#1e2327;
	color:#c7cccf;
}
.practice-provenance-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:18px;
	max-width:1120px;
	margin-top:42px;
}
.practice-provenance,
.practice-boundary-note{
	padding:28px 30px;
	border:1px solid #3b4246;
	background:#1c2125;
}
.practice-provenance{
	border-top:3px solid var(--red);
}
.practice-provenance .eyebrow,
.practice-boundary-note .eyebrow{
	margin-bottom:14px;
}
.practice-provenance p:last-child,
.practice-boundary-note p:last-child{
	margin:0;
	color:#c4c9cc;
	font-size:15px;
	line-height:1.65;
}
.practice-boundary-note strong{color:#fff;}

.practice-professional-boundaries{
	padding:72px 0;
	background:#f2f2ef;
	border-top:1px solid #dedfdb;
	border-bottom:1px solid #dedfdb;
}
.practice-professional-boundaries .site-shell{
	display:grid;
	grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
	gap:72px;
	align-items:center;
}
.practice-professional-boundaries h2{
	margin:12px 0 0;
	font-size:clamp(38px,4vw,58px);
	line-height:1;
	letter-spacing:-.05em;
}
.practice-professional-boundaries .site-shell > p{
	max-width:700px;
	margin:0;
	color:#596066;
	font-size:17px;
	line-height:1.6;
}
.practice-closing{
	padding-top:96px;
	padding-bottom:108px;
}

@media(max-width:980px){
	.practice-tabs-intro{
		grid-template-columns:1fr;
		gap:20px;
	}
	.practice-tabs-intro > p{
		max-width:680px;
	}
	.practice-tab{
		min-height:148px;
		padding:22px 18px;
	}
	.practice-tab-copy strong{
		font-size:16px;
	}
	.practice-provenance-grid{
		grid-template-columns:1fr;
	}
	.practice-professional-boundaries .site-shell{
		grid-template-columns:1fr;
		gap:24px;
	}
}
@media(max-width:760px){
	.practice-tabs-section{
		padding:56px 0 72px;
	}
	.practice-tabs-intro h2{
		font-size:40px;
	}
	.practice-tabs{
		top:76px;
		display:flex;
		overflow-x:auto;
		scroll-snap-type:x mandatory;
		-webkit-overflow-scrolling:touch;
	}
	.practice-tab{
		flex:0 0 82vw;
		min-width:260px;
		min-height:112px;
		border-right:1px solid #e0e1de;
		scroll-snap-align:start;
	}
	.practice-tab-copy strong{
		font-size:17px;
	}
	.practice-tab-copy small{
		margin-top:9px;
	}
	.practice-tab-stage{
		margin-top:16px;
	}
	.practice-panel-inner{
		padding:54px 26px 60px;
	}
	.practice-chapter-head{
		grid-template-columns:38px 1fr;
		gap:14px;
	}
	.practice-chapter-head h2{
		font-size:40px;
	}
	.practice-chapter-intro{
		font-size:17px;
	}
	.practice-path{
		margin:34px 0 0;
		gap:9px;
	}
	.practice-path i{
		width:16px;
	}
	.practice-accordion{
		margin-top:46px;
	}
	.practice-accordion-trigger{
		grid-template-columns:minmax(0,1fr) 38px;
		padding:23px 0;
	}
	.practice-accordion-label{
		grid-template-columns:44px minmax(0,1fr);
		gap:8px;
	}
	.practice-accordion-label strong{
		font-size:21px;
	}
	.practice-accordion-inner{
		padding-left:52px;
	}
	.practice-accordion-inner > p{
		font-size:16px;
	}
	.practice-accordion-icon{
		width:34px;
		height:34px;
	}
	.practice-professional-boundaries{
		padding:58px 0;
	}
}
@media(max-width:620px){
	:root{--page-gutter:24px;}
	.practice-tabs-intro h2{
		font-size:36px;
	}
	.practice-tab{
		flex-basis:88vw;
		grid-template-columns:30px 1fr;
		padding:20px 18px;
	}
	.practice-panel-inner{
		padding:48px 20px 52px;
	}
	.practice-chapter-head h2{
		font-size:36px;
	}
	.practice-accordion-label{
		grid-template-columns:1fr;
	}
	.practice-accordion-label > span{
		margin-bottom:3px;
	}
	.practice-accordion-inner{
		padding-left:0;
	}
	.capability-chips li{
		font-size:12px;
	}
}
@media(prefers-reduced-motion:reduce){
	.practice-tab,
	.practice-accordion-icon,
	.practice-accordion-icon::before,
	.practice-accordion-icon::after,
	.practice-accordion-panel{
		transition:none !important;
	}
	.practice-tab-panel.is-entering .practice-panel-inner{
		animation:none !important;
	}
}
