/*
 * Ciphers Digital Nav Header
 *
 * Tokens are read from the live site: --primary-color #F57F23, --secondary-color
 * #C02D6E, heading font Exo 2, body font Radio Canada Big, button radius 30px,
 * uppercase, weight 600.
 *
 * CTA gradient note. The site's own button gradient (#EE3788 to #F57F23) with
 * white text measures 2.64:1 at the orange end, which fails WCAG AA for 14px
 * text. The header uses a darkened pair of the same hues, #C02D6E to #A85206,
 * at 5.47:1 and 5.42:1. The original hues are kept below so the brand gradient
 * is one edit away if it is ever corrected sitewide.
 */

:root {
	--cdnav-pink: #EE3788;
	--cdnav-orange: #F57F23;
	--cdnav-pink-aa: #C02D6E;
	--cdnav-orange-aa: #A85206;
	--cdnav-dark: #222021;
	--cdnav-dark-2: #2F2C2E;
	--cdnav-dark-3: #3A3638;
	--cdnav-ink: #222021;
	--cdnav-muted: #6B6467;
	--cdnav-muted-dark: #BFBABC;
	--cdnav-hair: #EAE6E7;
	--cdnav-tint: #FBF6F8;
	--cdnav-accent: #F57F23;
	--cdnav-font-head: "Exo 2", sans-serif;
	--cdnav-font-body: "Radio Canada Big", sans-serif;
	--cdnav-radius: 30px;
	--cdnav-maxw: 1260px;
	--cdnav-grad: linear-gradient(to right, var(--cdnav-pink-aa), var(--cdnav-orange-aa));
}

/*
 * Reset layer.
 *
 * The child theme styles bare elements sitewide:
 *   a      { color:#F57F23; text-decoration:underline }
 *   button { background:linear-gradient(to right,#EE3788,#F57F23) }
 *
 * Those are (0,0,1). A :where() reset is (0,0,0) and loses to them, which is
 * what painted every dropdown trigger as a gradient pill and underlined every
 * link in the header. This layer is (0,1,1), so it beats the theme; every
 * component rule below carries the .cdnav-active body class and is (0,2,0) or
 * higher, so it beats this. Neutralise anything the theme might set on a bare
 * element here, and let the components put back only what they want.
 */
.cdnav a,
.cdnav button,
.cdnav-thumbbar a,
.cdnav-thumbbar button {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	background-color: transparent;
	background-image: none;
	box-shadow: none;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	text-align: left;
	text-decoration: none;
	text-transform: none;
	text-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

.cdnav button,
.cdnav-thumbbar button {
	cursor: pointer;
}

.cdnav a:hover,
.cdnav a:focus,
.cdnav button:hover,
.cdnav-thumbbar a:hover,
.cdnav-thumbbar a:focus {
	text-decoration: none;
	background-image: none;
}


.cdnav-active .cdnav,
.cdnav-active .cdnav *,
.cdnav-active .cdnav-thumbbar,
.cdnav-active .cdnav-thumbbar *{
	box-sizing: border-box;
}

.cdnav-active .cdnav{
	position: relative;
	z-index: 900;
	font-family: var(--cdnav-font-body);
}

.cdnav-active .cdnav-wrap{
	display: flex;
	align-items: center;
	max-width: var(--cdnav-maxw);
	margin: 0 auto;
	padding: 0 24px;
}





.cdnav-active .cdnav :focus-visible,
.cdnav-active .cdnav-thumbbar :focus-visible{
	outline: 2px solid var(--cdnav-accent);
	outline-offset: 2px;
	border-radius: 4px;
}

/* Icons -------------------------------------------------------------- */

.cdnav-active .cdnav-ico{
	display: inline-block;
	flex: none;
	width: 1em;
	height: 1em;
	background-color: currentColor;
	-webkit-mask: var(--cdnav-i) center / contain no-repeat;
	mask: var(--cdnav-i) center / contain no-repeat;
}

/* Top bar ------------------------------------------------------------ */

.cdnav-active .cdnav-topbar{
	background: var(--cdnav-dark);
	color: #fff;
}

.cdnav-active .cdnav-topbar__wrap{
	justify-content: space-between;
	gap: 18px;
	min-height: 40px;
}

.cdnav-active .cdnav-topbar__left,
.cdnav-active .cdnav-topbar__right{
	display: flex;
	align-items: center;
	gap: 18px;
	min-width: 0;
}

.cdnav-active .cdnav-reviews{
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	gap: 7px;
	color: #fff;
	font-size: 12.5px;
	font-weight: 600;
	white-space: nowrap;
}

.cdnav-active .cdnav-reviews__score{
	color: var(--cdnav-accent);
	font-weight: 700;
}

.cdnav-active .cdnav-reviews__stars{
	display: inline-flex;
	gap: 1px;
	color: var(--cdnav-accent);
	font-size: 11px;
}

.cdnav-active .cdnav-reviews__count{
	color: #D8D4D6;
	font-weight: 500;
}

.cdnav-active .cdnav-reviews:hover .cdnav-reviews__count{
	color: #fff;
}

.cdnav-active .cdnav-trust{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 11.5px;
	color: #C9C5C7;
	white-space: nowrap;
	min-width: 0;
}

.cdnav-active .cdnav-trust__item + .cdnav-trust__item::before{
	content: "";
	display: inline-block;
	width: 3px;
	height: 3px;
	margin-right: 10px;
	border-radius: 50%;
	background: #6E686B;
	vertical-align: middle;
}

.cdnav-active .cdnav-phone{
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	gap: 7px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}

.cdnav-active .cdnav-phone .cdnav-ico{
	font-size: 15px;
	color: var(--cdnav-accent);
}

.cdnav-active .cdnav-toollink{
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	color: var(--cdnav-accent);
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
	border-bottom: 1px solid rgba(245, 127, 35, .35);
	padding-bottom: 1px;
}

.cdnav-active .cdnav-toollink:hover{
	color: #FFA45C;
	border-bottom-color: #FFA45C;
}

.cdnav-active .cdnav-toollink__short{
	display: none;
}

/* Main bar ----------------------------------------------------------- */

.cdnav-active .cdnav-mainbar{
	background: #fff;
	border-bottom: 1px solid var(--cdnav-hair);
}

.cdnav-active .cdnav-mainbar__wrap{
	position: relative;
	justify-content: space-between;
	gap: 18px;
	min-height: 74px;
}

/* Label tiers. The short label takes over where the row gets tight. */
.cdnav-active .cdnav-link__short,
.cdnav-active .cdnav-cta__short{
	display: none;
}

.cdnav-active .cdnav-logo{
	flex: none;
	display: block;
	line-height: 0;
}

.cdnav-active .cdnav-logo__img{
	display: block;
	width: auto;
	height: 40px;
}

.cdnav-active .cdnav-logo__img--white{
	display: none;
}

/*
 * The panels are anchored to the bottom of the main bar, not to the trigger.
 * If the item only spans the height of its own text there is a band of dead
 * space between the two where hover is lost and the panel shuts in your face.
 * Stretching the row, the list and each item to the full bar height removes
 * that band, leaving only the 14px margin for the bridge below to cover.
 */
.cdnav-active .cdnav-nav{
	display: flex;
	align-items: center;
	align-self: stretch;
	margin-left: auto;
}

.cdnav-active .cdnav-menu{
	display: flex;
	align-items: stretch;
	height: 100%;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cdnav-active .cdnav-item{
	position: static;
	display: flex;
	align-items: center;
}

/*
 * Nav items are text, not buttons. The only filled button in the header is the
 * CTA, so it is the one thing that reads as "this converts". Items get a
 * gradient rule that wipes in under the label on hover, focus and while their
 * panel is open, which is enough to stand out without five competing pills.
 */
.cdnav-active .cdnav-link{
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 11px 11px;
	border-radius: 0;
	background: none;
	font-family: var(--cdnav-font-body);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .045em;
	text-transform: uppercase;
	color: var(--cdnav-ink);
	white-space: nowrap;
	transition: color .18s ease;
}

.cdnav-active .cdnav-link::after{
	content: "";
	position: absolute;
	right: 11px;
	bottom: 2px;
	left: 11px;
	height: 2px;
	border-radius: 2px;
	background: var(--cdnav-grad);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .22s ease;
}

.cdnav-active .cdnav-link:hover,
.cdnav-active .cdnav-link:focus-visible,
.cdnav-active .cdnav-link[aria-expanded="true"]{
	color: var(--cdnav-pink-aa);
	background: none;
}

.cdnav-active .cdnav-item:hover > .cdnav-link::after,
.cdnav-active .cdnav-item--open > .cdnav-link::after,
.cdnav-active .cdnav-link:hover::after,
.cdnav-active .cdnav-link:focus-visible::after,
.cdnav-active .cdnav-link[aria-expanded="true"]::after,
.cdnav-active .cdnav-link--current::after{
	transform: scaleX(1);
}

/* Current section keeps the rule on permanently, at half weight. */
.cdnav-active .cdnav-link--current{
	color: var(--cdnav-pink-aa);
}

.cdnav-active .cdnav-link--current::after{
	opacity: .55;
}

.cdnav-active .cdnav-item:hover > .cdnav-link--current::after{
	opacity: 1;
}

.cdnav-active .cdnav-caret{
	font-size: 13px;
	opacity: .65;
	transition: transform .18s ease;
}

.cdnav-active .cdnav:not(.cdnav--js) .cdnav-item--has-panel:hover .cdnav-caret,
.cdnav-active .cdnav-item--open .cdnav-caret,
.cdnav-active .cdnav-link[aria-expanded="true"] .cdnav-caret{
	transform: rotate(180deg);
}

.cdnav-active .cdnav-pill{
	display: inline-block;
	margin-left: 2px;
	padding: 2px 6px 1px;
	border-radius: 20px;
	background: var(--cdnav-grad);
	color: #fff;
	font-size: 8.5px;
	font-weight: 700;
	letter-spacing: .09em;
	line-height: 1.5;
}

.cdnav-active .cdnav-cta{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	min-height: 44px;
	padding: 11px 18px;
	border-radius: var(--cdnav-radius);
	background: var(--cdnav-grad);
	color: #fff;
	font-family: var(--cdnav-font-body);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: uppercase;
	white-space: nowrap;
	box-shadow: 0 2px 10px rgba(192, 45, 110, .22);
	transition: filter .18s ease, transform .18s ease, box-shadow .18s ease;
}

.cdnav-active .cdnav-cta:hover{
	filter: brightness(1.07);
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(192, 45, 110, .32);
	color: #fff;
}

.cdnav-active .cdnav-mcall,
.cdnav-active .cdnav-burger{
	display: none;
}

/* Mega panels -------------------------------------------------------- */

.cdnav-active .cdnav-mega{
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 60;
	margin-top: 14px;
	background: #fff;
	border: 1px solid var(--cdnav-hair);
	border-radius: 14px;
	box-shadow: 0 26px 64px rgba(34, 32, 33, .18);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-8px);
	pointer-events: none;
	/* Base state is the hiding transition. Keep it short so a panel being
	   swapped out clears before the incoming one has finished arriving. */
	transition: opacity .12s ease, transform .12s ease, visibility .12s;
}

/* Hover bridge across the panel's own top margin. */
.cdnav-active .cdnav-mega::before{
	content: "";
	position: absolute;
	top: -18px;
	right: 0;
	left: 0;
	height: 18px;
}

/*
 * With JavaScript the open state is driven by hover intent, so a cursor that
 * merely passes over a neighbouring item on its way into an open panel does
 * not yank the panel away. Plain :hover stays as the no-JS fallback.
 */
.cdnav-active .cdnav:not(.cdnav--js) .cdnav-item--has-panel:hover > .cdnav-mega,
.cdnav-active .cdnav-item--has-panel:focus-within > .cdnav-mega,
.cdnav-active .cdnav-item--open > .cdnav-mega,
.cdnav-active .cdnav-link[aria-expanded="true"] + .cdnav-mega{
	opacity: 1;
	visibility: visible;
	transform: none;
	pointer-events: auto;
	transition: opacity .18s ease, transform .18s ease, visibility .18s;
}

.cdnav-active .cdnav-mega__inner{
	display: grid;
	grid-template-columns: 1fr 296px;
	overflow: hidden;
	border-radius: 13px;
}

.cdnav-active .cdnav-mega__main{
	padding: 24px 26px;
	min-width: 0;
}

.cdnav-active .cdnav-mega__side{
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 12px;
	padding: 26px;
	background: var(--cdnav-dark);
	color: #fff;
}

.cdnav-active .cdnav-mega__headline{
	margin: 0;
	font-family: var(--cdnav-font-head);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.25;
	color: #fff;
}

.cdnav-active .cdnav-mega__copy{
	margin: 0;
	font-size: 12.8px;
	line-height: 1.55;
	color: #C9C5C7;
}

.cdnav-active .cdnav-mega__eyebrow{
	margin: 0 0 10px;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--cdnav-muted);
}

.cdnav-active .cdnav-mega__main > .cdnav-mega__eyebrow + ul + .cdnav-mega__eyebrow{
	margin-top: 20px;
}

.cdnav-active .cdnav-cta--panel{
	padding: 11px 18px;
	font-size: 12.5px;
	gap: 8px;
}

.cdnav-active .cdnav-viewall{
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	gap: 7px;
	color: var(--cdnav-accent);
	font-size: 12.5px;
	font-weight: 600;
}

.cdnav-active .cdnav-viewall:hover{
	color: #FFA45C;
}

.cdnav-active .cdnav-viewall .cdnav-ico{
	font-size: 14px;
	transition: transform .18s ease;
}

.cdnav-active .cdnav-viewall:hover .cdnav-ico{
	transform: translateX(3px);
}

/* Services list */

.cdnav-active .cdnav-svclist{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cdnav-active .cdnav-svc{
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 11px 12px;
	border-radius: 10px;
}

.cdnav-active .cdnav-svc:hover{
	background: var(--cdnav-tint);
}

.cdnav-active .cdnav-svc__icon{
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 38px;
	height: 38px;
	border-radius: 9px;
	background: #FBEDF3;
	color: var(--cdnav-pink-aa);
	font-size: 19px;
}

.cdnav-active .cdnav-svc:hover .cdnav-svc__icon{
	background: var(--cdnav-pink-aa);
	color: #fff;
}

.cdnav-active .cdnav-svc__text{
	min-width: 0;
}

.cdnav-active .cdnav-svc__name{
	display: block;
	font-family: var(--cdnav-font-head);
	font-size: 14.5px;
	font-weight: 600;
	color: var(--cdnav-ink);
	line-height: 1.3;
}

.cdnav-active .cdnav-svc__desc{
	display: block;
	margin-top: 3px;
	font-size: 12.2px;
	line-height: 1.45;
	color: var(--cdnav-muted);
}

/* Service areas list */

.cdnav-active .cdnav-arealist{
	margin: 0;
	padding: 0;
	list-style: none;
}

.cdnav-active .cdnav-arealist--offices{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6px;
}

.cdnav-active .cdnav-arealist--cities{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
}

.cdnav-active .cdnav-area{
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 9px 11px;
	border-radius: 9px;
	color: var(--cdnav-ink);
	font-size: 13.5px;
	font-weight: 500;
}

.cdnav-active .cdnav-area:hover{
	background: var(--cdnav-tint);
	color: var(--cdnav-pink-aa);
}

.cdnav-active .cdnav-area .cdnav-ico{
	font-size: 16px;
	color: var(--cdnav-pink-aa);
	opacity: .8;
}

.cdnav-active .cdnav-area--office{
	align-items: flex-start;
	background: #FBEDF3;
	padding: 11px 13px;
}

.cdnav-active .cdnav-area--office .cdnav-area__name{
	font-family: var(--cdnav-font-head);
	font-weight: 600;
	font-size: 14.5px;
	display: block;
}

.cdnav-active .cdnav-area__note{
	display: block;
	margin-top: 1px;
	font-size: 11.5px;
	font-weight: 500;
	color: var(--cdnav-muted);
}

/* Tools panel */

.cdnav-active .cdnav-mega--tools{
	left: auto;
	right: 0;
	width: min(760px, 100%);
}

.cdnav-active .cdnav-mega--tools .cdnav-mega__inner{
	grid-template-columns: 1fr;
}

.cdnav-active .cdnav-toolgrid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px;
	margin: 0;
	padding: 20px;
	list-style: none;
}

.cdnav-active .cdnav-tool{
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px;
	border-radius: 11px;
	border: 1px solid transparent;
}

.cdnav-active .cdnav-tool:hover{
	background: var(--cdnav-tint);
	border-color: var(--cdnav-hair);
}

.cdnav-active .cdnav-tool__tile{
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--cdnav-grad);
	color: #fff;
	font-size: 20px;
}

.cdnav-active .cdnav-tool__name{
	display: block;
	font-family: var(--cdnav-font-head);
	font-size: 14px;
	font-weight: 600;
	color: var(--cdnav-ink);
}

.cdnav-active .cdnav-tool__desc{
	display: block;
	margin-top: 2px;
	font-size: 12px;
	line-height: 1.45;
	color: var(--cdnav-muted);
}

.cdnav-active .cdnav-tool__action{
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: 6px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: var(--cdnav-pink-aa);
}

.cdnav-active .cdnav-tool__action .cdnav-ico{
	font-size: 13px;
	transition: transform .18s ease;
}

.cdnav-active .cdnav-tool:hover .cdnav-tool__action .cdnav-ico{
	transform: translateX(3px);
}

/* Plain dropdown */

/*
 * A narrow panel pinned to the container's right edge sits well to the right of
 * its own trigger, so reaching it means crossing two other triggers. Anchor it
 * under its own item instead and the path is straight down.
 */
.cdnav-active .cdnav-item--narrow{
	position: relative;
}

.cdnav-active .cdnav-mega--plain{
	right: auto;
	left: 0;
	width: 260px;
}

.cdnav-active .cdnav-mega--plain .cdnav-mega__inner{
	grid-template-columns: 1fr;
}

.cdnav-active .cdnav-plainlist{
	margin: 0;
	padding: 10px;
	list-style: none;
}

.cdnav-active .cdnav-plainlist a{
	display: block;
	padding: 10px 12px;
	border-radius: 8px;
	font-size: 13.5px;
	font-weight: 500;
	color: var(--cdnav-ink);
}

.cdnav-active .cdnav-plainlist a:hover{
	background: var(--cdnav-tint);
	color: var(--cdnav-pink-aa);
}
/* Icon masks. Inline SVG as mask-image, coloured by currentColor. */
.cdnav-active .cdnav-ico--phone{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M21 16.9v2.6a1.7 1.7 0 0 1-1.9 1.7 17 17 0 0 1-7.4-2.6 16.6 16.6 0 0 1-5.1-5.1A17 17 0 0 1 4 6.1 1.7 1.7 0 0 1 5.7 4.2h2.6a1.7 1.7 0 0 1 1.7 1.5c.1.8.3 1.6.6 2.4a1.7 1.7 0 0 1-.4 1.8l-1.1 1.1a13.6 13.6 0 0 0 5.1 5.1l1.1-1.1a1.7 1.7 0 0 1 1.8-.4c.8.3 1.6.5 2.4.6a1.7 1.7 0 0 1 1.5 1.7z%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--star{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22 stroke=%22none%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 2.6l2.9 5.9 6.5.9-4.7 4.6 1.1 6.5-5.8-3-5.8 3 1.1-6.5L2.6 9.4l6.5-.9z%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--seo{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2210.5%22 cy=%2210.5%22 r=%226.5%22/%3E%3Cpath d=%22M20 20l-4.6-4.6M8 10.5h5M10.5 8v5%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--ads{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 10v4a1 1 0 0 0 1 1h3l5 4V5L7 9H4a1 1 0 0 0-1 1zM16.5 8.5a5 5 0 0 1 0 7M19.5 5.5a9 9 0 0 1 0 13%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--code{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M8 17l-5-5 5-5M16 7l5 5-5 5M13.5 4l-3 16%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--design{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%224%22 width=%2218%22 height=%2216%22 rx=%222%22/%3E%3Cpath d=%22M3 9h18M8 9v11%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--content{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 3h9l5 5v13a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z%22/%3E%3Cpath d=%22M14 3v5h5M8 13h8M8 17h5%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--social{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2218%22 cy=%225.5%22 r=%222.5%22/%3E%3Ccircle cx=%226%22 cy=%2212%22 r=%222.5%22/%3E%3Ccircle cx=%2218%22 cy=%2218.5%22 r=%222.5%22/%3E%3Cpath d=%22M8.2 10.8l7.6-4.1M8.2 13.2l7.6 4.1%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--video{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222.5%22 y=%225.5%22 width=%2213%22 height=%2213%22 rx=%222%22/%3E%3Cpath d=%22M15.5 10l6-3.5v11l-6-3.5z%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--consult{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M15.5 8.5l-2 5-5 2 2-5z%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--pin{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 21.5S19 15.6 19 10a7 7 0 1 0-14 0c0 5.6 7 11.5 7 11.5z%22/%3E%3Ccircle cx=%2212%22 cy=%2210%22 r=%222.6%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--building{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 21V6a2 2 0 0 1 2-2h7a2 2 0 0 1 2 2v15M15 21V11h3a2 2 0 0 1 2 2v8M2.5 21h19M8 8h3M8 12h3M8 16h3%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--calculator{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%224.5%22 y=%222.5%22 width=%2215%22 height=%2219%22 rx=%222%22/%3E%3Cpath d=%22M8 6.5h8M8 11h0M12 11h0M16 11h0M8 14.5h0M12 14.5h0M16 14.5h0M8 18h0M12 18h0M16 18h0%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--checklist{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 5h11M9 12h11M9 19h11M3.5 5l1.5 1.5L8 3.5M3.5 12L5 13.5 8 10.5M3.5 19L5 20.5 8 17.5%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--film{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222.5%22 y=%224.5%22 width=%2219%22 height=%2215%22 rx=%222%22/%3E%3Cpath d=%22M7 4.5v15M17 4.5v15M2.5 12h19M2.5 8.2h4.5M2.5 15.8h4.5M17 8.2h4.5M17 15.8h4.5%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--grid{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223.5%22 y=%223.5%22 width=%227%22 height=%227%22 rx=%221.5%22/%3E%3Crect x=%2213.5%22 y=%223.5%22 width=%227%22 height=%227%22 rx=%221.5%22/%3E%3Crect x=%223.5%22 y=%2213.5%22 width=%227%22 height=%227%22 rx=%221.5%22/%3E%3Crect x=%2213.5%22 y=%2213.5%22 width=%227%22 height=%227%22 rx=%221.5%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--book{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 4.5A1.5 1.5 0 0 1 5.5 3H19v15.5H5.5A1.5 1.5 0 0 0 4 20z%22/%3E%3Cpath d=%22M4 18.5A1.5 1.5 0 0 1 5.5 17H19v4H5.5A1.5 1.5 0 0 1 4 19.5z%22/%3E%3Cpath d=%22M8 7.5h7%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--briefcase{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222.5%22 y=%227%22 width=%2219%22 height=%2213%22 rx=%222%22/%3E%3Cpath d=%22M8.5 7V5a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v2M2.5 12.5h19%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--chevron{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 9.5l6 6 6-6%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--plus{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 5v14M5 12h14%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--close{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 6l12 12M18 6L6 18%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--menu{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3.5 7h17M3.5 12h17M3.5 17h17%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--arrow{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 12h15M13 6l6 6-6 6%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--shield{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 2.8l7.5 3v6c0 4.5-3.1 8.6-7.5 9.9-4.4-1.3-7.5-5.4-7.5-9.9v-6z%22/%3E%3Cpath d=%22M9 12l2 2 4-4%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--award{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%229%22 r=%225.5%22/%3E%3Cpath d=%22M8.6 13.6L7.5 21.5l4.5-2.4 4.5 2.4-1.1-7.9%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--users{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%229%22 cy=%228%22 r=%223.5%22/%3E%3Cpath d=%22M2.5 20a6.5 6.5 0 0 1 13 0M16.5 5.2a3.5 3.5 0 0 1 0 6.6M18 20a6.6 6.6 0 0 0-2-4.7%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--facebook{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22 stroke=%22none%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M13.5 22v-9h3l.5-3.5h-3.5V7.3c0-1 .3-1.7 1.8-1.7H17V2.4A24 24 0 0 0 14.4 2C11.8 2 10 3.6 10 6.6v2.9H7V13h3v9z%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--x{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22 stroke=%22none%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M17.6 2.5h3.3l-7.2 8.2 8.4 11.1h-6.6l-5.2-6.8-5.9 6.8H1.1l7.7-8.8L.8 2.5h6.8l4.7 6.2zm-1.2 17.4h1.8L6.7 4.3H4.8z%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--linkedin{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22 stroke=%22none%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6.9 21.5H2.8V8.9h4.1zM4.8 7.1A2.4 2.4 0 1 1 7.2 4.7 2.4 2.4 0 0 1 4.8 7.1zM21.5 21.5h-4.1v-6.1c0-1.5 0-3.4-2.1-3.4s-2.4 1.6-2.4 3.3v6.2H8.9V8.9H12v1.7h.1a3.5 3.5 0 0 1 3.1-1.7c3.3 0 4 2.2 4 5z%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--youtube{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22 stroke=%22none%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M22.5 7.2a2.8 2.8 0 0 0-1.9-2C18.9 4.7 12 4.7 12 4.7s-6.9 0-8.6.5a2.8 2.8 0 0 0-1.9 2A29 29 0 0 0 1 12a29 29 0 0 0 .5 4.8 2.8 2.8 0 0 0 1.9 2c1.7.4 8.6.4 8.6.4s6.9 0 8.6-.4a2.8 2.8 0 0 0 1.9-2A29 29 0 0 0 23 12a29 29 0 0 0-.5-4.8zM9.8 15.3V8.7l5.7 3.3z%22/%3E%3C/svg%3E")}
.cdnav-active .cdnav-ico--tiktok{--cdnav-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22 stroke=%22none%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M21 8.4a6.9 6.9 0 0 1-4.6-1.8v7.6a6.3 6.3 0 1 1-5.4-6.2v3.3a3.1 3.1 0 1 0 2.2 3V2h3.2a4.7 4.7 0 0 0 4.6 4.1z%22/%3E%3C/svg%3E")}

/* Offcanvas ---------------------------------------------------------- */

.cdnav-active .cdnav-offcanvas{
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: none;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	background: var(--cdnav-dark);
	color: #fff;
	overscroll-behavior: contain;
}

body.cdnav-open .cdnav-offcanvas{
	display: block;
}

.cdnav-active .cdnav-offcanvas__inner{
	padding: 20px 20px calc(28px + env(safe-area-inset-bottom));
}

.cdnav-active .cdnav-offcanvas__head{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.cdnav-active .cdnav-offcanvas__logo{
	display: flex;
	align-items: center;
	min-height: 44px;
}

.cdnav-active .cdnav-offcanvas__logo img{
	display: block;
	width: auto;
	height: 34px;
}

.cdnav-active .cdnav-close{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	background: none;
	border-radius: 0;
	margin-right: -10px;
	color: var(--cdnav-accent);
	font-size: 22px;
}

.cdnav-active .cdnav-offcanvas__tagline{
	margin: 10px 0 18px;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .26px;
	text-transform: uppercase;
	color: var(--cdnav-accent);
}

.cdnav-active .cdnav-mnav{
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--cdnav-dark-3);
}

.cdnav-active .cdnav-mnav__row{
	border-bottom: 1px solid var(--cdnav-dark-3);
}

.cdnav-active .cdnav-mnav__link{
	display: flex;
	align-items: center;
	gap: 13px;
	width: 100%;
	min-height: 48px;
	padding: 12px 2px;
	background: none;
	border-radius: 0;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-align: left;
}

.cdnav-active .cdnav-mnav__link .cdnav-ico{
	font-size: 19px;
	color: var(--cdnav-accent);
}

/*
 * Only the label grows. A "> span" rule here also matches the icon and the
 * plus, which makes all three share the row and centres the content.
 */
.cdnav-active .cdnav-mnav__label{
	flex: 1 1 auto;
	min-width: 0;
}

.cdnav-active .cdnav-mnav__plus{
	position: relative;
	flex: none;
	width: 16px;
	height: 16px;
}

.cdnav-active .cdnav-mnav__plus::before,
.cdnav-active .cdnav-mnav__plus::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 2px;
	margin: -1px 0 0 -7px;
	border-radius: 2px;
	background: var(--cdnav-accent);
	transition: transform .2s ease, opacity .2s ease;
}

.cdnav-active .cdnav-mnav__plus::after{
	transform: rotate(90deg);
}

.cdnav-active .cdnav-mnav__toggle[aria-expanded="true"] .cdnav-mnav__plus::after{
	transform: rotate(0deg);
	opacity: 0;
}

.cdnav-active .cdnav-msub{
	margin: 0;
	padding: 0 0 12px 44px;
	list-style: none;
}

.cdnav-active .cdnav-msub[hidden]{
	display: none;
}

.cdnav-active .cdnav-msub a{
	display: block;
	min-height: 44px;
	padding: 11px 0;
	color: #E6E3E4;
	font-size: 12.5px;
	font-weight: 500;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.cdnav-active .cdnav-msub a:hover,
.cdnav-active .cdnav-msub a:focus-visible{
	color: var(--cdnav-accent);
}

.cdnav-active .cdnav-callcard{
	display: flex;
	flex-direction: column;
	gap: 9px;
	margin-top: 22px;
	padding: 18px;
	border: 1px solid var(--cdnav-accent);
	border-radius: 12px;
	background: rgba(245, 127, 35, .06);
}

.cdnav-active .cdnav-callcard__eyebrow{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #D8D4D6;
}

.cdnav-active .cdnav-callcard__eyebrow .cdnav-ico{
	font-size: 14px;
	color: var(--cdnav-accent);
}

.cdnav-active .cdnav-callcard__num{
	display: flex;
	align-items: center;
	min-height: 44px;
	font-family: var(--cdnav-font-head);
	font-size: 27px;
	font-weight: 600;
	line-height: 1.1;
	color: var(--cdnav-accent);
}

.cdnav-active .cdnav-cta--block{
	width: 100%;
	margin-top: 4px;
	padding: 14px 18px;
	font-size: 13px;
}

.cdnav-active .cdnav-mreviews{
	display: flex;
	justify-content: center;
	margin-top: 18px;
	padding: 13px;
	border-radius: 10px;
	background: var(--cdnav-dark-2);
}

.cdnav-active .cdnav-mreviews .cdnav-reviews{
	display: inline-flex;
	min-height: 44px;
	font-size: 13px;
}

.cdnav-active .cdnav-trustrow{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
	text-align: center;
}

.cdnav-active .cdnav-trustrow li{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 14px 6px;
	border-radius: 10px;
	background: var(--cdnav-dark-2);
}

.cdnav-active .cdnav-trustrow .cdnav-ico{
	font-size: 20px;
	color: var(--cdnav-accent);
}

.cdnav-active .cdnav-trustrow strong{
	font-family: var(--cdnav-font-head);
	font-size: 13px;
	font-weight: 600;
	color: #fff;
}

.cdnav-active .cdnav-trustrow span{
	font-size: 10.5px;
	line-height: 1.3;
	color: #C9C5C7;
}

.cdnav-active .cdnav-msocial{
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.cdnav-active .cdnav-msocial a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--cdnav-dark-2);
	color: #D8D4D6;
	font-size: 17px;
}

.cdnav-active .cdnav-msocial a:hover,
.cdnav-active .cdnav-msocial a:focus-visible{
	background: var(--cdnav-accent);
	color: var(--cdnav-dark);
}

/* Bottom thumb bar --------------------------------------------------- */

.cdnav-active .cdnav-thumbbar{
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 9500;
	display: none;
	padding-bottom: env(safe-area-inset-bottom);
	background: var(--cdnav-dark);
	border-top: 1px solid var(--cdnav-dark-3);
}

.cdnav-active .cdnav-thumbbar ul{
	display: flex;
	align-items: flex-end;
	margin: 0;
	padding: 6px 0 0;
	list-style: none;
}

.cdnav-active .cdnav-thumbbar li{
	flex: 1 1 20%;
	min-width: 0;
}

.cdnav-active .cdnav-thumbbar a{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	padding: 4px 2px 7px;
	color: #fff;
}

.cdnav-active .cdnav-thumbbar .cdnav-ico{
	font-size: 21px;
}

.cdnav-active .cdnav-thumbbar span{
	font-size: 9px;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	white-space: nowrap;
	line-height: 1;
}

.cdnav-active .cdnav-thumbbar__primary a::before{
	content: "";
	position: absolute;
	top: -12px;
	left: 50%;
	width: 46px;
	height: 46px;
	margin-left: -23px;
	border-radius: 50%;
	background: var(--cdnav-grad);
	border: 3px solid var(--cdnav-dark);
	box-shadow: 0 4px 14px rgba(192, 45, 110, .45);
}

.cdnav-active .cdnav-thumbbar__primary .cdnav-ico,
.cdnav-active .cdnav-thumbbar__primary span{
	position: relative;
}

.cdnav-active .cdnav-thumbbar__primary .cdnav-ico{
	font-size: 22px;
	margin-top: -7px;
}

.cdnav-active .cdnav-thumbbar__primary span{
	margin-top: 7px;
	font-weight: 700;
}

body.cdnav-open .cdnav-thumbbar{
	display: none;
}

/* Breakpoints -------------------------------------------------------- */

/* Desktop only. Scoped so no ID or element rule leaks onto phones. */
@media (min-width: 992px) {

	/* Transparent overlay mode, used on pages the theme marks absolute-header. */
	body.absolute-header .cdnav{
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		z-index: 999;
	}

	body.admin-bar.absolute-header .cdnav{
		top: 32px;
	}

	body.absolute-header .cdnav-mainbar{
		background: transparent;
		border-bottom-color: rgba(255, 255, 255, .16);
	}

	body.absolute-header .cdnav-logo__img--color{
		display: none;
	}

	body.absolute-header .cdnav-logo__img--white{
		display: block;
	}

	body.absolute-header .cdnav-link{
		color: #fff;
	}

	body.absolute-header .cdnav-link:hover,
	body.absolute-header .cdnav-link:focus-visible,
	body.absolute-header .cdnav-link[aria-expanded="true"],
	body.absolute-header .cdnav-link--current{
		color: var(--cdnav-accent);
		background: none;
	}
}

/*
 * Narrow desktop. Every nav item stays on the row; only type, gaps and two
 * labels get smaller. Nothing is hidden, so no destination disappears between
 * 992 and 1279.
 */
@media (min-width: 992px) and (max-width: 1279px) {

	.cdnav-active .cdnav-wrap{
		padding: 0 16px;
	}

	.cdnav-active .cdnav-link{
		font-size: 11px;
		padding: 8px 6px;
		letter-spacing: .01em;
	}

	.cdnav-active .cdnav-cta{
		padding: 10px 14px;
		font-size: 11.5px;
	}

	.cdnav-active .cdnav-logo__img{
		height: 34px;
	}

	.cdnav-active .cdnav-mainbar__wrap{
		min-height: 66px;
		gap: 10px;
	}

	.cdnav-active .cdnav-menu{
		gap: 0;
	}

	.cdnav-active .cdnav-link__long{
		display: none;
	}

	.cdnav-active .cdnav-link__short{
		display: inline;
	}

	/* The NEW pill is decoration, not a destination. It returns at 1280. */
	.cdnav-active .cdnav-pill{
		display: none;
	}

	.cdnav-active .cdnav-caret{
		font-size: 11px;
	}

	.cdnav-active .cdnav-mega__inner{
		grid-template-columns: 1fr 240px;
	}
}

/* The tool promo is the first thing to go when the top bar gets tight. */
@media (min-width: 992px) and (max-width: 1099px) {

	.cdnav-active .cdnav-toollink{
		display: none;
	}
}

@media (min-width: 992px) and (max-width: 1179px) {

	.cdnav-active .cdnav-trust{
		display: none;
	}
}

/*
 * Mobile and tablet. The desktop nav stops at 992 and the hamburger starts at
 * 991, so exactly one of them is visible at every width and there is no band
 * without navigation.
 */
@media (max-width: 991px) {

	.cdnav-active .cdnav{
		position: sticky;
		top: 0;
		z-index: 9000;
		background: #fff;
		box-shadow: 0 2px 14px rgba(34, 32, 33, .10);
	}

	body.admin-bar .cdnav{
		top: 32px;
	}

	/* The sticky bar is always opaque, so overlay mode does not apply here. */
	body.absolute-header .cdnav{
		position: sticky;
		background: #fff;
	}

	body.absolute-header .cdnav-logo__img--color{
		display: block;
	}

	body.absolute-header .cdnav-logo__img--white{
		display: none;
	}

	.cdnav-active .cdnav-nav{
		display: none;
	}

	.cdnav-active .cdnav-mcall,
	.cdnav-active .cdnav-burger{
		display: inline-flex;
	}

	.cdnav-active .cdnav-topbar__left{
		display: none;
	}

	.cdnav-active .cdnav-topbar__wrap{
		justify-content: center;
		gap: 14px;
		min-height: 44px;
		padding: 8px 16px;
	}

	.cdnav-active .cdnav-topbar__right{
		gap: 14px;
	}

	.cdnav-active .cdnav-phone{
		min-height: 32px;
		font-size: 13px;
	}

	.cdnav-active .cdnav-toollink{
		min-height: 32px;
		padding: 4px 10px;
		border: 1.5px solid var(--cdnav-accent);
		border-radius: 6px;
		font-size: 11px;
		font-weight: 700;
		letter-spacing: .5px;
		text-transform: uppercase;
	}

	.cdnav-active .cdnav-toollink__long{
		display: none;
	}

	.cdnav-active .cdnav-toollink__short{
		display: inline;
	}

	.cdnav-active .cdnav-mainbar__wrap{
		gap: 10px;
		min-height: 54px;
		padding: 0 16px;
	}

	.cdnav-active .cdnav-logo__img{
		height: 30px;
	}

	.cdnav-active .cdnav-cta__long{
		display: none;
	}

	.cdnav-active .cdnav-cta__short{
		display: inline;
	}

	/*
	 * 44px tap box with a 36px visible chip. background-clip keeps the fill on
	 * the content box so the target is bigger than the thing you can see.
	 */
	.cdnav-active .cdnav-mcall{
		align-items: center;
		justify-content: center;
		flex: none;
		width: 44px;
		height: 44px;
		padding: 4px;
		margin-left: auto;
		border-radius: 14px;
		background-color: var(--cdnav-dark);
		background-clip: content-box;
		color: var(--cdnav-accent);
		font-size: 17px;
	}

	.cdnav-active .cdnav-cta{
		padding: 10px 12px;
		font-size: 11px;
		font-weight: 700;
		letter-spacing: .3px;
		border-radius: 8px;
	}

	.cdnav-active .cdnav-burger{
		align-items: center;
		justify-content: center;
		flex: none;
		width: 44px;
		height: 44px;
		margin-right: -10px;
	}

	.cdnav-active .cdnav-burger__bars,
	.cdnav-active .cdnav-burger__bars::before,
	.cdnav-active .cdnav-burger__bars::after{
		display: block;
		width: 22px;
		height: 2px;
		border-radius: 2px;
		background: var(--cdnav-pink-aa);
	}

	.cdnav-active .cdnav-burger__bars{
		position: relative;
	}

	.cdnav-active .cdnav-burger__bars::before,
	.cdnav-active .cdnav-burger__bars::after{
		content: "";
		position: absolute;
		left: 0;
	}

	.cdnav-active .cdnav-burger__bars::before{
		top: -7px;
	}

	.cdnav-active .cdnav-burger__bars::after{
		top: 7px;
	}

	body.cdnav-open{
		overflow: hidden;
	}
}

/* Very narrow. Keep the CTA from squeezing the logo. */
@media (max-width: 420px) {

	.cdnav-active .cdnav-cta{
		padding: 9px 11px;
		font-size: 10.5px;
	}

	.cdnav-active .cdnav-logo__img{
		height: 26px;
	}

	.cdnav-active .cdnav-mainbar__wrap{
		gap: 7px;
		padding: 0 10px;
	}

	.cdnav-active .cdnav-burger{
		width: 40px;
		margin-right: -8px;
	}

	.cdnav-active .cdnav-mcall{
		width: 44px;
		height: 44px;
		padding: 5px;
		font-size: 15px;
	}

	.cdnav-active .cdnav-topbar__wrap{
		gap: 10px;
		padding: 8px 10px;
	}

	.cdnav-active .cdnav-toollink{
		font-size: 10px;
		padding: 4px 8px;
	}

	.cdnav-active .cdnav-phone{
		font-size: 12.5px;
	}
}

/*
 * The thumb bar shows at 766 and below only. Above that the sticky top and the
 * offcanvas carry the load. Body padding is paired with it in the same query so
 * the fixed bar never sits on top of the last lines of a page.
 */
@media (max-width: 766px) {

	.cdnav-active .cdnav-thumbbar{
		display: block;
	}

	body.cdnav-active{
		padding-bottom: calc(var(--cdnav-barh, 62px) + env(safe-area-inset-bottom));
	}
}

@media (prefers-reduced-motion: reduce) {

	.cdnav-active .cdnav *,
	.cdnav-active .cdnav-thumbbar *{
		transition: none !important;
	}
}

/*
 * Safety net.
 *
 * The plugin removes the theme's own header output on genesis_header. If the
 * child theme ever prints a header or a Responsive Menu trigger from some other
 * hook, this keeps two navigations off the same page.
 *
 * :has(.cdnav) scopes it to pages where this header actually rendered, so a
 * failed takeover leaves the theme header visible rather than hiding every
 * header on the site.
 */
body.cdnav-active:has(.cdnav) .site-header,
body.cdnav-active:has(.cdnav) .nav-primary,
body.cdnav-active:has(.cdnav) #rmp-container,
body.cdnav-active:has(.cdnav) #rmp-menu-trigger,
body.cdnav-active:has(.cdnav) .rmp-menu-trigger-container{
	display: none !important;
}
