/* Service pages v2 — shared base. Tokens mirror the new homepage (Page-Copy design).
   Per-page rules live in svc2/<slug>.css and must be scoped under .mm-svc2--<slug>. */
.mm-svc2 {
	--navy: #172b3b; --slate: #304c61; --on-dark: #c1d4e3; --blue: #1d7ab7; --blue-soft: #90c9ed;
	--ink: #1a202c; --ink2: #2d3748; --mute: #4a5568; --line: #e2e8f0; --tint: #f4f8fb; --white: #fff;
	--radius: 12px; --display: 'Nunito Sans', sans-serif; --body: Nunito, sans-serif;
	--wrap: min(1290px, 100% - 48px);
	font-family: var(--body); color: var(--ink2); line-height: 1.6;
}
.mm-svc2 *, .mm-svc2 *::before, .mm-svc2 *::after { box-sizing: border-box; }
.mm-svc2 h1, .mm-svc2 h2, .mm-svc2 h3, .mm-svc2 h4 { font-family: var(--display); color: var(--ink); line-height: 1.1; margin: 0; }
.mm-svc2 h1 { font-size: clamp(38px, 4.4vw, 64px); font-weight: 800; letter-spacing: -.02em; }
.mm-svc2 h2 { font-size: clamp(28px, 3vw, 42px); font-weight: 800; letter-spacing: -.01em; }
.mm-svc2 h3 { font-size: 20px; font-weight: 800; }
.mm-svc2 p { margin: 0; }
.mm-svc2 .mm-wrap { width: var(--wrap); margin-inline: auto; }
.mm-svc2 .mm-eyebrow { font: 700 12px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--blue); margin: 0 0 16px; }
.mm-svc2 .mm-lede { font-size: clamp(17px, 1.5vw, 20px); color: var(--ink2); max-width: 60ch; margin: 22px 0 30px; }
/* hand-drawn underline on <mark>, same as the homepage hero */
.mm-svc2 mark.mm-hl { position: relative; background: none; color: var(--blue); white-space: nowrap; }
.mm-svc2 mark.mm-hl::after { content: ""; position: absolute; left: -2%; right: -2%; bottom: -.1em; height: .2em; background: var(--blue);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M1 6 C 20 1, 40 9, 60 4 S 90 3, 99 5' fill='none' stroke='%23000' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M1 6 C 20 1, 40 9, 60 4 S 90 3, 99 5' fill='none' stroke='%23000' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
/* buttons: uppercase, blue pill-rect with arrow, like "Request a demo" */
.mm-svc2 .mm-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin: 0; }
.mm-svc2 .mm-btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 22px; border-radius: 8px; background: var(--blue); color: #fff !important; font: 700 15px var(--display); letter-spacing: .02em; text-transform: uppercase; text-decoration: none; border: 2px solid var(--blue); transition: transform .15s ease, box-shadow .15s ease; }
.mm-svc2 .mm-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 26px -12px rgba(29, 122, 183, .7); }
.mm-svc2 .mm-btn--text { background: none; border-color: transparent; color: var(--ink) !important; padding-inline: 4px; }
.mm-svc2 .mm-btn--text:hover { box-shadow: none; color: var(--blue) !important; }
.mm-svc2 .mm-btn:focus-visible, .mm-svc2 a:focus-visible, .mm-svc2 summary:focus-visible { outline: 3px solid var(--blue-soft); outline-offset: 3px; }
/* the dark "sample" card language from the homepage hero */
.mm-svc2 .mm-sample { background: var(--navy); border: 1px solid #293e4d; border-radius: var(--radius); color: #fff; box-shadow: 0 24px 56px -24px #172b3b99; overflow: clip; }
.mm-svc2 .mm-sample-top { padding: 22px 24px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #ffffff1a; }
.mm-svc2 .mm-sample-kicker { font-size: 11px; color: var(--on-dark); letter-spacing: .12em; text-transform: uppercase; margin-bottom: 4px; }
.mm-svc2 .mm-sample-title { font: 700 17px var(--display); color: #fff; }
.mm-svc2 .mm-sample-badge { border: 1px solid #527083; padding: 4px 8px; border-radius: 4px; font-size: 11px; color: #d6e5ee; white-space: nowrap; }
.mm-svc2 .mm-sample-row { display: grid; grid-template-columns: 32px 1fr auto; gap: 12px; align-items: center; padding: 16px 24px; border-top: 1px solid #ffffff15; }
.mm-svc2 .mm-sample-glyph { width: 32px; height: 32px; border-radius: 6px; background: #2c4960; color: var(--blue-soft); display: flex; align-items: center; justify-content: center; }
.mm-svc2 .mm-sample-row b { display: block; font-size: 15px; } .mm-svc2 .mm-sample-row small, .mm-svc2 .mm-sample-row time { font-size: 12px; color: var(--on-dark); }
.mm-svc2 .mm-disclaimer { font-size: 11px; color: var(--mute); text-align: center; margin-top: 14px; }
/* sections, cards, faq, cta */
.mm-svc2 .mm-sec { padding: clamp(48px, 6vw, 96px) 0; } .mm-svc2 .mm-sec--tint { background: var(--tint); }
.mm-svc2 .mm-card { background: #fff; border-radius: var(--radius); padding: 26px; box-shadow: 0 0 0 1px var(--line), 0 24px 50px -36px rgba(26, 32, 44, .35); }
.mm-svc2 .mm-card p { color: var(--mute); margin-top: 8px; }
.mm-svc2 .mm-faq details { background: #fff; border-radius: 10px; margin-bottom: 10px; box-shadow: 0 0 0 1px var(--line); }
.mm-svc2 .mm-faq summary { cursor: pointer; font-weight: 800; padding: 18px 22px; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.mm-svc2 .mm-faq summary::after { content: "+"; color: var(--blue); font-size: 22px; line-height: 1; } .mm-svc2 .mm-faq details[open] summary::after { content: "–"; }
.mm-svc2 .mm-faq details p { padding: 0 22px 18px; color: var(--mute); }
.mm-svc2 .mm-cta { background: var(--navy); color: #fff; text-align: center; padding: clamp(48px, 6vw, 88px) 0; }
.mm-svc2 .mm-cta h2 { color: #fff; } .mm-svc2 .mm-cta p { color: var(--on-dark); max-width: 56ch; margin: 14px auto 0; } .mm-svc2 .mm-cta .mm-btns { justify-content: center; margin-top: 24px; }
.mm-svc2 .mm-cta .mm-btn--text { color: #fff !important; }
/* hero video column (shortcode [mm_reel_<slug>]) */
.mm-svc2 .mm-hero-vid { min-width: 0; }
.mm-svc2 .mm-reel-svc hyperframes-player { display: block; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #0d1725; border-radius: 16px; box-shadow: 0 30px 70px -30px rgba(13, 23, 37, .6); }
.mm-svc2 .mm-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
@media (max-width: 860px) { .mm-svc2 .mm-split { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .mm-svc2 .mm-btn { transition: none; } }
/* Kadence's .entry-content/.single-content heading margins out-rank the reset above (57–95px above every H1) */
.entry-content .mm-svc2 h1, .entry-content .mm-svc2 h2, .entry-content .mm-svc2 h3, .entry-content .mm-svc2 h4 { margin-top: 0; }
