.opir-public,
.opir-methodology {
	--opir-navy: #071f32;
	--opir-blue: #0d3b66;
	--opir-orange: #f97316;
	--opir-line: #d7e3ec;
	font-family: "Radio Canada", Inter, "Segoe UI", sans-serif;
}

.opir-public {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 18px;
	margin: 22px 0;
	padding: 18px;
	border: 1px solid var(--opir-line);
	border-left: 5px solid var(--opir-blue);
	border-radius: 14px;
	background: #f7fafc;
	color: var(--opir-navy);
}

.opir-public--high { border-left-color: #16835f; }
.opir-public--medium { border-left-color: var(--opir-orange); }
.opir-public--low { border-left-color: #64748b; }

.opir-public__score {
	display: grid;
	align-content: center;
	gap: 4px;
	padding: 15px;
	border-radius: 11px;
	background: var(--opir-navy);
	color: #fff;
}

.opir-public__score span { font-size: 14px; line-height: 1.35; }
.opir-public__score span small { display: block; margin-top: 5px; color: #cbd9e4; font-size: 13px; }
.opir-public__score strong { font-size: 34px; line-height: 1; }
.opir-public__score small { font-size: 16px; }
.opir-public__copy > strong { font-size: 18px; }
.opir-public__copy p,
.opir-public__copy li,
.opir-public__copy summary,
.opir-methodology p,
.opir-methodology li { font-size: 14px; line-height: 1.55; }
.opir-public__copy p { margin: 6px 0 10px; color: #536a7f; }
.opir-public__copy summary { color: var(--opir-blue); cursor: pointer; font-weight: 700; }
.opir-public__copy details ol { margin-top: 10px; }

.opir-loop {
	display: inline-flex;
	gap: 5px;
	align-items: center;
	margin: 0 0 8px;
	padding: 7px 10px;
	border: 1px solid rgba(255,255,255,.75);
	border-radius: 999px;
	background: rgba(7,31,50,.92);
	box-shadow: 0 6px 16px rgba(7,31,50,.16);
	color: #fff;
	font: 650 13px/1.2 "Radio Canada", Inter, sans-serif;
}
.opir-loop strong { color: #fff; }
.opir-loop--high { background: rgba(22,131,95,.94); }
.opir-loop--medium { background: rgba(249,115,22,.95); }
.opir-loop--low { background: rgba(71,85,105,.94); }

.opir-promo {
	--opir-navy: #102b43;
	--opir-blue: #0d3b66;
	--opir-line: #d7e3ec;
	display: grid;
	gap: 14px;
	color: var(--opir-navy);
}
.opir-promo__hero {
	display: grid;
	grid-template-columns: 86px minmax(0, 1fr);
	gap: 11px;
	align-items: stretch;
}
.opir-promo__pictogram {
	min-height: 139px;
	border: 7px solid #edf7de;
	border-radius: 15px;
	background: #83c900 url("thumb-up.svg") center / 68px 68px no-repeat;
}
.opir-promo__hero-detail {
	display: grid;
	align-content: center;
	min-width: 0;
}
.opir-promo__title {
	display: block;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}
.opir-promo__brand {
	display: block;
	margin-top: 3px;
	color: #006747;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
}
.opir-promo__score {
	display: flex;
	align-items: baseline;
	gap: 3px;
	margin: 1px 0 3px;
}
.opir-promo__score strong {
	color: var(--opir-navy);
	font-size: clamp(35px, 3vw, 46px);
	font-weight: 800;
	line-height: 1;
}
.opir-promo__score span {
	color: #52677a;
	font-size: 16px;
	font-weight: 800;
}
.opir-promo__eyebrow {
	display: block;
	margin-top: 7px;
	color: #52677a;
	font-size: 11px;
	font-weight: 650;
	line-height: 1.25;
}
.opir-promo__lead {
	margin: 0 !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
}
.opir-promo__scale {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 3px;
	height: 10px;
	margin-top: 4px;
}
.opir-promo__scale span { border-radius: 3px; }
.opir-promo__scale span:nth-child(1) { background: #d83e48; }
.opir-promo__scale span:nth-child(2) { background: #f4792e; }
.opir-promo__scale span:nth-child(3) { background: #f4bd28; }
.opir-promo__scale span:nth-child(4) { background: #90c934; }
.opir-promo__scale span:nth-child(5) { background: #087d58; }
.opir-promo__scale::before {
	content: "";
	position: absolute;
	left: clamp(5px, var(--opir-score-position), calc(100% - 5px));
	top: -10px;
	transform: translateX(-50%);
	border-right: 5px solid transparent;
	border-bottom: 0;
	border-left: 5px solid transparent;
	border-top: 7px solid var(--opir-navy);
}
.opir-promo__benefits {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1px;
	margin: 0;
	padding: 1px;
	list-style: none;
	background: var(--opir-line);
	border-radius: 9px;
	overflow: hidden;
}
.opir-promo__benefits li {
	padding: 11px;
	background: #f2f7fa;
	font-size: 12.5px;
	line-height: 1.4;
}
.opir-promo__benefits strong {
	display: block;
	margin-bottom: 3px;
	color: #557a00;
	font-size: 13px;
	font-weight: 800;
}
.opir-promo__benefits span {
	display: block;
	color: #3f586d;
}
.opir-promo__learn-more {
	display: inline-flex;
	align-items: center;
	justify-self: start;
	color: var(--opir-blue);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.35;
	text-decoration: none;
}
.opir-promo__learn-more:hover,
.opir-promo__learn-more:focus-visible {
	text-decoration: underline;
}
.opad-card:has(.opir-promo) {
	box-shadow: 0 4px 10px rgba(7,31,50,.09), 0 18px 38px rgba(7,31,50,.16);
}
.opir-promo--medium .opir-promo__pictogram { background: #f36b21; border-color: #fff0e3; }
.opir-promo--low .opir-promo__pictogram { background: #d81b32; border-color: #fdecef; }

@media (max-width: 680px) {
	.opir-public { grid-template-columns: 1fr; padding: 14px; }
	.opir-public__score { grid-template-columns: 1fr auto; align-items: center; }
	.opir-public__score strong { font-size: 28px; }
	.opir-loop { font-size: 12px; }
	.opir-promo__hero { grid-template-columns: 86px minmax(0, 1fr); }
}

@media (max-width: 340px) {
	.opir-promo__hero { grid-template-columns: 76px minmax(0, 1fr); gap: 8px; }
	.opir-promo__pictogram { min-height: 130px; border-width: 5px; }
	.opir-promo__pictogram { background-size: 58px 58px; }
	.opir-promo__score strong { font-size: 35px; }
	.opir-promo__benefits { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
	.opp26 .opp26-hero,
	.opp26 .opp26-content-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.opp26 .opp26-gallery,
	.opp26 .opp26-summary,
	.opp26 .opp26-content-main,
	.opp26 .opp26-aside {
		min-width: 0;
		max-width: 100%;
	}
	.opp26 .opp26-intro,
	.opp26 .opp26-copy {
		overflow-wrap: anywhere;
	}
	.opp26-summary > .opad-card[data-opad-slot="product_engagement"] {
		--opad-line: #dce5ed;
		--opad-surface: #fff;
		--opad-navy: #071f32;
		width: 100%;
		max-width: 100%;
		margin: 0 0 18px;
		transform: none;
	}
	.opp26-summary > .opad-card[data-opad-slot="product_engagement"] .opad-card__body {
		padding: 13px;
	}
	.opp26-summary > .opad-card[data-opad-slot="product_engagement"] .opir-promo__hero {
		grid-template-columns: 74px minmax(0, 1fr);
		gap: 12px;
	}
	.opp26-summary > .opad-card[data-opad-slot="product_engagement"] .opir-promo__pictogram {
		min-height: 116px;
		border-width: 5px;
		background-size: 57px 57px;
	}
	.opp26-summary > .opad-card[data-opad-slot="product_engagement"] .opir-promo__score strong {
		font-size: 39px;
	}
	.opp26-summary > .opad-card[data-opad-slot="product_engagement"] .opir-promo__lead,
	.opp26-summary > .opad-card[data-opad-slot="product_engagement"] .opir-promo__benefits,
	.opp26-summary > .opad-card[data-opad-slot="product_engagement"] .opir-promo__learn-more {
		display: none;
	}
}
