/* Accordion Module Half — two-column heading + accordion. */

.accordion-half__grid {
	display: grid;
	gap: 2.5rem;
}

@media (min-width: 1024px) {
	.accordion-half__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
		gap: 4rem;
		align-items: start;
	}

	/* Default / accordion right: heading col 1, list col 2. */
	.accordion-half--accordion-right .accordion-half__heading { order: 1; }
	.accordion-half--accordion-right .accordion-half__list { order: 2; }

	/* Accordion left: list first, heading opposite. */
	.accordion-half--accordion-left .accordion-half__heading { order: 2; }
	.accordion-half--accordion-left .accordion-half__list { order: 1; }
}

.accordion-half__heading {
	margin: 0;
	font-family: var(--font-financier);
	font-size: 40px;
	font-weight: 400;
	line-height: 1.1;
	color: var(--color-brand-dark, #1c201d);
	white-space: nowrap;
}

@media (min-width: 640px) {
	.accordion-half__heading { font-size: 48px; }
}

@media (min-width: 1024px) {
	.accordion-half__heading { font-size: 56px; }
}

.accordion-half__row {
	border-top: 1px solid color-mix(in oklab, var(--color-brand-dark, #1c201d) 25%, transparent);
}

.accordion-half__row:last-child {
	border-bottom: 1px solid color-mix(in oklab, var(--color-brand-dark, #1c201d) 25%, transparent);
}

.accordion-half__summary {
	display: flex;
	cursor: pointer;
	list-style: none;
	align-items: center;
	justify-content: space-between;
	gap: 5rem;
	padding-block: 1.25rem;
}

.accordion-half__summary::-webkit-details-marker {
	display: none;
}

.accordion-half__title {
	font-family: var(--font-ginto);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--color-brand-dark, #1c201d);
}

.accordion-half__icon {
	position: relative;
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
	color: var(--color-brand-orange, #ff5700);
}

.accordion-half__icon-bar {
	position: absolute;
	background: currentColor;
}

.accordion-half__icon-bar--h {
	inset-inline: 0;
	top: 50%;
	height: 2px;
	transform: translateY(-50%);
}

.accordion-half__icon-bar--v {
	inset-block: 0;
	left: 50%;
	width: 2px;
	transform: translateX(-50%);
	transition: transform 0.2s ease;
}

.accordion-half__row[open] .accordion-half__icon-bar--v {
	transform: translateX(-50%) scaleY(0);
}
