/* Bolsos Global homepage presentation. */

.duoracket-home-section {
	margin-block: 0;
	padding-block: clamp(3rem, 6vw, 6rem);
}

.duoracket-home-section__header {
	max-width: 48rem;
	margin-block-end: clamp(1.75rem, 4vw, 3rem);
	margin-inline-start: 0 !important;
}

.duoracket-home-section__header > * {
	margin-inline: 0 !important;
}

.duoracket-home-section__header h2,
.duoracket-home-hero h1,
.duoracket-home-wholesale h2,
.duoracket-home-about h2 {
	margin-block-start: 0;
}

.duoracket-home-section__header h2,
.duoracket-home-hero h1,
.duoracket-home-wholesale h2,
.duoracket-home-about h2 {
	margin-block-end: var(--wp--preset--spacing--40);
}

.duoracket-home-eyebrow {
	margin-block: 0 var(--wp--preset--spacing--30);
	color: var(--wp--preset--color--accent-dark);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	line-height: 1.4;
	text-transform: uppercase;
}

.duoracket-home-text-link {
	margin: 0;
	font-weight: 700;
}

.duoracket-home-text-link a {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	color: inherit;
	text-decoration: none;
}

.duoracket-home-hero {
	position: relative;
	overflow: hidden;
	background: var(--wp--preset--color--cloud);
}

.duoracket-home-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr);
	gap: clamp(2.5rem, 7vw, 7rem);
	align-items: center;
}

.duoracket-home-hero__content {
	max-width: 44rem;
	margin-inline: 0;
}

.duoracket-home-hero__content > * {
	margin-inline: 0 !important;
}

.duoracket-home-hero__tagline {
	max-width: 25ch;
	margin-block-end: var(--wp--preset--spacing--40);
	font-weight: 750;
	line-height: 1.2;
}

.duoracket-home-hero__intro {
	max-width: 42ch;
	margin-block-end: var(--wp--preset--spacing--50);
	color: var(--wp--preset--color--graphite);
	font-size: clamp(1.0625rem, 1.5vw, 1.25rem);
	line-height: 1.65;
}

.duoracket-home-actions .wp-block-button__link {
	min-height: 3rem;
	padding-inline: 1.35rem;
}

.duoracket-home-hero__visual {
	position: relative;
	min-height: clamp(20rem, 34vw, 30rem);
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--border--radius--large);
	background: linear-gradient(145deg, var(--wp--preset--color--white), var(--wp--preset--color--cloud));
	box-shadow: var(--wp--custom--shadow--card);
}

.duoracket-bag-visual__handle,
.duoracket-bag-visual__body,
.duoracket-bag-visual__pocket {
	position: absolute;
	display: block;
}

.duoracket-bag-visual__handle {
	top: 16%;
	left: 50%;
	width: 34%;
	height: 20%;
	border: 0.75rem solid var(--wp--preset--color--accent-dark);
	border-block-end: 0;
	border-radius: 5rem 5rem 0 0;
	transform: translateX(-50%);
}

.duoracket-bag-visual__body {
	top: 29%;
	right: 15%;
	bottom: 16%;
	left: 15%;
	border-radius: 2rem 2rem 1rem 1rem;
	background: var(--wp--preset--color--ink);
}

.duoracket-bag-visual__pocket {
	right: 25%;
	bottom: 25%;
	left: 25%;
	height: 24%;
	border: 2px solid var(--wp--preset--color--slate);
	border-radius: 0.75rem;
}

.duoracket-home-hero__visual > p {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0;
	padding: 0.55rem 1rem;
	border-block-start: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--slate);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-align: center;
}

.duoracket-home-value-strip {
	margin-block: 0;
	padding-block: var(--wp--preset--spacing--40);
	border-block: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--white);
}

.duoracket-home-value-strip__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.duoracket-home-value-strip__item {
	padding: var(--wp--preset--spacing--30) clamp(1rem, 3vw, 2rem);
}

.duoracket-home-value-strip__item + .duoracket-home-value-strip__item {
	border-inline-start: 1px solid var(--wp--preset--color--line);
}

.duoracket-home-value-strip__item h2,
.duoracket-home-value-strip__item p {
	margin-block: 0;
}

.duoracket-home-value-strip__item p {
	margin-block-start: var(--wp--preset--spacing--20);
	color: var(--wp--preset--color--graphite);
}

.duoracket-bag-category-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--50);
}

.duoracket-bag-category-card {
	display: flex;
	min-height: 100%;
	flex-direction: column;
	padding: var(--wp--preset--spacing--40);
}

.duoracket-bag-category-card__visual {
	display: grid;
	width: 100%;
	aspect-ratio: 4 / 3;
	place-items: center;
	margin-block-end: var(--wp--preset--spacing--40);
	overflow: hidden;
	border-radius: var(--wp--custom--border--radius--medium);
	background: var(--wp--preset--color--cloud);
	color: var(--wp--preset--color--accent-dark);
	text-decoration: none;
}

.duoracket-bag-category-card__visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 160ms ease;
}

.duoracket-bag-category-card__visual span {
	display: grid;
	width: 4.5rem;
	aspect-ratio: 1;
	place-items: center;
	border: 2px solid currentColor;
	border-radius: var(--wp--custom--border--radius--medium);
	font-weight: 850;
	letter-spacing: 0.08em;
}

.duoracket-bag-category-card h3 {
	margin-block: 0 var(--wp--preset--spacing--20);
}

.duoracket-bag-category-card h3 a {
	color: inherit;
	text-decoration: none;
}

.duoracket-bag-category-card > p:last-child {
	margin-block-start: auto;
	padding-block-start: var(--wp--preset--spacing--30);
}

.duoracket-bag-category-card:has(a:hover) {
	border-color: var(--wp--preset--color--accent);
}

.duoracket-bag-category-card:has(a:hover) .duoracket-bag-category-card__visual img {
	transform: scale(1.02);
}

.duoracket-home-products,
.duoracket-home-blog,
.duoracket-home-solutions,
.duoracket-home-faq {
	background: var(--wp--preset--color--cloud);
}

.duoracket-home :is(
	.duoracket-bag-category-card,
	.duoracket-use-case,
	.duoracket-home-blog-card
) {
	border-radius: var(--wp--custom--border--radius--medium);
	box-shadow: none;
}

.duoracket-home-solution-grid,
.duoracket-home-project-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2rem);
}

.duoracket-home-solution,
.duoracket-home-project-option {
	min-height: 100%;
	margin: 0;
	padding-block-start: var(--wp--preset--spacing--40);
	border-block-start: 2px solid var(--wp--preset--color--accent);
}

.duoracket-home-solution h3,
.duoracket-home-project-option h3 {
	margin-block: 0 var(--wp--preset--spacing--30);
}

.duoracket-home-solution p,
.duoracket-home-project-option p {
	margin-block: 0;
	color: var(--wp--preset--color--graphite);
}

.duoracket-home-customization > .duoracket-home-text-link {
	margin-block-start: var(--wp--preset--spacing--50);
}

.duoracket-home-product-showcase,
.duoracket-home-products > .duoracket-home-empty-state,
.duoracket-home > .duoracket-home-section > .duoracket-home-product-showcase,
.duoracket-home > .duoracket-home-section > .duoracket-home-empty-state {
	width: min(100% - (2 * var(--wp--custom--layout--gutter)), var(--wp--style--global--wide-size));
	margin-inline: auto;
}

.duoracket-home-product-showcase .products {
	margin-block: 0;
}

.duoracket-use-case-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--50);
}

.duoracket-use-case {
	display: flex;
	min-height: 100%;
	flex-direction: column;
	padding: clamp(1.25rem, 2.5vw, 2rem);
}

.duoracket-home-assurance__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2rem, 6vw, 5rem);
}

.duoracket-home-assurance__item {
	margin: 0;
	padding-inline-start: clamp(1.25rem, 3vw, 2rem);
	border-inline-start: 2px solid var(--wp--preset--color--line);
}

.duoracket-home-assurance__item > :first-child {
	margin-block-start: 0;
}

.duoracket-home-assurance__item > :last-child {
	margin-block-end: 0;
	color: var(--wp--preset--color--graphite);
}

.duoracket-use-case h2 {
	margin-block-start: 0;
}

.duoracket-use-case .duoracket-home-text-link {
	margin-block-start: auto;
	padding-block-start: var(--wp--preset--spacing--40);
}

.duoracket-home-faq__list {
	max-width: 48rem;
	margin-inline-start: 0 !important;
	border-block-start: 1px solid var(--wp--preset--color--line);
}

.duoracket-home-faq__list details {
	padding-block: var(--wp--preset--spacing--40);
	border-block-end: 1px solid var(--wp--preset--color--line);
}

.duoracket-home-faq__list summary {
	cursor: pointer;
	font-size: 1.0625rem;
	font-weight: 750;
}

.duoracket-home-faq__list p {
	max-width: 44rem;
	margin-block: var(--wp--preset--spacing--30) 0;
	color: var(--wp--preset--color--graphite);
}

.duoracket-home-wholesale {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.duoracket-home-wholesale__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--wp--preset--spacing--60);
	align-items: center;
}

.duoracket-home-wholesale h2,
.duoracket-home-wholesale .duoracket-home-eyebrow {
	color: var(--wp--preset--color--white);
}

.duoracket-home-wholesale p:not(.duoracket-home-eyebrow) {
	max-width: 54ch;
	color: var(--wp--preset--color--line);
}

.duoracket-home-wholesale .wp-block-button__link {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
}

.duoracket-home-blog__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--50);
	margin: 0;
}

.duoracket-home-blog-card {
	display: flex;
	min-height: 100%;
	flex-direction: column;
	padding: var(--wp--preset--spacing--40);
}

.duoracket-home-blog-card .wp-block-post-featured-image {
	margin-block: 0 var(--wp--preset--spacing--40);
}

.duoracket-home-blog-card .wp-block-post-featured-image img {
	border-radius: var(--wp--custom--border--radius--medium);
	object-fit: cover;
}

.duoracket-home-blog-card .wp-block-post-date,
.duoracket-home-blog-card .wp-block-post-title {
	margin-block: 0 var(--wp--preset--spacing--30);
}

.duoracket-home-blog-card .wp-block-post-excerpt {
	margin-block: auto 0;
}

.duoracket-home-empty-state {
	padding: clamp(1.5rem, 4vw, 3rem);
	border: 1px dashed var(--wp--preset--color--line);
	border-radius: var(--wp--custom--border--radius--large);
	background: var(--wp--preset--color--white);
	text-align: center;
}

.duoracket-home-empty-state > :first-child {
	margin-block-start: 0;
}

.duoracket-home-empty-state > :last-child {
	margin-block-end: 0;
}

.duoracket-home-about__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: start;
}

.duoracket-home-about__inner > * {
	margin-inline: 0 !important;
}

/* The complete category list is the fallback; only enhanced slides are hidden. */
.duoracket-category-carousel {
	width: min(100% - (2 * var(--wp--custom--layout--gutter)), var(--wp--style--global--wide-size));
	margin-inline: auto;
}

.duoracket-category-carousel__slides {
	display: grid;
	gap: 1.5rem;
	touch-action: pan-y pinch-zoom;
}

.duoracket-category-carousel__slide {
	--carousel-tint: #e9eff8;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	min-height: 27rem;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--border--radius--large);
	background: var(--wp--preset--color--cloud);
}

.duoracket-category-carousel__slide--outdoor {
	--carousel-tint: #e7eee8;
}

.duoracket-category-carousel__slide--travel {
	--carousel-tint: #f0ebe3;
}

.duoracket-category-carousel__slide--fashion {
	--carousel-tint: #f1e8e9;
}

.duoracket-category-carousel.is-ready .duoracket-category-carousel__slide[hidden],
.duoracket-category-carousel .duoracket-category-carousel__controls[hidden],
.duoracket-category-carousel .duoracket-category-carousel__pause[hidden] {
	display: none;
}

.duoracket-category-carousel__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: clamp(1.5rem, 4vw, 4rem);
}

.duoracket-category-carousel__content h3 {
	max-width: 15ch;
	margin: 0 0 1.25rem;
	color: var(--wp--preset--color--ink);
	font-size: clamp(1.75rem, 3.5vw, 3rem);
	line-height: 1.08;
	letter-spacing: -0.035em;
}

.duoracket-category-carousel__description {
	max-width: 40ch;
	margin: 0 0 1.75rem;
	color: var(--wp--preset--color--graphite);
	font-size: clamp(1rem, 1.35vw, 1.125rem);
	line-height: 1.65;
}

.duoracket-category-carousel__link {
	display: inline-flex;
	min-height: 3rem;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem 1.25rem;
	border-radius: var(--wp--custom--border--radius--medium);
	font-size: 0.9375rem;
	font-weight: 750;
	text-decoration: none;
}

.duoracket-category-carousel__visual {
	display: grid;
	min-width: 0;
	min-height: 22rem;
	place-items: center;
	padding: clamp(1.5rem, 3vw, 3rem);
	background: var(--carousel-tint);
}

.duoracket-category-carousel__image {
	display: block;
	width: 100%;
	height: 22rem;
	object-fit: contain;
}

.duoracket-category-carousel__placeholder {
	display: grid;
	width: min(100%, 21rem);
	justify-items: center;
	gap: 1rem;
	color: var(--wp--preset--color--accent-dark);
}

.duoracket-category-carousel__placeholder svg {
	display: block;
	width: 100%;
	max-height: 20rem;
}

.duoracket-category-carousel__placeholder span {
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.2em;
}

.duoracket-category-carousel__controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.625rem;
	margin-block-start: 1.25rem;
}

.duoracket-category-carousel__controls button {
	display: inline-flex;
	min-width: 2.75rem;
	min-height: 2.75rem;
	align-items: center;
	justify-content: center;
	margin: 0;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
	font: inherit;
	cursor: pointer;
}

.duoracket-category-carousel__controls button:hover {
	border-color: var(--wp--preset--color--accent-dark);
	background: var(--wp--preset--color--cloud);
}

.duoracket-category-carousel :is(button, a):focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 4px;
}

.duoracket-category-carousel__dots {
	display: flex;
	align-items: center;
}

.duoracket-category-carousel__controls .duoracket-category-carousel__dot {
	min-width: 2.75rem;
	padding: 0;
	border: 0;
	background: transparent;
}

.duoracket-category-carousel__dot span {
	width: 0.5625rem;
	height: 0.5625rem;
	border: 1px solid var(--wp--preset--color--slate);
	border-radius: 50%;
	background: transparent;
}

.duoracket-category-carousel__dot[aria-current="true"] span {
	border-color: var(--wp--preset--color--accent-dark);
	background: var(--wp--preset--color--accent-dark);
}

.duoracket-category-carousel__controls .duoracket-category-carousel__pause {
	min-width: 6.5rem;
	padding-inline: 1rem;
	font-size: 0.8125rem;
}

.duoracket-category-carousel__sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	clip-path: inset(50%);
	border: 0;
}

@media (prefers-reduced-motion: no-preference) {
	.duoracket-category-carousel.is-ready .duoracket-category-carousel__slide:not([hidden]) {
		animation: duoracket-category-reveal 240ms ease-out;
	}

	@keyframes duoracket-category-reveal {
		from { opacity: 0.6; }
		to { opacity: 1; }
	}
}

@media (max-width: 47.99rem) {
	.duoracket-category-carousel__slide {
		grid-template-columns: minmax(0, 1fr);
	}

	.duoracket-category-carousel__content {
		min-height: 19rem;
		box-sizing: border-box;
	}

	.duoracket-category-carousel__visual {
		min-height: 17rem;
		padding: 1.5rem;
	}

	.duoracket-category-carousel__image,
	.duoracket-category-carousel__placeholder svg {
		height: 16rem;
	}
}

@media (max-width: 29.99rem) {
	.duoracket-category-carousel__controls {
		flex-wrap: wrap;
		column-gap: 0.25rem;
	}

	.duoracket-category-carousel__controls .duoracket-category-carousel__pause {
		margin-inline: calc(50% - 3.25rem);
	}
}

@media (max-width: 63.99rem) {
	.duoracket-home-hero__inner,
	.duoracket-home-about__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.duoracket-home-hero__visual {
		min-height: clamp(18rem, 60vw, 28rem);
	}

	.duoracket-bag-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.duoracket-home-solution-grid,
	.duoracket-home-project-grid,
	.duoracket-use-case-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.duoracket-home-wholesale__inner {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 47.99rem) {
	.duoracket-home-value-strip__grid,
	.duoracket-home-solution-grid,
	.duoracket-home-project-grid,
	.duoracket-use-case-grid,
	.duoracket-home-assurance__grid,
	.duoracket-home-blog__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.duoracket-home-value-strip__item + .duoracket-home-value-strip__item {
		border-block-start: 1px solid var(--wp--preset--color--line);
		border-inline-start: 0;
	}
}

@media (max-width: 37.5rem) {
	.duoracket-home-section {
		padding-block: 2.75rem;
	}

	.duoracket-home-section__header--split {
		align-items: flex-start;
		flex-direction: column;
		gap: var(--wp--preset--spacing--30);
	}

	.duoracket-home-actions,
	.duoracket-home-actions .wp-block-button,
	.duoracket-home-actions .wp-block-button__link,
	.duoracket-home-wholesale .wp-block-buttons,
	.duoracket-home-wholesale .wp-block-button,
	.duoracket-home-wholesale .wp-block-button__link {
		width: 100%;
	}

	.duoracket-home-hero__visual {
		min-height: 17rem;
	}

	.duoracket-bag-category-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Dynamic homepage imagery and product-led sections. */
.duoracket-visual-collage {
	position: relative;
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 1rem;
	min-height: clamp(22rem, 38vw, 32rem);
	padding: clamp(1rem, 2vw, 1.5rem);
	background: linear-gradient(145deg, var(--wp--preset--color--white), var(--wp--preset--color--cloud));
}

.duoracket-visual-collage__item {
	display: grid;
	min-width: 0;
	min-height: 0;
	place-items: center;
	overflow: hidden;
	border-radius: var(--wp--custom--border--radius--large);
	background: var(--wp--preset--color--white);
}

.duoracket-visual-collage__item--2 {
	margin-block-start: 3rem;
	margin-block-end: 3rem;
}

.duoracket-visual-collage__item img,
.duoracket-visual-collage__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 400ms ease;
}

.duoracket-visual-collage__item:hover img,
.duoracket-visual-collage__item:hover .duoracket-visual-collage__image {
	transform: scale(1.03);
}

.duoracket-visual-collage__placeholder {
	display: grid;
	place-content: center;
	gap: 0.35rem;
	color: var(--wp--preset--color--accent-dark);
	font-weight: 850;
	letter-spacing: 0.16em;
}

.duoracket-visual-collage__caption {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	padding: 0.45rem 0.65rem;
	background: rgba(255, 255, 255, 0.88);
	color: var(--wp--preset--color--slate);
	font-size: 0.7rem;
	font-weight: 750;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.duoracket-catalog-product-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 1.75rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.duoracket-catalog-product-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: 0.75rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--border--radius--medium);
	background: var(--wp--preset--color--white);
	transition: border-color 240ms ease, box-shadow 240ms ease;
}

.duoracket-catalog-product-card:hover,
.duoracket-catalog-product-card:focus-within {
	border-color: var(--wp--preset--color--accent);
	box-shadow: var(--wp--custom--shadow--card);
}

.duoracket-catalog-product-card__image {
	display: grid;
	width: 100%;
	aspect-ratio: 4 / 3;
	place-items: center;
	margin-block-end: 0.9rem;
	overflow: hidden;
	border-radius: var(--wp--custom--border--radius--small);
	background: var(--wp--preset--color--cloud);
}

.duoracket-catalog-product-card__image img,
.duoracket-catalog-product-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 400ms ease;
}

.duoracket-catalog-product-card:hover .duoracket-catalog-product-card__image img {
	transform: scale(1.03);
}

.duoracket-catalog-product-card__placeholder,
.duoracket-guide-card__placeholder {
	background: linear-gradient(135deg, var(--wp--preset--color--cloud), var(--wp--preset--color--line));
}

.duoracket-catalog-product-card__category,
.duoracket-guide-card__category {
	margin: 0 0 0.35rem;
	color: var(--wp--preset--color--slate);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.duoracket-catalog-product-card h3 {
	margin: 0;
	font-size: 1rem;
	line-height: 1.35;
}

.duoracket-catalog-product-card h3 a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.duoracket-catalog-product-card__cta {
	display: inline-flex;
	justify-content: center;
	width: 100%;
	margin-block-start: 1rem;
	padding-block: 0.55rem;
	font-size: 0.8125rem;
	text-align: center;
}

.duoracket-guides-showcase,
.duoracket-home-video {
	width: min(100% - (2 * var(--wp--custom--layout--gutter)), var(--wp--style--global--wide-size));
	margin-inline: auto;
}

.duoracket-guide-featured {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: center;
	margin-block-end: clamp(1.5rem, 4vw, 2.5rem);
	padding: clamp(1rem, 2vw, 1.5rem);
	border: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--white);
}

.duoracket-guide-featured__image,
.duoracket-guide-card__image {
	display: block;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	border-radius: var(--wp--custom--border--radius--medium);
	background: var(--wp--preset--color--cloud);
}

.duoracket-guide-featured__image img,
.duoracket-guide-card__image img,
.duoracket-guide-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.duoracket-guide-featured__content h3 {
	margin-block: 0 0.75rem;
	font-size: clamp(1.5rem, 3vw, 2.25rem);
}

.duoracket-guide-featured__content h3 a,
.duoracket-guide-card h3 a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.duoracket-guide-featured__content p {
	color: var(--wp--preset--color--graphite);
}

.duoracket-guide-featured__content time,
.duoracket-guide-card time {
	display: block;
	margin-block: 0.75rem 1rem;
	color: var(--wp--preset--color--slate);
	font-size: 0.8rem;
}

.duoracket-guides-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 1.5rem);
}

.duoracket-guide-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: 0.75rem;
	border: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--white);
}

.duoracket-guide-card h3 {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.35;
}

.duoracket-guide-card > p:not(.duoracket-guide-card__category) {
	margin-block: 0.75rem 0;
	color: var(--wp--preset--color--graphite);
}

.duoracket-home-video {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(16rem, 0.75fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: center;
	padding-block: clamp(3rem, 6vw, 5rem);
}

.duoracket-home-video__media .duoracket-video-player {
	margin: 0;
}

.duoracket-home-video__content h2 {
	margin-block: 0 1rem;
}

.duoracket-home-video__content p {
	color: var(--wp--preset--color--graphite);
}

@media (max-width: 70rem) {
	.duoracket-catalog-product-grid,
	.duoracket-guides-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 63.99rem) {
	.duoracket-catalog-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.duoracket-guide-featured,
	.duoracket-home-video {
		grid-template-columns: minmax(0, 1fr);
	}

	.duoracket-guides-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 47.99rem) {
	.duoracket-catalog-product-grid,
	.duoracket-guides-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.duoracket-visual-collage {
		min-height: 18rem;
	}

	.duoracket-visual-collage__item--2 {
		margin-block: 2rem;
	}
}

/* Desktop rhythm and alignment refinement. */
.duoracket-home-section {
	padding-block: clamp(3.5rem, 5vw, 4.5rem);
}

.duoracket-home-section__header {
	max-width: var(--duoracket-standard-max, 80rem);
}

.duoracket-home-hero__inner {
	width: min(calc(100% - (2 * var(--duoracket-layout-gutter, 2rem))), var(--duoracket-wide-max, 85rem));
	max-width: 100%;
	gap: clamp(3rem, 5vw, 4.5rem);
}

.duoracket-home-hero__content,
.duoracket-home-hero__content h1 {
	max-width: 47.5rem;
}

.duoracket-home-hero__intro {
	max-width: 47.5rem;
	font-size: 1.125rem;
}

.duoracket-bag-category-grid,
.duoracket-home-use-cases .duoracket-use-case-grid,
.duoracket-home-solution-grid,
.duoracket-home-project-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.duoracket-home-product-showcase,
.duoracket-home-products > .duoracket-home-empty-state,
.duoracket-home > .duoracket-home-section > .duoracket-home-product-showcase,
.duoracket-home > .duoracket-home-section > .duoracket-home-empty-state,
.duoracket-home-video,
.duoracket-guides-showcase {
	width: min(calc(100% - (2 * var(--duoracket-layout-gutter, 2rem))), var(--duoracket-wide-max, 85rem));
}

.duoracket-bag-category-card h3 {
	font-size: clamp(1.125rem, 1rem + 0.35vw, 1.375rem);
}

.duoracket-catalog-product-card h3,
.duoracket-guide-card h3 {
	font-size: 1.125rem;
}

.duoracket-catalog-product-card__cta {
	font-size: 1rem;
	font-weight: 600;
}

.duoracket-catalog-product-grid {
	gap: clamp(1.5rem, 2.5vw, 2rem);
}

@media (max-width: 74.99rem) {
	.duoracket-bag-category-grid,
	.duoracket-home-use-cases .duoracket-use-case-grid,
	.duoracket-home-solution-grid,
	.duoracket-home-project-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 43.75rem) {
	.duoracket-bag-category-grid,
	.duoracket-home-use-cases .duoracket-use-case-grid,
	.duoracket-home-solution-grid,
	.duoracket-home-project-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.duoracket-home-section {
		padding-block: 3rem;
	}

	.duoracket-home-hero__inner {
		gap: 2rem;
	}
}

/* Site-wide row alignment pass. Keep each section on the same wide edge and
 * make repeated cards share a row height. */
.duoracket-home-section > .alignwide,
.duoracket-home-section > .duoracket-category-carousel,
.duoracket-home-section > .duoracket-home-product-showcase,
.duoracket-home-section > .duoracket-home-video,
.duoracket-home-section > .duoracket-guides-showcase,
.duoracket-home-section > .duoracket-home-empty-state {
	box-sizing: border-box;
	width: min(calc(100% - 64px), var(--bg-wide, 1360px));
	max-width: 100%;
	margin-inline: auto;
}

.duoracket-home-hero__inner {
	grid-template-columns: minmax(0, 52fr) minmax(0, 48fr);
	gap: 64px;
	align-items: start;
}

.duoracket-home-hero__content {
	padding-block: clamp(0.75rem, 2vw, 2rem);
}

.duoracket-home-hero__visual {
	width: 100%;
}

.duoracket-home-value-strip__grid,
.duoracket-bag-category-grid,
.duoracket-home-solution-grid,
.duoracket-home-project-grid,
.duoracket-use-case-grid,
.duoracket-home-blog__grid {
	grid-auto-rows: 1fr;
	align-items: stretch;
	gap: var(--bg-gap-lg, 32px);
}

.duoracket-home-value-strip__item,
.duoracket-bag-category-card,
.duoracket-home-solution,
.duoracket-home-project-option,
.duoracket-use-case,
.duoracket-home-blog-card {
	height: 100%;
}

.duoracket-home-solution-grid,
.duoracket-use-case-grid,
.duoracket-home-project-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.duoracket-home-project-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.duoracket-home-section__header {
	width: min(100%, var(--bg-wide, 1360px));
	max-width: 100%;
	margin-inline: auto !important;
}

.duoracket-home-section__header > * {
	max-width: 100%;
}

.duoracket-home-product-showcase,
.duoracket-guides-showcase,
.duoracket-home-video {
	margin-inline: auto;
}

.duoracket-home-blog-card,
.duoracket-home-solution,
.duoracket-home-buyer,
.duoracket-home-project-option,
.duoracket-use-case {
	display: flex;
	flex-direction: column;
}

.duoracket-home-solutions__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	align-items: stretch;
	gap: clamp(32px, 5vw, 72px);
}

.duoracket-home-solutions__visual,
.duoracket-home-solutions__copy {
	min-width: 0;
}

.duoracket-home-solutions__visual {
	min-height: 360px;
}

.duoracket-home-solutions__visual > * {
	height: 100%;
}

.duoracket-home-solutions__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 34rem;
}

.duoracket-home-solutions__copy .wp-element-button {
	align-self: flex-start;
	margin-top: 16px;
}

.duoracket-home-buyers__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--bg-gap-lg, 32px);
}

.duoracket-home-buyer {
	height: 100%;
}

.duoracket-home-blog-card .wp-block-post-excerpt,
.duoracket-home-solution p,
.duoracket-home-project-option p,
.duoracket-use-case p {
	margin-block-end: 0;
}

.duoracket-home-blog-card .wp-block-post-excerpt {
	margin-block-start: auto;
}

.duoracket-home-faq__list {
	width: min(100%, var(--bg-wide, 1360px));
	max-width: 100%;
	margin-inline: auto !important;
}

.duoracket-home-assurance__grid {
	width: min(100%, var(--bg-wide, 1360px));
	max-width: 100%;
	margin-inline: auto;
	gap: var(--bg-gap-xl, 48px);
}

.duoracket-home-wholesale__inner {
	width: min(100%, var(--bg-wide, 1360px));
	max-width: 100%;
	margin-inline: auto;
}

.duoracket-guides-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: var(--bg-gap-lg, 32px);
}

.duoracket-guide-card {
	height: 100%;
}

@media (max-width: 1199px) {
	.duoracket-home-section > .alignwide,
	.duoracket-home-section > .duoracket-category-carousel,
	.duoracket-home-section > .duoracket-home-product-showcase,
	.duoracket-home-section > .duoracket-home-video,
	.duoracket-home-section > .duoracket-guides-showcase,
	.duoracket-home-section > .duoracket-home-empty-state {
		width: calc(100% - 56px);
	}

	.duoracket-home-solution-grid,
	.duoracket-home-buyers__grid,
	.duoracket-use-case-grid,
	.duoracket-home-project-grid,
	.duoracket-guides-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.duoracket-home-project-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.duoracket-home-buyers__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.duoracket-home-solutions__inner {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.duoracket-home-section > .alignwide,
	.duoracket-home-section > .duoracket-category-carousel,
	.duoracket-home-section > .duoracket-home-product-showcase,
	.duoracket-home-section > .duoracket-home-video,
	.duoracket-home-section > .duoracket-guides-showcase,
	.duoracket-home-section > .duoracket-home-empty-state {
		width: calc(100% - 32px);
	}

	.duoracket-home-hero__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

	.duoracket-home-solution-grid,
	.duoracket-home-buyers__grid,
	.duoracket-use-case-grid,
	.duoracket-home-project-grid,
	.duoracket-guides-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.duoracket-home-solutions__visual {
		min-height: 260px;
	}
}

/* Homepage alignment and responsive rhythm refinement. */
.duoracket-home-hero__content {
	min-width: 0;
}

.duoracket-home-hero__content h1 {
	max-width: 22ch;
	font-size: clamp(2.75rem, 4.2vw, 4rem);
	line-height: 1.06;
}

.duoracket-home-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
}

.duoracket-home-actions .wp-block-button {
	margin: 0;
}

.duoracket-home-actions .wp-block-button__link {
	min-height: 48px;
	padding-inline: 24px;
	white-space: nowrap;
}

.duoracket-use-case {
	min-height: 100%;
	padding: 28px 32px;
	border-radius: 18px;
}

.duoracket-use-case__number {
	display: inline-flex;
	width: max-content;
	margin-block-end: 10px;
	color: var(--wp--preset--color--accent-dark);
	font-size: .85rem;
	font-weight: 800;
	letter-spacing: .08em;
}

.duoracket-use-case h3 {
	margin-block: 0 12px;
	font-size: clamp(1.375rem, 1.8vw, 1.5rem);
	line-height: 1.2;
}

.duoracket-use-case p {
	margin-block: 0;
	line-height: 1.65;
}

.duoracket-home-blog-card .wp-block-post-featured-image {
	height: clamp(220px, 20vw, 280px);
	min-height: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.duoracket-home-blog-card .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: var(--wp--preset--color--cloud);
}

@media (max-width: 1199px) {
	.duoracket-use-case-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.duoracket-use-case-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.duoracket-use-case {
		padding: 28px;
	}

	.duoracket-home-actions {
		width: 100%;
	}

	.duoracket-home-actions .wp-block-button,
	.duoracket-home-actions .wp-block-button__link {
		width: 100%;
	}

	.duoracket-home-blog-card .wp-block-post-featured-image {
		height: 240px;
	}
}
