/* Orion FAQ — matches the real ".our-story-section" markup exactly,
   using this project's real breakpoints:
   sm=640, md=769, lg=992, xl=1199, 1xl=1380, 2xl=1752. */

.orion-faq {
	width: 100%;
	position: relative;
	z-index: 20;
	margin-bottom: 32px;
}
@media (min-width: 769px) { .orion-faq { margin-bottom: 50px; } }
@media (min-width: 992px) { .orion-faq { margin-bottom: 60px; } }
@media (min-width: 1380px) { .orion-faq { margin-bottom: 80px; } }
@media (min-width: 1752px) { .orion-faq { margin-bottom: 100px; } }

.orion-faq__inner {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
}
@media (min-width: 769px) { .orion-faq__inner { flex-direction: row; } }

/* Left image */
.orion-faq__image-box {
	width: 100%;
	height: 294px;
	position: relative;
}
@media (min-width: 640px) { .orion-faq__image-box { height: 400px; } }
@media (min-width: 769px) {
	.orion-faq__image-box {
		position: absolute;
		top: 0;
		left: 0;
		height: 100% !important;
		width: 54%;
	}
}
@media (min-width: 992px) { .orion-faq__image-box { width: 50%; } }
@media (min-width: 1199px) { .orion-faq__image-box { width: 48%; } }

/* Compound selector needed to beat Elementor's global
   ".elementor img{height:auto;max-width:100%}" reset (0,1,1 specificity). */
.orion-faq__image-box .orion-faq__image-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	max-width: none;
}

/* Right teal content box */
.orion-faq__teal-box {
	background-color: var(--orion-primary);
	position: relative;
	z-index: 1;
	width: 100%;
	margin-left: auto;
	margin-right: 0;
	padding: 36px 0;
}
@media (min-width: 769px) {
	.orion-faq__teal-box {
		width: 80%;
		padding: 36px 40px;
		margin-top: 48px;
		margin-bottom: 48px;
	}
}
@media (min-width: 992px) { .orion-faq__teal-box { width: 57%; } }
@media (min-width: 1199px) {
	.orion-faq__teal-box {
		padding: 50px 55px;
		margin-top: 52px;
		margin-bottom: 52px;
	}
}
@media (min-width: 1380px) { .orion-faq__teal-box { padding-left: 70px; padding-right: 70px; } }
@media (min-width: 1752px) {
	.orion-faq__teal-box {
		padding: 72px 90px;
		margin-top: 62px;
		margin-bottom: 62px;
	}
}

.orion-faq-content-container {
	width: 100%;
	margin: 0 auto;
	padding: 0 16px;
}
@media (min-width: 640px) { .orion-faq-content-container { max-width: 640px; } }
@media (min-width: 769px) {
	.orion-faq-content-container {
		max-width: 852px;
		padding: 0;
		margin-left: 0;
	}
}

/* HTML global h2 + text-white */
html body h2.orion-faq__title,
h2.orion-faq__title {
	margin: 0;
	color: #fff !important;
	text-align: start;
	font-family: var(--orion-font-heading, "El Messiri", serif) !important;
	font-weight: 500 !important;
	font-size: 26px !important;
	line-height: 36px !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}
@media (min-width: 640px) {
	html body h2.orion-faq__title,
	h2.orion-faq__title { font-size: 30px !important; line-height: 40px !important; }
}
@media (min-width: 769px) {
	html body h2.orion-faq__title,
	h2.orion-faq__title { font-size: 35px !important; line-height: 40px !important; }
}
@media (min-width: 1199px) {
	html body h2.orion-faq__title,
	h2.orion-faq__title { font-size: 40px !important; line-height: 50px !important; }
}
@media (min-width: 1380px) {
	html body h2.orion-faq__title,
	h2.orion-faq__title { font-size: 46px !important; line-height: 55px !important; }
}
@media (min-width: 1752px) {
	html body h2.orion-faq__title,
	h2.orion-faq__title { font-size: 60px !important; line-height: 70px !important; }
}

/* FAQ accordion list */
.orion-faq__items {
	border-top: 1px solid #fff;
	margin-top: 20px;
}
@media (min-width: 640px) { .orion-faq__items { border-top: none; margin-top: 0; } }

.orion-faq__item {
	border-bottom: 1px solid #fff;
	padding: 15px 0;
}
@media (min-width: 640px) { .orion-faq__item { padding: 18px 0; } }
@media (min-width: 1199px) { .orion-faq__item { padding: 22px 0; } }
@media (min-width: 1752px) { .orion-faq__item { padding: 28px 0; } }

.orion-faq__question-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
}

/* The gutter belongs to the question, not the row — otherwise the toggle is
   pushed in from the panel edge instead of sitting flush with it. */
/* index.html FAQ h5.font-normal — global h5 schedule, weight 400. */
html body h5.orion-faq__question,
.orion-faq__question {
	margin: 0;
	color: #fff !important;
	font-family: var(--orion-font-heading, "El Messiri", serif) !important;
	font-weight: 400 !important;
	font-size: 19px !important;
	line-height: 26px !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	flex: 1;
	padding-right: 16px;
}
@media (min-width: 640px) {
	html body h5.orion-faq__question,
	.orion-faq__question { padding-right: 28px; font-size: 22px !important; }
}
@media (min-width: 769px) {
	html body h5.orion-faq__question,
	.orion-faq__question { padding-right: 64px; line-height: 30px !important; }
}
@media (min-width: 1752px) {
	html body h5.orion-faq__question,
	.orion-faq__question { font-size: 25px !important; line-height: 35px !important; }
}

/* Icon toggle — circular button with a plus that morphs into a minus */
.orion-faq__toggle {
	flex-shrink: 0;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 50%;
	width: 26px;
	height: 26px;
	padding: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
@media (min-width: 640px) { .orion-faq__toggle { width: 35px; height: 35px; padding: 8px; } }
@media (min-width: 992px) { .orion-faq__toggle { width: 38px; height: 38px; } }
@media (min-width: 1380px) { .orion-faq__toggle { width: 42px; height: 42px; } }

.orion-faq__toggle:focus-visible {
	outline: 1px solid #fff;
	outline-offset: 1px;
}

/* Square at every size; the reference's glyph shrinks with the button. */
.orion-faq__toggle-icon {
	width: 18px;
	height: 18px;
	stroke: var(--orion-primary);
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
@media (min-width: 640px) { .orion-faq__toggle-icon { width: 17px; height: 17px; } }
@media (min-width: 992px) { .orion-faq__toggle-icon { width: 20px; height: 20px; } }
@media (min-width: 1380px) { .orion-faq__toggle-icon { width: 24px; height: 24px; } }
.orion-faq__toggle-icon line { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.orion-faq__toggle-icon .orion-faq__toggle-v {
	transform-origin: center;
	transform-box: fill-box;
}
.orion-faq__item.open .orion-faq__toggle-icon .orion-faq__toggle-v {
	transform: scaleY(0);
	opacity: 0;
}

/* Answer */
.orion-faq__answer-wrapper {
	overflow: hidden;
	max-height: 0;
	transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1);
	padding-right: 0;
}
@media (min-width: 640px) { .orion-faq__answer-wrapper { padding-right: 16px; } }
@media (min-width: 992px) { .orion-faq__answer-wrapper { padding-right: 30px; } }

.orion-faq__answer {
	margin: 8px 0 0;
	color: #fff;
	font-weight: 300;
}
@media (min-width: 1380px) { .orion-faq__answer { margin-top: 14px; } }

.orion-faq__no-items { text-align: center; padding: 60px 20px; color: #666; font-size: 18px; }

@media (prefers-reduced-motion: reduce) {
	.orion-faq__answer-wrapper,
	.orion-faq__toggle-icon line { transition: none; }
}
