/* Policies page: banner like the site's section banners, then an Evolent-style accordion. */
.ohp {
	--ohp-navy: #002d5d;
	--ohp-sky: #5fccfd;
	--ohp-ink: #1d2b3a;
	--ohp-muted: #5b6b7c;
	--ohp-line: #d9e2ec;
	--ohp-ice: #f2f8fd;
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	color: var(--ohp-ink);
}
.ohp *, .ohp *::before, .ohp *::after { box-sizing: border-box; }

/* Full width page inside Divi: no theme title or sidebar */
.ohp-page .main_title { display: none; }
.ohp-page #main-content .container { padding-top: 0 !important; }
.ohp-page #main-content .container::before { display: none; }
.ohp-page #left-area { width: 100%; padding: 0; float: none; }
.ohp-page #sidebar { display: none; }
.ohp-page .entry-content > .ohp { margin-bottom: 0; }

/* Banner – same photo + navy box as Insights */
.ohp-banner {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	min-height: 400px;
	padding: 48px 0;
	display: flex;
	align-items: center;
	background-color: #d8e9f7;
	background-size: cover;
	background-position: 50% 0;
}
.ohp-banner__inner { width: 80%; max-width: 1080px; margin: 0 auto; }
.ohp-banner__box {
	width: min(620px, 100%);
	padding: 40px;
	border-radius: 15px;
	background: var(--ohp-navy);
	color: #fff;
}
.ohp-banner__title {
	font-family: 'Montserrat', Helvetica, Arial, sans-serif !important;
	font-weight: 500 !important;
	font-size: 32px !important;
	line-height: 1.25 !important;
	color: #fff !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Accordion */
.ohp-body { max-width: 900px; margin: 0 auto; padding: 56px 0 72px; }
.ohp-intro {
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	font-size: 22px;
	line-height: 1.3;
	color: var(--ohp-navy);
	margin: 0 0 24px;
	padding: 0;
}
.ohp-list { border-top: 1px solid var(--ohp-line); }
.ohp-item { border-bottom: 1px solid var(--ohp-line); scroll-margin-top: 110px; }
.ohp-item__head { margin: 0 !important; padding: 0 !important; font-size: inherit !important; line-height: inherit !important; }
.ohp-item__btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 20px 4px;
	border: 0;
	background: none;
	cursor: pointer;
	text-align: left;
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--ohp-navy);
}
.ohp-item__btn:hover .ohp-item__title { text-decoration: underline; text-underline-offset: 3px; }
.ohp-item__btn:focus-visible { outline: 2px solid var(--ohp-sky); outline-offset: 2px; border-radius: 4px; }

/* Circled + that turns into − when open */
.ohp-item__icon {
	position: relative;
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	border: 1.5px solid var(--ohp-navy);
	border-radius: 50%;
}
.ohp-item__icon::before, .ohp-item__icon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 10px;
	height: 1.5px;
	background: var(--ohp-navy);
	transform: translate(-50%, -50%);
	transition: transform .2s ease;
}
.ohp-item__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.ohp-item__btn[aria-expanded="true"] .ohp-item__icon { background: var(--ohp-navy); }
.ohp-item__btn[aria-expanded="true"] .ohp-item__icon::before,
.ohp-item__btn[aria-expanded="true"] .ohp-item__icon::after { background: #fff; }
.ohp-item__btn[aria-expanded="true"] .ohp-item__icon::after { transform: translate(-50%, -50%) rotate(0deg); }

/* Policy text */
.ohp-item__panel { padding: 0 4px 32px; }
.ohp-item__body { font-size: 15px; line-height: 1.7; color: var(--ohp-ink); }
.ohp-item__body p { margin: 0 0 14px; padding: 0; }
.ohp-item__body h2, .ohp-item__body h3, .ohp-item__body h4, .ohp-item__body h5, .ohp-item__body h6 {
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	color: var(--ohp-navy);
	font-size: 17px;
	line-height: 1.35;
	margin: 24px 0 10px;
	padding: 0;
}
.ohp-item__body ul, .ohp-item__body ol { margin: 0 0 14px 22px; padding: 0; }
.ohp-item__body ul { list-style: disc; }
.ohp-item__body ol { list-style: decimal; }
.ohp-item__body li { margin: 0 0 6px; padding: 0; }
.ohp-item__body a { color: #0b6fa4; text-decoration: underline; text-underline-offset: 2px; word-break: break-word; }
.ohp-item__body hr { border: 0; border-top: 1px solid var(--ohp-line); margin: 24px 0; }
.ohp-table { overflow-x: auto; margin: 0 0 16px; -webkit-overflow-scrolling: touch; }
.ohp-table table { border-collapse: collapse; width: 100%; font-size: 14px; }
.ohp-table td, .ohp-table th { border: 1px solid var(--ohp-line); padding: 8px 10px; vertical-align: top; text-align: left; }
.ohp-item__source { margin: 8px 0 0; padding: 0; font-size: 14px; }
.ohp-item__source a { color: var(--ohp-muted); }

/* Phones */
@media (max-width: 980px) {
	.ohp-banner { min-height: 0; padding: 48px 0; }
	.ohp-body { padding: 40px 0 56px; }
}
@media (max-width: 640px) {
	.ohp-banner { padding: 160px 0 0; background-position: 70% 0; }
	.ohp-banner__inner { width: 100%; }
	.ohp-banner__box { border-radius: 0; padding: 28px 20px; }
	.ohp-banner__title { font-size: 26px !important; }
	.ohp-intro { font-size: 19px; }
	.ohp-item__btn { font-size: 16px; padding: 18px 0; }
	.ohp-item__panel { padding: 0 0 28px; }
}
@media (prefers-reduced-motion: reduce) {
	.ohp-item__icon::before, .ohp-item__icon::after { transition: none; }
}
