/* =========================================================================
   Heights FAQ — intro column + accordion panel
   ========================================================================= */
.hfaq, .hfaq * { box-sizing: border-box; }

.hfaq {
	display: flex;
	align-items: flex-start;
	gap: 48px;
}

/* Intro column */
.hfaq-intro {
	flex: 0 0 34%;
	max-width: 34%;
}
.hfaq-heading {
	margin: 0 0 18px;
	font-size: 42px;
	line-height: 1.1;
	font-weight: 700;
	color: #1C5560;
}
.hfaq-desc {
	margin: 0 0 26px;
	font-size: 16px;
	line-height: 1.6;
	color: #5A5A5A;
}
.hfaq-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	background: #F2C2D6;
	color: #1A1A1A;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .02em;
	padding: 14px 30px;
	border-radius: 30px;
	transition: background .2s ease, transform .2s ease;
}
.hfaq-btn:hover { background: #E9A8C4; transform: translateY(-1px); }

/* Accordion panel */
.hfaq-panel {
	flex: 1 1 auto;
	min-width: 0;
	background: #fff !important;
	border-radius: 22px;
	padding: 14px 32px;
}

.hfaq-item:not(:last-child) { border-bottom: 1px solid rgba(0,0,0,0.10); }

.hfaq-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	background: none;
	border: none;
	cursor: pointer;
	padding: 22px 0;
	text-align: left;
	font-family: inherit;
}
.hfaq-q {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.35;
	color: #1A1A1A;
}
.hfaq-icon {
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #fff;
	color: #1A1A1A;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 8px rgba(0,0,0,.08);
	transition: transform .3s ease;
}
.hfaq-item.is-open .hfaq-icon { transform: rotate(180deg); }

/* Content */
.hfaq-content {
	overflow: hidden;
	padding-bottom: 22px;
	margin-top: -4px;
}
.hfaq-content[hidden] { display: none; }
.hfaq-a {
	font-size: 15px;
	line-height: 1.65;
	color: #6A6A6A;
	max-width: 60ch;
}
.hfaq-a p { margin: 0 0 10px; }
.hfaq-a p:last-child { margin-bottom: 0; }

/* Smooth open animation */
.hfaq-content.is-animating { transition: height .3s ease; }

/* Responsive */
@media (max-width: 1024px) {
	.hfaq { flex-direction: column; gap: 28px; }
	.hfaq-intro { flex: 1 1 100%; max-width: 100%; }
	.hfaq-heading { font-size: 34px; }
}
@media (max-width: 600px) {
	.hfaq-panel { padding: 8px 20px; }
	.hfaq-q { font-size: 15px; }
	.hfaq-trigger { padding: 18px 0; }
}
