/*
 * Mimoto 0.9.0: the site redesign (Kris, October 8, 2026).
 *
 * Loads after mimoto.css and changes the look across every page:
 * - Color blocks instead of all white: sections alternate white and gray-blue
 *   (Pale), light blue marks the products, and navy closes each page with the
 *   contact form. Never a coral block; coral stays on the one button.
 * - Fewer boxes: cards are rows with a rule on top, not framed boxes.
 * - Plain type for labels (no code font, no all caps), bigger headings.
 * - The menu stays anchored at the top, with a one-line description under
 *   each item.
 * - Quiet motion, only where it means something: the fence drifts behind the
 *   home page headline, and the diagrams play. Off for reduced motion.
 */

:root {
	--m-section: clamp(64px, 7vw, 104px);
	--m-line: #C9D3E6;
	--m-line-dark: #4B4FAF;
	--m-mono: var(--wp--preset--font-family--inter, Inter, system-ui, sans-serif);
	--m-edge: max(0px, calc((100% - 1200px) / 2));
}

/*
 * One typeface, used more fully. The code font retires, so every label and
 * diagram sets in Inter. Inter's own alternates are on everywhere: the
 * single-storey a, the l with a tail (so l, I, and 1 never look alike), and
 * open digits. Big type sets in Inter Display, Inter's cut for large sizes,
 * tracked for its size rather than squeezed.
 */
body {
	--wp--preset--font-family--plex-mono: var(--wp--preset--font-family--inter, Inter, Helvetica, Arial, sans-serif);
	--m-display: var(--wp--preset--font-family--inter-display, "Inter Display", Inter, Helvetica, Arial, sans-serif);
	font-feature-settings: "cv11", "cv05", "ss01";
}

h1.wp-block-heading,
h2.wp-block-heading,
.wp-block-post-title,
.is-style-stat,
.mimoto-q,
.mimoto-gap p.mimoto-gap__close {
	font-family: var(--m-display);
}

/* Inner pages: color blocks sit flush against each other, with no white seams. */
:is(.wp-block-post-content, .entry-content) > :is(.mimoto-section, .mimoto-hero, .mimoto-fence).alignfull,
:is(.wp-block-post-content, .entry-content) > .mimoto-hidden-preview.alignfull,
.mimoto-hidden-preview > .alignfull {
	margin-block: 0;
}

/* ---------- Type ---------- */

h1.wp-block-heading,
h2.wp-block-heading,
h3.wp-block-heading,
.wp-block-post-title {
	font-weight: 700;
}

h1.wp-block-heading,
.wp-block-post-title {
	letter-spacing: -0.012em;
	line-height: 1.05;
}

h2.wp-block-heading {
	letter-spacing: -0.01em;
	line-height: 1.08;
}

h3.wp-block-heading {
	letter-spacing: -0.015em;
}

/* Labels read as words, not code: Inter, sentence case */
.is-style-eyebrow,
.is-style-label,
.site-nav .nav-label > .wp-block-navigation-item__content,
.site-nav .is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-item__content,
.mimoto-flow__label.mimoto-flow__label,
.mimoto-logos.mimoto-logos > *,
.mimoto-post-meta,
.mimoto-walk .mimoto-walk__label,
.mimoto-kind,
.mimoto-cover__kicker.mimoto-cover__kicker,
.mimoto-post__back {
	text-transform: none;
	letter-spacing: 0;
}

.is-style-eyebrow {
	font-weight: 600;
	font-size: 16px;
	color: var(--m-coral-text);
}

.is-style-label {
	font-weight: 600;
	font-size: 14px;
	color: var(--m-gray);
}

.is-style-source {
	font-size: 13px;
}

.is-style-stat {
	font-weight: 700;
	letter-spacing: -0.02em;
}

.is-style-statement::after {
	display: none;
}

.mimoto-walk .mimoto-walk__label,
.mimoto-flow__label.mimoto-flow__label {
	font-weight: 700;
	font-size: 15px;
}

/* ---------- Header: anchored, with descriptions in the menus ---------- */

.site-header__inner {
	min-height: 80px;
}

.site-nav .wp-block-navigation__container {
	gap: 4px;
}

.site-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	padding: 10px 12px;
	font-weight: 600;
	font-size: 16px;
}

.site-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover {
	color: var(--m-coral-text);
	text-decoration: none;
}

.site-nav .nav-panel > .wp-block-navigation__submenu-container {
	min-width: 380px !important;
	padding: 12px !important;
	border: 1px solid var(--m-line) !important;
}

.site-nav .wp-block-navigation__submenu-container .wp-block-navigation-item {
	display: block;
}

.site-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content.wp-block-navigation-item__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	padding: 10px 12px !important;
	font-weight: 600 !important;
	font-size: 15px;
	line-height: 1.35;
	white-space: normal;
	text-decoration: none !important;
}

/* 0.10.54 (Kris, October 15): no box that extends on hover, which read like broken alignment. Only the
   item's heading changes color, the same coral as the top-level items. */
.site-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.site-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	background: transparent !important;
}

.site-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
	transition: color 0.15s ease;
}

.site-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
.site-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible .wp-block-navigation-item__label {
	color: var(--m-coral-text);
}

.site-nav .wp-block-navigation-item__description {
	display: block;
	margin-top: 2px;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.4;
	color: var(--m-gray);
}

.site-nav .nav-label > .wp-block-navigation-item__content {
	font-family: inherit;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--m-gray) !important;
	padding-bottom: 4px !important;
}

.site-nav .nav-label > .wp-block-navigation-item__content:hover {
	background: transparent;
	color: var(--m-navy) !important;
}

@media (min-width: 600px) {
	/* Solutions: By threat and By role side by side, Industries across the bottom */
	.site-nav .nav-mega > .wp-block-navigation__submenu-container {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-flow: dense;
		column-gap: 16px;
		columns: auto;
		column-rule: none;
		min-width: 760px !important;
		padding: 14px !important;
		left: 50% !important;
		transform: translateX(-50%);
	}

	.site-nav .nav-mega .nav-col-1 {
		grid-column: 1;
	}

	.site-nav .nav-mega .nav-col-2 {
		grid-column: 2;
	}

	.site-nav .nav-mega .nav-label.nav-col-2,
	.site-nav .nav-mega .nav-label.nav-col-3 {
		break-before: auto;
	}

	.site-nav .nav-mega .nav-wide {
		grid-column: 1 / -1;
		margin-top: 8px;
		padding-top: 8px;
		border-top: 1px solid var(--m-pale);
	}
}

/* Tablet widths: the Solutions panel hangs from the right edge of the menu, so it never runs off screen */
@media (min-width: 600px) and (max-width: 1180px) {
	.site-nav .nav-mega,
	.site-nav .wp-block-navigation__container,
	.site-nav .wp-block-navigation__responsive-container:not(.is-menu-open),
	.site-nav .wp-block-navigation__responsive-dialog {
		position: static;
	}

	.site-nav .nav-mega > .wp-block-navigation__submenu-container {
		top: 100% !important;
		left: auto !important;
		right: 0;
		transform: none;
		min-width: min(760px, calc(100vw - 32px)) !important;
	}
}

/* Mobile menu */
.site-nav .is-menu-open .wp-block-navigation-item__description {
	display: none;
}

.site-nav .is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-item__content {
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	color: var(--m-gray);
}

.site-nav .wp-block-navigation__responsive-container.is-menu-open .nav-cta-mobile > .wp-block-navigation-item__content {
	display: inline-block;
	padding: 14px 22px !important;
	background: var(--m-coral);
	color: #fff !important;
	font-weight: 700;
	text-decoration: none;
}

.site-nav .wp-block-navigation__responsive-container.is-menu-open .nav-cta-mobile > .wp-block-navigation-item__content:hover,
.site-nav .wp-block-navigation__responsive-container.is-menu-open .nav-cta-mobile > .wp-block-navigation-item__content:focus-visible {
	background: var(--m-navy);
	color: #fff !important;
}

.site-header__cta .wp-block-button__link {
	padding: 11px 18px;
	font-size: 15px;
}

/* 0.10.25: Why Mimoto joined the menu row. Up to 1180 the row has no room for the button, so the
   Contact link stands in for it; from 1181 the button is there and the Contact link (the same page)
   steps out of the row. Both stay in the phone and tablet menu. */
@media (max-width: 1180px) {
	.site-header .site-header__cta {
		display: none !important;
	}
}

@media (min-width: 1181px) {
	.site-nav .wp-block-navigation__container > .nav-contact {
		display: none !important;
	}
}

/* ---------- Heroes ---------- */

.mimoto-hero {
	padding-block: clamp(56px, 8vw, 112px) clamp(64px, 8vw, 112px);
}

.mimoto-hero h1.wp-block-heading {
	font-size: clamp(40px, 5.2vw, 68px);
	margin-top: 14px;
}

.mimoto-hero .is-style-lead {
	font-size: clamp(18px, 1.7vw, 21px);
	max-width: 38em;
	color: var(--m-navy);
}

.mimoto-hero-art img {
	border: 0;
}

.mimoto-hero--home {
	padding-block: clamp(56px, 8vw, 104px) clamp(72px, 9vw, 120px);
}

.mimoto-hero--home h1.mimoto-hero__title {
	max-width: 1200px;
	margin: 20px 0 32px;
	font-size: clamp(44px, 6.6vw, 96px);
	line-height: 1;
	letter-spacing: -0.015em;
}

.mimoto-hero--home .is-style-eyebrow {
	font-size: clamp(15px, 1.4vw, 18px);
}

.mimoto-hero--home .is-style-lead {
	font-size: clamp(18px, 1.8vw, 22px);
	max-width: 680px;
}

.mimoto-hero--home .mimoto-hero__actions {
	margin-top: 36px;
}

.mimoto-hero--home > .is-style-lead,
.mimoto-hero--home > .wp-block-buttons {
	margin-left: var(--m-edge) !important;
	margin-right: auto !important;
}

/* ---------- Sections: color blocks ---------- */

.mimoto-section--rule {
	border-top: 0;
}

.mimoto-section--paper {
	background: var(--m-pale);
	border-top: 0;
	border-bottom: 0;
}

.mimoto-section--blue {
	background: var(--m-blue);
}

.mimoto-section h2.wp-block-heading {
	font-size: clamp(32px, 3.9vw, 52px);
}

.mimoto-intro {
	margin-bottom: 48px;
}

.mimoto-head {
	margin-bottom: clamp(36px, 4vw, 52px) !important;
}

.mimoto-head .is-style-lead {
	margin: 0;
}

/* Left-aligned narrow blocks inside a full-width section */
.mimoto-left.mimoto-left {
	max-width: 640px;
	margin-left: var(--m-edge) !important;
	margin-right: auto !important;
}

/* ---------- Fewer boxes ---------- */

.is-style-card {
	background: transparent;
	border: 0;
	border-top: 2px solid var(--m-navy);
	padding: 20px 0 0;
	height: auto;
}

.mimoto-grid.mimoto-grid {
	gap: 40px 32px;
}

.is-style-callout {
	background: transparent;
	border: 0;
	border-top: 2px solid var(--m-navy);
	padding: 24px 0 0;
}

.mimoto-section--paper .mimoto-panel {
	background: #fff;
}

/* The triad under a product: a rule, not a coral bar */
.mimoto-triad__item {
	border-top: 2px solid var(--m-navy);
	padding-top: 18px;
}

.mimoto-triad__word {
	font-size: clamp(20px, 2vw, 24px);
}

.mimoto-section--paper .mimoto-steps li,
.mimoto-section--paper .mimoto-faq .wp-block-details,
.mimoto-faq.mimoto-section--paper .wp-block-details {
	border-color: #9FA6CF;
}

@media (min-width: 782px) {
	.mimoto-head > .wp-block-column:last-child > .mimoto-more:only-child {
		text-align: right;
	}
}

.mimoto-more a {
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
}

.mimoto-more a::after {
	content: "\00a0\2192";
	display: inline-block;
	text-decoration: none;
}

/* ---------- Home: the fence ---------- */

.mimoto-fence {
	position: relative;
	overflow: hidden;
	background: var(--m-navy);
	color: #fff;
	padding-block: clamp(120px, 14vw, 200px) clamp(110px, 13vw, 180px);
}

.mimoto-fence::before {
	content: "";
	position: absolute;
	top: -48px;
	bottom: -48px;
	left: 0;
	right: 0;
	background: url("../images/fence-open.svg") 70% 100% / cover no-repeat;
	z-index: 0;
}

/* Wider than 1440: the scene keeps its size (the section's height) and stays pinned to the
   text column, with the fence running on to the right edge, so the castle and the coral arcs
   are never trimmed at the top on a big monitor. Matches the cover layout at 1440 exactly. */
@media (min-width: 1441px) {
	.mimoto-fence::before {
		left: calc((100% - 1200px) / 2 - 268px);
		background: url("../images/fence-open-wide.svg") left bottom / auto 100% no-repeat;
	}
}

/* Tablets (601 to 900): the headline sits over the castle, so the gap is not brightened there. */
@media (max-width: 900px) {
	.mimoto-fence::before {
		background-image: url("../images/fence-castle-soft.svg");
	}
}

.mimoto-fence > * {
	position: relative;
	z-index: 1;
}

.mimoto-fence > .mimoto-fence__title,
.mimoto-fence > .mimoto-fence__line {
	max-width: 620px;
	margin-left: var(--m-edge) !important;
	margin-right: auto !important;
}

.mimoto-fence__title.wp-block-heading {
	color: #fff;
	font-size: clamp(34px, 4.4vw, 60px);
	line-height: 1.06;
	letter-spacing: -0.012em;
}

.mimoto-fence__turn {
	display: inline-block;
	margin-top: 12px;
	color: var(--m-blue);
}

.mimoto-fence__line {
	margin-top: 24px !important;
	max-width: 440px !important;
	font-size: 20px;
	line-height: 1.5;
	color: var(--m-pale);
}

/* ---------- Home: the gap ---------- */

.mimoto-gap {
	background: var(--m-navy);
	color: #fff;
	padding-top: clamp(24px, 3vw, 40px);
}

.mimoto-gap h2.mimoto-gap__title {
	color: #fff;
	font-size: clamp(34px, 4.6vw, 64px);
	margin-bottom: clamp(40px, 5vw, 56px);
}

.mimoto-gap p {
	color: var(--m-pale);
	font-size: 19px;
	line-height: 1.6;
}

.mimoto-gap strong {
	color: #fff;
}

.mimoto-gap a {
	color: var(--m-blue);
}

.mimoto-gap__cols {
	gap: clamp(40px, 7vw, 96px) !important;
}

.mimoto-stat {
	border-top: 1px solid var(--m-line-dark);
	padding-top: 20px;
	margin-bottom: 32px;
}

.mimoto-stat > * + * {
	margin-top: 10px;
}

.mimoto-gap .is-style-stat {
	color: var(--m-blue);
	font-size: clamp(52px, 5.2vw, 72px);
	line-height: 1;
}

.mimoto-gap .mimoto-stat p:not(.is-style-stat) {
	font-size: 17px;
	line-height: 1.5;
}

.mimoto-gap .is-style-source,
.mimoto-gap .is-style-source a {
	color: var(--m-blue);
	font-size: 13px;
}

.mimoto-gap__era {
	margin-top: clamp(56px, 7vw, 96px) !important;
	padding-top: 48px;
	border-top: 1px solid var(--m-line-dark);
	gap: clamp(32px, 7vw, 96px) !important;
}

.mimoto-gap p.mimoto-gap__close {
	color: #fff;
	font-size: clamp(28px, 3.1vw, 44px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.01em;
}

/* ---------- Home: what Mimoto catches ---------- */

.mimoto-industries {
	margin-top: 24px !important;
	max-width: 380px;
	font-size: 17px;
	line-height: 1.6;
	color: var(--m-gray);
}

.mimoto-industries a {
	color: var(--m-navy);
	font-weight: 600;
}

.mimoto-rows {
	margin: 0;
	border-bottom: 1px solid var(--m-pale);
}

.mimoto-rows li {
	margin: 0;
	border-top: 1px solid var(--m-pale);
}

.mimoto-rows a {
	position: relative;
	display: block;
	padding: 24px 56px 24px 0;
	font-size: 17px;
	line-height: 1.5;
	color: var(--m-gray);
	text-decoration: none;
}

.mimoto-rows a strong {
	display: block;
	margin-bottom: 4px;
	font-size: clamp(20px, 1.9vw, 24px);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--m-navy);
}

.mimoto-rows a::after {
	content: "\2192";
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 24px;
	color: var(--m-navy);
	transition: transform 0.2s;
}

.mimoto-rows a:hover strong,
.mimoto-rows a:hover::after {
	color: var(--m-coral-text);
}

.mimoto-rows a:hover::after {
	transform: translate(4px, -50%);
}

/* ---------- The demo video, empty or playing ---------- */

.mimoto-demo .mimoto-video {
	margin-top: 0;
}

.mimoto-video-slot {
	background: var(--m-deep);
	border: 0;
	color: var(--m-pale);
}

.mimoto-video-slot::before {
	width: 96px;
	height: 96px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 96'%3E%3Ccircle cx='48' cy='48' r='48' fill='%23FF662E'/%3E%3Cpath d='M39 30l28 18-28 18z' fill='%23170D7D'/%3E%3C/svg%3E") no-repeat center / contain;
}

.mimoto-video-slot .is-style-label {
	color: var(--m-blue);
}

.mimoto-video-slot p,
.mimoto-video-slot .mimoto-ph {
	color: var(--m-pale);
}

.mimoto-video-slot .mimoto-ph {
	background: transparent;
	border-color: var(--m-line-dark);
}

/* ---------- Home: how it works ---------- */

.mimoto-step {
	padding: 22px 0 24px;
	border-top: 2px solid var(--m-navy);
}

.mimoto-step h3.wp-block-heading {
	margin: 0 0 8px;
	font-size: clamp(22px, 2vw, 26px);
}

.mimoto-step p {
	margin: 0;
	color: var(--m-gray);
}

.mimoto-reads-row {
	margin-top: clamp(56px, 6vw, 80px) !important;
	gap: 24px !important;
}

.mimoto-reads {
	height: 100%;
	padding: 32px 36px;
	background: var(--m-paper);
}

.mimoto-reads h3.wp-block-heading {
	margin: 0 0 14px;
	font-size: 22px;
}

.mimoto-reads ul {
	margin: 0;
}

.mimoto-reads li {
	padding: 12px 0;
	border-top: 1px solid var(--m-line);
	font-size: 18px;
}

.mimoto-reads--never {
	background: var(--m-navy);
	color: #fff;
}

.mimoto-reads--never h3.wp-block-heading {
	color: #fff;
}

.mimoto-reads--never li {
	border-top-color: var(--m-line-dark);
}

.mimoto-reads--never p {
	margin-top: 18px;
	font-size: 16px;
	line-height: 1.6;
	color: var(--m-pale);
}

.mimoto-enforce {
	margin-top: clamp(56px, 6vw, 80px) !important;
	padding-top: 40px;
	border-top: 1px solid var(--m-pale);
}

.mimoto-enforce h3.wp-block-heading {
	margin: 0;
	font-size: clamp(24px, 2.6vw, 34px);
	line-height: 1.15;
}

/* ---------- Home: the two products ---------- */

.mimoto-products {
	margin-top: clamp(36px, 4vw, 52px) !important;
	border-top: 2px solid var(--m-navy);
	gap: 0 !important;
}

.mimoto-products > .wp-block-column {
	padding: 36px 48px 8px 0;
}

.mimoto-products > .wp-block-column + .wp-block-column {
	padding-left: 48px;
	border-left: 2px solid var(--m-navy);
}

.mimoto-q {
	margin: 0 0 16px;
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.01em;
}

.mimoto-products h3.wp-block-heading {
	margin: 0 0 10px;
	font-size: 20px;
}

.mimoto-products p {
	max-width: 470px;
}

/* ---------- Insights: the papers with their covers ---------- */

.mimoto-papers {
	gap: 28px !important;
}

.mimoto-paper .wp-block-image {
	margin: 0;
}

.mimoto-paper img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	background: var(--m-paper);
}

.mimoto-paper .is-style-label {
	margin: 16px 0 6px;
	color: var(--m-coral-text);
}

.mimoto-paper h3.wp-block-heading {
	margin: 16px 0 0;
	font-size: 19px;
	line-height: 1.3;
}

.mimoto-paper h3 a {
	text-decoration: none;
}

.mimoto-paper h3 a:hover {
	text-decoration: underline;
	text-decoration-color: var(--m-coral);
}

@media (min-width: 600px) and (max-width: 1100px) {
	.mimoto-papers {
		flex-wrap: wrap !important;
	}

	.mimoto-papers > .wp-block-column {
		flex-basis: calc(50% - 14px) !important;
		flex-grow: 0;
	}
}

/* ---------- FAQ ---------- */

.mimoto-faq__cols {
	margin-top: clamp(32px, 4vw, 44px) !important;
	gap: 0 56px !important;
}

.mimoto-faq summary::after {
	font-family: inherit;
}

/* ---------- The contact section that closes every page ---------- */

.mimoto-contact {
	background: var(--m-navy);
	color: #fff;
	padding-block: var(--m-section);
}

.mimoto-contact h2.wp-block-heading {
	color: #fff;
	margin-bottom: 20px;
}

.mimoto-contact .is-style-lead {
	margin-bottom: 36px;
	color: var(--m-pale);
}

.mimoto-contact__cols {
	gap: clamp(40px, 6vw, 72px) !important;
}

.mimoto-contact__side {
	padding: clamp(28px, 3vw, 40px);
	background: var(--m-paper);
	color: var(--m-navy);
}

.mimoto-contact__side h3.wp-block-heading {
	margin: 0 0 12px;
	font-size: clamp(22px, 2.2vw, 28px);
	line-height: 1.15;
}

.mimoto-contact__next {
	margin: 28px 0 4px !important;
	font-weight: 700;
}

.mimoto-contact__side .mimoto-steps li {
	border-color: var(--m-pale);
	font-size: 16px;
	line-height: 1.5;
}

.mimoto-contact__side .mimoto-steps strong {
	display: block;
}

.mimoto-contact .mimoto-lead {
	color: #fff;
}

.mimoto-contact .mimoto-lead__field label,
.mimoto-contact .mimoto-lead__choices legend {
	color: var(--m-pale);
}

.mimoto-contact .mimoto-lead__field .mimoto-lead__choice {
	align-items: center;
	padding: 4px 0;
	font-size: 16px;
	color: #fff;
	background: transparent;
	border: 0;
}

.mimoto-contact .mimoto-lead__field .mimoto-lead__choice:has(input:checked) {
	background: transparent;
}

.mimoto-contact .mimoto-lead__field .mimoto-lead__choice input {
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--m-coral);
}

.mimoto-contact .mimoto-lead__field .mimoto-lead__choice input:focus-visible {
	outline-color: #fff;
}

.mimoto-contact .mimoto-lead__optional {
	color: #B9C2E0;
}

.mimoto-contact .mimoto-lead__field input,
.mimoto-contact .mimoto-lead__field textarea,
.mimoto-contact .mimoto-lead__field select {
	border-color: #fff;
}

.mimoto-contact .mimoto-lead__field input:focus,
.mimoto-contact .mimoto-lead__field textarea:focus,
.mimoto-contact .mimoto-lead__field select:focus {
	outline-color: var(--m-coral);
	border-color: var(--m-coral);
}

.mimoto-contact .mimoto-lead__privacy {
	color: var(--m-pale);
}

.mimoto-contact .mimoto-lead__privacy a {
	color: #fff;
}

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

.mimoto-contact .mimoto-lead__send:focus-visible {
	outline-color: #fff;
}

.mimoto-contact .mimoto-lead__status {
	color: #fff;
}

.mimoto-contact .mimoto-lead__thanks {
	color: var(--m-navy);
}

.mimoto-contact .mimoto-form-slot {
	color: #fff;
	border-color: var(--m-pale);
}

.mimoto-contact .mimoto-form-slot .is-style-label,
.mimoto-contact .mimoto-form-slot__note {
	color: var(--m-pale);
}

/* Focus lands on the section after a jump on touch screens; no ring around the whole block */
.mimoto-contact:focus {
	outline: none;
}

/* The page that follows a closing contact section needs no extra rule */
.mimoto-contact + * {
	border-top: 0;
}

/* ---------- Diagrams sit on the section color, unboxed ---------- */

.mimoto-diagram {
	background: transparent;
	border: 0;
	border-top: 2px solid var(--m-navy);
	padding: 20px 0 0;
}

.mimoto-diagram > .is-style-label {
	margin-bottom: 24px;
}

/* The live session: no ring behind it */
.mimoto-live {
	padding: 0;
}

.mimoto-live__arc {
	display: none;
}

.mimoto-live figcaption {
	font-family: inherit;
	font-size: 14px;
}

/* The real console, shown whole */
.mimoto-shot {
	aspect-ratio: auto;
	padding: 0;
	background: transparent;
	border: 0;
}

.mimoto-shot img {
	width: 100%;
	max-width: 100%;
	border: 1px solid var(--m-line);
}

.mimoto-shot__caption {
	font-size: 14px;
}

/*
 * Insights: tabs across the foot of the page header. The open tab is filled
 * with the gray-blue of the section below, so it runs straight into the page
 * it names, like a folder tab. Square corners, hairline dividers, a navy bar
 * on top of the open tab. On a phone the row scrolls sideways.
 */
.mimoto-hero:has(> .mimoto-tabs) {
	padding-bottom: 0;
}

.mimoto-hero > .mimoto-tabs {
	margin-top: clamp(40px, 5vw, 64px) !important;
	margin-bottom: 0;
}

.mimoto-tabs__list.mimoto-tabs__list {
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
}

.mimoto-tabs__list::-webkit-scrollbar {
	display: none;
}

.mimoto-tabs__list li {
	flex: none;
	margin: 0;
	padding: 0;
	border: 0;
	border-right: 1px solid var(--m-line);
}

.mimoto-tabs__list li:first-child {
	border-left: 1px solid var(--m-line);
}

.mimoto-tabs__list a {
	display: block;
	padding: 20px 26px 22px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--m-navy);
	text-decoration: none;
	white-space: nowrap;
	box-shadow: inset 0 3px 0 transparent;
	transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.mimoto-tabs__list a:hover,
.mimoto-tabs__list a:focus-visible {
	background: var(--m-paper);
	box-shadow: inset 0 3px 0 var(--m-blue);
	text-decoration: none;
}

.mimoto-tabs__list a[aria-current="page"] {
	background: var(--m-pale);
	box-shadow: inset 0 3px 0 var(--m-navy);
	font-weight: 700;
	pointer-events: none;
}

@media (max-width: 781px) {
	/* The row runs edge to edge and scrolls sideways; the cut-off tab says there is more */
	.mimoto-hero > .mimoto-tabs {
		margin-left: calc(-1 * var(--wp--style--root--padding-left, 16px)) !important;
		margin-right: calc(-1 * var(--wp--style--root--padding-right, 16px)) !important;
		max-width: none !important;
	}

	.mimoto-tabs__list.mimoto-tabs__list {
		padding-left: var(--wp--style--root--padding-left, 16px);
		padding-right: var(--wp--style--root--padding-right, 16px);
	}

	.mimoto-tabs__list a {
		padding: 16px 20px 18px;
		font-size: 15px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mimoto-tabs__list a {
		transition: none;
	}
}

.mimoto-live .mimoto-diagram__caption,
.mimoto-diagram__caption {
	font-family: inherit;
	font-size: 14px;
	color: var(--m-gray);
}

.mimoto-live .mimoto-diagram__caption {
	margin-top: 12px;
}

/* ---------- Footer ---------- */

.site-footer {
	background: var(--m-deep);
	color: #fff;
	border-top: 0;
	padding-block: 80px 40px;
}

.site-footer .site-wordmark img {
	filter: brightness(0) invert(1);
}

.site-footer .site-footer__line {
	color: var(--m-pale);
}

.site-footer .is-style-label {
	color: var(--m-blue);
	font-size: 15px;
	font-weight: 700;
}

.site-footer .is-style-plain a {
	color: #fff;
}

.site-footer .is-style-plain a:hover {
	color: var(--m-blue);
	text-decoration: none;
}

.site-footer__base {
	border-top-color: #2B3557;
	color: var(--m-pale);
	font-size: 14px;
}

.site-footer__base a {
	color: var(--m-pale);
}

.site-footer .wp-block-button__link[href*="contact"]:hover,
.site-footer .wp-block-button__link[href*="contact"]:focus-visible {
	background: #fff !important;
	border-color: #fff !important;
	color: var(--m-navy) !important;
}

/* Mimoto's numbers: a row under the headline, the way security buyers expect
 * to see them. Set in Appearance > Mimoto setup > Numbers and trust. */
.mimoto-facts {
	margin-top: clamp(40px, 5vw, 64px) !important;
}

.mimoto-facts__list.mimoto-facts__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 0 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mimoto-facts__item {
	margin: 0;
	padding: 16px 0 20px;
	border: 0;
	border-top: 2px solid var(--m-navy);
}

.mimoto-facts__n {
	display: block;
	font-family: var(--m-display);
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.01em;
	color: var(--m-navy);
}

.mimoto-facts__line {
	display: block;
	margin-top: 8px;
	font-size: 15px;
	line-height: 1.4;
	color: var(--m-gray);
}

.mimoto-facts__item.is-placeholder .mimoto-facts__n {
	display: inline-block;
	padding: 0 8px;
	border: 1px dashed var(--m-navy);
	font-size: clamp(22px, 2.4vw, 30px);
	color: var(--m-gray);
}

.mimoto-facts__note {
	margin: 4px 0 0;
	font-size: 13px;
	color: var(--m-gray);
}

/* The trust line in the footer, on its own line under the copyright and links */
.site-footer__base > .mimoto-trust {
	order: 3;
	flex-basis: 100%;
}

.mimoto-trust.mimoto-trust {
	margin: 0;
	font-size: 14px;
	color: var(--m-pale);
}

.mimoto-trust__label {
	font-weight: 600;
}

.mimoto-trust a {
	color: var(--m-pale);
}

.site-footer .mimoto-trust .mimoto-ph {
	display: inline;
	margin: 0;
	padding: 2px 6px;
	font-size: 13px;
	color: #fff;
	background: transparent;
	border: 1px dashed var(--m-pale);
}

/* Threat pages open on a moment in a session, read like the live session log.
 * The line Mimoto catches is in coral and arrives a beat after the login. */
.mimoto-log.mimoto-log {
	margin: 0 0 26px;
	padding: 2px 0 2px 16px;
	list-style: none;
	border-left: 2px solid var(--m-navy);
	font-size: 16px;
	line-height: 1.45;
}

.mimoto-log li {
	margin: 0;
	padding: 3px 0;
	border: 0;
	color: var(--m-navy);
}

.mimoto-log strong {
	display: inline-block;
	min-width: 3.4em;
	font-weight: 600;
	color: var(--m-gray);
	font-feature-settings: "tnum", "cv11", "cv05", "ss01";
}

.mimoto-log li.is-caught,
.mimoto-log li.is-caught strong {
	color: var(--m-coral-text);
	font-weight: 600;
}

@media (prefers-reduced-motion: no-preference) {
	.mimoto-log li.is-caught {
		animation: m-caught 0.5s ease-out 0.9s both;
	}
}

@keyframes m-caught {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/* ---------- Motion: only where it means something ----------
 * Sections no longer slide up as they arrive; that is a template habit. What
 * moves is what tells the story: the fence drifts behind the home page
 * headline, and the diagrams play (the live session's line drops when
 * someone else takes over, the dial turns, the signals run).
 */

@supports (animation-timeline: view()) {
	.wp-site-blocks .mimoto-fence::before {
		animation: m-drift linear both;
		animation-timeline: view();
	}
}

@keyframes m-drift {
	from {
		transform: translateY(-40px);
	}

	to {
		transform: translateY(40px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.wp-site-blocks .mimoto-fence::before {
		animation: none;
	}
}

/* ---------- Smaller screens ---------- */

@media (max-width: 781px) {
	.mimoto-products > .wp-block-column,
	.mimoto-products > .wp-block-column + .wp-block-column {
		padding: 32px 0 8px;
		border-left: 0;
	}

	.mimoto-products > .wp-block-column + .wp-block-column {
		border-top: 2px solid var(--m-navy);
	}

	.mimoto-fence {
		padding-block: 72px 96px;
	}

	.mimoto-fence::before {
		background-position: 74% 100%;
		opacity: 0.8;
	}

	.mimoto-fence__line {
		font-size: 18px;
	}

	.mimoto-reads {
		padding: 28px 24px;
	}

	.mimoto-rows a {
		padding-right: 40px;
	}

	.mimoto-faq__cols > .wp-block-column + .wp-block-column .wp-block-details:first-child {
		border-top: 0;
	}

	.mimoto-papers {
		flex-wrap: wrap !important;
	}

	.mimoto-papers > .wp-block-column {
		flex-basis: calc(50% - 14px) !important;
		flex-grow: 0;
	}
}

/* =====================================================================
 * 0.10.0
 * ===================================================================== */

/* Integrations: the two ways Mimoto enforces, summed up in the header */
.mimoto-hero .mimoto-hero__points {
	max-width: 38em;
	margin-top: 22px;
	font-size: 17px;
	line-height: 1.5;
}

.mimoto-hero .mimoto-hero__points li {
	padding: 12px 0;
}

/* Solutions menu: the same hover as the other menus, the heading turns coral (0.10.54, Kris: no box) */
@media (min-width: 600px) {
	.site-nav .nav-mega > .wp-block-navigation__submenu-container > li:not(.nav-label) > .wp-block-navigation-item__content:hover,
	.site-nav .nav-mega > .wp-block-navigation__submenu-container > li:not(.nav-label) > .wp-block-navigation-item__content:focus-visible {
		background: transparent !important;
	}
}

/* A hero picture with a line under it (For CISOs) */
.mimoto-hero-figure .mimoto-diagram__caption {
	margin-top: 12px;
	max-width: 34em;
}

/* Try it yourself: one clear next step */
.mimoto-try__cta {
	margin-top: 20px;
}

/* ---------- White Papers: covers, four across, with a Download button ---------- */

.mimoto-rlist.is-look-covers {
	gap: 48px 28px;
}

.mimoto-pcover {
	display: flex;
	flex-direction: column;
	aspect-ratio: 3 / 4;
	background: var(--m-navy);
	color: #fff;
	text-decoration: none;
	box-shadow: 10px 10px 0 var(--m-pale);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.mimoto-pcover:hover,
.mimoto-pcover:focus-visible {
	transform: translate(-3px, -3px);
	box-shadow: 13px 13px 0 var(--m-blue);
	text-decoration: none;
}

.mimoto-pcover__art img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: 50% 62%;
}

.mimoto-pcover__text {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 16px 18px 18px;
}

.mimoto-pcover__kicker {
	font-size: 12px;
	font-weight: 600;
	color: var(--m-blue);
}

.mimoto-pcover__title {
	margin-top: 8px;
	font-family: var(--m-display);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.01em;
	text-wrap: balance;
	color: #fff;
}

.is-look-covers .mimoto-rlist__summary {
	margin-top: 22px !important;
}

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

.mimoto-pcover__download.wp-element-button {
	padding: 11px 22px;
	font-size: 15px;
}

.mimoto-pcover__download.wp-element-button::before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-right: 8px;
	vertical-align: -1px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7 1h2v8.2l2.8-2.8 1.4 1.4L8 13 2.8 7.8l1.4-1.4L7 9.2zM2 14h12v2H2z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7 1h2v8.2l2.8-2.8 1.4 1.4L8 13 2.8 7.8l1.4-1.4L7 9.2zM2 14h12v2H2z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.mimoto-pcover__read {
	font-size: 15px;
	font-weight: 600;
	color: var(--m-navy);
}

/* How to add one: only people logged in see it */
.mimoto-rlist__hint {
	margin: 28px 0 0;
	padding: 12px 16px;
	border: 1px dashed var(--m-navy);
	font-size: 14px;
	color: var(--m-navy);
	background: #fff;
}

/* ---------- Videos: thumbnails that play in a box ---------- */

.mimoto-vthumb {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	overflow: hidden;
	background: var(--m-navy);
	cursor: pointer;
	font: inherit;
	color: inherit;
}

.mimoto-vthumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.25s ease;
}

.mimoto-vthumb__play {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 68px;
	height: 68px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: var(--m-coral) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6.5l9 5.5-9 5.5z' fill='%23170D7D'/%3E%3C/svg%3E") 55% 50% / 34px no-repeat;
	box-shadow: 0 6px 18px rgba(11, 21, 51, 0.25);
	transition: transform 0.15s ease;
}

.mimoto-vthumb:hover img,
.mimoto-vthumb:focus-visible img {
	transform: scale(1.03);
}

.mimoto-vthumb:hover .mimoto-vthumb__play,
.mimoto-vthumb:focus-visible .mimoto-vthumb__play {
	transform: translate(-50%, -50%) scale(1.08);
}

.mimoto-vthumb__len {
	position: absolute;
	right: 10px;
	bottom: 10px;
	padding: 3px 7px;
	background: rgba(11, 21, 51, 0.85);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
}

.mimoto-vbox {
	width: min(1100px, calc(100vw - 32px));
	max-width: none;
	padding: 0;
	border: 0;
	background: transparent;
}

.mimoto-vbox::backdrop {
	background: rgba(11, 21, 51, 0.82);
}

.mimoto-vbox__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 12px;
}

.mimoto-vbox__title {
	margin: 0;
	font-size: 17px;
	font-weight: 600;
	color: #fff;
}

.mimoto-vbox__close {
	padding: 8px 14px;
	border: 1px solid #fff;
	background: transparent;
	color: #fff;
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

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

.mimoto-vbox__frame {
	aspect-ratio: 16 / 9;
	background: #000;
}

.mimoto-vbox__frame iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ---------- Events: picture cards, and the facts on each event page ---------- */

.mimoto-elist__pic.mimoto-rlist__pic {
	background: var(--m-paper);
}

.mimoto-elist__pic img {
	object-position: 50% 70%;
}

.mimoto-elist__date {
	position: absolute;
	left: 12px;
	top: 12px;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 54px;
	padding: 6px 8px 7px;
	background: var(--m-navy);
	color: #fff;
	line-height: 1;
}

.mimoto-elist__date span {
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--m-blue);
}

.mimoto-elist__date strong {
	margin-top: 4px;
	font-family: var(--m-display);
	font-size: 24px;
	font-weight: 700;
}

.mimoto-elist__item.is-past .mimoto-elist__date {
	background: var(--m-gray);
}

.mimoto-elist__meta.mimoto-elist__meta {
	font-size: 13px;
	font-weight: 600;
	color: var(--m-coral-text);
}

.mimoto-elist__when.mimoto-elist__when {
	margin-top: 6px !important;
	font-size: 15px;
	font-weight: 600;
	color: var(--m-navy);
}

.mimoto-elist__go.mimoto-elist__go {
	margin-top: 12px !important;
	font-size: 15px;
	font-weight: 600;
}

.mimoto-elist__empty {
	margin: 0;
	font-size: 17px;
	color: var(--m-navy);
}

.mimoto-event-facts-wrap .mimoto-event-facts.mimoto-event-facts {
	grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
}

.mimoto-event-facts-wrap .mimoto-event-facts__value.is-placeholder {
	font-weight: 600;
	font-size: 17px;
	border: 1px dashed var(--m-navy);
	padding: 4px 8px;
}

.mimoto-event-facts__cta.mimoto-event-facts__cta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.mimoto-event-facts__site {
	font-size: 14px;
	font-weight: 600;
	color: var(--m-navy);
}

.mimoto-event-facts__past {
	margin: 0;
	max-width: 16em;
	font-size: 15px;
	color: var(--m-navy);
}

.mimoto-event-facts__note.mimoto-ph {
	margin-top: 24px;
}

@media (max-width: 1080px) {
	.mimoto-event-facts-wrap .mimoto-event-facts.mimoto-event-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mimoto-event-facts-wrap .mimoto-event-facts__cta {
		grid-column: 1 / -1;
	}
}

@media (max-width: 600px) {
	.mimoto-event-facts-wrap .mimoto-event-facts.mimoto-event-facts {
		grid-template-columns: 1fr;
	}
}

/* ---------- Insights: Follow Mimoto, at the end of the tabs ---------- */

.mimoto-hero > .mimoto-tabs {
	display: flex;
	align-items: center;
	gap: 0 28px;
}

.mimoto-tabs > .mimoto-tabs__list {
	flex: 1 1 auto;
	min-width: 0;
	align-self: stretch;
}

.mimoto-follow {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: none;
	margin: 0 !important;
}

.mimoto-follow__label {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--m-gray);
	white-space: nowrap;
}

.mimoto-follow .wp-block-social-links {
	gap: 10px;
	margin: 0;
	padding: 0;
}

.mimoto-follow .wp-social-link {
	color: var(--m-navy);
}

.mimoto-follow .wp-block-social-links .wp-social-link a {
	padding: 4px;
}

.mimoto-follow .wp-block-social-links .wp-social-link svg {
	width: 26px;
	height: 26px;
}

.mimoto-follow .wp-social-link:hover {
	transform: none;
	color: var(--m-coral-text) !important;
}

.mimoto-follow.is-empty .mimoto-ph {
	max-width: 260px;
	margin: 0;
	font-size: 12px;
}

/* 0.10.76 (QA): on tablets too, Follow Mimoto sits above the tabs, so all seven tabs keep the full width
 * (at iPad widths it covered the last tabs). */
@media (max-width: 1180px) {
	.mimoto-hero > .mimoto-tabs {
		flex-direction: column;
		align-items: stretch;
	}

	.mimoto-tabs > .mimoto-follow {
		order: -1;
		margin: 0 0 18px !important;
	}
}

@media (max-width: 781px) {
	.mimoto-tabs > .mimoto-follow {
		padding-left: var(--wp--style--root--padding-left, 16px);
	}
}

/* ---------- Privacy by Design: certifications ---------- */

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

.mimoto-certs__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	box-sizing: border-box;
	width: 200px;
	min-height: 170px;
	padding: 20px;
	border: 2px solid var(--m-navy);
	background: #fff;
	text-align: center;
	font-family: var(--m-display);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--m-navy);
}

/* A logo tile: the badge, with the name small under it */
.mimoto-certs__badge {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 96px;
}

.mimoto-certs__logo {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 96px;
	object-fit: contain;
}

.mimoto-certs__item.has-logo .mimoto-certs__name {
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	color: var(--m-gray);
}

.mimoto-certs__item.is-placeholder {
	border-style: dashed;
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
}

.mimoto-certs__item.is-placeholder .mimoto-certs__badge {
	box-sizing: border-box;
	width: 96px;
	border: 2px dashed var(--m-line);
	font-size: 14px;
	color: var(--m-gray);
}

@media (max-width: 600px) {
	.mimoto-certs__list {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}

	.mimoto-certs__item {
		width: auto;
		min-height: 150px;
		padding: 16px 12px;
	}

	.mimoto-certs__badge {
		height: 80px;
	}

	.mimoto-certs__logo {
		max-height: 80px;
	}
}

.mimoto-certs__hint {
	margin: 12px 0 0;
	font-size: 13px;
	color: var(--m-gray);
}

.mimoto-certs__trust {
	margin: 24px 0 0;
	font-size: 17px;
	color: var(--m-navy);
}

.mimoto-certs__trust a {
	margin-left: 6px;
	font-weight: 600;
}

/* ---------- About: why, now, and the founders ---------- */

.mimoto-about__why .mimoto-equation {
	font-size: clamp(34px, 4.2vw, 56px);
}

.mimoto-about__now.wp-block-heading {
	margin-top: 32px;
	font-size: 22px;
}

.mimoto-founders__cols.wp-block-columns {
	gap: clamp(32px, 5vw, 72px);
	margin-top: 32px;
}

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

.mimoto-founder__photo.wp-block-image img {
	width: 96px !important;
	height: 96px;
	border-radius: 50%;
	object-fit: cover;
}

.mimoto-founder__quote.mimoto-founder__quote {
	margin-top: 20px;
	padding-left: 18px;
	border-left: 4px solid var(--m-coral);
	font-size: 19px;
	line-height: 1.5;
	color: var(--m-navy);
}

.mimoto-founder__name.mimoto-founder__name {
	margin-top: 16px;
	font-size: 15px;
	color: var(--m-gray);
}

.mimoto-founder__name strong {
	color: var(--m-navy);
}

/* ---------- Meet the Team: leadership, then the team ---------- */

.mimoto-team__group.wp-block-heading {
	margin: 0 0 28px;
	font-size: clamp(24px, 2.4vw, 30px);
}

.mimoto-team + .mimoto-team__group.wp-block-heading {
	margin-top: clamp(56px, 6vw, 80px);
}

.mimoto-team__in.mimoto-team__in {
	margin-top: 8px;
	font-size: 15px;
	font-weight: 600;
}

/* Covers: the Download buttons line up across a row */
.mimoto-pcover-item {
	display: flex;
	flex-direction: column;
}

.mimoto-pcover-item .mimoto-pcover__actions {
	margin-top: auto !important;
	padding-top: 16px;
}

/* The demo page: Ian's thumbnail until the Vimeo link is in */
.mimoto-res__art.has-thumb img {
	object-fit: cover;
	object-position: 50% 50%;
}

/* Buttons outside a Buttons block keep their own height */
.mimoto-pcover__download.wp-block-button__link,
.mimoto-event-facts__cta .wp-block-button__link {
	height: auto;
}

.is-look-covers + .mimoto-more,
.mimoto-rlist + .mimoto-more {
	margin-top: 40px !important;
}

@media (max-width: 600px) {
	/* On a phone a cover reads as a document, not a full-width block */
	.is-look-covers .mimoto-pcover {
		max-width: 300px;
	}
}

/* Phones: the castle sits below the headline instead of behind it, at full strength, with the
   brighter gap and both coral arcs (Ian, October 9: on a phone it looked faded and the gap was lost
   behind the words). The band is about as tall as the screen is wide. */
@media (max-width: 600px) {
	.wp-site-blocks .mimoto-fence {
		padding-bottom: calc(min(91vw, 380px) + 24px);
	}

	.wp-site-blocks .mimoto-fence::before {
		top: auto;
		bottom: 0;
		height: min(91vw, 380px);
		opacity: 1;
		animation: none;
		background: url("../images/fence-open.svg") right bottom / calc(min(91vw, 380px) * 2) min(91vw, 380px) no-repeat;
	}
}

/* 0.10.3: industry icons (Solutions by Industry) */
.ic-bank::before {
	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='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9.5L12 4l9 5.5z'/%3E%3Cpath d='M5.5 12v6M10 12v6M14 12v6M18.5 12v6M3 20.5h18'/%3E%3C/svg%3E") !important;
}

.ic-cloud::before {
	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='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.5 18.5a4.5 4.5 0 0 1-.7-8.95a5.5 5.5 0 0 1 10.6-.3a4.65 4.65 0 0 1-.4 9.25z'/%3E%3Cpath d='M10.2 11.6l-1.8 2.2l1.8 2.2M13.8 11.6l1.8 2.2l-1.8 2.2'/%3E%3C/svg%3E") !important;
}

.ic-health::before {
	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='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-8-4.7-8-10.4A4.4 4.4 0 0 1 12 7a4.4 4.4 0 0 1 8 2.6C20 15.3 12 20 12 20z'/%3E%3Cpath d='M6.5 12.5h3l1.5-3l2 5l1.5-2h3'/%3E%3C/svg%3E") !important;
}

.ic-pylon::before {
	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='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 21.5L11 4h2l1.5 17.5M3.5 7.5h17M6 12.5h12M3.5 7.5v2.5M20.5 7.5v2.5M6 12.5v2.5M18 12.5v2.5M10.6 9l2.8 4M13.4 9l-2.8 4M10.1 16l3.8 5M13.9 16l-3.8 5'/%3E%3C/svg%3E") !important;
}

.ic-capitol::before {
	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='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 20.5h17M5.5 20.5v-6.5h13v6.5M9 14v6.5M12 14v6.5M15 14v6.5M4.5 14h15M7 11.5h10a5 5 0 0 0-10 0z'/%3E%3Cpath d='M12 6.5v-4h3v1.5h-3'/%3E%3C/svg%3E") !important;
}

/* 0.10.3: Follow us on, in the footer under the button (Ian, October 9: that is where people look
   for them). White icons on the dark footer. They show once the links are in Mimoto setup >
   Company profiles. */
.site-footer .mimoto-follow.site-footer__follow {
	flex-wrap: wrap;
	margin: 32px 0 0 !important;
}

.mimoto-follow.is-light .mimoto-follow__label {
	font-size: 15px;
	color: var(--m-pale);
}

.mimoto-follow.is-light .wp-block-social-links {
	gap: 14px;
}

.mimoto-follow.is-light .wp-social-link:hover,
.mimoto-follow.is-light .wp-social-link:focus-within {
	color: var(--m-blue) !important;
}

.mimoto-follow.is-light.is-empty .mimoto-ph {
	max-width: 240px;
	color: #fff;
	background: transparent;
	border-color: var(--m-pale);
}

/* ---------- 0.10.5: the blog ---------- */

/* Cards with a picture (blog cards): the picture leads, with no rule above it */
.is-style-card:has(> .mimoto-card-pic) {
	border-top: 0;
	padding-top: 0;
}

.is-style-card .mimoto-card-pic {
	margin: 0 0 16px;
}

.wp-block-post-template.mimoto-post-grid {
	gap: 48px 32px !important;
}

/* Blog posts show no dates: the card is labeled with its category */
.wp-block-post-terms.is-style-label {
	margin: 0 0 6px;
}

.wp-block-post-terms.is-style-label a {
	font-weight: 600;
	color: var(--m-coral-text);
	text-decoration: none;
}

.wp-block-post-terms.is-style-label a:hover {
	text-decoration: underline;
}

/* A post's text lines up with its title and cover */
.mimoto-post .wp-block-post-content > * {
	max-width: 100% !important;
}

.mimoto-post .wp-block-post-content h2 {
	font-size: clamp(26px, 3vw, 32px);
	line-height: 1.2;
}

.mimoto-post .wp-block-post-content > .is-style-lead {
	margin-top: 0;
}

.mimoto-takeaways.mimoto-takeaways {
	margin-top: 36px;
	margin-bottom: 8px;
}

.mimoto-post-faq,
.mimoto-post-related,
.mimoto-post-sources {
	margin-top: 56px !important;
}

.mimoto-post-faq summary {
	font-size: 18px;
}

.mimoto-post-faq .mimoto-faq__list > * {
	max-width: none;
}

.mimoto-post-links li {
	margin: 0 0 8px;
}

/* Tables in posts: a plain grid of rules, scrolling sideways on a phone */
.mimoto-table.wp-block-table {
	overflow-x: auto;
	margin-block: 28px;
}

.mimoto-table.wp-block-table table {
	table-layout: auto;
	width: 100%;
	min-width: 560px;
	border-collapse: collapse;
	font-size: 15px;
	line-height: 1.45;
}

.mimoto-table.wp-block-table th,
.mimoto-table.wp-block-table td {
	padding: 12px 16px 12px 0;
	border: 0;
	border-bottom: 1px solid var(--m-pale);
	text-align: left;
	vertical-align: top;
}

.mimoto-table.wp-block-table thead {
	border-bottom: 0;
}

.mimoto-table.wp-block-table thead th {
	border-bottom: 2px solid var(--m-navy);
	font-weight: 700;
	color: var(--m-navy);
}

.mimoto-table.wp-block-table tbody td:first-child {
	width: 22%;
	font-weight: 600;
	color: var(--m-navy);
}

/* Mimoto as the author */
.mimoto-author--brand .wp-block-post-author__avatar img {
	border-radius: 0;
}

.mimoto-author .wp-block-post-author__bio {
	font-size: 15px;
	line-height: 1.55;
}

/* ---------- 0.10.8: white papers to read on the page ---------- */

/* The paper beside its contents. The contents stay in view while reading. */
.mimoto-paper-section .mimoto-intro {
	margin-bottom: 40px;
}

.wp-block-columns.mimoto-paper-read {
	gap: clamp(32px, 5vw, 80px);
	align-items: flex-start;
	margin: 0;
}

.mimoto-paper-read__side {
	position: sticky;
	top: 112px;
	align-self: flex-start;
}

.admin-bar .mimoto-paper-read__side {
	top: 144px;
}

.mimoto-paper-read__main {
	min-width: 0;
}

.mimoto-ptoc {
	font-size: 15px;
	line-height: 1.35;
}

/* A long contents list scrolls inside itself, so the Download button stays in reach */
@media (min-width: 782px) {
	.mimoto-ptoc {
		max-height: calc(100vh - 136px);
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: thin;
		padding-left: 10px;
		margin-left: -10px;
	}

	.admin-bar .mimoto-ptoc {
		max-height: calc(100vh - 168px);
	}
}

.mimoto-ptoc__label {
	margin: 0 0 12px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--m-coral-text);
}

.mimoto-ptoc__list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 2px solid var(--m-navy);
}

.mimoto-ptoc__item {
	margin: 0;
	border-bottom: 1px solid var(--m-line);
}

.mimoto-ptoc__item a {
	display: grid;
	grid-template-columns: 30px 1fr;
	gap: 4px;
	padding: 8px 0 8px 10px;
	margin-left: -10px;
	color: var(--m-navy);
	text-decoration: none;
	border-left: 3px solid transparent;
}

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

.mimoto-ptoc__item a[aria-current] {
	border-left-color: var(--m-coral);
	font-weight: 600;
}

.mimoto-ptoc__n {
	font-weight: 700;
	color: var(--m-coral-text);
	font-variant-numeric: tabular-nums;
}

.mimoto-ptoc__download {
	margin-top: 24px;
}

.mimoto-ptoc__download .wp-block-button__link {
	display: inline-block;
}

.mimoto-ptoc__facts {
	margin: 10px 0 0;
	font-size: 14px;
	color: var(--m-gray);
}

/* The paper's text: a comfortable line length, numbered sections */
.mimoto-paper-body {
	max-width: 760px;
	counter-reset: mimoto-psec;
	font-size: 18px;
	line-height: 1.65;
}

.mimoto-paper-body > * {
	margin-block: 0 22px;
}

.mimoto-paper-body h2.wp-block-heading {
	position: relative;
	margin: 72px 0 24px;
	padding-top: 22px;
	border-top: 2px solid var(--m-navy);
	font-size: clamp(28px, 3vw, 38px);
	line-height: 1.12;
	scroll-margin-top: 112px;
}

.mimoto-paper-body > h2.wp-block-heading:first-child {
	margin-top: 0;
}

.mimoto-paper-body h2.wp-block-heading:not(.is-unnumbered)::before {
	counter-increment: mimoto-psec;
	content: counter(mimoto-psec, decimal-leading-zero);
	display: block;
	margin-bottom: 10px;
	font-family: var(--wp--preset--font-family--inter, Inter, sans-serif);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--m-coral-text);
}

.mimoto-paper-body h3.wp-block-heading {
	margin: 40px 0 12px;
	font-size: 22px;
	line-height: 1.25;
	color: var(--m-navy);
}

.mimoto-paper-body h2.wp-block-heading + h3.wp-block-heading {
	margin-top: 8px;
}

.mimoto-paper-body .mimoto-paper-lead {
	font-size: 21px;
	line-height: 1.55;
	color: var(--m-navy);
}

.mimoto-paper-body ul.wp-block-list,
.mimoto-paper-body ol.wp-block-list {
	padding-left: 1.2em;
}

.mimoto-paper-body li {
	margin-bottom: 8px;
}

.mimoto-paper-body li::marker {
	color: var(--m-coral-text);
}

/* Pull quotes and callouts */
.mimoto-paper-body .wp-block-quote.mimoto-paper-pull {
	margin: 44px 0;
	padding: 18px 0 0;
	border: 0;
	border-top: 4px solid var(--m-coral);
	max-width: 620px;
}

.mimoto-paper-body .mimoto-paper-pull p {
	margin: 0;
	font-family: var(--m-display);
	font-size: clamp(24px, 2.6vw, 30px);
	font-weight: 600;
	line-height: 1.25;
	color: var(--m-navy);
}

.mimoto-paper-callout {
	padding: 22px 26px;
	background: var(--m-paper);
	border-left: 4px solid var(--m-navy);
}

.mimoto-section--paper .mimoto-paper-callout {
	background: #fff;
}

.mimoto-paper-callout p {
	margin: 0;
	font-weight: 600;
	color: var(--m-navy);
}

/* Terms with their meaning */
.mimoto-paper-defs {
	display: grid;
	gap: 14px;
}

.mimoto-paper-defs > p {
	margin: 0;
	padding-left: 18px;
	border-left: 3px solid var(--m-blue);
}

.mimoto-paper-defs strong {
	color: var(--m-navy);
}

/* Numbers */
.mimoto-pstats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px 24px;
	margin-block: 36px !important;
}

.mimoto-pstats.n3,
.mimoto-pstats.n6 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mimoto-pstat {
	padding-top: 14px;
	border-top: 2px solid var(--m-navy);
}

.mimoto-pstat p {
	margin: 0;
	font-size: 15px;
	line-height: 1.4;
}

.mimoto-pstat p.mimoto-pstat__value {
	margin-bottom: 6px;
	font-family: var(--m-display);
	font-size: clamp(30px, 3vw, 38px);
	font-weight: 700;
	line-height: 1;
	color: var(--m-navy);
}

.mimoto-pstat p.mimoto-pstat__source {
	margin-top: 8px;
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--m-gray);
}

/* Figures: drawn with blocks, on a pale panel */
.mimoto-pfig {
	margin-block: 40px !important;
	padding: clamp(20px, 3vw, 32px);
	background: var(--m-paper);
	font-size: 15px;
	line-height: 1.45;
}

.mimoto-section--paper .mimoto-pfig {
	background: #fff;
}

.mimoto-pfig p {
	margin: 0;
}

.mimoto-pfig p.mimoto-pfig__label {
	margin-bottom: 6px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--m-coral-text);
}

.mimoto-pfig p.mimoto-pfig__title {
	font-family: var(--m-display);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--m-navy);
}

.mimoto-pfig p.mimoto-pfig__sub {
	margin-top: 6px;
	color: var(--m-gray);
}

.mimoto-pfig > .wp-block-group:not(:first-child),
.mimoto-pfig > .wp-block-list:not(:first-child),
.mimoto-pfig > .mimoto-pstats:not(:first-child) {
	margin-top: 22px !important;
}

.mimoto-pfig p.mimoto-pfig__cap,
.mimoto-pfig p.mimoto-pfig__source {
	margin-top: 18px;
	font-size: 13px;
	color: var(--m-gray);
}

.mimoto-pfig p.mimoto-pfig__note {
	margin-top: 18px;
	padding: 14px 18px;
	background: var(--m-navy);
	color: #fff;
}

.mimoto-pfig .mimoto-pstats {
	margin-block: 0 !important;
}

.mimoto-pfig p.mimoto-pfig__name {
	font-weight: 700;
	color: var(--m-navy);
}

.mimoto-pfig p.mimoto-pfig__kicker {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--m-gray);
}

/* Numbered chips */
.mimoto-pfig ol.mimoto-pfig__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
	counter-reset: mimoto-chip;
}

.mimoto-pfig ol.mimoto-pfig__chips li {
	margin: 0;
	padding: 8px 14px;
	background: #fff;
	border: 1px solid var(--m-line);
	font-weight: 600;
	color: var(--m-navy);
	counter-increment: mimoto-chip;
}

.mimoto-section--paper .mimoto-pfig ol.mimoto-pfig__chips li {
	background: var(--m-paper);
}

.mimoto-pfig ol.mimoto-pfig__chips li::before {
	content: counter(mimoto-chip);
	display: inline-block;
	min-width: 22px;
	margin-right: 8px;
	padding: 1px 0;
	background: var(--m-navy);
	color: #fff;
	text-align: center;
	font-size: 13px;
}

/* From one state to the next */
.mimoto-pfig__shift {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.mimoto-pfig__shift p {
	padding: 12px 18px;
	font-weight: 700;
}

.mimoto-pfig__shift p.mimoto-pfig__from {
	background: #fff;
	border: 1px solid var(--m-line);
	color: var(--m-navy);
}

.mimoto-pfig__shift p.mimoto-pfig__to {
	position: relative;
	margin-left: 44px;
	background: var(--m-navy);
	color: #fff;
}

.mimoto-pfig__shift p.mimoto-pfig__to::before {
	content: "";
	position: absolute;
	right: calc(100% + 12px);
	top: 50%;
	width: 34px;
	height: 2px;
	background: var(--m-coral);
}

.mimoto-pfig__shift p.mimoto-pfig__to::after {
	content: "";
	position: absolute;
	right: calc(100% + 4px);
	top: calc(50% - 6px);
	border: 6px solid transparent;
	border-left: 8px solid var(--m-coral);
	border-right: 0;
}

/* Side-by-side columns, steps and cards */
.mimoto-pfig__cols,
.mimoto-pfig__steps,
.mimoto-pfig__cards {
	display: grid;
	gap: 14px;
}

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

.mimoto-pfig__steps,
.mimoto-pfig__cards {
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	counter-reset: mimoto-step;
}

.mimoto-pfig__steps.n3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Four or more steps read down the page, one row each, so the words have room */
.mimoto-pfig__steps:not(.n2):not(.n3) {
	grid-template-columns: 1fr;
	gap: 8px;
}

.mimoto-pfig__steps:not(.n2):not(.n3) .mimoto-pfig__step {
	display: grid;
	grid-template-columns: 40px 1fr;
	column-gap: 12px;
	align-items: start;
	padding: 14px 18px;
}

.mimoto-pfig__steps:not(.n2):not(.n3) .mimoto-pfig__step::before {
	grid-row: 1 / span 2;
	margin: 0;
}

.mimoto-pfig__steps:not(.n2):not(.n3) .mimoto-pfig__step > * {
	grid-column: 2;
}

.mimoto-pfig__steps:not(.n2):not(.n3) .mimoto-pfig__step > * + * {
	margin-top: 2px !important;
}

.mimoto-pfig__col,
.mimoto-pfig__step,
.mimoto-pfig__card {
	padding: 18px;
	background: #fff;
	border: 1px solid var(--m-line);
}

.mimoto-section--paper .mimoto-pfig__col,
.mimoto-section--paper .mimoto-pfig__step,
.mimoto-section--paper .mimoto-pfig__card {
	background: var(--m-paper);
}

.mimoto-pfig__col > * + *,
.mimoto-pfig__step > * + *,
.mimoto-pfig__card > * + * {
	margin-top: 6px !important;
}

.mimoto-pfig__col ul.wp-block-list {
	margin: 12px 0 0;
	padding-left: 1.1em;
}

.mimoto-pfig__col li {
	margin-bottom: 6px;
}

.mimoto-pfig__step {
	counter-increment: mimoto-step;
}

.mimoto-pfig__step::before {
	content: counter(mimoto-step);
	display: block;
	margin-bottom: 8px;
	font-family: var(--m-display);
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
	color: var(--m-coral-text);
}

.mimoto-pfig .is-dark {
	background: var(--m-navy) !important;
	border-color: var(--m-navy);
	color: #fff;
}

.mimoto-pfig .is-dark p,
.mimoto-pfig .is-dark p.mimoto-pfig__name,
.mimoto-pfig .is-dark p.mimoto-pfig__kicker,
.mimoto-pfig .is-dark::before,
.mimoto-pfig .is-dark li::marker {
	color: #fff;
}

.mimoto-pfig .is-dark p.mimoto-pfig__kicker {
	color: var(--m-blue);
}

/* The stack: rows of tools, Mimoto's row picked out */
.mimoto-pfig__stack {
	display: grid;
	gap: 8px;
}

.mimoto-pfig__row {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 14px;
	align-items: center;
	padding: 12px 14px;
	background: #fff;
	border: 1px solid var(--m-line);
}

.mimoto-pfig__row.is-inner {
	margin-left: 24px;
}

.mimoto-pfig__row p.mimoto-pfig__name {
	font-size: 14px;
	line-height: 1.3;
}

.mimoto-pfig__row p.mimoto-pfig__name strong {
	display: block;
}

.mimoto-pfig__row ul.mimoto-pfig__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mimoto-pfig__row ul.mimoto-pfig__chips li {
	margin: 0;
	padding: 4px 10px;
	background: var(--m-paper);
	font-size: 13px;
	font-weight: 600;
	color: var(--m-navy);
}

.mimoto-pfig__row ul.mimoto-pfig__chips em {
	display: block;
	font-style: normal;
	font-weight: 400;
	font-size: 11px;
	color: var(--m-gray);
}

.mimoto-pfig__row.is-core {
	background: var(--m-navy);
	border-color: var(--m-navy);
}

.mimoto-pfig__row.is-core p.mimoto-pfig__name,
.mimoto-pfig__row.is-core p.mimoto-pfig__name strong {
	color: #fff;
}

.mimoto-pfig__row.is-core ul.mimoto-pfig__chips li {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}

.mimoto-pfig__row.is-core ul.mimoto-pfig__chips em {
	color: var(--m-pale);
}

/* Questions, sources, and the closing line */
.mimoto-paper-faq .wp-block-details summary {
	font-size: 18px;
}

.mimoto-paper-body p.mimoto-paper-sources {
	font-size: 14px;
	line-height: 1.55;
	color: var(--m-gray);
}

.mimoto-paper-body p.mimoto-paper-closing {
	margin-top: 40px;
	padding-top: 18px;
	border-top: 1px solid var(--m-line);
	font-weight: 600;
	color: var(--m-navy);
}

@media (max-width: 1080px) {
	.mimoto-pstats,
	.mimoto-pstats.n6 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mimoto-pfig__row {
		grid-template-columns: 1fr;
		gap: 8px;
	}
}

@media (max-width: 781px) {
	.wp-block-columns.mimoto-paper-read {
		gap: 32px;
	}

	.mimoto-paper-read__side {
		position: static;
	}

	.mimoto-ptoc__list {
		columns: 1;
	}

	.mimoto-paper-body {
		font-size: 17px;
	}

	.mimoto-paper-body h2.wp-block-heading {
		margin-top: 56px;
	}

	.mimoto-pfig__cols,
	.mimoto-pfig__steps.n3 {
		grid-template-columns: 1fr;
	}

	.mimoto-pfig__shift p.mimoto-pfig__to {
		margin-left: 0;
	}

	.mimoto-pfig__shift p.mimoto-pfig__to::before,
	.mimoto-pfig__shift p.mimoto-pfig__to::after {
		display: none;
	}

	.mimoto-pfig__row.is-inner {
		margin-left: 0;
	}
}

@media (max-width: 480px) {
	.mimoto-pstats,
	.mimoto-pstats.n3,
	.mimoto-pstats.n6 {
		grid-template-columns: 1fr 1fr;
	}
}

/* ---------- 0.10.9: a featured image as a paper's cover picture ---------- */

/* Photos and pictures uploaded by hand sit centered; the drawn art keeps its lower framing. */
.mimoto-res__cover-art.is-photo,
.mimoto-pcover__art.is-photo img {
	object-position: 50% 50%;
}

/* ---------- 0.10.10: Insights on white ----------
 * Every Insights page (All, White papers, Blog, Videos, News, Events, Glossary,
 * FAQ, Case studies, Podcast, and every page under them) sits on white, as do
 * Meet the Team and "More from the blog" under a post (see also
 * mimoto_white_sections() in inc/sections.php), so the thumbnails and posts stand out:
 * their pale picture grounds disappeared on gray-blue (Ian, October 2026).
 * A hairline separates the white sections. Under the tab row the hairline
 * belongs to the hero, and the open tab turns white so it still runs into the
 * page below, as the gray-blue tab did.
 */
.mimoto-section--white {
	background: #fff;
	border-top: 1px solid var(--m-line);
}

.mimoto-hero + .mimoto-section--white {
	border-top: 0;
}

.mimoto-hero:has(+ .mimoto-section--white) {
	box-shadow: inset 0 -1px 0 var(--m-line);
}

.mimoto-hero:has(+ .mimoto-section--white) .mimoto-tabs__list a[aria-current="page"] {
	background: #fff;
}

/* ---------- 0.10.13: less space under the Insights tabs ----------
 * Blog and Videos have no line under the title (the title says where you
 * are). On every Insights page the list starts closer to the tab row.
 */
.mimoto-hero:has(> .mimoto-tabs) + .mimoto-section {
	padding-top: clamp(40px, 4vw, 56px);
}

/*
 * 0.10.15: the home page in Kris's order (October 12). The fence is the page
 * headline, and the two questions follow on white, centered as in her layout.
 */
.mimoto-hero--home {
	text-align: center;
}

.mimoto-hero--home .mimoto-hero__title.wp-block-heading {
	max-width: none;
	margin: 18px auto 28px;
	font-size: clamp(40px, 5.6vw, 84px);
	line-height: 1.02;
	letter-spacing: -0.015em;
}

.mimoto-hero--home > .is-style-eyebrow,
.mimoto-hero--home > .is-style-lead,
.mimoto-hero--home > .wp-block-buttons,
.mimoto-hero--home > .mimoto-facts {
	margin-left: auto !important;
	margin-right: auto !important;
}

.mimoto-hero--home > .is-style-lead {
	max-width: 720px;
}

.mimoto-hero--home > .wp-block-buttons {
	justify-content: center;
}

.mimoto-hero--home .mimoto-facts__list.mimoto-facts__list {
	justify-content: center;
}

.mimoto-hero--home .mimoto-hero__title em {
	padding-right: 0.08em;
}

/* Phones: each question keeps its own line. */
@media (max-width: 600px) {
	.mimoto-hero--home .mimoto-hero__title.wp-block-heading {
		font-size: 8.2vw;
	}
}

/* Words that stay together on one line, such as "end-to-end". */
.mimoto-keep {
	white-space: nowrap;
}

/* ==========================================================================
   0.10.17: the review call with Kris, October 12
   ========================================================================== */

/* "Two products" bold, the rest lighter (Inter at 400: the display cut has no light weight). */
.mimoto-products__rest {
	font-family: var(--wp--preset--font-family--inter, Inter, Helvetica, Arial, sans-serif);
	font-weight: 400;
	letter-spacing: -0.02em;
}

/* How Mimoto Works: Kris's talk track, "Mimoto recognizes when". */
.mimoto-recognizes .mimoto-split {
	gap: clamp(32px, 5vw, 72px) !important;
}

.mimoto-recognizes h2.wp-block-heading {
	margin-bottom: 12px;
}

.mimoto-recognizes .is-style-lead {
	margin-bottom: 20px;
}

/* The footer on the brand gray (#777777). White is the only text color that reads on it, so every
   label, link, and line is white; links underline on hover. */
.site-footer {
	--m-footer: #767676; /* 0.10.47: one step darker than #777777, so small white text passes contrast (4.5 to 1) */
	background: var(--m-footer);
}

.site-footer .site-footer__line,
.site-footer .is-style-label,
.site-footer .is-style-plain a,
.site-footer__base,
.site-footer__base a,
.site-footer .mimoto-trust.mimoto-trust,
.site-footer .mimoto-trust a,
.site-footer .mimoto-follow.is-light .mimoto-follow__label {
	color: #fff;
}

.site-footer .is-style-plain a:hover,
.site-footer .is-style-plain a:focus-visible {
	color: #fff;
	text-decoration: underline;
	text-decoration-color: #fff;
	text-underline-offset: 3px;
}

.site-footer .is-style-plain a:focus-visible,
.site-footer__base a:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.site-footer__base {
	border-top-color: rgba(255, 255, 255, 0.45);
}

.site-footer .mimoto-follow.is-light .wp-social-link:hover,
.site-footer .mimoto-follow.is-light .wp-social-link:focus-within {
	color: #fff !important;
	opacity: 0.8;
}

.site-footer .mimoto-trust .mimoto-ph,
.site-footer .mimoto-follow.is-light.is-empty .mimoto-ph {
	border-color: #fff;
}

/* The SOC 2 badge in the line at the bottom; GDPR and the rest show as text. */
.mimoto-trust__cert.has-badge {
	display: inline-block;
	margin: 0 4px;
	vertical-align: middle;
	line-height: 0;
}

.mimoto-trust__badge {
	width: auto;
	height: 56px;
	max-width: 120px;
	object-fit: contain;
}

/* The contact form, now WPForms (Mimoto Continuous CAPTCHA protects it). Styled like the site's
   own form: square fields, Inter, the coral button with navy text. WPForms' own variables first,
   then the rules that hold even when WPForms' styling is turned off. */
.mimoto-form.is-wpforms .wpforms-container {
	--wpforms-field-border-radius: 0px;
	--wpforms-field-border-size: 1.5px;
	--wpforms-field-border-style: solid;
	--wpforms-field-border-color: #BFDDFE;
	--wpforms-field-background-color: #fff;
	--wpforms-field-text-color: var(--m-navy);
	--wpforms-field-menu-color: #fff;
	--wpforms-label-color: var(--m-navy);
	--wpforms-label-sublabel-color: var(--m-gray);
	--wpforms-label-error-color: #B42318;
	--wpforms-button-border-radius: 0px;
	--wpforms-button-border-size: 0px;
	--wpforms-button-background-color: var(--m-coral);
	--wpforms-button-text-color: #fff;
	--wpforms-field-size-font-size: 16px;
	--wpforms-label-size-font-size: 14px;
	--wpforms-label-size-sublabel-font-size: 13px;
	--wpforms-button-size-font-size: 16px;
	margin: 0 !important;
	padding: 0 !important;
	max-width: none !important;
	font-family: inherit;
}

.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-field {
	padding: 0 0 18px;
	margin: 0;
	clear: both;
}

.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-field fieldset {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-field-label {
	display: block;
	margin: 0 0 6px;
	padding: 0;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--m-navy);
}

.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-field-sublabel {
	margin: 4px 0 0;
	font-size: 13px;
	font-weight: 400;
	color: var(--m-gray);
}

.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-required-label {
	color: var(--m-coral-text);
}

.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-field-row {
	display: flex;
	gap: 16px;
	max-width: none;
}

.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-field-row::before,
.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-field-row::after {
	content: none;
}

.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-field-row-block {
	flex: 1 1 0;
	width: auto;
	margin: 0;
	padding: 0;
	float: none;
}

.mimoto-form.is-wpforms .wpforms-container .wpforms-form input[type="text"],
.mimoto-form.is-wpforms .wpforms-container .wpforms-form input[type="email"],
.mimoto-form.is-wpforms .wpforms-container .wpforms-form input[type="tel"],
.mimoto-form.is-wpforms .wpforms-container .wpforms-form input[type="url"],
.mimoto-form.is-wpforms .wpforms-container .wpforms-form input[type="number"],
.mimoto-form.is-wpforms .wpforms-container .wpforms-form select,
.mimoto-form.is-wpforms .wpforms-container .wpforms-form textarea {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	height: auto;
	min-height: 48px;
	margin: 0;
	padding: 12px 14px;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.4;
	color: var(--m-navy);
	background: #fff;
	border: 1.5px solid #BFDDFE;
	border-radius: 0;
	box-shadow: none;
}

.mimoto-form.is-wpforms .wpforms-container .wpforms-form textarea {
	min-height: 120px;
	resize: vertical;
}

.mimoto-form.is-wpforms .wpforms-container .wpforms-form input:focus,
.mimoto-form.is-wpforms .wpforms-container .wpforms-form select:focus,
.mimoto-form.is-wpforms .wpforms-container .wpforms-form textarea:focus {
	outline: 2px solid var(--m-navy);
	outline-offset: 1px;
	border-color: var(--m-navy);
	box-shadow: none;
}

.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-error,
.mimoto-form.is-wpforms .wpforms-container .wpforms-form label.wpforms-error,
.mimoto-form.is-wpforms .wpforms-container .wpforms-form em.wpforms-error {
	margin: 6px 0 0;
	padding: 0;
	font-size: 14px;
	font-style: normal;
	font-weight: 600;
	color: #B42318;
	background: none;
}

.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-submit-container {
	margin: 6px 0 0;
	padding: 0;
}

.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-submit-container button[type="submit"],
.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-submit-container .wpforms-submit {
	height: auto !important;
	margin: 0;
	padding: 14px 26px !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	color: #fff !important;
	background: var(--m-coral) !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	cursor: pointer;
}

.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-submit-container .wpforms-submit:hover,
.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-submit-container .wpforms-submit:focus-visible {
	color: #fff !important;
	background: var(--m-navy) !important;
}

.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-submit-container .wpforms-submit:focus-visible {
	outline: 2px solid var(--m-navy) !important;
	outline-offset: 3px;
}

.mimoto-form.is-wpforms .wpforms-confirmation-container-full,
.mimoto-form.is-wpforms .wpforms-confirmation-container {
	margin: 0;
	padding: 24px;
	font-size: 17px;
	color: var(--m-navy);
	background: #fff;
	border: 2px solid var(--m-navy);
	border-radius: 0;
}

.mimoto-form.is-wpforms .wpforms-confirmation-container-full p:last-child {
	margin: 0;
}

/* The same form on the navy contact section: light labels, white field borders. */
.mimoto-contact .mimoto-form.is-wpforms .wpforms-container {
	--wpforms-label-color: var(--m-pale);
	--wpforms-label-sublabel-color: var(--m-pale);
	--wpforms-field-border-color: #fff;
	--wpforms-label-error-color: #FFD2C2;
}

.mimoto-contact .mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-field-label {
	color: var(--m-pale);
}

.mimoto-contact .mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-field-sublabel {
	color: var(--m-pale);
}

.mimoto-contact .mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-required-label {
	color: var(--m-coral);
}

.mimoto-contact .mimoto-form.is-wpforms .wpforms-container .wpforms-form input,
.mimoto-contact .mimoto-form.is-wpforms .wpforms-container .wpforms-form select,
.mimoto-contact .mimoto-form.is-wpforms .wpforms-container .wpforms-form textarea {
	border-color: #fff;
}

.mimoto-contact .mimoto-form.is-wpforms .wpforms-container .wpforms-form input:focus,
.mimoto-contact .mimoto-form.is-wpforms .wpforms-container .wpforms-form select:focus,
.mimoto-contact .mimoto-form.is-wpforms .wpforms-container .wpforms-form textarea:focus {
	outline-color: var(--m-coral);
	border-color: var(--m-coral);
}

.mimoto-contact .mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-error,
.mimoto-contact .mimoto-form.is-wpforms .wpforms-container .wpforms-form label.wpforms-error,
.mimoto-contact .mimoto-form.is-wpforms .wpforms-container .wpforms-form em.wpforms-error {
	color: #FFD2C2;
}

.mimoto-contact .mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-submit-container .wpforms-submit:hover,
.mimoto-contact .mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-submit-container .wpforms-submit:focus-visible {
	color: var(--m-navy) !important;
	background: #fff !important;
}

.mimoto-contact .mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-submit-container .wpforms-submit:focus-visible {
	outline-color: #fff !important;
}

/* Very narrow phones: first and last name stack. */
@media (max-width: 359px) {
	.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-field-row {
		flex-direction: column;
		gap: 12px;
	}
}

/* 0.10.19: the tagline under the logo, on every page (Ian, October 12). Small, so the logo still leads;
   one line wherever the menu leaves room for it. */
.site-brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	flex-shrink: 0;
}

.site-brand > .site-wordmark {
	margin: 0;
}

.site-header .site-tagline {
	margin: 0;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
	white-space: nowrap;
	color: var(--m-gray);
}

/* Where the menu needs the room (1239 and narrower), the tagline takes two short lines under the
   logo. Phones and tablets (959 and narrower, 0.10.25): two lines beside the menu button. */
@media (max-width: 1239px) {
	.site-header .site-tagline {
		max-width: 215px;
		white-space: normal;
	}
}

/* ==========================================================================
   0.10.23: a shorter contact section (Ian: five or six fields should not take
   a whole screen). Desktop: the heading, line, and "Test it on your own
   devices" on the left, the form on the right. Smaller fields, short fields in
   pairs, a three-line message box.
   ========================================================================== */

/* The form on the right, the heading, line, and "Test it on your own devices" on the left
   (mimoto-contact__cols--form-right, from 0.10.23). On phones and small tablets: heading and line,
   then the form, then the test box. */
.mimoto-contact .mimoto-contact__cols--form-right > .wp-block-column:last-child .mimoto-form {
	margin-top: 0;
}

.mimoto-contact .mimoto-contact__cols--form-right .is-style-lead {
	margin-bottom: 32px;
}

@media (max-width: 781px) {
	.mimoto-contact .mimoto-contact__cols--form-right.wp-block-columns {
		display: flex;
		flex-direction: column;
		gap: 0 !important;
	}

	.mimoto-contact .mimoto-contact__cols--form-right > .wp-block-column {
		display: contents;
	}

	.mimoto-contact .mimoto-contact__cols--form-right .mimoto-form {
		order: 2;
		margin-bottom: 40px;
	}

	.mimoto-contact .mimoto-contact__cols--form-right .mimoto-contact__side {
		order: 3;
	}
}

.mimoto-contact .mimoto-contact__side {
	padding: clamp(22px, 2.4vw, 32px);
}

.mimoto-contact .mimoto-contact__side h3.wp-block-heading {
	font-size: clamp(20px, 1.8vw, 24px);
}

.mimoto-contact .mimoto-contact__side p {
	margin-bottom: 0;
	font-size: 16px;
	line-height: 1.5;
}

/* Smaller fields: the built-in form */
.mimoto-lead__grid {
	gap: 14px 16px;
}

.mimoto-lead__field {
	gap: 5px;
}

.mimoto-lead__field input,
.mimoto-lead__field select {
	padding: 10px 12px;
}

.mimoto-lead__field textarea {
	min-height: 92px;
	height: 92px;
	padding: 10px 12px;
}

.mimoto-lead__send {
	margin-top: 14px;
}

/* Smaller fields: WPForms. Company and Job Title share a row when they sit next to each other in
   the form (in WPForms, drag Job Title right under Company). */
.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-field {
	padding-bottom: 14px;
}

.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-field-label {
	margin-bottom: 5px;
}

.mimoto-form.is-wpforms .wpforms-container .wpforms-form input[type="text"],
.mimoto-form.is-wpforms .wpforms-container .wpforms-form input[type="email"],
.mimoto-form.is-wpforms .wpforms-container .wpforms-form input[type="tel"],
.mimoto-form.is-wpforms .wpforms-container .wpforms-form input[type="url"],
.mimoto-form.is-wpforms .wpforms-container .wpforms-form input[type="number"],
.mimoto-form.is-wpforms .wpforms-container .wpforms-form select {
	min-height: 44px;
	padding: 10px 12px;
}

.mimoto-form.is-wpforms .wpforms-container .wpforms-form textarea {
	min-height: 92px;
	height: 92px;
	padding: 10px 12px;
}

.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-submit-container {
	margin-top: 0;
}

@media (min-width: 480px) {
	.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-field-container {
		display: flex;
		flex-wrap: wrap;
		column-gap: 16px;
	}

	.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-field-container > .wpforms-field {
		flex: 1 1 100%;
		min-width: 0;
		clear: none;
	}

	.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-field-container > .wpforms-field-text:has(+ .wpforms-field-text),
	.mimoto-form.is-wpforms .wpforms-container .wpforms-form .wpforms-field-container > .wpforms-field-text + .wpforms-field-text {
		flex: 1 1 calc(50% - 8px);
	}
}

/* ==========================================================================
   0.10.25: the second review call with Kris, October 12
   ========================================================================== */

/* "Two products for end-to-end protection": all bold (the lighter part was her doc's formatting).
   Pages that still carry the old markup show it bold too. */
.mimoto-products__rest {
	font-family: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
}

/* Mimoto's trademark, user_name ≠ Person, always on one straight line. */
.mimoto-tm,
.mimoto-tm.wp-block-heading {
	font-family: var(--m-mono);
	font-weight: 500;
	font-size: clamp(25px, 6.6vw, 56px);
	line-height: 1.1;
	letter-spacing: -0.02em;
	white-space: nowrap;
	color: var(--m-navy);
	text-wrap: nowrap;
}

/* In a narrow column (Privacy by Design), the line keeps to the column. */
.mimoto-split .mimoto-tm {
	font-size: clamp(25px, 3.4vw, 44px);
}

.mimoto-split .mimoto-tm + .is-style-lead {
	margin-top: 16px;
}

/* Footer: the trademark under the wordmark, in place of a second tagline. White on the gray
   ground (coral would not show on #777777). */
.site-footer .site-footer__tm {
	max-width: none;
	font-family: var(--m-mono);
	font-weight: 500;
	font-size: 22px;
	line-height: 1.2;
	letter-spacing: -0.01em;
	white-space: nowrap;
	color: #fff;
}

.site-footer .site-footer__tm .mimoto-ne {
	color: #fff;
}

/* About: the trademark heads the section, then the story under it, in line with the page. */
.mimoto-about__lead > * {
	max-width: 780px;
}

.mimoto-about__lead .mimoto-tm {
	margin-bottom: 28px;
}

/* Home: the fence takes most of the first screen, with navy above and below the scene
   (Kris: like the full-screen openings on Cloudflare's site). Phones and tablets keep their layout. */
@media (min-width: 901px) {
	.mimoto-fence {
		--fence-gap: clamp(56px, 6vw, 96px);
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-height: clamp(660px, calc(100svh - 88px), 980px);
		padding-block: calc(var(--fence-gap) + 56px);
	}

	.mimoto-fence::before {
		top: var(--fence-gap);
		bottom: var(--fence-gap);
		background-position: right bottom;
		background-size: auto 100%;
	}

	@supports (animation-timeline: view()) {
		.wp-site-blocks .mimoto-fence::before {
			animation-name: m-drift-fence;
		}
	}
}

/* Wider than 1440: the fence post stands just right of the headline, whatever the screen's height
   (the scene is the section's height less the navy above and below; the post is 1.02 heights in). */
@media (min-width: 1441px) {
	.mimoto-fence::before {
		left: calc((100% - 1200px) / 2 + 660px - 1.02 * (clamp(660px, 100svh - 88px, 980px) - 2 * var(--fence-gap)));
		background-position: left bottom;
	}
}

@keyframes m-drift-fence {
	from {
		transform: translateY(-18px);
	}

	to {
		transform: translateY(18px);
	}
}

/* Solutions menu: "By use case" across the top, the six use cases in two columns under it. */
@media (min-width: 600px) {
	.site-nav .nav-mega .nav-span {
		grid-column: 1 / -1;
	}
}

/* Leadership Team: each leader's headshot beside the bio. */
.mimoto-team--leaders.mimoto-team {
	gap: clamp(40px, 5vw, 64px) clamp(32px, 4vw, 56px);
}

.mimoto-team__person--leader {
	display: grid;
	grid-template-columns: 176px minmax(0, 1fr);
	column-gap: 28px;
	align-items: start;
}

.mimoto-team__person--leader > .mimoto-team__text > * {
	margin: 0;
}

.mimoto-team__person--leader .mimoto-team__text h3 {
	margin-top: 18px;
	font-size: 24px;
}

.mimoto-team__person--leader .mimoto-team__text .is-style-label {
	margin-top: 4px;
}

.mimoto-team__person--leader .mimoto-team__text > p:not(.is-style-label) {
	margin-top: 12px;
	font-size: 16px;
	line-height: 1.6;
}

.mimoto-team__person--leader .mimoto-team__text > .mimoto-team__past,
.mimoto-team__person--leader .mimoto-team__text > .mimoto-team__in {
	font-size: 15px;
}

@media (max-width: 560px) {
	.mimoto-team__person--leader {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Inauthentic Workers: the line each kind of worker comes down to. */
.mimoto-card__point.mimoto-card__point {
	margin-top: 14px;
	font-weight: 600;
	color: var(--m-navy);
}

/* Why Mimoto: the trademark as a centered statement */
.mimoto-why__tm.mimoto-intro {
	max-width: 1000px;
	margin-inline: auto;
	text-align: center;
}

.mimoto-why__tm.mimoto-intro > * {
	margin-inline: auto;
}

.mimoto-why__tm .mimoto-tm {
	margin-top: 14px;
}

.mimoto-why__tm .is-style-lead {
	max-width: 900px;
	margin-top: 20px;
}

.mimoto-why__list {
	margin: 12px 0 0;
	padding-left: 1.2em;
}

.mimoto-why__list li {
	margin: 6px 0;
	line-height: 1.5;
}

.mimoto-why__list li::marker {
	color: var(--m-coral-large);
}

.mimoto-why__papers li {
	padding: 10px 0;
	border-top: 1px solid var(--m-pale);
	font-weight: 600;
}

.mimoto-why__papers li:last-child {
	border-bottom: 1px solid var(--m-pale);
}

/* A picture on the left of its text: on phones it still follows the text. */
@media (max-width: 781px) {
	.mimoto-split--art-left.wp-block-columns {
		flex-direction: column-reverse;
	}
}

/* Solutions: the short Why Mimoto row */
.mimoto-why-strip .mimoto-split {
	align-items: center;
}

.mimoto-why-strip .wp-block-buttons {
	justify-content: flex-end;
}

@media (max-width: 781px) {
	.mimoto-why-strip .wp-block-buttons {
		justify-content: flex-start;
	}
}

/* Tablets (600 to 959): the menu button, as on phones. With Why Mimoto the row of six no longer fits
   beside the logo there. */
@media (min-width: 600px) and (max-width: 959px) {
	.site-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.site-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}

	.site-nav .is-menu-open .wp-block-navigation__submenu-container,
	.site-nav .is-menu-open .nav-mega > .wp-block-navigation__submenu-container {
		display: flex !important;
		flex-direction: column;
		columns: auto;
		min-width: 0 !important;
		left: auto !important;
		right: auto !important;
		transform: none !important;
		padding: 0 !important;
		border: 0 !important;
		box-shadow: none !important;
		background: transparent !important;
	}

	.site-nav .is-menu-open .nav-mega > .wp-block-navigation__submenu-container {
		padding-left: 12px !important;
	}

	.site-nav .is-menu-open .nav-mega .nav-wide {
		margin-top: 0;
		padding-top: 0;
		border-top: 0;
	}
}

/* ==========================================================================
   0.10.28: Why Mimoto, the inauthentic user as a navy band (Ian, October 13: like the castle and the
   chain-link fence on the home page, the picture filling the space). The picture is
   images/inauthentic-agent.svg (gen/heroes/agent_art.py); its own ground is the same navy.
   ========================================================================== */

.mimoto-agent {
	position: relative;
	overflow: hidden;
	background: var(--m-navy);
	color: #fff;
}

.mimoto-agent::before {
	content: "";
	position: absolute;
	z-index: 0;
	background: url("../images/inauthentic-agent.svg") center bottom / auto 100% no-repeat;
	pointer-events: none;
}

.mimoto-agent > * {
	position: relative;
	z-index: 1;
}

.mimoto-agent .mimoto-agent__text {
	max-width: 680px;
	margin-left: var(--m-edge) !important;
	margin-right: auto !important;
}

.mimoto-agent .is-style-label {
	color: var(--m-blue);
}

.mimoto-agent h2.wp-block-heading {
	color: #fff;
}

.mimoto-agent p {
	color: var(--m-pale);
}

.mimoto-agent .mimoto-why__list li {
	color: #fff;
}

.mimoto-agent .mimoto-why__list li::marker {
	color: var(--m-coral);
}

/* Desktop: the text on the left, the picture from the end of the text to the right edge, the full height of the band. */
@media (min-width: 1240px) {
	.mimoto-agent {
		min-height: 780px;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.mimoto-agent .mimoto-agent__text {
		max-width: 540px;
	}

	.mimoto-agent::before {
		top: 0;
		bottom: 0;
		left: calc(var(--m-edge) + 520px);
		right: 0;
		background-position: left bottom;
	}
}

/* Laptops, tablets, and phones: the picture under the text, as large as the screen allows. */
@media (max-width: 1239px) {
	.mimoto-agent {
		padding-bottom: calc(min(82vw, 620px) + 16px) !important;
	}

	.mimoto-agent::before {
		left: 0;
		right: 0;
		bottom: 0;
		height: min(82vw, 620px);
	}
}

/* ==========================================================================
   0.10.32: videos inside blog posts (Ian: Videos stays hidden for now). The Video block takes a Vimeo or
   YouTube link; videos pasted straight in (WordPress's own embeds) get the same frame.
   ========================================================================== */

.mimoto-post .wp-block-post-content > .mimoto-video,
.mimoto-post .wp-block-post-content > .wp-block-embed {
	margin-block: 36px;
}

.wp-block-embed.is-type-video .wp-block-embed__wrapper {
	background: var(--m-navy);
	border: 2px solid var(--m-navy);
}

.wp-block-embed.is-type-video figcaption {
	margin-top: 12px;
	font-size: 14px;
	color: var(--m-gray);
	text-align: left;
}

/* ==========================================================================
   0.10.33: Leadership Team like mimoto.ai (Ian): one leader per row with the full bio beside
   a larger headshot, a hairline between leaders. Phones: the headshot above the name.
   ========================================================================== */

.mimoto-team--leaders.mimoto-team {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	max-width: 980px;
	margin-inline: auto;
}

.mimoto-team--leaders > .mimoto-team__person--leader {
	grid-template-columns: 208px minmax(0, 1fr);
	column-gap: clamp(28px, 4vw, 48px);
	padding-block: clamp(36px, 4vw, 48px);
	border-top: 1px solid var(--m-line, #d9dde8);
}

.mimoto-team--leaders > .mimoto-team__person--leader:first-child {
	border-top: 0;
	padding-top: 0;
}

.mimoto-team--leaders > .mimoto-team__person--leader:last-child {
	padding-bottom: 0;
}

.mimoto-team--leaders .mimoto-team__photo.wp-block-image {
	width: 208px;
	height: 208px;
}

.mimoto-team--leaders .mimoto-team__photo.wp-block-image img {
	width: 168px !important;
	height: 168px;
}

.mimoto-team--leaders .mimoto-team__person--leader .mimoto-team__text h3 {
	margin-top: 20px;
	font-size: clamp(24px, 2.4vw, 28px);
}

.mimoto-team--leaders .mimoto-team__person--leader .mimoto-team__text > p:not(.is-style-label) {
	margin-top: 14px;
	font-size: 17px;
	line-height: 1.65;
}

.mimoto-team--leaders .mimoto-team__person--leader .mimoto-team__text > p:not(.is-style-label) + p {
	margin-top: 12px;
}

.mimoto-team--leaders .mimoto-team__text a {
	font-weight: 600;
}

@media (max-width: 640px) {
	.mimoto-team--leaders > .mimoto-team__person--leader {
		grid-template-columns: minmax(0, 1fr);
	}

	.mimoto-team--leaders .mimoto-team__photo.wp-block-image {
		width: 168px;
		height: 168px;
	}

	.mimoto-team--leaders .mimoto-team__photo.wp-block-image img {
		width: 136px !important;
		height: 136px;
	}

	.mimoto-team--leaders .mimoto-team__person--leader .mimoto-team__text h3 {
		margin-top: 12px;
	}

	.mimoto-team--leaders .mimoto-team__person--leader .mimoto-team__text > p:not(.is-style-label) {
		font-size: 16px;
	}
}

/* 0.10.35: the logo wall's heading and note centered over the logos, as on mimoto.ai. */
.mimoto-section:has(.mimoto-logowall) .mimoto-intro {
	margin-inline: auto;
	text-align: center;
}

.mimoto-section:has(.mimoto-logowall) .mimoto-intro > * {
	margin-inline: auto;
}

/* 0.10.35 (Ian): Why Mimoto's trademark section, centered, with what the login checks beside what
   Mimoto verifies, a coral not-equal sign between them, and the takeaway under them. */
.mimoto-why__vs.wp-block-columns {
	position: relative;
	max-width: 920px;
	margin-top: clamp(32px, 4vw, 48px);
	margin-bottom: 0;
	gap: clamp(28px, 4vw, 56px);
	text-align: left;
}

.mimoto-why__vs-card.wp-block-column {
	padding: clamp(24px, 2.6vw, 32px);
	background: #fff;
	border: 1px solid var(--m-line);
}

.mimoto-why__vs-card > * {
	margin: 0;
}

.mimoto-why__vs-key.mimoto-why__vs-key {
	font-family: var(--m-mono);
	font-weight: 500;
	font-size: 15px;
	color: var(--m-gray);
}

.mimoto-why__vs-key--person.mimoto-why__vs-key--person {
	color: var(--m-navy);
}

.mimoto-why__vs-card h3.wp-block-heading {
	margin-top: 8px;
	font-size: clamp(20px, 1.9vw, 24px);
}

.mimoto-why__vs-card h3 + p {
	margin-top: 10px;
	font-size: 16px;
	line-height: 1.6;
}

/* The not-equal sign sits in the gap between the two cards. */
.mimoto-why__vs.wp-block-columns::after {
	content: "\2260";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--m-coral);
	color: var(--m-navy);
	font-family: var(--m-mono);
	font-size: 26px;
	font-weight: 500;
	line-height: 1;
	pointer-events: none;
}

.mimoto-why__tm-close.mimoto-why__tm-close {
	margin-top: clamp(28px, 3.4vw, 40px);
	font-size: clamp(18px, 1.7vw, 21px);
	font-weight: 700;
	color: var(--m-navy);
}

@media (max-width: 781px) {
	.mimoto-why__vs.wp-block-columns {
		gap: 40px;
	}
	/* Stacked: the sign sits between the cards, on the gap. */
	.mimoto-why__vs.wp-block-columns::after {
		width: 36px;
		height: 36px;
		font-size: 22px;
	}
}

/* 0.10.37 (Kris): user_name ≠ Person is a trademark, so it carries the TM mark wherever it is shown. */
.mimoto-tm-mark {
	position: relative;
	top: -0.05em;
	margin-left: 0.06em;
	font-size: max(0.36em, 10px);
	font-weight: 500;
	line-height: 0;
	vertical-align: super;
	letter-spacing: 0;
}

.site-footer__tm .mimoto-tm-mark {
	font-size: max(0.6em, 9px);
}

/* 0.10.38: a certification named in the footer line ("GDPR compliant") stays on one line. */
.mimoto-trust__cert {
	white-space: nowrap;
}

/* 0.10.39: a pull quote inside a blog post gets room above and below (the shared quote style sets no margin). */
.mimoto-post .wp-block-post-content .wp-block-quote.mimoto-quote {
	margin-top: 36px;
	margin-bottom: 36px;
}

/* 0.10.42: page links under a list of posts (Blog, categories, tags, search). Nine posts to a page on the
   Blog; from the tenth, the links show: Previous, the page numbers, Next. */
.wp-block-query-pagination.wp-block-query-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: clamp(40px, 5vw, 56px);
	font-size: 15px;
	font-weight: 600;
}

.wp-block-query-pagination .wp-block-query-pagination-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}

.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination .wp-block-query-pagination-previous,
.wp-block-query-pagination .wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 44px;
	height: 44px;
	margin: 0 !important;
	padding: 0 14px;
	border: 2px solid var(--m-pale);
	color: var(--m-navy);
	text-decoration: none;
}

.wp-block-query-pagination a.page-numbers:hover,
.wp-block-query-pagination a.page-numbers:focus-visible,
.wp-block-query-pagination a.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination a.wp-block-query-pagination-previous:focus-visible,
.wp-block-query-pagination a.wp-block-query-pagination-next:hover,
.wp-block-query-pagination a.wp-block-query-pagination-next:focus-visible {
	border-color: var(--m-navy);
}

.wp-block-query-pagination .page-numbers.current {
	background: var(--m-navy);
	border-color: var(--m-navy);
	color: #fff;
}

.wp-block-query-pagination .page-numbers.dots {
	min-width: 0;
	padding: 0 4px;
	border-color: transparent;
}

.wp-block-query-pagination .wp-block-query-pagination-previous-arrow,
.wp-block-query-pagination .wp-block-query-pagination-next-arrow {
	margin: 0;
	color: var(--m-coral);
}

/* 0.10.43 (Kris): more room above the real-time response, after the dial on How Mimoto Works. */
.mimoto-section .mimoto-diagram + .wp-block-columns.mimoto-split {
	margin-top: clamp(72px, 8vw, 112px) !important;
}

/* 0.10.43 (Kris): the white paper covers on the home page open the paper, and the titles read as links. */
.mimoto-paper .wp-block-image a {
	display: block;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mimoto-paper .wp-block-image a:hover,
.mimoto-paper .wp-block-image a:focus-visible {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(23, 13, 125, 0.14);
}

.mimoto-paper h3 a {
	text-decoration: underline;
	text-decoration-color: #92C5FC;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.mimoto-paper h3 a:hover,
.mimoto-paper:has(.wp-block-image a:hover) h3 a {
	text-decoration-color: var(--m-coral);
}

@media (prefers-reduced-motion: reduce) {
	.mimoto-paper .wp-block-image a {
		transition: none;
	}

	.mimoto-paper .wp-block-image a:hover,
	.mimoto-paper .wp-block-image a:focus-visible {
		transform: none;
	}
}

/* 0.10.43: the AICPA SOC 2 Type II badge in the footer line is wider than the old shield.
   0.10.66: Kris's official wide logo, a little wider again. */
.mimoto-trust__badge {
	height: 44px;
	max-width: 140px;
	border-radius: 2px;
}

/* 0.10.45: How Mimoto Works, "Respond in real time": the text, then the real-time response animation from the
   demo video at full width (its labels are too small in a column). The same room above it as before. */
.mimoto-section .mimoto-diagram + .mimoto-respond {
	margin-top: clamp(72px, 8vw, 112px) !important;
}

.mimoto-respond > * {
	max-width: 760px;
}

.mimoto-respond + .wp-block-video.mimoto-motion {
	margin-top: clamp(28px, 3vw, 40px) !important;
}

.wp-block-video.mimoto-motion {
	margin-left: 0;
	margin-right: 0;
}

.wp-block-video.mimoto-motion video {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 15 / 7;
	background: #FDFDFD;
	border: 1px solid var(--m-pale);
}

.wp-block-video.mimoto-motion figcaption {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin: 12px 0 0;
	text-align: left;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--m-gray);
}

.mimoto-motion__toggle {
	flex: none;
	padding: 4px 0;
	border: 0;
	background: none;
	font: inherit;
	font-weight: 600;
	color: var(--m-navy);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.mimoto-motion__toggle:hover,
.mimoto-motion__toggle:focus-visible {
	color: var(--m-coral-text);
}

/* 0.10.47: How Mimoto Works, Kris's slide 2 as one sentence that reads top to bottom: "Mimoto recognizes and
   responds in real time when", then the three cases side by side under it (stacked on phones). */
.mimoto-recognizes h2.wp-block-heading {
	margin-bottom: clamp(24px, 3vw, 36px);
	text-wrap: balance;
}

.mimoto-rows.mimoto-rows--three {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 clamp(24px, 3vw, 40px);
	border-bottom: 0;
}

.mimoto-rows.mimoto-rows--three li {
	border-top: 2px solid var(--m-navy);
}

.mimoto-recognizes .mimoto-more {
	margin-top: 8px;
}

@media (max-width: 781px) {
	.mimoto-rows.mimoto-rows--three {
		grid-template-columns: 1fr;
		border-bottom: 1px solid var(--m-pale);
	}

	.mimoto-rows.mimoto-rows--three li {
		border-top: 1px solid var(--m-pale);
	}
}

/* 0.10.47: the site sweep.
   Headings, pull quotes, and the session-log lines wrap in balanced lines, so no word sits alone on the last
   line; body text avoids a lone last word where the browser supports it. */
h1, h2, h3, h4,
.is-style-statement,
.mimoto-log li,
.mimoto-card__title {
	text-wrap: balance;
}

.site-main p,
.site-main li {
	text-wrap: pretty;
}

/* Event pages: when, where, and the stand line up at the top, whatever wraps. */
.mimoto-event-facts.mimoto-event-facts {
	align-items: start;
}

@media (max-width: 781px) {
	/* Insights tabs scroll sideways on a phone: fade the right edge so it is clear there is more. */
	.mimoto-tabs__list.mimoto-tabs__list {
		-webkit-mask-image: linear-gradient(to right, #000 calc(100% - 48px), transparent);
		mask-image: linear-gradient(to right, #000 calc(100% - 48px), transparent);
	}

	/* Footer links and the compliance line: no separator dots left dangling where a row wraps. */
	.site-footer__sep,
	.mimoto-trust__sep {
		display: none;
	}

	.site-footer__base > p {
		display: flex;
		flex-wrap: wrap;
		gap: 6px 18px;
	}

	.mimoto-trust.mimoto-trust {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px 14px;
	}
}

/* ==========================================================================
   0.10.54 (Kris, October 15): Leadership Team two by two, so all four leaders show without
   scrolling. Headshot, name, title, profile icons under the title (LinkedIn now; a blog,
   Substack, or GitHub later), and the bio behind "Read bio". One column on phones.
   ========================================================================== */

.mimoto-team--grid.mimoto-team--leaders.mimoto-team {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(44px, 5vw, 64px) clamp(32px, 4vw, 56px);
	max-width: 1080px;
	align-items: start;
}

.mimoto-team--grid.mimoto-team--leaders > .mimoto-team__person--leader {
	grid-template-columns: 176px minmax(0, 1fr);
	column-gap: clamp(20px, 2.4vw, 32px);
	margin: 0 !important;
	padding: 0;
	border-top: 0;
}

.mimoto-team--grid.mimoto-team--leaders .mimoto-team__photo.wp-block-image {
	width: 176px;
	height: 176px;
}

.mimoto-team--grid.mimoto-team--leaders .mimoto-team__photo.wp-block-image img {
	width: 140px !important;
	height: 140px;
}

.mimoto-team--grid .mimoto-team__person--leader .mimoto-team__text h3 {
	margin-top: 22px;
	font-size: clamp(22px, 2.2vw, 26px);
}

.mimoto-team--grid .mimoto-team__links.wp-block-social-links {
	margin: 10px 0 0 !important;
	gap: 10px;
}

.mimoto-team--grid .mimoto-team__links .wp-social-link a {
	padding: 0;
}

.mimoto-team--grid .mimoto-team__links .wp-social-link:hover {
	transform: none;
}

.mimoto-team--grid .mimoto-team__links .wp-social-link:hover svg {
	fill: var(--m-coral-text) !important;
}

.mimoto-team--grid .mimoto-team__bio.wp-block-details {
	margin-top: 12px;
	border: 0;
	padding: 0;
}

.mimoto-team--grid .mimoto-team__bio > summary {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	list-style: none;
	font-weight: 600;
	font-size: 15px;
	color: var(--m-navy);
	text-decoration: underline;
	text-decoration-color: var(--m-coral);
	text-underline-offset: 4px;
}

.mimoto-team--grid .mimoto-team__bio > summary::-webkit-details-marker {
	display: none;
}

.mimoto-team--grid .mimoto-team__bio > summary::after {
	content: "";
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 0.2s ease;
}

.mimoto-team--grid .mimoto-team__bio[open] > summary::after {
	transform: translateY(2px) rotate(-135deg);
}

.mimoto-team--grid .mimoto-team__bio[open] > summary {
	margin-bottom: 4px;
}

.mimoto-team--grid .mimoto-team__bio > p {
	margin: 10px 0 0;
	font-size: 16px;
	line-height: 1.6;
}

.mimoto-team--grid .mimoto-team__bio a {
	font-weight: 600;
}

@media (max-width: 900px) {
	.mimoto-team--grid.mimoto-team--leaders.mimoto-team {
		grid-template-columns: minmax(0, 1fr);
		max-width: 620px;
	}
}

@media (max-width: 480px) {
	.mimoto-team--grid.mimoto-team--leaders > .mimoto-team__person--leader {
		grid-template-columns: minmax(0, 1fr);
	}

	.mimoto-team--grid .mimoto-team__person--leader .mimoto-team__text h3 {
		margin-top: 12px;
	}
}

/* ---------- 0.10.54: Datasheets on the White Papers page ----------
 * Two cards under the white papers (Kris and Ian, October 15, 2026): the front page of each datasheet,
 * linked to the PDF, beside its title, a summary, and a Download button. Both open the PDF in a new tab.
 */
.mimoto-sheets.mimoto-sheets {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px 48px;
	margin-top: 32px;
}

.mimoto-sheets > .mimoto-sheet {
	display: grid;
	grid-template-columns: 172px minmax(0, 1fr);
	gap: 0 28px;
	align-items: start;
	margin: 0 !important;
}

.mimoto-sheet .mimoto-sheet__thumb {
	margin: 0 !important;
}

.mimoto-sheet__thumb a {
	display: block;
	box-shadow: 8px 8px 0 var(--m-pale);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.mimoto-sheet__thumb a:hover,
.mimoto-sheet__thumb a:focus-visible {
	transform: translate(-3px, -3px);
	box-shadow: 11px 11px 0 var(--m-blue);
}

.mimoto-sheet__thumb img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--m-pale);
}

.mimoto-sheet__text > * {
	margin-top: 0 !important;
}

.mimoto-sheet__text h3 {
	margin-bottom: 10px !important;
}

.mimoto-sheet__text > p:not(.is-style-label):not(.mimoto-sheet__meta) {
	margin-bottom: 10px !important;
}

.mimoto-sheet__meta {
	font-size: 14px;
	color: var(--m-gray, #555869);
	margin-bottom: 16px !important;
}

.mimoto-sheet__actions .wp-block-button__link {
	padding: 11px 22px;
	font-size: 15px;
	height: auto;
}

.mimoto-sheet__actions .wp-block-button__link::before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-right: 8px;
	vertical-align: -1px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7 1h2v8.2l2.8-2.8 1.4 1.4L8 13 2.8 7.8l1.4-1.4L7 9.2zM2 14h12v2H2z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7 1h2v8.2l2.8-2.8 1.4 1.4L8 13 2.8 7.8l1.4-1.4L7 9.2zM2 14h12v2H2z'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media (max-width: 960px) {
	.mimoto-sheets.mimoto-sheets {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 480px) {
	.mimoto-sheets > .mimoto-sheet {
		grid-template-columns: 112px minmax(0, 1fr);
		gap: 0 18px;
	}
}

/* ---------- 0.10.55: Leadership Team bios in a window ----------
 * "Read bio" (or the headshot) opens the person's photo, name, title, profile icons, and bio over the page,
 * so no card moves (Ian, October 16, 2026). X, Esc, or a click outside closes it; Previous and Next move
 * between leaders. assets/js/site.js builds it from the page's own Details block, which stays the source
 * people edit. Without the script the bio opens in place, as styled above.
 */
.has-bio-window .mimoto-team__bio.wp-block-details {
	display: none !important;
}

.has-bio-window .mimoto-team__photo {
	cursor: pointer;
}

.mimoto-team__biobtn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 16px 0 0;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	color: var(--m-navy);
	text-decoration: underline;
	text-decoration-color: var(--m-coral);
	text-underline-offset: 4px;
	cursor: pointer;
}

.mimoto-team__biobtn::after {
	content: "";
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg);
	transition: transform 0.2s ease;
}

.mimoto-team__biobtn:hover,
.mimoto-team__biobtn:focus-visible {
	color: var(--m-coral-text);
}

.mimoto-team__biobtn:hover::after {
	transform: translateX(3px) rotate(-45deg);
}

.mimoto-team__biobtn:focus-visible {
	outline: 2px solid var(--m-coral);
	outline-offset: 3px;
}

html.mimoto-bio-open {
	overflow: hidden;
}

.mimoto-bio {
	width: min(760px, calc(100vw - 32px));
	max-width: none;
	max-height: min(86vh, 880px);
	max-height: min(86dvh, 880px);
	padding: 0;
	border: 0;
	border-top: 4px solid var(--m-coral);
	background: #fff;
	color: var(--m-deep, #0B1533);
	overflow: hidden;
}

.mimoto-bio[open] {
	display: flex;
	flex-direction: column;
}

.mimoto-bio::backdrop {
	background: rgba(11, 21, 51, 0.72);
}

.mimoto-bio__inner {
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: clamp(28px, 4.5vw, 48px) clamp(22px, 4.5vw, 52px) clamp(24px, 3.5vw, 36px);
}

.mimoto-bio__close {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 1;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: #fff;
	color: var(--m-navy);
	cursor: pointer;
}

.mimoto-bio__close span::before,
.mimoto-bio__close span::after {
	content: "";
	position: absolute;
	left: 11px;
	top: 21px;
	width: 22px;
	height: 2px;
	background: currentColor;
	transform: rotate(45deg);
}

.mimoto-bio__close span::after {
	transform: rotate(-45deg);
}

.mimoto-bio__close:hover {
	background: var(--m-navy);
	color: #fff;
}

.mimoto-bio__close:focus-visible {
	outline: 2px solid var(--m-coral);
	outline-offset: -2px;
}

.mimoto-bio__head {
	display: grid;
	grid-template-columns: 176px minmax(0, 1fr);
	gap: 0 clamp(20px, 3vw, 32px);
	align-items: center;
	padding-right: 36px;
}

.mimoto-bio__pic .mimoto-team__photo.wp-block-image {
	width: 176px;
	height: 176px;
	margin: 0;
	cursor: default;
}

.mimoto-bio__pic .mimoto-team__photo.wp-block-image img {
	width: 140px !important;
	height: 140px;
}

.mimoto-bio__name {
	margin: 0;
	font-family: var(--m-display, inherit);
	font-size: clamp(26px, 3.2vw, 34px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: var(--m-navy);
}

.mimoto-bio__role {
	margin: 8px 0 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--m-gray);
}

.mimoto-bio__links .wp-block-social-links {
	margin: 12px 0 0 !important;
	gap: 10px;
}

.mimoto-bio__links .wp-social-link a {
	padding: 0;
}

.mimoto-bio__links .wp-social-link:hover {
	transform: none;
}

.mimoto-bio__links .wp-social-link:hover svg {
	fill: var(--m-coral-text) !important;
}

.mimoto-bio__text {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--m-pale);
}

.mimoto-bio__text p {
	margin: 0 0 14px;
	max-width: 64ch;
	font-size: 17px;
	line-height: 1.65;
}

.mimoto-bio__text a {
	font-weight: 600;
}

.mimoto-bio__nav {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin-top: 24px;
	padding-top: 16px;
	border-top: 1px solid var(--m-pale);
}

.mimoto-bio__nav[hidden] {
	display: none;
}

.mimoto-bio__nav button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	color: var(--m-navy);
	cursor: pointer;
}

.mimoto-bio__nav button::before,
.mimoto-bio__nav button::after {
	content: "";
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
}

.mimoto-bio__prev::before {
	transform: rotate(135deg);
}

.mimoto-bio__prev::after,
.mimoto-bio__next::before {
	display: none;
}

.mimoto-bio__next::after {
	transform: rotate(-45deg);
}

.mimoto-bio__nav button:hover,
.mimoto-bio__nav button:focus-visible {
	color: var(--m-coral-text);
	text-decoration: underline;
	text-decoration-color: var(--m-coral);
	text-underline-offset: 4px;
}

@media (prefers-reduced-motion: no-preference) {
	.mimoto-bio[open] {
		animation: mimoto-bio-in 0.22s cubic-bezier(0.2, 0.7, 0.2, 1);
	}

	.mimoto-bio[open]::backdrop {
		animation: mimoto-bio-fade 0.22s ease-out;
	}
}

@keyframes mimoto-bio-in {
	from {
		opacity: 0;
		transform: translateY(14px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes mimoto-bio-fade {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@media (max-width: 560px) {
	.mimoto-bio__head {
		grid-template-columns: 112px minmax(0, 1fr);
		padding-right: 28px;
	}

	.mimoto-bio__pic .mimoto-team__photo.wp-block-image {
		width: 112px;
		height: 112px;
	}

	.mimoto-bio__pic .mimoto-team__photo.wp-block-image::before,
	.mimoto-bio__pic .mimoto-team__photo.wp-block-image::after {
		border-width: 6px;
	}

	.mimoto-bio__pic .mimoto-team__photo.wp-block-image img {
		width: 88px !important;
		height: 88px;
	}

	.mimoto-bio__text p {
		font-size: 16px;
	}
}

/* ---------- 0.10.57: Partners, the four kinds of partner ----------
 * Kris's partner types (Value-added Resellers, System Integrators, MSPs and MSSPs, Technology Partners) as
 * four simple boxes, the way she laid them out, not cards with a line of text each.
 */
.mimoto-partner-types.mimoto-grid > .is-style-card {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 112px;
	padding: 24px 20px;
	border: 1px solid var(--m-line);
	border-top: 3px solid var(--m-navy);
	background: #fff;
	text-align: center;
}

.mimoto-partner-types .is-style-card .mimoto-card__title {
	margin: 0 !important;
	font-size: clamp(18px, 1.6vw, 20px);
	text-wrap: balance;
}

@media (max-width: 900px) {
	.mimoto-partner-types.mimoto-grid.mimoto-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}
}

@media (max-width: 600px) {
	.mimoto-partner-types.mimoto-grid.mimoto-grid--4 {
		gap: 12px;
	}

	.mimoto-partner-types.mimoto-grid > .is-style-card {
		min-height: 88px;
		padding: 18px 12px;
	}

	.mimoto-partner-types .is-style-card .mimoto-card__title {
		font-size: 16px;
	}
}

/* 0.10.61 (Ian, October 16): "All Solutions" at the top of the Solutions menu, so the hub page is one click
   from the panel. With every use case page held back (Mimoto setup), the panel is All Solutions and
   Markets we serve, in one narrower column. */
@media (min-width: 600px) {
	.site-nav .nav-mega .nav-all {
		grid-column: 1 / -1;
		margin-bottom: 8px;
		padding-bottom: 8px;
		border-bottom: 1px solid var(--m-pale);
	}

	.site-nav .nav-mega > .wp-block-navigation__submenu-container:not(:has(.nav-col-1, .nav-col-2)) {
		grid-template-columns: minmax(0, 1fr);
		min-width: min(420px, calc(100vw - 32px)) !important;
	}

	.site-nav .nav-mega > .wp-block-navigation__submenu-container:not(:has(.nav-col-1, .nav-col-2)) .nav-all {
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: 0;
	}
}

/* 0.10.63: WPForms dropdowns (Reason for Contact) get the same square box and navy chevron as the built-in
   form, not the browser's own arrow against the edge. */
.mimoto-form.is-wpforms .wpforms-container .wpforms-form select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 42px;
	background-color: #fff;
	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;
}

/* 0.10.65 (Kris: "This attribution isn't necessary"): the real-time response animation has no caption, so its
   Play button sits on its own under the picture, at the right. */
.wp-block-video.mimoto-motion > .mimoto-motion__toggle {
	display: block;
	margin: 12px 0 0 auto;
	font-size: 0.875rem;
}

/* 0.10.66 (Ian: "a bit more formal than just a landing page"): a job posting reads like a job description.
   The header has the title, a one-line summary, and the role's facts on one line; the body is one white
   reading column with plain headings and bullet lists. */
.mimoto-job__meta {
	margin-top: 4px !important;
	font-size: 1rem;
	font-weight: 600;
	color: var(--m-gray);
}

.mimoto-job__meta span + span::before {
	content: "\00B7";
	margin: 0 10px;
	color: var(--m-gray);
}

/* The column lines up with the title above it, at a reading width. */
.mimoto-job > * {
	max-width: 760px;
}

.mimoto-job > * + * {
	margin-top: 16px;
}

.mimoto-job h2.mimoto-job__h {
	margin-top: clamp(40px, 5vw, 56px);
	margin-bottom: 0;
	font-size: clamp(1.375rem, 2vw, 1.625rem);
	line-height: 1.25;
}

.mimoto-job > h2.mimoto-job__h:first-child {
	margin-top: 0;
}

.mimoto-job ul.mimoto-job__list {
	margin: 16px 0 0;
	padding-left: 1.25em;
	list-style: disc;
}

.mimoto-job ul.mimoto-job__list li {
	margin: 0 0 10px;
	padding-left: 4px;
	line-height: 1.55;
}

.mimoto-job ul.mimoto-job__list li::marker {
	color: var(--m-navy);
}

.mimoto-job .wp-block-buttons {
	margin-top: 24px;
}
