/*
 * Hadof Content System 2.0.7
 * Freeze-dryer decision experience.
 * This layer intentionally outranks the shared catalog and V6 rules only on
 * first-party freeze-dryer catalog pages.
 */

.hx-catalog-aligned.hx-freeze-catalog {
	--hf-ink: #0d1722;
	--hf-iron: #172431;
	--hf-steel: #e7ecef;
	--hf-mist: #f4f6f7;
	--hf-copy: #536273;
	--hf-orange: #ff9f1c;
	--hf-blue: #1f58a8;
	color: var(--hf-ink);
}

/* Visual equipment brief: readable copy and the real machine share one field. */
.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero {
	background: var(--hf-ink);
	color: #fff;
	padding: 0;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__layout {
	display: grid;
	grid-template-columns: minmax(420px, .82fr) minmax(0, 1.18fr);
	min-height: 680px;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__copy {
	align-content: center;
	display: grid;
	padding: clamp(4rem, 7vw, 7rem) clamp(2rem, 5vw, 5rem) clamp(3.5rem, 6vw, 6rem) 0;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero .hx-eyebrow {
	color: #ffb64d;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero h1 {
	color: #fff !important;
	font-size: clamp(3rem, 4.8vw, 4.8rem);
	letter-spacing: -.045em;
	line-height: .98;
	margin: .65rem 0 1.35rem;
	max-width: 13ch;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero .hx-lead {
	color: rgba(255, 255, 255, .78) !important;
	font-size: clamp(1.05rem, 1.45vw, 1.28rem);
	line-height: 1.62;
	margin: 0;
	max-width: 60ch;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero .hx-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: 1.8rem;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero .hx-button--quiet {
	background: rgba(255, 255, 255, .1);
	color: #fff;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__basis {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: clamp(2rem, 4vw, 3.25rem) 0 0;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__basis > div {
	background: rgba(255, 255, 255, .065);
	min-width: 0;
	padding: 1rem;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__basis dt {
	color: #ffb64d;
	font-size: .75rem;
	font-weight: 850;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__basis dd {
	color: rgba(255, 255, 255, .86);
	font-size: .88rem;
	line-height: 1.42;
	margin: .3rem 0 0;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero .hx-source-note {
	color: rgba(255, 255, 255, .62) !important;
	font-size: .78rem;
	line-height: 1.55;
	margin: 1.5rem 0 0;
	max-width: 68ch;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__media {
	align-self: stretch;
	background: #dce2e5;
	display: grid;
	margin: 0;
	min-height: 680px;
	overflow: hidden;
	position: relative;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__media img {
	display: block;
	height: 100%;
	min-height: inherit;
	width: 100%;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__media--photo img {
	object-fit: cover;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__media--product img {
	object-fit: contain;
	padding: clamp(1.5rem, 4vw, 4rem);
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__media figcaption {
	background: rgba(8, 15, 22, .82);
	bottom: 0;
	color: rgba(255, 255, 255, .78);
	font-size: .72rem;
	left: 0;
	line-height: 1.5;
	padding: .8rem 1rem;
	position: absolute;
	width: min(620px, 100%);
}

/* Application logic is a three-part decision, not three repeated filler cards. */
.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-fit-grid {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 0;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-fit-grid article {
	background: linear-gradient(145deg, #eef2f4, #f8f9fa);
	box-shadow: none;
	display: grid;
	gap: .7rem;
	grid-template-areas: "number" "title" "copy";
	grid-template-columns: 1fr;
	padding: clamp(1.5rem, 2.7vw, 2.35rem);
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-fit-grid > article > span {
	background: transparent;
	color: var(--hf-orange);
	font-size: 2rem;
	height: auto;
	place-items: initial;
	width: auto;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-fit-grid h3 {
	font-size: clamp(1.35rem, 2vw, 1.9rem);
	line-height: 1.12;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-fit-grid p {
	color: var(--hf-copy);
	line-height: 1.65;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-inputs {
	background: var(--hf-iron);
	display: grid;
	gap: clamp(1.25rem, 3vw, 3rem);
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: clamp(2rem, 4vw, 4rem);
	padding: clamp(1.5rem, 3vw, 2.75rem);
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-inputs > div {
	background: transparent;
	padding: 0;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-inputs b {
	color: #ffb64d;
	display: block;
	font-size: .78rem;
	letter-spacing: .04em;
	margin-bottom: .45rem;
	text-transform: uppercase;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-inputs span {
	color: #d5dde3;
	font-size: .88rem;
	line-height: 1.55;
}

/* The freeze cycle is the visual spine of the selection story. */
.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-cycle-board {
	align-items: start;
	display: grid;
	gap: clamp(3rem, 7vw, 7rem);
	grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr);
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-cycle {
	background: var(--hf-iron);
	display: grid;
	gap: clamp(1.5rem, 3vw, 3rem);
	grid-template-columns: repeat(5, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: clamp(1.75rem, 3.5vw, 3.25rem);
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-cycle li {
	display: grid;
	gap: .55rem;
	min-width: 0;
	position: relative;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-cycle li:not(:last-child)::after {
	color: var(--hf-orange);
	content: "→";
	font-size: 1.25rem;
	position: absolute;
	right: -1.8rem;
	top: .15rem;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-cycle span {
	color: var(--hf-orange);
	font-size: .75rem;
	font-weight: 850;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-cycle b {
	color: #fff;
	font-size: 1rem;
	line-height: 1.3;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-cycle small {
	color: #b8c4cd;
	font-size: .78rem;
	line-height: 1.5;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-cycle__drivers {
	background: #263541;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	padding: clamp(1.5rem, 3vw, 2.5rem);
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-cycle__drivers span {
	color: #c9d2d9;
	font-size: .82rem;
	line-height: 1.55;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-cycle__drivers b {
	color: #fff;
	display: block;
	font-size: .85rem;
	margin-bottom: .35rem;
}

/* Source evidence remains visible without repeating the hero photograph. */
.hx-catalog-aligned.hx-freeze-catalog .hx-catalog-evidence--freeze {
	display: block;
	margin: 0 0 clamp(3rem, 5vw, 5rem);
}

.hx-catalog-aligned.hx-freeze-catalog .hx-catalog-evidence--freeze .hx-catalog-evidence__copy {
	background: var(--hf-mist);
	display: grid;
	gap: .75rem clamp(2rem, 5vw, 5rem);
	grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr);
	padding: clamp(1.75rem, 3vw, 3rem);
}

.hx-catalog-aligned.hx-freeze-catalog .hx-catalog-evidence--freeze .hx-eyebrow,
.hx-catalog-aligned.hx-freeze-catalog .hx-catalog-evidence--freeze h3 {
	grid-column: 1;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-catalog-evidence--freeze h3 {
	font-size: clamp(1.7rem, 2.7vw, 2.6rem);
	margin: 0;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-catalog-evidence--freeze .hx-catalog-evidence__copy > p:not(.hx-eyebrow),
.hx-catalog-aligned.hx-freeze-catalog .hx-catalog-evidence--freeze dl {
	grid-column: 2;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-catalog-evidence--freeze .hx-catalog-evidence__copy > p:not(.hx-eyebrow) {
	color: var(--hf-copy);
	grid-row: 1 / span 2;
	margin: 0;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-catalog-evidence--freeze dl {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: .5rem 0 0;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-catalog-evidence--freeze dl > div {
	border: 0;
	padding: 0;
}

/* Root catalog: a route map is clearer than a stack of near-empty accordions. */
.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map {
	margin: clamp(3rem, 5vw, 5rem) 0;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map > header {
	max-width: 760px;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map > header h3 {
	font-size: clamp(2rem, 3.5vw, 3.35rem);
	line-height: 1.04;
	margin: .55rem 0 1rem;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map > header > p:last-child {
	color: var(--hf-copy);
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map > div {
	display: grid;
	gap: .55rem;
	margin-top: 2rem;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map a {
	align-items: center;
	background: #eef2f4;
	color: var(--hf-ink);
	display: grid;
	gap: 1.25rem;
	grid-template-columns: 42px minmax(220px, 1.2fr) minmax(170px, .65fr) auto;
	padding: 1.15rem 1.35rem;
	text-decoration: none;
	transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map a:hover,
.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map a:focus-visible {
	background: var(--hf-iron);
	color: #fff;
	transform: translateX(5px);
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map a > span {
	color: var(--hf-orange);
	font-size: .8rem;
	font-weight: 850;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map h3 {
	font-size: 1.15rem;
	line-height: 1.25;
	margin: 0 0 .2rem;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map a p {
	color: #5c6b79;
	font-size: .82rem;
	line-height: 1.45;
	margin: 0;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map a:hover p,
.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map a:focus-visible p {
	color: #c6d0d8;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map a > b {
	font-size: .85rem;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map a > em {
	color: var(--hf-blue);
	font-size: .75rem;
	font-style: normal;
	font-weight: 850;
	text-transform: uppercase;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map a:hover > em,
.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map a:focus-visible > em {
	color: #ffb64d;
}

/* Family pages: expandable rows remain compact, readable and comparison-led. */
.hx-catalog-aligned.hx-freeze-catalog .hx-model-group {
	border: 0;
	padding-block: clamp(1rem, 3vw, 2rem);
}

.hx-catalog-aligned.hx-freeze-catalog .hx-model-disclosures {
	gap: .45rem;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-model-disclosure {
	background: #eef2f4;
	border: 0;
	border-radius: 0;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-model-disclosure[open] {
	background: #fff;
	box-shadow: inset 4px 0 0 var(--hf-orange), 0 16px 38px rgba(13, 23, 34, .07);
}

.hx-catalog-aligned.hx-freeze-catalog .hx-model-disclosure summary {
	min-height: 72px;
	padding: 1rem 1.35rem;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-model-disclosure summary b {
	font-size: 1.08rem;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-model-disclosure dl {
	background: var(--hf-mist);
	border: 0;
	gap: .8rem 1.5rem;
	padding: 1rem 1.35rem 1.35rem;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-model-disclosure dl > div {
	border: 0;
	padding: .45rem 0;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-model-disclosure dt {
	color: #647486;
}

/* Configuration and acceptance are four connected review decisions. */
.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-decision-grid,
.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-acceptance-grid {
	display: grid;
	gap: clamp(1.5rem, 3vw, 3rem);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-decision-grid article {
	background: transparent;
	padding: 0;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-decision-grid h3 {
	font-size: clamp(1.2rem, 1.8vw, 1.6rem);
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-acceptance-grid > div {
	background: transparent;
	border: 0;
	padding: 0;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-acceptance-grid span {
	color: var(--hf-orange);
	font-size: 1.7rem;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-acceptance-grid b {
	font-size: 1.18rem;
	line-height: 1.3;
}

.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-acceptance-grid p {
	color: var(--hf-copy);
}

.hx-catalog-aligned.hx-freeze-catalog .hx-related-decisions {
	display: grid;
	gap: .65rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hx-catalog-aligned.hx-freeze-catalog .hx-related-decisions a {
	background: #eef2f4;
	border-radius: 0;
	padding: 1rem 1.2rem;
}

@media (max-width: 1100px) {
	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__layout {
		grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr);
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__basis,
	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-inputs,
	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-cycle__drivers,
	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-decision-grid,
	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-acceptance-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-cycle-board {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 900px) {
	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__layout {
		grid-template-columns: 1fr;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__copy {
		padding: 4rem 0 3rem;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero h1 {
		max-width: 15ch;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__media {
		min-height: 430px;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-fit-grid {
		grid-template-columns: 1fr;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-cycle {
		grid-template-columns: 1fr;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-cycle li {
		grid-template-columns: 42px minmax(0, 1fr);
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-cycle li > span {
		grid-row: 1 / span 2;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-cycle li:not(:last-child)::after {
		content: "↓";
		left: 8px;
		right: auto;
		top: calc(100% + .1rem);
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-catalog-evidence--freeze .hx-catalog-evidence__copy {
		grid-template-columns: 1fr;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-catalog-evidence--freeze .hx-catalog-evidence__copy > *,
	.hx-catalog-aligned.hx-freeze-catalog .hx-catalog-evidence--freeze .hx-catalog-evidence__copy > p:not(.hx-eyebrow),
	.hx-catalog-aligned.hx-freeze-catalog .hx-catalog-evidence--freeze dl {
		grid-column: 1;
		grid-row: auto;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map a {
		grid-template-columns: 38px minmax(0, 1fr) auto;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map a > b {
		grid-column: 2;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map a > em {
		grid-column: 3;
		grid-row: 1 / span 2;
	}
}

@media (max-width: 600px) {
	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero h1 {
		font-size: clamp(2.55rem, 11.5vw, 3.45rem);
		max-width: 13ch;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero .hx-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero .hx-actions .hx-button {
		font-size: .78rem;
		line-height: 1.25;
		min-height: 62px;
		padding: .75rem;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__basis {
		gap: .45rem;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__basis > div {
		padding: .72rem .65rem;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__basis dt {
		font-size: .62rem;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__basis dd {
		font-size: .7rem;
		line-height: 1.35;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero .hx-source-note {
		display: none;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-inputs,
	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-cycle__drivers,
	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-decision-grid,
	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-acceptance-grid,
	.hx-catalog-aligned.hx-freeze-catalog .hx-related-decisions,
	.hx-catalog-aligned.hx-freeze-catalog .hx-catalog-evidence--freeze dl {
		grid-template-columns: 1fr;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__media {
		min-height: 310px;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__media--product img {
		padding: 1.25rem;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-catalog-hero__media figcaption {
		display: none;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map a {
		align-items: start;
		grid-template-columns: 32px minmax(0, 1fr);
		padding: 1rem;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map a > b,
	.hx-catalog-aligned.hx-freeze-catalog .hx-freeze-family-map a > em {
		grid-column: 2;
		grid-row: auto;
	}

	.hx-catalog-aligned.hx-freeze-catalog .hx-model-disclosure summary {
		padding: 1rem;
	}
}
