/*
 * Brant Bio — storefront v2 layer (2026-09 redesign).
 *
 * Loaded after brant.css. Implements the v2 screens — ticker, sticky nav,
 * video hero, trust strip, research areas, product cards, COA band,
 * process, tiers, FAQ accordion, dispatch band, catalog, product page,
 * lab lookup, reference table, about, shipping, exit offer — against the
 * same theme.json tokens. Mobile rules live at the end of each block, not
 * in a separate file, so a component's whole behaviour reads in one place.
 *
 * Contents
 *   1. Layout helpers      wrap, section heads, h1/lead, buttons, labels
 *   2. Ticker & nav
 *   3. Hero
 *   4. Home sections       trust, areas, cards, COA band, steps, tiers,
 *                          facility, FAQ, dispatch band
 *   5. Catalog
 *   6. Product page
 *   7. Cart
 *   8. Lab, reference, about, shipping
 *   9. Gate, exit offer, footer
 *  10. Motion
 */

:root {
	--v2-gutter: clamp(20px, 5vw, 72px);
	--v2-ink-dark: #0b141c;
	--v2-ink-blue: #0b1524;
	--v2-blue: #2f8fe6;
	--v2-blue-hi: #54a6f0;
	--v2-blue-eyebrow: #7fb7ec;
	--v2-ease: cubic-bezier(.2, .8, .2, 1);
}

/* ── 1. Layout helpers ─────────────────────────────────────────────── */

.brant-wrap {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: var(--v2-gutter);
	box-sizing: border-box;
}
.brant-sec { padding-block: 64px 24px; }
.brant-sec--tight { margin-top: 56px; }
.brant-sec__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	flex-wrap: wrap;
}
.brant-sec__kicker {
	display: inline-block;
	font-family: var(--wp--preset--font-family--body);
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--wp--preset--color--accent-700);
}
.brant-sec__kicker.is-light { color: var(--wp--preset--color--accent-300); }
.brant-sec__link { font-size: 14px; color: var(--wp--preset--color--accent-700); text-decoration: none; }
.brant-sec__link:hover { color: var(--wp--preset--color--accent-900); text-decoration: underline; }
.brant-sec__rule {
	height: 1px;
	border: 0;
	background: var(--wp--preset--color--divider);
	margin: 12px 0 28px;
}
.brant-sec__title {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: clamp(28px, 3.4vw, 40px);
	text-transform: uppercase;
	letter-spacing: .02em;
	line-height: 1.05;
	margin: 14px 0 0;
}
.brant-sec__lead {
	margin: 16px 0 0;
	font-size: 15px;
	line-height: 24px;
	color: var(--wp--preset--color--neutral-800);
	max-width: 46ch;
}
.brant-sec__lead + .brant-btn2 { margin-top: 24px; }

.brant-v2 .brant-h1 {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: clamp(40px, 5vw, 64px);
	text-transform: uppercase;
	letter-spacing: .01em;
	line-height: 1;
	margin: 0 0 0 -.04em;
}
.brant-v2 .brant-h1--tight { font-size: clamp(40px, 5vw, 72px); }
.brant-v2 main h1.wp-block-post-title { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: clamp(40px, 5vw, 64px); text-transform: uppercase; letter-spacing: .01em; line-height: 1; margin: 0 0 24px -.04em; }
.brant-v2 .brant-lead {
	margin: 16px 0 0;
	font-size: 16px;
	line-height: 25px;
	color: var(--wp--preset--color--neutral-800);
	max-width: 60ch;
}
.brant-label {
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--wp--preset--color--accent-700);
	margin-top: 24px;
}

/* Buttons — v2 sizes; .brant-btn (v1) still styles Woo's own buttons. */
.brant-btn2 {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	cursor: pointer;
	text-decoration: none;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.2;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--text);
	background: transparent;
	border: 1px solid var(--wp--preset--color--divider);
	border-radius: 0;
	padding: 12px 22px;
	min-height: 44px;
	white-space: nowrap;
	position: relative;
	transition: background .2s, color .2s, border-color .2s;
}
.brant-btn2:hover { text-decoration: none; }
.brant-btn2--primary { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--bg); border-color: var(--wp--preset--color--accent); }
.brant-btn2--primary:hover { background: var(--wp--preset--color--accent-600); color: var(--wp--preset--color--bg); }
.brant-btn2--secondary:hover { background: color-mix(in srgb, var(--wp--preset--color--text) 7%, transparent); }
.brant-btn2--ghost { border-color: transparent; color: var(--wp--preset--color--accent-700); padding-inline: 8px; }
.brant-btn2--ghost:hover { background: color-mix(in srgb, var(--wp--preset--color--accent) 10%, transparent); }
.brant-btn2--paper { background: var(--wp--preset--color--bg); color: var(--wp--preset--color--accent-900); border-color: var(--wp--preset--color--bg); }
.brant-btn2--paper:hover { background: var(--wp--preset--color--accent-100); color: var(--wp--preset--color--accent-900); }
.brant-btn2--glass { color: var(--wp--preset--color--bg); border-color: var(--wp--preset--color--accent-400); background: rgba(11, 20, 28, .35); backdrop-filter: blur(6px); }
.brant-btn2--glass:hover { background: rgba(11, 20, 28, .6); color: var(--wp--preset--color--bg); }
.brant-btn2.is-disabled { opacity: .45; cursor: not-allowed; }
/* Blueprint crosshairs, removed site-wide on 2026-09-11. The marks framed
   every bordered object — 112 of them on the home page alone — and once the
   vial-size chips had dropped them the rest read as noise. The
   .brant-blueprint hairline border stays; only the corner marks go.
   The spans are still emitted by the compliance plugin's markup, so they are
   hidden here rather than deleted at source: that file is 62 KB and cannot be
   saved through wp-admin (see claude/READ-BEFORE-THEME-DEPLOY.md). Deleting
   the rule below brings them all back. */
.brant-blueprint > .corner { display: none; }

.brant-tag2 {
	display: inline-flex;
	align-items: center;
	font-size: 11px;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 3px 10px;
	background: var(--wp--preset--color--accent-100);
	color: var(--wp--preset--color--accent-800);
	text-decoration: none;
	white-space: nowrap;
}

/* ── 2. Ticker & nav ───────────────────────────────────────────────── */

.brant-ticker {
	background: var(--wp--preset--color--accent-900);
	color: var(--wp--preset--color--bg);
	font-family: var(--wp--preset--font-family--spec);
	font-size: 12px;
	letter-spacing: .04em;
	text-transform: uppercase;
	padding: 8px 0;
	overflow: hidden;
	white-space: nowrap;
}
.brant-ticker__track {
	display: inline-flex;
	gap: 56px;
	padding-right: 56px;
	animation: brant-ticker 38s linear infinite;
	will-change: transform;
}
.brant-ticker:hover .brant-ticker__track { animation-play-state: paused; }
.brant-ticker .brant-dispatch { text-transform: uppercase; }

.brant-header2 {
	position: sticky;
	top: 0;
	z-index: 40;
	background: color-mix(in srgb, var(--wp--preset--color--bg) 92%, transparent);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--wp--preset--color--divider);
}
.brant-nav {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 14px var(--v2-gutter);
	max-width: 1344px;
	margin-inline: auto;
	box-sizing: border-box;
}
.brant-nav__brand {
	margin-right: auto;
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: inherit;
}
.brant-nav__wordmark {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: 26px;
	letter-spacing: .14em;
	line-height: 1;
	text-transform: uppercase;
}
.brant-nav__domain {
	font-family: var(--wp--preset--font-family--spec);
	font-size: 11px;
	color: var(--wp--preset--color--neutral-600);
}
.brant-nav__tools { display: flex; align-items: center; gap: 6px; }
.brant-nav__icon {
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border-radius: 12px;
	color: inherit;
	text-decoration: none;
}
.brant-nav__icon:hover { background: color-mix(in srgb, var(--wp--preset--color--text) 7%, transparent); }
.brant-nav__links { display: flex; align-items: center; gap: 24px; }
.brant-nav__links a {
	color: inherit;
	text-decoration: none;
	font-size: 14px;
	line-height: 44px;
}
.brant-nav__links a:hover,
.brant-nav__links a[aria-current="page"] { color: var(--wp--preset--color--accent-700); }
.brant-nav__cart {
	position: relative;
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border-radius: 12px;
	text-decoration: none;
	color: var(--v2-blue);
}
.brant-nav__cart:hover { background: color-mix(in srgb, var(--v2-blue) 13%, transparent); }
.brant-nav__count {
	position: absolute;
	top: 4px;
	right: 3px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 9px;
	background: var(--v2-blue);
	color: #fff;
	font-family: var(--wp--preset--font-family--body);
	font-size: 11px;
	font-weight: 600;
	line-height: 17px;
	text-align: center;
	box-sizing: border-box;
}
.brant-nav__toggle {
	display: none;
	width: 44px;
	height: 44px;
	padding: 13px 10px;
	border: 0;
	border-radius: 12px;
	background: transparent;
	color: inherit;
	cursor: pointer;
	flex-direction: column;
	justify-content: space-between;
	box-sizing: border-box;
}
.brant-nav__toggle i { display: block; height: 2px; border-radius: 2px; background: currentColor; }
@media (max-width: 900px) {
	.brant-nav { gap: 12px; padding-block: 10px; }
	.brant-nav__toggle { display: flex; }
	.brant-nav__links {
		display: none;
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		background: var(--wp--preset--color--bg);
		border-bottom: 1px solid var(--wp--preset--color--divider);
		padding: 8px var(--v2-gutter) 16px;
	}
	.brant-nav__links a { padding-block: 4px; border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--text) 8%, transparent); font-size: 16px; }
	body.brant-nav-open .brant-nav__links { display: flex; }
	.brant-nav__domain { display: none; }
	.brant-nav__wordmark { font-size: 22px; }
}

/* ── 3. Hero ───────────────────────────────────────────────────────── */
/* v4, 2026-09-13. Photographic plate behind the copy: the vial sits right of
   centre in the frame and the left third is dark, so the headline needs only
   a gradient scrim rather than a panel. Phones get their own taller plate —
   see scripts/gen-hero-v4.py for why a crop of the wide one does not work. */

.brant-hero4 {
	--bh-bg: #07101a;
	--bh-ink: #f4f6f8;
	--bh-accent: #4d7fb0;
	--bh-accent-200: #c9dbee;
	--bh-accent-400: #7fa8d1;
	position: relative;
	overflow: hidden;
	background: var(--bh-bg);
	color: var(--bh-ink);
	isolation: isolate;
}
.brant-hero4 picture { display: contents; }
.brant-hero4__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 68% 100%;
	z-index: 0;
}
.brant-hero4__shade { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.brant-hero4__shade--x { background: linear-gradient(90deg, rgba(7, 16, 26, .82) 0%, rgba(7, 16, 26, .55) 38%, rgba(7, 16, 26, 0) 62%); }
.brant-hero4__shade--y { background: linear-gradient(180deg, rgba(7, 16, 26, .45) 0%, transparent 30%); }
.brant-hero4__grid {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
	padding: clamp(40px, 6vw, 88px) var(--v2-gutter) 0;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 0 48px;
	align-items: end;
	min-height: clamp(560px, 82vh, 860px);
}
.brant-hero4__copy { padding-bottom: clamp(48px, 7vw, 104px); align-self: center; }
.brant-hero4__kicker {
	margin: 0;
	font-weight: 600;
	font-size: 14px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--bh-accent-400);
}
.brant-hero4__title {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: clamp(44px, 5.6vw, 84px);
	line-height: 1;
	letter-spacing: .005em;
	text-transform: uppercase;
	margin: 18px 0 0;
	max-width: 14ch;
	text-wrap: pretty;
	color: var(--bh-ink);
}
.brant-hero4__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 32px; }
.brant-hero4__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-width: 200px;
	min-height: 48px;
	box-sizing: border-box;
	text-decoration: none;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: .06em;
	text-transform: uppercase;
	border: 1px solid transparent;
	cursor: pointer;
	transition: background .2s var(--v2-ease), border-color .2s var(--v2-ease), transform .2s var(--v2-ease);
}
.brant-hero4__btn:active { transform: translateY(1px); }
.brant-hero4__btn--primary { padding: 14px 32px; background: var(--bh-accent); border-color: var(--bh-accent); color: var(--bh-ink); }
.brant-hero4__btn--primary:hover { background: #5b8fc2; border-color: #5b8fc2; color: var(--bh-ink); }
.brant-hero4__btn--ghost { padding: 13px 28px; color: var(--bh-ink); border-color: var(--bh-accent-200); background: rgba(11, 20, 28, .25); backdrop-filter: blur(6px); }
.brant-hero4__btn--ghost:hover { background: rgba(11, 20, 28, .45); color: var(--bh-ink); }
.brant-hero4__btn svg { width: 18px; height: 18px; flex: none; }

@media (max-width: 860px) {
	.brant-hero4__grid { grid-template-columns: minmax(0, 1fr); align-items: start; }
	.brant-hero4__copy { padding-bottom: 16px; }
	.brant-hero4__spacer { min-height: 62vw; }
	.brant-hero4__bg { object-position: 50% 100%; }
	.brant-hero4__btn { width: 100%; max-width: 340px; }
}

/* ── 4. Home sections ──────────────────────────────────────────────── */

.brant-trust {
	border-top: 1px solid var(--wp--preset--color--divider);
	border-bottom: 1px solid var(--wp--preset--color--divider);
	background: color-mix(in srgb, var(--wp--preset--color--accent) 4%, var(--wp--preset--color--bg));
}
.brant-trust__grid { display: grid; grid-template-columns: repeat(5, 1fr); }
.brant-trust__cell {
	display: flex;
	gap: 14px;
	align-items: center;
	padding: 22px 20px;
	border-right: 1px solid var(--wp--preset--color--divider);
	color: var(--wp--preset--color--accent);
}
.brant-trust__cell:first-child { padding-left: 0; }
.brant-trust__cell:last-child { border-right: 0; padding-right: 0; }
.brant-trust__cell svg { flex: none; }
.brant-trust__t { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 18px; text-transform: uppercase; line-height: 1; color: var(--wp--preset--color--text); }
.brant-trust__s { font-size: 13px; color: var(--wp--preset--color--neutral-700); margin-top: 4px; }
@media (max-width: 960px) {
	.brant-trust__grid { grid-template-columns: repeat(2, 1fr); }
	.brant-trust__cell { padding: 16px 12px; border-bottom: 1px solid var(--wp--preset--color--divider); }
	.brant-trust__cell:nth-child(2n) { border-right: 0; }
	.brant-trust__cell:first-child { padding-left: 12px; }
	.brant-trust__cell:last-child { border-bottom: 0; grid-column: 1 / -1; border-right: 0; }
	.brant-trust__t { font-size: 16px; }
}

.brant-areas { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 16px; }
.brant-area {
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-decoration: none;
	color: inherit;
	padding: 18px;
	min-height: 150px;
	transition: border-color .2s, transform .3s var(--v2-ease);
}
.brant-area:hover { border-color: var(--wp--preset--color--accent); transform: translateY(-3px); }
.brant-area__n { font-size: 11px; text-transform: uppercase; color: var(--wp--preset--color--accent-700); }
.brant-area__name { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 24px; text-transform: uppercase; line-height: 1; }
.brant-area__blurb { font-size: 13px; color: var(--wp--preset--color--neutral-700); line-height: 1.4; flex: 1; }
.brant-area__go { font-size: 13px; color: var(--wp--preset--color--accent-700); }
@media (max-width: 640px) { .brant-areas { grid-template-columns: repeat(2, 1fr); gap: 12px; } .brant-area { padding: 14px; min-height: 0; } .brant-area__name { font-size: 20px; } }

/* Product cards (home featured + catalog). */
.brant-pgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 36px 28px; }
.brant-pc {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	padding: 20px;
	gap: 12px;
	position: relative;
	transition: border-color .2s, box-shadow .3s;
}
.brant-pc:hover { border-color: var(--wp--preset--color--accent); box-shadow: 0 3px 10px color-mix(in srgb, #2b2b2d 16%, transparent); }
.brant-pc__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 11px; color: var(--wp--preset--color--neutral-700); text-transform: uppercase; }
.brant-pc__badge { font-size: 10px; letter-spacing: .06em; padding: 3px 10px; background: var(--wp--preset--color--accent-100); color: var(--wp--preset--color--accent-800); }
.brant-pc__stock.is-low { color: var(--wp--preset--color--accent-900); font-weight: 700; }
.brant-pc__media { display: grid; place-items: center; height: 200px; perspective: 700px; }
.brant-pc__img { height: 200px; width: 200px; object-fit: contain; transition: transform .7s var(--v2-ease); }
.brant-pc:hover .brant-pc__img { transform: scale(1.06) rotateY(-14deg); }
.brant-pc__name { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 22px; line-height: 1.1; text-transform: uppercase; letter-spacing: .02em; margin: 0; }
.brant-pc__what { font-size: 13px; color: var(--wp--preset--color--neutral-700); line-height: 1.45; flex: 1; margin: 0; }
.brant-pc__foot { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border-top: 1px solid var(--wp--preset--color--divider); padding-top: 12px; }
.brant-pc__sizes { font-size: 12px; color: var(--wp--preset--color--neutral-700); flex: 1; min-width: 0; line-height: 1.5; }
.brant-pc__price { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 20px; font-variant-numeric: tabular-nums; white-space: nowrap; flex: none; }
.brant-pc__cta { font-size: 13px; padding: 10px; min-height: 40px; }
@media (max-width: 640px) {
	.brant-pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
	.brant-pc { padding: 12px; gap: 8px; }
	.brant-pc__media, .brant-pc__img { height: 130px; }
	.brant-pc__img { width: 130px; }
	.brant-pc__name { font-size: 17px; }
	.brant-pc__what { font-size: 12px; }
	.brant-pc__foot { flex-direction: column; align-items: flex-start; gap: 4px; }
	.brant-pc__price { font-size: 17px; }
	.brant-pc__cta { font-size: 11px; padding: 8px 6px; letter-spacing: .04em; }
	.brant-pc__top { font-size: 9px; }
	.brant-pc__top > span { white-space: nowrap; }
	.brant-pc__badge { padding: 2px 6px; font-size: 9px; }
}

/* Steel band (COA, dispatch). */
.brant-band2 { background: var(--wp--preset--color--accent-900); color: var(--wp--preset--color--bg); }
.brant-band2__grid { padding-block: 72px; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px clamp(24px, 5vw, 80px); align-items: start; }
.brant-band2__title { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: clamp(28px, 3.4vw, 40px); text-transform: uppercase; letter-spacing: .02em; line-height: 1.05; margin: 14px 0 0; color: var(--wp--preset--color--bg); }
.brant-band2__lead { margin: 16px 0 0; font-size: 15px; line-height: 24px; color: var(--wp--preset--color--accent-200); max-width: 46ch; }
.brant-band2__stats { display: flex; gap: 28px; margin: 28px 0; font-size: 12px; text-transform: uppercase; color: var(--wp--preset--color--accent-200); flex-wrap: wrap; }
.brant-band2__big { font-family: var(--wp--preset--font-family--heading); font-size: 40px; font-weight: 600; color: var(--wp--preset--color--bg); line-height: 1; }
.brant-coacards { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }
.brant-coacard {
	display: block;
	text-decoration: none;
	color: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--accent-700);
	padding: 16px;
	font-size: 12px;
	line-height: 1.6;
	transition: background .2s;
}
.brant-coacard:hover { background: var(--wp--preset--color--accent-800); }
.brant-coacard__name { font-family: var(--wp--preset--font-family--heading); font-size: 18px; font-weight: 600; text-transform: uppercase; line-height: 1.1; margin-bottom: 8px; }
.brant-coacard__k { color: var(--wp--preset--color--accent-300); text-transform: uppercase; }
.brant-coacard__go { margin-top: 8px; color: var(--wp--preset--color--accent-200); }
@media (max-width: 800px) { .brant-band2__grid { grid-template-columns: 1fr; padding-block: 48px; } .brant-coacards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .brant-coacard { padding: 12px; } }

/* Process steps. */
.brant-steps { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--wp--preset--color--divider); }
.brant-step { padding: 26px 24px; border-right: 1px solid var(--wp--preset--color--divider); }
.brant-step:last-child { border-right: 0; }
.brant-step__n { font-family: var(--wp--preset--font-family--heading); font-size: 44px; font-weight: 600; color: var(--wp--preset--color--accent-300); line-height: 1; }
.brant-step__t { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 20px; text-transform: uppercase; letter-spacing: .02em; margin: 12px 0 0; }
.brant-step__p { font-size: 14px; line-height: 22px; margin: 10px 0 0; color: var(--wp--preset--color--neutral-800); }
@media (max-width: 900px) { .brant-steps { grid-template-columns: repeat(2, 1fr); } .brant-step:nth-child(2n) { border-right: 0; } .brant-step:nth-child(-n+2) { border-bottom: 1px solid var(--wp--preset--color--divider); } .brant-step { padding: 18px 16px; } }

/* Bundle & save. */
.brant-bundle { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px clamp(24px, 5vw, 80px); align-items: center; padding-block: 48px 24px; }
.brant-tiers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.brant-tier { padding: 22px 20px; text-align: center; }
.brant-tier.is-hot { border-color: var(--wp--preset--color--accent); background: color-mix(in srgb, var(--wp--preset--color--accent) 6%, var(--wp--preset--color--bg)); }
.brant-tier.is-wide { grid-column: 1 / -1; }
.brant-tier__pct { font-family: var(--wp--preset--font-family--heading); font-size: 48px; font-weight: 600; line-height: 1; color: var(--wp--preset--color--accent-700); }
.brant-tier__t { font-family: var(--wp--preset--font-family--heading); font-size: 22px; font-weight: 600; text-transform: uppercase; line-height: 1; }
.brant-tier__q { font-size: 11px; margin-top: 8px; text-transform: uppercase; color: var(--wp--preset--color--neutral-700); }
@media (max-width: 800px) { .brant-bundle { grid-template-columns: 1fr; } .brant-tiers { grid-template-columns: repeat(2, 1fr); gap: 10px; } .brant-tier { padding: 16px 10px; } .brant-tier__pct { font-size: 38px; } }

/* Facility. */
.brant-facility { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px clamp(24px, 5vw, 96px); align-items: center; padding-block: 48px 24px; }
.brant-facility.is-textonly { grid-template-columns: minmax(0, 1fr); }
.brant-facility__fig { margin: 0; }
.brant-facility__fig img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.brant-facility .brant-sec__link { display: inline-block; margin-top: 20px; }
@media (max-width: 800px) { .brant-facility { grid-template-columns: 1fr; } }

/* FAQ accordion — native details/summary. */
.brant-faqprev { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 32px clamp(24px, 5vw, 80px); padding-block: 48px 24px; }
.brant-faqprev .brant-sec__link { display: inline-block; margin-top: 16px; }
.brant-faq2 { border-top: 1px solid var(--wp--preset--color--divider); }
.brant-faq2__item { border-bottom: 1px solid var(--wp--preset--color--divider); }
.brant-faq2__item summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 16px 0;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: 18px;
	text-transform: uppercase;
	letter-spacing: .02em;
	line-height: 1.2;
}
.brant-faq2__item summary::-webkit-details-marker { display: none; }
.brant-faq2__item summary:hover { color: var(--wp--preset--color--accent-700); }
.brant-faq2__mark { color: var(--wp--preset--color--accent-700); font-size: 18px; flex: none; }
.brant-faq2__mark::before { content: "+"; }
.brant-faq2__item[open] .brant-faq2__mark::before { content: "−"; }
.brant-faq2__item p { margin: 0; padding: 0 0 18px; font-size: 15px; line-height: 24px; color: var(--wp--preset--color--neutral-800); max-width: 64ch; }
.brant-faq2.is-large summary { font-size: 20px; padding: 18px 0; }
.brant-faq2.is-large { margin-top: 32px; }
@media (max-width: 800px) { .brant-faqprev { grid-template-columns: 1fr; } .brant-faq2__item summary { font-size: 16px; } }

/* Dispatch + newsletter band. */
.brant-dispatchband { margin-top: 48px; }
.brant-dispatchband__grid { padding-block: 64px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.brant-dispatchband__line { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: clamp(26px, 3vw, 38px); overflow-wrap: anywhere; text-transform: uppercase; letter-spacing: .02em; margin: 10px 0 24px; color: var(--wp--preset--color--bg); line-height: 1.05; }
.brant-dispatchband__nl { border: 1px solid var(--wp--preset--color--accent-700); padding: 28px; }
.brant-dispatchband__t { font-family: var(--wp--preset--font-family--heading); font-size: 28px; font-weight: 600; text-transform: uppercase; line-height: 1.05; margin-top: 8px; }
.brant-dispatchband .brant-subscribe { margin-top: 18px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: stretch; max-width: none; }
.brant-dispatchband .brant-subscribe .brant-field { margin: 0; min-width: 0; }
.brant-dispatchband .brant-subscribe label { position: absolute; left: -9999px; }
.brant-dispatchband .brant-subscribe .brant-input { width: 100%; box-sizing: border-box; background: var(--wp--preset--color--bg); color: var(--wp--preset--color--text); border-color: var(--wp--preset--color--accent-700); min-height: 44px; }
.brant-dispatchband .brant-subscribe .brant-btn { align-self: stretch; background: var(--wp--preset--color--bg); color: var(--wp--preset--color--accent-900); border-color: var(--wp--preset--color--bg); font-family: var(--wp--preset--font-family--heading); text-transform: uppercase; letter-spacing: .06em; min-height: 44px; }
.brant-dispatchband .brant-subscribe__note { grid-column: 1 / -1; font-size: 12px; color: var(--wp--preset--color--accent-200); margin: 0; }
.brant-dispatchband .brant-subscribe + .brant-ruo, .brant-dispatchband .brant-ruo { margin-top: 14px; }
.brant-dispatchband .brant-ruo { background: transparent; border-color: var(--wp--preset--color--accent-700); color: var(--wp--preset--color--accent-100); }
@media (max-width: 800px) { .brant-dispatchband__grid { grid-template-columns: 1fr; padding-block: 48px; } .brant-dispatchband__nl { padding: 20px; } }

/* ── 5. Catalog ────────────────────────────────────────────────────── */

.brant-v2 .brant-catalog { padding-block: 48px 80px; }
.brant-v2 .brant-catalog .brant-filters { margin: 28px 0 8px; }
.brant-v2 .brant-filters__chips { gap: 8px; }
.brant-v2 .brant-chip {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: 13px;
	padding: 7px 14px;
	letter-spacing: .06em;
	text-transform: uppercase;
	border: 1px solid var(--wp--preset--color--divider);
	border-radius: 0;
	background: transparent;
	color: var(--wp--preset--color--text);
	min-height: 40px;
}
.brant-v2 .brant-chip.is-current { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--bg); border-color: var(--wp--preset--color--accent); }
.brant-v2 .brant-chip__count { opacity: .7; margin-left: 6px; font-family: var(--wp--preset--font-family--spec); font-weight: 400; }
.brant-v2 .brant-catalog .brant-pgrid { margin-top: 32px; }
.brant-v2 .brant-catalog .brant-pagination { margin-top: 40px; }
.brant-v2 .brant-catalog .brant-ruo { margin-top: 48px; }

/* ── 6. Product page ───────────────────────────────────────────────── */

.brant-v2 .brant-product { padding-block: 40px 80px; }
.brant-v2.woocommerce .woocommerce-breadcrumb { font-family: var(--wp--preset--font-family--spec); font-size: 12px; text-transform: uppercase; color: var(--wp--preset--color--neutral-700); margin-bottom: 28px; }
.brant-v2.woocommerce .woocommerce-breadcrumb a { color: inherit; }
.brant-v2.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px clamp(32px, 5vw, 80px); align-items: start; }
.brant-v2.woocommerce div.product > * { grid-column: 1 / -1; }
.brant-v2.woocommerce div.product div.images.woocommerce-product-gallery,
.brant-v2.woocommerce div.product div.images {
	grid-column: 1;
	float: none;
	width: 100%;
	margin: 0;
	border: 1px solid var(--wp--preset--color--divider);
	padding: 48px 24px;
	position: sticky;
	top: 96px;
	perspective: 900px;
	box-sizing: border-box;
}
.brant-v2.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { max-width: 420px; margin-inline: auto; }
.brant-v2.woocommerce div.product div.images img { transition: transform .8s var(--v2-ease); }
.brant-v2.woocommerce div.product div.images:hover .woocommerce-product-gallery__image:first-child img { transform: rotateY(-22deg) rotateX(3deg); }
.brant-v2.woocommerce div.product div.images .flex-control-thumbs { margin-top: 16px; }
.brant-v2.woocommerce div.product div.summary { grid-column: 2; float: none; width: 100%; margin: 0; }
.brant-v2.woocommerce div.product div.summary > * { max-width: 60ch; }
.brant-pd__head { display: flex; gap: 10px; align-items: center; }
.brant-pd__stock { font-size: 12px; text-transform: uppercase; color: var(--wp--preset--color--neutral-600); }
.brant-pd__stock.is-low { color: var(--wp--preset--color--accent-900); font-weight: 700; }
.brant-v2.woocommerce div.product .product_title {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: clamp(40px, 5vw, 64px);
	text-transform: uppercase;
	letter-spacing: .01em;
	margin: 12px 0 0 -.04em;
	line-height: 1;
}
.brant-v2.woocommerce div.product .woocommerce-product-details__short-description { margin-top: 16px; font-size: 16px; line-height: 25px; color: var(--wp--preset--color--neutral-800); }
.brant-v2.woocommerce div.product .woocommerce-product-details__short-description p { margin: 0; }
.brant-v2 .brant-spec-sheet { margin-top: 24px; width: 100%; border-collapse: collapse; font-size: 14px; }
.brant-v2 .brant-spec-sheet th { text-align: left; font-weight: 400; color: var(--wp--preset--color--neutral-700); width: 36%; padding: 8px 8px 8px 0; border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--text) 8%, transparent); vertical-align: top; }
.brant-v2 .brant-spec-sheet td { padding: 8px 0; border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--text) 8%, transparent); font-family: var(--wp--preset--font-family--body); }
.brant-v2 .brant-spec-sheet td.is-mono { font-family: var(--wp--preset--font-family--spec); }
.brant-v2 .brant-spec-sheet td .brant-spec { font-family: var(--wp--preset--font-family--spec); }
.brant-v2.woocommerce div.product .brant-ruo { margin-top: 20px; }
.brant-v2.woocommerce div.product .brant-coa { margin-top: 12px; }

/* Vial-size chips. Plain cards: the selected state does the work. */
.brant-sizes {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(150px, 100%), 1fr));
	gap: 8px;
	margin-top: 12px;
	max-width: 52ch;
}
.brant-size {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 3px;
	padding: 13px 16px;
	min-width: 0;
	min-height: 72px;
	background: linear-gradient(180deg, var(--wp--preset--color--neutral-100) 0%, var(--wp--preset--color--bg) 100%);
	color: var(--wp--preset--color--text);
	border: var(--wp--custom--rule--hairline);
	border-radius: 0;
	cursor: pointer;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: 17px;
	line-height: 1.15;
	letter-spacing: .01em;
	text-align: left;
	box-sizing: border-box;
	box-shadow: 0 1px 2px color-mix(in srgb, var(--wp--preset--color--accent-900) 7%, transparent);
	transition:
		border-color .18s var(--v2-ease),
		background .18s var(--v2-ease),
		box-shadow .18s var(--v2-ease),
		transform .18s var(--v2-ease);
}
.brant-size.is-static,
.brant-sizes.is-static .brant-size { cursor: default; }
.brant-size:hover {
	background: var(--wp--preset--color--neutral-100);
	border-color: var(--wp--preset--color--accent-400);
	transform: translateY(-1px);
	box-shadow: 0 6px 16px color-mix(in srgb, var(--wp--preset--color--accent-900) 12%, transparent);
}
.brant-size:active { transform: translateY(0); }
.brant-size:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}
.brant-size.is-selected {
	background: var(--wp--preset--color--accent-900);
	color: var(--wp--preset--color--bg);
	border-color: var(--wp--preset--color--accent-900);
	transform: translateY(-1px);
	box-shadow:
		inset 0 0 0 1px color-mix(in srgb, var(--wp--preset--color--accent-300) 40%, transparent),
		0 8px 20px color-mix(in srgb, var(--wp--preset--color--accent-900) 18%, transparent);
}
.brant-size.is-out {
	opacity: .5;
	cursor: not-allowed;
	box-shadow: none;
}
.brant-size.is-out:hover { transform: none; border-color: var(--wp--preset--color--divider); }
.brant-size.is-out .brant-size__p { text-decoration: line-through; }
/* The price is a specification on this site, so it is set in the spec face. */
.brant-size__p {
	font-family: var(--wp--preset--font-family--spec);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: .02em;
	color: var(--wp--custom--muted);
}
.brant-size.is-selected .brant-size__p { color: var(--wp--preset--color--accent-300); }
.brant-size__s {
	font-family: var(--wp--preset--font-family--spec);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: var(--wp--custom--tracking--eyebrow);
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-700);
}
.brant-size.is-selected .brant-size__s { color: var(--wp--preset--color--accent-300); }
.brant-variations--hidden { position: absolute !important; left: -9999px !important; display: block; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); margin: -1px; }
.brant-v2.woocommerce div.product form.cart .woocommerce-variation-availability { display: none; }
.brant-v2.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; margin-top: 24px; }
.brant-v2.woocommerce div.product form.cart .single_variation { margin-top: 20px; }
.brant-v2.woocommerce div.product form.cart .woocommerce-variation-price { display: none; }
.brant-v2.woocommerce div.product form.cart .woocommerce-variation-availability { font-family: var(--wp--preset--font-family--spec); font-size: 12px; text-transform: uppercase; }
.brant-v2.woocommerce div.product form.cart .woocommerce-variation-availability p { margin: 0; }
.brant-v2.woocommerce div.product form.cart .reset_variations { display: none !important; }
.brant-v2.woocommerce .brant-qty { display: inline-flex; border: 1px solid var(--wp--preset--color--divider); margin: 0; align-items: stretch; }
.brant-v2.woocommerce .brant-qty .qty { width: 52px; min-height: 44px; border: 0; border-left: 1px solid var(--wp--preset--color--divider); border-right: 1px solid var(--wp--preset--color--divider); text-align: center; font-family: var(--wp--preset--font-family--spec); font-size: 15px; background: transparent; border-radius: 0; -moz-appearance: textfield; }
.brant-v2.woocommerce .brant-qty .qty::-webkit-outer-spin-button, .brant-v2.woocommerce .brant-qty .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.brant-qty__btn { width: 40px; min-height: 44px; border: 0; background: transparent; font-size: 18px; cursor: pointer; color: inherit; }
.brant-qty__btn:hover { background: color-mix(in srgb, var(--wp--preset--color--text) 7%, transparent); }
.brant-v2.woocommerce div.product form.cart button.single_add_to_cart_button {
	flex: 1;
	min-width: 220px;
	min-height: 44px;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: .06em;
	text-transform: uppercase;
	border-radius: 0;
	margin: 0;
}
.brant-pd__note { margin-top: 14px; font-size: 12px; text-transform: uppercase; color: var(--wp--preset--color--neutral-700); line-height: 1.7; }
.brant-pd__desc { margin-top: 28px; font-size: 15px; line-height: 24px; color: var(--wp--preset--color--neutral-800); border-top: 1px solid var(--wp--preset--color--divider); padding-top: 20px; }
.brant-v2.woocommerce div.product .brant-closed { margin-top: 20px; }
.brant-also { grid-column: 1 / -1; margin-top: 72px; }
.brant-also__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 28px; }
.brant-also__item { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 16px 20px; text-decoration: none; color: inherit; transition: border-color .2s; }
.brant-also__item:hover { border-color: var(--wp--preset--color--accent); }
.brant-also__name { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 18px; text-transform: uppercase; }
@media (max-width: 800px) {
	.brant-v2.woocommerce div.product { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.brant-v2.woocommerce div.product div.images.woocommerce-product-gallery,
	.brant-v2.woocommerce div.product div.images,
	.brant-v2.woocommerce div.product div.summary { grid-column: 1; position: relative; top: auto; }
	.brant-v2.woocommerce div.product div.images { padding: 20px; }
	/* Two even chips per row, edge to edge; the zoom trigger and the
	   thumbnail strip stay inside the gallery box (relative, not static). */
	.brant-sizes { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; }
	.brant-size { padding: 12px 14px; min-height: 64px; }
	.brant-v2.woocommerce div.product .product_title { font-size: clamp(34px, 9vw, 48px); }
	.brant-also { margin-top: 48px; }
	.brant-also__grid { grid-template-columns: 1fr 1fr; gap: 12px; }
	.brant-also__item { flex-direction: column; gap: 4px; padding: 12px 14px; }
}

/* Backorder state — accepted at zero stock; reads as a plain status, not a warning. */
.brant-pc__stock.is-backorder, .brant-pd__stock.is-backorder { color: var(--wp--preset--color--accent-700); font-weight: 400; }
.brant-size.is-backorder .brant-size__s { color: var(--wp--preset--color--accent-700); }

/* ── 7. Cart ───────────────────────────────────────────────────────── */

.brant-v2 .brant-shipmeter .brant-eyebrow { font-family: var(--wp--preset--font-family--spec); font-size: 12px; color: var(--wp--preset--color--neutral-700); }
.brant-v2 .brant-meter { height: 4px; background: var(--wp--preset--color--neutral-300); border-radius: 0; }
.brant-v2 .brant-meter__fill { background: var(--wp--preset--color--accent); transition: width .5s; }
.brant-tierline { font-size: 12px; text-transform: uppercase; color: var(--wp--preset--color--neutral-700); margin: 12px 0 20px; }

/* ── 8. Lab, reference, about, shipping ────────────────────────────── */

.brant-v2 .brant-page { padding-block: 48px 80px; }
.brant-v2 .brant-page--narrow { max-width: 860px; }
.brant-lab__top { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px; align-items: end; }
.brant-lab__box { padding: 20px; margin: 0; }
.brant-lab__box .brant-label { margin-top: 0; display: block; }
.brant-lab__row { display: flex; gap: 8px; margin-top: 8px; }
.brant-lab__row .brant-input { flex: 1; min-height: 44px; text-transform: uppercase; }
.brant-lab__hint { margin-top: 8px; font-size: 11px; color: var(--wp--preset--color--neutral-600); }
.brant-lab__miss { margin-top: 32px; padding: 16px 20px; border: 1px solid var(--wp--preset--color--accent-900); font-size: 14px; }
.brant-coa2 { margin-top: 32px; }
.brant-coa2__head { display: flex; flex-wrap: wrap; border-bottom: 1px solid var(--wp--preset--color--divider); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; }
.brant-coa2__head > span { padding: 12px 24px; border-left: 1px solid var(--wp--preset--color--divider); color: var(--wp--preset--color--neutral-700); white-space: nowrap; }
.brant-coa2__head > .brant-coa2__title { flex: 1; min-width: 16ch; border-left: 0; color: var(--wp--preset--color--text); white-space: normal; }
.brant-coa2__pass { color: var(--wp--preset--color--accent-700) !important; }
.brant-coa2__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.brant-coa2__grid > div { padding: 24px; border-right: 1px solid var(--wp--preset--color--divider); }
.brant-coa2__grid > div:last-child { border-right: 0; }
.brant-coa2__k { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--neutral-700); }
.brant-coa2__big { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 44px; line-height: 1; margin-top: 8px; font-variant-numeric: tabular-nums; }
.brant-coa2__mid { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 24px; line-height: 1.2; margin-top: 8px; }
.brant-coa2__s { font-size: 12px; color: var(--wp--preset--color--neutral-700); margin-top: 6px; }
.brant-coa2__s.is-body { font-size: 15px; color: var(--wp--preset--color--text); margin-top: 8px; margin-bottom: 12px; }
.brant-table2 { width: 100%; border-collapse: collapse; font-size: 14px; }
.brant-table2 th { text-align: left; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--neutral-700); padding: 10px 8px; border-bottom: 1px solid var(--wp--preset--color--divider); font-weight: 500; }
.brant-table2 td { padding: 10px 8px; border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--text) 8%, transparent); vertical-align: top; }
.brant-table2 tbody tr:hover { background: color-mix(in srgb, var(--wp--preset--color--text) 4%, transparent); }
.brant-table2 td.is-strong, .brant-table2__name { font-weight: 500; }
.brant-table2__name a { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 17px; text-transform: uppercase; text-decoration: none; color: inherit; }
.brant-table2 td.is-small { font-size: 13px; }
.brant-table2 td.is-right { text-align: right; white-space: nowrap; }
.brant-table2 td.is-small a { white-space: nowrap; }
.brant-table2 a { color: var(--wp--preset--color--accent-700); }
.brant-about { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: 48px clamp(24px, 5vw, 96px); align-items: start; }
.brant-about.is-textonly { grid-template-columns: minmax(0, 1fr); }
.brant-about .brant-lead { max-width: 56ch; }
.brant-about__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 32px; max-width: 56ch; }
.brant-about__card { padding: 16px 18px; }
.brant-about__card .brant-label { margin: 0; font-size: 11px; }
.brant-about__card a { display: block; margin-top: 6px; font-size: 14px; color: inherit; text-decoration: none; }
.brant-about__fig { margin: 0; }
.brant-about__fig img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
.brant-shipcards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 40px; }
@media (max-width: 1000px) { .brant-shipcards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .brant-shipcards { grid-template-columns: 1fr; } }
.brant-shipcard { padding: 24px; }
.brant-shipcard__n { font-size: 12px; color: var(--wp--preset--color--accent-700); }
.brant-shipcard h2 { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 22px; text-transform: uppercase; margin: 10px 0 0; }
.brant-shipcard p { font-size: 15px; line-height: 24px; margin: 14px 0 0; color: var(--wp--preset--color--neutral-800); }
.brant-shipterms { margin: 40px 0 0; font-size: 13px; color: var(--wp--preset--color--neutral-700); line-height: 1.6; max-width: 72ch; }
@media (max-width: 800px) {
	.brant-lab__top, .brant-about { grid-template-columns: 1fr; gap: 28px; }
	.brant-about__cards { grid-template-columns: 1fr; }
	.brant-coa2__head > span { padding: 10px 14px; }
	.brant-coa2__grid > div { border-right: 0; border-bottom: 1px solid var(--wp--preset--color--divider); padding: 16px; }
	.brant-shipcards { gap: 16px; }
}

/* ── 9. Gate, exit offer, footer ───────────────────────────────────── */

.brant-v2 .brant-agegate { background: color-mix(in srgb, var(--wp--preset--color--neutral-900) 55%, transparent); backdrop-filter: blur(6px); color: var(--wp--preset--color--text); }
.brant-v2 .brant-agegate__panel { width: min(520px, 100%); background: var(--wp--preset--color--bg); color: var(--wp--preset--color--text); padding: 32px; box-shadow: 0 12px 32px color-mix(in srgb, #2b2b2d 22%, transparent); box-sizing: border-box; }
.brant-agegate__brand { display: flex; align-items: baseline; gap: 12px; }
.brant-v2 .brant-agegate__panel h1 { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 28px; text-transform: uppercase; letter-spacing: .02em; margin: 18px 0 8px; color: var(--wp--preset--color--text); }
.brant-v2 .brant-agegate__panel p { color: var(--wp--preset--color--text); font-size: 14px; opacity: .85; margin: 0; }
.brant-agegate__chips { display: flex; gap: 12px 24px; flex-wrap: wrap; margin-top: 16px; font-size: 11px; text-transform: uppercase; color: var(--wp--preset--color--neutral-700); }
.brant-v2 .brant-agegate__actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 22px; flex-wrap: wrap; }
.brant-v2 .brant-agegate .brant-btn2:focus-visible { outline-color: var(--wp--preset--color--accent); }

.brant-exit {
	position: fixed;
	inset: 0;
	z-index: 60;
	display: grid;
	place-items: center;
	padding: 16px;
	background: color-mix(in srgb, var(--wp--preset--color--neutral-900) 50%, transparent);
}
.brant-exit[hidden] { display: none; }
.brant-exit__panel { width: min(440px, 100%); background: var(--wp--preset--color--bg); padding: 28px; box-shadow: 0 12px 32px color-mix(in srgb, #2b2b2d 22%, transparent); box-sizing: border-box; }
.brant-exit__title { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 30px; text-transform: uppercase; letter-spacing: .02em; margin: 6px 0 10px; line-height: 1.05; }
.brant-exit__panel p { font-size: 14px; opacity: .85; margin: 0; }
.brant-exit__actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; flex-wrap: wrap; }

.brant-footer2 { border-top: 1px solid var(--wp--preset--color--divider); margin-top: 24px; }
.brant-footer2__grid { padding-block: 48px 40px; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 32px; }
.brant-footer2__mark { font-size: 28px; }
.brant-footer2__legal { margin: 16px 0 0; font-size: 12px; line-height: 1.6; color: var(--wp--preset--color--neutral-700); max-width: 44ch; }
.brant-footer2__col { display: grid; gap: 8px; align-content: start; font-size: 14px; }
.brant-footer2__col a { text-decoration: none; color: inherit; }
.brant-footer2__col a:hover { color: var(--wp--preset--color--accent-700); }
.brant-footer2__head { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--neutral-600); }
.brant-footer2__bar { padding-bottom: 32px; font-size: 11px; text-transform: uppercase; color: var(--wp--preset--color--neutral-600); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
@media (max-width: 800px) { .brant-footer2__grid { grid-template-columns: 1fr 1fr; } .brant-footer2__grid > :first-child { grid-column: 1 / -1; } }

/* ── 10. Motion ────────────────────────────────────────────────────── */

@keyframes brant-ticker { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
@keyframes brant-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
@keyframes brant-sweep { 0% { transform: translateX(-120%); } 100% { transform: translateX(220%); } }

.brant-js [data-rv] { opacity: 0; transform: translateY(16px); transition: opacity .7s var(--v2-ease), transform .7s var(--v2-ease); }
.brant-js [data-rv="in"] { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	.brant-ticker__track { animation: none !important; }
	.brant-js [data-rv] { opacity: 1; transform: none; transition: none; }
	.brant-pc__img, .brant-area, .brant-v2.woocommerce div.product div.images img { transition: none; }
}

/* ── 11. Mobile corrections ────────────────────────────────────────── */
/* Moved out of the theme on 2026-09-10.
   These rules now live in the plugin
   wp-content/plugins/brant-mobile-css/mobile.css, which loads after this
   file. They were moved because a theme redeploy replaces this directory
   and had already destroyed the same work once (section 12 of brant.css).
   Do not re-add them here - keep one copy. Source of truth and the full
   block: project doc claude/brant-bio-mobile-corrections.md. */
