/* FAQ uses the shared --q-* palette and header/footer primitives from front-page.css. */
.q-faq-page details[id] { scroll-margin-top: 100px; }
.q-faq-page {
	background: var(--q-paper);
}

.qf-main {
	background: var(--q-paper);
}

.qf-hero,
.qf-section,
.qf-contact,
.qf-dashboard-callout {
	padding-right: var(--q-page-gutter);
	padding-left: var(--q-page-gutter);
}

.qf-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
	gap: clamp(48px, 9vw, 156px);
	align-items: end;
	min-height: min(580px, calc(100svh - 72px));
	padding-top: clamp(74px, 10vw, 144px);
	padding-bottom: clamp(54px, 8vw, 112px);
	background: var(--q-paper);
}

.qf-hero-copy {
	max-width: 760px;
}

.qf-kicker,
.qf-section-heading > p,
.qf-contact > div > p {
	margin: 0 0 13px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.qf-hero h1,
.qf-section-heading h2,
.qf-contact h2 {
	margin: 0;
	font-family: var(--q-display);
	font-weight: 760;
	letter-spacing: -0.04em;
	line-height: 0.98;
}

.qf-hero h1 {
	max-width: 8.5ch;
	font-size: clamp(52px, 7vw, 106px);
}

.qf-hero-copy > p:last-child {
	max-width: 55ch;
	margin: 25px 0 0;
	color: var(--q-muted);
	font-size: clamp(17px, 1.5vw, 21px);
	line-height: 1.5;
}

.qf-topic-nav {
	display: grid;
	border-top: 1px solid var(--q-ink);
	border-left: 1px solid var(--q-ink);
	background: var(--q-cool-white);
}

.qf-topic-nav a {
	display: grid;
	grid-template-columns: 34px 1fr auto;
	gap: 11px;
	align-items: center;
	min-height: 68px;
	padding: 14px 18px;
	border-right: 1px solid var(--q-ink);
	border-bottom: 1px solid var(--q-ink);
	font-size: 18px;
	font-weight: 760;
	transition: background-color 180ms var(--q-ease-out), color 180ms var(--q-ease-out);
}

.qf-topic-nav a:hover,
.qf-topic-nav a:focus-visible {
	position: relative;
	z-index: 1;
	background: var(--q-blue);
	color: var(--q-cool-white);
}

.qf-topic-nav span {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.qf-topic-nav b,
.qf-dashboard-callout b,
.qf-contact-actions b {
	font-size: 21px;
	font-weight: 500;
}

.qf-dashboard-callout {
	display: flex;
	gap: 30px;
	justify-content: space-between;
	align-items: center;
	padding-top: 22px;
	padding-bottom: 22px;
	background: var(--q-blue-deep);
	color: var(--q-cool-white);
}

.qf-dashboard-callout p {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
}

.qf-dashboard-callout a {
	display: inline-flex;
	gap: 20px;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid currentColor;
	color: var(--q-cool-white);
	font-size: 14px;
	font-weight: 800;
	white-space: nowrap;
}

.qf-section {
	display: grid;
	grid-template-columns: minmax(240px, 0.58fr) minmax(0, 1.42fr);
	gap: clamp(54px, 10vw, 170px);
	padding-top: clamp(84px, 10vw, 146px);
	padding-bottom: clamp(84px, 10vw, 146px);
}

.qf-section--products {
	background: var(--q-cool-white);
}

.qf-section--health {
	background: var(--q-mint);
}

.qf-section--company {
	background: var(--q-sky);
}

.qf-section-heading {
	align-self: start;
}

.qf-section-heading h2,
.qf-contact h2 {
	max-width: 11ch;
	font-size: clamp(42px, 4.8vw, 76px);
}

.qf-section-heading > p {
	color: var(--q-blue-deep);
}

.qf-answers {
	border-top: 1px solid color-mix(in srgb, var(--q-ink) 30%, transparent);
}

.qf-answers details {
	border-bottom: 1px solid color-mix(in srgb, var(--q-ink) 30%, transparent);
}

.qf-answers summary {
	display: flex;
	gap: 24px;
	justify-content: space-between;
	align-items: center;
	padding: 25px 0;
	cursor: pointer;
	font-size: clamp(19px, 1.7vw, 25px);
	font-weight: 740;
	letter-spacing: -0.018em;
	line-height: 1.16;
	list-style: none;
}

.qf-answers summary::-webkit-details-marker {
	display: none;
}

.qf-answers summary span {
	position: relative;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
}

.qf-answers summary span::before,
.qf-answers summary span::after {
	position: absolute;
	top: 8px;
	left: 0;
	width: 18px;
	height: 2px;
	background: currentColor;
	content: "";
	transition: transform 180ms var(--q-ease-out);
}

.qf-answers summary span::after {
	transform: rotate(90deg);
}

.qf-answers details[open] summary span::after {
	transform: rotate(0deg);
}

.qf-answers details > div {
	max-width: 72ch;
	padding: 0 0 30px;
	color: color-mix(in srgb, var(--q-ink) 80%, var(--q-paper));
	font-size: 16px;
	line-height: 1.55;
}

.qf-answers details > .qf-answer--wide {
	max-width: none;
}

.qf-section--health .qf-answers details > div,
.qf-section--company .qf-answers details > div {
	color: color-mix(in srgb, var(--q-ink) 88%, transparent);
}

.qf-answers p {
	margin: 0;
}

.qf-answers p + p,
.qf-answers p + .qf-delivery-grid,
.qf-answers p + .qf-table-wrap,
.qf-answers ol + p,
.qf-answers .qf-table-wrap + p {
	margin-top: 18px;
}

.qf-answers a {
	display: inline-flex;
	gap: 12px;
	align-items: center;
	margin-top: 18px;
	padding-bottom: 3px;
	border-bottom: 1px solid currentColor;
	color: var(--q-ink);
	font-size: 14px;
	font-weight: 800;
}

.qf-answers a b {
	font-size: 18px;
	font-weight: 500;
}

.qf-answers ol {
	margin: 0;
	padding-left: 1.3em;
}

.qf-answers li + li {
	margin-top: 7px;
}

.qf-delivery-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 18px;
	margin-top: 24px;
}

.qf-delivery-grid > div {
	padding: 22px;
	background: color-mix(in srgb, var(--q-cool-white) 70%, transparent);
}

.qf-delivery-grid h3 {
	margin: 0 0 17px;
	font-size: 18px;
	letter-spacing: -0.015em;
}

.qf-delivery-grid dl,
.qf-portions {
	display: grid;
	grid-template-columns: minmax(62px, auto) 1fr;
	gap: 8px 14px;
	margin: 0;
}

.qf-delivery-grid dl {
	grid-template-columns: minmax(100px, 0.24fr) minmax(0, 1fr);
}

.qf-delivery-grid dt,
.qf-portions dt {
	font-weight: 800;
}

.qf-delivery-grid dd,
.qf-portions dd {
	margin: 0;
}

.qf-portions {
	gap: 12px 18px;
	padding: 20px;
	background: color-mix(in srgb, var(--q-cool-white) 74%, transparent);
}

.qf-fine-print {
	color: color-mix(in srgb, var(--q-ink) 68%, transparent);
	font-size: 13px;
	line-height: 1.45;
}

.qf-table-wrap {
	overflow-x: auto;
	margin-top: 24px;
	border: 1px solid color-mix(in srgb, var(--q-ink) 30%, transparent);
	background: var(--q-cool-white);
	scrollbar-color: var(--q-teal-deep) var(--q-paper);
	scrollbar-width: thin;
}

.qf-table-wrap:focus-visible {
	outline: 3px solid var(--q-orange);
	outline-offset: 3px;
}

.qf-shipping-table,
.qf-amino-table {
	width: 100%;
	border-collapse: collapse;
	color: var(--q-ink);
	font-size: 14px;
	line-height: 1.25;
	text-align: center;
}

.qf-shipping-table {
	min-width: 930px;
}

.qf-amino-table {
	min-width: 360px;
	max-width: 520px;
	text-align: left;
}

.qf-shipping-table th,
.qf-shipping-table td,
.qf-amino-table th,
.qf-amino-table td {
	padding: 10px 9px;
	border-right: 1px solid color-mix(in srgb, var(--q-ink) 18%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--q-ink) 18%, transparent);
}

.qf-shipping-table thead th,
.qf-amino-table thead th {
	background: var(--q-blue-deep);
	color: var(--q-cool-white);
	font-size: 12px;
	font-weight: 800;
	vertical-align: bottom;
}

.qf-shipping-table thead th:first-child,
.qf-shipping-table tbody th {
	position: sticky;
	left: 0;
	text-align: left;
}

.qf-shipping-table thead th:first-child {
	z-index: 2;
}

.qf-shipping-table tbody th {
	z-index: 1;
	min-width: 154px;
	background: var(--q-cool-white);
	font-weight: 800;
}

.qf-shipping-table tbody tr:nth-child(even) th,
.qf-shipping-table tbody tr:nth-child(even) td,
.qf-amino-table tbody tr:nth-child(even) th,
.qf-amino-table tbody tr:nth-child(even) td {
	background: color-mix(in srgb, var(--q-sky) 27%, var(--q-cool-white));
}

.qf-shipping-table small {
	display: block;
	margin-top: 3px;
	font-size: 10px;
	font-weight: 600;
}

.qf-amino-table td {
	text-align: right;
}

.qf-contact {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(360px, 1.08fr);
	gap: clamp(44px, 8vw, 132px);
	align-items: end;
	padding-top: clamp(76px, 9vw, 126px);
	padding-bottom: clamp(76px, 9vw, 126px);
	background: var(--q-teal);
}

.qf-contact > div > p {
	color: color-mix(in srgb, var(--q-ink) 82%, var(--q-teal));
}

.qf-contact h2 {
	max-width: 11ch;
}

.qf-contact-actions {
	display: grid;
	border-top: 1px solid var(--q-ink);
	border-left: 1px solid var(--q-ink);
}

.qf-contact-actions a {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 2px 20px;
	align-items: center;
	min-height: 94px;
	padding: 19px 22px;
	border-right: 1px solid var(--q-ink);
	border-bottom: 1px solid var(--q-ink);
	background: var(--q-cool-white);
	color: var(--q-ink);
	transition: background-color 180ms var(--q-ease-out), color 180ms var(--q-ease-out);
}

.qf-contact-actions a:hover,
.qf-contact-actions a:focus-visible {
	background: var(--q-ink);
	color: var(--q-cool-white);
}

.qf-contact-actions span {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.qf-contact-actions strong {
	font-size: clamp(19px, 2vw, 27px);
	letter-spacing: -0.02em;
}

.qf-contact-actions b {
	grid-row: 1 / span 2;
	grid-column: 2;
}

body.q-faq-page .q-footer a {
	color: var(--q-cool-white);
}

body.q-faq-page .q-footer a:hover,
body.q-faq-page .q-footer a:focus-visible {
	color: #8ed7ce;
}

.q-faq-page a:focus-visible,
.q-faq-page summary:focus-visible {
	outline: 3px solid var(--q-cool-white);
	outline-offset: 2px;
	box-shadow: 0 0 0 5px var(--q-blue-deep);
}

@media (max-width: 860px) {
	body.q-faq-page .q-wordmark,
	body.q-faq-page .q-nav a,
	body.q-faq-page .q-cart-link,
	body.q-faq-page .q-footer-links a {
		min-height: 44px;
	}

	body.q-faq-page .q-wordmark,
	body.q-faq-page .q-footer-links a {
		display: inline-flex;
		align-items: center;
	}
}

@media (max-width: 920px) {
	.qf-hero,
	.qf-section,
	.qf-contact {
		grid-template-columns: minmax(0, 1fr);
	}

	.qf-hero {
		min-height: 0;
		gap: 48px;
		background: var(--q-paper);
	}

	.qf-section,
	.qf-contact {
		gap: 46px;
	}

	.qf-section-heading h2,
	.qf-contact h2 {
		max-width: 13ch;
	}
}

@media (max-width: 620px) {
	.qf-hero,
	.qf-section,
	.qf-contact,
	.qf-dashboard-callout {
		padding-right: 20px;
		padding-left: 20px;
	}

	.qf-hero {
		padding-top: 60px;
		padding-bottom: 62px;
	}

	.qf-hero h1 {
		font-size: clamp(48px, 15vw, 68px);
	}

	.qf-dashboard-callout {
		align-items: flex-start;
		flex-direction: column;
		gap: 14px;
	}

	.qf-dashboard-callout a {
		white-space: normal;
	}

	.qf-section-heading h2,
	.qf-contact h2 {
		font-size: clamp(39px, 12vw, 57px);
	}

	.qf-answers summary {
		gap: 16px;
		padding: 22px 0;
	}

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

	.qf-delivery-grid > div,
	.qf-portions {
		padding: 17px;
	}

	.qf-contact-actions a {
		padding: 18px;
	}

	.qf-contact-actions strong {
		font-size: 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.qf-topic-nav a,
	.qf-contact-actions a,
	.qf-answers summary span::before,
	.qf-answers summary span::after {
		transition: none;
	}
}
