/* Shared practice-oriented Base header and footer compositions. */

/* ==========================================================================
   Tiered Professional Header
   ========================================================================== */

#header.app-tiered-header { --app-tiered-action-text: var(--primary); }
html.dark #header.app-tiered-header { --app-tiered-action-text: var(--light); }

#header.app-tiered-header,
#header.app-tiered-header .header-body,
#header.app-tiered-header .app-tiered-header__identity-tier,
#header.app-tiered-header .app-tiered-header__navigation-tier {
	background: var(--light, #fff);
}

#header.app-tiered-header .header-body {
	border: 0;
	box-shadow: none;
}

#header.app-tiered-header .app-tiered-header__identity-tier {
	border-bottom: 1px solid color-mix(in srgb, var(--tertiary, #ddd) 62%, var(--light, #fff));
}

#header.app-tiered-header .app-tiered-header__identity-row {
	min-height: 96px;
	padding-block: 0.85rem;
}

#header.app-tiered-header .app-tiered-header__brand {
	display: inline-flex;
	align-items: center;
	color: var(--secondary, #29282b);
}

#header.app-tiered-header .app-tiered-header__logo {
	display: block;
	width: auto;
	height: auto;
	max-width: min(var(--app-logo-desktop-width,300px),var(--app-logo-desktop-vw,38vw));
	max-height: var(--app-logo-desktop-height,72px);
}

#header.app-tiered-header .app-tiered-header__brand-text {
	font-size: 1.45rem;
	font-weight: 700;
}

#header.app-tiered-header .app-tiered-header__utility {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: clamp(1.5rem, 3vw, 3rem);
}

#header.app-tiered-header .app-tiered-header__utility-link {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	color: var(--secondary, #29282b);
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}

#header.app-tiered-header .app-tiered-header__utility-link i {
	color: var(--primary);
	font-size: 1.1rem;
}

#header.app-tiered-header .app-tiered-header__utility-link:hover,
#header.app-tiered-header .app-tiered-header__utility-link:focus-visible {
	color: var(--app-tiered-action-text);
}

#header.app-tiered-header .app-tiered-header__navigation-tier {
	border-bottom: 1px solid color-mix(in srgb, var(--tertiary, #ddd) 52%, var(--light, #fff));
}

#header.app-tiered-header .app-tiered-header__navigation-row {
	min-height: 70px;
	padding-block: 0.4rem;
}

#header.app-tiered-header .header-nav {
	flex: 1 1 auto;
}

#header.app-tiered-header .header-nav-main nav > ul > li > a,
#header.app-tiered-header .header-nav-main nav > ul > li > a.dropdown-item,
#header.app-tiered-header .header-nav-main nav > ul > li > a.nav-link {
	color: var(--secondary, #29282b);
	font-size: 0.91rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	text-transform: none;
}

#header.app-tiered-header .header-nav-main nav > ul > li > a:hover,
#header.app-tiered-header .header-nav-main nav > ul > li > a:focus-visible,
#header.app-tiered-header .header-nav-main nav > ul > li > a.active,
#header.app-tiered-header .header-nav-main nav > ul > li:hover > a {
	color: var(--app-tiered-action-text) !important;
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

#header.app-tiered-header .header-nav-main nav > ul > li.dropdown .dropdown-menu {
	border: 0;
	border-top: 3px solid var(--primary);
	border-radius: var(--border-radius);
	background: var(--light, #fff);
	box-shadow: 0 1rem 2.25rem rgba(41, 40, 43, 0.13);
}

#header.app-tiered-header .header-nav-main nav > ul > li.dropdown .dropdown-menu li a {
	color: var(--secondary, #29282b);
	font-size: 0.9rem;
	font-weight: 550;
}

#header.app-tiered-header .header-nav-main nav > ul > li.dropdown .dropdown-menu li a:hover,
#header.app-tiered-header .header-nav-main nav > ul > li.dropdown .dropdown-menu li a:focus-visible,
#header.app-tiered-header .header-nav-main nav > ul > li.dropdown .dropdown-menu li a.active {
	background: color-mix(in srgb, var(--primary) 8%, var(--light, #fff));
	color: var(--primary);
}

#header.app-tiered-header .app-tiered-header__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	margin-left: clamp(1rem, 2vw, 2rem);
	padding-inline: clamp(1.15rem, 2vw, 1.75rem);
	white-space: nowrap;
}

#header.app-tiered-header .app-tiered-header__mobile-cta {
	display: none;
}

html.sticky-header-active #header.app-tiered-header .app-tiered-header__navigation-tier {
	box-shadow: 0 0.45rem 1.15rem rgba(41, 40, 43, 0.08);
}

@media (min-width: 1200px) and (max-width: 1399px) {
	#header.app-tiered-header .header-nav-main nav > ul > li > a,
	#header.app-tiered-header .header-nav-main nav > ul > li > a.nav-link {
		padding-right: 0.58rem;
		padding-left: 0.58rem;
		font-size: 0.82rem;
	}

	#header.app-tiered-header .app-tiered-header__cta {
		margin-left: 0.75rem;
		padding-inline: 1rem;
		font-size: 0.82rem;
	}
}

@media (max-width: 1199px) {
	#header.app-tiered-header .app-tiered-header__address {
		display: none;
	}
}

@media (max-width: 991px) {
	#header.app-tiered-header .app-tiered-header__identity-row {
		min-height: 78px;
	}

	#header.app-tiered-header .app-tiered-header__logo {
		max-width: min(250px, 56vw);
		max-height: 58px;
	}

	#header.app-tiered-header .app-tiered-header__navigation-row {
		min-height: 58px;
	}

	#header.app-tiered-header .app-tiered-header__cta {
		display: none;
	}

	#header.app-tiered-header .header-btn-collapse-nav {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 44px;
		margin: 0;
	}

	#header.app-tiered-header .header-nav-main nav {
		max-height: 68vh;
		overflow-y: auto;
		background: var(--light, #fff);
	}

	#header.app-tiered-header .header-nav-main nav > ul {
		padding: 0.75rem 0 1.25rem;
	}

	#header.app-tiered-header .header-nav-main nav > ul > li > a,
	#header.app-tiered-header .header-nav-main nav > ul > li > a.nav-link {
		padding: 0.75rem 1rem;
		font-size: 1rem;
	}

	#header.app-tiered-header .header-nav-main nav > ul > li > a.active {
		background: var(--primary);
		color: var(--light, #fff) !important;
	}

	#header.app-tiered-header .header-nav-main nav > ul li.dropdown > .dropdown-menu.show {
		display: block !important;
		position: static;
		float: none;
		min-width: 0;
		margin: 0 0 0.35rem 1rem;
		padding: 0.25rem 0;
		border-top-width: 1px;
		box-shadow: none;
	}

	#header.app-tiered-header .header-nav-main nav > ul li.dropdown > .dropdown-menu.show a {
		padding: 0.55rem 1rem;
	}

	#header.app-tiered-header .app-tiered-header__mobile-cta {
		display: block;
		padding: 0.85rem 1rem 0;
	}

	#header.app-tiered-header .app-tiered-header__mobile-cta .btn {
		width: 100%;
		padding-block: 0.85rem;
		color: var(--light, #fff) !important;
	}
}

@media (max-width: 575px) {
	#header.app-tiered-header .app-tiered-header__utility-column {
		display: none;
	}

	#header.app-tiered-header .app-tiered-header__logo {
		max-width: min(260px, 78vw);
	}
}

/* ==========================================================================
   Header And Topbar
   ========================================================================== */

.app-practice-header__brand {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
}

.app-practice-header__logo {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 86px;
}

.app-practice-header__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 65px;
	min-width: 178px;
	padding: 0 1.75rem;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.15;
	text-align: center;
	white-space: nowrap;
	text-transform: none;
	letter-spacing: 0.01em;
}

.app-practice-header__topbar-item {
	font-size: 1rem;
	font-weight: 500;
}

.app-practice-header__topbar-link {
	font-size: 1rem;
	font-weight: 600;
}

.app-practice-header__mobile-cta-item {
	display: none;
}

@media (min-width: 992px) {
	#header.app-practice-header .header-column:first-child,
	#header.app-practice-header .header-logo {
		flex: 0 0 auto;
		flex-shrink: 0;
	}

	#header.app-practice-header .header-column.justify-content-end {
		padding-left: 2.25rem;
	}

	#header.app-practice-header .header-logo img.app-practice-header__logo {
		max-height: 86px;
	}

	#header.app-practice-header .header-container {
		min-height: 86px;
	}

	#header.app-practice-header .header-row {
		flex-wrap: nowrap;
		align-items: center;
	}

	#header.app-practice-header .header-nav-main nav > ul {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
	}

	#header.app-practice-header .header-nav-main nav > ul > li {
		flex: 0 0 auto;
	}

	#header.app-practice-header .header-nav-main nav > ul > li > a {
		font-size: 1.05rem;
		font-weight: 700;
		letter-spacing: 0.015em;
		text-transform: none;
		white-space: nowrap;
	}

	#header.app-practice-header .header-nav-main.header-nav-main-dropdown-modern nav > ul > li.dropdown .dropdown-menu li a {
		font-size: 0.94em;
		font-weight: 500;
	}

	#header.app-practice-header .header-nav-main.header-nav-main-dropdown-modern nav > ul > li.dropdown-mega .dropdown-mega-sub-title {
		display: block;
		font-size: 1em;
		font-weight: 600;
		text-decoration: none;
	}

	#header.app-practice-header .header-nav-features,
	#header.app-practice-header .header-nav-feature {
		display: flex;
		align-items: center;
	}

	html.sticky-header-active #header.app-practice-header .header-body {
		padding-top: 0.3rem;
		padding-bottom: 0.3rem;
	}

	html.sticky-header-active #header.app-practice-header .header-nav-main nav > ul > li > a {
		padding-top: 0.9rem;
		padding-bottom: 0.9rem;
	}

	html.sticky-header-active #header.app-practice-header .header-logo img.app-practice-header__logo {
		max-height: var(--app-logo-desktop-height,72px);
	}
}

@media (min-width: 1200px) and (max-width: 1399px) {
	#header.app-practice-header .header-column.justify-content-end {
		padding-left: 1rem;
	}

	#header.app-practice-header .header-nav-main nav > ul > li > a {
		padding-right: 0.55rem;
		padding-left: 0.55rem;
		font-size: 0.9rem;
		letter-spacing: 0;
	}

	#header.app-practice-header .app-practice-header__cta {
		min-width: 150px;
		padding-right: 1rem;
		padding-left: 1rem;
		font-size: 0.95rem;
	}
}

/* The complete site navigation uses the mobile composition at Bootstrap's
   tablet width instead of compressing or hiding destinations. */
@media (min-width: 992px) and (max-width: 1199px) {
	#header.app-practice-header .header-nav-main {
		position: absolute;
		top: 100%;
		left: 50%;
		width: 100%;
		background: transparent;
		transform: translate3d(-50%, 0, 0);
	}

	#header.app-practice-header .header-nav-main::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 50%;
		z-index: -1;
		width: 100vw;
		height: 100%;
		background: var(--light);
		transform: translateX(-50%);
	}

	#header.app-practice-header .header-nav-main nav,
	#header.app-practice-header .header-nav-main nav.collapse {
		display: none !important;
		width: 100%;
		max-height: 65vh;
		overflow-x: hidden;
		overflow-y: auto;
		padding: 0 15px;
	}

	#header.app-practice-header .header-nav-main nav.show,
	#header.app-practice-header .header-nav-main nav.collapse.show {
		display: block !important;
	}

	#header.app-practice-header .header-nav-main nav > ul {
		flex-direction: column;
		align-items: stretch;
		padding-top: 15px;
		padding-bottom: 15px;
	}

	#header.app-practice-header .header-nav-main nav > ul li {
		display: block;
		position: relative;
		width: 100%;
		margin: 0;
		padding: 0;
		border-bottom: 1px solid var(--grey-200);
	}

	#header.app-practice-header .header-nav-main nav > ul li:last-child {
		border-bottom: 0;
	}

	#header.app-practice-header .header-nav-main nav > ul li a,
	#header.app-practice-header .header-nav-main nav > ul > li > a,
	#header.app-practice-header .header-nav-main.header-nav-main-dropdown-modern nav > ul > li.dropdown .dropdown-menu li a {
		display: block;
		margin: 1px 0;
		padding: 0.65rem 0.75rem;
		border-radius: 0;
		font-size: 1rem;
		line-height: 1.4;
		text-align: left;
	}

	#header.app-practice-header .header-nav-main nav > ul li a.dropdown-toggle {
		position: relative;
		padding-right: 2.5rem;
	}

	#header.app-practice-header .header-nav-main nav > ul li a.dropdown-toggle::after {
		content: none;
	}

	#header.app-practice-header .header-nav-main nav > ul li a.dropdown-toggle .fa-chevron-down {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 0;
		right: 0;
		width: 2.5rem;
		height: 100%;
		font-size: 0.65rem;
	}

	#header.app-practice-header .header-nav-main nav > ul li.dropdown .dropdown-menu {
		display: none;
		position: static;
		float: none;
		clear: both;
		min-width: 0;
		margin: 0 0 0 1.25rem;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	#header.app-practice-header .header-nav-main nav > ul li.dropdown.open > .dropdown-menu,
	#header.app-practice-header .header-nav-main nav > ul li.dropdown.accessibility-open > .dropdown-menu {
		display: block;
	}

	#header.app-practice-header .header-nav-main nav > ul li.dropdown-mega .dropdown-mega-content {
		padding: 0;
	}

	#header.app-practice-header .header-nav-main nav > ul li.dropdown-mega .dropdown-mega-content > .row {
		display: block;
		margin: 0;
	}

	#header.app-practice-header .header-nav-main nav > ul li.dropdown-mega .dropdown-mega-content > .row > [class*='col-'] {
		width: 100%;
		padding: 0;
	}

	#header.app-practice-header .header-nav-main nav > ul li.dropdown-mega .dropdown-mega-sub-title {
		display: block;
		margin-top: 0.75rem;
		text-align: left;
	}

	#header.app-practice-header .header-nav-main nav > ul li.dropdown-mega .dropdown-mega-sub-nav {
		margin: 0 0 0 1.25rem;
		padding: 0;
		list-style: none;
	}

	#header.app-practice-header .header-btn-collapse-nav {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: relative;
		z-index: 1;
		width: 56px;
		height: 56px;
		padding: 0;
	}
}

@media (max-width: 991px) {
	body.app-header-presentation--practice-modern {
		--home-hero-header-offset: 114px;
	}

	#header.app-practice-header .header-logo img.app-practice-header__logo {
		max-height: 67px;
	}

    #header.app-practice-header .header-btn-collapse-nav {
		width: 56px;
		height: 56px;
		padding: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	#header.app-practice-header .header-btn-collapse-nav i {
		font-size: 1.3rem !important;
	}

	#header.app-practice-header .app-practice-header__cta {
		min-height: 52px;
		min-width: 150px;
		padding: 0 1.1rem;
		font-size: 0.95rem;
		line-height: 1.1;
	}

	#header.app-practice-header .header-nav-main nav > ul > li > a,
	#header.app-practice-header .header-nav-main nav > ul > li.dropdown .dropdown-menu li a {
		font-size: 1.2em;
	}

	#header.app-practice-header.template-review-header .header-nav-main nav.show > ul > li.dropdown > .dropdown-menu {
		display: block !important;
	}
}

@media (max-width: 440px) {
	#header.app-practice-header .header-nav-features {
		display: none !important;
	}

	#header.app-practice-header .header-nav-main nav,
	#header.app-practice-header .header-nav-main nav.collapse,
	#header.app-practice-header .header-nav-main nav.collapsing,
	#header.app-practice-header .header-nav-main nav.show,
	#header.app-practice-header .header-nav-main nav.collapse.show {
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
	}

	#header.app-practice-header .header-nav-main nav > ul {
		padding-bottom: 1.75rem;
	}

	#header.app-practice-header .app-practice-header__mobile-cta-item {
		display: block;
		margin-top: 0.75rem;
		padding-top: 0.45rem;
		border-bottom: 0;
		text-align: center;
	}

	#header.app-practice-header .app-practice-header__mobile-cta-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: auto;
		margin: 0 auto;
		min-height: 52px;
		padding: 0.95rem 1.5rem !important;
		border-radius: var(--border-radius) !important;
		font-size: 1rem !important;
		font-weight: 500;
		line-height: 1.2;
		text-align: center;
		white-space: normal;
		text-transform: none;
	}

	#header.app-practice-header .app-practice-header__mobile-cta-link > * {
		white-space: nowrap;
	}

	#header.app-practice-header .app-practice-header__mobile-cta-link > :nth-child(1) {
		max-width: 100%;
		text-align: center;
		top: 50%;
		left: 50%;
		margin: 0;
		transform: translate(-50%, -50%);
		position: absolute;
	}

	#header.app-practice-header .app-practice-header__mobile-cta-link > :nth-child(2) {
		display: inline-block;
		transform: translateY(120%);
		opacity: 0;
	}
}
/* Practice utility text uses the authored text role; icons retain their accent. */
#header.app-practice-header .header-nav-top .nav > .app-practice-header__topbar-item > span,
#header.app-practice-header .header-nav-top .nav > li > a.app-practice-header__topbar-link,
#header.app-practice-header .header-nav-top .nav > li > a.app-practice-header__topbar-link:is(:hover, :focus-visible, :active) {
	color: var(--mp-text, var(--dark));
}

/* Override the vendor square panel rule without clipping nested flyouts. */
#header.app-practice-header .header-nav-main.header-nav-main-square nav > ul > li.dropdown .dropdown-menu,
#header.app-practice-header .header-nav-main.header-nav-main-square nav > ul > li.dropdown .dropdown-menu li.dropdown-submenu > .dropdown-menu {
	border-radius: var(--mp-radius, var(--border-radius)) !important;
}

#header.app-practice-header .header-nav-main.header-nav-main-dropdown-modern nav > ul > li.dropdown .dropdown-menu li a,
#header.app-practice-header .header-nav-main.header-nav-main-dropdown-modern nav > ul > li.dropdown .dropdown-menu li a:is(:hover, :focus-visible, :active, .active),
#header.app-practice-header .header-nav-main.header-nav-main-dropdown-modern nav > ul > li.dropdown-mega .dropdown-mega-sub-title {
	color: var(--mp-text, var(--dark));
}

#header.app-practice-header .header-nav-main.header-nav-main-dropdown-modern nav > ul > li.dropdown .dropdown-menu li a {
	padding-top: 8px;
	padding-bottom: 8px;
}

@media (min-width: 992px) {
	#header.app-practice-header .header-nav-main.header-nav-main-dropdown-modern nav > ul > li.dropdown-mega .dropdown-mega-sub-nav > li > a {
		padding-block: 5px;
	}
}

#header.app-practice-header .header-nav-main.header-nav-main-dropdown-modern nav > ul > li.dropdown .dropdown-menu li a:is(:hover, :focus-visible, .active) {
	font-weight: 600;
}

@media (max-width: 991px) {
	#header.app-practice-header .header-nav-main.header-nav-main-dropdown-modern nav > ul > li.dropdown .dropdown-menu li a {
		padding-block: calc(0.65rem + 2px);
	}
}

#header.app-practice-header .header-nav-main nav .dropdown-menu a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: -2px;
}

/* ==========================================================================
   Footer
   ========================================================================== */

#footer.app-practice-footer {
	background-color: var(--primary);
	border: 0;
}

#footer.app-practice-footer p,
#footer.app-practice-footer a:not(.btn):not(.no-footer-css),
#footer.app-practice-footer strong,
#footer.app-practice-footer span,
#footer.app-practice-footer li {
	color: var(--light);
}

#footer.app-practice-footer h2,
#footer.app-practice-footer h4 {
	color: var(--light);
}

#footer.app-practice-footer .feature-box strong {
	color: var(--light) !important;
}

#footer.app-practice-footer .feature-box a:not(.btn):not(.no-footer-css),
#footer.app-practice-footer .feature-box a:not(.btn):not(.no-footer-css):hover {
	color: var(--light);
}

#footer.app-practice-footer .svg-fill-color-primary svg path,
#footer.app-practice-footer .svg-fill-color-primary svg rect,
#footer.app-practice-footer .svg-fill-color-primary svg line,
#footer.app-practice-footer .svg-fill-color-primary svg polyline,
#footer.app-practice-footer .svg-fill-color-primary svg polygon,
#footer.app-practice-footer .svg-fill-color-light svg path,
#footer.app-practice-footer .svg-fill-color-light svg rect,
#footer.app-practice-footer .svg-fill-color-light svg line,
#footer.app-practice-footer .svg-fill-color-light svg polyline,
#footer.app-practice-footer .svg-fill-color-light svg polygon,
#footer.app-practice-footer .highlight-scribble-1 path {
	fill: var(--light) !important;
	stroke: var(--light) !important;
}

#footer.app-practice-footer a:not(.btn).text-color-grey:hover,
#footer.app-practice-footer a:not(.btn).text-color-hover-primary:hover {
	color: var(--light) !important;
}

#footer.app-practice-footer .footer-copyright {
	background: transparent;
	border-top: 0;
}

#footer.app-practice-footer .app-practice-footer__navigation a {
	display: inline-block;
	transition: transform 0.2s ease;
}

#footer.app-practice-footer .app-practice-footer__navigation a:is(:hover, :focus-visible) {
	font-weight: 600;
	transform: translateX(3px);
}

#footer.app-practice-footer .footer-copyright a:is(:hover, :focus-visible) {
	text-decoration-line: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
}

@media (prefers-reduced-motion: reduce) {
	#footer.app-practice-footer .app-practice-footer__navigation a {
		transition: none;
	}
	#footer.app-practice-footer .app-practice-footer__navigation a:is(:hover, :focus-visible) {
		transform: none;
	}
}

/* ==========================================================================
   Professional Resources Footer
   ========================================================================== */

#footer.app-professional-footer {
	background: var(--secondary, #29282b);
	color: color-mix(in srgb, var(--light, #fff) 74%, transparent);
}

#footer.app-professional-footer .app-professional-footer__title {
	margin-bottom: 1.5rem;
	color: var(--light, #fff);
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}

#footer.app-professional-footer p,
#footer.app-professional-footer li,
#footer.app-professional-footer span {
	color: color-mix(in srgb, var(--light, #fff) 74%, transparent);
}

#footer.app-professional-footer a:not(.btn):not(.no-footer-css) {
	color: color-mix(in srgb, var(--light, #fff) 74%, transparent);
	text-decoration: none;
}

#footer.app-professional-footer a:not(.btn):not(.no-footer-css):hover,
#footer.app-professional-footer a:not(.btn):not(.no-footer-css):focus-visible {
	color: var(--light, #fff);
}

#footer.app-professional-footer .app-professional-footer__logo {display:block;width:min(100%,260px);height:auto;margin-bottom:1.35rem}

#footer.app-professional-footer--grouped .app-professional-footer__logo {width:min(100%,220px)}

#footer.app-professional-footer .app-professional-footer__contact-list {
	display: grid;
	gap: 1rem;
}

#footer.app-professional-footer .app-professional-footer__contact-list li {
	display: grid;
	grid-template-columns: 1.25rem minmax(0, 1fr);
	align-items: start;
	gap: 0.75rem;
	line-height: 1.55;
}

#footer.app-professional-footer .app-professional-footer__contact-list i,
#footer.app-professional-footer .app-professional-footer__resources li i {
	margin-top: 0.25rem;
	color: var(--primary);
}

#footer.app-professional-footer .app-professional-footer__links li + li,
#footer.app-professional-footer .app-professional-footer__resources li + li {
	margin-top: 0.65rem;
}

#footer.app-professional-footer .app-professional-footer__links a,
#footer.app-professional-footer .app-professional-footer__resources a {
	line-height: 1.45;
}

#footer.app-professional-footer .app-professional-footer__resources li a {
	display: grid;
	grid-template-columns: 0.75rem minmax(0, 1fr);
	align-items: start;
	gap: 0.55rem;
}

#footer.app-professional-footer .app-professional-footer__resources-cta {
	display: inline-flex;
	align-items: center;
	margin-top: 1.75rem;
	color: var(--light, #fff);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

#footer.app-professional-footer .app-professional-footer__resources-cta i {
	transition: transform 180ms ease;
}

#footer.app-professional-footer .app-professional-footer__resources-cta:hover i,
#footer.app-professional-footer .app-professional-footer__resources-cta:focus-visible i {
	transform: translateX(0.25rem);
}

#footer.app-professional-footer .app-professional-footer__copyright {
	border-top: 1px solid color-mix(in srgb, var(--light, #fff) 18%, transparent);
	background: color-mix(in srgb, var(--secondary, #29282b) 86%, #000);
}

#footer.app-professional-footer .app-professional-footer__copyright p,
#footer.app-professional-footer .app-professional-footer__copyright span,
#footer.app-professional-footer .app-professional-footer__copyright a {
	font-size: 0.78rem;
}

@media (prefers-reduced-motion: reduce) {
	#footer.app-professional-footer .app-professional-footer__resources-cta i {
		transition: none;
	}
}

/* ==========================================================================
