/**
 * FLASK Product Detail — mobile-first (Frame 04 Product Detail-Mobile).
 * Ignores site header/footer chrome; styles .flask-product only.
 */

.flask-product {
	--ink: #1c1c1a;
	--paper: #f2f0eb;
	--card: #e3e1da;
	--forest: #2e4b4a;
	--moss-line: #9cb2af;
	--caption: #f7f8f3;
	--mute: #6b6862;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--flask-font-mono, "IBM Plex Mono", ui-monospace, monospace);
}

.flask-product .woocommerce-notices-wrapper {
	order: 0;
	padding: 16px 20px 0;
	max-width: 350px;
	margin: 0 auto;
	box-sizing: border-box;
}

.flask-product__hero {
	order: 1;
}

.flask-product__batch-record {
	order: 2;
}

.flask-product__section--specs {
	order: 3;
}

.flask-product__section--analytical {
	order: 4;
}

.flask-product__section--inquiry {
	order: 5;
}

.flask-product__section--related {
	order: 6;
}

.flask-product__section--research {
	order: 7;
}

.flask-product__section--routes {
	order: 8;
}

.flask-product__section--calc,
.flask-product__section--citations,
.flask-product__section--accordions {
	display: none !important;
}

.flask-product__section {
	box-sizing: border-box;
	width: 100%;
	padding: 48px 20px;
	border-top: 0;
	max-width: 390px;
	margin: 0 auto;
}

.flask-product__section--dark {
	max-width: none;
	width: 100%;
	padding: 24px 20px 48px;
	background: var(--forest);
	color: var(--card);
}

.flask-product__section--dark > * {
	max-width: 350px;
	margin-left: auto;
	margin-right: auto;
}

.flask-product__section--inquiry {
	background: var(--paper);
}

.flask-product__section--calc {
	background: var(--paper);
}

.flask-product__kicker {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--forest);
}

.flask-product__section--dark .flask-product__kicker {
	color: var(--moss-line);
}

.flask-product__section-title {
	margin: 0 0 24px;
	font-size: 24px;
	font-weight: 300;
	line-height: 31px;
	letter-spacing: 0.02em;
	color: var(--ink);
}

.flask-product__section--dark .flask-product__section-title {
	color: var(--card);
}

.flask-product__section-lead {
	margin: 0 0 16px;
	font-size: 16px;
	font-weight: 300;
	line-height: 26px;
	color: var(--ink);
}

/* ---- Hero ---- */
.flask-product__hero {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	width: 100%;
	padding: 24px 20px 0;
	max-width: 390px;
	margin: 0 auto;
}

.flask-product__breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--forest);
}

.flask-product__breadcrumbs a {
	color: var(--forest);
	text-decoration: none;
}

.flask-product__breadcrumbs a:hover {
	color: var(--ink);
}

.flask-product__breadcrumb-sep {
	opacity: 0.55;
}

.flask-product__gallery {
	width: 100%;
}

.flask-product__gallery-main {
	position: relative;
	aspect-ratio: 350 / 267;
	width: 100%;
	background: #000;
	border: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.flask-product__gallery-main img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.flask-product__gallery-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: var(--card);
}

.flask-product__lot-bar {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
	min-height: 30px;
	margin: 0;
	padding: 7px 15px;
	background: var(--forest);
	color: var(--caption);
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.flask-product__gallery-dots {
	display: none;
}

.flask-product__gallery-thumbs {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	margin-top: 24px;
	width: 100%;
}

.flask-product__gallery-thumb {
	box-sizing: border-box;
	width: 52px;
	height: 38px;
	padding: 0;
	border: 1px solid #d6d3cb;
	border-radius: 0;
	background: #f7f8f3;
	font-family: inherit;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0;
	color: var(--ink);
	cursor: pointer;
}

.flask-product__gallery-thumb.is-active {
	border-color: var(--ink);
}

.flask-product__summary {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	margin: 0;
	padding: 48px 0;
	width: 100%;
}

.flask-product__badges,
.flask-product__purchase {
	display: none;
}

.flask-product__badge {
	padding: 0;
	border: 0;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--forest);
}

.flask-product__title {
	margin: 0;
	font-size: 32px;
	font-weight: 300;
	line-height: 39px;
	letter-spacing: 0;
	color: var(--ink);
}

.flask-product__sku {
	margin: 0;
	font-size: 12px;
	line-height: 16px;
	color: var(--mute);
}

.flask-product__lead,
.flask-product__quick-info {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 16px;
	font-weight: 300;
	line-height: 26px;
	color: var(--ink);
}

.flask-product__quick-info li + li {
	margin-top: 4px;
}

.flask-product__field {
	width: 100%;
}

.flask-product__label {
	display: block;
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--ink);
}

.flask-product__size-chips {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 8px;
	width: 100%;
	margin: 0;
}

.flask-product__size-chips button {
	flex: 1 1 0;
	box-sizing: border-box;
	min-height: 52px;
	padding: 14px 8px;
	border: 1px solid var(--ink);
	border-radius: 0;
	background: transparent;
	color: var(--ink);
	font-family: inherit;
	font-size: 14px;
	font-weight: 300;
	line-height: 24px;
	text-align: center;
	text-transform: uppercase;
	cursor: pointer;
}

.flask-product__size-chips button.is-active {
	background: var(--ink);
	border-color: var(--ink);
	color: var(--caption);
}

.flask-product__size-select {
	display: none;
}

.flask-product__price {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	width: 100%;
	margin: 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 26px;
	letter-spacing: 0.02em;
	color: var(--ink);
}

/* Phase 1: hide WooCommerce price remnants until payment is live. */
.single-product .summary .price,
.single-product p.price {
	display: none !important;
}

.flask-product__price del {
	opacity: 0.45;
	margin-right: 8px;
}

.flask-product__price--request {
	font-size: 14px;
	color: var(--mute);
}

.flask-product__summary > .flask-product__kicker {
	margin: 0 0 -16px;
}

.flask-product__rule {
	display: block;
	width: 100%;
	height: 0;
	margin: 0;
	border: 0;
	border-top: 1px solid var(--ink);
	background: transparent;
}

.flask-product__status {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	margin: 0;
	width: 100%;
	min-height: 54px;
	padding: 19px 18px;
	margin-bottom: -16px;
	background: var(--card);
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--ink);
}

.flask-product__note {
	margin: 0;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--ink);
}

/* Purchase / WooCommerce form */
.flask-product__purchase {
	width: 100%;
	margin: 0;
}

.flask-product__purchase form.cart {
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: stretch;
	margin: 0;
}

.flask-product__purchase .quantity {
	display: flex;
	align-items: stretch;
	width: 100%;
	border: 1px solid var(--ink);
	background: transparent;
}

.flask-product__purchase .quantity .qty {
	flex: 1 1 auto;
	width: auto;
	min-height: 48px;
	border: none;
	background: transparent;
	text-align: center;
	font-family: inherit;
	font-size: 14px;
	font-weight: 300;
	color: var(--ink);
	-moz-appearance: textfield;
}

.flask-product__purchase .quantity .qty::-webkit-outer-spin-button,
.flask-product__purchase .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.flask-product__purchase .single_add_to_cart_button,
.flask-product__cta {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
	width: 100% !important;
	min-height: 52px !important;
	margin: 0 !important;
	padding: 16px 17px 16px 16px !important;
	border: 1px solid var(--ink) !important;
	border-radius: 0 !important;
	background: var(--ink) !important;
	color: var(--caption, #f7f8f3) !important;
	font-family: inherit !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: 16px !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	box-shadow: none !important;
	cursor: pointer;
}

.flask-product__purchase .single_add_to_cart_button:hover,
.flask-product__cta:hover {
	background: var(--forest) !important;
	border-color: var(--forest) !important;
}

.flask-product__cta::after,
.flask-product__purchase .single_add_to_cart_button::after {
	content: "\2192";
	margin-left: auto;
	color: inherit;
}

/* Specs — dark forest block */
.flask-product__section--dark .flask-product__specs {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.flask-product__section--dark .flask-product__spec-row {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 24px;
	padding: 12px 0;
	border-top: 1px solid var(--moss-line);
	border-bottom: 0;
}

.flask-product__section--dark .flask-product__spec-row:last-child {
	border-bottom: 1px solid var(--moss-line);
}

.flask-product__section--dark .flask-product__spec-row dt {
	flex: 0 0 120px;
	margin: 0;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--card);
}

.flask-product__section--dark .flask-product__spec-row dd {
	flex: 1 1 auto;
	margin: 0;
	min-width: 0;
	font-size: 14px;
	font-weight: 300;
	line-height: 24px;
	color: var(--card);
	word-break: break-word;
}

.flask-product__section--dark .flask-product__spec-row dd a {
	color: var(--sage, #c6dfd4);
	text-decoration: none;
}

.flask-product__section--dark .flask-product__spec-row dd a:hover {
	text-decoration: underline;
}

.flask-product__batch-desk {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
}

.flask-product__batch-intro {
	display: contents;
}

.flask-product__batch-intro-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	width: 100%;
	order: 1;
}

.flask-product__batch-lot {
	margin: 0;
	font-size: 24px;
	font-weight: 300;
	line-height: 31px;
	letter-spacing: 0.02em;
	color: var(--card);
}

.flask-product__batch-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 2px 8px 2px 4px;
	background: var(--card);
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--forest);
}

.flask-product__batch-chip span {
	display: block;
	width: 5px;
	height: 16px;
	background: var(--forest);
}

.flask-product__batch-intro .flask-product__section-lead {
	order: 2;
	margin: 0;
	color: var(--card);
}

.flask-product__batch-facts {
	order: 3;
	width: 100%;
}

.flask-product__batch-cta {
	order: 4;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 16px 17px 16px 16px;
	border: 1px solid var(--card);
	background: transparent;
	color: var(--card);
	font-family: inherit;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
}

.flask-product__batch-cta .flask-product__outline-cta-arrow::before {
	background: var(--card);
}

.flask-product__batch-cta .flask-product__outline-cta-arrow::after {
	border-color: var(--card);
}

.flask-product__batch-list {
	display: none;
}

.flask-product__section--dark.flask-product__section--specs {
	background: var(--paper);
	color: var(--ink);
	padding: 24px 20px;
	max-width: 390px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	box-sizing: border-box;
}

.flask-product__section--dark.flask-product__section--specs > * {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	box-sizing: border-box;
}

.flask-product__section--dark.flask-product__section--specs .flask-product__kicker {
	color: var(--forest);
}

.flask-product__section--dark.flask-product__section--specs .flask-product__section-title {
	margin: 0 0 24px;
	color: var(--ink);
}

.flask-product__section--dark.flask-product__section--specs .flask-product__spec-row {
	border-top-color: #d6d3cb;
}

.flask-product__section--dark.flask-product__section--specs .flask-product__spec-row:last-child {
	border-bottom-color: #d6d3cb;
}

.flask-product__section--dark.flask-product__section--specs .flask-product__specs:not(:last-child) .flask-product__spec-row:last-child {
	border-bottom: 0;
}

.flask-product__section--dark.flask-product__section--specs .flask-product__spec-row dt,
.flask-product__section--dark.flask-product__section--specs .flask-product__spec-row dd {
	color: var(--ink);
}

/* Specs is paper-backed; undo dark-section light text on blend blocks. */
.flask-product__section--dark.flask-product__section--specs .flask-product__composition-label,
.flask-product__section--dark.flask-product__section--specs .flask-product__composition-head,
.flask-product__section--dark.flask-product__section--specs .flask-product__component-kicker {
	color: var(--mute);
}

.flask-product__section--dark.flask-product__section--specs .flask-product__composition-row,
.flask-product__section--dark.flask-product__section--specs .flask-product__component-title {
	color: var(--ink);
}

.flask-product__section--dark.flask-product__section--specs .flask-product__composition-table,
.flask-product__section--dark.flask-product__section--specs .flask-product__composition-head,
.flask-product__section--dark.flask-product__section--specs .flask-product__composition-row {
	border-color: #d6d3cb;
}

.flask-product__section--analytical {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	padding: 24px 20px;
}

.flask-product__section--analytical .flask-product__section-title {
	margin: 0;
}

.flask-product__section--analytical .flask-product__prose {
	display: none;
}

.flask-product__section--analytical .flask-product__chart {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 218px;
	margin: 0;
	background: #f7f8f3;
	border: 1px solid #d6d3cb;
}

.flask-product__section--analytical .flask-product__chart img,
.flask-product__section--analytical .flask-product__chart-svg {
	display: block;
	width: 100%;
	height: auto;
}

.flask-product__chart-caption {
	display: block;
	margin: 8px 20px 16px;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0;
	color: var(--ink);
}

.flask-product__inquiry-add .flask-product__outline-cta-arrow {
	margin-left: auto;
}

.flask-product__inquiry > .flask-product__inquiry-target {
	display: block;
	margin: 0;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--ink);
}

.flask-product__notice-box .flask-product__inquiry-target {
	display: none;
}

/* Light specs (fallback sections) */
.flask-product__specs {
	margin: 0;
}

.flask-product__spec-row {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 24px;
	padding: 12px 0;
	border-top: 1px solid var(--card);
}

.flask-product__spec-row dt {
	flex: 0 0 120px;
	margin: 0;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mute);
}

.flask-product__spec-row dd {
	flex: 1 1 auto;
	margin: 0;
	font-size: 14px;
	font-weight: 300;
	line-height: 24px;
	color: var(--ink);
}

.flask-product__composition {
	width: 100%;
	margin: 0 0 32px;
}

.flask-product__composition-label {
	margin: 0 0 12px;
	font-family: Inter, system-ui, sans-serif;
	font-size: 12px;
	font-weight: 500;
	line-height: 16px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mute);
}

.flask-product__section--dark .flask-product__composition-label {
	color: var(--card);
}

.flask-product__composition-table {
	display: flex;
	flex-direction: column;
	width: 100%;
	border-top: 1px solid var(--card);
}

.flask-product__composition-head,
.flask-product__composition-row {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr) minmax(0, 1fr) minmax(0, 1fr);
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid var(--card);
}

.flask-product__composition-head {
	font-family: Inter, system-ui, sans-serif;
	font-size: 12px;
	font-weight: 500;
	line-height: 16px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mute);
}

.flask-product__section--dark .flask-product__composition-head {
	color: var(--card);
}

.flask-product__composition-row {
	font-family: Inter, system-ui, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	color: var(--ink);
}

.flask-product__section--dark .flask-product__composition-row {
	color: var(--snow, #fff);
}

.flask-product__composition-row .flask-product__mono,
.flask-product__mono {
	font-family: "IBM Plex Mono", ui-monospace, monospace;
	font-weight: 400;
}

.flask-product__components {
	display: flex;
	flex-direction: column;
	gap: 32px;
	width: 100%;
	margin: 0 0 32px;
}

.flask-product__component {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
}

.flask-product__component-kicker {
	margin: 0;
	font-family: Inter, system-ui, sans-serif;
	font-size: 12px;
	font-weight: 500;
	line-height: 16px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mute);
}

.flask-product__component-title {
	margin: 0;
	font-family: "IBM Plex Mono", ui-monospace, monospace;
	font-size: 20px;
	font-weight: 300;
	line-height: 28px;
	color: var(--ink);
}

.flask-product__specs--component {
	width: 100%;
}

.flask-product__batch-blend-badge {
	display: inline-flex;
	align-items: center;
	margin: 8px 0 0;
	padding: 8px 12px;
	border: 1px solid var(--card);
	font-family: "IBM Plex Mono", ui-monospace, monospace;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--snow, #fff);
}

.flask-product__blend-tagline {
	margin: 8px 0 0;
	font-family: "IBM Plex Mono", ui-monospace, monospace;
	font-size: 12px;
	font-weight: 400;
	line-height: 18px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mute);
}

.flask-product__price--placeholder .flask-product__price-value {
	display: block;
	margin-top: 4px;
	font-family: "IBM Plex Mono", ui-monospace, monospace;
	font-size: 28px;
	font-weight: 300;
	line-height: 36px;
	color: var(--ink);
}

@media (max-width: 767px) {
	.flask-product__composition-head,
	.flask-product__composition-row {
		grid-template-columns: 1fr 1fr;
		gap: 8px 12px;
	}
}

/* Prose / chart */
.flask-product__prose {
	font-size: 16px;
	font-weight: 300;
	line-height: 26px;
	color: var(--ink);
}

.flask-product__prose p {
	margin: 0 0 12px;
}

.flask-product__prose--light,
.flask-product__section--dark .flask-product__prose {
	color: var(--card);
}

.flask-product__chart {
	margin: 20px 0 0;
	border: 0;
	background: #fff;
}

.flask-product__chart img,
.flask-product__chart-svg {
	display: block;
	width: 100%;
	height: auto;
}

/* Calculator launcher */
.flask-product__calc-open {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 52px;
	padding: 16px;
	border: 1px solid var(--ink);
	border-radius: 0;
	background: transparent;
	color: var(--ink);
	font-family: inherit;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
}

.flask-product__calc-wrap.is-collapsed .flask-calc-mobile {
	display: none !important;
}

.flask-product__calc-wrap .flask-calc-mobile--panel {
	z-index: 10000;
}

/* Citations */
.flask-product__citations {
	list-style: none;
	margin: 0;
	padding: 0;
}

.flask-product__citations li {
	padding: 16px 0;
	border-top: 1px solid var(--card);
	font-size: 16px;
	font-weight: 300;
	line-height: 26px;
}

.flask-product__citations strong {
	display: block;
	color: var(--ink);
	font-weight: 400;
}

.flask-product__cite-meta {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	color: var(--mute);
}

/* Request Order */
.flask-product__inquiry {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	width: 100%;
}

.flask-product__inquiry > .flask-product__field {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	margin: 0;
}

.flask-product__inquiry > .flask-product__field > .flask-product__label {
	margin: 0;
}

.flask-product__section--inquiry .flask-product__section-title {
	margin: 0;
}

.flask-product__section--inquiry .flask-product__section-lead {
	margin: 0;
}

.flask-product__section--inquiry .flask-product__kicker {
	margin: 0;
}

.flask-product__req {
	color: #a00000;
}

.flask-product__inquiry-products {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
}

.flask-product__inquiry-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	box-sizing: border-box;
	width: 100%;
	padding: 16px 15px;
	border: 1px solid var(--ink);
	background: var(--card);
}

.flask-product__inquiry-card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
}

.flask-product__inquiry-card-label {
	margin: 0;
	font-size: 14px;
	font-weight: 300;
	line-height: 24px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--forest);
}

.flask-product__inquiry-remove {
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font-family: inherit;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mute);
	cursor: pointer;
}

.flask-product__inquiry-remove:hover,
.flask-product__inquiry-remove:focus {
	color: #a00000;
}

.flask-product__inquiry-card .flask-product__label {
	margin: 0;
	color: var(--forest);
}

.flask-product__inquiry-card .flask-product__input,
.flask-product__inquiry-card .flask-product__textarea {
	margin-bottom: 0;
	background: var(--caption, #f7f8f3);
}

.flask-product__inquiry-row {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
}

.flask-product__inquiry-half {
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1 1 0;
	min-width: 0;
}

.flask-product__inquiry-add {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	margin: 0;
	padding: 16px 17px 16px 16px;
	border: 1px solid var(--ink);
	background: transparent;
	font-family: inherit;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink);
	cursor: pointer;
}

.flask-product__input,
.flask-product__textarea,
.flask-product__select {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 18px 16px;
	border: 1px solid var(--ink);
	border-radius: 0;
	background: var(--caption, #f7f8f3);
	font-family: inherit;
	font-size: 16px;
	font-weight: 300;
	line-height: 26px;
	color: var(--ink);
	appearance: none;
}

.flask-product__input::placeholder,
.flask-product__textarea::placeholder {
	color: var(--mute);
	opacity: 1;
}

.flask-product__select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231C1C1A' stroke-width='1.2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	padding-right: 40px;
	color: var(--mute);
}

.flask-product__select.is-filled {
	color: var(--ink);
}

.flask-product__textarea {
	min-height: 120px;
	resize: vertical;
}

.flask-product__inquiry-checks {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}

.flask-product__check {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	color: var(--ink);
	cursor: pointer;
}

.flask-product__check input {
	flex: 0 0 auto;
	box-sizing: border-box;
	width: 22px;
	height: 22px;
	margin: 0;
	border: 1px solid var(--ink);
	border-radius: 0;
	accent-color: var(--ink);
}

.flask-product__inquiry-submit.is-disabled,
.flask-product__inquiry-submit:disabled {
	opacity: 0.45;
	cursor: not-allowed;
	pointer-events: none;
}

.flask-product__inquiry-submit::after {
	content: "\2192";
	margin-left: auto;
	color: inherit;
}

.flask-product__inquiry-feedback {
	display: none;
	width: 100%;
	margin: 0;
	font-family: inherit;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	color: #a00000;
}

.flask-product__inquiry-feedback.is-visible {
	display: block;
}

.flask-product__inquiry-feedback.is-success {
	color: var(--forest);
}

.flask-product__inquiry-feedback.is-error {
	color: #a00000;
}

.flask-product__inquiry-feedback.is-submitting {
	color: var(--mute);
}

.flask-product__notice-box {
	box-sizing: border-box;
	width: 100%;
	padding: 32px 14px;
	border: 0;
	background: var(--caption, #f7f8f3);
}

.flask-product__notice-box-title {
	margin: 8px 0 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 26px;
	letter-spacing: 0.02em;
	text-transform: none;
	color: var(--ink);
}

.flask-product__notice-box-body {
	margin: 16px 0 0;
	font-size: 16px;
	font-weight: 300;
	line-height: 26px;
	color: var(--ink);
}

.flask-product__notice-box .flask-product__kicker {
	margin: 0;
}

.flask-product__notice {
	margin: 0 0 8px;
	font-size: 13px;
}

.flask-product__notice--success {
	color: var(--forest);
}

.flask-product__notice--error {
	color: #a00000;
}

/* Accordions */
.flask-product__section--accordions {
	padding-top: 24px;
	padding-bottom: 24px;
}

.flask-product__accordion {
	border-top: 1px solid var(--ink);
}

.flask-product__accordion:last-child {
	border-bottom: 1px solid var(--ink);
}

.flask-product__accordion-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 16px 0;
	border: none;
	background: transparent;
	font-family: inherit;
	font-size: 14px;
	font-weight: 400;
	line-height: 24px;
	text-align: left;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	cursor: pointer;
	color: var(--ink);
}

.flask-product__accordion-icon {
	font-size: 18px;
	line-height: 1;
	color: var(--ink);
}

.flask-product__accordion-trigger[aria-expanded="true"] .flask-product__accordion-icon {
	transform: rotate(45deg);
}

.flask-product__accordion-panel {
	padding-bottom: 16px;
}

.flask-product__accordion-panel[hidden] {
	display: none !important;
}

/* Related Research — Frame 76 */
.flask-product__section--research {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 48px;
	padding: 48px 20px;
	background: #e3e1da;
}

.flask-product__research-head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	width: 100%;
}

.flask-product__section--research .flask-product__kicker {
	margin: 0;
	width: 100%;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #2e5554;
}

.flask-product__section--research .flask-product__section-title {
	margin: 0;
	width: 100%;
	font-size: 32px;
	font-weight: 300;
	line-height: 39px;
	letter-spacing: 0;
	color: #1c1d1b;
}

.flask-product__research-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 48px;
	width: 100%;
}

.flask-product__research-list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 16px 0 0;
	width: 100%;
	border-top: 1px solid #6b6862;
	border-bottom: 1px solid #6b6862;
}

.flask-product__research-list > li {
	width: 100%;
	padding: 0 0 16px;
	border-bottom: 1px solid #6b6862;
}

.flask-product__research-list > li:last-child {
	border-bottom: 0;
}

.flask-product__research-item {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	width: 100%;
	min-height: 104px;
	text-decoration: none;
	color: inherit;
}

.flask-product__research-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	flex: 1 1 auto;
	min-width: 0;
}

.flask-product__research-top {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	width: 100%;
}

.flask-product__research-label {
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #2e5554;
}

.flask-product__research-title {
	font-size: 18px;
	font-weight: 400;
	line-height: 26px;
	letter-spacing: 0.02em;
	color: #1c1d1b;
}

.flask-product__research-meta {
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0;
	text-transform: none;
	color: #62625e;
}

.flask-product__research-arrow {
	flex: 0 0 auto;
	font-size: 18px;
	font-weight: 400;
	line-height: 23px;
	text-align: right;
	color: #1c1c1a;
}

.flask-product__section--research .flask-product__outline-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	padding: 16px 17px 16px 16px;
	border: 1px solid #1c1c1a;
	background: transparent;
	font-family: inherit;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	color: #1c1d1b;
}

.flask-product__outline-cta-arrow {
	position: relative;
	flex: 0 0 22px;
	width: 22px;
	height: 12px;
}

.flask-product__outline-cta-arrow::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 18px;
	height: 1px;
	background: #1c1c1a;
	transform: translateY(-50%);
}

.flask-product__outline-cta-arrow::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 7px;
	height: 7px;
	border-top: 1px solid #1c1c1a;
	border-right: 1px solid #1c1c1a;
	transform: translateY(-50%) rotate(45deg);
}

/* Related Materials — Frame 90 */
.flask-product__section--related {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 48px;
	padding: 48px 20px;
	background: #f2f0eb;
}

.flask-product__section--related .flask-product__kicker {
	margin: 0;
	width: 100%;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #2e4b4a;
}

.flask-product__materials {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 16px 0 0;
	width: 100%;
	border-top: 1px solid #d6d3cb;
	border-bottom: 1px solid #d6d3cb;
}

.flask-product__materials > li {
	width: 100%;
	padding: 0 0 16px;
	border-bottom: 1px solid #d6d3cb;
}

.flask-product__materials > li:last-child {
	border-bottom: 0;
}

.flask-product__material {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 8px;
	box-sizing: border-box;
	width: 100%;
	min-height: 50px;
	text-decoration: none;
	color: inherit;
}

.flask-product__material-bar {
	flex: 0 0 5px;
	width: 5px;
	height: 50px;
	background: #2e4b4a;
}

.flask-product__material--skin .flask-product__material-bar,
.flask-product__material--meta .flask-product__material-bar {
	background: #5a6b4a;
}

.flask-product__material--cog .flask-product__material-bar {
	background: #41625d;
}

.flask-product__material-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 8px;
	flex: 1 1 auto;
	min-width: 0;
}

.flask-product__material-title {
	font-size: 18px;
	font-weight: 400;
	line-height: 26px;
	letter-spacing: 0.02em;
	color: #1c1c1a;
	text-transform: none;
}

.flask-product__material-meta {
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0;
	text-transform: none;
	color: #1c1c1a;
}

.flask-product__material-arrow {
	position: relative;
	flex: 0 0 22px;
	width: 22px;
	height: 12px;
	margin-left: auto;
}

.flask-product__material-arrow::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 18px;
	height: 1px;
	background: #1c1c1a;
	transform: translateY(-50%);
}

.flask-product__material-arrow::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 7px;
	height: 7px;
	border-top: 1px solid #1c1c1a;
	border-right: 1px solid #1c1c1a;
	transform: translateY(-50%) rotate(45deg);
}

/* Verification Routes — Frame 91 */
.flask-product__section--routes {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 24px;
	padding: 48px 20px;
	background: #f2f0eb;
}

.flask-product__routes-head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	width: 100%;
}

.flask-product__section--routes .flask-product__kicker {
	margin: 0;
	width: 100%;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #2e5554;
}

.flask-product__section--routes .flask-product__section-title {
	margin: 0;
	width: 100%;
	font-size: 32px;
	font-weight: 300;
	line-height: 39px;
	letter-spacing: 0;
	color: #1c1d1b;
}

.flask-product__routes {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
	margin: 0;
}

.flask-product__route {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: 21px;
	box-sizing: border-box;
	width: 100%;
	padding: 0;
	background: #f7f8f3;
}

.flask-product__route-bar {
	flex: 0 0 7px;
	width: 7px;
	align-self: stretch;
	background: #2e4b4a;
}

.flask-product__route-inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	flex: 1 1 auto;
	min-width: 0;
	padding: 24px 20px 24px 0;
	box-sizing: border-box;
}

.flask-product__route-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
}

.flask-product__route-label {
	margin: 0;
	width: 100%;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #2e5554;
}

.flask-product__route:first-child .flask-product__route-label {
	color: #2e4b4a;
}

.flask-product__route-title {
	margin: 0;
	width: 100%;
	font-size: 18px;
	font-weight: 400;
	line-height: 26px;
	letter-spacing: 0.02em;
	color: #1c1d1b;
}

.flask-product__route-body {
	margin: 0;
	width: 100%;
	font-size: 16px;
	font-weight: 300;
	line-height: 26px;
	color: #1c1d1b;
}

.flask-product__route-link {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	gap: 4px;
	width: 100%;
	margin: 0;
	padding-top: 16px;
	border-top: 1px solid #d6d3cb;
	font-size: 14px;
	font-weight: 300;
	line-height: 24px;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	color: #1c1d1b;
}

.flask-product__route-link-icon {
	flex: 0 0 auto;
	font-size: 16px;
	font-weight: 400;
	line-height: 21px;
	text-align: right;
	color: #2e4b4a;
}

.flask-product__overview {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
}

.flask-product__gallery-stage {
	position: relative;
	width: 100%;
}

.flask-product__kicker--desk,
.flask-product__research-thumb,
.flask-product__research-head .flask-product__section-lead {
	display: none !important;
}

.flask-product__inquiry-intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	width: 100%;
	margin: 0 0 24px;
}

.flask-product__inquiry-pair {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
}

.flask-product__inquiry-row--triple {
	flex-wrap: wrap;
}

.flask-product__inquiry-sku {
	flex: 1 1 100%;
}

.flask-product__section--inquiry > .flask-product__notice-box {
	margin-top: 24px;
}

@media (min-width: 768px) {
	.flask-product__hero,
	.flask-product__section {
		max-width: 560px;
		padding-left: 24px;
		padding-right: 24px;
	}

	.flask-product__section--dark > * {
		max-width: 560px;
	}

	.flask-product__section--dark.flask-product__section--specs {
		max-width: 560px;
		padding-left: 24px;
		padding-right: 24px;
	}
}


@media (min-width: 1025px) {
	.flask-product {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		max-width: none;
		background: #f2f0eb;
	}

	.flask-product .woocommerce-notices-wrapper {
		max-width: 1440px;
		padding: 16px 64px 0;
	}

	.flask-product__hero,
	.flask-product__section {
		box-sizing: border-box;
		width: 100%;
		max-width: 1440px;
		margin: 0 auto;
		padding-left: 64px;
		padding-right: 64px;
	}

	.flask-product__only-mobile {
		display: none !important;
	}

	.flask-product__section--calc,
	.flask-product__section--citations,
	.flask-product__section--accordions {
		display: none !important;
	}

	.flask-product__hero {
		order: 1;
		padding: 48px 64px 64px;
		gap: 32px;
	}

	.flask-product__batch-record {
		order: 2;
	}

	.flask-product__section--specs {
		order: 3;
	}

	.flask-product__section--analytical {
		order: 4;
	}

	.flask-product__section--inquiry {
		order: 5;
	}

	.flask-product__section--related {
		order: 6;
	}

	.flask-product__section--research {
		order: 7;
	}

	.flask-product__section--routes {
		order: 8;
	}

	.flask-product__kicker {
		margin: 0;
		letter-spacing: 0.12em;
	}

	.flask-product__section-title {
		margin: 0;
		font-size: 48px;
		font-weight: 300;
		line-height: 56px;
		letter-spacing: 0;
	}

	.flask-product__section-lead {
		margin: 0;
		font-size: 16px;
		font-weight: 300;
		line-height: 28px;
	}

	.flask-product__label {
		margin: 0 0 16px;
		letter-spacing: 0.12em;
	}

	.flask-product__overview {
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-start;
		gap: 72px;
		width: 100%;
		max-width: 1312px;
	}

	.flask-product__gallery {
		width: 624px;
		max-width: 624px;
		flex: 0 0 624px;
	}

	.flask-product__summary {
		width: 616px;
		max-width: 616px;
		flex: 0 0 616px;
		gap: 0;
		padding: 0;
	}

	.flask-product__gallery-stage {
		position: relative;
		width: 624px;
	}

	.flask-product__gallery-main {
		width: 624px;
		height: 520px;
		aspect-ratio: auto;
	}

	.flask-product__lot-bar {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		width: 624px;
		min-height: 52px;
		padding: 7px 42px 7px 15px;
	}

	.flask-product__gallery-dots {
		display: none;
	}

	.flask-product__gallery-thumbs {
		display: flex !important;
		flex-direction: row;
		align-items: center;
		gap: 12px;
		margin-top: 6px;
		width: 180px;
	}

	.flask-product__gallery-thumb {
		box-sizing: border-box;
		width: 52px;
		height: 38px;
		padding: 0;
		border: 1px solid #d6d3cb;
		border-radius: 0;
		background: #f7f8f3;
		font-family: inherit;
		font-size: 12px;
		font-weight: 400;
		line-height: 16px;
		letter-spacing: 0.12em;
		color: var(--ink);
		cursor: pointer;
	}

	.flask-product__gallery-thumb.is-active {
		border-color: var(--ink);
	}

	.flask-product__kicker--desk {
		display: block !important;
		margin: 0 0 16px;
		letter-spacing: 0.16em;
	}

	.flask-product__summary > .flask-product__kicker {
		margin: 0 0 16px;
		letter-spacing: 0.16em;
	}

	.flask-product__badges {
		display: none;
	}

	.flask-product__title {
		margin: 0 0 16px;
		font-size: 48px;
		line-height: 56px;
	}

	.flask-product__lead,
	.flask-product__quick-info {
		margin: 0;
		font-size: 16px;
		line-height: 28px;
	}

	.flask-product__rule {
		display: block !important;
		width: 100%;
		height: 1px;
		margin: 30px 0 28px;
		border: 0;
		background: var(--ink);
	}

	.flask-product__field {
		margin: 0 0 32px;
	}

	.flask-product__size-chips {
		gap: 16px;
		width: auto;
	}

	.flask-product__size-chips button {
		flex: 0 0 116px;
		width: 116px;
		height: 52px;
		min-height: 52px;
		padding: 14px 8px;
	}

	.flask-product__price {
		margin: 0 0 26px;
		gap: 14px;
		font-size: 20px;
		line-height: 30px;
	}

	.flask-product__price .flask-product__label,
	.flask-product__field .flask-product__label {
		margin: 0 0 14px;
	}

	.flask-product__price .woocommerce-Price-amount,
	.flask-product__price .amount {
		font-size: 20px;
		font-weight: 400;
		line-height: 30px;
	}

	.flask-product__status {
		display: flex !important;
		align-items: center;
		box-sizing: border-box;
		width: 616px;
		min-height: 54px;
		margin: 0 0 16px;
		padding: 19px 18px;
		border: 1px solid var(--ink);
		background: var(--card);
		letter-spacing: 0.12em;
	}

	.flask-product__purchase {
		display: none;
	}

	.flask-product__cta--request {
		display: flex !important;
		width: 616px !important;
		margin: 0 0 15px !important;
	}

	.flask-product__note {
		display: block;
		letter-spacing: 0.12em;
	}

	.flask-product__section--dark {
		max-width: none;
		width: 100%;
		padding: 96px 64px;
	}

	.flask-product__section--dark > * {
		max-width: 1312px;
		margin-left: auto;
		margin-right: auto;
	}

	.flask-product__batch-desk {
		display: flex !important;
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-start;
		gap: 125px;
		width: 100%;
		max-width: 1312px;
	}

	.flask-product__batch-intro {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 64px;
		width: 430px;
		flex: 0 0 430px;
	}

	.flask-product__batch-intro-copy {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
		width: 100%;
		order: 0;
	}

	.flask-product__batch-intro .flask-product__kicker {
		color: var(--card);
	}

	.flask-product__batch-lot {
		margin: 0;
		font-size: 32px;
		font-weight: 300;
		line-height: 42px;
		color: var(--card);
	}

	.flask-product__batch-chip {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		margin: 0;
		padding: 4px 8px 4px 4px;
		background: var(--card);
		font-size: 12px;
		font-weight: 400;
		line-height: 16px;
		letter-spacing: 0.16em;
		text-transform: uppercase;
		color: var(--forest);
	}

	.flask-product__batch-chip span {
		display: block;
		width: 5px;
		height: 16px;
		background: var(--forest);
	}

	.flask-product__batch-intro .flask-product__section-lead {
		order: 0;
		color: var(--card);
	}

	.flask-product__batch-cta {
		order: 0;
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		box-sizing: border-box;
		width: 286px;
		height: 52px;
		min-height: 52px;
		margin: 0;
		padding: 16px 16px 16px 16px;
		border: 1px solid var(--ink);
		background: #f2f0eb;
		color: var(--ink) !important;
		font-family: inherit;
		font-size: 12px;
		font-weight: 400;
		line-height: 16px;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		text-decoration: none !important;
		box-shadow: none;
	}

	.flask-product__batch-cta span {
		text-decoration: none !important;
	}

	.flask-product__batch-cta .flask-product__outline-cta-arrow {
		flex: 0 0 22px;
		margin-left: auto;
	}

	.flask-product__batch-cta .flask-product__outline-cta-arrow::before {
		background: var(--ink);
	}

	.flask-product__batch-cta .flask-product__outline-cta-arrow::after {
		border-color: var(--ink);
	}

	.flask-product__batch-cta:hover,
	.flask-product__batch-cta:focus {
		background: var(--forest);
		border-color: var(--forest);
		color: var(--caption, #f7f8f3) !important;
	}

	.flask-product__batch-cta:hover .flask-product__outline-cta-arrow::before,
	.flask-product__batch-cta:focus .flask-product__outline-cta-arrow::before {
		background: var(--caption, #f7f8f3);
	}

	.flask-product__batch-cta:hover .flask-product__outline-cta-arrow::after,
	.flask-product__batch-cta:focus .flask-product__outline-cta-arrow::after {
		border-color: var(--caption, #f7f8f3);
	}

	.flask-product__batch-facts {
		order: 0;
		display: block;
		width: 759px;
		flex: 0 0 759px;
		box-shadow: inset 0 -1px var(--card);
	}

	.flask-product__batch-facts .flask-product__specs {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: stretch;
		column-gap: 20px;
		width: auto;
		min-width: 0;
	}

	.flask-product__section--dark .flask-product__batch-facts .flask-product__spec-row {
		display: grid;
		grid-template-columns: 160px minmax(0, 1fr);
		align-items: start;
		align-content: start;
		column-gap: 16px;
		row-gap: 0;
		width: 100%;
		height: 100%;
		box-sizing: border-box;
		padding: 12px 0 24px;
		border-top: 1px solid var(--card);
		border-bottom: 0;
	}

	.flask-product__section--dark .flask-product__batch-facts .flask-product__spec-row:last-child {
		padding-bottom: 12px;
		border-bottom: 0;
	}

	.flask-product__section--dark .flask-product__batch-facts .flask-product__spec-row dt,
	.flask-product__section--dark .flask-product__batch-facts .flask-product__spec-row dd {
		float: none !important;
		width: auto;
		min-width: 0;
		max-width: none;
		flex: none;
	}

	.flask-product__section--dark .flask-product__batch-facts .flask-product__spec-row dt {
		letter-spacing: 0.16em;
		color: var(--card);
	}

	.flask-product__section--dark .flask-product__batch-facts .flask-product__spec-row dd {
		font-size: 14px;
		line-height: 24px;
		color: var(--card);
		text-align: left;
	}

	.flask-product__section--specs,
	.flask-product__section--dark.flask-product__section--specs {
		display: grid;
		grid-template-columns: 520px 758px;
		justify-content: space-between;
		align-items: start;
		column-gap: 0;
		row-gap: 40px;
		max-width: 1440px;
		padding: 64px;
		background: #f7f8f3;
		color: var(--ink);
	}

	.flask-product__section--specs > *,
	.flask-product__section--dark.flask-product__section--specs > * {
		width: auto;
		max-width: none;
		margin: 0;
	}

	.flask-product__specs-intro {
		width: 520px;
		grid-column: 1;
		grid-row: 1;
	}

	.flask-product__section--specs .flask-product__kicker,
	.flask-product__section--dark.flask-product__section--specs .flask-product__kicker {
		margin: 0 0 16px;
		color: var(--forest);
	}

	.flask-product__section--specs .flask-product__section-title,
	.flask-product__section--dark.flask-product__section--specs .flask-product__section-title {
		margin: 0;
		color: var(--ink);
	}

	.flask-product__specs-grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-rows: repeat(var(--spec-rows, 6), auto);
		align-items: stretch;
		column-gap: 13px;
		width: 758px;
		grid-column: 2;
		grid-row: 1;
		box-shadow: inset 0 -1px #6b6862;
	}

	.flask-product__composition {
		grid-column: 1 / -1;
		grid-row: 2;
		width: 100%;
		margin: 0;
	}

	.flask-product__components {
		grid-column: 1 / -1;
		grid-row: 3;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px 48px;
		width: 100%;
		max-width: none;
		margin: 0;
	}

	.flask-product__specs-grid .flask-product__specs {
		display: grid;
		grid-template-rows: subgrid;
		grid-row: 1 / span var(--spec-rows, 6);
		width: auto;
		min-width: 0;
	}

	.flask-product__section--specs .flask-product__spec-row,
	.flask-product__section--dark.flask-product__section--specs .flask-product__spec-row {
		display: grid;
		grid-template-columns: 170px minmax(0, 1fr);
		align-items: start;
		align-content: start;
		column-gap: 8px;
		row-gap: 0;
		width: 100%;
		height: 100%;
		box-sizing: border-box;
		padding: 12px 0 24px;
		border-top: 1px solid #6b6862;
		border-bottom: 0;
	}

	.flask-product__section--specs .flask-product__spec-row:last-child,
	.flask-product__section--dark.flask-product__section--specs .flask-product__spec-row:last-child {
		padding-bottom: 12px;
		border-bottom: 0;
	}

	.flask-product__section--specs .flask-product__spec-row dt,
	.flask-product__section--specs .flask-product__spec-row dd,
	.flask-product__section--dark.flask-product__section--specs .flask-product__spec-row dt,
	.flask-product__section--dark.flask-product__section--specs .flask-product__spec-row dd {
		float: none !important;
		width: auto;
		min-width: 0;
		max-width: none;
		flex: none;
	}

	.flask-product__section--specs .flask-product__spec-row dt,
	.flask-product__section--dark.flask-product__section--specs .flask-product__spec-row dt {
		letter-spacing: 0.16em;
		color: var(--ink);
	}

	.flask-product__section--specs .flask-product__spec-row dd,
	.flask-product__section--dark.flask-product__section--specs .flask-product__spec-row dd {
		font-size: 14px;
		line-height: 24px;
		color: var(--ink);
		text-align: left;
	}

	.flask-product__section--analytical {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-start;
		min-height: 430px;
		padding: 64px;
		background: #f2f0eb;
	}

	.flask-product__analytical-intro {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		width: 520px;
		flex: 0 0 520px;
	}

	.flask-product__section--analytical .flask-product__prose {
		display: none;
	}

	.flask-product__section--analytical .flask-product__chart {
		display: flex;
		flex-direction: column;
		width: 616px;
		height: 300px;
		margin: 0;
		background: #f7f8f3;
		border: 1px solid #d6d3cb;
		overflow: hidden;
	}

	.flask-product__section--analytical .flask-product__chart img,
	.flask-product__section--analytical .flask-product__chart-svg {
		display: block;
		width: 100%;
		height: 248px;
		object-fit: contain;
	}

	.flask-product__chart-caption {
		display: block !important;
		margin: 8px 16px 12px;
		font-size: 12px;
		font-weight: 400;
		line-height: 16px;
		letter-spacing: 0;
		color: var(--ink);
	}

	.flask-product__section--inquiry {
		display: grid;
		grid-template-columns: 420px 808px;
		grid-template-rows: auto auto auto;
		column-gap: 84px;
		row-gap: 24px;
		align-items: start;
		padding: 72px 64px;
		background: #f7f8f3;
	}

	.flask-product__inquiry-intro {
		grid-column: 1;
		grid-row: 1;
		gap: 16px;
		width: 500px;
		max-width: 500px;
		margin: 0;
	}

	.flask-product__section--inquiry .flask-product__section-title {
		max-width: 500px;
	}

	.flask-product__section--inquiry .flask-product__section-lead {
		max-width: 470px;
	}

	.flask-product__section--inquiry > .flask-product__notice-box {
		grid-column: 1;
		grid-row: 2;
		width: 420px;
		min-height: 246px;
		margin: 32px 0 0;
		padding: 28px 24px;
		background: var(--card);
	}

	.flask-product__notice-box-title {
		margin: 18px 0 0;
		font-size: 20px;
		font-weight: 400;
		line-height: 30px;
		letter-spacing: 0;
	}

	.flask-product__notice-box-body {
		margin: 20px 0 0;
		font-size: 16px;
		line-height: 28px;
	}

	.flask-product__notice-box .flask-product__inquiry-target {
		display: block !important;
		margin: 32px 0 0;
		font-size: 12px;
		font-weight: 400;
		line-height: 16px;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		color: var(--ink);
	}

	.flask-product__inquiry {
		grid-column: 2;
		grid-row: 1 / span 3;
		gap: 16px;
		width: 808px;
	}

	.flask-product__inquiry-card {
		min-height: 170px;
		padding: 14px 16px 16px;
	}

	.flask-product__inquiry-row--triple {
		flex-wrap: nowrap;
		gap: 16px;
	}

	.flask-product__inquiry-sku {
		flex: 1 1 360px;
		max-width: 360px;
	}

	.flask-product__inquiry-row--triple .flask-product__inquiry-half:nth-child(2) {
		flex: 0 0 190px;
		max-width: 190px;
	}

	.flask-product__inquiry-row--triple .flask-product__inquiry-half:nth-child(3) {
		flex: 0 0 194px;
		max-width: 194px;
	}

	.flask-product__inquiry-add {
		background: #f2f0eb;
	}

	.flask-product__inquiry-pair {
		flex-direction: row;
		gap: 24px;
	}

	.flask-product__inquiry-pair .flask-product__field {
		flex: 1 1 392px;
		width: 392px;
		max-width: 392px;
	}

	.flask-product__input,
	.flask-product__select {
		min-height: 62px;
		padding: 18px 16px;
	}

	.flask-product__textarea {
		min-height: 112px;
	}

	.flask-product__inquiry-submit {
		width: 808px !important;
	}

	.flask-product__inquiry > .flask-product__inquiry-target {
		display: block !important;
		margin: 20px 0 0;
		font-size: 12px;
		line-height: 16px;
		letter-spacing: 0;
		text-transform: uppercase;
	}

	.flask-product__section--related {
		justify-content: flex-start;
		gap: 24px;
		padding: 48px 64px;
		background: #f2f0eb;
	}

	.flask-product__materials {
		flex-direction: row;
		align-items: stretch;
		gap: 67px;
		padding: 0;
		border: 0;
	}

	.flask-product__materials > li {
		width: 392px;
		padding: 0;
		border: 0;
	}

	.flask-product__material {
		position: relative;
		width: 392px;
		min-height: 120px;
		height: 120px;
		padding: 0 24px;
		background: #f7f8f3;
	}

	.flask-product__material-bar {
		position: absolute;
		left: 0;
		top: 0;
		width: 5px;
		height: 120px;
	}

	.flask-product__material-body {
		gap: 16px;
		width: 310px;
	}

	.flask-product__material-title {
		font-size: 20px;
		line-height: 30px;
		letter-spacing: 0;
	}

	.flask-product__material-meta {
		letter-spacing: 0.12em;
		text-transform: uppercase;
	}

	.flask-product__material-arrow::before,
	.flask-product__material-arrow::after {
		/* background: var(--forest); */
		border-color: var(--forest);
	}

	.flask-product__material-arrow::before {
		background: var(--forest);
	}

	.flask-product__section--research {
		align-items: center;
		gap: 48px;
		padding: 64px;
		background: #e3e1da;
	}

	.flask-product__research-head,
	.flask-product__research-body {
		width: 1312px;
		max-width: 1312px;
		gap: 16px;
	}

	.flask-product__research-head .flask-product__section-title {
		font-size: 48px;
		line-height: 56px;
	}

	.flask-product__research-head .flask-product__section-lead {
		display: block !important;
		max-width: 530px;
		margin: 8px 0 0;
		font-size: 16px;
		line-height: 28px;
	}

	.flask-product__research-body {
		gap: 32px;
	}

	.flask-product__research-list {
		flex-direction: row;
		gap: 21px;
		padding: 0;
		border: 0;
	}

	.flask-product__research-list > li {
		width: 423px;
		padding: 0;
		border: 0;
	}

	.flask-product__research-item {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: 423px;
		min-height: 398px;
		height: 398px;
		padding: 32px 0;
		background: #f7f8f3;
	}

	.flask-product__research-copy {
		width: 350px;
		gap: 16px;
	}

	.flask-product__research-title {
		font-size: 18px;
		line-height: 26px;
		letter-spacing: 0;
	}

	.flask-product__research-thumb {
		display: block !important;
		width: 350px;
		height: 200px;
		object-fit: cover;
		background: #f7f8f3;
	}

	.flask-product__research-thumb--cover {
		position: relative;
		overflow: hidden;
		padding: 0;
		box-sizing: border-box;
	}

	.flask-product__research-thumb--cover .flask-library__cover {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		margin: 0;
	}

	.flask-product__research-thumb--cover .flask-library__cover--hplc svg {
		display: block;
		width: 100%;
		height: 100%;
	}

	.flask-product__research-thumb--cover .flask-library__cover--batch,
	.flask-product__research-thumb--cover .flask-library__cover--lot {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 8px;
		padding: 12px;
		box-sizing: border-box;
		background: #fff;
		border: 1px solid #d6d3cb;
		font-family: "IBM Plex Mono", Consolas, monospace;
		font-size: 11px;
		color: #2e4b4a;
	}

	.flask-product__research-thumb--cover .flask-library__cover-flow {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 4px;
	}

	.flask-product__research-thumb--empty {
		background: #fefeff;
		border: 1px solid #d6d3cb;
	}

	.flask-product__research-arrow {
		display: none;
	}

	.flask-product__research-meta {
		color: #6b6862;
		letter-spacing: 0;
		text-transform: none;
	}

	.flask-product__section--research .flask-product__outline-cta {
		width: 260px;
		background: #f2f0eb;
	}

	.flask-product__section--routes {
		gap: 48px;
		padding: 72px 64px;
		background: #f7f8f3;
	}

	.flask-product__routes-head {
		width: 576px;
		gap: 8px;
	}

	.flask-product__section--routes .flask-product__section-title {
		font-size: 48px;
		line-height: 56px;
	}

	.flask-product__routes {
		flex-direction: row;
		align-items: stretch;
		gap: 86px;
	}

	.flask-product__route {
		flex-direction: column;
		width: 380px;
		min-height: 135px;
		padding: 16px 20px;
		background: #f2f0eb;
	}

	.flask-product__route-bar {
		display: none;
	}

	.flask-product__route-inner {
		width: 100%;
		padding: 0;
		gap: 16px;
	}

	.flask-product__route-copy {
		gap: 8px;
	}

	.flask-product__route-label {
		letter-spacing: 0.12em;
		color: var(--forest);
	}

	.flask-product__route-title,
	.flask-product__route-body {
		font-size: 14px;
		font-weight: 300;
		line-height: 24px;
		letter-spacing: 0;
	}

	.flask-product__route:nth-child(2) .flask-product__route-body {
		display: none;
	}

	.flask-product__route-link {
		justify-content: flex-start;
		gap: 48px;
		padding-top: 0;
		border-top: 0;
		font-size: 12px;
		font-weight: 400;
		line-height: 16px;
		letter-spacing: 0.12em;
		text-transform: uppercase;
	}
}
