/*
 * BIMei Homepage styles, built from the Claude Design handoff
 * (design_handoff_bimei_homepage/README.md and the reference prototype).
 *
 * Every rule is scoped to the page's <main id="bimei-home" class="bimei-home">.
 * Selectors use the ID because themes style bare elements with high
 * specificity (Twenty Twenty-One colours every button through
 * `button:not(:hover):not(:active):not(.has-background)`); the ID keeps those
 * rules out without !important, and nothing here reaches the site header,
 * footer or any other page.
 *
 * Breakpoints (viewport width): wide >= 1024, mid >= 860, cloud and goals
 * >= 760, phone < 700, four-up >= 980, two-up >= 520.
 */

@font-face {
	font-family: "BIMei Raleway";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url(fonts/raleway-latin-wght.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "BIMei Raleway";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url(fonts/raleway-latin-ext-wght.woff2) format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "BIMei Baumans";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(fonts/baumans.woff2) format("woff2");
}

/* ---------------------------------------------------------------- Tokens */

#bimei-home {
	--bh-coral: #f37f73;
	--bh-coral-text: #954c44;
	--bh-coral-fill: #b8594f;
	--bh-coral-900: #7a413b;
	--bh-coral-50: #fef2f1;
	--bh-coral-100: #ffe2de;
	--bh-coral-200: #ffcac3;
	--bh-ink: #1d293d;
	--bh-ink-display: #0f172a;
	--bh-ink-secondary: #475569;
	--bh-surface: #ffffff;
	--bh-muted: #f8fafc;
	--bh-sunk: #f1f5f9;
	--bh-line: #e2e8f0;
	--bh-success: #059669;
	--bh-live: #047857;
	--bh-live-bg: #ecfdf5;
	--bh-testing: #b45309;
	--bh-testing-bg: #fffbeb;
	--bh-teal: #00b9bc;
	--bh-chart-1: #f37f73;
	--bh-chart-2: #5683c4;
	--bh-chart-3: #5ba36a;
	--bh-chart-4: #e3a754;
	--bh-chart-5: #ad6cb0;
	--bh-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
	--bh-ease: cubic-bezier(.2, .8, .2, 1);
	--bh-sans: "BIMei Raleway", Raleway, ui-sans-serif, system-ui, sans-serif;
	--bh-display: "BIMei Baumans", Baumans, var(--bh-sans);
	--bh-gutter: clamp(20px, 4vw, 40px);
	--bh-section-gap: clamp(56px, 7vw, 96px);

	display: block;
	margin: 0;
	padding: 0;
	max-width: none;
	color: var(--bh-ink);
	background: var(--bh-surface);
	font-family: var(--bh-sans);
	font-size: 16px;
	font-weight: 400;
	line-height: normal;
	letter-spacing: normal;
	text-align: left;
	font-variant-numeric: lining-nums;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: clip;
}

/* ------------------------------------------------- Theme isolation resets */

#bimei-home *,
#bimei-home *::before,
#bimei-home *::after { box-sizing: border-box; }

#bimei-home :where(h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, figure, blockquote, figcaption) {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	color: inherit;
	letter-spacing: inherit;
	text-align: inherit;
	text-transform: none;
	background: none;
}

#bimei-home :where(ul, ol) { list-style: none; }
#bimei-home :where(li)::marker { content: none; }
#bimei-home :where(strong, b) { font-weight: 600; }
#bimei-home :where(img, svg, iframe) { max-width: 100%; border: 0; box-shadow: none; }
#bimei-home :where(blockquote)::before,
#bimei-home :where(blockquote)::after { content: none; }

#bimei-home :where(a) {
	color: var(--bh-coral-text);
	text-decoration: underline;
	text-decoration-style: solid;
	text-decoration-thickness: auto;
	text-underline-offset: auto;
	background: none;
	box-shadow: none;
	transition: none;
}
#bimei-home :where(a:hover) { color: var(--bh-coral-900); text-decoration-style: solid; }

#bimei-home :where(button, input) {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	text-transform: none;
	text-decoration: none;
	min-height: 0;
	width: auto;
	-webkit-appearance: none;
	appearance: none;
}
#bimei-home :where(button) { cursor: pointer; }

#bimei-home :focus { outline: none; }
#bimei-home :focus-visible {
	outline: 2px solid var(--bh-coral);
	outline-offset: 3px;
	background-color: transparent;
}
#bimei-home [id] { scroll-margin-top: 110px; }
#bimei-home [hidden] { display: none; }

#bimei-home .bh-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

#bimei-home:not(.is-js) .bh-js-only { display: none; }

/* ------------------------------------------------------------ Primitives */

#bimei-home .bh-wrap {
	width: 100%;
	max-width: 1280px;
	margin-inline: auto;
	padding-inline: var(--bh-gutter);
}

#bimei-home .bh-num {
	font-family: var(--bh-display);
	font-weight: 400;
	color: var(--bh-coral-text);
}
#bimei-home .bh-small { font-size: 13px; color: var(--bh-ink-secondary); }
#bimei-home .bh-label { font-size: 13px; font-weight: 600; color: var(--bh-coral-text); }
#bimei-home .bh-code { font-family: var(--bh-display); font-size: 14px; }

#bimei-home .bh-placeholder {
	align-self: start;
	justify-self: start;
	padding: 2px 6px;
	border: 1px dashed var(--bh-testing);
	border-radius: 4px;
	font-family: var(--bh-sans);
	font-size: 11px;
	font-weight: 600;
	line-height: normal;
	color: var(--bh-testing);
}

/* Pills */
#bimei-home .bh-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
#bimei-home .bh-pill {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 10px;
	height: 42px;
	padding: 0 18px;
	border: 1px solid var(--bh-line);
	border-radius: 999px;
	background: var(--bh-surface);
	color: var(--bh-ink-display);
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	transition: border-color .25s, background-color .25s;
}
#bimei-home .bh-pill:hover { border-color: var(--bh-coral); color: var(--bh-ink-display); }
#bimei-home .bh-pill--primary {
	gap: 12px;
	padding: 0 6px 0 18px;
	border: 0;
	background: var(--bh-coral-fill);
	color: #fff;
}
#bimei-home .bh-pill--primary:hover { background: var(--bh-coral-text); color: #fff; }
#bimei-home .bh-pill--hero { padding-left: 20px; }
#bimei-home .bh-pill__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--bh-surface);
	color: var(--bh-coral-text);
	font-size: 14px;
}
#bimei-home .bh-pill--badged { padding: 0 18px 0 8px; }
#bimei-home .bh-pill--badged:hover { background: var(--bh-coral-50); }
#bimei-home .bh-pill--tint { border-color: var(--bh-coral-200); }
#bimei-home .bh-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid var(--bh-coral-200);
	border-radius: 50%;
	background: var(--bh-coral-50);
	font-family: var(--bh-display);
	font-size: 11px;
	font-weight: 400;
	color: var(--bh-coral-text);
}

/* "Go" links: arrow, no underline until hover */
#bimei-home .bh-go {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	font-size: 13px;
	font-weight: 600;
	color: var(--bh-coral-text);
	text-decoration: none;
}
#bimei-home .bh-go:hover { text-decoration: underline; text-underline-offset: 4px; }
#bimei-home .bh-go--bold { font-weight: 700; }
#bimei-home .bh-golinks { display: flex; flex-wrap: wrap; gap: 0 24px; }

#bimei-home .bh-textbtn {
	flex: none;
	min-height: 36px;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--bh-ink-secondary);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: var(--bh-line);
}
#bimei-home .bh-textbtn:hover { color: var(--bh-ink-display); }

#bimei-home .bh-round {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--bh-line);
	border-radius: 50%;
	background: var(--bh-surface);
	font-size: 15px;
	color: var(--bh-ink-display);
	transition: border-color .25s;
}
#bimei-home .bh-round:hover { border-color: var(--bh-ink-display); }

#bimei-home .bh-show-phone { display: none; }

/* -------------------------------------------------------------- Tip bar */

#bimei-home .bh-tip { border-bottom: 1px solid var(--bh-line); background: var(--bh-muted); }
#bimei-home .bh-tip__inner { display: flex; align-items: center; gap: 12px; min-height: 40px; }
#bimei-home .bh-tip__text {
	flex: 1;
	min-width: 0;
	padding: 9px 0;
	overflow: hidden;
	font-size: 13px;
	line-height: 1.45;
	color: var(--bh-ink-secondary);
	text-overflow: ellipsis;
	white-space: nowrap;
}
#bimei-home .bh-tip__text .bh-num { margin-right: 10px; font-size: 13px; }
#bimei-home .bh-tip__text strong { color: var(--bh-ink-display); }
#bimei-home .bh-tip__ctrl { display: flex; flex: none; align-items: center; }
#bimei-home .bh-tip__btn {
	min-width: 44px;
	height: 40px;
	padding: 0 8px;
	font-size: 12px;
	font-weight: 600;
	color: var(--bh-ink-secondary);
}
#bimei-home .bh-tip__next { width: 44px; padding: 0; font-size: 15px; font-weight: 400; }
#bimei-home .bh-tip__btn:hover { color: var(--bh-ink-display); }

/* ------------------------------------------------- Section opener, headings */

#bimei-home .bh-section { padding-bottom: var(--bh-section-gap); }

#bimei-home .bh-opener {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 24px;
	padding-top: 18px;
}
/* The section rule runs edge to edge, like the walkers' ground line; the number,
   label and principle note stay in the content column. #bimei-home clips the overflow. */
#bimei-home .bh-opener::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 100vw;
	height: 1px;
	transform: translateX(-50%);
	background: var(--bh-ink-display);
	pointer-events: none;
}
#bimei-home .bh-opener__label {
	display: flex;
	align-items: baseline;
	gap: 12px;
	font-size: 13px;
	font-weight: 600;
	color: var(--bh-ink-display);
}
#bimei-home .bh-opener__label .bh-num { font-size: 16px; letter-spacing: 0.02em; }
#bimei-home .bh-note {
	max-width: 360px;
	font-size: 12px;
	color: var(--bh-ink-secondary);
	text-align: right;
	text-wrap: pretty;
}
#bimei-home .bh-note .bh-num { font-size: 14px; }

#bimei-home .bh-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px clamp(40px, 6vw, 96px);
	align-items: end;
	margin-top: clamp(32px, 4vw, 56px);
}
#bimei-home .bh-h1 {
	font-size: clamp(36px, 4.4vw, 62px);
	font-weight: 300;
	line-height: 1.06;
	letter-spacing: -0.03em;
	color: var(--bh-ink-display);
	text-wrap: balance;
}
#bimei-home .bh-h2 {
	font-size: clamp(28px, 3.1vw, 44px);
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: -0.025em;
	color: var(--bh-ink-display);
	text-wrap: balance;
}
#bimei-home .bh-h2 strong { font-weight: 600; }
#bimei-home .bh-intro,
#bimei-home .bh-lead {
	max-width: 520px;
	font-size: 16px;
	line-height: 1.6;
	color: var(--bh-ink);
	text-wrap: pretty;
}
#bimei-home #knowledge .bh-intro,
#bimei-home #apps .bh-intro { max-width: 560px; }

#bimei-home .bh-subhead {
	margin-top: clamp(40px, 5vw, 64px);
	font-size: 13px;
	font-weight: 600;
	color: var(--bh-ink-display);
}

#bimei-home .bh-frame {
	display: block;
	padding: clamp(14px, 2vw, 28px);
	border: 1px solid var(--bh-line);
	border-radius: 10px;
	text-decoration: none;
	transition: border-color .25s;
}
#bimei-home .bh-frame:hover { border-color: var(--bh-ink-secondary); }
#bimei-home .bh-frame img { display: block; width: 100%; height: auto; }

/* Value lines between sections, centred between hairlines */
#bimei-home .bh-divider {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: calc(var(--bh-section-gap) * -0.5);
	padding-bottom: calc(var(--bh-section-gap) * 0.5);
	font-size: 15px;
	font-weight: 500;
	color: var(--bh-coral-text);
	text-align: center;
}
#bimei-home .bh-divider::before,
#bimei-home .bh-divider::after { content: ""; flex: 1; height: 1px; background: var(--bh-line); }

/* -------------------------------------------------------------- Opening */

#bimei-home .bh-opening { padding: clamp(32px, 4vw, 56px) 0 clamp(48px, 6vw, 80px); }
#bimei-home .bh-opening__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px clamp(40px, 5vw, 72px);
	align-items: end;
}
#bimei-home .bh-eyebrow {
	margin-bottom: 22px;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.01em;
	color: var(--bh-coral-text);
}
#bimei-home .bh-verb {
	position: relative;
	z-index: 0;
	display: inline-block;
	font-weight: 600;
	white-space: nowrap;
}
#bimei-home .bh-verb__bar {
	position: absolute;
	right: 0;
	bottom: 0.08em;
	left: 0;
	z-index: -1;
	height: 0.08em;
	border-radius: 2px;
	background: var(--bh-chart-1);
	transform-origin: left center;
	transition: height .6s var(--bh-ease), opacity .6s;
}
#bimei-home .bh-verb[data-verb="1"] .bh-verb__bar { background: var(--bh-chart-2); }
#bimei-home .bh-verb[data-verb="2"] .bh-verb__bar { background: var(--bh-chart-3); }
#bimei-home .bh-verb[data-verb="3"] .bh-verb__bar { background: var(--bh-chart-4); }
#bimei-home .bh-verb[data-verb="4"] .bh-verb__bar { background: var(--bh-chart-5); }
#bimei-home .bh-verb.is-on .bh-verb__bar { height: 0.94em; opacity: 0.3; }
#bimei-home:not(.is-js) .bh-verb[data-verb="0"] .bh-verb__bar { height: 0.94em; opacity: 0.3; }

#bimei-home .bh-opening__side .bh-actions { margin-top: 20px; }
#bimei-home .bh-opening__note { margin-top: 16px; }

/* Walkers */
#bimei-home .bh-walkers { margin-top: clamp(28px, 3.5vw, 44px); }
#bimei-home .bh-walkers__hint {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 4px 24px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--bh-ink-secondary);
}
#bimei-home .bh-walkers__hint strong { color: var(--bh-ink-display); }
#bimei-home .bh-walkers.is-empty .bh-walkers__hint { justify-content: flex-end; }
#bimei-home .bh-walkers__scene { position: relative; }
/* clip, not hidden: focusing an off-stage figure must not scroll the stage. */
#bimei-home .bh-walkers__stage { position: relative; height: 260px; overflow: hidden; overflow: clip; }
#bimei-home .bh-walkers__ground { height: 1px; background: var(--bh-line); }

#bimei-home .bh-walker {
	position: absolute;
	inset: 0;
	pointer-events: none;
	will-change: transform;
}
#bimei-home .bh-walker__btn {
	position: absolute;
	left: 0;
	display: block;
	pointer-events: auto;
	transition: transform .45s var(--bh-ease), opacity .45s;
}
#bimei-home .bh-walker__btn img { display: block; width: 100%; height: 100%; max-width: none; pointer-events: none; }
#bimei-home .bh-walker__spot {
	position: absolute;
	right: 12%;
	left: 12%;
	height: 6px;
	border-radius: 50%;
	background: var(--bh-coral);
	opacity: 0;
	pointer-events: none;
	transition: opacity .35s;
}
#bimei-home .bh-walker__btn:focus-visible { outline-offset: 0; }

/* Story bubble: beside the figure on wider screens, a panel on phones */
#bimei-home .bh-walkers__panel { max-width: none; padding: 0; }
#bimei-home .bh-bubble {
	position: absolute;
	top: 4px;
	left: var(--bh-bubble-x, 0);
	z-index: 20;
	display: flex;
	flex-direction: column;
	width: 300px;
	padding: 16px 18px 10px;
	border: 1px solid var(--bh-line);
	border-radius: 12px;
	background: var(--bh-surface);
	box-shadow: var(--bh-shadow);
}
#bimei-home .bh-bubble[hidden] { display: none; }
#bimei-home .bh-bubble__tail {
	position: absolute;
	top: 100px;
	left: -6px;
	width: 11px;
	height: 11px;
	border: solid var(--bh-line);
	border-width: 0 0 1px 1px;
	background: var(--bh-surface);
	transform: rotate(45deg);
}
#bimei-home .bh-bubble.is-left .bh-bubble__tail { right: -6px; left: auto; border-width: 1px 1px 0 0; }
#bimei-home .bh-bubble__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
#bimei-home .bh-bubble__verb {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 12px;
	font-weight: 600;
	color: var(--bh-ink-secondary);
}
#bimei-home .bh-bubble__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--bh-bubble-c, var(--bh-chart-1)); }
#bimei-home .bh-bubble__close {
	width: 32px;
	height: 32px;
	margin: -8px -10px 0 0;
	border-radius: 50%;
	font-size: 17px;
	line-height: 1;
	color: var(--bh-ink-secondary);
}
#bimei-home .bh-bubble__close:hover { background: var(--bh-sunk); color: var(--bh-ink-display); }
#bimei-home .bh-bubble__who { font-size: 14px; color: var(--bh-ink-display); }
#bimei-home .bh-bubble__who strong { font-weight: 700; }
#bimei-home .bh-bubble__q {
	margin-top: 8px;
	font-size: 17px;
	font-weight: 300;
	line-height: 1.35;
	letter-spacing: -0.01em;
	color: var(--bh-ink-display);
	text-wrap: pretty;
}
#bimei-home .bh-bubble__story { margin-top: 8px; font-size: 13px; line-height: 1.55; color: var(--bh-ink); text-wrap: pretty; }
#bimei-home .bh-bubble__link {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	min-height: 36px;
	margin-top: 6px;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}
#bimei-home .bh-bubble__link:hover { text-decoration: underline; }

/* Model gallery */
#bimei-home .bh-gallery {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px clamp(32px, 4vw, 56px);
	align-items: center;
	margin-top: clamp(40px, 5vw, 64px);
}
#bimei-home .bh-gallery__plates {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border: 1px solid var(--bh-line);
	border-radius: 10px;
	background: var(--bh-surface);
}
#bimei-home .bh-plate { position: absolute; inset: 0; }
#bimei-home .bh-plate__img {
	position: absolute;
	inset: 0;
	display: block;
	padding: clamp(16px, 2.2vw, 30px);
}
#bimei-home .bh-plate__img img { display: block; width: 100%; height: 100%; object-fit: contain; }
#bimei-home .bh-progress {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--bh-coral);
	transform: scaleX(0);
	transform-origin: left center;
}
#bimei-home .bh-plate__pop {
	--bh-inset: 16px;
	position: absolute;
	right: var(--bh-inset);
	bottom: var(--bh-inset);
	left: var(--bh-inset);
	z-index: 2;
	display: flex;
	flex-direction: column;
	max-width: 400px;
	max-height: calc(100% - 2 * var(--bh-inset));
	overflow-y: auto;
	padding: 16px 18px 10px;
	border: 1px solid var(--bh-line);
	border-radius: 14px;
	background: var(--bh-surface);
	box-shadow: var(--bh-shadow);
	opacity: 0;
	transform: translateY(10px);
	pointer-events: none;
	transition: opacity .3s, transform .35s var(--bh-ease);
}
#bimei-home .bh-gallery__plates:hover .bh-plate__pop,
#bimei-home .bh-gallery__plates:focus-within .bh-plate__pop { opacity: 1; transform: none; pointer-events: auto; }
#bimei-home .bh-plate__title { display: flex; align-items: baseline; gap: 10px; }
#bimei-home .bh-plate__title .bh-num { font-size: 24px; line-height: 1; }
#bimei-home .bh-plate__title strong { font-size: 15px; line-height: 1.3; color: var(--bh-ink-display); }
#bimei-home .bh-plate__date { margin-top: 6px; font-size: 12px; font-weight: 600; color: var(--bh-ink-secondary); }
#bimei-home .bh-plate__sum { margin-top: 8px; font-size: 13.5px; line-height: 1.55; color: var(--bh-ink); text-wrap: pretty; }
#bimei-home .bh-plate__foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 6px; }
#bimei-home .bh-paused {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11.5px;
	font-weight: 600;
	color: var(--bh-ink-secondary);
}
#bimei-home .bh-paused__icon { width: 6px; height: 9px; border-inline: 2px solid currentColor; }

#bimei-home .bh-gallery__side { display: flex; flex-direction: column; gap: 14px; }
#bimei-home .bh-gallery__title {
	min-height: 2.5em;
	font-size: clamp(20px, 1.8vw, 26px);
	font-weight: 300;
	line-height: 1.25;
	letter-spacing: -0.015em;
	color: var(--bh-ink-display);
	text-wrap: balance;
}
#bimei-home .bh-gallery__date { margin-top: -6px; font-size: 12.5px; color: var(--bh-ink-secondary); }
#bimei-home .bh-thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
#bimei-home .bh-thumb {
	height: 52px;
	overflow: hidden;
	border: 1px solid var(--bh-line);
	border-radius: 6px;
	background: var(--bh-surface);
	opacity: .55;
	transition: border-color .3s, opacity .3s;
}
#bimei-home .bh-thumb:hover { border-color: var(--bh-ink-secondary); opacity: 1; }
#bimei-home .bh-thumb[aria-selected="true"] { border-color: var(--bh-coral); opacity: 1; }
#bimei-home .bh-thumb img { display: block; width: 100%; height: 100%; padding: 5px; object-fit: contain; }
#bimei-home .bh-gallery__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 4px 16px; }
#bimei-home .bh-gallery__foot .bh-note { max-width: none; line-height: 1.5; text-align: left; }
#bimei-home .bh-gallery__foot .bh-note strong { color: var(--bh-ink-display); }
#bimei-home .bh-gallery__foot .bh-go { flex: none; }

/* ------------------------------------------------------ 01 Why BIMei exists */

#bimei-home .bh-why { gap: 36px clamp(40px, 6vw, 96px); align-items: start; }
#bimei-home .bh-why__body { margin-top: 22px; line-height: 1.65; }
#bimei-home .bh-pillar {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
	gap: 8px 32px;
	align-items: baseline;
	padding: 22px 0;
	border-top: 1px solid var(--bh-line);
}
#bimei-home .bh-pillar:last-child { border-bottom: 1px solid var(--bh-line); }
#bimei-home .bh-pillar__head { font-size: 15px; font-weight: 400; color: var(--bh-ink-secondary); }
#bimei-home .bh-pillar__head strong {
	display: block;
	margin-top: 4px;
	font-size: clamp(24px, 2.2vw, 32px);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--bh-ink-display);
}
#bimei-home .bh-pillar p { font-size: 15px; line-height: 1.6; color: var(--bh-ink); text-wrap: pretty; }
#bimei-home .bh-strike { position: relative; display: inline-block; text-decoration: none; }
#bimei-home .bh-strike::after {
	content: "";
	position: absolute;
	top: 55%;
	right: -2px;
	left: -2px;
	height: 1.5px;
	background: var(--bh-coral);
	transform-origin: left center;
}
#bimei-home.is-js .bh-strike::after { transform: scaleX(0); transition: transform .7s cubic-bezier(.6, 0, .2, 1) .25s; }
#bimei-home.is-js .bh-strike.is-struck::after { transform: none; }

#bimei-home .bh-quote { max-width: 880px; margin: clamp(48px, 6vw, 88px) auto 0; text-align: center; }
#bimei-home .bh-quote blockquote {
	font-size: clamp(20px, 2vw, 28px);
	font-weight: 300;
	line-height: 1.4;
	letter-spacing: -0.01em;
	color: var(--bh-ink-display);
	text-wrap: pretty;
}
#bimei-home .bh-quote blockquote p::before { content: "\201C"; }
#bimei-home .bh-quote blockquote p::after { content: "\201D"; }
#bimei-home .bh-quote blockquote strong { font-weight: 600; }
#bimei-home .bh-quote figcaption { margin-top: 18px; font-size: 13px; color: var(--bh-ink-secondary); }

/* --------------------------------------------------------- 02 Our mission */

#bimei-home .bh-goals {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0 clamp(24px, 3vw, 48px);
	margin-top: clamp(32px, 4vw, 48px);
	border-top: 1px solid var(--bh-line);
}
#bimei-home .bh-goal { display: flex; flex-direction: column; gap: 12px; padding: 24px 0 12px; }
#bimei-home .bh-goal__label { font-size: 13px; color: var(--bh-ink-secondary); }
#bimei-home .bh-goal__label .bh-num { font-size: 15px; }
#bimei-home .bh-goal h3 {
	min-height: 2.6em;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: var(--bh-ink-display);
	text-wrap: pretty;
}
#bimei-home .bh-linkrows { margin-top: 8px; }
#bimei-home .bh-linkrows a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	border-top: 1px solid var(--bh-line);
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
}
#bimei-home .bh-linkrows a:hover { text-decoration: underline; text-underline-offset: 4px; }
#bimei-home .bh-closing { margin-top: 28px; font-size: 15px; line-height: 1.6; color: var(--bh-ink-secondary); }
#bimei-home .bh-closing a { font-weight: 600; }

/* --------------------------------------------------- 03 Knowledge Structure */

#bimei-home .bh-ks {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px clamp(32px, 5vw, 72px);
	align-items: start;
	margin-top: clamp(32px, 4vw, 48px);
}
#bimei-home .bh-ks__model figcaption { margin-top: 10px; font-size: 13px; color: var(--bh-ink-secondary); }
#bimei-home .bh-ks__model figcaption .bh-num { font-size: 14px; }
#bimei-home .bh-ks__sets { border-top: 1px solid var(--bh-line); }
#bimei-home .bh-ks__set {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	gap: 12px;
	padding: 18px 0;
	border-bottom: 1px solid var(--bh-line);
}
#bimei-home .bh-ks__code { padding-top: 3px; font-size: 16px; letter-spacing: 0.02em; color: var(--bh-ink-secondary); }
#bimei-home .bh-ks__set h3 { font-size: 17px; font-weight: 600; color: var(--bh-ink-display); }
#bimei-home .bh-ks__text { margin-top: 4px; font-size: 15px; line-height: 1.55; color: var(--bh-ink); }
#bimei-home .bh-ks__set.is-emphasis {
	margin-left: -18px;
	padding: 24px 0 26px 16px;
	border-left: 2px solid var(--bh-coral);
}
#bimei-home .bh-ks__set.is-emphasis .bh-ks__code { padding-top: 5px; color: var(--bh-coral-text); }
#bimei-home .bh-ks__set.is-emphasis h3 {
	font-size: clamp(20px, 1.8vw, 24px);
	line-height: 1.25;
	letter-spacing: -0.01em;
}
#bimei-home .bh-ks__set.is-emphasis .bh-ks__text { margin-top: 12px; }
#bimei-home .bh-ks__set.is-emphasis .bh-ks__text a { font-weight: 600; }
#bimei-home .bh-ks__stats { display: flex; flex-wrap: wrap; gap: 12px 36px; margin-top: 14px; }
#bimei-home .bh-ks__stats p { display: flex; align-items: baseline; gap: 8px; font-size: 14px; color: var(--bh-ink-secondary); }
#bimei-home .bh-ks__stats .bh-num { font-size: clamp(30px, 2.8vw, 40px); line-height: 1; }
#bimei-home .bh-ks__set .bh-golinks { margin-top: 4px; }

/* -------------------------------------------------------------- 04 Apps */

#bimei-home .bh-navigator {
	margin-top: clamp(32px, 4vw, 48px);
	overflow: hidden;
	border: 1px solid var(--bh-line);
	border-radius: 10px;
	background: var(--bh-muted);
}
#bimei-home .bh-navigator iframe { display: block; width: 100%; height: var(--bh-nav-h, 800px); border: 0; }
#bimei-home .bh-navigator__foot {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 14px 24px;
	margin-top: 16px;
}
#bimei-home .bh-navigator__foot > p:first-child {
	flex: 1 1 320px;
	max-width: 640px;
	font-size: 13px;
	line-height: 1.55;
	color: var(--bh-ink-secondary);
}
#bimei-home .bh-navigator__foot .bh-actions { gap: 8px; flex-wrap: nowrap; }

#bimei-home .bh-tiles {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
	gap: 16px;
	margin-top: 20px;
}
#bimei-home .bh-tile {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	gap: 10px;
	overflow: hidden;
	padding: 22px 20px 16px;
	border-radius: 20px;
	background: var(--bh-muted);
	transition: background-color .35s;
}
#bimei-home .bh-tile__walker {
	position: absolute;
	right: 16px;
	bottom: -20px;
	z-index: -1;
	width: auto;
	height: 150px;
	max-width: none;
	filter: brightness(0) invert(1);
	opacity: 0;
	transform: translateX(28px);
	transition: opacity .4s, transform .55s var(--bh-ease);
	pointer-events: none;
}
#bimei-home .bh-tile:hover,
#bimei-home .bh-tile:focus-within { background: var(--bh-line); }
#bimei-home .bh-tile:hover .bh-tile__walker,
#bimei-home .bh-tile:focus-within .bh-tile__walker { opacity: 1; transform: none; }
#bimei-home .bh-tile__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; height: 48px; }
#bimei-home .bh-tile__logo { display: flex; align-items: center; min-width: 0; }
#bimei-home .bh-tile__logo img {
	display: block;
	width: auto;
	height: 44px;
	max-width: 210px;
	object-fit: contain;
	object-position: left center;
}
#bimei-home .bh-status {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 6px;
	height: 24px;
	padding: 0 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
}
#bimei-home .bh-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
#bimei-home .bh-status--live { background: var(--bh-live-bg); color: var(--bh-live); }
#bimei-home .bh-status--testing,
#bimei-home .bh-status--planned { background: var(--bh-testing-bg); color: var(--bh-testing); }
#bimei-home .bh-tile h4 {
	margin-top: 6px;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--bh-ink-display);
}
#bimei-home .bh-tile__line { flex: 1; font-size: 14px; line-height: 1.55; color: var(--bh-ink); text-wrap: pretty; }
#bimei-home .bh-tile__stats { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 18px; }
#bimei-home .bh-tile__stats p { display: flex; align-items: baseline; gap: 5px; font-size: 12.5px; color: var(--bh-ink-secondary); }
#bimei-home .bh-tile__stats .bh-num { font-size: 24px; line-height: 1; }
#bimei-home .bh-tile__fact { font-size: 12.5px; line-height: 1.5; color: var(--bh-ink-secondary); }
#bimei-home .bh-tile__foot {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 2px 16px;
	margin-top: 4px;
	font-size: 12px;
	color: var(--bh-ink-secondary);
}
#bimei-home .bh-tile__foot a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 36px;
	font-size: 12.5px;
	font-weight: 600;
	text-decoration-color: transparent;
	text-underline-offset: 4px;
	transition: text-decoration-color .25s;
}
#bimei-home .bh-tile__foot a:hover { text-decoration-color: currentColor; }

/* -------------------------------------------------- 05 Ideas in the open */

#bimei-home .bh-ideas .bh-heading__side { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
#bimei-home .bh-rail__arrows { display: flex; flex: none; gap: 6px; }
#bimei-home .bh-rail {
	margin-top: clamp(32px, 4vw, 48px);
	padding-bottom: 8px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	scroll-padding-inline: max(var(--bh-gutter), calc((100% - 1280px) / 2 + 40px));
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--bh-gutter), #000 calc(100% - 64px), transparent 100%);
	mask-image: linear-gradient(to right, transparent 0, #000 var(--bh-gutter), #000 calc(100% - 64px), transparent 100%);
}
#bimei-home .bh-rail::-webkit-scrollbar { display: none; }
#bimei-home .bh-rail:focus-visible { outline-offset: -2px; }
#bimei-home .bh-rail__track {
	display: flex;
	width: max-content;
	padding: 0 max(var(--bh-gutter), calc((100% - 1280px) / 2 + 40px));
}
#bimei-home .bh-milestone {
	flex: none;
	width: 280px;
	padding: 0 24px 0 0;
	scroll-snap-align: start;
}
#bimei-home .bh-milestone__mark { position: relative; display: block; height: 12px; margin-bottom: 16px; }
#bimei-home .bh-milestone__mark::before {
	content: "";
	position: absolute;
	top: 5px;
	right: 0;
	left: 0;
	height: 1px;
	background: var(--bh-line);
}
#bimei-home .bh-milestone__mark::after {
	content: "";
	position: absolute;
	top: 1px;
	left: 0;
	width: 9px;
	height: 9px;
	border: 1.5px solid var(--bh-coral);
	border-radius: 50%;
	background: var(--bh-surface);
}
#bimei-home .bh-milestone.is-latest .bh-milestone__mark::after { background: var(--bh-coral); }
#bimei-home .bh-milestone__year { font-size: 22px; line-height: 1; }
#bimei-home .bh-milestone h3 {
	margin-top: 10px;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--bh-ink-display);
	text-wrap: pretty;
}
#bimei-home .bh-milestone__text { margin-top: 6px; font-size: 14px; line-height: 1.55; color: var(--bh-ink-secondary); text-wrap: pretty; }
#bimei-home .bh-rail__dots { display: flex; align-items: center; gap: 2px; margin-top: 6px; }
#bimei-home .bh-rail__dot { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; }
#bimei-home .bh-rail__dot span {
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 3px;
	background: var(--bh-line);
	transition: width .3s, background-color .3s;
}
#bimei-home .bh-rail__dot.is-on span { width: 16px; background: var(--bh-coral); }

#bimei-home .bh-latest {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 40px clamp(32px, 5vw, 72px);
	margin-top: clamp(40px, 5vw, 72px);
}
#bimei-home .bh-colhead {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--bh-ink-display);
}
#bimei-home .bh-colhead h3 { font-size: 13px; font-weight: 600; color: var(--bh-ink-display); }
#bimei-home .bh-colhead .bh-go { min-height: 32px; }
#bimei-home .bh-episode {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 0;
	border-bottom: 1px solid var(--bh-line);
	text-decoration: none;
}
#bimei-home .bh-episode.has-image { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 14px; align-items: center; }
#bimei-home .bh-episode__img img { display: block; width: 72px; height: 48px; border-radius: 6px; object-fit: cover; }
#bimei-home .bh-episode__text { display: flex; flex-direction: column; gap: 4px; }
#bimei-home .bh-episode__meta { font-family: var(--bh-display); font-size: 14px; color: var(--bh-ink-secondary); }
#bimei-home .bh-episode__title { font-size: 16px; font-weight: 600; color: var(--bh-ink-display); }
#bimei-home .bh-episode:hover .bh-episode__title { text-decoration: underline; text-underline-offset: 4px; }
#bimei-home .bh-episode.is-lead { grid-template-columns: 160px minmax(0, 1fr); gap: 18px; padding: 18px 0; }
#bimei-home .bh-episode.is-lead .bh-episode__img {
	display: block;
	aspect-ratio: 3 / 2;
	padding: 10px;
	border: 1px solid var(--bh-line);
	border-radius: 8px;
	background: var(--bh-surface);
}
#bimei-home .bh-episode.is-lead .bh-episode__img img { width: 100%; height: 100%; border-radius: 0; object-fit: contain; }
#bimei-home .bh-episode.is-lead .bh-episode__text { gap: 5px; }
#bimei-home .bh-episode.is-lead .bh-episode__title { font-size: 18px; line-height: 1.3; }

#bimei-home .bh-releases li {
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr);
	gap: 14px;
	padding: 16px 0;
	border-bottom: 1px solid var(--bh-line);
}
#bimei-home .bh-releases__date { font-family: var(--bh-display); font-size: 14px; line-height: 1.9; color: var(--bh-ink-secondary); }
#bimei-home .bh-releases p { font-size: 15px; line-height: 1.55; color: var(--bh-ink); }
#bimei-home .bh-releases strong { color: var(--bh-ink-display); }

/* --------------------------------------------- 06 The Excellence Manifesto */

#bimei-home .bh-manifesto__side { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; }
#bimei-home .bh-manifesto__side .bh-intro { flex: 1 1 260px; max-width: none; }
#bimei-home .bh-manifesto__side .bh-actions { gap: 8px; }

#bimei-home .bh-cloud {
	position: relative;
	margin-top: clamp(24px, 3vw, 40px);
	padding: 16px 0;
	border-block: 1px solid var(--bh-line);
}
#bimei-home .bh-cloud__lines { display: none; }
#bimei-home .bh-cloud__terms { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 4px; }
#bimei-home .bh-term button {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	height: 40px;
	padding: 0 11px 0 9px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: var(--bh-surface);
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.01em;
	white-space: nowrap;
	color: var(--bh-ink-secondary);
	transition: color .3s, background-color .3s, border-color .3s, transform .4s var(--bh-ease);
}
#bimei-home .bh-term--t1 button { font-size: 14px; color: var(--bh-ink); }
#bimei-home .bh-term--t2 button { font-size: 16px; color: var(--bh-ink-display); }
#bimei-home .bh-dot {
	position: relative;
	flex: none;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--bh-dot, var(--bh-chart-1));
	transition: transform .3s, background-color .3s;
}
#bimei-home .bh-c2 { --bh-dot: var(--bh-chart-2); }
#bimei-home .bh-c3 { --bh-dot: var(--bh-chart-3); }
#bimei-home .bh-c4 { --bh-dot: var(--bh-chart-4); }
#bimei-home .bh-c5 { --bh-dot: var(--bh-chart-5); }
#bimei-home .bh-dot__pulse { position: absolute; inset: -4px; opacity: 0; transition: opacity .3s; }
#bimei-home .bh-dot__pulse::before {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid var(--bh-coral);
	border-radius: 50%;
	animation: bh-pulse 1.8s ease-out infinite;
}
#bimei-home .bh-term.is-active { z-index: 4; }
#bimei-home .bh-term.is-active button { border-color: var(--bh-coral-200); background: var(--bh-coral-50); color: var(--bh-coral-text); }
#bimei-home .bh-term.is-active .bh-dot { background: var(--bh-coral); transform: scale(1.3); }
#bimei-home .bh-term.is-active .bh-dot__pulse { opacity: 1; }
#bimei-home .bh-cloud.is-hovering .bh-term:not(.is-active) button { color: var(--bh-ink-secondary); }
#bimei-home .bh-cloud.is-hovering .bh-term.is-near button { border-color: var(--bh-line); color: var(--bh-ink-display); }
#bimei-home .bh-cloud.is-hovering .bh-term:not(.is-active):not(.is-near) .bh-dot { transform: scale(.7); }

#bimei-home .bh-cloud__lines line { stroke: var(--bh-line); stroke-width: 1; transition: stroke .4s; }
#bimei-home .bh-cloud__lines line.is-hot {
	stroke: var(--bh-coral);
	stroke-width: 1.2;
	stroke-dasharray: 3 4;
	animation: bh-flow 1.2s linear infinite;
}

#bimei-home .bh-cloud__tip {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 30;
	width: 250px;
	padding: 11px 14px 12px;
	border: 1px solid var(--bh-line);
	border-radius: 10px;
	background: var(--bh-surface);
	box-shadow: var(--bh-shadow);
	pointer-events: none;
	transition: left .5s var(--bh-ease), top .5s var(--bh-ease);
}
#bimei-home .bh-cloud__tip.is-placing { transition: none; }
#bimei-home .bh-cloud__tail {
	position: absolute;
	width: 9px;
	height: 9px;
	margin-left: -5px;
	border: solid var(--bh-line);
	background: var(--bh-surface);
	transform: rotate(45deg);
	transition: left .5s;
}
#bimei-home .bh-cloud__num { font-size: 11.5px; font-weight: 600; color: var(--bh-coral-text); }
#bimei-home .bh-cloud__pledge { margin-top: 3px; font-size: 13px; line-height: 1.5; color: var(--bh-ink); text-wrap: pretty; }
#bimei-home .bh-cloud__pledge strong { font-weight: 700; color: var(--bh-ink-display); }

#bimei-home .bh-manifesto__foot {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 8px 32px;
	margin-top: 14px;
}
#bimei-home .bh-manifesto__pledge {
	flex: 1 1 100%;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.45;
	color: var(--bh-ink-display);
	text-wrap: pretty;
}
#bimei-home .bh-manifesto__foot .bh-small { font-size: 12.5px; }

/* ----------------------------------------------------------- 07 Community */

#bimei-home .bh-stats {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px 24px;
	margin-top: clamp(32px, 4vw, 48px);
}
#bimei-home .bh-stats > div { display: flex; flex-direction: column; padding-top: 14px; border-top: 1px solid var(--bh-line); }
#bimei-home .bh-stats dt { order: 2; margin-top: 8px; font-size: 14px; color: var(--bh-ink-secondary); }
#bimei-home .bh-stats dd { order: 1; font-size: clamp(34px, 3.4vw, 46px); line-height: 1; }
#bimei-home .bh-plus { color: var(--bh-coral); }

#bimei-home .bh-ways {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0 clamp(24px, 3vw, 40px);
	margin-top: clamp(32px, 4vw, 48px);
	border-top: 1px solid var(--bh-line);
}
#bimei-home .bh-ways a,
#bimei-home .bh-ways li > div {
	display: flex;
	flex-direction: column;
	gap: 6px;
	height: 100%;
	padding: 20px 0 16px;
	border-bottom: 1px solid var(--bh-line);
	text-decoration: none;
}
#bimei-home .bh-ways__title { font-size: 17px; font-weight: 600; color: var(--bh-ink-display); }
#bimei-home .bh-ways__text { font-size: 14px; line-height: 1.55; color: var(--bh-ink); }
#bimei-home .bh-ways a:hover .bh-ways__title { text-decoration: underline; text-underline-offset: 4px; }
#bimei-home .bh-community__foot {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 12px 32px;
	margin-top: 20px;
}
#bimei-home .bh-notice { font-size: 14px; line-height: 1.55; color: var(--bh-ink-secondary); }
#bimei-home .bh-notice strong { color: var(--bh-ink-display); }

/* ------------------------------------------------------- 08 Partner with us */

#bimei-home .bh-partner { padding-bottom: clamp(40px, 5vw, 64px); background: var(--bh-coral-50); }
#bimei-home .bh-partner__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px clamp(40px, 5vw, 80px);
	align-items: start;
	margin-top: clamp(24px, 3vw, 40px);
}
#bimei-home .bh-partner__h2 { font-size: clamp(26px, 2.6vw, 36px); line-height: 1.12; letter-spacing: -0.022em; }
#bimei-home .bh-partner__body { max-width: 460px; margin-top: 14px; font-size: 15px; line-height: 1.6; color: var(--bh-ink); text-wrap: pretty; }
#bimei-home .bh-partner__grid .bh-actions { margin-top: 18px; }
#bimei-home .bh-backed { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--bh-coral-200); }
#bimei-home .bh-backed a { display: inline-flex; align-items: center; gap: 14px; min-height: 40px; text-decoration: none; }
#bimei-home .bh-backed a:hover { opacity: .85; }
#bimei-home .bh-backed__label { font-size: 12px; font-weight: 600; color: var(--bh-ink-secondary); }
#bimei-home .bh-backed img { display: block; width: auto; height: 24px; }
#bimei-home .bh-backed__name { font-size: 15px; font-weight: 700; color: var(--bh-ink-display); }
#bimei-home .bh-backed__arrow { font-size: 13px; color: var(--bh-coral-text); }
#bimei-home .bh-backed p { max-width: 440px; margin-top: 4px; font-size: 12.5px; line-height: 1.55; color: var(--bh-ink-secondary); }

#bimei-home .bh-partner__label { margin-bottom: 10px; font-size: 12.5px; font-weight: 600; color: var(--bh-ink-secondary); }
#bimei-home .bh-offer-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
#bimei-home .bh-offer-tabs button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 38px;
	padding: 0 14px 0 5px;
	border: 1px solid var(--bh-coral-200);
	border-radius: 999px;
	background: transparent;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--bh-ink);
	white-space: nowrap;
	transition: background-color .25s, border-color .25s, color .25s;
}
#bimei-home .bh-offer-tabs__n {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--bh-coral-100);
	font-family: var(--bh-display);
	font-size: 15px;
	color: var(--bh-coral-text);
	transition: background-color .25s, color .25s;
}
#bimei-home .bh-offer-tabs button[aria-selected="true"] { border-color: var(--bh-coral); background: var(--bh-surface); color: var(--bh-ink-display); }
#bimei-home .bh-offer-tabs button[aria-selected="true"] .bh-offer-tabs__n { background: var(--bh-coral-fill); color: #fff; }
#bimei-home .bh-offer {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 8px 18px;
	align-items: start;
	padding: 20px 22px 18px;
	border: 1px solid var(--bh-coral-200);
	border-radius: 16px;
	background: var(--bh-surface);
}
#bimei-home .bh-offer[hidden] { display: none; }
#bimei-home:not(.is-js) .bh-offer[hidden] { display: grid; margin-top: 12px; }
#bimei-home .bh-offer__n { font-family: var(--bh-display); font-size: 46px; line-height: .9; color: var(--bh-coral); }
#bimei-home .bh-offer h3 { font-size: 18px; font-weight: 600; line-height: 1.3; letter-spacing: -0.01em; color: var(--bh-ink-display); }
#bimei-home .bh-offer h3 + p { margin-top: 6px; font-size: 14.5px; line-height: 1.6; color: var(--bh-ink); text-wrap: pretty; }
#bimei-home .bh-offer__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 20px; margin-top: 14px; }
#bimei-home .bh-offer__foot p { font-size: 12.5px; color: var(--bh-ink-secondary); }
#bimei-home .bh-offer__foot p a { font-weight: 600; text-decoration: none; }
#bimei-home .bh-offer__foot p a:hover { text-decoration: underline; }
#bimei-home .bh-ask {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 36px;
	padding: 0 4px 0 14px;
	border: 1px solid var(--bh-coral-200);
	border-radius: 999px;
	background: var(--bh-coral-50);
	font-size: 13px;
	font-weight: 600;
	color: var(--bh-coral-text);
	white-space: nowrap;
	text-decoration: none;
	transition: border-color .25s;
}
#bimei-home .bh-ask:hover { border-color: var(--bh-coral); color: var(--bh-coral-text); }
#bimei-home .bh-ask__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--bh-coral-fill);
	font-size: 12px;
	color: #fff;
}
#bimei-home .bh-open {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
	gap: 10px 20px;
	margin-top: 16px;
}
#bimei-home .bh-open li { display: flex; flex-direction: column; gap: 2px; }
#bimei-home .bh-open__title { display: flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 700; color: var(--bh-ink-display); }
#bimei-home .bh-open__title::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--bh-coral); }
#bimei-home .bh-open--green .bh-open__title::before { background: var(--bh-success); }
#bimei-home .bh-open--teal .bh-open__title::before { background: var(--bh-teal); }
#bimei-home .bh-open__text { padding-left: 14px; font-size: 12px; line-height: 1.5; color: var(--bh-ink-secondary); }

/* ------------------------------------------------------------ Subscribe */

#bimei-home .bh-subscribe { padding: clamp(48px, 6vw, 80px) 0; }
#bimei-home .bh-subscribe__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px clamp(32px, 5vw, 72px);
	align-items: center;
}
#bimei-home .bh-subscribe__title {
	font-size: clamp(24px, 2.4vw, 32px);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--bh-ink-display);
}
#bimei-home .bh-subscribe__body { max-width: 480px; margin-top: 10px; font-size: 15px; line-height: 1.6; color: var(--bh-ink); }
#bimei-home .bh-subscribe__form { display: flex; flex-direction: column; gap: 8px; }
#bimei-home .bh-subscribe__form label { font-size: 13px; font-weight: 600; color: var(--bh-ink-display); }
#bimei-home .bh-subscribe__row { display: flex; flex-wrap: wrap; gap: 8px; }
#bimei-home .bh-subscribe__row input {
	flex: 1 1 220px;
	min-width: 0;
	height: 44px;
	padding: 0 14px;
	border: 1px solid var(--bh-ink-secondary);
	border-radius: 999px;
	background: var(--bh-surface);
	font-size: 15px;
	color: var(--bh-ink);
}
#bimei-home .bh-subscribe__row input::placeholder { color: var(--bh-ink-secondary); opacity: .8; }
#bimei-home .bh-subscribe__row input[aria-invalid="true"] { border-color: var(--bh-coral-text); }
#bimei-home .bh-subscribe__row button {
	flex: none;
	height: 44px;
	padding: 0 20px;
	border-radius: 999px;
	background: var(--bh-coral-fill);
	font-size: 14px;
	font-weight: 600;
	color: #fff;
	transition: background-color .25s;
}
#bimei-home .bh-subscribe__row button:hover { background: var(--bh-coral-text); color: #fff; }
#bimei-home .bh-subscribe__msg { min-height: 20px; font-size: 13px; color: var(--bh-live); }
#bimei-home .bh-subscribe__msg.is-error { color: var(--bh-coral-text); }

/* Full sign-up: the BIMei Forms newsletter form, in the homepage's style. */
#bimei-home .bh-subscribe--full .bh-subscribe__grid { align-items: start; }
#bimei-home .bf-form {
	--bf-accent: var(--bh-coral-fill);
	--bf-text: var(--bh-ink);
	--bf-muted: var(--bh-ink-secondary);
	--bf-border: var(--bh-ink-secondary);
	--bf-field-bg: var(--bh-surface);
	--bf-error: var(--bh-coral-text);
	--bf-ok: var(--bh-live);
	--bf-radius: 22px;
	--bf-gap: 12px;
	max-width: none;
}
#bimei-home .bf-form .bf-field label { margin-bottom: 6px; font-size: 13px; font-weight: 600; color: var(--bh-ink-display); }
#bimei-home .bf-form .bf-opt { font-weight: 400; color: var(--bh-ink-secondary); }
/* The section reset above strips inputs (border, background, width, appearance); give the form's back. */
#bimei-home .bf-form input[type="text"],
#bimei-home .bf-form input[type="email"],
#bimei-home .bf-form select {
	width: 100%;
	height: 44px;
	padding: 0 14px;
	border: 1px solid var(--bh-ink-secondary);
	border-radius: 999px;
	background: var(--bh-surface);
	font-size: 15px;
	color: var(--bh-ink);
}
#bimei-home .bf-form .bf-field--invalid input,
#bimei-home .bf-form .bf-field--invalid select { border-color: var(--bh-coral-text); }
#bimei-home .bf-form input[type="checkbox"] {
	-webkit-appearance: auto;
	appearance: auto;
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
	accent-color: var(--bh-coral-fill);
}
#bimei-home .bf-form .bf-consent label { font-size: 13px; font-weight: 400; line-height: 1.5; color: var(--bh-ink); }
#bimei-home .bf-form .bf-consent a { color: inherit; text-decoration: underline; }
#bimei-home .bf-form .bf-error { margin-top: 4px; font-size: 12px; color: var(--bh-coral-text); }
#bimei-home .bf-form .bf-status { margin-top: 12px; font-size: 14px; }
#bimei-home .bf-form .bf-status--ok { font-weight: 600; color: var(--bh-live); }
#bimei-home .bf-form .bf-status--error { color: var(--bh-coral-text); }
#bimei-home .bf-form .bf-button {
	height: 44px;
	padding: 0 20px;
	border-radius: 999px;
	background: var(--bh-coral-fill);
	font-size: 14px;
	font-weight: 600;
	color: #fff;
	transition: background-color .25s;
}
#bimei-home .bf-form .bf-button:hover { background: var(--bh-coral-text); color: #fff; }

/* ------------------------------------------------------------ Animation */

@keyframes bh-pulse {
	from { opacity: .9; transform: scale(.7); }
	to { opacity: 0; transform: scale(2.3); }
}
@keyframes bh-flow {
	to { stroke-dashoffset: -14; }
}

/* The global motion toggle and off-screen sections stop CSS loops. */
#bimei-home.is-motion-paused .bh-dot__pulse::before,
#bimei-home.is-motion-paused .bh-cloud__lines line,
#bimei-home .bh-cloud.is-idle .bh-dot__pulse::before,
#bimei-home .bh-cloud.is-idle .bh-cloud__lines line { animation-play-state: paused; }

/* ------------------------------------------------------------ Responsive */

@media (min-width: 520px) {
	#bimei-home .bh-stats,
	#bimei-home .bh-ways { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 760px) {
	#bimei-home .bh-goals { grid-template-columns: repeat(3, minmax(0, 1fr)); }

	/* Term cloud: each principle at its x/y position, centred on it. */
	#bimei-home .bh-cloud { height: clamp(320px, 26vw, 400px); padding: 0; }
	#bimei-home .bh-cloud__lines { position: absolute; inset: 0; display: block; width: 100%; height: 100%; pointer-events: none; }
	#bimei-home .bh-cloud__terms { display: block; position: absolute; inset: 0; }
	#bimei-home .bh-term {
		position: absolute;
		top: calc(var(--y) * 1%);
		left: calc(var(--x) * 1%);
		z-index: 2;
		transform: translate(-50%, -50%);
	}
	#bimei-home .bh-term button { height: 30px; font-size: 12.5px; }
	#bimei-home .bh-term--t1 button { font-size: 14px; }
	#bimei-home .bh-term--t2 button { font-size: 17px; }
	#bimei-home .bh-term.is-active button { transform: translateY(-2px); }
	#bimei-home .bh-manifesto__pledge { display: none; }
}

@media (min-width: 860px) {
	#bimei-home .bh-ks,
	#bimei-home .bh-latest,
	#bimei-home .bh-subscribe__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	#bimei-home .bh-ks__model { position: sticky; top: 88px; }
}

@media (min-width: 980px) {
	#bimei-home .bh-stats,
	#bimei-home .bh-ways { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
	#bimei-home .bh-opening__row,
	#bimei-home .bh-gallery { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
	#bimei-home .bh-heading,
	#bimei-home .bh-partner__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
}

@media (min-width: 700px) and (max-width: 1023px) {
	#bimei-home .bh-gallery__plates { max-height: 380px; }
}

@media (max-width: 699px) {
	#bimei-home .bh-hide-phone { display: none; }
	#bimei-home .bh-show-phone { display: inline; }
	#bimei-home .bh-walkers__stage { height: 160px; }
	#bimei-home .bh-walkers__panel { max-width: 1280px; padding-inline: var(--bh-gutter); }
	#bimei-home .bh-bubble { position: static; width: auto; margin-top: 14px; }
	#bimei-home .bh-bubble__tail { display: none; }
	#bimei-home .bh-gallery__plates { max-height: 240px; }
	#bimei-home .bh-plate__pop { --bh-inset: 8px; padding: 12px 14px 6px; }
	#bimei-home .bh-pillar { grid-template-columns: minmax(0, 1fr); }
	#bimei-home .bh-navigator iframe { height: var(--bh-nav-h-phone, 560px); }
	#bimei-home .bh-navigator__foot .bh-actions { flex-wrap: wrap; }
	#bimei-home .bh-milestone { width: 240px; }
	#bimei-home .bh-episode.is-lead { grid-template-columns: minmax(0, 1fr); }
	#bimei-home .bh-offer { grid-template-columns: minmax(0, 1fr); }
	#bimei-home .bh-opener { flex-wrap: wrap; gap: 8px 24px; }
	#bimei-home .bh-opener .bh-note { text-align: left; }
}
