/* ====== EarthWeave — Collections page ====== */

/* Page title */
.page-title {
	font-family: 'Playfair Display', serif;
	font-size: var(--step-1);
	line-height: 1.1;
	margin: 6px auto 10px;
	width: min(1100px, 92vw);
}

/* ===== SECTION 1: The Grounded Edit ===== */
.sec-grounded {
	padding: 56px 0 50px;
	border-top: 1px solid var(--line);
}
.grounded-head .sec-title {
	font-family: 'Playfair Display', serif;
	font-size: var(--step-1);
	margin: 0 0 10px;
}
.grounded-head .sec-lede {
	color: var(--muted);
	font-size: var(--step--1);
	margin: 0 0 18px;
}

.grounded-filter {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 14px;
}
.chip {
	background: transparent;
	color: var(--ink);
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 8px 12px;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.chip:hover {
	transform: translateY(-1px);
}
.chip.is-active {
	border-color: var(--brand);
	background: rgba(198, 165, 114, 0.12);
	color: var(--brand);
}

.grounded-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.g-card {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 12px;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.g-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow);
	border-color: rgba(255, 255, 255, 0.12);
}
.g-card figure {
	margin: 0;
}
.g-card figcaption {
	margin-top: 8px;
	font-weight: 600;
}
.g-card .mini {
	color: var(--muted);
	font-size: 13px;
	margin: 6px 0 0;
}

/* ===== SECTION 2: Fiber Families ===== */
.sec-families {
	padding: 56px 0;
	border-top: 1px solid var(--line);
}
.families-head .sec-title {
	font-family: 'Playfair Display', serif;
	font-size: var(--step-1);
	margin: 0 0 10px;
}
.families-head .sec-lede {
	color: var(--muted);
	font-size: var(--step--1);
	margin: 0 0 18px;
}

.families-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, 1fr);
}
.fam-card {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 12px;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.fam-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow);
	border-color: rgba(255, 255, 255, 0.12);
}
.fam-card figure {
	margin: 0;
}
.fam-card figcaption {
	margin-top: 8px;
	font-weight: 600;
}
.fam-card p {
	color: var(--muted);
	font-size: 14px;
	margin: 8px 0 0;
}

@media (max-width: 1024px) {
	.families-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 640px) {
	.families-grid {
		grid-template-columns: 1fr;
	}
}

/* ===== SECTION 3: Pile & Weave Compare ===== */
.sec-compare {
	padding: 56px 0;
	border-top: 1px solid var(--line);
}
.compare-head .sec-title {
	font-family: 'Playfair Display', serif;
	font-size: var(--step-1);
	margin: 0 0 10px;
}
.compare-head .sec-lede {
	color: var(--muted);
	font-size: var(--step--1);
	margin: 0 0 18px;
}

.compare-stage {
	position: relative;
	max-width: 350px;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 12px;
	overflow: hidden;
}
.compare-stage .cmp-base {
	border-radius: 12px;
}
.cmp-overlay {
	position: absolute;
	inset: 12px;
	overflow: hidden;
	border-radius: 12px;
	pointer-events: none;
	width: 50%;
}
.cmp-overlay img {
	width: 100%;
	height: auto;
	display: block;
	max-width: none;
}
.cmp-range {
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 12px;
	appearance: none;
	height: 6px;
	border-radius: 999px;
	outline: none;
	cursor: pointer;
	background: linear-gradient(
		90deg,
		rgba(198, 165, 114, 0.6),
		rgba(198, 165, 114, 0.2)
	);
	border: 1px solid var(--line);
}
.cmp-range::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--brand);
	border: 0;
	box-shadow: 0 6px 18px rgba(198, 165, 114, 0.35);
}
.cmp-range::-moz-range-thumb {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--brand);
	border: 0;
	box-shadow: 0 6px 18px rgba(198, 165, 114, 0.35);
}

.compare-notes {
	display: grid;
	gap: 16px;
	grid-template-columns: 1fr 1fr;
	margin-top: 12px;
}
.note-thumb {
	margin: 0;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 12px;
}
.note-thumb figcaption {
	color: var(--muted);
	font-size: 12px;
	margin-top: 6px;
}

@media (max-width: 820px) {
	.compare-notes {
		grid-template-columns: 1fr;
	}
}
/* ===== SECTION 4: Pattern Library ===== */
.sec-patternlib {
	padding: 56px 0;
	border-top: 1px solid var(--line);
}
.patlib-head .sec-title {
	font-family: 'Playfair Display', serif;
	font-size: var(--step-1);
	margin: 0 0 10px;
}
.patlib-head .sec-lede {
	color: var(--muted);
	font-size: var(--step--1);
	margin: 0 0 18px;
}

.patlib-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.pat-card {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 12px;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.pat-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow);
	border-color: rgba(255, 255, 255, 0.12);
}
.pat-card figure {
	margin: 0;
}
.pat-card figcaption {
	margin-top: 8px;
	font-weight: 600;
}
.pat-card .mini {
	color: var(--muted);
	font-size: 13px;
	margin: 6px 0 0;
}

/* ===== SECTION 5: Room Bundles ===== */
.sec-bundles {
	padding: 56px 0;
	border-top: 1px solid var(--line);
}
.bundles-head .sec-title {
	font-family: 'Playfair Display', serif;
	font-size: var(--step-1);
	margin: 0 0 10px;
}
.bundles-head .sec-lede {
	color: var(--muted);
	font-size: var(--step--1);
	margin: 0 0 18px;
}

.bundles-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(4, 1fr);
}
.bundle-card {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 12px;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.bundle-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow);
	border-color: rgba(255, 255, 255, 0.12);
}
.bundle-card figure {
	margin: 0;
}
.bundle-card figcaption {
	margin-top: 8px;
	font-weight: 600;
}
.bundle-card .mini {
	color: var(--muted);
	font-size: 13px;
	margin: 6px 0 0;
}
.bundle-card ul {
	margin: 8px 0 0;
	padding-left: 18px;
	color: var(--muted);
}

@media (max-width: 1100px) {
	.bundles-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 640px) {
	.bundles-grid {
		grid-template-columns: 1fr;
	}
}

/* ===== SECTION 6: Quick Picks ===== */
.sec-quickpicks {
	padding: 56px 0;
	border-top: 1px solid var(--line);
}
.quick-head .sec-title {
	font-family: 'Playfair Display', serif;
	font-size: var(--step-1);
	margin: 0 0 10px;
}
.quick-head .sec-lede {
	color: var(--muted);
	font-size: var(--step--1);
	margin: 0 0 18px;
}

.quick-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, 1fr);
}
.quick-card {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 12px;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.quick-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow);
	border-color: rgba(255, 255, 255, 0.12);
}
.quick-card figure {
	margin: 0;
}
.quick-card figcaption {
	margin-top: 8px;
	font-weight: 600;
}
.quick-card .mini {
	color: var(--muted);
	font-size: 13px;
	margin: 6px 0 0;
}

@media (max-width: 980px) {
	.quick-grid {
		grid-template-columns: 1fr;
	}
}
/* ===== SECTION 7: Texture Stories ===== */
.sec-texture {
	padding: 56px 0;
	border-top: 1px solid var(--line);
}
.texture-head .sec-title {
	font-family: 'Playfair Display', serif;
	font-size: var(--step-1);
	margin: 0 0 10px;
}
.texture-head .sec-lede {
	color: var(--muted);
	font-size: var(--step--1);
	margin: 0 0 18px;
}

.texture-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.tx-card {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 10px;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.tx-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow);
	border-color: rgba(255, 255, 255, 0.12);
}
.tx-fig {
	position: relative;
	margin: 0;
}
.tx-cap {
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: 10px;
	background: rgba(0, 0, 0, 0.45);
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 8px 10px;
	font-size: 12px;
	backdrop-filter: blur(2px);
}

/* ===== SECTION 8: Climate & Care Notes ===== */
.sec-climate {
	padding: 56px 0;
	border-top: 1px solid var(--line);
}
.climate-head .sec-title {
	font-family: 'Playfair Display', serif;
	font-size: var(--step-1);
	margin: 0 0 10px;
}
.climate-head .sec-lede {
	color: var(--muted);
	font-size: var(--step--1);
	margin: 0 0 18px;
}

.climate-grid {
	display: grid;
	gap: 20px;
	align-items: start;
	grid-template-columns: 1.3fr 0.7fr;
}
.climate-text h3 {
	margin: 10px 0 6px;
	color: var(--ink);
}
.climate-text p,
.climate-text ul {
	color: var(--muted);
	font-size: 14px;
}
.climate-text ul {
	padding-left: 18px;
}
.climate-text details {
	margin-top: 10px;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 14px;
	padding: 10px 12px;
}
.climate-text summary {
	cursor: pointer;
}
.climate-text summary::-webkit-details-marker {
	display: none;
}
.climate-text summary::after {
	content: '▸';
	margin-left: 6px;
	color: var(--brand);
}
.climate-text details[open] summary::after {
	content: '▾';
}

.climate-art {
	margin: 0;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 12px;
}
.climate-art figcaption {
	color: var(--muted);
	font-size: 12px;
	margin-top: 6px;
}

@media (max-width: 1024px) {
	.climate-grid {
		grid-template-columns: 1fr;
	}
}

/* ===== SECTION 9: Plank Finishes ===== */
.sec-finishes {
	padding: 56px 0;
	border-top: 1px solid var(--line);
}
.finishes-head .sec-title {
	font-family: 'Playfair Display', serif;
	font-size: var(--step-1);
	margin: 0 0 10px;
}
.finishes-head .sec-lede {
	color: var(--muted);
	font-size: var(--step--1);
	margin: 0 0 18px;
}

.finishes-grid {
	display: grid;
	gap: 16px;
	align-items: start;
	grid-template-columns: 1fr 1fr auto;
}
.finish-card {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 12px;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.finish-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow);
	border-color: rgba(255, 255, 255, 0.12);
}
.finish-card figure {
	margin: 0;
}
.finish-card figcaption {
	margin-top: 8px;
	font-weight: 600;
}
.finish-card .mini {
	color: var(--muted);
	font-size: 13px;
	margin: 6px 0 0;
}

.finish-swatches {
	display: flex;
	gap: 10px;
	align-self: center;
}
.finish-swatches .sw {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 1px solid var(--line);
	box-shadow: inset 0 8px 22px rgba(0, 0, 0, 0.25);
}
.s-oak {
	background: linear-gradient(180deg, #a8824e, #5e4a2b);
}
.s-teak {
	background: linear-gradient(180deg, #9b6a3b, #4f2e18);
}
.s-walnut {
	background: linear-gradient(180deg, #8a5e3d, #3a2416);
}

@media (max-width: 980px) {
	.finishes-grid {
		grid-template-columns: 1fr;
	}
	.finish-swatches {
		justify-content: flex-start;
	}
}
/* ===== SECTION 10: Runner Routes ===== */
.sec-routes {
	padding: 56px 0;
	border-top: 1px solid var(--line);
}
.routes-head .sec-title {
	font-family: 'Playfair Display', serif;
	font-size: var(--step-1);
	margin: 0 0 10px;
}
.routes-head .sec-lede {
	color: var(--muted);
	font-size: var(--step--1);
	margin: 0 0 18px;
}

.routes-grid {
	display: grid;
	gap: 16px;
	align-items: start;
	grid-template-columns: 1.1fr 0.9fr;
}
.routes-map {
	position: relative;
	margin: 0;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 12px;
}
.routes-map figcaption {
	color: var(--muted);
	font-size: 12px;
	margin-top: 6px;
}
.routes-map img {
	border-radius: 12px;
}

/* route dots & trace */
.dot {
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--brand);
	box-shadow: 0 6px 18px rgba(198, 165, 114, 0.35);
}
.d1 {
	left: 20%;
	top: 72%;
}
.d2 {
	left: 48%;
	top: 52%;
}
.d3 {
	left: 76%;
	top: 26%;
}
.trace {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
	background: radial-gradient(
			8px 8px at 20% 72%,
			rgba(198, 165, 114, 0.7),
			transparent 60%
		),
		radial-gradient(
			8px 8px at 48% 52%,
			rgba(198, 165, 114, 0.7),
			transparent 60%
		),
		radial-gradient(
			8px 8px at 76% 26%,
			rgba(198, 165, 114, 0.7),
			transparent 60%
		),
		repeating-linear-gradient(
			45deg,
			transparent 0 6px,
			rgba(198, 165, 114, 0.07) 6px 12px
		);
	mask: radial-gradient(8px 8px at 20% 72%, #000 60%, transparent 61%),
		radial-gradient(8px 8px at 48% 52%, #000 60%, transparent 61%),
		radial-gradient(8px 8px at 76% 26%, #000 60%, transparent 61%),
		linear-gradient(#000, #000);
	animation: routepulse 3.6s ease-in-out infinite;
}
@keyframes routepulse {
	0%,
	100% {
		opacity: 0.7;
	}
	50% {
		opacity: 1;
	}
}

.routes-notes {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}
.r-note {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 12px;
	color: var(--muted);
}
.r-note strong {
	color: var(--ink);
}

@media (max-width: 1024px) {
	.routes-grid {
		grid-template-columns: 1fr;
	}
}

/* ===== SECTION 11: Dye Studio ===== */
.sec-dyestudio {
	padding: 56px 0;
	border-top: 1px solid var(--line);
}
.dye-head .sec-title {
	font-family: 'Playfair Display', serif;
	font-size: var(--step-1);
	margin: 0 0 10px;
}
.dye-head .sec-lede {
	color: var(--muted);
	font-size: var(--step--1);
	margin: 0 0 18px;
}

.dye-grid {
	display: grid;
	gap: 16px;
	align-items: start;
	grid-template-columns: 1fr 1fr;
}
.dye-art {
	margin: 0;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 12px;
}
.dye-art figcaption {
	color: var(--muted);
	font-size: 12px;
	margin-top: 6px;
}

.dye-swatches {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(3, 1fr);
	align-content: start;
}
.dye-swatches .sw {
	height: 54px;
	border-radius: 12px;
	border: 1px solid var(--line);
	box-shadow: inset 0 8px 22px rgba(0, 0, 0, 0.25);
}
.sw-sand {
	background: linear-gradient(180deg, #d7c6a4, #6c5a3d);
}
.sw-sage {
	background: linear-gradient(180deg, #8da18e, #3f4a42);
}
.sw-graphite {
	background: linear-gradient(180deg, #7c7f84, #2a2c30);
}
.sw-ivory {
	background: linear-gradient(180deg, #e6e3d6, #6b675b);
}
.sw-clay {
	background: linear-gradient(180deg, #c2a287, #5a4336);
}
.sw-slate {
	background: linear-gradient(180deg, #9ba4ad, #3f4850);
}

.dye-copy {
	grid-column: 1 / -1;
	color: var(--muted);
	font-size: 14px;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 12px;
}

@media (max-width: 1024px) {
	.dye-grid {
		grid-template-columns: 1fr;
	}
}

/* ===== SECTION 12: Customer Spaces ===== */
.sec-spaces {
	padding: 56px 0;
	border-top: 1px solid var(--line);
}
.spaces-head .sec-title {
	font-family: 'Playfair Display', serif;
	font-size: var(--step-1);
	margin: 0 0 10px;
}
.spaces-head .sec-lede {
	color: var(--muted);
	font-size: var(--step--1);
	margin: 0 0 18px;
}

.spaces-strip {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(260px, 300px);
	gap: 16px;
	overflow-x: auto;
	padding: 8px 6vw;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	border-block: 1px dashed var(--line);
	mask-image: linear-gradient(
		90deg,
		transparent,
		#000 6%,
		#000 94%,
		transparent
	);
}
.space-card {
	scroll-snap-align: start;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 12px;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.space-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow);
	border-color: rgba(255, 255, 255, 0.12);
}
.space-card figure {
	margin: 0;
}
.space-card figcaption {
	color: var(--muted);
	font-size: 12px;
	margin-top: 6px;
}
/* ===== SECTION 13: Weaver’s Notes ===== */
.sec-notes {
	padding: 56px 0;
	border-top: 1px solid var(--line);
}
.notes-head .sec-title {
	font-family: 'Playfair Display', serif;
	font-size: var(--step-1);
	margin: 0 0 10px;
}
.notes-head .sec-lede {
	color: var(--muted);
	font-size: var(--step--1);
	margin: 0 0 18px;
}

.notes-grid {
	display: grid;
	gap: 16px;
	align-items: start;
	grid-template-columns: 1fr 1.2fr;
}
.notes-art {
	margin: 0;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 12px;
}
.notes-art figcaption {
	color: var(--muted);
	font-size: 12px;
	margin-top: 6px;
}
.notes-accordion {
	display: grid;
	gap: 12px;
}

.note {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 12px 14px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.note[open] {
	border-color: rgba(198, 165, 114, 0.45);
	box-shadow: 0 8px 22px rgba(198, 165, 114, 0.12);
	transform: translateY(-1px);
}
.note summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--ink);
}
.note p {
	color: var(--muted);
	margin: 8px 0 0;
	font-size: 14px;
}

@media (max-width: 1024px) {
	.notes-grid {
		grid-template-columns: 1fr;
	}
}

/* ===== SECTION 14: Installation Playbook ===== */
.sec-install {
	padding: 56px 0;
	border-top: 1px solid var(--line);
}
.install-head .sec-title {
	font-family: 'Playfair Display', serif;
	font-size: var(--step-1);
	margin: 0 0 10px;
}
.install-head .sec-lede {
	color: var(--muted);
	font-size: var(--step--1);
	margin: 0 0 18px;
}

.install-grid {
	display: grid;
	gap: 16px;
	align-items: start;
	grid-template-columns: 1fr 1fr 0.7fr;
}
.install-steps {
	counter-reset: step;
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}
.install-steps li {
	position: relative;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 12px 12px 12px 44px;
	color: var(--muted);
}
.install-steps li::before {
	counter-increment: step;
	content: counter(step);
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--brand);
	color: #111;
	font-weight: 700;
	box-shadow: 0 6px 18px rgba(198, 165, 114, 0.35);
}
.install-steps strong {
	color: var(--ink);
}

.install-art {
	margin: 0;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 12px;
}
.install-art figcaption {
	color: var(--muted);
	font-size: 12px;
	margin-top: 6px;
}

.install-check {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 12px;
}
.install-check h3 {
	margin: 0 0 6px;
	font-size: var(--step-0);
}
.install-check ul {
	margin: 0;
	padding-left: 18px;
	color: var(--muted);
}

@media (max-width: 1100px) {
	.install-grid {
		grid-template-columns: 1fr;
	}
}

/* ===== SECTION 15: FAQ ===== */
.sec-faq {
	padding: 56px 0;
	border-top: 1px solid var(--line);
}
.faq-head .sec-title {
	font-family: 'Playfair Display', serif;
	font-size: var(--step-1);
	margin: 0 0 10px;
}
.faq-head .sec-lede {
	color: var(--muted);
	font-size: var(--step--1);
	margin: 0 0 18px;
}

.faq-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: 1.1fr 0.9fr;
	align-items: start;
}
.faq-list {
	display: grid;
	gap: 12px;
}
.faq-item {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 12px 14px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.faq-item[open] {
	border-color: rgba(198, 165, 114, 0.45);
	box-shadow: 0 8px 22px rgba(198, 165, 114, 0.12);
	transform: translateY(-1px);
}
.faq-item summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--ink);
}
.faq-item p {
	color: var(--muted);
	margin: 8px 0 0;
	font-size: 14px;
}

.faq-art {
	margin: 0;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 12px;
}
.faq-art figcaption {
	color: var(--muted);
	font-size: 12px;
	margin-top: 6px;
}

@media (max-width: 1024px) {
	.faq-grid {
		grid-template-columns: 1fr;
	}
}
/* ===== SECTION 16: Trade & Hospitality ===== */
.sec-trade {
	padding: 56px 0;
	border-top: 1px solid var(--line);
}
.trade-head .sec-title {
	font-family: 'Playfair Display', serif;
	font-size: var(--step-1);
	margin: 0 0 10px;
}
.trade-head .sec-lede {
	color: var(--muted);
	font-size: var(--step--1);
	margin: 0 0 18px;
}

.trade-grid {
	display: grid;
	gap: 16px;
	align-items: start;
	grid-template-columns: 1fr 1.2fr;
}
.trade-art {
	margin: 0;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 12px;
}
.trade-art figcaption {
	color: var(--muted);
	font-size: 12px;
	margin-top: 6px;
}

.trade-notes {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 14px;
	display: grid;
	gap: 12px;
}
.tick-list {
	margin: 0;
	padding-left: 18px;
	color: var(--muted);
}
.tick-list li {
	margin: 4px 0;
}
.tick-list strong {
	color: var(--ink);
}

.pill-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.pill-stats span {
	display: inline-block;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 12px;
	border: 1px solid var(--line);
	background: rgba(255, 255, 255, 0.03);
}

.brand-row {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}
.brand-row .b {
	display: inline-grid;
	place-items: center;
	height: 32px;
	min-width: 64px;
	padding: 0 10px;
	border-radius: 999px;
	border: 1px dashed var(--line);
	font-size: 12px;
	color: var(--muted);
	background: linear-gradient(180deg, #171a17, #111311);
}
.b1 {
	border-style: solid;
}
.b3 {
	opacity: 0.9;
}

@media (max-width: 1024px) {
	.trade-grid {
		grid-template-columns: 1fr;
	}
}

/* ===== SECTION 17: Journal Teasers ===== */
.sec-journal {
	padding: 56px 0;
	border-top: 1px solid var(--line);
}
.journal-head .sec-title {
	font-family: 'Playfair Display', serif;
	font-size: var(--step-1);
	margin: 0 0 10px;
}
.journal-head .sec-lede {
	color: var(--muted);
	font-size: var(--step--1);
	margin: 0 0 18px;
}

.journal-grid {
	display: grid;
	gap: 16px;
	align-items: start;
	grid-template-columns: 1fr 1fr 0.9fr;
}
.j-card {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 14px;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.j-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow);
	border-color: rgba(255, 255, 255, 0.12);
}
.j-card h3 {
	margin: 0 0 6px;
	font-size: var(--step-0);
}
.j-card p {
	margin: 0 0 10px;
	color: var(--muted);
	font-size: 14px;
}

.journal-art {
	margin: 0;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 12px;
}
.journal-art figcaption {
	color: var(--muted);
	font-size: 12px;
	margin-top: 6px;
}

@media (max-width: 1100px) {
	.journal-grid {
		grid-template-columns: 1fr;
	}
}
