/*
 * Mimoto blocks. Illustrations only, never real data.
 * Product UI runs dark inside the light page (Brand Book 1.x grounds, 3.04).
 * Diagrams run on white with 2px Navy hairlines (2.08). Coral marks detection only.
 */

.mimoto-live,
.mimoto-verdicts,
.mimoto-rhythm {
	--mb-navy: var(--wp--preset--color--navy, #170D7D);
	--mb-coral: var(--wp--preset--color--coral, #FF662E);
	--mb-blue: var(--wp--preset--color--light-blue, #92C5FC);
	--mb-gray: var(--wp--preset--color--gray, #555869);
	--mb-deep: var(--wp--preset--color--deep-navy, #0B1533);
	--mb-pale: var(--wp--preset--color--pale, #DCE5F4);
	--mb-mono: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", "Courier New", monospace);
	margin: 0;
}

.mimoto-live figcaption,
.mimoto-verdicts figcaption,
.mimoto-rhythm figcaption {
	margin-top: 12px;
	font-family: var(--mb-mono);
	font-size: 12px;
	line-height: 1.5;
	color: var(--mb-gray);
}

/* ---------- Live session ---------- */

.mimoto-live {
	position: relative;
	padding: 36px 36px 0 0;
}

.mimoto-live__arc {
	position: absolute;
	top: -9px;
	right: -9px;
	width: 180px;
	height: 180px;
	z-index: 0;
	pointer-events: none;
}

.mimoto-live__arc circle {
	fill: none;
	stroke: var(--mb-coral);
	stroke-width: 13;
}

.mimoto-live__screen {
	position: relative;
	z-index: 1;
	background: var(--mb-deep);
	color: #F2F7FF;
	padding: 18px 22px 18px;
}

.mimoto-live__bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(146, 197, 252, 0.18);
	font-family: var(--mb-mono);
	font-size: 11px;
	color: var(--mb-blue);
}

.mimoto-live__status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--mb-blue);
	transition: color 0.3s ease;
}

.mimoto-live__status::before {
	content: "";
	width: 7px;
	height: 7px;
	background: currentColor;
}

.mimoto-live__status.is-flagged {
	color: var(--mb-coral);
}

.mimoto-live__score {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-top: 16px;
}

.mimoto-live__k {
	font-family: var(--mb-mono);
	font-size: 11px;
	color: rgba(146, 197, 252, 0.88);
}

.mimoto-live__v {
	font-size: clamp(32px, 3.4vw, 42px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	color: #F2F7FF;
}

.mimoto-live__plot {
	position: relative;
	height: clamp(120px, 14vw, 156px);
	margin-top: 12px;
}

.mimoto-live__chart {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.mimoto-live__line {
	fill: none;
	stroke: var(--mb-blue);
	stroke-width: 2;
	stroke-linejoin: round;
	stroke-linecap: round;
	vector-effect: non-scaling-stroke;
}

.mimoto-live__grid {
	stroke: rgba(146, 197, 252, 0.25);
	stroke-width: 1;
	stroke-dasharray: 3 5;
	vector-effect: non-scaling-stroke;
}

.mimoto-live__dot {
	position: absolute;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--mb-coral);
	transform: translate(-50%, -50%);
}

.mimoto-live__log {
	list-style: none;
	margin: 14px 0 0;
	padding: 12px 0 0;
	border-top: 1px solid rgba(146, 197, 252, 0.18);
	font-family: var(--mb-mono);
	font-size: 12px;
	line-height: 1.75;
	color: rgba(242, 247, 255, 0.86);
}

.mimoto-live__log li {
	margin: 0;
}

/* While animating, the log keeps a fixed height and fills from the bottom,
   so the screen never changes size as lines come and go. */
.mimoto-live.is-live .mimoto-live__log {
	box-sizing: content-box;
	height: 7em;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	overflow: hidden;
}

@media (max-width: 600px) {
	.mimoto-live.is-live .mimoto-live__log {
		height: 10.5em;
	}
}

.mimoto-live__log time {
	margin-right: 10px;
	color: rgba(146, 197, 252, 0.82);
}

.mimoto-live__log .is-flag {
	color: var(--mb-coral);
}

.mimoto-live__signals {
	margin: 12px 0 0;
	font-family: var(--mb-mono);
	font-size: 10.5px;
	line-height: 1.5;
	color: rgba(146, 197, 252, 0.82);
}

@media (max-width: 600px) {
	.mimoto-live {
		padding: 28px 22px 0 0;
	}

	.mimoto-live__arc {
		width: 130px;
		height: 130px;
		top: -3px;
		right: -9px;
	}

	.mimoto-live__screen {
		padding: 16px;
	}
}

/* ---------- Live verdicts ---------- */

.mimoto-verdicts__panel {
	background: #fff;
	border: 2px solid var(--mb-navy);
	color: var(--mb-navy);
}

.mimoto-verdicts__title {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 18px;
	border-bottom: 1px solid var(--mb-pale);
	font-family: var(--mb-mono);
	font-size: 12px;
}

.mimoto-verdicts__pulse {
	width: 8px;
	height: 8px;
	background: var(--mb-navy);
	animation: mimoto-pulse 1.6s ease-in-out infinite;
}

@keyframes mimoto-pulse {
	50% {
		opacity: 0.2;
	}
}

.mimoto-verdicts__list {
	list-style: none;
	margin: 0;
	padding: 0;
	min-height: 290px;
}

.mimoto-verdicts__row {
	display: grid;
	grid-template-columns: 0.9fr 1fr 1fr 1.05fr;
	align-items: baseline;
	column-gap: 12px;
	margin: 0;
	padding: 12px 18px;
	border-bottom: 1px solid var(--mb-pale);
	font-size: 15px;
	line-height: 1.35;
	transition: opacity 0.5s ease, transform 0.5s ease;
}

.mimoto-verdicts__list .mimoto-verdicts__row:last-child {
	border-bottom: 0;
}

.mimoto-verdicts__head {
	padding-block: 10px;
	font-family: var(--mb-mono);
	font-size: 11px;
	color: var(--mb-gray);
}

.mimoto-verdicts__id {
	font-family: var(--mb-mono);
	font-size: 13px;
}

.mimoto-verdicts__row .is-no {
	font-weight: 600;
}

.mimoto-verdicts__row.is-flag {
	box-shadow: inset 4px 0 0 var(--mb-coral);
}

.mimoto-verdicts__row.is-flag .mimoto-verdicts__resp {
	color: var(--m-coral-text, #CC3700);
	font-weight: 600;
}

.mimoto-verdicts__why {
	grid-column: 1 / -1;
	margin-top: 4px;
	font-family: var(--mb-mono);
	font-size: 12px;
	color: rgba(23, 13, 125, 0.75);
}

.mimoto-verdicts__row.is-new {
	opacity: 0;
	transform: translateY(-8px);
}

@media (max-width: 480px) {
	.mimoto-verdicts__row {
		grid-template-columns: 0.8fr 1fr 1fr 1fr;
		column-gap: 8px;
		padding: 10px 12px;
		font-size: 14px;
	}

	.mimoto-verdicts__head {
		font-size: 10px;
	}
}

/* ---------- Typing rhythm ---------- */

.mimoto-rhythm__panel {
	background: #fff;
	border: 2px solid var(--mb-navy);
	color: var(--mb-navy);
	padding: 16px 20px 8px;
}

.mimoto-rhythm__title {
	padding-bottom: 12px;
	font-family: var(--mb-mono);
	font-size: 12px;
}

.mimoto-rhythm__lane {
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr) 104px;
	align-items: center;
	gap: 14px;
	padding: 14px 0;
	border-top: 1px solid var(--mb-pale);
}

.mimoto-rhythm__label {
	font-family: var(--mb-mono);
	font-size: 12px;
}

.mimoto-rhythm__track {
	display: block;
	width: 100%;
	height: 34px;
}

.mimoto-rhythm__base {
	stroke: var(--mb-pale);
	stroke-width: 1;
	vector-effect: non-scaling-stroke;
}

.mimoto-rhythm__marks rect {
	fill: var(--mb-navy);
	transition: opacity 0.12s linear;
}

.mimoto-rhythm__cursor {
	stroke: var(--mb-gray);
	stroke-width: 1;
	vector-effect: non-scaling-stroke;
}

.mimoto-rhythm:not(.is-live) .mimoto-rhythm__cursor,
.mimoto-rhythm.is-done .mimoto-rhythm__cursor {
	display: none;
}

.mimoto-rhythm__verdict {
	justify-self: start;
	padding: 4px 8px;
	border: 2px solid var(--mb-navy);
	font-family: var(--mb-mono);
	font-size: 11px;
	font-weight: 500;
	white-space: nowrap;
	transition: opacity 0.4s ease;
}

.mimoto-rhythm__lane.is-agent .mimoto-rhythm__verdict {
	border-color: var(--mb-coral);
	color: var(--m-coral-text, #CC3700);
}

.mimoto-rhythm.is-live:not(.is-done) .mimoto-rhythm__verdict {
	opacity: 0;
}

@media (max-width: 560px) {
	.mimoto-rhythm__lane {
		grid-template-columns: 1fr auto;
		row-gap: 10px;
	}

	.mimoto-rhythm__track {
		grid-column: 1 / -1;
		grid-row: 2;
	}
}

/* ---------- The Signal Trace ---------- */

.mimoto-trace {
	height: clamp(96px, 12vw, 168px);
	margin-block: 48px !important;
	overflow: hidden;
}

.mimoto-trace svg {
	display: block;
	width: 100%;
	height: 100%;
}

.mimoto-trace path {
	fill: none;
	stroke: var(--wp--preset--color--navy, #170D7D);
	stroke-opacity: 0.2;
	stroke-width: 1.5;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}

.mimoto-trace.is-dark path {
	stroke: var(--wp--preset--color--light-blue, #92C5FC);
}

@media (prefers-reduced-motion: reduce) {
	.mimoto-verdicts__pulse {
		animation: none;
	}
}

/* ---------- How Mimoto decides (live signal path) ---------- */

.mimoto-decide {
	margin: 0;
}

.mimoto-decide svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.mimoto-decide__tall {
	display: none !important;
	max-width: 440px;
	margin: 0 auto;
}

@media (max-width: 899px) {
	.mimoto-decide__wide {
		display: none !important;
	}

	.mimoto-decide__tall {
		display: block !important;
	}
}

.mimoto-decide .df-k {
	font-family: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", "Courier New", monospace);
	font-size: 13px;
	font-weight: 500;
	fill: var(--wp--preset--color--navy, #170D7D);
}

.mimoto-decide .df-small {
	font-size: 10.5px;
}

.mimoto-decide .df-d {
	font-family: var(--wp--preset--font-family--inter, Inter, Helvetica, Arial, sans-serif);
	font-size: 15px;
	fill: rgba(23, 13, 125, 0.85);
}

.mimoto-decide .df-white {
	fill: #F2F7FF;
}

.mimoto-decide .df-light {
	fill: var(--wp--preset--color--light-blue, #92C5FC);
}

.mimoto-decide .df-muted {
	fill: var(--wp--preset--color--gray, #555869);
}

.mimoto-decide .df-coral {
	fill: var(--wp--preset--color--coral, #FF662E);
}

/* Small coral words in the diagrams use the deeper coral, for contrast */
.mimoto-decide text.df-coral {
	fill: var(--m-coral-text, #CC3700);
}

.mimoto-decide .df-path,
.mimoto-decide .df-spine {
	fill: none;
	stroke: var(--wp--preset--color--navy, #170D7D);
	stroke-width: 1.5;
	stroke-opacity: 0.55;
}

.mimoto-decide .df-path.df-ghost {
	stroke: none;
}

.mimoto-decide .df-core {
	fill: var(--wp--preset--color--deep-navy, #0B1533);
}

.mimoto-decide .df-divider {
	stroke: var(--wp--preset--color--light-blue, #92C5FC);
	stroke-opacity: 0.4;
	stroke-dasharray: 4 5;
}

.mimoto-decide .df-bar {
	fill: var(--wp--preset--color--navy, #170D7D);
	fill-opacity: 0.45;
}

.mimoto-decide .df-tile > rect {
	fill: #fff;
	stroke: var(--wp--preset--color--navy, #170D7D);
	stroke-width: 2;
	transition: fill 0.25s ease, stroke 0.25s ease;
}

.mimoto-decide .df-icon {
	fill: none;
	stroke: var(--wp--preset--color--navy, #170D7D);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: stroke 0.25s ease;
}

.mimoto-decide .df-icon * {
	vector-effect: non-scaling-stroke;
}

.mimoto-decide .df-tile.is-flag > rect {
	stroke: var(--wp--preset--color--coral, #FF662E);
}

.mimoto-decide .df-tile.is-flag .df-icon {
	stroke: var(--wp--preset--color--coral, #FF662E);
}

.mimoto-decide .df-tile.is-hit > rect {
	fill: var(--wp--preset--color--navy, #170D7D);
}

.mimoto-decide .df-tile.is-flag.is-hit > rect,
.mimoto-decide .df-tile.is-resp.is-hit > rect {
	fill: var(--wp--preset--color--coral, #FF662E);
	stroke: var(--wp--preset--color--coral, #FF662E);
}

.mimoto-decide .df-tile.is-hit .df-icon {
	stroke: #fff;
}

.mimoto-decide .df-pulse {
	fill: var(--wp--preset--color--navy, #170D7D);
}

.mimoto-decide .df-pulse.is-flag {
	fill: var(--wp--preset--color--coral, #FF662E);
}

/* ---------- Analyze, Verify, Enforce (the observe-flow block) ---------- */
/* Shares the drawing styles of How Mimoto decides (.mimoto-decide). */

.mimoto-observe .os-bar {
	fill: var(--wp--preset--color--pale, #DCE5F4);
	transition: fill 0.4s ease;
}

.mimoto-observe [data-phase="1"] .os-step[data-step="1"] .os-bar,
.mimoto-observe [data-phase="2"] .os-step:not([data-step="3"]) .os-bar,
.mimoto-observe [data-phase="3"] .os-bar {
	fill: var(--wp--preset--color--navy, #170D7D);
}

.mimoto-observe .os-step text {
	transition: opacity 0.4s ease;
}

.mimoto-observe [data-phase="1"] .os-step:not([data-step="1"]) text,
.mimoto-observe [data-phase="2"] .os-step[data-step="3"] text {
	opacity: 0.4;
}

.mimoto-observe .os-sig,
.mimoto-observe .os-enf {
	transition: opacity 0.6s ease;
}

.mimoto-observe [data-phase="1"] .os-sig,
.mimoto-observe [data-phase="1"] .os-enf,
.mimoto-observe [data-phase="2"] .os-sig,
.mimoto-observe [data-phase="2"] .os-enf {
	opacity: 0.22;
}

.mimoto-observe .os-lane {
	stroke-opacity: 0.3;
}

.mimoto-observe .os-check {
	fill: var(--wp--preset--color--light-blue, #92C5FC);
	transition: fill 0.2s ease;
}

.mimoto-observe .os-check.is-hit {
	fill: var(--wp--preset--color--coral, #FF662E);
}

.mimoto-observe .os-panel {
	fill: #fff;
	stroke: var(--wp--preset--color--navy, #170D7D);
	stroke-width: 2;
}

.mimoto-observe .os-rule {
	stroke: var(--wp--preset--color--pale, #DCE5F4);
	stroke-width: 1.5;
}

.mimoto-observe .os-count {
	font-family: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", "Courier New", monospace);
	font-size: 16px;
	font-weight: 500;
	fill: var(--wp--preset--color--navy, #170D7D);
}

.mimoto-observe .os-meter {
	fill: var(--wp--preset--color--coral, #FF662E);
	transition: width 0.3s ease;
}

.mimoto-observe .os-row-hit {
	fill: var(--wp--preset--color--coral, #FF662E);
}

.mimoto-observe .df-tile.is-hit:not(.is-resp) > rect {
	fill: var(--wp--preset--color--navy, #170D7D);
	stroke: var(--wp--preset--color--navy, #170D7D);
}

.mimoto-observe .df-pulse {
	fill-opacity: 0.7;
}

.mimoto-observe .df-pulse.is-flag {
	fill-opacity: 1;
}

/* ---------- Real-time response (block mimoto/alert-channels) ---------- */
/* Response first, notifications second (Kris, October 2026). */

.mimoto-resp {
	--mr-navy: var(--wp--preset--color--navy, #170D7D);
	--mr-coral: var(--wp--preset--color--coral, #FF662E);
	--mr-pale: var(--wp--preset--color--pale, #DCE5F4);
	--mr-paper: var(--wp--preset--color--paper, #F4FAFF);
	--mr-gray: var(--wp--preset--color--gray, #555869);
	--mr-mono: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", "Courier New", monospace);
	margin: 0;
	color: var(--mr-navy);
}

.mimoto-resp__trigger {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 18px;
	font-family: var(--mr-mono);
	font-size: 12px;
}

.mimoto-resp__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--mr-coral);
	flex: none;
}

.mimoto-resp__tiers {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 14px;
	position: relative;
}

/* The rail from each number down to the next */
.mimoto-resp__tier:not(:last-child)::before {
	content: "";
	position: absolute;
	left: 21px;
	top: 44px;
	bottom: -14px;
	width: 2px;
	background: var(--mr-navy);
}

.mimoto-resp__tier {
	position: relative;
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
	margin: 0;
	transition: opacity 0.4s ease;
}

.mimoto-resp__n {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 2px solid var(--mr-navy);
	background: #fff;
	font-family: var(--mr-mono);
	font-size: 15px;
	font-weight: 500;
}

.mimoto-resp__body {
	padding: 16px 20px 18px;
	background: #fff;
	border: 2px solid var(--mr-navy);
}

.mimoto-resp__tier.is-native .mimoto-resp__n,
.mimoto-resp__tier.is-native .mimoto-resp__body {
	background: var(--mr-navy);
	color: #fff;
}

.mimoto-resp__tier.is-notify .mimoto-resp__body {
	border: 1px solid var(--mr-pale);
	background: var(--mr-paper);
}

.mimoto-resp__name {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
}

.mimoto-resp__what {
	margin: 4px 0 12px;
	font-size: 15px;
	line-height: 1.5;
	opacity: 0.86;
}

.mimoto-resp__chips {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.mimoto-resp__chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 5px 10px;
	border: 1px solid currentColor;
	font-family: var(--mr-mono);
	font-size: 12px;
	line-height: 1.4;
}

.mimoto-resp__tier.is-native .mimoto-resp__chip {
	border-color: rgba(255, 255, 255, 0.7);
}

.mimoto-resp__tier.is-notify .mimoto-resp__chip {
	border-color: var(--mr-pale);
	background: #fff;
}

.mimoto-resp__chip.has-logo {
	padding: 3px 10px;
}

.mimoto-resp__chip img {
	display: block;
	height: 24px;
	width: auto;
	max-width: 110px;
	object-fit: contain;
}

/* Playing: a light steps down the tiers */
.mimoto-resp.is-playing .mimoto-resp__tier {
	opacity: 0.45;
}

.mimoto-resp.is-playing .mimoto-resp__tier.is-on {
	opacity: 1;
}

.mimoto-resp.is-playing .mimoto-resp__dot {
	animation: mimoto-resp-pulse 1.6s ease-in-out infinite;
}

@keyframes mimoto-resp-pulse {
	0%,
	100% {
		box-shadow: 0 0 0 0 rgba(255, 102, 46, 0.45);
	}
	50% {
		box-shadow: 0 0 0 7px rgba(255, 102, 46, 0);
	}
}

@media (max-width: 560px) {
	.mimoto-resp__tier {
		grid-template-columns: 34px minmax(0, 1fr);
		gap: 12px;
	}

	.mimoto-resp__n {
		width: 34px;
		height: 34px;
		font-size: 13px;
	}

	.mimoto-resp__tier:not(:last-child)::before {
		left: 16px;
		top: 34px;
	}

	.mimoto-resp__body {
		padding: 14px 14px 16px;
	}
}

/* ---------- Signals, weighed together ---------- */

.mimoto-sig {
	--ms-navy: var(--wp--preset--color--navy, #170D7D);
	--ms-coral: var(--wp--preset--color--coral, #FF662E);
	--ms-pale: var(--wp--preset--color--pale, #DCE5F4);
	--ms-gray: var(--wp--preset--color--gray, #555869);
	--ms-mono: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", "Courier New", monospace);
	margin: 0;
	color: var(--ms-navy);
}

.mimoto-sig__panel {
	background: #fff;
	border: 2px solid var(--ms-navy);
	padding: 16px 20px 18px;
}

.mimoto-sig__title,
.mimoto-sig__name,
.mimoto-sig__answer,
.mimoto-sig__foot,
.mimoto-sig__never {
	font-family: var(--ms-mono);
}

.mimoto-sig__title {
	margin: 0 0 4px;
	font-size: 12px;
}

.mimoto-sig__lanes {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mimoto-sig__lane {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 10px 0;
	border-bottom: 1px solid var(--ms-pale);
}

.mimoto-sig__name {
	font-size: 11.5px;
	line-height: 1.35;
	color: var(--ms-gray);
	transition: color 0.3s ease;
}

.mimoto-sig__track {
	display: block;
	width: 100%;
	height: 28px;
}

.mimoto-sig__track polyline {
	fill: none;
	stroke: var(--ms-navy);
	stroke-width: 2;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
	opacity: 0.55;
	transition: opacity 0.3s ease;
}

.mimoto-sig__lane.is-on .mimoto-sig__name,
.mimoto-sig:not(.is-live) .mimoto-sig__name {
	color: var(--ms-navy);
}

.mimoto-sig__lane.is-on .mimoto-sig__track polyline,
.mimoto-sig:not(.is-live) .mimoto-sig__track polyline {
	opacity: 1;
}

/* The lanes run into the engine */
.mimoto-sig__engine {
	position: relative;
	margin-top: 22px;
	padding: 14px 16px;
	background: var(--ms-navy);
	color: #fff;
	text-align: center;
	transition: box-shadow 0.3s ease;
}

.mimoto-sig__engine::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -16px;
	width: 2px;
	height: 12px;
	background: var(--ms-navy);
}

.mimoto-sig__engine.is-on {
	box-shadow: 0 0 0 4px var(--ms-pale);
}

.mimoto-sig__engine-name {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
}

.mimoto-sig__engine-what {
	margin: 4px 0 0;
	font-size: 13px;
	line-height: 1.4;
	opacity: 0.82;
}

.mimoto-sig__answers {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 12px;
}

.mimoto-sig__answers.is-one {
	grid-template-columns: 1fr;
}

.mimoto-sig__answer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin: 0;
	padding: 8px 10px;
	border: 2px solid var(--ms-navy);
	font-size: 11.5px;
	transition: background-color 0.3s ease, color 0.3s ease;
}

.mimoto-sig__answer b {
	font-weight: 600;
}

.mimoto-sig__answer.is-on {
	background: var(--ms-navy);
	color: #fff;
}

.mimoto-sig__foot {
	margin: 14px 0 0;
	font-size: 11px;
	color: var(--ms-gray);
}

.mimoto-sig__never {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid var(--ms-pale);
	font-size: 11px;
	color: var(--ms-gray);
}

.mimoto-sig__never-label {
	color: var(--m-coral-text, #CC3700);
	font-weight: 500;
}

.mimoto-sig__no {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--ms-navy);
}

.mimoto-sig__no::before {
	content: "\00D7";
	font-size: 15px;
	line-height: 1;
	color: var(--m-coral-text, #CC3700);
}

@media (max-width: 480px) {
	.mimoto-sig__lane {
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.mimoto-sig__answers {
		grid-template-columns: 1fr;
	}
}

.mimoto-observe .os-collect {
	stroke-opacity: 0.2;
}

/* ---------- Risk dial: a dial, not a switch ---------- */

.mimoto-dial {
	--md-navy: var(--wp--preset--color--navy, #170D7D);
	--md-coral: var(--wp--preset--color--coral, #FF662E);
	--md-pale: var(--wp--preset--color--pale, #DCE5F4);
	--md-paper: var(--wp--preset--color--paper, #F4FAFF);
	--md-gray: var(--wp--preset--color--gray, #555869);
	--md-mono: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", "Courier New", monospace);
	margin: 0;
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	gap: 16px 48px;
	align-items: center;
}

.mimoto-dial__gauge svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.mimoto-dial .dl-zone {
	fill: none;
	stroke: var(--md-pale);
	stroke-width: 26;
}

.mimoto-dial .dl-level {
	fill: none;
	stroke: var(--md-navy);
	stroke-width: 26;
}

.mimoto-dial .dl-level.is-end {
	stroke: var(--md-coral);
}

.mimoto-dial .dl-tick {
	stroke: var(--md-navy);
	stroke-opacity: 0.3;
	stroke-width: 1.5;
}

.mimoto-dial .dl-tick.is-major {
	stroke-opacity: 0.75;
	stroke-width: 2;
}

.mimoto-dial .dl-mark rect {
	fill: #fff;
	stroke: var(--md-navy);
	stroke-width: 2;
}

.mimoto-dial .dl-icon {
	fill: none;
	stroke: var(--md-navy);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mimoto-dial .dl-icon * {
	vector-effect: non-scaling-stroke;
}

.mimoto-dial .dl-mark.is-on rect {
	fill: var(--md-navy);
}

.mimoto-dial .dl-mark[data-mark="3"].is-on rect {
	fill: var(--md-coral);
	stroke: var(--md-coral);
}

.mimoto-dial .dl-mark.is-on .dl-icon {
	stroke: #fff;
}

.mimoto-dial .dl-k {
	font-family: var(--md-mono);
	font-size: 14px;
	fill: var(--md-gray);
}

.mimoto-dial .dl-needle {
	fill: var(--md-navy);
}

.mimoto-dial .dl-needle.is-end {
	fill: var(--md-coral);
}

.mimoto-dial .dl-hub {
	fill: #fff;
}

.mimoto-dial__readout {
	margin: 14px 0 0;
	min-height: 3em;
	text-align: center;
	font-size: 15px;
	line-height: 1.5;
	color: var(--md-navy);
}

.mimoto-dial__tag {
	display: block;
	font-family: var(--md-mono);
	font-size: 12px;
	color: var(--md-gray);
}

.mimoto-dial__steps {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mimoto-dial__step {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 14px 16px;
	border-left: 4px solid transparent;
	border-top: 1px solid var(--md-pale);
	font-size: 16px;
	line-height: 1.45;
	color: rgba(23, 13, 125, 0.85);
	transition: background-color 0.25s ease, border-color 0.25s ease;
}

.mimoto-dial__step:last-child {
	border-bottom: 1px solid var(--md-pale);
}

.mimoto-dial__step strong {
	display: block;
	color: var(--md-navy);
}

.mimoto-dial__step.is-on {
	background: #fff;
	border-left-color: var(--md-navy);
}

.mimoto-dial__step.is-end.is-on {
	border-left-color: var(--md-coral);
}

.mimoto-dial__icon {
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	margin-top: 2px;
	fill: none;
	stroke: var(--md-navy);
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mimoto-dial__step.is-end .mimoto-dial__icon {
	stroke: var(--md-coral);
}

.mimoto-dial figcaption {
	grid-column: 1 / -1;
	margin: 0;
	font-family: var(--md-mono);
	font-size: 12px;
	color: var(--md-gray);
}

@media (max-width: 860px) {
	.mimoto-dial {
		grid-template-columns: 1fr;
	}

	.mimoto-dial__gauge {
		max-width: 520px;
		margin: 0 auto;
		width: 100%;
	}
}

/* ---------- No puzzle (Continuous CAPTCHA) ---------- */

.mimoto-nocaptcha {
	margin: 0 0 28px;
	max-width: 340px;
}

.mimoto-nocaptcha svg {
	display: block;
	width: 100%;
	height: auto;
}

.mimoto-nocaptcha .nc-card {
	fill: #fff;
	stroke: var(--wp--preset--color--navy, #170D7D);
	stroke-width: 2;
}

.mimoto-nocaptcha .nc-head {
	fill: var(--wp--preset--color--navy, #170D7D);
}

.mimoto-nocaptcha .nc-t1,
.mimoto-nocaptcha .nc-t2 {
	font-family: var(--wp--preset--font-family--inter, Inter, Helvetica, Arial, sans-serif);
	fill: #fff;
}

.mimoto-nocaptcha .nc-t1 {
	font-size: 15px;
}

.mimoto-nocaptcha .nc-t2 {
	font-size: 21px;
	font-weight: 700;
}

.mimoto-nocaptcha .nc-tile {
	fill: var(--wp--preset--color--paper, #F4FAFF);
	stroke: var(--wp--preset--color--pale, #DCE5F4);
	stroke-width: 1.5;
}

.mimoto-nocaptcha .nc-pic {
	fill: none;
	stroke: var(--wp--preset--color--navy, #170D7D);
	stroke-opacity: 0.55;
	stroke-width: 1.3;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mimoto-nocaptcha .nc-btn {
	fill: var(--wp--preset--color--navy, #170D7D);
}

.mimoto-nocaptcha .nc-btn-t {
	font-family: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", monospace);
	font-size: 12px;
	fill: #fff;
}

.mimoto-nocaptcha .nc-no {
	fill: none;
	stroke: var(--wp--preset--color--coral, #FF662E);
	stroke-width: 22;
}

/* ---------- How, never what: the same moment seen two ways ---------- */

.mimoto-pv {
	margin: 0 0 40px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 24px;
}

.mimoto-pv__panel {
	display: flex;
	flex-direction: column;
	padding: 18px 20px 16px;
}

.mimoto-pv__panel.is-screen {
	background: #fff;
	border: 2px solid var(--wp--preset--color--navy, #170D7D);
}

.mimoto-pv__panel.is-mimoto {
	background: var(--wp--preset--color--deep-navy, #0B1533);
	border: 2px solid var(--wp--preset--color--deep-navy, #0B1533);
	color: #F2F7FF;
}

.mimoto-pv__panel svg {
	display: block;
	width: 100%;
	height: auto;
	margin: 10px 0;
	flex: 1 1 auto;
}

.mimoto-pv__label,
.mimoto-pv__foot {
	margin: 0;
	font-family: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", monospace);
	font-size: 12px;
}

.mimoto-pv__panel.is-screen .mimoto-pv__label {
	color: var(--wp--preset--color--gray, #555869);
}

.mimoto-pv__panel.is-mimoto .mimoto-pv__label {
	color: var(--wp--preset--color--light-blue, #92C5FC);
}

.mimoto-pv__foot {
	display: flex;
	align-items: center;
	gap: 8px;
	text-transform: none;
	font-size: 13px;
}

.mimoto-pv__panel.is-screen .mimoto-pv__foot {
	color: var(--m-coral-text, #CC3700);
}

.mimoto-pv__foot svg {
	width: 20px;
	height: 20px;
	margin: 0;
	flex: 0 0 auto;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
}

.mimoto-pv .pv-word {
	fill: var(--wp--preset--color--navy, #170D7D);
	fill-opacity: 0.16;
}

.mimoto-pv .pv-caret {
	fill: var(--wp--preset--color--navy, #170D7D);
}

.mimoto-pv .pv-k {
	font-family: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", monospace);
	font-size: 11px;
	fill: rgba(242, 247, 255, 0.7);
}

.mimoto-pv .pv-bar {
	fill: var(--wp--preset--color--light-blue, #92C5FC);
}

.mimoto-pv .pv-bar.is-hold {
	fill-opacity: 0.8;
}

.mimoto-pv .pv-base {
	stroke: rgba(146, 197, 252, 0.35);
	stroke-width: 1;
}

.mimoto-pv .pv-path {
	fill: none;
	stroke: var(--wp--preset--color--light-blue, #92C5FC);
	stroke-width: 2;
	stroke-linecap: round;
}

.mimoto-pv figcaption {
	grid-column: 1 / -1;
	margin: 0;
	font-family: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", monospace);
	font-size: 12px;
	color: var(--wp--preset--color--gray, #555869);
}

@media (max-width: 781px) {
	.mimoto-pv {
		grid-template-columns: 1fr;
	}
}

/* ---------- At login, during the session, all session long: where the checks happen ---------- */

.mimoto-tl {
	--tl-navy: var(--wp--preset--color--navy, #170D7D);
	--tl-gray: var(--wp--preset--color--gray, #555869);
	--tl-pale: var(--wp--preset--color--pale, #DCE5F4);
	--tl-coral: var(--wp--preset--color--coral, #FF662E);
	--tl-mono: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", monospace);
	margin: 0;
}

.mimoto-tl__row {
	display: grid;
	grid-template-columns: 1fr 2fr 1fr;
	gap: 16px;
	align-items: start;
}

.mimoto-tl__panel {
	transition: opacity 0.5s ease;
}

.mimoto-tl__name {
	margin: 0 0 10px;
	padding-top: 10px;
	border-top: 3px solid var(--tl-pale);
	font-family: var(--tl-mono);
	font-size: 12px;
	color: var(--tl-gray);
	transition: border-color 0.5s ease, color 0.5s ease;
}

.mimoto-tl__panel.is-during .mimoto-tl__name,
.mimoto-tl__panel.is-active .mimoto-tl__name {
	border-top-color: var(--tl-navy);
	color: var(--tl-navy);
}

.mimoto-tl__art {
	border: 1px solid var(--tl-pale);
	background: #EAF3FF;
}

.mimoto-tl__art svg {
	display: block;
	width: 100%;
	height: auto;
}

.mimoto-tl__line {
	margin: 10px 0 0;
	font-size: 15px;
	line-height: 1.45;
	color: var(--tl-navy);
}

.mimoto-tl__status {
	margin: 18px 0 0;
	min-height: 3em;
	font-size: 17px;
	line-height: 1.5;
	font-weight: 600;
	color: var(--tl-navy);
}

.mimoto-tl figcaption {
	margin-top: 4px;
	font-family: var(--tl-mono);
	font-size: 12px;
	color: var(--tl-gray);
}

/* Moving parts. Without scripts, the whole story shows at once. */
.mimoto-tl .tl-owner,
.mimoto-tl .tl-leave,
.mimoto-tl .tl-intruder,
.mimoto-tl .tl-arcs,
.mimoto-tl .tl-ended,
.mimoto-tl .tl-check,
.mimoto-tl .tl-agent,
.mimoto-tl .tl-agent-arcs,
.mimoto-tl .tl-restricted {
	transition: opacity 0.45s ease, transform 0.6s ease;
}

.mimoto-tl:not(.is-playing) .tl-owner {
	opacity: 0;
}

.mimoto-tl.is-playing .tl-owner,
.mimoto-tl.is-playing .tl-leave,
.mimoto-tl.is-playing .tl-intruder,
.mimoto-tl.is-playing .tl-arcs,
.mimoto-tl.is-playing .tl-ended,
.mimoto-tl.is-playing .tl-check,
.mimoto-tl.is-playing .tl-agent,
.mimoto-tl.is-playing .tl-agent-arcs,
.mimoto-tl.is-playing .tl-restricted {
	opacity: 0;
}

.mimoto-tl.is-playing .is-on {
	opacity: 1;
}

.mimoto-tl .tl-tick {
	transition: opacity 0.2s ease;
}

.mimoto-tl.is-playing .tl-tick {
	opacity: 0.15;
}

.mimoto-tl.is-playing .tl-tick.is-on {
	opacity: 1;
}

.mimoto-tl.is-playing .tl-leave {
	transform: translateX(150px);
}

.mimoto-tl.is-playing .tl-leave.is-on {
	transform: none;
	transition: opacity 0.4s ease, transform 1.8s linear;
}

.mimoto-tl .tl-arcs {
	transform-box: view-box;
	transform-origin: 500px 166px;
}

.mimoto-tl.is-playing .tl-arcs {
	transform: scale(0.82) rotate(-12deg);
}

.mimoto-tl.is-playing .tl-arcs.is-on {
	transform: none;
}

.mimoto-tl .tl-agent-arcs {
	transform-box: view-box;
	transform-origin: 138px 174px;
}

.mimoto-tl.is-playing .tl-agent-arcs {
	transform: scale(0.82) rotate(-12deg);
}

.mimoto-tl.is-playing .tl-agent-arcs.is-on {
	transform: none;
}

.mimoto-tl.is-playing .mimoto-tl__panel {
	opacity: 0.5;
}

.mimoto-tl.is-playing .mimoto-tl__panel.is-active {
	opacity: 1;
}

.mimoto-tl.is-playing .mimoto-tl__panel.is-during:not(.is-active) .mimoto-tl__name {
	border-top-color: var(--tl-pale);
	color: var(--tl-gray);
}

@media (max-width: 781px) {
	.mimoto-tl__row {
		grid-template-columns: 1fr;
		gap: 22px;
	}
	/* Each panel the same height, cropped to keep its story in view */
	.mimoto-tl__art {
		aspect-ratio: 3 / 2;
		overflow: hidden;
	}
	.mimoto-tl__art svg {
		height: 100%;
	}
	.mimoto-tl.is-playing .mimoto-tl__panel {
		opacity: 1;
	}
}

/* ---------- The person in your stack ---------- */

.mimoto-sf {
	--sf-navy: var(--wp--preset--color--navy, #170D7D);
	--sf-coral: var(--wp--preset--color--coral, #FF662E);
	--sf-pale: var(--wp--preset--color--pale, #DCE5F4);
	--sf-gray: var(--wp--preset--color--gray, #555869);
	--sf-mono: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", monospace);
	margin: 0;
}

.mimoto-sf__label {
	margin: 0 0 10px;
	font-family: var(--sf-mono);
	font-size: 12px;
	color: var(--sf-gray);
}

.mimoto-sf__stack {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.mimoto-sf__chip {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 12px 14px;
	background: #fff;
	border: 2px solid var(--sf-navy);
	color: var(--sf-navy);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.25;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.mimoto-sf__chip svg {
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mimoto-sf__chip.is-on {
	background: var(--sf-navy);
	color: #fff;
}

.mimoto-sf__chip.is-flag {
	border-color: var(--sf-coral);
	box-shadow: inset 6px 0 0 var(--sf-coral);
}

.mimoto-sf__lane.is-compact {
	display: none;
}

.mimoto-sf__lane {
	display: block;
	width: 100%;
	height: auto;
	margin-top: -2px;
}

.mimoto-sf .sf-wire {
	fill: none;
	stroke: var(--sf-navy);
	stroke-opacity: 0.4;
	stroke-width: 2;
}

.mimoto-sf .sf-base {
	stroke: var(--sf-pale);
	stroke-width: 6;
}

.mimoto-sf .sf-tick {
	stroke: var(--sf-navy);
	stroke-width: 3;
	opacity: 0.12;
	transition: opacity 0.2s ease;
}

.mimoto-sf .sf-tick.is-on {
	opacity: 1;
}

.mimoto-sf .sf-flag {
	fill: var(--sf-coral);
	opacity: 0;
}

.mimoto-sf .sf-flag.is-on {
	opacity: 1;
}

.mimoto-sf .sf-tile rect {
	fill: #fff;
	stroke: var(--sf-navy);
	stroke-width: 2;
	transition: fill 0.25s ease, stroke 0.25s ease;
}

.mimoto-sf .sf-icon {
	fill: none;
	stroke: var(--sf-navy);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mimoto-sf .sf-icon * {
	vector-effect: non-scaling-stroke;
}

.mimoto-sf .sf-tile.is-login.is-on rect {
	fill: var(--sf-navy);
}

.mimoto-sf .sf-tile.is-resp {
	opacity: 0.25;
}

.mimoto-sf .sf-tile.is-resp.is-on {
	opacity: 1;
}

.mimoto-sf .sf-tile.is-resp.is-on rect {
	fill: var(--sf-coral);
	stroke: var(--sf-coral);
}

.mimoto-sf .sf-tile.is-on .sf-icon {
	stroke: #fff;
}

.mimoto-sf .sf-pulse {
	fill: var(--sf-navy);
}

.mimoto-sf .sf-pulse.is-flag {
	fill: var(--sf-coral);
}

.mimoto-sf__steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1.6fr 1.4fr;
	gap: 20px;
}

.mimoto-sf__steps li {
	margin: 0;
	padding-top: 10px;
	border-top: 3px solid var(--sf-pale);
	font-size: 15px;
	line-height: 1.45;
	color: rgba(23, 13, 125, 0.85);
	transition: border-color 0.25s ease;
}

.mimoto-sf__steps li strong {
	display: block;
	font-family: var(--sf-mono);
	font-size: 12px;
	font-weight: 500;
	color: var(--sf-navy);
}

.mimoto-sf__steps li.is-on {
	border-top-color: var(--sf-navy);
}

.mimoto-sf__steps li[data-step="2"].is-on {
	border-top-color: var(--sf-coral);
}

.mimoto-sf figcaption {
	margin-top: 12px;
	font-family: var(--sf-mono);
	font-size: 12px;
	color: var(--sf-gray);
}

@media (max-width: 781px) {
	.mimoto-sf__stack {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.mimoto-sf__lane {
		display: none;
	}

	.mimoto-sf__lane.is-compact {
		display: block;
		margin-top: 18px;
	}

	.mimoto-sf__steps {
		grid-template-columns: 1fr;
		gap: 12px;
	}
}

/* ---------- Where Mimoto fits (partners) ---------- */

.mimoto-fit {
	--fit-navy: var(--wp--preset--color--navy, #170D7D);
	--fit-pale: var(--wp--preset--color--pale, #DCE5F4);
	--fit-gray: var(--wp--preset--color--gray, #555869);
	--fit-blue: var(--wp--preset--color--light-blue, #92C5FC);
	--fit-mono: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", monospace);
	margin: 0;
}

.mimoto-fit svg {
	width: 24px;
	height: 24px;
	flex: 0 0 auto;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mimoto-fit__tier {
	padding: 18px 20px;
}

.mimoto-fit__tier.is-tools {
	background: #fff;
	border: 2px solid var(--fit-navy);
}

.mimoto-fit__name {
	margin: 0 0 12px;
	font-family: var(--fit-mono);
	font-size: 12px;
	color: var(--fit-gray);
}

.mimoto-fit__tier.is-tools ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.mimoto-fit__tier.is-tools li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid var(--fit-pale);
	font-size: 15px;
	font-weight: 600;
	color: var(--fit-navy);
	line-height: 1.3;
}

.mimoto-fit__link {
	position: relative;
	display: flex;
	justify-content: center;
	padding: 14px 0;
}

.mimoto-fit__link::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 2px;
	background: var(--fit-navy);
	opacity: 0.5;
}

.mimoto-fit__link::after {
	content: "";
	position: absolute;
	top: -1px;
	left: calc(50% - 6px);
	width: 10px;
	height: 10px;
	border-left: 2px solid var(--fit-navy);
	border-top: 2px solid var(--fit-navy);
	transform: rotate(45deg);
	opacity: 0.7;
}

.mimoto-fit__link span {
	position: relative;
	background: var(--wp--preset--color--paper, #F4FAFF);
	padding: 2px 10px;
	font-family: var(--fit-mono);
	font-size: 12px;
	color: var(--fit-gray);
}

.mimoto-fit__tier.is-mimoto {
	background: var(--fit-navy);
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 18px;
}

.mimoto-fit__brand {
	margin: 0;
	font-size: 22px;
	font-weight: 700;
}

.mimoto-fit__what {
	margin: 0;
	font-size: 17px;
	flex: 1 1 280px;
}

.mimoto-fit__enforce {
	margin: 0;
	font-family: var(--fit-mono);
	font-size: 12px;
	color: var(--fit-blue);
}

.mimoto-fit__tier.is-session {
	display: flex;
	align-items: center;
	gap: 14px;
	background: #fff;
	border: 1px solid var(--fit-pale);
	color: var(--fit-navy);
	font-weight: 600;
	font-size: 15px;
}

.mimoto-fit__end {
	display: flex;
	align-items: center;
	gap: 8px;
}

.mimoto-fit__work {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.mimoto-fit__marks {
	flex: 1 1 auto;
	height: 22px;
	background: repeating-linear-gradient(90deg, var(--fit-navy) 0 3px, transparent 3px 9px, var(--fit-navy) 9px 12px, transparent 12px 22px, var(--fit-navy) 22px 25px, transparent 25px 30px);
	opacity: 0.6;
}

.mimoto-fit__label {
	font-family: var(--fit-mono);
	font-size: 12px;
	font-weight: 400;
	color: var(--fit-gray);
	white-space: nowrap;
}

.mimoto-fit figcaption {
	margin-top: 14px;
	font-family: var(--fit-mono);
	font-size: 12px;
	color: var(--fit-gray);
}

@media (max-width: 781px) {
	.mimoto-fit__tier.is-tools ul {
		grid-template-columns: 1fr;
	}

	.mimoto-fit__label {
		display: none;
	}
}

/* ---------- Form ---------- */

.mimoto-form {
	width: 100%;
}

.mimoto-form__frame {
	display: block;
	width: 100%;
	border: 0;
	background: #fff;
}

.mimoto-form__editor {
	padding: 20px;
	border: 1px solid var(--wp--preset--color--pale, #DCE5F4);
	background: var(--wp--preset--color--paper, #F4FAFF);
	color: var(--wp--preset--color--navy, #170D7D);
	font-size: 15px;
}

/* ---------- Open roles ---------- */

.mimoto-roles__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mimoto-roles__item {
	padding: 24px 0;
	border-top: 1px solid var(--wp--preset--color--pale, #DCE5F4);
}

.mimoto-roles__item:last-child {
	border-bottom: 1px solid var(--wp--preset--color--pale, #DCE5F4);
}

.mimoto-roles__item > * {
	margin: 0;
}

.mimoto-roles__where {
	font-family: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", monospace);
	font-size: 12px;
	color: var(--wp--preset--color--gray, #555869);
}

.mimoto-roles__title {
	margin-top: 6px !important;
	font-size: clamp(20px, 2vw, 24px);
	line-height: 1.3;
}

.mimoto-roles__title a {
	color: var(--wp--preset--color--navy, #170D7D);
	text-decoration: none;
}

.mimoto-roles__title a:hover,
.mimoto-roles__title a:focus-visible {
	text-decoration: underline;
}

.mimoto-roles__lead {
	margin-top: 8px !important;
	color: var(--wp--preset--color--gray, #555869);
}

.mimoto-roles__more {
	margin-top: 10px !important;
	font-weight: 600;
}

.mimoto-roles__empty {
	margin: 0;
}

/* ---------- Resource details ---------- */

.mimoto-res {
	--res-navy: var(--wp--preset--color--navy, #170D7D);
	--res-coral: var(--wp--preset--color--coral, #FF662E);
	--res-pale: var(--wp--preset--color--pale, #DCE5F4);
	--res-gray: var(--wp--preset--color--gray, #555869);
	--res-blue: var(--wp--preset--color--light-blue, #92C5FC);
	--res-mono: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", monospace);
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
	gap: clamp(24px, 4vw, 56px);
	align-items: start;
}

.mimoto-res--paper,
.mimoto-res--case,
.mimoto-res--show {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
}

.mimoto-res__player {
	position: relative;
	aspect-ratio: 16 / 9;
	background: var(--res-navy);
}

.mimoto-res__player iframe,
.mimoto-res__audio iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.mimoto-res__audio {
	position: relative;
	height: 232px;
	background: #fff;
	border: 1px solid var(--res-pale);
}

.mimoto-res__empty,
.mimoto-res__empty-facts {
	display: grid;
	place-items: center;
	min-height: 180px;
	padding: 24px;
	border: 1px dashed var(--res-navy);
	font-family: var(--res-mono);
	font-size: 13px;
	color: var(--res-navy);
	text-align: center;
	background: #fff;
}

.mimoto-res__player + * {
	margin-top: 0;
}

.mimoto-res__empty {
	aspect-ratio: 16 / 9;
}

.mimoto-res__empty-facts {
	min-height: 0;
	text-align: left;
	place-items: start;
}

/* White paper and podcast covers */
.mimoto-res__cover {
	position: relative;
	aspect-ratio: 3 / 4;
	max-width: 320px;
	margin: 0 auto;
	padding: 32px 28px;
	display: flex;
	flex-direction: column;
	background: var(--res-navy);
	color: #fff;
	box-shadow: 14px 14px 0 var(--res-pale);
}

.mimoto-res--podcast .mimoto-res__cover,
.mimoto-res--show .mimoto-res__cover {
	aspect-ratio: 1;
}

.mimoto-res__cover::before,
.mimoto-res__cover::after {
	content: "";
	position: absolute;
	width: 64px;
	height: 64px;
	border: 6px solid var(--res-coral);
}

.mimoto-res__cover::before {
	top: -10px;
	right: -10px;
	border-left: 0;
	border-bottom: 0;
}

.mimoto-res__cover::after {
	bottom: -10px;
	left: -10px;
	border-right: 0;
	border-top: 0;
}

.mimoto-res__cover > p {
	margin: 0;
}

.mimoto-res__kicker {
	font-family: var(--res-mono);
	font-size: 12px;
	color: var(--res-blue);
}

.mimoto-res__cover-title {
	margin-top: auto !important;
	font-size: clamp(22px, 2.2vw, 30px);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.02em;
}

.mimoto-res__cover-by {
	margin-top: 18px !important;
	padding-top: 12px;
	border-top: 2px solid var(--res-coral);
	font-size: 14px;
}

/* Customer logo */
.mimoto-res__logo {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 3;
	padding: 32px;
	background: #fff;
	border: 1px solid var(--res-pale);
	border-top: 4px solid var(--res-navy);
}

.mimoto-res__logo img {
	max-width: 80%;
	max-height: 120px;
	object-fit: contain;
}

.mimoto-res__logo-text {
	font-size: clamp(22px, 2.4vw, 30px);
	font-weight: 700;
	color: var(--res-navy);
	text-align: center;
}

/* The details */
.mimoto-res__facts {
	background: #fff;
	border: 1px solid var(--res-pale);
	border-top: 4px solid var(--res-navy);
	padding: 24px;
}

.mimoto-res__label {
	margin: 0 0 12px;
	font-family: var(--res-mono);
	font-size: 12px;
	color: var(--m-coral-text, #CC3700);
}

.mimoto-res__list {
	margin: 0;
}

.mimoto-res__row {
	display: grid;
	grid-template-columns: 112px 1fr;
	gap: 12px;
	padding: 10px 0;
	border-top: 1px solid var(--res-pale);
}

.mimoto-res__row dt {
	font-family: var(--res-mono);
	font-size: 12px;
	color: var(--res-gray);
	padding-top: 2px;
}

.mimoto-res__row dd {
	margin: 0;
	font-size: 15px;
	line-height: 1.45;
	color: var(--res-navy);
}

.mimoto-res__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 16px;
	align-items: center;
	margin-top: 18px;
}

.mimoto-res__button {
	display: inline-block;
	padding: 11px 18px;
	background: var(--res-navy);
	color: #fff !important;
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
}

.mimoto-res__button.is-listen {
	background: #fff;
	color: var(--res-navy) !important;
	border: 2px solid var(--res-navy);
	padding: 9px 16px;
}

.mimoto-res__button:hover,
.mimoto-res__button:focus-visible {
	background: var(--res-coral);
	border-color: var(--res-coral);
	color: var(--res-navy) !important;
}

.mimoto-res__link {
	font-weight: 600;
	color: var(--res-navy);
}

@media (max-width: 900px) {
	.mimoto-res,
	.mimoto-res--paper,
	.mimoto-res--case,
	.mimoto-res--show {
		grid-template-columns: 1fr;
	}
	.mimoto-res__cover {
		max-width: 260px;
	}
}

/* ---------- Resource list ---------- */

.mimoto-rlist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(var(--rlist-cols, 3), minmax(0, 1fr));
	gap: 40px 28px;
}

.mimoto-rlist--1 { --rlist-cols: 1; }
.mimoto-rlist--2 { --rlist-cols: 2; }
.mimoto-rlist--3 { --rlist-cols: 3; }
.mimoto-rlist--4 { --rlist-cols: 4; }

.mimoto-rlist__item > * {
	margin: 0;
}

.mimoto-rlist__pic {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	margin-bottom: 16px !important;
	overflow: hidden;
	background: var(--wp--preset--color--pale, #DCE5F4);
}

.mimoto-rlist__pic img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mimoto-rlist__pic.is-video::after {
	content: "";
	position: absolute;
	left: 16px;
	bottom: 16px;
	width: 44px;
	height: 44px;
	background: var(--wp--preset--color--coral, #FF662E) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l8 5-8 5z' fill='%23170D7D'/%3E%3C/svg%3E") center / 24px no-repeat;
}

.mimoto-rlist__pic.is-logo {
	background: #fff;
	border: 1px solid var(--wp--preset--color--pale, #DCE5F4);
	display: grid;
	place-items: center;
}

.mimoto-rlist__pic.is-logo img {
	width: auto;
	height: auto;
	max-width: 60%;
	max-height: 60%;
	object-fit: contain;
}

.mimoto-rlist__pic.is-cover {
	aspect-ratio: 5 / 2;
	display: flex;
	align-items: flex-end;
	padding: 18px;
	background: var(--wp--preset--color--navy, #170D7D);
	border-bottom: 4px solid var(--wp--preset--color--coral, #FF662E);
	text-decoration: none;
}

.mimoto-rlist__pic.is-cover span {
	color: #fff;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.2;
}

/* Matches the category label on the Blog cards: Inter, Coral Text (small type) */
.mimoto-rlist__label {
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	color: var(--m-coral-text, #CC3700);
}

.mimoto-rlist__title {
	margin-top: 6px !important;
	font-size: 20px;
	line-height: 1.3;
}

.mimoto-rlist__title a {
	color: var(--wp--preset--color--navy, #170D7D);
	text-decoration: none;
}

.mimoto-rlist__title a:hover,
.mimoto-rlist__title a:focus-visible {
	text-decoration: underline;
}

.mimoto-rlist__summary {
	margin-top: 8px !important;
	font-size: 15px;
	line-height: 1.5;
	color: var(--wp--preset--color--gray, #555869);
}

.mimoto-rlist__meta {
	margin-top: 10px !important;
	font-family: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", monospace);
	font-size: 12px;
	color: var(--wp--preset--color--gray, #555869);
}

.mimoto-rlist__empty {
	margin: 0;
	padding: 24px;
	border: 1px solid var(--wp--preset--color--pale, #DCE5F4);
	background: #fff;
}

@media (max-width: 1000px) {
	.mimoto-rlist--4 { --rlist-cols: 2; }
	.mimoto-rlist--3 { --rlist-cols: 2; }
}

@media (max-width: 600px) {
	.mimoto-rlist { --rlist-cols: 1 !important; }
}

/* ---------- Post details ---------- */

.mimoto-postmeta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin: 12px 0 0;
	font-family: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", monospace);
	font-size: 13px;
	color: var(--wp--preset--color--gray, #555869);
}

.mimoto-postmeta__cat {
	color: var(--wp--preset--color--coral, #FF662E);
	text-decoration: none;
}

/* ---------- Cover art ---------- */

.mimoto-res__cover.has-art {
	padding: 0;
}

.mimoto-res__cover.has-art::before,
.mimoto-res__cover.has-art::after {
	content: none;
}

.mimoto-res__cover-art {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: 50% 62%;
	background: #EAF3FF;
}

.mimoto-res--podcast .mimoto-res__cover-art,
.mimoto-res--show .mimoto-res__cover-art {
	aspect-ratio: auto;
	flex: 0 0 64%;
	min-height: 0;
}

.mimoto-res__cover-text {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 28px 28px 30px;
}

.mimoto-res__cover:not(.has-art) .mimoto-res__cover-text {
	padding: 0;
}

.mimoto-res__cover-text > p {
	margin: 0;
}

.mimoto-res__cover.has-art .mimoto-res__cover-title {
	margin-top: 10px !important;
}

.mimoto-res__cover.has-art .mimoto-res__cover-by {
	margin-top: auto !important;
}

.mimoto-res--podcast .mimoto-res__cover-text,
.mimoto-res--show .mimoto-res__cover-text {
	justify-content: center;
	padding: 16px 22px;
}

.mimoto-res__art {
	position: relative;
	overflow: hidden;
	background: #EAF3FF;
}

.mimoto-res__art.is-wide {
	aspect-ratio: 16 / 9;
}

.mimoto-res__art img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 62%;
}

.mimoto-res__note {
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 16px;
	padding: 10px 12px;
	background: #fff;
	border: 1px dashed var(--res-navy);
	font-family: var(--res-mono);
	font-size: 12px;
	color: var(--res-navy);
}

.mimoto-res__chip,
.mimoto-rlist__chip {
	position: absolute;
	left: 12px;
	top: 12px;
	padding: 5px 8px;
	background: var(--wp--preset--color--navy, #170D7D);
	color: #fff;
	font-family: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", monospace);
	font-size: 11px;
	line-height: 1.3;
}

.mimoto-rlist__pic img {
	object-position: 50% 62%;
}

.mimoto-rlist__logo {
	position: absolute;
	right: 12px;
	top: 12px;
	display: grid;
	place-items: center;
	width: 34%;
	aspect-ratio: 2 / 1;
	padding: 8px;
	background: #fff;
	border: 1px solid var(--wp--preset--color--pale, #DCE5F4);
}

.mimoto-rlist__logo img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

/* Blog posts with no featured image show their art */
.mimoto-art-figure {
	margin: 0;
	overflow: hidden;
	background: #EAF3FF;
}

.mimoto-art-figure img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: 50% 62%;
}

.mimoto-res__cover.has-art .mimoto-res__cover-title {
	margin-bottom: 16px !important;
}

/* Company logo wall: official logos in their own colors, or the name until a logo is added.
   0.10.35: open rows like mimoto.ai, no tiles; a short last row is centered. Each logo's width
   is set in render.php so long wordmarks and square marks read about the same size. */
.mimoto-logowall {
	--ml-navy: var(--wp--preset--color--navy, #170D7D);
	--ml-gray: var(--wp--preset--color--gray, #555869);
	list-style: none;
	margin: 40px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	row-gap: clamp(24px, 3vw, 40px);
}

.mimoto-logowall__item {
	flex: 0 0 20%;
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	box-sizing: border-box;
	min-height: 96px;
	padding: 12px 16px;
	text-align: center;
}

.mimoto-logowall__logo {
	display: block;
	width: 140px;
	height: auto;
	max-width: 100%;
	max-height: 90px;
	object-fit: contain;
}

.mimoto-logowall__name {
	font-size: clamp(18px, 1.7vw, 24px);
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.15;
	color: var(--ml-navy);
}

.mimoto-logowall__note {
	font-size: 13px;
	line-height: 1.3;
	color: var(--ml-gray);
}

@media (max-width: 900px) {
	.mimoto-logowall__item {
		flex-basis: 33.333%;
	}
}

@media (max-width: 560px) {
	.mimoto-logowall {
		row-gap: 20px;
	}
	.mimoto-logowall__item {
		flex-basis: 50%;
		min-height: 80px;
		padding: 8px 12px;
	}
	.mimoto-logowall__logo {
		transform: scale(0.82);
	}
}

/* Audio player: a white paper read aloud, played on the page */
.mimoto-audio {
	--mu-navy: var(--wp--preset--color--navy, #170D7D);
	--mu-pale: var(--wp--preset--color--pale, #DCE5F4);
	--mu-gray: var(--wp--preset--color--gray, #555869);
	--mu-wave: #BFDDFE;
	margin: 0;
	padding: 24px;
	background: #fff;
	border: 2px solid var(--mu-navy);
	color: var(--mu-navy);
}

.mimoto-audio__native {
	display: block;
	width: 100%;
	margin-bottom: 16px;
}

.mimoto-audio.is-ready .mimoto-audio__native {
	display: none;
}

/* With scripts off, the browser's own controls play the audio. */
.mimoto-audio.has-audio:not(.is-ready) .mimoto-audio__player {
	display: none;
}

.mimoto-audio__player {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 16px 20px;
	align-items: center;
}

.mimoto-audio button {
	margin: 0;
	font: inherit;
	cursor: pointer;
}

.mimoto-audio button:disabled {
	cursor: default;
}

.mimoto-audio button:focus-visible,
.mimoto-audio__wave:focus-visible {
	outline: 2px solid var(--mu-navy);
	outline-offset: 3px;
}

.mimoto-audio__play {
	width: 64px;
	height: 64px;
	padding: 0;
	display: grid;
	place-items: center;
	background: var(--mu-navy);
	color: #fff;
	border: 0;
	border-radius: 0;
}

.mimoto-audio__play svg {
	width: 32px;
	height: 32px;
	display: block;
}

.mimoto-audio__i-pause,
.mimoto-audio.is-playing .mimoto-audio__i-play {
	display: none;
}

.mimoto-audio.is-playing .mimoto-audio__i-pause {
	display: block;
}

.mimoto-audio__title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.mimoto-audio__meta {
	margin: 4px 0 0;
	font-size: 14px;
	line-height: 1.4;
	color: var(--mu-gray);
}

.mimoto-audio__wave {
	grid-column: 1 / -1;
	height: 56px;
	display: flex;
	align-items: center;
	gap: 2px;
	cursor: pointer;
	touch-action: none;
}

.mimoto-audio__wave span {
	flex: 1 1 0;
	min-width: 2px;
	background: var(--mu-wave);
	transition: background-color 0.15s;
}

.mimoto-audio__wave span.is-played {
	background: var(--mu-navy);
}

.mimoto-audio__times {
	grid-column: 1 / -1;
	margin: -8px 0 0;
	display: flex;
	justify-content: space-between;
	font-family: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", "Courier New", monospace);
	font-size: 13px;
	color: var(--mu-gray);
}

.mimoto-audio__ctrls {
	grid-column: 1 / -1;
	display: flex;
	gap: 8px;
	align-items: center;
}

.mimoto-audio__ctrls button {
	width: 44px;
	height: 44px;
	padding: 0;
	display: grid;
	place-items: center;
	background: #fff;
	color: var(--mu-navy);
	border: 1.5px solid var(--mu-navy);
	border-radius: 0;
}

.mimoto-audio__ctrls button svg {
	width: 24px;
	height: 24px;
	display: block;
}

.mimoto-audio__ctrls button:not(:disabled):hover {
	background: var(--mu-pale);
}

.mimoto-audio__ctrls .mimoto-audio__speed {
	width: auto;
	min-width: 56px;
	margin-left: auto;
	padding: 0 10px;
	font-family: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", "Courier New", monospace);
	font-size: 14px;
	font-weight: 500;
}

.mimoto-audio.is-empty .mimoto-audio__play,
.mimoto-audio.is-empty .mimoto-audio__wave,
.mimoto-audio.is-empty .mimoto-audio__ctrls {
	opacity: 0.45;
}

.mimoto-audio.is-empty .mimoto-audio__wave {
	cursor: default;
}

.mimoto-audio > .mimoto-ph {
	margin: 20px 0 0;
}

@media (max-width: 480px) {
	.mimoto-audio {
		padding: 18px;
	}
	.mimoto-audio__player {
		grid-template-columns: 56px minmax(0, 1fr);
		gap: 14px 16px;
	}
	.mimoto-audio__play {
		width: 56px;
		height: 56px;
	}
	.mimoto-audio__wave span:nth-child(2n) {
		display: none;
	}
}

/* Anything that says Listen gets a speaker icon */
.mimoto-listen:not(.wp-block-button)::before,
.wp-block-button.mimoto-listen > .wp-block-button__link::before,
.mimoto-res__button.is-listen::before {
	content: "";
	display: inline-block;
	flex: none;
	width: 1.15em;
	height: 1.15em;
	margin-right: 0.4em;
	vertical-align: -0.2em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M3.5 9.5h4l5-4.5v14l-5-4.5h-4z' fill='%23000'/%3E%3Cpath d='M16 9a4.2 4.2 0 0 1 0 6'/%3E%3Cpath d='M18.8 6.2a8.2 8.2 0 0 1 0 11.6'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M3.5 9.5h4l5-4.5v14l-5-4.5h-4z' fill='%23000'/%3E%3Cpath d='M16 9a4.2 4.2 0 0 1 0 6'/%3E%3Cpath d='M18.8 6.2a8.2 8.2 0 0 1 0 11.6'/%3E%3C/svg%3E") no-repeat center / contain;
}

.wp-block-button.mimoto-listen > .wp-block-button__link,
.mimoto-res__button.is-listen {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.wp-block-button.mimoto-listen > .wp-block-button__link::before,
.mimoto-res__button.is-listen::before {
	vertical-align: 0;
}

h2.mimoto-listen::before,
h3.mimoto-listen::before {
	width: 0.9em;
	height: 0.9em;
	vertical-align: -0.06em;
}

/* Video (Vimeo): the player, or the video box until a link is added */
.mimoto-video {
	--mv-navy: var(--wp--preset--color--navy, #170D7D);
	--mv-gray: var(--wp--preset--color--gray, #555869);
	margin: 0;
}

.mimoto-video__frame {
	position: relative;
	aspect-ratio: 16 / 9;
	background: var(--mv-navy);
	border: 2px solid var(--mv-navy);
}

.mimoto-video__frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.mimoto-video__caption {
	margin-top: 12px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.mimoto-video__title {
	font-size: 16px;
	font-weight: 700;
	color: var(--mv-navy);
}

.mimoto-video__who {
	font-size: 14px;
	color: var(--mv-gray);
}

.mimoto-video .mimoto-video-slot .mimoto-ph {
	margin-top: 16px;
	font-size: 13px;
}

/* The built-in form: sends to Leads and Lightfield. No CAPTCHA. */
.mimoto-lead {
	--ml2-navy: var(--wp--preset--color--navy, #170D7D);
	--ml2-pale: var(--wp--preset--color--pale, #DCE5F4);
	--ml2-gray: var(--wp--preset--color--gray, #555869);
	--ml2-coral: var(--wp--preset--color--coral, #FF662E);
	color: var(--ml2-navy);
}

.mimoto-lead__set {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.mimoto-lead__trap {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.mimoto-lead__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 16px;
}

.mimoto-lead__field {
	grid-column: 1 / -1;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mimoto-lead__field.is-half {
	grid-column: span 1;
}

.mimoto-lead__field label {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

.mimoto-lead__optional {
	font-weight: 400;
	color: var(--ml2-gray);
}

.mimoto-lead__field input,
.mimoto-lead__field textarea,
.mimoto-lead__field select {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 12px 14px;
	font: inherit;
	font-size: 16px;
	color: var(--ml2-navy);
	background: #fff;
	border: 1.5px solid #BFDDFE;
	border-radius: 0;
}

.mimoto-lead__field textarea {
	min-height: 120px;
	resize: vertical;
}

.mimoto-lead__field input:focus,
.mimoto-lead__field textarea:focus,
.mimoto-lead__field select:focus {
	outline: 2px solid var(--ml2-navy);
	outline-offset: 1px;
	border-color: var(--ml2-navy);
}

.mimoto-lead__privacy {
	margin: 18px 0 0;
	font-size: 14px;
	color: var(--ml2-gray);
}

.mimoto-lead__privacy a {
	color: var(--ml2-navy);
}

.mimoto-lead__send {
	margin-top: 18px;
	padding: 14px 26px;
	font: inherit;
	font-size: 16px;
	font-weight: 600;
	color: #fff;
	background: var(--ml2-coral);
	border: 0;
	border-radius: 0;
	cursor: pointer;
}

.mimoto-lead__send:hover,
.mimoto-lead__send:focus-visible {
	color: #fff;
	background: var(--ml2-navy);
}

.mimoto-lead__send:focus-visible {
	outline: 2px solid var(--ml2-navy);
	outline-offset: 3px;
}

.mimoto-lead__send:disabled {
	opacity: 0.6;
	cursor: default;
}

.mimoto-lead__status {
	min-height: 1.4em;
	margin: 12px 0 0;
	font-size: 15px;
	font-weight: 600;
}

.mimoto-lead__thanks {
	padding: 24px;
	background: #fff;
	border: 2px solid var(--ml2-navy);
}

.mimoto-lead__thanks:focus {
	outline: none;
}

.mimoto-lead__thanks-title {
	margin: 0 0 6px;
	font-size: 22px;
	font-weight: 700;
}

.mimoto-lead__thanks p:last-child {
	margin: 0;
}

/* Dropdown: a plain square box with a navy chevron. */
.mimoto-lead__field select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 42px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23170D7D' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 18px 18px;
	cursor: pointer;
}

/* Checkbox questions. */
.mimoto-lead__choices {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.mimoto-lead__choices legend {
	padding: 0;
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

.mimoto-lead__choice-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 16px;
}

.mimoto-lead__field .mimoto-lead__choice {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 10px 12px;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.35;
	background: #fff;
	border: 1.5px solid #BFDDFE;
	cursor: pointer;
}

.mimoto-lead__field .mimoto-lead__choice:has(input:checked) {
	border-color: var(--ml2-navy);
	background: var(--ml2-pale);
}

.mimoto-lead__field .mimoto-lead__choice input {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 1px 0 0;
	padding: 0;
	accent-color: var(--ml2-navy);
	border: 0;
}

.mimoto-lead__field .mimoto-lead__choice input:focus-visible {
	outline: 2px solid var(--ml2-navy);
	outline-offset: 2px;
}

@media (max-width: 600px) {
	.mimoto-lead__field.is-half {
		grid-column: 1 / -1;
	}

	.mimoto-lead__choice-list {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ---------- Person or agent, at sign-up (block mimoto/signup-check, 0.10.50) ---------- */
/* Shares the drawing styles of How Mimoto decides (.mimoto-decide). */

.mimoto-signup .sc-bar {
	fill: var(--wp--preset--color--pale, #DCE5F4);
	transition: fill 0.4s ease;
}

.mimoto-signup [data-phase="1"] .sc-step[data-step="1"] .sc-bar,
.mimoto-signup [data-phase="2"] .sc-step:not([data-step="3"]) .sc-bar,
.mimoto-signup [data-phase="3"] .sc-bar {
	fill: var(--wp--preset--color--navy, #170D7D);
}

.mimoto-signup .sc-step text {
	transition: opacity 0.4s ease;
}

.mimoto-signup [data-phase="1"] .sc-step:not([data-step="1"]) text,
.mimoto-signup [data-phase="2"] .sc-step[data-step="3"] text {
	opacity: 0.4;
}

.mimoto-signup .sc-form {
	fill: #fff;
	stroke: var(--wp--preset--color--navy, #170D7D);
	stroke-width: 2;
}

.mimoto-signup .sc-field {
	fill: var(--wp--preset--color--paper, #F4FAFF);
	stroke: var(--wp--preset--color--navy, #170D7D);
	stroke-opacity: 0.3;
	stroke-width: 1.5;
}

.mimoto-signup .sc-fill {
	fill: var(--wp--preset--color--navy, #170D7D);
	fill-opacity: 0.45;
}

.mimoto-signup .sc-btn rect {
	fill: var(--wp--preset--color--navy, #170D7D);
	transition: fill 0.2s ease;
}

.mimoto-signup .sc-btn.is-hit rect {
	fill: var(--wp--preset--color--deep-navy, #0B1533);
}

.mimoto-signup .sc-check {
	fill: var(--wp--preset--color--light-blue, #92C5FC);
	transition: fill 0.2s ease;
}

.mimoto-signup .sc-check.is-hit {
	fill: #fff;
}

.mimoto-signup .sc-check.is-flag {
	fill: var(--wp--preset--color--coral, #FF662E);
}

.mimoto-signup .sc-call rect {
	fill: #fff;
	stroke: var(--wp--preset--color--navy, #170D7D);
	stroke-width: 2;
	transition: stroke 0.25s ease, stroke-width 0.25s ease;
}

.mimoto-signup .sc-call__text {
	font-family: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", "Courier New", monospace);
	font-size: 15px;
	font-weight: 500;
	fill: var(--wp--preset--color--navy, #170D7D);
	transition: opacity 0.25s ease;
}

.mimoto-signup .mimoto-decide__tall .sc-call__text {
	font-size: 14px;
}

.mimoto-signup .sc-call.is-wait .sc-call__text {
	opacity: 0.45;
}

.mimoto-signup .sc-call.is-person rect {
	stroke-width: 3.5;
}

.mimoto-signup .sc-call.is-agent rect {
	stroke: var(--wp--preset--color--coral, #FF662E);
	stroke-width: 3.5;
}

.mimoto-signup .sc-call.is-agent .sc-call__text {
	fill: var(--m-coral-text, #CC3700);
}

/* ---------- Mimoto in your current security stack (0.10.72, Kris, October 17) ----------
 * Layers top to bottom: identity and access (Mimoto enhances), Mimoto inside a navy frame (its engine, the
 * cloud surface it embeds in, the endpoints it runs on), then detection and response, and enforcement.
 * The arrows between layers point down, solid, as in Kris's picture.
 * Motion (0.10.73, Ian; 0.10.75 easier to see, and on without waiting for a script): a wave runs down the
 * arrows, layer by layer, so the flow reads top to bottom; a light-blue streak with a soft glow travels
 * clockwise around Mimoto's frame at an even speed (view.js draws it); the engine breathes. view.js pauses it
 * all off screen (.is-paused). Nothing moves for people who prefer less motion. */

.mimoto-stack {
	--st-navy: var(--wp--preset--color--navy, #170D7D);
	--st-blue: var(--wp--preset--color--light-blue, #92C5FC);
	--st-coral: var(--wp--preset--color--coral, #FF662E);
	--st-gray: var(--wp--preset--color--gray, #555869);
	--st-pale: var(--wp--preset--color--pale, #DCE5F4);
	--st-paper: var(--wp--preset--color--paper, #F4FAFF);
	--st-label: 190px;
	--st-gap: 12px;
	margin: 0;
	font-size: 14px;
	line-height: 1.35;
}

.mimoto-stack p {
	margin: 0;
}

.mimoto-stack__layer {
	display: grid;
	grid-template-columns: var(--st-label) minmax(0, 1fr);
	gap: var(--st-gap);
	align-items: center;
	padding: 16px 18px;
	background: var(--st-paper);
	border: 1px solid var(--st-pale);
}

.mimoto-stack__name {
	font-weight: 700;
	font-size: 15px;
	color: var(--st-navy);
	line-height: 1.25;
}

.mimoto-stack__role {
	margin-top: 3px !important;
	font-size: 13px;
	color: var(--st-gray);
}

.mimoto-stack__layer.is-out .mimoto-stack__name {
	color: var(--m-coral-text, #CC3700);
}

.mimoto-stack__tiles {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--st-gap);
}

.mimoto-stack__tiles.is-three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* 0.10.77: Kris's updated picture puts five tiles in the cloud-based surface row (Mobile added). The tiles
 * are a little tighter so each badge stays on one line. */
.mimoto-stack__tiles.is-five {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.mimoto-stack__tiles.is-five .mimoto-stack__tile {
	padding: 12px;
	gap: 8px;
}

.mimoto-stack__tile {
	display: flex;
	align-items: center; /* titles only since 0.10.77, so the icon sits beside the title */
	gap: 10px;
	margin: 0;
	padding: 12px 14px;
	background: #fff;
	border: 1px solid var(--st-pale);
	min-height: 100%;
	box-sizing: border-box;
}

.mimoto-stack__icon {
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	margin-top: 1px;
	fill: none;
	stroke: var(--st-navy);
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mimoto-stack__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.mimoto-stack__text strong {
	font-weight: 700;
	color: var(--st-navy);
	font-size: 14.5px;
	line-height: 1.25;
}

.mimoto-stack__text > span {
	color: var(--st-gray);
	font-size: 13px;
}

.mimoto-stack__badge {
	align-self: flex-start;
	margin-top: 6px;
	padding: 2px 6px;
	background: var(--st-navy);
	color: #fff;
	font-style: normal;
	font-weight: 600;
	font-size: 11.5px;
	line-height: 1.5;
	white-space: nowrap;
}

/* Mimoto's frame: a solid navy border. While live, view.js lays a streak over it that travels clockwise. */
.mimoto-stack__mimoto {
	position: relative;
	padding: 10px;
	border: 3px solid var(--st-navy);
	background: #F7FAFF;
}

.mimoto-stack__orbit {
	position: absolute;
	top: -3px;
	left: -3px;
	width: calc(100% + 6px);
	height: calc(100% + 6px);
	overflow: visible;
	pointer-events: none;
}

.mimoto-stack__orbit {
	filter: drop-shadow(0 0 3px rgba(146, 197, 252, 0.9));
}

.mimoto-stack__orbit rect {
	fill: none;
	stroke: var(--st-blue);
	stroke-width: 3;
	stroke-linecap: butt;
}

.mimoto-stack__mimoto .mimoto-stack__layer.is-surface {
	background: #EEF4FC;
}

.mimoto-stack__layer.is-engine {
	background: var(--st-navy);
	border-color: var(--st-navy);
	box-shadow: 0 0 0 rgba(146, 197, 252, 0);
}

.mimoto-stack__layer.is-engine .mimoto-stack__name {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	font-size: 20px;
}

.mimoto-stack__layer.is-engine .mimoto-stack__role {
	color: var(--st-blue);
}

.mimoto-stack__layer.is-engine .mimoto-stack__tile {
	background: rgba(255, 255, 255, 0.07);
	border-color: rgba(146, 197, 252, 0.35);
}

.mimoto-stack__layer.is-engine .mimoto-stack__icon {
	stroke: var(--st-blue);
}

.mimoto-stack__layer.is-engine .mimoto-stack__text strong {
	color: #fff;
}

.mimoto-stack__layer.is-engine .mimoto-stack__text > span {
	color: #C9D9F2;
}

/* "Always on": a small light-blue dot beside the name, with a soft ring. */
.mimoto-stack__live {
	position: relative;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--st-blue);
}

.mimoto-stack__live::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 1px solid var(--st-blue);
	opacity: 0;
}

/* Connectors between layers: three solid arrowheads pointing down, in the colors of Kris's picture. */
.mimoto-stack__flow {
	display: grid;
	grid-template-columns: var(--st-label) minmax(0, 1fr);
	gap: var(--st-gap);
	padding: 0 18px;
	--st-tone: var(--st-navy);
}

.mimoto-stack__flow.is-coral {
	--st-tone: var(--st-coral);
}

.mimoto-stack__flow.is-blue {
	--st-tone: var(--st-blue);
}

.mimoto-stack__flow > div {
	grid-column: 2;
	display: flex;
	justify-content: center;
	gap: 14%;
	padding: 7px 0;
}

.mimoto-stack__arrow {
	display: block;
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 10px solid var(--st-tone);
}

.mimoto-stack__arrow i {
	display: none;
}

@media (prefers-reduced-motion: no-preference) {
	.mimoto-stack .mimoto-stack__layer.is-engine {
		animation: mimoto-stack-glow 4s ease-in-out infinite alternate;
	}

	.mimoto-stack .mimoto-stack__live::after {
		animation: mimoto-stack-ping 2.4s ease-out infinite;
	}

	/* The wave: every arrow rests faded, then brightens and steps down as the wave passes. Each layer of arrows
	 * follows the one above it, and the three in a row go left to right, so the flow reads downward. */
	.mimoto-stack .mimoto-stack__arrow {
		opacity: 0.3;
		animation: mimoto-stack-wave 3.2s ease-in-out infinite;
		animation-delay: calc(var(--mimoto-stack-step, 0) * 0.3s + var(--mimoto-stack-i, 0) * 0.06s);
	}

	.mimoto-stack.is-paused .mimoto-stack__layer.is-engine,
	.mimoto-stack.is-paused .mimoto-stack__live::after,
	.mimoto-stack.is-paused .mimoto-stack__arrow {
		animation-play-state: paused;
	}
}

@keyframes mimoto-stack-glow {
	from {
		box-shadow: 0 0 0 rgba(146, 197, 252, 0);
	}
	to {
		box-shadow: 0 0 26px rgba(146, 197, 252, 0.5);
	}
}

@keyframes mimoto-stack-ping {
	0% {
		transform: scale(1);
		opacity: 0.8;
	}
	100% {
		transform: scale(2.6);
		opacity: 0;
	}
}

@keyframes mimoto-stack-wave {
	0%,
	40%,
	100% {
		opacity: 0.3;
		transform: translateY(0);
	}
	14% {
		opacity: 1;
		transform: translateY(4px);
	}
}

/* Narrower screens: the layer's name goes above its tiles (0.10.77: from 1,300 pixels, so the five-tile row
 * keeps room for its badges on iPad landscape and small laptops). */
@media (max-width: 1300px) {
	.mimoto-stack__layer {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	.mimoto-stack__flow {
		grid-template-columns: minmax(0, 1fr);
	}

	.mimoto-stack__flow > div {
		grid-column: 1;
	}
}

/* iPad landscape: the five-tile row's badges a touch smaller, so they stay on one line. */
@media (max-width: 1100px) {
	.mimoto-stack__tiles.is-five .mimoto-stack__badge {
		font-size: 10.5px;
	}
}

/* Tablets in portrait: tiles two across. */
@media (max-width: 1000px) {

	.mimoto-stack__tiles,
	.mimoto-stack__tiles.is-three,
	.mimoto-stack__tiles.is-five {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mimoto-stack__tiles.is-three .mimoto-stack__tile:last-child,
	.mimoto-stack__tiles.is-five .mimoto-stack__tile:last-child {
		grid-column: 1 / -1;
	}
}

/* Phones: no icons, smaller type, so two tiles still fit across. */
@media (max-width: 600px) {
	.mimoto-stack {
		--st-gap: 8px;
	}

	.mimoto-stack__layer {
		padding: 12px;
	}

	.mimoto-stack__mimoto {
		padding: 6px;
	}

	.mimoto-stack__flow {
		padding: 0 12px;
	}

	.mimoto-stack__tile {
		padding: 10px;
	}

	.mimoto-stack__icon {
		display: none;
	}

	.mimoto-stack__text strong {
		font-size: 13.5px;
	}

	.mimoto-stack__text > span {
		font-size: 12px;
	}
}
