/* MAPI theme styles. Colours, fonts and spacing come from theme.json presets. */
:root {
	--mapi-navy: var(--wp--preset--color--navy, #13205B);
	--mapi-ink: var(--wp--preset--color--ink, #10184A);
	--mapi-violet: var(--wp--preset--color--violet, #7B3CF6);
	--mapi-blue: var(--wp--preset--color--blue, #3E7BFA);
	--mapi-cyan: var(--wp--preset--color--cyan, #12C8F5);
	--mapi-soft: var(--wp--preset--color--soft, #4E5687);
	--mapi-faint: var(--wp--preset--color--faint, #8489B0);
	--mapi-line: var(--wp--preset--color--line, #D9DCEB);
	--mapi-line-2: #C3C7DE;
	--mapi-mist: var(--wp--preset--color--mist, #F2F3F9);
	--mapi-lav: var(--wp--preset--color--lavender, #EDEFF8);
	--mapi-amber: var(--wp--preset--color--amber, #FFC46B);
	--mapi-green: var(--wp--preset--color--green, #0E9F6E);
	--mapi-grad: linear-gradient(105deg, #7B3CF6 0%, #3E7BFA 55%, #12C8F5 100%);
	--mapi-grad-diag: linear-gradient(135deg, #7B3CF6 0%, #3E7BFA 48%, #12C8F5 100%);
	--mapi-night: linear-gradient(135deg, #1B0F5E 0%, #7B3CF6 55%, #3E7BFA 100%);
	--mapi-shadow: 0 1px 2px rgba(16,24,74,.05), 0 14px 34px -18px rgba(16,24,74,.22);
	--mapi-glow: 0 50px 100px -55px rgba(123,60,246,.45), 0 24px 70px -40px rgba(18,200,245,.35);
	--mapi-mono: var(--wp--preset--font-family--mono, 'IBM Plex Mono', monospace);
	--mapi-sign: var(--wp--preset--font-family--sign, 'Big Shoulders Display', Impact, sans-serif);
	--mapi-section-y: clamp(3rem, 6vw, 5rem);
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
}
body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
h1, h2, h3, h4 { text-wrap: balance; }
:where(h1, h2) { font-stretch: 115%; }
:focus-visible { outline: 2px solid var(--mapi-blue); outline-offset: 3px; }

mark.has-inline-color { background-color: transparent; }
/* Gradient words: select words in a heading and apply Highlight with the Violet text colour. */
:is(h1, h2, h3, .mapi-big) mark.has-inline-color.has-violet-color {
	background: var(--mapi-grad) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	color: transparent !important;
	-webkit-text-fill-color: transparent;
	padding: 0;
}

/* Eyebrow labels */
.is-style-eyebrow {
	font-family: var(--mapi-mono) !important;
	font-size: 0.75rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase;
	color: var(--mapi-soft);
	line-height: 1.4 !important;
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
}
.is-style-eyebrow::before { content: ""; width: 28px; height: 2px; background: var(--mapi-grad); flex: none; }
.has-text-align-center.is-style-eyebrow { justify-content: center; }

/* Buttons */
.wp-block-button__link { transition: transform .15s ease, box-shadow .2s ease, background .2s ease; }
.wp-block-button__link:hover { transform: translateY(-1px); }
.wp-block-button.is-style-gradient .wp-block-button__link {
	background: var(--mapi-grad);
	color: #fff;
	box-shadow: 0 14px 30px -14px rgba(123,60,246,.85);
}
.wp-block-button.is-style-ghost .wp-block-button__link {
	background: transparent;
	color: var(--mapi-ink);
	box-shadow: inset 0 0 0 1.5px var(--mapi-line-2);
}
.wp-block-button.is-style-ghost .wp-block-button__link:hover { box-shadow: inset 0 0 0 1.5px var(--mapi-soft); background: rgba(255,255,255,.6); }
.mapi-on-dark .wp-block-button.is-style-ghost .wp-block-button__link { color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.55); }
.mapi-on-dark .wp-block-button.is-style-ghost .wp-block-button__link:hover { background: rgba(255,255,255,.12); }

/* Sections */
.mapi-section { padding-top: var(--mapi-section-y) !important; padding-bottom: var(--mapi-section-y) !important; margin-block-start: 0 !important; }
.mapi-section + .mapi-section { margin-top: 0 !important; }
.wp-site-blocks > *, .mapi-main { margin-block-start: 0 !important; }
.mapi-header-wrap { position: sticky; top: 0; z-index: 50; }
.admin-bar .mapi-header-wrap { top: var(--wp-admin--admin-bar--height, 32px); }
.mapi-main > .entry-content > *:first-child, .mapi-main .wp-block-post-content > *:first-child { margin-block-start: 0 !important; }
.mapi-main .wp-block-post-content > .alignfull { margin-block-start: 0 !important; }
.mapi-head { display: grid; gap: 0.9rem; max-width: 720px; margin-bottom: clamp(1.75rem, 3.5vw, 2.75rem) !important; }
.mapi-head > * { margin: 0 !important; }
.mapi-head.is-centered { margin-inline: auto !important; text-align: center; justify-items: center; }
.mapi-head p:not(.is-style-eyebrow) { color: var(--mapi-soft); font-size: 1.125rem; max-width: 60ch; }
.mapi-head h2 { font-size: clamp(1.9rem, 3.6vw, 3rem); }

/* ---------- Header ---------- */
.mapi-header {
	/* The frosted background sits on a pseudo-element. A backdrop-filter on the header itself would
	   trap the mobile menu (position: fixed) inside the header bar instead of covering the screen. */
	position: relative;
	border-bottom: 1px solid transparent; transition: border-color .2s, box-shadow .2s;
}
.mapi-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: color-mix(in srgb, var(--mapi-mist) 90%, transparent); backdrop-filter: blur(14px) saturate(1.3); -webkit-backdrop-filter: blur(14px) saturate(1.3); }
.mapi-header.is-scrolled { border-bottom-color: var(--mapi-line); box-shadow: 0 8px 24px -20px rgba(16,24,74,.4); }
.mapi-header__inner { min-height: 84px; gap: 1.5rem !important; }
.mapi-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: inherit; }
.mapi-brand img.mapi-brand__icon { width: 56px; height: 56px; border-radius: 13px; object-fit: cover; background: #fff; box-shadow: 0 6px 18px -10px rgba(16,24,74,.45); }
.mapi-brand__words { display: flex; flex-direction: column; gap: 6px; width: min-content; }
.mapi-brand__words img { height: 34px; width: auto; display: block; max-width: none; }
.mapi-brand__tag { font-weight: 600; font-size: 9.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--mapi-soft); text-align: justify; text-align-last: justify; line-height: 1; white-space: nowrap; }
.mapi-header .wp-block-navigation { gap: 0.25rem 1.5rem; }
.mapi-header .wp-block-navigation a { color: var(--mapi-soft); text-decoration: none; }
.mapi-header .wp-block-navigation a:hover, .mapi-header .wp-block-navigation .current-menu-item > a { color: var(--mapi-ink); }
.mapi-header .wp-block-button__link { padding: 0.7rem 1.2rem; font-size: 0.9375rem; }
.mapi-header .wp-block-navigation { flex-wrap: nowrap; }
.mapi-header .wp-block-navigation .wp-block-navigation-item { white-space: nowrap; }
.mapi-nav .wp-block-navigation-item.mapi-nav__cta { display: none; }

/* Menu button and full-screen mobile menu */
.mapi-header .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 12px; background: #fff; border: 1px solid var(--mapi-line-2); color: var(--mapi-ink); box-shadow: 0 6px 16px -10px rgba(16,24,74,.45); }
.mapi-header .wp-block-navigation__responsive-container-open svg { width: 22px; height: 22px; }
.mapi-header .wp-block-navigation__responsive-container.is-menu-open { position: fixed; inset: 0; padding: 0 !important; background: radial-gradient(120% 60% at 100% 0%, rgba(123,60,246,.14), transparent 60%), var(--mapi-mist) !important; color: var(--mapi-ink) !important; overflow-y: auto; animation: mapiMenuIn .22s ease both; }
.admin-bar .mapi-header .wp-block-navigation__responsive-container.is-menu-open { top: var(--wp-admin--admin-bar--height, 46px); }
.mapi-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog { min-height: 100%; display: flex; flex-direction: column; }
.mapi-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { top: 14px; right: 16px; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 12px; background: #fff; border: 1px solid var(--mapi-line-2); color: var(--mapi-ink); }
.mapi-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg { width: 22px; height: 22px; }
.mapi-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding: 84px clamp(20px, 6vw, 40px) 32px !important; align-items: stretch !important; gap: 0 !important; flex: 1; }
.mapi-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { flex-direction: column; align-items: stretch !important; gap: 0 !important; width: 100%; }
.mapi-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--mapi-line); }
.mapi-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { display: block; width: 100%; box-sizing: border-box; padding: 1rem .25rem !important; font-size: clamp(1.4rem, 5.5vw, 1.75rem); font-weight: 700; font-stretch: 110%; letter-spacing: -.02em; color: var(--mapi-ink) !important; }
.mapi-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.mapi-nav__cta { display: block; border-bottom: 0; margin-top: 1.75rem; }
.mapi-header .wp-block-navigation__responsive-container.is-menu-open .mapi-nav__cta .wp-block-navigation-item__content { text-align: center; padding: 1rem 1.25rem !important; border-radius: 999px; background: var(--mapi-grad); color: #fff !important; font-size: 1.125rem; font-weight: 700; box-shadow: 0 14px 30px -12px rgba(123,60,246,.75); }
@keyframes mapiMenuIn { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .mapi-header .wp-block-navigation__responsive-container.is-menu-open { animation: none; } }

/* Use the menu button up to 1080px wide, so the logo, links and button never crowd each other. */
@media (min-width: 600px) and (max-width: 1080px) {
	.mapi-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.mapi-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
}
@media (max-width: 1080px) {
	.mapi-header__inner > .wp-block-group { gap: .75rem !important; }
}
@media (max-width: 1180px) and (min-width: 1081px) {
	.mapi-header .wp-block-navigation { gap: .25rem 1.1rem; }
}
@media (max-width: 781px) {
	.mapi-header__inner { min-height: 68px; }
	.mapi-brand img.mapi-brand__icon { width: 44px; height: 44px; border-radius: 10px; }
	.mapi-brand__words img { height: 26px; }
	.mapi-brand__tag { font-size: 7.4px; }
}
@media (max-width: 479px) {
	.mapi-header .mapi-header__cta { display: none; }
}

/* ---------- Footer ---------- */
.mapi-footer { background: #0B1240; color: #C9D2F5; }
.mapi-footer a { color: #fff; text-decoration: none; }
.mapi-footer a:hover { color: var(--mapi-cyan); }
.mapi-footer h4 { font-family: var(--mapi-mono); font-size: 0.75rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: #8FA2D8; margin-bottom: .75rem; }
.mapi-footer .wp-block-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; font-size: .95rem; }
.mapi-footer__brand img { height: 30px; width: auto; }
.mapi-footer__brand p { color: #B9C6EE; max-width: 34ch; font-size: .95rem; }
.mapi-footer__bottom { border-top: 1px solid rgba(255,255,255,.12); padding-top: 1.25rem; font-size: .85rem; color: #8FA2D8; }

/* ---------- Hero ---------- */
.mapi-hero { position: relative; overflow: hidden; }
.mapi-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(55% 50% at 88% 0%, rgba(123,60,246,.2), transparent 70%), radial-gradient(45% 45% at 0% 35%, rgba(18,200,245,.12), transparent 70%); }
.mapi-hero > * { position: relative; }
.mapi-hero__grid { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: clamp(2rem, 4vw, 3.5rem) !important; align-items: center; }
.mapi-hero__grid > * { margin: 0 !important; }
.mapi-hero__copy { display: grid; gap: 1.25rem; }
.mapi-hero__copy > * { margin: 0 !important; }
.mapi-hero__title { font-size: clamp(2.2rem, 4.2vw, 3.4rem) !important; line-height: .98 !important; letter-spacing: -.035em; font-stretch: 118%; }
.mapi-hero__lead { font-size: clamp(1.15rem, 1.6vw, 1.35rem); line-height: 1.45; color: var(--mapi-ink); font-weight: 500; max-width: 40ch; }
.mapi-hero__fine { font-family: var(--mapi-mono); font-size: .8rem; color: var(--mapi-faint); }
@media (max-width: 960px) { .mapi-hero__grid { grid-template-columns: minmax(0, 1fr); } }

/* Hero survey visual */
.mapi-survey {
	--lot: #CFE2C2; --grass: #BCD7AC; --tree: #6B9F5B; --tree-hi: #8DBF79; --roof: #8990AC; --roof-hi: #A3A9C2; --roof-lo: #717894;
	--pool: #5BCBEA; --drive: #D6D8E2; --road: #C7CADA; --cad: #6E76B2; --bg-2: #E8EAF4; --fg: #10184A; --violet: #7B3CF6; --blue: #3E7BFA; --cyan: #12C8F5;
	--font-mono: var(--mapi-mono);
	display: grid; grid-template-columns: minmax(0, 1fr) 236px; border: 1px solid var(--mapi-line-2); border-radius: 22px; overflow: hidden; background: #fff; box-shadow: var(--mapi-glow);
	font-size: 14px; line-height: 1.4;
}
.mapi-survey__map { position: relative; min-width: 0; background: var(--lot); display: grid; grid-template-rows: auto 1fr; }
.mapi-survey__bar { display: flex; gap: 6px; align-items: center; padding: 8px 10px; background: rgba(232,234,244,.92); border-bottom: 1px solid var(--mapi-line-2); font-family: var(--mapi-mono); font-size: 11px; flex-wrap: wrap; }
.mapi-survey__bar span { display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px; border-radius: 7px; background: #fff; color: var(--mapi-ink); }
.mapi-survey__bar span i { width: 6px; height: 6px; border-radius: 50%; background: var(--mapi-cyan); box-shadow: 0 0 8px var(--mapi-cyan); }
.mapi-survey__bar button { margin-left: auto; display: inline-flex; align-items: center; gap: 5px; background: none; border: 1px solid var(--mapi-line-2); border-radius: 7px; padding: 3px 9px; font: inherit; color: var(--mapi-soft); cursor: pointer; }
.mapi-survey__bar button:hover { color: var(--mapi-ink); border-color: var(--mapi-soft); }
.mapi-survey__bar button svg { width: 12px; height: 12px; }
.mapi-survey__map > svg { display: block; width: 100%; height: auto; align-self: center; }
.mapi-survey .outline { stroke-dasharray: 100; animation: mapiDraw 1.8s cubic-bezier(.6,0,.2,1) .2s both; }
.mapi-survey .hipline { stroke-dasharray: 100; animation: mapiDraw 1.2s ease-out 1.6s both; }
.mapi-survey .node { animation: mapiPop .4s cubic-bezier(.3,1.6,.5,1) both; transform-box: fill-box; transform-origin: center; }
.mapi-survey .dim { animation: mapiFade .6s ease 1.9s both; }
.mapi-survey .area { opacity: .2; animation: mapiArea .9s ease 1.9s both; }
.mapi-survey .comet { opacity: 0; stroke-dasharray: 7 93; animation: mapiCometIn .4s ease 2.1s forwards, mapiOrbit 4.5s linear 2.1s infinite; }
.mapi-survey .ping { opacity: 0; transform-box: fill-box; transform-origin: center; animation: mapiPing 2.8s ease-out infinite; }
.mapi-survey .scan { animation: mapiSweep 6.5s cubic-bezier(.45,0,.55,1) 2.8s infinite; }
@keyframes mapiDraw { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
@keyframes mapiPop { from { transform: scale(.2); } to { transform: none; } }
@keyframes mapiFade { from { opacity: .25; } to { opacity: 1; } }
@keyframes mapiArea { from { opacity: 0; } to { opacity: .2; } }
@keyframes mapiCometIn { to { opacity: 1; } }
@keyframes mapiOrbit { from { stroke-dashoffset: 0; } to { stroke-dashoffset: -100; } }
@keyframes mapiPing { 0% { transform: scale(1); opacity: .8; } 75%, 100% { transform: scale(3); opacity: 0; } }
@keyframes mapiSweep { 0% { transform: translateX(0); } 50%, 100% { transform: translateX(1060px); } }
.mapi-survey__quote { border-left: 1px solid var(--mapi-line-2); padding: 16px; display: grid; gap: 11px; align-content: start; min-width: 0; background: #fff; }
.mapi-survey__quote .k { font-family: var(--mapi-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--mapi-faint); display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.mapi-survey__quote .k em { font-style: normal; border: 1px solid var(--mapi-line-2); border-radius: 5px; padding: 2px 6px; font-size: 9px; color: var(--mapi-soft); }
.mapi-survey__quote .addr { font-weight: 600; font-size: 14px; line-height: 1.3; }
.mapi-survey__quote .big { padding: 12px; border-radius: 12px; background: var(--mapi-lav); }
.mapi-survey__quote .big b { display: block; font-size: 32px; font-weight: 800; font-stretch: 115%; letter-spacing: -.03em; line-height: 1; }
.mapi-survey__quote .big small { font-size: 13px; font-weight: 700; }
.mapi-survey__quote .row { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-bottom: 1px dashed var(--mapi-line-2); font-size: 13px; }
.mapi-survey__quote .row span:first-child { color: var(--mapi-soft); }
.mapi-survey__quote .row span:last-child { font-family: var(--mapi-mono); }
.mapi-survey__quote .total { display: flex; justify-content: space-between; align-items: baseline; }
.mapi-survey__quote .total b { font-size: 22px; font-weight: 800; letter-spacing: -.02em; }
.mapi-survey__sent { display: flex; gap: 9px; align-items: flex-start; padding: 10px; border-radius: 11px; background: #E3F6EE; color: #0B7A55; font-weight: 600; font-size: 12.5px; line-height: 1.35; animation: mapiFade .6s ease 2.3s both; }
.mapi-survey__sent svg { width: 16px; height: 16px; flex: none; margin-top: 1px; }
.mapi-survey__sent span small { display: block; font-weight: 500; color: #3F8D70; font-family: var(--mapi-mono); font-size: 10.5px; margin-top: 2px; }
@media (max-width: 600px) {
	.mapi-survey { grid-template-columns: minmax(0, 1fr); }
	.mapi-survey__quote { border-left: 0; border-top: 1px solid var(--mapi-line-2); }
}

/* ---------- Cards grid (benefits) ---------- */
.mapi-cards { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem !important; }
@media (max-width: 1100px) { .mapi-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .mapi-cards { grid-template-columns: minmax(0, 1fr); } }
.mapi-cards > * { margin: 0 !important; }
.mapi-card { position: relative; background: #fff; border: 1px solid var(--mapi-line); border-radius: 22px; padding: 1.5rem 1.4rem 1.4rem !important; box-shadow: var(--mapi-shadow); display: grid; gap: .6rem; align-content: start; overflow: hidden; }
.mapi-card > * { margin: 0 !important; }
.mapi-card h3 { font-size: 1.2rem; }
.mapi-card p { color: var(--mapi-soft); font-size: .98rem; }
.mapi-card::before { content: ""; width: 46px; height: 46px; border-radius: 14px; background: var(--mapi-grad-diag); box-shadow: 0 10px 20px -10px rgba(123,60,246,.8); margin-bottom: .4rem;
	-webkit-mask: var(--mapi-ic, none) center / 24px no-repeat, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: var(--mapi-ic, none) center / 24px no-repeat exclude, linear-gradient(#000 0 0); }
.mapi-card.is-feature { grid-column: 1 / -1; background: linear-gradient(#fff, #fff) padding-box, var(--mapi-grad) border-box; border: 2px solid transparent; box-shadow: var(--mapi-glow); }
.mapi-card.is-feature h3 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); }
.mapi-card.is-feature p { font-size: 1.08rem; max-width: 62ch; }
.has-ic-bolt { --mapi-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2L4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E"); }
.has-ic-noadmin { --mapi-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h3'/%3E%3Cpath d='M4 4l16 16'/%3E%3C/svg%3E"); }
.has-ic-team { --mapi-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M16.5 14.6c2.6.2 4.5 2 4.5 4.9'/%3E%3C/svg%3E"); }
.has-ic-plug { --mapi-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3v5M15 3v5M6 8h12v3a6 6 0 01-12 0zM12 17v4'/%3E%3C/svg%3E"); }
.has-ic-tag { --mapi-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12V4h8l10 10-8 8z'/%3E%3Ccircle cx='7.5' cy='8.5' r='1.5'/%3E%3C/svg%3E"); }
.has-ic-shield { --mapi-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 4.5-3.4 8.3-8 9-4.6-.7-8-4.5-8-9V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E"); }
.has-ic-map { --mapi-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7l6-3 6 3 6-3v13l-6 3-6-3-6 3z'/%3E%3Cpath d='M9 4v13M15 7v13'/%3E%3C/svg%3E"); }
.has-ic-measure { --mapi-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 18L7 6l9 1 4 11z'/%3E%3Ccircle cx='4' cy='18' r='1.7'/%3E%3Ccircle cx='7' cy='6' r='1.7'/%3E%3Ccircle cx='16' cy='7' r='1.7'/%3E%3Ccircle cx='20' cy='18' r='1.7'/%3E%3C/svg%3E"); }
.has-ic-dollar { --mapi-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v20M17 6.5c-.8-1.6-2.6-2.5-5-2.5-2.8 0-5 1.4-5 3.6 0 5.2 10 2.6 10 8 0 2.2-2.2 3.9-5 3.9-2.6 0-4.5-1-5.3-2.8'/%3E%3C/svg%3E"); }

/* ---------- Comparison table ---------- */
.wp-block-table.is-style-compare { margin: 0; overflow-x: auto; border-radius: 22px; background: #fff; box-shadow: var(--mapi-shadow); border: 1px solid var(--mapi-line); }
.wp-block-table.is-style-compare table { border-collapse: collapse; width: 100%; min-width: 560px; font-size: 1rem; }
.wp-block-table.is-style-compare th, .wp-block-table.is-style-compare td { border: 0; border-bottom: 1px solid var(--mapi-line); padding: .9rem 1.1rem; text-align: left; vertical-align: top; }
.wp-block-table.is-style-compare thead th { font-family: var(--mapi-mono); font-size: .75rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--mapi-soft); background: var(--mapi-lav); border-bottom: 1px solid var(--mapi-line); }
.wp-block-table.is-style-compare thead th:last-child { background: var(--mapi-grad); color: #fff; }
.wp-block-table.is-style-compare tbody td:first-child { font-weight: 700; color: var(--mapi-ink); width: 24%; }
.wp-block-table.is-style-compare tbody td:nth-child(2) { color: var(--mapi-soft); }
.wp-block-table.is-style-compare tbody td:last-child { font-weight: 700; color: var(--mapi-ink); background: rgba(123,60,246,.05); }
.wp-block-table.is-style-compare tbody tr:last-child td { border-bottom: 0; }
.wp-block-table.is-style-compare figcaption { display: none; }
.mapi-callout { margin-top: 1.5rem !important; padding: 1.1rem 1.4rem !important; border-radius: 18px; background: #fff; border: 1px solid var(--mapi-line); font-size: 1.12rem; font-weight: 600; color: var(--mapi-ink); display: flex; gap: .9rem; align-items: center; }
.mapi-callout::before { content: ""; flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--mapi-grad-diag); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/18px no-repeat, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/18px no-repeat exclude, linear-gradient(#000 0 0); }

/* ---------- How it works (violet band) ---------- */
.mapi-flow { color: #fff; background: radial-gradient(70% 110% at 100% 0%, rgba(18,200,245,.38), transparent 60%), var(--mapi-night); }
.mapi-flow :is(h2, h3, p) { color: #fff; }
.mapi-flow .is-style-eyebrow { color: rgba(255,255,255,.75); }
.mapi-flow__grid { display: grid !important; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 5vw, 4.5rem) !important; align-items: start; }
.mapi-flow__grid > * { margin: 0 !important; }
.mapi-flow__intro { position: sticky; top: 110px; display: grid; gap: 1.1rem; }
.mapi-flow__intro > * { margin: 0 !important; }
.mapi-flow__intro h2 { font-family: var(--mapi-sign); font-weight: 900; font-stretch: normal; letter-spacing: .005em; font-size: clamp(2.6rem, 5vw, 4rem); line-height: .95; }
.mapi-flow__intro p.mapi-flow__lead { font-size: clamp(1.25rem, 2vw, 1.6rem); font-weight: 600; line-height: 1.35; padding-left: 1rem; border-left: 4px solid #7FE3FF; text-shadow: 0 2px 18px rgba(10,6,60,.35); max-width: 24ch; }
.mapi-steps { display: grid; gap: 1rem; counter-reset: mapistep; }
.mapi-steps > * { margin: 0 !important; }
.mapi-step { position: relative; counter-increment: mapistep; display: grid; gap: .45rem; padding: 1.1rem 1.3rem 1.2rem 1.3rem !important; margin-left: 4.25rem !important; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.22); border-radius: 18px; }
.mapi-step > * { margin: 0 !important; }
.mapi-step::before { content: counter(mapistep); position: absolute; left: -4.25rem; top: 0; width: 3.25rem; height: 3.25rem; border-radius: 50%; background: #fff; color: #5B2BD9; display: grid; place-items: center; font-family: var(--mapi-sign); font-weight: 900; font-size: 1.8rem; box-shadow: 0 0 0 6px rgba(255,255,255,.16), 0 12px 26px -12px rgba(10,6,60,.9); }
.mapi-step:not(:last-child)::after { content: ""; position: absolute; left: calc(-4.25rem + 1.625rem - 1px); top: 3.25rem; bottom: -1rem; border-left: 2px dashed rgba(255,255,255,.55); }
.mapi-step h3 { font-size: 1.25rem; }
.mapi-step p { color: rgba(255,255,255,.9) !important; font-size: 1rem; }
.mapi-step .mapi-who { font-family: var(--mapi-mono); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; display: inline-flex; align-items: center; gap: .45rem; justify-self: start; padding: .25rem .6rem; border-radius: 999px; background: rgba(255,255,255,.16); color: #fff !important; }
.mapi-step .mapi-who::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #fff; }
.mapi-step .mapi-who.is-customer::before { background: #7DE3FF; }
.mapi-step.is-you { background: #fff; border-color: transparent; box-shadow: 0 0 0 3px var(--mapi-amber), 0 22px 44px -22px rgba(10,6,60,.8); }
.mapi-step.is-you::before { background: var(--mapi-amber); color: #3A2300; }
.mapi-step.is-you :is(h3, p) { color: var(--mapi-ink) !important; }
.mapi-step.is-you p:not(.mapi-who) { color: var(--mapi-soft) !important; }
.mapi-step.is-you .mapi-who { background: var(--mapi-lav); color: var(--mapi-ink) !important; }
.mapi-step.is-you .mapi-who::before { background: var(--mapi-amber); }
@media (max-width: 900px) {
	.mapi-flow__grid { grid-template-columns: minmax(0, 1fr); }
	.mapi-flow__intro { position: static; }
}
@media (max-width: 520px) {
	.mapi-step { margin-left: 3.4rem !important; padding: 1rem !important; }
	.mapi-step::before { left: -3.4rem; width: 2.6rem; height: 2.6rem; font-size: 1.45rem; }
	.mapi-step:not(:last-child)::after { left: calc(-3.4rem + 1.3rem - 1px); top: 2.6rem; }
}

/* ---------- Trades ---------- */
.mapi-trades { background-color: #F6F7FE; background-image: radial-gradient(50% 55% at 92% 0%, rgba(123,60,246,.14), transparent 70%), radial-gradient(45% 50% at 0% 100%, rgba(18,200,245,.14), transparent 70%), linear-gradient(rgba(62,123,250,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(62,123,250,.06) 1px, transparent 1px); background-size: auto, auto, 48px 48px, 48px 48px; }
.mapi-trade-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); gap: 1rem !important; align-items: start; }
.mapi-trade-grid > * { margin: 0 !important; }
.mapi-trade { position: relative; overflow: hidden; background: #fff; border: 1px solid var(--mapi-line); border-radius: 22px; padding: 1.4rem 1.2rem 1rem !important; box-shadow: var(--mapi-shadow); display: grid; gap: .55rem; }
.mapi-trade > * { margin: 0 !important; }
.mapi-trade::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: var(--mapi-grad); }
.mapi-trade__icon { width: 56px; height: 56px; border-radius: 50%; background: var(--mapi-grad-diag); color: #fff; display: grid; place-items: center; box-shadow: 0 0 0 6px rgba(123,60,246,.1), 0 14px 28px -10px rgba(62,123,250,.7); margin-bottom: .3rem !important; }
.mapi-trade__icon svg { width: 28px; height: 28px; }
.mapi-trade h3 { font-family: var(--mapi-sign); font-weight: 900; text-transform: uppercase; letter-spacing: .02em; font-size: 1.5rem; line-height: .95; color: var(--mapi-navy); font-stretch: normal; }
.mapi-trade .mapi-trade__measure { font-family: var(--mapi-mono); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--mapi-blue); line-height: 1.4; }
.mapi-trade .mapi-trade__value { font-family: var(--mapi-sign); font-weight: 900; font-size: 2.6rem; line-height: .9; background: var(--mapi-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mapi-trade .wp-block-details { border-top: 1px solid var(--mapi-line); padding-top: .55rem; }
.mapi-trade .wp-block-details summary { font-weight: 600; font-size: .9rem; color: var(--mapi-blue); cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.mapi-trade .wp-block-details summary::-webkit-details-marker { display: none; }
.mapi-trade .wp-block-details summary::after { content: ""; width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--mapi-line-2); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233E7BFA' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/14px no-repeat; transition: transform .25s; flex: none; }
.mapi-trade .wp-block-details[open] summary::after { transform: rotate(180deg); }
.mapi-trade .wp-block-details > *:not(summary) { margin-top: .7rem; }
.mapi-trade .wp-block-details p { font-size: .9rem; color: var(--mapi-soft); }
.mapi-trade .wp-block-list { list-style: none; padding: 0; font-family: var(--mapi-mono); font-size: .75rem; border-top: 1px solid var(--mapi-line); }
.mapi-trade .wp-block-list li { padding: .4rem 0; border-bottom: 1px dashed var(--mapi-line-2); }
.mapi-xsec { border-radius: 14px; border: 1px solid var(--mapi-line); background: #F3F6FF; padding: 8px; --bp-bg: #F3F6FF; --bp-ink: #10184A; --bp-line: rgba(62,123,250,.35); --violet: #7B3CF6; --blue: #3E7BFA; --cyan: #12C8F5; --font-mono: var(--mapi-mono); }
.mapi-xsec svg { display: block; width: 100%; height: auto; }
.mapi-trade:has(details[open]) { border-color: transparent; background: linear-gradient(#fff, #fff) padding-box, var(--mapi-grad) border-box; border: 2px solid transparent; box-shadow: var(--mapi-glow); }

/* ---------- Problems solved ---------- */
.mapi-solved { display: grid; width: 100%; max-width: 820px !important; margin-inline: auto !important; }
.mapi-solved > * { margin: 0 !important; }
.mapi-solved__item { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 1.25rem; align-content: start; padding: 1.35rem 0 !important; border-bottom: 1px solid var(--mapi-line); }
.mapi-solved__item:first-child { border-top: 1px solid var(--mapi-line); }
.mapi-solved__item > * { margin: 0 !important; grid-column: 2; }
.mapi-solved__item::before { content: ""; grid-column: 1; grid-row: 1 / span 3; align-self: start; margin-top: .15rem; width: 44px; height: 44px; border-radius: 50%; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/20px no-repeat, radial-gradient(circle at 32% 26%, rgba(255,255,255,.5), transparent 46%), var(--mapi-grad-diag); box-shadow: 0 0 0 4px rgba(62,123,250,.12), 0 10px 20px -8px rgba(123,60,246,.75); }
.mapi-solved__item h3 { font-size: clamp(1.1rem, 1.8vw, 1.3rem); font-weight: 600; letter-spacing: -.01em; line-height: 1.35; text-align: left; }
.mapi-solved__item h3::before { content: "Solved"; display: block; width: max-content; margin-bottom: .3rem; font-family: var(--mapi-mono); font-size: .68rem; font-weight: 500; letter-spacing: .16em; line-height: 1.2; text-transform: uppercase; background: var(--mapi-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mapi-solved__item p { color: var(--mapi-soft); font-style: italic; font-size: .98rem; margin-top: .35rem !important; text-align: left; }
@media (max-width: 640px) { .mapi-solved__item { grid-template-columns: 40px minmax(0, 1fr); column-gap: .9rem; } .mapi-solved__item::before { width: 38px; height: 38px; background-size: 17px, auto, auto; } }
.mapi-closer { text-align: center; font-weight: 800; font-stretch: 118%; letter-spacing: -.03em; font-size: clamp(1.4rem, 2.6vw, 2rem) !important; line-height: 1.1; margin-top: 2rem !important; }

/* ---------- Tools ---------- */
.mapi-tools { display: flex !important; flex-wrap: wrap; gap: .75rem !important; justify-content: center; }
.mapi-tools > * { margin: 0 !important; }
.mapi-tool { display: inline-flex; align-items: center; gap: .6rem; padding: .7rem 1.2rem !important; border-radius: 999px; background: #fff; border: 1px solid var(--mapi-line); box-shadow: var(--mapi-shadow); font-weight: 700; font-size: 1.05rem; color: var(--mapi-ink); }
.mapi-tool::before { content: ""; width: 10px; height: 10px; transform: rotate(45deg); background: var(--mapi-grad); }
.mapi-tool.is-more { background: transparent; box-shadow: none; border-style: dashed; color: var(--mapi-soft); font-weight: 600; }
.mapi-tool.is-more::before { display: none; }

/* ---------- Pricing ---------- */
.mapi-plans { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem !important; align-items: stretch; padding-top: 1.5rem; }
.mapi-plans > * { margin: 0 !important; }
.mapi-plan { position: relative; display: flex !important; flex-direction: column; gap: .9rem; padding: 2rem 1.6rem 1.6rem !important; border-radius: 24px; background: #fff; border: 1px solid var(--mapi-line-2); box-shadow: 0 24px 48px -36px rgba(19,32,91,.45); }
.mapi-plan > * { margin: 0 !important; }
.mapi-plan h3 { font-size: 1.5rem; font-stretch: 115%; }
.mapi-plan .mapi-plan__blurb { color: var(--mapi-soft); font-size: .95rem; min-height: 2.9em; }
.mapi-plan .mapi-plan__offer { align-self: flex-start; display: inline-block; max-width: 100%; padding: .38rem .75rem; border-radius: 999px; background: #FFF4E0; color: #8A5300; font-family: var(--mapi-mono); font-size: .68rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; line-height: 1.2; }
.mapi-plan .mapi-plan__offer strong { font-weight: 600; color: #6B3F00; }
.mapi-plan .mapi-plan__offer strong::before { content: "· "; font-weight: 500; opacity: .7; }
@media (max-width: 1180px) {
	.mapi-plan .mapi-plan__offer { border-radius: 12px; line-height: 1.45; }
	.mapi-plan .mapi-plan__offer strong { display: block; }
	.mapi-plan .mapi-plan__offer strong::before { content: none; }
}
.mapi-plan .mapi-plan__offer.is-plain { background: var(--mapi-lav); color: var(--mapi-soft); }
.mapi-plan .mapi-plan__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 .5rem; font-size: clamp(2.6rem, 4vw, 3.4rem); font-weight: 800; font-stretch: 112%; letter-spacing: -.045em; line-height: 1; padding-bottom: 1.1rem; border-bottom: 1px solid var(--mapi-line-2); color: var(--mapi-ink); }
.mapi-plan .mapi-plan__price s { position: relative; font-size: .48em; font-weight: 700; letter-spacing: -.02em; color: var(--mapi-faint); text-decoration: none; }
.mapi-plan .mapi-plan__price s::after { content: ""; position: absolute; left: -6%; right: -6%; top: 52%; height: 2px; border-radius: 2px; background: #E5484D; transform: rotate(-12deg); }
.mapi-plan .mapi-plan__price small { font-size: .9rem; font-weight: 500; letter-spacing: 0; color: var(--mapi-faint); margin-left: -.2rem; }
.mapi-plan .mapi-plan__price.is-custom { font-size: clamp(1.75rem, 2.6vw, 2.5rem); letter-spacing: -.035em; background: var(--mapi-grad); -webkit-background-clip: text; background-clip: text; color: transparent; padding-top: .25em; }
.mapi-plan .wp-block-list { flex: 1; align-content: start; font-size: .95rem; }
.mapi-plan .wp-block-buttons { margin-top: auto !important; padding-top: .4rem; }
.mapi-plan .wp-block-button, .mapi-plan .wp-block-button__link { width: 100%; }

/* Growth: the dark, featured card */
.mapi-plan.is-featured { color: #fff; background: radial-gradient(120% 70% at 100% 0%, rgba(18,200,245,.28), transparent 60%), radial-gradient(90% 60% at 0% 100%, rgba(123,60,246,.45), transparent 65%), linear-gradient(160deg, #1B2A78 0%, #10184A 100%) padding-box, var(--mapi-grad) border-box; border: 2px solid transparent; box-shadow: 0 40px 70px -30px rgba(76,44,190,.75); transform: translateY(-16px); }
.mapi-plan.is-featured::before { content: "★ Most popular"; position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--mapi-grad); color: #fff; font-weight: 700; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; padding: .45rem 1rem; border-radius: 999px; white-space: nowrap; box-shadow: 0 10px 24px -8px rgba(123,60,246,.8); }
.mapi-plan.is-featured h3, .mapi-plan.is-featured .mapi-plan__price { color: #fff; }
.mapi-plan.is-featured .mapi-plan__blurb { color: #C9D2F5; }
.mapi-plan.is-featured .mapi-plan__offer { background: rgba(255,196,107,.16); color: #FFD89A; box-shadow: inset 0 0 0 1px rgba(255,196,107,.35); }
.mapi-plan.is-featured .mapi-plan__offer strong { color: #FFC46B; }
.mapi-plan.is-featured .mapi-plan__price { border-bottom-color: rgba(255,255,255,.16); }
.mapi-plan.is-featured .mapi-plan__price s, .mapi-plan.is-featured .mapi-plan__price small { color: #8E9BD0; }
.mapi-plan.is-featured .wp-block-list { color: #E4E8FB; }
.mapi-plan.is-featured .wp-block-list strong { color: #fff; }
.mapi-plans__note { margin-top: 2.25rem !important; color: var(--mapi-faint); font-family: var(--mapi-mono); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
@media (max-width: 1080px) and (min-width: 881px) {
	.mapi-plan { padding: 1.75rem 1.25rem 1.4rem !important; }
	.mapi-plan .mapi-plan__offer { font-size: .62rem; }
}
@media (max-width: 880px) {
	.mapi-plans { grid-template-columns: minmax(0, 1fr); max-width: 480px; margin-inline: auto !important; gap: 2rem !important; }
	.mapi-plan.is-featured { transform: none; }
	.mapi-plan .mapi-plan__blurb { min-height: 0; }
}

/* Ticked lists */
.wp-block-list.is-style-ticks { list-style: none; padding: 0; display: grid; gap: .55rem; }
.wp-block-list.is-style-ticks li { position: relative; padding-left: 2rem; line-height: 1.4; }
.wp-block-list.is-style-ticks li::before { content: ""; position: absolute; left: 0; top: .05em; width: 1.3rem; height: 1.3rem; border-radius: 50%; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/.8rem no-repeat, var(--mapi-grad-diag); }
.wp-block-list.is-style-ticks li.is-heading, .mapi-plan .wp-block-list.is-style-ticks li:has(strong:only-child) { padding-left: 0; font-weight: 700; }
.wp-block-list.is-style-ticks li.is-heading::before, .mapi-plan .wp-block-list.is-style-ticks li:has(strong:only-child)::before { display: none; }

/* ---------- FAQ ---------- */
.mapi-faq { display: grid; gap: .7rem; max-width: 860px; margin-inline: auto !important; }
.mapi-faq > * { margin: 0 !important; }
.wp-block-details.is-style-faq { background: #fff; border: 1px solid var(--mapi-line); border-radius: 18px; padding: 0; box-shadow: 0 1px 2px rgba(16,24,74,.04); transition: border-color .2s, box-shadow .2s; }
.wp-block-details.is-style-faq summary { list-style: none; cursor: pointer; padding: 1.05rem 1.2rem; font-weight: 700; font-size: 1.05rem; display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.wp-block-details.is-style-faq summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-faq summary::after { content: ""; flex: none; width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid var(--mapi-line-2); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233E7BFA' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/13px no-repeat; transition: transform .25s; }
.wp-block-details.is-style-faq[open] { border-color: transparent; background: linear-gradient(#fff, #fff) padding-box, var(--mapi-grad) border-box; border: 1.5px solid transparent; box-shadow: var(--mapi-shadow); }
.wp-block-details.is-style-faq[open] summary::after { transform: rotate(45deg); border-color: var(--mapi-blue); }
.wp-block-details.is-style-faq > *:not(summary) { padding: 0 1.2rem 1.1rem; margin: 0; color: var(--mapi-soft); }

/* ---------- Measuring explainer ---------- */
.mapi-measure { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1rem !important; counter-reset: mapimeasure; }
.mapi-measure > * { margin: 0 !important; }
.mapi-measure .mapi-card { counter-increment: mapimeasure; }
.mapi-measure .mapi-card::after { content: "0" counter(mapimeasure); position: absolute; top: 1.2rem; right: 1.3rem; font-family: var(--mapi-mono); font-size: .8rem; color: var(--mapi-faint); }

/* ---------- Page header ---------- */
.mapi-pagehead { position: relative; overflow: hidden; }
.mapi-pagehead::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(50% 70% at 90% 0%, rgba(123,60,246,.18), transparent 70%), radial-gradient(40% 60% at 0% 100%, rgba(18,200,245,.12), transparent 70%); }
.mapi-pagehead > * { position: relative; }
.mapi-pagehead h1 { font-size: clamp(2.2rem, 4.6vw, 3.6rem) !important; }
.mapi-pagehead p:not(.is-style-eyebrow) { font-size: 1.2rem; color: var(--mapi-soft); max-width: 58ch; }

/* ---------- CTA band ---------- */
.mapi-cta { position: relative; overflow: hidden; background: #0B1240; color: #fff; }
.mapi-cta::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(55% 80% at 90% 0%, rgba(123,60,246,.55), transparent 70%), radial-gradient(45% 70% at 0% 100%, rgba(18,200,245,.35), transparent 70%); }
.mapi-cta > * { position: relative; }
.mapi-cta :is(h2, p) { color: #fff; }
.mapi-cta p, .mapi-cta .mapi-head p:not(.is-style-eyebrow) { color: #C9D2F5; font-size: 1.15rem; }
.mapi-cta .is-style-eyebrow { color: #8FA2D8; }

/* ---------- Contact ---------- */
.mapi-contact { display: grid !important; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); border-radius: 26px; overflow: hidden; background: linear-gradient(#fff, #fff) padding-box, var(--mapi-grad) border-box; border: 2px solid transparent; box-shadow: var(--mapi-glow); gap: 0 !important; }
.mapi-contact > * { margin: 0 !important; }
.mapi-contact__side { background: #0B1240; color: #C9D2F5; padding: clamp(1.75rem, 4vw, 3rem) !important; display: grid; gap: 1.1rem; align-content: start; position: relative; overflow: hidden; }
.mapi-contact__side::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(60% 50% at 100% 0%, rgba(123,60,246,.5), transparent 70%), radial-gradient(50% 45% at 0% 100%, rgba(18,200,245,.3), transparent 70%); }
.mapi-contact__side > * { position: relative; margin: 0 !important; }
.mapi-contact__side h2 { color: #fff; font-size: clamp(1.8rem, 3.4vw, 2.6rem); }
.mapi-contact__side a { color: #fff; }
.mapi-contact__form { padding: clamp(1.5rem, 4vw, 2.75rem) !important; }
@media (max-width: 860px) { .mapi-contact { grid-template-columns: minmax(0, 1fr); } }

.mapi-cf__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem 1.2rem; margin: 0; }
.mapi-cf__form > p { margin: 0; }
.mapi-cf__field { display: grid; gap: .35rem; min-width: 0; }
.mapi-cf__field.is-full, .mapi-cf__actions { grid-column: 1 / -1; }
.mapi-cf__field label { font-family: var(--mapi-mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--mapi-soft); }
.mapi-cf__opt { text-transform: none; letter-spacing: 0; color: var(--mapi-faint); }
.mapi-cf__field :is(input, select, textarea) { width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; color: var(--mapi-ink); background: var(--mapi-mist); border: 1.5px solid var(--mapi-line); border-radius: 12px; padding: .75rem .9rem; transition: border-color .15s, box-shadow .15s; }
.mapi-cf__field textarea { min-height: 110px; resize: vertical; }
.mapi-cf__field :is(input, select, textarea):focus { outline: none; border-color: var(--mapi-blue); box-shadow: 0 0 0 4px rgba(62,123,250,.15); background: #fff; }
.mapi-cf__field.has-error :is(input, select, textarea) { border-color: #C2334D; }
.mapi-cf__error { color: #C2334D; font-size: .85rem; }
.mapi-cf__actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.mapi-cf__submit { border: 0; cursor: pointer; background: var(--mapi-grad) !important; color: #fff; font: inherit; font-weight: 700; padding: .9rem 1.6rem; border-radius: 999px; box-shadow: 0 14px 30px -14px rgba(123,60,246,.85); }
.mapi-cf__submit:hover { transform: translateY(-1px); }
.mapi-cf__fine { font-size: .85rem; color: var(--mapi-faint); }
.mapi-cf__notice { border-radius: 12px; padding: .9rem 1.1rem; margin-bottom: 1.1rem; font-size: .98rem; }
.mapi-cf__notice.is-success { background: #E3F6EE; color: #0B7A55; }
.mapi-cf__notice.is-error { background: #FBE7EB; color: #A3283F; }
.mapi-cf__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 560px) { .mapi-cf__form { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Blog / default pages ---------- */
.mapi-article { padding-block: var(--mapi-section-y); }
.mapi-article .wp-block-post-title { font-size: clamp(2rem, 4vw, 3rem); }
.mapi-posts .wp-block-post { background: #fff; border: 1px solid var(--mapi-line); border-radius: 20px; padding: 1.4rem; box-shadow: var(--mapi-shadow); }

/* ---------------------------------------------------------------- Demo video and real screens */
.mapi-browser { position: relative; border-radius: 18px; overflow: hidden; background: #fff; border: 1px solid var(--mapi-line-2); box-shadow: 0 1px 0 rgba(255,255,255,.8) inset, 0 30px 60px -28px rgba(19,32,91,.45), 0 12px 24px -16px rgba(123,60,246,.35); }
.mapi-browser__bar { display: flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; background: var(--mapi-lav); border-bottom: 1px solid var(--mapi-line-2); }
.mapi-browser__bar i { width: 9px; height: 9px; border-radius: 50%; background: #CBD0E6; }
.mapi-browser__bar i:first-child { background: #F6A6A6; } .mapi-browser__bar i:nth-child(2) { background: #F6D58E; } .mapi-browser__bar i:nth-child(3) { background: #A9DDB4; }
.mapi-browser__bar span { margin: 0 auto; padding: 3px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--mapi-line-2); font-family: var(--mapi-mono); font-size: 11px; color: var(--mapi-soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 70%; }
.mapi-browser img, .mapi-browser video { display: block; width: 100%; height: auto; }

.mapi-demo-sec .mapi-head { margin-bottom: 2.25rem !important; }
.mapi-demo { max-width: 1080px; margin: 0 auto; }
.mapi-demo__stage { position: relative; background: #F4F5FA; }
.mapi-demo__stage video { aspect-ratio: 1440 / 742; object-fit: cover; }
.mapi-demo__toggle { position: absolute; right: 14px; bottom: 14px; width: 42px; height: 42px; border-radius: 50%; border: 0; display: grid; place-items: center; cursor: pointer; color: #fff; background: rgba(16,24,74,.72); backdrop-filter: blur(6px); box-shadow: 0 6px 16px -6px rgba(16,24,74,.6); transition: transform .15s ease, background .15s ease; }
.mapi-demo__toggle:hover { transform: scale(1.06); background: rgba(16,24,74,.9); }
.mapi-demo__toggle:focus-visible { outline: 3px solid var(--mapi-cyan); outline-offset: 2px; }
.mapi-demo__toggle svg { width: 18px; height: 18px; }
.mapi-demo__toggle .i-play, .mapi-demo.is-paused .mapi-demo__toggle .i-pause { display: none; }
.mapi-demo.is-paused .mapi-demo__toggle .i-play { display: block; }
.mapi-demo:not(.is-ready) .mapi-demo__toggle { display: none; }
.mapi-demo__chapters { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .5rem; counter-reset: none; }
.mapi-demo__chapters li { margin: 0; }
.mapi-demo__chapters button { position: relative; width: 100%; height: 100%; text-align: left; display: grid; gap: .2rem; align-content: start; padding: .7rem .75rem .75rem; border-radius: 12px; border: 1px solid var(--mapi-line-2); background: #fff; font: inherit; font-size: .84rem; font-weight: 600; line-height: 1.25; color: var(--mapi-ink); cursor: pointer; overflow: hidden; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.mapi-demo__chapters button span { font-family: var(--mapi-mono); font-size: .7rem; font-weight: 500; letter-spacing: .08em; color: var(--mapi-faint); }
.mapi-demo__chapters button::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--mapi-grad); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.mapi-demo__chapters button:hover { border-color: var(--mapi-blue); transform: translateY(-1px); }
.mapi-demo__chapters button.is-active { border-color: transparent; box-shadow: 0 0 0 2px var(--mapi-violet) inset, 0 10px 22px -14px rgba(123,60,246,.8); }
.mapi-demo__chapters button.is-active span { color: var(--mapi-violet); }
.mapi-demo__chapters button.is-active::after { transform: scaleX(1); }
.mapi-demo__cta { margin-top: 2rem !important; gap: .75rem; }
@media (max-width: 900px) {
	.mapi-demo__chapters { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .4rem; -webkit-overflow-scrolling: touch; }
	.mapi-demo__chapters li { flex: 0 0 9.5rem; scroll-snap-align: start; }
	.mapi-browser__bar span { max-width: 80%; }
}

.mapi-screens { display: grid; gap: clamp(3rem, 6vw, 5.5rem); margin-top: 3rem !important; }
.mapi-screens > * { margin: 0 !important; }
.mapi-screen { display: grid !important; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: clamp(1.75rem, 4vw, 3.5rem); align-items: center; }
.mapi-screen > * { margin: 0 !important; }
.mapi-screen:nth-child(even) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr); }
.mapi-screen:nth-child(even) .mapi-screen__media { order: 2; }
.mapi-screen__text > * { margin: 0 !important; }
.mapi-screen__text > * + * { margin-top: .75rem !important; }
.mapi-screen__step { font-family: var(--mapi-mono); font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; background: var(--mapi-grad); -webkit-background-clip: text; background-clip: text; color: transparent; width: max-content; max-width: 100%; }
.mapi-screen__text h3 { font-size: clamp(1.5rem, 2.6vw, 2.1rem); font-weight: 800; font-stretch: 112%; letter-spacing: -.03em; line-height: 1.1; }
.mapi-screen__text p:not(.mapi-screen__step) { color: var(--mapi-soft); font-size: 1.05rem; line-height: 1.6; }
@media (max-width: 860px) {
	.mapi-screen, .mapi-screen:nth-child(even) { grid-template-columns: minmax(0, 1fr); }
	.mapi-screen:nth-child(even) .mapi-screen__media { order: 0; }
}
@media (prefers-reduced-motion: reduce) { .mapi-demo__chapters button, .mapi-demo__chapters button::after, .mapi-demo__toggle { transition: none; } }
.mapi-demo__lead { max-width: 44rem; margin-inline: auto !important; font-size: clamp(1.2rem, 2vw, 1.5rem) !important; line-height: 1.45; font-weight: 500; color: var(--mapi-ink) !important; letter-spacing: -.01em; text-wrap: balance; }
.mapi-demo-sec + .mapi-benefits { padding-top: clamp(.5rem, 2vw, 1.5rem) !important; }
.mapi-screens-sec .alignwide > .mapi-screens:first-child { margin-top: 0 !important; }
.mapi-pagehead + .mapi-screens-sec { padding-top: clamp(1rem, 3vw, 2rem) !important; }

/* ---------------------------------------------------------------- Home: how it works preview */
.mapi-peek { position: relative; display: grid !important; grid-template-columns: minmax(0, .9fr) minmax(0, 1.35fr); gap: clamp(2rem, 4vw, 3.5rem); align-items: center; padding: clamp(1.75rem, 4vw, 3rem) !important; border-radius: 28px; background: radial-gradient(120% 140% at 100% 0%, rgba(18,200,245,.16), transparent 55%), radial-gradient(90% 120% at 0% 100%, rgba(123,60,246,.14), transparent 60%), #fff; border: 1px solid var(--mapi-line-2); box-shadow: 0 40px 80px -48px rgba(19,32,91,.55); overflow: hidden; }
.mapi-peek::before { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px; background: var(--mapi-grad); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; opacity: .55; }
.mapi-peek > * { margin: 0 !important; position: relative; }
.mapi-peek__text > * { margin: 0 !important; }
.mapi-peek__text > * + * { margin-top: 1rem !important; }
.mapi-peek__text h2 { font-size: clamp(1.9rem, 3.4vw, 2.75rem); line-height: 1.05; }
.mapi-peek__text p:not(.is-style-eyebrow) { color: var(--mapi-soft); font-size: 1.08rem; line-height: 1.6; }
.mapi-peek__text .wp-block-buttons { margin-top: 1.6rem !important; }
.mapi-peek__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; }
.mapi-peek__grid li { margin: 0; }
.mapi-peek__grid li:nth-child(3n+2) { transform: translateY(14px); }
.mapi-peek__thumb { display: grid; gap: .55rem; text-decoration: none; color: var(--mapi-ink); }
.mapi-peek__shot { position: relative; display: block; border-radius: 12px; overflow: hidden; background: #fff; border: 1px solid var(--mapi-line-2); box-shadow: 0 14px 28px -18px rgba(19,32,91,.55); transition: transform .25s ease, box-shadow .25s ease; }
.mapi-peek__shot i { display: block; height: 12px; background: radial-gradient(circle at 8px 6px, #F6A6A6 2.2px, transparent 2.6px), radial-gradient(circle at 15px 6px, #F6D58E 2.2px, transparent 2.6px), radial-gradient(circle at 22px 6px, #A9DDB4 2.2px, transparent 2.6px), var(--mapi-lav); border-bottom: 1px solid var(--mapi-line-2); }
.mapi-peek__shot img { display: block; width: 100%; height: auto; aspect-ratio: 600 / 362; object-fit: cover; object-position: top left; }
.mapi-peek__label { display: flex; align-items: center; gap: .45rem; font-size: .84rem; font-weight: 600; line-height: 1.2; }
.mapi-peek__label b { flex: none; width: 1.35rem; height: 1.35rem; border-radius: 50%; display: grid; place-items: center; font-size: .72rem; color: #fff; background: var(--mapi-grad-diag); }
.mapi-peek__thumb:hover .mapi-peek__shot, .mapi-peek__thumb:focus-visible .mapi-peek__shot { transform: translateY(-4px) scale(1.03); box-shadow: 0 22px 36px -18px rgba(123,60,246,.6); }
.mapi-peek__thumb:focus-visible { outline: none; }
.mapi-peek__thumb:focus-visible .mapi-peek__shot { outline: 3px solid var(--mapi-cyan); outline-offset: 2px; }
@media (max-width: 960px) {
	.mapi-peek { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
	.mapi-peek__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mapi-peek__grid li:nth-child(3n+2) { transform: none; }
	.mapi-peek__grid li:nth-child(even) { transform: translateY(12px); }
	.mapi-peek__grid { padding-bottom: 12px; }
}
@media (prefers-reduced-motion: reduce) { .mapi-peek__shot { transition: none; } }

/* ---------------------------------------------------------------- Payments: pricing detail, footer links, welcome page */
.mapi-plan .mapi-plan__price { padding-bottom: .35rem; border-bottom: 0; }
.mapi-plan .mapi-plan__then { font-size: .85rem; line-height: 1.45; color: var(--mapi-soft); padding-bottom: 1.1rem; border-bottom: 1px solid var(--mapi-line-2); margin-top: -.35rem !important; }
.mapi-plan.is-featured .mapi-plan__then { color: #B9C6EE; border-bottom-color: rgba(255,255,255,.16); }
.mapi-plan .mapi-plan__price.is-custom { padding-bottom: .35rem; }
.mapi-plans__note { max-width: 60ch; margin-inline: auto !important; line-height: 1.6; }

.mapi-footer__bottom { gap: .75rem 1.5rem !important; align-items: center; }
.mapi-footer__bottom > * { margin: 0 !important; }
.mapi-legal { display: inline-flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
.mapi-legal a { color: #B9C6EE; }
.mapi-legal a:hover { color: #fff; }

.mapi-welcome { max-width: 860px; margin-inline: auto !important; display: grid; gap: 1rem; text-align: center; justify-items: center; }
.mapi-welcome > * { margin: 0 !important; }
.mapi-welcome h1 { font-size: clamp(2.2rem, 5vw, 3.6rem); }
.mapi-welcome__lead { color: var(--mapi-soft); font-size: 1.15rem; max-width: 54ch; }
.mapi-welcome__steps { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; width: 100%; margin-block: 1.5rem .5rem !important; text-align: left; }
.mapi-welcome__steps > * { margin: 0 !important; }
.mapi-welcome__step { display: grid; gap: .5rem; align-content: start; padding: 1.4rem !important; border-radius: 20px; background: #fff; border: 1px solid var(--mapi-line-2); box-shadow: 0 24px 48px -36px rgba(19,32,91,.45); }
.mapi-welcome__step > * { margin: 0 !important; }
.mapi-welcome__step h3 { font-size: 1.15rem; }
.mapi-welcome__step p:not(.mapi-welcome__n) { color: var(--mapi-soft); font-size: .95rem; }
.mapi-welcome__n { width: 2rem; height: 2rem; border-radius: 50%; display: grid; place-items: center; font-weight: 800; color: #fff; background: var(--mapi-grad-diag); box-shadow: 0 8px 18px -8px rgba(123,60,246,.7); }
.mapi-welcome__help { color: var(--mapi-soft); }
@media (max-width: 760px) { .mapi-welcome__steps { grid-template-columns: minmax(0, 1fr); } }

/* Contact form captcha (Cloudflare Turnstile) */
.mapi-cf__captcha { grid-column: 1 / -1; display: grid; gap: .35rem; min-height: 65px; }
.mapi-cf__captcha .cf-turnstile { max-width: 100%; }
.mapi-cf__captcha.has-error .cf-turnstile { outline: 2px solid #C2334D; outline-offset: 3px; border-radius: 6px; }

/* Legal pages (Terms of Service, Privacy Policy) */
.mapi-legal-sec { padding-top: clamp(1rem, 3vw, 2rem) !important; }
.mapi-legal-doc { max-width: 760px; margin-inline: 0 !important; font-size: 1rem; line-height: 1.7; color: var(--mapi-ink); }
.mapi-legal-doc > * { margin-block: 0 1rem !important; }
.mapi-legal-doc h2 { display: block; width: auto !important; max-width: none !important; font-size: clamp(1.3rem, 2.2vw, 1.6rem) !important; font-stretch: 105%; letter-spacing: -.02em; margin-top: 2.5rem !important; margin-bottom: .75rem !important; padding-top: 1.5rem; border-top: 1px solid var(--mapi-line); }
.mapi-legal-doc h2:first-child { margin-top: 0 !important; padding-top: 0; border-top: 0; }
.mapi-legal-doc p, .mapi-legal-doc li { color: #2E3768; }
.mapi-legal-doc ul { padding-left: 1.25rem; }
.mapi-legal-doc li + li { margin-top: .35rem; }
.mapi-legal-doc a { color: var(--mapi-blue); }
.mapi-legal-doc .wp-block-table { margin-block: 1.25rem 1.5rem !important; overflow-x: auto; }
.mapi-legal-doc .wp-block-table table { border-collapse: collapse; width: 100%; font-size: .92rem; background: #fff; border-radius: 12px; overflow: hidden; box-shadow: inset 0 0 0 1px var(--mapi-line-2); }
.mapi-legal-doc .wp-block-table th, .mapi-legal-doc .wp-block-table td { border: 0; border-bottom: 1px solid var(--mapi-line); padding: .7rem .9rem; text-align: left; vertical-align: top; }
.mapi-legal-doc .wp-block-table th { background: var(--mapi-lav); font-weight: 700; font-size: .85rem; }
.mapi-legal-doc .wp-block-table tr:last-child td { border-bottom: 0; }

/* ---------------------------------------------------------------- Who it's for: persona cards */
.mapi-personas { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: .5rem !important; }
.mapi-personas > * { margin: 0 !important; }
.mapi-persona { position: relative; display: flex !important; flex-direction: column; gap: .6rem; padding: 1.6rem 1.5rem 1.4rem !important; border-radius: 24px; background: #fff; border: 1px solid var(--mapi-line-2); box-shadow: var(--mapi-shadow); transition: transform .2s ease, box-shadow .2s ease; }
.mapi-persona > * { margin: 0 !important; }
.mapi-persona::before { content: ""; width: 46px; height: 46px; border-radius: 14px; background: var(--mapi-grad-diag); box-shadow: 0 10px 20px -10px rgba(123,60,246,.8); margin-bottom: .35rem;
	-webkit-mask: var(--mapi-ic, none) center / 24px no-repeat, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: var(--mapi-ic, none) center / 24px no-repeat exclude, linear-gradient(#000 0 0); }
.mapi-persona .mapi-persona__label { font-family: var(--mapi-mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--mapi-soft); }
.mapi-persona .mapi-persona__label span { color: var(--mapi-violet); }
.mapi-persona h3 { font-size: clamp(1.3rem, 2vw, 1.55rem); font-stretch: 112%; letter-spacing: -.02em; }
.mapi-persona p:not(.mapi-persona__label):not(.mapi-persona__link) { color: var(--mapi-soft); font-size: 1rem; flex: 1; }
.mapi-persona .mapi-persona__link { margin-top: .5rem !important; padding-top: .9rem; border-top: 1px solid var(--mapi-line); font-weight: 700; }
.mapi-persona .mapi-persona__link a { color: var(--mapi-ink); text-decoration: none; }
.mapi-persona .mapi-persona__link a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.mapi-persona .mapi-persona__link span { display: inline-block; transition: transform .2s ease; color: var(--mapi-violet); }
.mapi-persona:hover { transform: translateY(-3px); box-shadow: 0 26px 50px -28px rgba(76,44,190,.55); }
.mapi-persona:hover .mapi-persona__link span { transform: translateX(4px); }
.mapi-persona:focus-within { outline: 3px solid var(--mapi-cyan); outline-offset: 3px; }
.mapi-persona.is-featured { background: linear-gradient(#fff, #fff) padding-box, var(--mapi-grad) border-box; border: 2px solid transparent; box-shadow: var(--mapi-glow); }
.mapi-personas-sec.is-overview { padding-top: clamp(1rem, 3vw, 2rem) !important; }
@media (max-width: 900px) { .mapi-personas { grid-template-columns: minmax(0, 1fr); max-width: 560px; margin-inline: auto !important; } }

/* ---------------------------------------------------------------- Persona pages */
.mapi-pp__top { display: grid !important; grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.mapi-pp__top > * { margin: 0 !important; }
.mapi-pp__hero > * { margin: 0 !important; }
.mapi-pp__hero > * + * { margin-top: 1rem !important; }
.mapi-pp__hero h1 { font-size: clamp(2.3rem, 4.6vw, 3.8rem); line-height: 1.02; }
.mapi-pp__lead { color: var(--mapi-soft); font-size: 1.15rem; max-width: 52ch; }
.mapi-pp__hero .wp-block-buttons { margin-top: 1.6rem !important; gap: .75rem; }
.mapi-pp__quote { position: relative; padding: 2rem 1.8rem 1.8rem !important; border-radius: 24px; background: radial-gradient(120% 120% at 100% 0%, rgba(18,200,245,.25), transparent 60%), linear-gradient(160deg, #1B2A78 0%, #10184A 100%); color: #fff; box-shadow: 0 40px 70px -34px rgba(76,44,190,.75); }
.mapi-pp__quote > * { margin: 0 !important; }
.mapi-pp__quote::before { content: "\201C"; position: absolute; top: -.35em; left: .35em; font-size: 7rem; line-height: 1; font-weight: 800; background: var(--mapi-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mapi-pp__qk { font-family: var(--mapi-mono); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: #8FA2D8; }
.mapi-pp__q { margin-top: .75rem !important; font-size: clamp(1.25rem, 2.2vw, 1.6rem); font-weight: 700; line-height: 1.3; letter-spacing: -.01em; color: #fff; }
@media (max-width: 900px) { .mapi-pp__top { grid-template-columns: minmax(0, 1fr); } }

.mapi-fixes { display: grid; gap: .9rem; }
.mapi-fixes > * { margin: 0 !important; }
.mapi-fix { display: grid !important; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); border-radius: 20px; overflow: hidden; background: #fff; border: 1px solid var(--mapi-line-2); box-shadow: 0 18px 40px -32px rgba(19,32,91,.5); }
.mapi-fix > * { margin: 0 !important; padding: 1.3rem 1.5rem !important; }
.mapi-fix > * > * { margin: 0 !important; }
.mapi-fix__problem { background: var(--mapi-lav); }
.mapi-fix__problem h3 { font-size: 1.15rem; margin-top: .35rem !important; color: var(--mapi-ink); }
.mapi-fix__answer p:not(.mapi-fix__k) { margin-top: .35rem !important; color: var(--mapi-ink); font-size: 1.02rem; line-height: 1.55; }
.mapi-fix__k { font-family: var(--mapi-mono); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--mapi-faint); }
.mapi-fix__answer .mapi-fix__k { background: var(--mapi-grad); -webkit-background-clip: text; background-clip: text; color: transparent; width: max-content; }
@media (max-width: 720px) { .mapi-fix { grid-template-columns: minmax(0, 1fr); } }

.mapi-pp__plan { max-width: 760px; margin-inline: auto !important; padding: 2rem 2rem 1.8rem !important; border-radius: 26px; background: linear-gradient(#fff, #fff) padding-box, var(--mapi-grad) border-box; border: 2px solid transparent; box-shadow: var(--mapi-glow); display: grid; gap: .7rem; }
.mapi-pp__plan > * { margin: 0 !important; }
.mapi-pp__plan h3 { font-size: 1.6rem; font-stretch: 115%; }
.mapi-pp__price { display: flex; align-items: baseline; gap: .5rem; flex-wrap: wrap; font-size: clamp(2.4rem, 4vw, 3rem); font-weight: 800; font-stretch: 112%; letter-spacing: -.045em; line-height: 1; }
.mapi-pp__price s { position: relative; font-size: .5em; color: var(--mapi-faint); text-decoration: none; }
.mapi-pp__price s::after { content: ""; position: absolute; left: -6%; right: -6%; top: 52%; height: 2px; background: #E5484D; transform: rotate(-12deg); }
.mapi-pp__price small { font-size: .9rem; font-weight: 500; letter-spacing: 0; color: var(--mapi-faint); }
.mapi-pp__then { color: var(--mapi-soft); font-size: .92rem; padding-bottom: .9rem; border-bottom: 1px solid var(--mapi-line); }
.mapi-pp__plan .is-style-ticks { columns: 2; column-gap: 2rem; display: block !important; }
.mapi-pp__plan .is-style-ticks li { break-inside: avoid; margin-bottom: .5rem; }
.mapi-pp__plan .wp-block-buttons { margin-top: .8rem !important; gap: .75rem; }
@media (max-width: 640px) { .mapi-pp__plan .is-style-ticks { columns: 1; } .mapi-pp__plan { padding: 1.5rem 1.25rem !important; } }

.mapi-rollout { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 960px) { .mapi-rollout { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 560px) { .mapi-rollout { grid-template-columns: minmax(0, 1fr) !important; } }
.mapi-pp-faq .mapi-faq { max-width: 860px; }

/* ---------------------------------------------------------------- Grouped FAQ */
.mapi-faq-groups { display: grid; gap: 2.25rem; max-width: 860px; margin-inline: auto !important; }
.mapi-faq-groups > * { margin: 0 !important; }
.mapi-faq__set > * { margin: 0 !important; }
.mapi-faq__group { font-family: var(--mapi-mono); font-size: .78rem !important; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--mapi-violet); margin-bottom: .8rem !important; }
.mapi-pp-faq .mapi-faq { margin-inline: 0 !important; }
.mapi-pp__quote .mapi-pp__q { color: #fff !important; }
.mapi-pp__quote .mapi-pp__qk { color: #8FA2D8 !important; }

/* ---------------------------------------------------------------- Who it's for: dark band, coloured tiles (v1.0.20) */
.mapi-personas-sec { position: relative; color: #fff; overflow: hidden;
	background: radial-gradient(60% 90% at 0% 0%, rgba(18,200,245,.22), transparent 60%), radial-gradient(60% 90% at 100% 100%, rgba(123,60,246,.45), transparent 60%), linear-gradient(180deg, #0E1650 0%, #0B1240 100%); }
.mapi-personas-sec .mapi-head p:not(.is-style-eyebrow) { color: #C9D2F5; }
.mapi-personas-sec .is-style-eyebrow { color: rgba(255,255,255,.75); }
.mapi-personas-sec h2 { color: #fff; }
.mapi-personas { gap: 1.4rem; align-items: stretch; }
.mapi-persona { --acc: #12C8F5; --acc2: #3E7BFA; color: #fff; padding: 1.8rem 1.6rem 1.6rem !important; border-radius: 26px; overflow: hidden;
	background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.14); box-shadow: 0 30px 60px -36px rgba(0,0,0,.6); }
.mapi-persona:nth-child(2) { --acc: #A97BFF; --acc2: #7B3CF6; }
.mapi-persona:nth-child(3) { --acc: #5B95FF; --acc2: #12C8F5; }
.mapi-persona::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--acc), var(--acc2)); }
.mapi-persona::before { width: 54px; height: 54px; border-radius: 16px; background: linear-gradient(135deg, var(--acc), var(--acc2)); box-shadow: 0 14px 28px -12px var(--acc2); }
.mapi-persona .mapi-persona__label { align-self: flex-start; padding: .35rem .7rem; border-radius: 999px; background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 1px rgba(255,255,255,.16); color: #C9D2F5; font-size: .66rem; }
.mapi-persona .mapi-persona__label span { color: var(--acc); font-weight: 600; }
.mapi-persona h3 { color: #fff; font-size: clamp(1.45rem, 2.3vw, 1.8rem); line-height: 1.1; margin-top: .2rem !important; }
.mapi-persona p:not(.mapi-persona__label):not(.mapi-persona__link) { color: #C9D2F5; font-size: 1.02rem; line-height: 1.55; }
.mapi-persona .mapi-persona__link { border-top: 0; padding-top: .4rem; }
.mapi-persona .mapi-persona__link a { display: inline-flex; align-items: center; gap: .5rem; padding: .7rem 1.1rem; border-radius: 999px; color: #fff; font-size: .95rem; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.45); transition: background .2s ease, box-shadow .2s ease; }
.mapi-persona .mapi-persona__link span { color: inherit; }
.mapi-persona:hover { transform: translateY(-4px); border-color: rgba(255,255,255,.28); box-shadow: 0 36px 70px -34px rgba(0,0,0,.7); }
.mapi-persona:hover .mapi-persona__link a { background: rgba(255,255,255,.12); }

/* The featured tile (growing teams) is filled with the brand gradient */
.mapi-persona.is-featured { background: linear-gradient(150deg, #7B3CF6 0%, #4F5BF8 55%, #2BA6F0 100%); border: 0; box-shadow: 0 40px 80px -30px rgba(123,60,246,.85); transform: translateY(-10px); }
.mapi-persona.is-featured::after { background: rgba(255,255,255,.35); }
.mapi-persona.is-featured::before { background: #fff; box-shadow: 0 14px 28px -12px rgba(16,24,74,.6);
	-webkit-mask: var(--mapi-ic, none) center / 26px no-repeat, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: var(--mapi-ic, none) center / 26px no-repeat exclude, linear-gradient(#000 0 0); }
.mapi-persona.is-featured .mapi-persona__label { background: rgba(255,255,255,.18); box-shadow: none; color: #fff; }
.mapi-persona.is-featured .mapi-persona__label span { color: #FFD89A; }
.mapi-persona.is-featured p:not(.mapi-persona__label):not(.mapi-persona__link) { color: #EEF0FF; }
.mapi-persona.is-featured .mapi-persona__link a { background: #fff; color: var(--mapi-ink); box-shadow: 0 10px 24px -10px rgba(16,24,74,.6); }
.mapi-persona.is-featured:hover { transform: translateY(-14px); }
.mapi-persona.is-featured:hover .mapi-persona__link a { background: #fff; }
@media (max-width: 900px) { .mapi-persona.is-featured, .mapi-persona.is-featured:hover { transform: none; } }
@media (prefers-reduced-motion: reduce) { .mapi-persona, .mapi-persona .mapi-persona__link a { transition: none; } }
