/*
 * Store components, one file for the parts of four areas (inc/assets.php,
 * hdc_component_style_bundles()): product/* (card, grid, page, title, buy,
 * actions, gallery, specs, models, documents, related, compare), category/*
 * (header, children, toolbar, guide), landing/* (hero) and ui/* (faq,
 * jump-nav, call-band). Loaded the first time any of them renders, so a store
 * page carries base.css, site.css, this file and at most forms.css (budget:
 * 4 CSS files, ADR 0009). Look: hairlines and type, square-ish corners, one
 * accent, no shadows. --mute text only on white.
 */
@layer components {
	/* Shared bits: section headings, small buttons, WooCommerce notices. */
	.hdc-category-children__title,
	.hdc-category-products__title,
	.hdc-category-guide__faq > h2,
	.hdc-product-page__heading,
	.hdc-product-related__title,
	.hdc-search-section > h2 {
		font-size: var(--text-lg);
	}

	@media (min-width: 40rem) {
		.hdc-product-page__heading,
		.hdc-product-related__title {
			font-size: var(--text-xl);
		}
	}

	.hdc-button--small {
		padding-inline: var(--space-3);
		font-size: var(--text-sm);
		white-space: nowrap;
	}

	.woocommerce-notices-wrapper:not(:empty) {
		margin-block: var(--space-4);
	}

	:is(.woocommerce-error, .woocommerce-message, .woocommerce-info) {
		margin: 0;
		padding: var(--space-3) var(--space-4);
		border: 1px solid var(--line);
		border-inline-start: 3px solid var(--accent);
		color: var(--ink);
		list-style: none;
	}

	.woocommerce-error {
		border-inline-start-color: var(--error);
	}

	:is(.woocommerce-message, .woocommerce-info) .button {
		margin-inline-start: var(--space-3);
		font-weight: 650;
	}

	/* Product grid and card (parts/product/grid.php, card.php). */
	.hdc-product-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--space-6) var(--space-4);
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.hdc-product-grid__item {
		display: flex;
	}

	.hdc-product-card {
		position: relative;
		display: flex;
		flex-direction: column;
		gap: var(--space-3);
		width: 100%;
	}

	.hdc-product-card__media {
		display: grid;
		place-items: center;
		aspect-ratio: 1;
		padding: var(--space-3);
		border-radius: var(--radius-media);
		background: var(--panel);
	}

	.hdc-product-card__media img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	.hdc-product-card__body {
		display: grid;
		gap: var(--space-1);
		align-content: start;
	}

	.hdc-product-card__brand,
	.hdc-product-card__stock {
		color: var(--mute);
		font-size: var(--text-sm);
	}

	.hdc-product-card__name {
		font-size: var(--text-base);
		line-height: 1.3;
	}

	.hdc-product-card__name a {
		--link: var(--ink);
		--link-hover: var(--ink);
		--link-line: none;
		--link-hover-line: underline;
	}

	/* One link per card, stretched over the whole card. */
	.hdc-product-card__name a::after {
		content: "";
		position: absolute;
		inset: 0;
	}

	@supports selector(:has(a)) {
		.hdc-product-card__name a:focus-visible {
			outline: none;
		}

		.hdc-product-card:has(a:focus-visible) {
			outline: var(--focus-ring);
			outline-offset: var(--focus-offset);
		}
	}

	.hdc-product-card__facts {
		display: grid;
		gap: 0.125rem;
		font-size: var(--text-sm);
	}

	.hdc-product-card__facts div {
		display: flex;
		flex-wrap: wrap;
		gap: 0 var(--space-2);
	}

	.hdc-product-card__facts dt {
		color: var(--mute);
	}

	.hdc-product-card__facts dd {
		margin: 0;
		color: var(--ink);
		font-weight: 600;
	}

	.hdc-product-card__price {
		margin-top: var(--space-1);
		color: var(--ink);
		font-weight: 650;
		font-variant-numeric: tabular-nums;
	}

	@media (min-width: 40rem) {
		.hdc-product-grid {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}

		.hdc-product-card__name {
			font-size: var(--text-md);
		}
	}

	@media (min-width: 64rem) {
		.hdc-product-grid {
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: var(--space-7) var(--space-5);
		}
	}

	/* Product lists (woocommerce/archive-product.php and parts/category/*). */
	.hdc-category-header {
		margin-bottom: var(--space-6);
	}

	.hdc-category-header__intro {
		max-width: 65ch;
		margin-top: var(--space-3);
		font-size: var(--text-md);
	}

	.hdc-category-header__intro > * + *,
	.hdc-category-guide__prose > * + *,
	.hdc-product-page__prose > * + *,
	.hdc-ui-faq__a > * + * {
		margin-top: 0.75em;
	}

	.hdc-category-children {
		margin-block: var(--space-6) var(--space-7);
	}

	.hdc-category-children__title {
		margin-bottom: var(--space-3);
	}

	.hdc-category-children__list {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr));
		column-gap: var(--space-6);
		margin: 0;
		padding: 0;
		border-top: 1px solid var(--line);
		list-style: none;
	}

	.hdc-category-children__tile {
		--link: var(--ink);
		--link-hover: var(--ink);
		--link-line: none;
		--link-hover-line: underline;
		display: flex;
		align-items: center;
		gap: var(--space-3);
		min-height: 3.5rem;
		height: 100%;
		padding-block: var(--space-2);
		border-bottom: 1px solid var(--line);
	}

	.hdc-category-children__media {
		flex: none;
		width: 3.5rem;
		aspect-ratio: 1;
		padding: var(--space-1);
		border-radius: var(--radius-media);
		background: var(--panel);
	}

	.hdc-category-children__media img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	.hdc-category-children__text {
		display: grid;
	}

	.hdc-category-children__name {
		font-weight: 650;
	}

	.hdc-category-children__count {
		color: var(--mute);
		font-size: var(--text-sm);
	}

	.hdc-category-products__head {
		display: flex;
		flex-wrap: wrap;
		align-items: end;
		justify-content: space-between;
		gap: var(--space-3) var(--space-5);
		margin-bottom: var(--space-5);
		padding-bottom: var(--space-3);
		border-bottom: 1px solid var(--line);
	}

	.hdc-category-toolbar,
	.hdc-category-toolbar__sort {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: var(--space-2) var(--space-4);
	}

	.hdc-category-toolbar__sort {
		gap: var(--space-2);
	}

	.hdc-category-toolbar__count,
	.hdc-category-toolbar__sort label {
		color: var(--mute);
		font-size: var(--text-sm);
		font-weight: 400;
	}

	.hdc-category-toolbar__sort select {
		width: auto;
	}

	.hdc-category-guide {
		display: grid;
		gap: var(--space-7);
		margin-top: var(--space-8);
		padding-top: var(--space-7);
		border-top: 1px solid var(--line);
	}

	.hdc-category-guide__prose {
		max-width: var(--prose);
	}

	.hdc-category-guide__prose :is(h2, h3) {
		margin-top: 1.5em;
	}

	.hdc-category-guide__prose :is(ul, ol),
	.hdc-ui-faq__a :is(ul, ol),
	.hdc-product-page__prose :is(ul, ol) {
		padding-inline-start: 1.25em;
	}

	.hdc-category-guide__faq {
		max-width: 55rem;
	}

	.hdc-category-guide__faq > h2 {
		margin-bottom: var(--space-4);
	}

	.hdc-search-section {
		margin-top: var(--space-7);
	}

	.hdc-search-section > h2 {
		margin-bottom: var(--space-4);
	}

	/* Questions (parts/ui/faq.php). */
	.hdc-ui-faq {
		max-width: 55rem;
		border-top: 1px solid var(--line);
	}

	.hdc-ui-faq__item {
		padding-block: var(--space-5);
		border-bottom: 1px solid var(--line);
	}

	.hdc-ui-faq__q {
		font-size: var(--text-md);
	}

	.hdc-ui-faq__a {
		max-width: 65ch;
		margin-top: var(--space-2);
	}

	/* Product page layout (parts/product/page.php). */
	.hdc-product-page__top {
		display: grid;
		gap: var(--space-5);
		padding-block: var(--space-5) var(--space-7);
	}

	.hdc-product-page__body {
		padding-bottom: var(--section);
	}

	.hdc-product-page__section {
		padding-block: var(--space-7);
		border-bottom: 1px solid var(--line);
		scroll-margin-top: var(--space-4);
	}

	.hdc-product-page__heading {
		margin-bottom: var(--space-5);
	}

	.hdc-product-page__prose {
		max-width: var(--prose);
	}

	.hdc-product-page__quote {
		display: grid;
		gap: var(--space-6);
	}

	.hdc-product-page__quote-intro {
		display: grid;
		gap: var(--space-3);
		align-content: start;
		justify-items: start;
	}

	.hdc-product-page__quote-intro .hdc-product-page__heading {
		margin-bottom: 0;
	}

	@media (min-width: 64rem) {
		.hdc-product-page__top {
			grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
			grid-template-rows: auto 1fr;
			gap: var(--space-5) var(--space-7);
			padding-top: var(--space-6);
		}

		.hdc-product-page__media {
			grid-column: 1;
			grid-row: 1 / span 2;
		}

		.hdc-product-page__title {
			grid-column: 2;
			grid-row: 1;
		}

		.hdc-product-page__buy {
			grid-column: 2;
			grid-row: 2;
		}

		.hdc-product-page__quote {
			grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
			gap: var(--space-8);
			align-items: start;
		}
	}

	/* Title and buy box (parts/product/title.php, buy.php, actions.php). */
	.hdc-product-title__brand {
		margin-bottom: var(--space-2);
		font-weight: 650;
	}

	.hdc-product-title__brand a {
		--link: var(--body);
		--link-line: none;
		--link-hover-line: underline;
		display: inline-block;
		padding-block: var(--space-1);
	}

	.hdc-product-title__name {
		font-size: var(--text-xl);
		font-weight: 800;
		line-height: 1.1;
		letter-spacing: -0.02em;
	}

	.hdc-product-title__sku {
		margin-top: var(--space-2);
		color: var(--mute);
		font-size: var(--text-sm);
	}

	@media (min-width: 40rem) {
		.hdc-product-title__name {
			font-size: var(--text-2xl);
		}
	}

	.hdc-product-buy {
		display: grid;
		gap: var(--space-4);
		align-content: start;
	}

	.hdc-product-buy__price {
		padding-top: var(--space-4);
		border-top: 1px solid var(--line);
		color: var(--ink);
		font-size: var(--text-lg);
		font-weight: 750;
		font-variant-numeric: tabular-nums;
	}

	.hdc-product-buy__stock {
		display: flex;
		flex-wrap: wrap;
		gap: 0 var(--space-3);
		color: var(--ink);
		font-weight: 650;
	}

	.hdc-product-buy__stock--in_stock {
		color: var(--success);
	}

	.hdc-product-buy__lead {
		color: var(--body);
		font-weight: 400;
	}

	.hdc-product-buy__highlights {
		display: grid;
		gap: var(--space-2);
		margin: 0;
		padding: var(--space-4) 0 0;
		border-top: 1px solid var(--line);
		list-style: none;
	}

	.hdc-product-buy__highlights li {
		position: relative;
		padding-inline-start: var(--space-5);
		color: var(--ink);
	}

	.hdc-product-buy__highlights li::before {
		content: "";
		position: absolute;
		top: 0.6em;
		left: 0.25rem;
		width: 0.375rem;
		height: 0.375rem;
		border-radius: 1px;
		background: var(--mute);
	}

	.hdc-product-actions {
		display: grid;
		gap: var(--space-3);
		padding-top: var(--space-2);
	}

	.hdc-product-actions > .hdc-button,
	.hdc-product-actions > .hdc-site-call,
	.hdc-product-actions__cart .hdc-button {
		min-height: 3.25rem;
	}

	.hdc-product-actions__cart {
		display: flex;
		flex-wrap: wrap;
		align-items: end;
		gap: var(--space-2) var(--space-3);
	}

	.hdc-product-actions__qty-label {
		flex-basis: 100%;
		font-size: var(--text-sm);
	}

	.hdc-product-actions__qty {
		width: 6rem;
	}

	.hdc-product-actions__cart .hdc-button {
		flex: 1;
	}

	@media (min-width: 40rem) {
		.hdc-product-actions {
			display: flex;
			flex-wrap: wrap;
			align-items: end;
		}
	}

	/* Gallery (parts/product/gallery.php). */
	.hdc-product-gallery {
		display: grid;
		gap: var(--space-3);
	}

	.hdc-product-gallery--empty {
		aspect-ratio: 1;
		border-radius: var(--radius-media);
		background: var(--panel);
	}

	.hdc-product-gallery__viewport {
		position: relative;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
	}

	.hdc-product-gallery__track {
		display: flex;
		gap: var(--space-2);
		margin: 0;
		padding: 0;
		list-style: none;
	}

	/* Phones see the edge of the next photo, so the row reads as a row. */
	.hdc-product-gallery__slide {
		flex: 0 0 88%;
		aspect-ratio: 1;
		border-radius: var(--radius-media);
		background: var(--panel);
		scroll-snap-align: start;
	}

	.hdc-product-gallery__slide:only-child {
		flex-basis: 100%;
	}

	.hdc-product-gallery__open {
		display: block;
		width: 100%;
		height: 100%;
		padding: var(--space-4);
		cursor: zoom-in;
	}

	.hdc-product-gallery__open img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	.hdc-product-gallery__controls {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: var(--space-3);
	}

	/* Space kept before gallery.js runs, so the buy box below never shifts. */
	.hdc-product-gallery:not(.is-ready) .hdc-product-gallery__controls {
		visibility: hidden;
	}

	.hdc-product-gallery__step {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: var(--target);
		height: var(--target);
		border: 1px solid var(--control);
		border-radius: var(--radius);
		background: var(--white);
		color: var(--ink);
	}

	.hdc-product-gallery__step:hover:not([aria-disabled="true"]) {
		border-color: var(--ink);
	}

	.hdc-product-gallery__step[aria-disabled="true"] {
		color: var(--control);
		cursor: default;
	}

	.hdc-product-gallery__count {
		font-size: var(--text-sm);
		font-variant-numeric: tabular-nums;
	}

	.hdc-product-gallery__thumbs {
		display: none;
	}

	.hdc-product-gallery__thumb {
		display: block;
		width: 4.5rem;
		aspect-ratio: 1;
		padding: var(--space-1);
		border: 2px solid var(--panel);
		border-radius: var(--radius);
		background: var(--panel);
	}

	.hdc-product-gallery__thumb[aria-current="true"] {
		border-color: var(--ink);
	}

	.hdc-product-gallery__thumb img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	.hdc-product-gallery__dialog {
		width: min(100% - 2rem, 75rem);
		max-width: none;
		max-height: calc(100dvh - 2rem);
		padding: var(--space-7) var(--space-4) var(--space-4);
		border: 0;
		border-radius: var(--radius-media);
		background: var(--white);
	}

	.hdc-product-gallery__dialog::backdrop {
		background: var(--scrim);
	}

	.hdc-product-gallery__close {
		position: absolute;
		top: var(--space-1);
		right: var(--space-1);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: var(--target);
		height: var(--target);
		color: var(--ink);
	}

	.hdc-product-gallery__large img {
		width: 100%;
		max-height: calc(100dvh - 7rem);
		object-fit: contain;
	}

	@media (min-width: 64rem) {
		.hdc-product-gallery__slide {
			flex-basis: 100%;
			aspect-ratio: 5 / 4;
		}

		.hdc-product-gallery__thumbs {
			display: flex;
			flex-wrap: wrap;
			gap: var(--space-2);
			margin: 0;
			padding: 0;
			list-style: none;
		}
	}

	/* Jump nav (parts/ui/jump-nav.php). */
	.hdc-ui-jump-nav {
		border-block: 1px solid var(--line);
	}

	.hdc-ui-jump-nav__list {
		display: flex;
		gap: var(--space-5);
		margin-block: 0;
		overflow-x: auto;
		list-style: none;
		scrollbar-width: none;
	}

	.hdc-ui-jump-nav__list a {
		--link: var(--ink);
		--link-line: none;
		--link-hover-line: underline;
		display: inline-flex;
		align-items: center;
		min-height: var(--target);
		font-weight: 650;
		white-space: nowrap;
	}

	/* Specifications (parts/product/specs.php). */
	.hdc-product-specs {
		max-width: var(--prose);
		font-variant-numeric: tabular-nums;
	}

	.hdc-product-specs :is(th, td) {
		padding-inline: 0;
	}

	.hdc-product-specs tr:last-child > * {
		border-bottom: 1px solid var(--line);
	}

	.hdc-product-specs th {
		width: 45%;
		padding-inline-end: var(--space-4);
		color: var(--body);
		font-weight: 400;
	}

	.hdc-product-specs td {
		color: var(--ink);
		font-weight: 650;
	}

	/* Models table (parts/product/models.php). */
	.hdc-product-models {
		overflow-x: auto;
	}

	.hdc-product-models__table {
		min-width: 40rem;
		font-variant-numeric: tabular-nums;
	}

	.hdc-product-models__table :is(th, td) {
		padding: var(--space-2) var(--space-4) var(--space-2) 0;
		vertical-align: middle;
		white-space: nowrap;
	}

	.hdc-product-models__table thead :is(th, td) {
		border-top: 0;
		color: var(--body);
		font-size: var(--text-sm);
		vertical-align: bottom;
	}

	.hdc-product-models__table tbody tr:last-child > * {
		border-bottom: 1px solid var(--line);
	}

	/* The model number stays in view while the table scrolls sideways on phones. */
	.hdc-product-models__table :is(thead, tbody) th:first-child {
		position: sticky;
		left: 0;
		z-index: 1;
		background: var(--white);
	}

	.hdc-product-models__table tbody tr:target > * {
		background: var(--panel);
	}

	.hdc-product-models__ask {
		color: var(--body);
		font-size: var(--text-sm);
	}

	/* Text at the bottom, in line with the other header labels; the 48px target grows upward. */
	.hdc-product-models__sort {
		display: inline-flex;
		align-items: flex-end;
		gap: var(--space-1);
		min-height: var(--target);
		color: var(--ink);
		font-weight: 650;
		text-align: left;
	}

	.hdc-product-models__sort::after {
		content: "↕" / "";
		color: var(--body);
	}

	[aria-sort="ascending"] > .hdc-product-models__sort::after {
		content: "↑" / "";
	}

	[aria-sort="descending"] > .hdc-product-models__sort::after {
		content: "↓" / "";
	}

	/* Documents (parts/product/documents.php). */
	.hdc-product-documents {
		max-width: var(--prose);
		margin: 0;
		padding: 0;
		border-top: 1px solid var(--line);
		list-style: none;
	}

	.hdc-product-documents__item {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0 var(--space-3);
		min-height: var(--target);
		padding-block: var(--space-2);
		border-bottom: 1px solid var(--line);
	}

	.hdc-product-documents__item .hdc-icon {
		color: var(--accent);
	}

	.hdc-product-documents__item a {
		font-weight: 650;
	}

	.hdc-product-documents__kind {
		margin-inline-start: auto;
		color: var(--mute);
		font-size: var(--text-sm);
	}

	/* Related products (parts/product/related.php). */
	.hdc-product-related {
		padding-block: var(--space-7);
		border-bottom: 1px solid var(--line);
	}

	.hdc-product-related__title {
		margin-bottom: var(--space-5);
	}

	/* Comparison (parts/product/compare.php, block hdc/compare). */
	.hdc-product-compare {
		overflow-x: auto;
	}

	.hdc-product-compare__table {
		min-width: 36rem;
		table-layout: fixed;
	}

	.hdc-product-compare__table :is(th, td) {
		padding: var(--space-3) var(--space-4) var(--space-3) 0;
	}

	.hdc-product-compare__table thead :is(th, td) {
		border-top: 0;
		vertical-align: bottom;
	}

	.hdc-product-compare__table tbody th {
		width: 30%;
		color: var(--mute);
		font-size: var(--text-sm);
		font-weight: 400;
	}

	.hdc-product-compare__table td {
		color: var(--ink);
	}

	.hdc-product-compare__product {
		--link: var(--ink);
		--link-hover: var(--ink);
		--link-line: none;
		--link-hover-line: underline;
		display: grid;
		gap: var(--space-2);
	}

	.hdc-product-compare__media {
		display: block;
		max-width: 11rem;
		aspect-ratio: 4 / 3;
		padding: var(--space-2);
		border-radius: var(--radius-media);
		background: var(--panel);
	}

	.hdc-product-compare__media img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	.hdc-product-compare__name {
		font-size: var(--text-md);
		font-weight: 700;
	}

	.hdc-product-compare__price {
		display: block;
		margin-top: var(--space-1);
		color: var(--body);
		font-weight: 600;
	}

	td.hdc-product-compare__ask {
		color: var(--mute);
	}

	/* Call band (parts/ui/call-band.php, block hdc/cta-band). */
	.hdc-ui-call-band {
		display: grid;
		gap: var(--space-5);
		padding: var(--space-6) var(--space-5);
		border-radius: var(--radius-media);
		background: var(--panel);
	}

	.hdc-ui-call-band__title {
		font-size: var(--text-lg);
	}

	.hdc-ui-call-band__text p {
		margin-top: var(--space-2);
	}

	@media (min-width: 64rem) {
		.hdc-ui-call-band {
			grid-template-columns: minmax(0, 1fr) auto;
			align-items: center;
			padding-inline: var(--space-7);
		}
	}

	/*
	 * Ads landing (page-templates/landing.php, parts/landing/hero.php). Core's
	 * unlayered layout rules set the block margins, so sections are separated
	 * with padding and hairlines instead.
	 */
	.hdc-landing-hero {
		display: grid;
		gap: var(--space-6);
		padding-block: var(--space-5) var(--space-7);
	}

	.hdc-landing-hero__main {
		display: grid;
		gap: var(--space-4);
		align-content: start;
	}

	.hdc-landing-hero__title {
		font-size: var(--text-2xl);
		font-weight: 800;
		line-height: 1.02;
		letter-spacing: -0.025em;
	}

	.hdc-landing-hero__text {
		max-width: 50ch;
		font-size: var(--text-md);
	}

	.hdc-landing-hero__media {
		aspect-ratio: 4 / 3;
		padding: var(--space-4);
		border-radius: var(--radius-media);
		background: var(--panel);
	}

	.hdc-landing-hero__media img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	.hdc-landing-hero__facts {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		border-top: 1px solid var(--line);
	}

	/* Value above its label, as on a spec sheet. */
	.hdc-landing-hero__facts > div {
		display: flex;
		flex-direction: column-reverse;
		justify-content: flex-end;
		padding: var(--space-3) var(--space-4) var(--space-3) 0;
		border-bottom: 1px solid var(--line);
	}

	.hdc-landing-hero__facts > div:nth-child(even) {
		padding-inline: var(--space-4) 0;
		border-inline-start: 1px solid var(--line);
	}

	.hdc-landing-hero__facts dt {
		color: var(--mute);
		font-size: var(--text-sm);
	}

	.hdc-landing-hero__facts dd {
		margin: 0;
		color: var(--ink);
		font-size: var(--text-lg);
		font-weight: 750;
		line-height: 1.2;
		font-variant-numeric: tabular-nums;
	}

	.hdc-landing-hero__stock {
		color: var(--ink);
		font-weight: 650;
	}

	.hdc-landing-hero__more a {
		font-weight: 650;
	}

	.hdc-landing-hero__form {
		padding: var(--space-5) var(--space-4);
		border: 1px solid var(--line);
		border-radius: var(--radius-media);
	}

	.hdc-landing-hero__form-title {
		margin-bottom: var(--space-4);
		font-size: var(--text-lg);
	}

	.hdc-landing__content > .wp-block-heading {
		padding-top: var(--space-7);
		border-top: 1px solid var(--line);
	}

	.hdc-landing__content > .wp-block-details {
		max-width: 55rem;
		padding-bottom: var(--space-4);
		border-bottom: 1px solid var(--line);
	}

	.hdc-landing__content > .wp-block-details summary {
		padding-block: var(--space-2);
		color: var(--ink);
		font-size: var(--text-md);
		font-weight: 650;
		cursor: pointer;
	}

	.hdc-landing__content,
	.hdc-landing__quote {
		padding-bottom: var(--section);
	}

	@media (min-width: 40rem) {
		.hdc-landing-hero__form {
			padding: var(--space-6);
		}
	}

	@media (min-width: 64rem) {
		.hdc-landing-hero {
			grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
			gap: var(--space-8);
			align-items: start;
			padding-top: var(--space-6);
		}

		.hdc-landing-hero__title {
			font-size: var(--text-display);
		}
	}
}
