.epaw-faq {
	--epaw-green: #1E7A4A;
	--epaw-green-deep: #155E39;
	--epaw-green-soft: #E6F3EB;
	--epaw-green-mist: #F3F9F5;
	--epaw-navy: #10334A;
	--epaw-ink: #22323D;
	--epaw-muted: #6B7C87;
	--epaw-line: #E4EFE8;
	--epaw-font-display: 'Poppins', ui-sans-serif, system-ui, -apple-system, sans-serif;
	--epaw-font-body: 'Inter', system-ui, -apple-system, sans-serif;
	--epaw-font-script: 'Caveat', ui-rounded, 'Segoe Script', cursive;

	position: relative;
	overflow: hidden;
	background: #fff;
	color: var(--epaw-ink);
	font-family: var(--epaw-font-body);
	line-height: 1.65;
	padding: 72px 0;
}

.epaw-faq *,
.epaw-faq *::before,
.epaw-faq *::after { box-sizing: border-box; }

.epaw-faq__container {
	position: relative;
	z-index: 1;
	max-width: var( --epaw-content-width, 1300px );
	margin: 0 auto;
	padding: 0 20px;
}

/* ---------- Decorative background ---------- */

.epaw-faq__deco {
	position: absolute;
	left: 0;
	bottom: 0;
	width: min(62%, 820px);
	z-index: 0;
	pointer-events: none;
	opacity: .55;
}

.epaw-faq__deco img {
	display: block;
	width: 100%;
	height: auto;
	-webkit-mask-image: linear-gradient(to top right, #000 22%, transparent 78%);
	mask-image: linear-gradient(to top right, #000 22%, transparent 78%);
}

/* ---------- Section head ---------- */

.epaw-faq__head {
	max-width: 690px;
	margin: 0 auto 26px;
	text-align: center;
}

.epaw-faq__eyebrow {
	font-family: var(--epaw-font-display);
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	font-size: .74rem;
	color: var(--epaw-green);
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin: 0;
}

.epaw-faq__eyebrow::before,
.epaw-faq__eyebrow::after {
	content: '';
	width: 42px;
	height: 1.5px;
	background: rgba(30, 122, 74, .35);
}

.epaw-faq__title {
	font-family: var(--epaw-font-display);
	font-size: clamp(1.9rem, 3.4vw, 2.55rem);
	font-weight: 700;
	line-height: 1.18;
	color: var(--epaw-navy);
	margin: 12px 0;
}

.epaw-faq__lead {
	color: var(--epaw-muted);
	font-size: 1rem;
	margin: 0;
}

/* ---------- Category filter pills ---------- */

.epaw-faq__cats {
	display: none;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0 auto 26px;
}

.epaw-faq.is-enhanced .epaw-faq__cats {
	display: flex;
}

.epaw-faq__cat {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 11px 20px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--epaw-line);
	color: var(--epaw-navy);
	font-family: var(--epaw-font-display);
	font-size: .85rem;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: background .25s, border-color .25s, color .25s, box-shadow .25s;
}

.epaw-faq__cat svg {
	width: 17px;
	height: 17px;
	color: var(--epaw-green);
	transition: color .25s;
}

.epaw-faq__cat:hover {
	border-color: var(--epaw-green);
	background: var(--epaw-green-mist);
}

.epaw-faq__cat.is-active {
	background: var(--epaw-green);
	border-color: var(--epaw-green);
	color: #fff;
	box-shadow: 0 10px 22px rgba(30, 122, 74, .22);
}

.epaw-faq__cat.is-active svg {
	color: #fff;
}

.epaw-faq__cat:focus-visible {
	outline: 2px solid var(--epaw-green-deep);
	outline-offset: 2px;
}

/* ---------- Three column band ---------- */

.epaw-faq__layout {
	display: grid;
	grid-template-columns: var(--epaw-aside, 210px) minmax(0, 1fr) var(--epaw-trust, 250px);
	gap: 0 34px;
	align-items: start;
}

.epaw-faq__aside {
	grid-column: 1;
	padding-top: 24px;
}

.epaw-faq__script {
	display: inline-block;
	position: relative;
	font-family: var(--epaw-font-script);
	font-size: clamp(1.7rem, 2.2vw, 2.25rem);
	font-weight: 600;
	line-height: 1.08;
	color: #2F4A3F;
	margin: 0;
	transform: rotate(-6deg);
	transform-origin: left top;
}

.epaw-faq__script-line {
	display: block;
}

.epaw-faq__swash {
	display: block;
	width: 78%;
	height: auto;
	margin: 6px 0 0 4px;
	color: currentColor;
	opacity: .8;
}

/* ---------- Trust column ---------- */

.epaw-faq__trust {
	grid-column: 3;
	padding-top: 8px;
}

.epaw-faq__trust-item {
	text-align: center;
	padding: 18px 6px;
}

.epaw-faq__trust-item + .epaw-faq__trust-item {
	border-top: 1px solid var(--epaw-line);
}

.epaw-faq__trust-ic {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	margin: 0 auto 12px;
	border-radius: 50%;
	background: var(--epaw-green-soft);
	color: var(--epaw-green);
}

.epaw-faq__trust-ic svg {
	width: 24px;
	height: 24px;
}

.epaw-faq__trust-title {
	font-family: var(--epaw-font-display);
	font-weight: 700;
	font-size: .98rem;
	line-height: 1.35;
	color: var(--epaw-navy);
	margin: 0 0 4px;
}

.epaw-faq__trust-desc {
	font-size: .85rem;
	line-height: 1.55;
	color: var(--epaw-muted);
	margin: 0;
}

/* ---------- Question list ---------- */

.epaw-faq__list {
	grid-column: 2;
	display: grid;
	gap: 12px;
	min-width: 0;
}

.epaw-faq__item {
	background: #F7FBF8;
	border: 1px solid var(--epaw-line);
	border-radius: 16px;
	transition: border-color .3s, box-shadow .3s, background .3s;
}

.epaw-faq__item:hover {
	border-color: #C9E2D3;
}

.epaw-faq__item.is-open {
	background: #fff;
	border-color: #CFE6D8;
	box-shadow: 0 14px 34px rgba(16, 51, 74, .07);
}

.epaw-faq__item.is-filtered {
	display: none;
}

.epaw-faq__q {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 18px;
	background: none;
	border: none;
	border-radius: 16px;
	cursor: pointer;
	text-align: left;
	font-family: inherit;
}

.epaw-faq__q:focus-visible {
	outline: 2px solid var(--epaw-green-deep);
	outline-offset: 2px;
}

.epaw-faq__q-icon {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--epaw-green-soft);
	color: var(--epaw-green);
}

.epaw-faq__q-icon svg {
	width: 19px;
	height: 19px;
}

.epaw-faq__q-text {
	flex: 1;
	font-family: var(--epaw-font-display);
	font-weight: 600;
	font-size: .99rem;
	line-height: 1.4;
	color: var(--epaw-navy);
}

.epaw-faq__ic {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	flex-shrink: 0;
	border-radius: 50%;
	background: #EDF5F0;
	color: #7E948A;
	transition: background .3s, color .3s, box-shadow .3s;
}

.epaw-faq__ic svg {
	width: 17px;
	height: 17px;
}

.epaw-faq__ic-v {
	transform-origin: center;
	transition: transform .3s ease;
}

.epaw-faq__item.is-open .epaw-faq__ic {
	background: #fff;
	color: var(--epaw-green);
	box-shadow: 0 4px 12px rgba(30, 122, 74, .14);
}

.epaw-faq__item.is-open .epaw-faq__ic-v {
	transform: scaleY(0);
}

.epaw-faq__a-inner {
	overflow: hidden;
}

.epaw-faq__a-body {
	position: relative;
	padding: 16px 22px 18px 74px;
	font-size: .93rem;
	line-height: 1.72;
	color: var(--epaw-muted);
}

.epaw-faq__item.is-open .epaw-faq__a-body::before {
	content: '';
	position: absolute;
	top: 0;
	left: 18px;
	right: 18px;
	height: 1px;
	background: var(--epaw-line);
}

.epaw-faq__a-body > :first-child { margin-top: 0; }
.epaw-faq__a-body > :last-child { margin-bottom: 0; }

.epaw-faq.is-enhanced .epaw-faq__a {
	max-height: 0;
	overflow: hidden;
	transition: max-height .38s ease;
}

.epaw-faq.is-enhanced .epaw-faq__item.is-open .epaw-faq__a {
	max-height: none;
}

/* ---------- Footer ---------- */

.epaw-faq__foot {
	margin-top: 30px;
	text-align: center;
}

.epaw-faq__foot-note {
	margin: 0 0 22px;
	font-size: .87rem;
	color: #8A9A93;
}

.epaw-faq__contacts {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.epaw-faq__contact {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0 34px;
}

.epaw-faq__contact + .epaw-faq__contact {
	border-left: 1px solid var(--epaw-line);
}

.epaw-faq__contact-ic {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	border-radius: 50%;
	border: 1.5px solid #D6E7DD;
	color: var(--epaw-green);
}

.epaw-faq__contact-ic svg {
	width: 18px;
	height: 18px;
}

.epaw-faq__contact-body {
	display: block;
	text-align: left;
}

.epaw-faq__contact-value {
	display: block;
	font-family: var(--epaw-font-display);
	font-weight: 600;
	font-size: .9rem;
	line-height: 1.4;
	color: var(--epaw-navy);
	text-decoration: none;
}

a.epaw-faq__contact-value:hover {
	color: var(--epaw-green);
}

.epaw-faq__contact-label {
	display: block;
	font-size: .8rem;
	line-height: 1.4;
	color: #8A9A93;
}

/* ---------- Reveal ---------- */

.epaw-faq .epaw-reveal {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity .65s ease, transform .65s ease;
}

.epaw-faq .epaw-reveal.is-inview {
	opacity: 1;
	transform: none;
}

.epaw-faq .epaw-faq__list > *:nth-child(2) { transition-delay: .06s; }
.epaw-faq .epaw-faq__list > *:nth-child(3) { transition-delay: .12s; }
.epaw-faq .epaw-faq__list > *:nth-child(4) { transition-delay: .18s; }
.epaw-faq .epaw-faq__list > *:nth-child(5) { transition-delay: .24s; }
.epaw-faq .epaw-faq__list > *:nth-child(6) { transition-delay: .3s; }
.epaw-faq .epaw-faq__list > *:nth-child(7) { transition-delay: .36s; }
.epaw-faq .epaw-faq__list > *:nth-child(8) { transition-delay: .42s; }

@media (prefers-reduced-motion: reduce) {
	.epaw-faq .epaw-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.epaw-faq__item,
	.epaw-faq__ic,
	.epaw-faq__ic-v,
	.epaw-faq__cat,
	.epaw-faq.is-enhanced .epaw-faq__a {
		transition: none;
	}
}

/* ---------- Responsive ---------- */

@media (max-width: 1180px) {
	.epaw-faq__layout {
		grid-template-columns: minmax(0, 1fr) var(--epaw-trust, 240px);
	}

	.epaw-faq__aside {
		display: none;
	}

	.epaw-faq__list {
		grid-column: 1;
	}

	.epaw-faq__trust {
		grid-column: 2;
	}
}

@media (max-width: 900px) {
	.epaw-faq {
		padding: 60px 0;
	}

	.epaw-faq__layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 26px;
	}

	.epaw-faq__trust {
		grid-column: 1;
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		padding-top: 0;
		border-top: 1px solid var(--epaw-line);
	}

	.epaw-faq__trust-item {
		padding: 20px 10px;
	}

	.epaw-faq__trust-item + .epaw-faq__trust-item {
		border-top: none;
		border-left: 1px solid var(--epaw-line);
	}
}

@media (max-width: 640px) {
	.epaw-faq {
		padding: 52px 0;
	}

	.epaw-faq__head {
		margin-bottom: 22px;
	}

	.epaw-faq__cats {
		gap: 8px;
		margin-bottom: 20px;
	}

	.epaw-faq__cat {
		padding: 9px 15px;
		font-size: .8rem;
	}

	.epaw-faq__q {
		gap: 12px;
		padding: 12px 14px;
	}

	.epaw-faq__q-icon {
		width: 34px;
		height: 34px;
	}

	.epaw-faq__q-icon svg {
		width: 16px;
		height: 16px;
	}

	.epaw-faq__a-body {
		padding: 14px 14px 16px 60px;
	}

	.epaw-faq__item.is-open .epaw-faq__a-body::before {
		left: 14px;
		right: 14px;
	}

	.epaw-faq__trust {
		grid-template-columns: minmax(0, 1fr);
	}

	.epaw-faq__trust-item + .epaw-faq__trust-item {
		border-left: none;
		border-top: 1px solid var(--epaw-line);
	}

	.epaw-faq__contacts {
		flex-direction: column;
		gap: 16px;
	}

	.epaw-faq__contact {
		padding: 0;
	}

	.epaw-faq__contact + .epaw-faq__contact {
		border-left: none;
	}
}
