/* About, Contact, How it works, Pricing and Solutions (the page-*.php company templates), in the Pep language of the landing page and footer: cream, yellow, pink and ink,
   2px ink outlines, pills, hard offset shadows. Loads on top of sp.css and company.css. Motion: transform and colour. */

div.mcv-sp .ab-sec { padding-block: clamp(72px, 8vw, 120px); }
div.mcv-sp .ab-sec--cream { background: #fffdf0; }
div.mcv-sp .ab-sec--white { background: #fff; }
div.mcv-sp .ab-sec--yellow { background: #fff48d; border-block: 2px solid #141414; }
div.mcv-sp .ab-sec--ink { background: #141414; color: #fff; }
div.mcv-sp .ab-k { font: 700 13px/1.4 var(--mono); color: #e8446c; }
div.mcv-sp .ab-sec--ink .ab-k { color: #fff48d; }
div.mcv-sp .ab-sec--yellow .ab-k { color: #141414; }
div.mcv-sp .ab-head { max-width: 860px; margin-bottom: clamp(36px, 4vw, 56px); }
div.mcv-sp .ab-head--split { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 18px 48px; max-width: none; }
div.mcv-sp .ab-head--split > div { max-width: 760px; }
div.mcv-sp .ab-head h2, div.mcv-sp .ab-co h2, div.mcv-sp .ab-fit h2 { margin-top: 14px; font: 800 clamp(34px, 4.6vw, 66px)/.98 var(--display); letter-spacing: -.045em; text-wrap: balance; color: inherit; }
div.mcv-sp .ab-head h2 em, div.mcv-sp .ab-co h2 em, div.mcv-sp .ab-fit h2 em, div.mcv-sp .ab-hero h1 em { font-style: normal; display: inline-block; padding: 0 .16em .06em; border-radius: .22em; background: #fff48d; color: #141414; box-shadow: inset 0 0 0 3px #141414; }
div.mcv-sp .ab-sec--yellow h2 em { background: #ff678b; }
div.mcv-sp .ab-head > p:last-child, div.mcv-sp .ab-head--split > p { max-width: 46ch; font-size: 17px; line-height: 1.6; color: var(--text-2); }
div.mcv-sp .ab-sec--ink .ab-head--split > p { color: #dad5ca; }
div.mcv-sp .ab-head > p:last-child { margin-top: 18px; }
div.mcv-sp .ab-n { font: 800 44px/1 var(--display); letter-spacing: -.04em; color: #ff678b; -webkit-text-stroke: 2px #141414; }

/* ---------- Hero ---------- */
div.mcv-sp .ab-hero { position: relative; overflow: hidden; padding-top: 120px; background: var(--wash); border-bottom: 2px solid #141414; }
div.mcv-sp .ab-hero::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(20, 20, 20, .12) 1.4px, transparent 1.6px); background-size: 22px 22px; -webkit-mask-image: linear-gradient(90deg, transparent 40%, #000); mask-image: linear-gradient(90deg, transparent 40%, #000); pointer-events: none; }
div.mcv-sp .ab-hero .sp-wrap { position: relative; }
div.mcv-sp .ab-hero .sp-crumb a, div.mcv-sp .ab-hero .sp-crumb span { color: #141414; }
div.mcv-sp .ab-hero-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 27rem); gap: clamp(32px, 5vw, 80px); align-items: center; padding-block: 48px 72px; }
div.mcv-sp .ab-hero h1 { margin-top: 22px; font: 800 clamp(42px, 5.8vw, 88px)/.94 var(--display); letter-spacing: -.05em; color: #141414; text-wrap: balance; }
div.mcv-sp .ab-hero h1 em { margin-top: .1em; transform: rotate(-1.5deg); transform-origin: 0 100%; }
div.mcv-sp .ab-lede { max-width: 58ch; margin-top: 26px; font-size: clamp(17px, 1.3vw, 19px); line-height: 1.6; color: #2a2827; }
div.mcv-sp .ab-acts { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
div.mcv-sp .ab-btn { display: inline-flex; align-items: center; gap: 12px; min-height: 58px; padding: 0 8px 0 24px; border: 2px solid #141414; border-radius: 60px; background: #141414; color: #fff; font-weight: 800; font-size: 16px; transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
div.mcv-sp .ab-btn .ico { width: 42px; height: 42px; padding: 10px; border-radius: 50%; background: #fff48d; color: #141414; }
div.mcv-sp .ab-btn:hover { transform: translate(-3px, -3px); box-shadow: 5px 5px 0 #fff; }
div.mcv-sp .ab-btn--line { padding-right: 24px; background: #fff; color: #141414; }
div.mcv-sp .ab-btn--line:hover { box-shadow: 5px 5px 0 #141414; }
div.mcv-sp .ab-card { position: relative; padding: 26px 28px 22px; border: 2px solid #141414; border-radius: 30px; background: #fffdf0; box-shadow: 10px 10px 0 #141414; }
div.mcv-sp .ab-card::before, div.mcv-sp .ab-card::after { content: ""; position: absolute; top: 64px; width: 22px; height: 22px; border-radius: 50%; border: 2px solid #141414; background: #ffcf9a; }
div.mcv-sp .ab-card::before { left: -13px; clip-path: inset(0 0 0 50%); }
div.mcv-sp .ab-card::after { right: -13px; clip-path: inset(0 50% 0 0); }
div.mcv-sp .ab-card-k { display: flex; align-items: center; gap: 8px; padding-bottom: 18px; border-bottom: 2px dashed #141414; font: 700 12.5px/1.4 var(--mono); }
div.mcv-sp .ab-card-k i { width: 14px; height: 14px; background: #e8446c; clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }
div.mcv-sp .ab-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 18px 0 0; }
div.mcv-sp .ab-card dl div { display: flex; flex-direction: column-reverse; padding: 14px 16px; border: 2px solid #141414; border-radius: 18px; background: #fff; }
div.mcv-sp .ab-card dl div:nth-child(1) { background: #fff48d; }
div.mcv-sp .ab-card dl div:nth-child(4) { background: #ff678b; }
div.mcv-sp .ab-card dt { margin-top: 4px; font-size: 13px; font-weight: 600; color: #3a3632; }
div.mcv-sp .ab-card dd { margin: 0; font: 800 clamp(28px, 2.6vw, 36px)/1 var(--display); letter-spacing: -.04em; color: #141414; }
div.mcv-sp .ab-card-n { display: grid; gap: 2px; margin-top: 16px; padding: 14px 16px; border-radius: 18px; background: #141414; color: #dad5ca; font-size: 13.5px; }
div.mcv-sp .ab-card-n b { color: #fff48d; font-size: 16px; }
div.mcv-sp .ab-card-l { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 14px; font-size: 14px; font-weight: 700; color: #141414; text-decoration: underline; text-decoration-color: #ff678b; text-decoration-thickness: 2px; text-underline-offset: 3px; }
div.mcv-sp .ab-card-l .ico { flex: none; width: 30px; height: 30px; padding: 6px; border: 2px solid #141414; border-radius: 50%; }
/* ships-with strip: a slow ticker in ink */
div.mcv-sp .ab-strip { overflow: hidden; border-top: 2px solid #141414; background: #141414; }
div.mcv-sp .ab-strip-in { display: flex; width: max-content; animation: ab-tick 38s linear infinite; }
div.mcv-sp .ab-strip span { display: inline-flex; align-items: center; gap: 22px; padding: 16px 22px 16px 0; font: 800 17px/1 var(--display); letter-spacing: -.01em; color: #fff; white-space: nowrap; }
div.mcv-sp .ab-strip span::after { content: ""; width: 12px; height: 12px; background: #ff678b; clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }
@keyframes ab-tick { to { transform: translateX(-50%); } }
div.mcv-sp .ab-strip:hover .ab-strip-in { animation-play-state: paused; }

/* ---------- Why ---------- */
div.mcv-sp .ab-own { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
div.mcv-sp .ab-own-c { display: flex; flex-direction: column; padding: 26px; border: 2px solid #141414; border-radius: 28px; background: #fff; transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
div.mcv-sp .ab-own-c:nth-child(2) { margin-top: 36px; }
div.mcv-sp .ab-own-c:nth-child(3) { margin-top: 72px; }
div.mcv-sp .ab-own-c:hover { transform: translate(-4px, -4px); box-shadow: 8px 8px 0 #141414; }
div.mcv-sp .ab-own-c small { margin-top: 22px; font: 700 12.5px/1.4 var(--mono); color: var(--text-2); }
div.mcv-sp .ab-own-c h3 { margin-top: 6px; font: 800 30px/1.05 var(--display); letter-spacing: -.035em; }
div.mcv-sp .ab-own-c p { margin-top: 12px; font-size: 15.5px; line-height: 1.6; color: var(--text-2); }
div.mcv-sp .ab-own-c ul { display: flex; flex-wrap: wrap; gap: 6px; margin: auto 0 0; padding: 20px 0 0; list-style: none; }
div.mcv-sp .ab-own-c li { padding: 5px 12px; border: 2px solid #141414; border-radius: 60px; background: #fff48d; font-size: 13px; font-weight: 700; }

/* ---------- What we build ---------- */
div.mcv-sp .ab-fams { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
div.mcv-sp .ab-fam { display: flex; flex-direction: column; padding: 26px; border: 2px solid #141414; border-radius: 30px; background: #fff48d; box-shadow: 6px 6px 0 #141414; }
div.mcv-sp .ab-fam--2 { background: #ff678b; }
div.mcv-sp .ab-fam--3 { background: #141414; color: #fff; box-shadow: 6px 6px 0 #ff678b; }
div.mcv-sp .ab-fam-top { display: flex; justify-content: space-between; gap: 10px; }
div.mcv-sp .ab-fam-top small { padding: 4px 12px; border: 2px solid currentColor; border-radius: 60px; font: 700 12.5px/1.5 var(--mono); }
div.mcv-sp .ab-fam-top b { font: 800 15px/1.9 var(--display); }
div.mcv-sp .ab-fam h3 { margin-top: 28px; font: 800 clamp(28px, 2.8vw, 38px)/1 var(--display); letter-spacing: -.04em; text-wrap: balance; }
div.mcv-sp .ab-fam h3 a { color: inherit; }
div.mcv-sp .ab-fam > p { margin-top: 12px; font-size: 15px; line-height: 1.55; opacity: .9; }
div.mcv-sp .ab-fam ul { margin: 20px 0 0; padding: 0; list-style: none; border-top: 2px solid currentColor; }
div.mcv-sp .ab-fam li a { display: block; padding: 10px 0; border-bottom: 2px solid color-mix(in srgb, currentColor 22%, transparent); font-weight: 700; font-size: 15px; color: inherit; transition: padding-left .3s var(--ease); }
div.mcv-sp .ab-fam li a:hover { padding-left: 10px; }
div.mcv-sp .ab-fam-go { display: inline-flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 20px; font-weight: 800; color: inherit; }
div.mcv-sp .ab-fam-go .ico { width: 36px; height: 36px; padding: 8px; border: 2px solid currentColor; border-radius: 50%; transition: transform .3s var(--ease); }
div.mcv-sp .ab-fam-go:hover .ico { transform: translateX(5px); }

/* ---------- How (ink) ---------- */
div.mcv-sp .ab-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
div.mcv-sp .ab-steps li { position: relative; padding: 24px 22px; border: 2px solid #fff; border-radius: 26px; }
div.mcv-sp .ab-steps li:not(:last-child)::after { content: ""; position: absolute; right: -17px; top: 44px; width: 16px; height: 2px; background: #fff48d; }
div.mcv-sp .ab-steps li:last-child { background: #fff48d; border-color: #fff48d; color: #141414; }
div.mcv-sp .ab-step-n { font: 800 44px/1 var(--display); letter-spacing: -.04em; color: #ff678b; }
div.mcv-sp .ab-steps li:last-child .ab-step-n { color: #141414; }
div.mcv-sp .ab-steps small { display: block; margin-top: 16px; font: 700 12px/1.4 var(--mono); color: #fff48d; }
div.mcv-sp .ab-steps li:last-child small { color: #141414; }
div.mcv-sp .ab-steps h3 { margin-top: 6px; font: 800 22px/1.15 var(--display); letter-spacing: -.025em; color: inherit; }
div.mcv-sp .ab-steps p { margin-top: 10px; font-size: 14.5px; line-height: 1.6; color: #dad5ca; }
div.mcv-sp .ab-steps li:last-child p { color: #2a2827; }
div.mcv-sp .ab-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 32px; font-weight: 800; color: #fff; }
div.mcv-sp .ab-link .ico { width: 38px; height: 38px; padding: 8px; border-radius: 50%; background: #fff48d; color: #141414; transition: transform .3s var(--ease); }
div.mcv-sp .ab-link:hover .ico { transform: translateX(5px); }

/* ---------- Beliefs (yellow) ---------- */
div.mcv-sp .ab-beliefs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
div.mcv-sp .ab-beliefs article { display: flex; flex-direction: column; padding: 26px; border: 2px solid #141414; border-radius: 28px; background: #fff; box-shadow: 6px 6px 0 #141414; }
div.mcv-sp .ab-beliefs h3 { margin-top: 20px; font: 800 28px/1.05 var(--display); letter-spacing: -.035em; }
div.mcv-sp .ab-beliefs p { margin-top: 12px; font-size: 15.5px; line-height: 1.6; color: var(--text-2); }
div.mcv-sp .ab-beliefs em { align-self: flex-start; margin-top: auto; padding: 6px 13px; border-radius: 60px; background: #141414; color: #fff48d; font-style: normal; font: 700 12.5px/1.5 var(--mono); }
div.mcv-sp .ab-beliefs p + em { margin-top: 22px; }

/* ---------- Company ---------- */
div.mcv-sp .ab-co { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 27rem); gap: clamp(32px, 5vw, 72px); align-items: start; }
div.mcv-sp .ab-co-say > p:not(.ab-k) { max-width: 62ch; margin-top: 18px; font-size: 17px; line-height: 1.7; color: var(--text-2); }
div.mcv-sp .ab-co-say a, div.mcv-sp .ab-ledger a { color: #141414; font-weight: 700; text-decoration: underline; text-decoration-color: #ff678b; text-decoration-thickness: 2px; text-underline-offset: 3px; }
div.mcv-sp .ab-places { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 30px; }
div.mcv-sp .ab-places div { display: grid; gap: 4px; padding: 18px; border: 2px solid #141414; border-radius: 22px; background: #fff; }
div.mcv-sp .ab-places div:first-child { background: #fff48d; }
div.mcv-sp .ab-places small { font: 700 12px/1.4 var(--mono); color: var(--text-2); }
div.mcv-sp .ab-places b { font: 800 21px/1.15 var(--display); letter-spacing: -.02em; }
div.mcv-sp .ab-places span { font-size: 13.5px; line-height: 1.5; color: var(--text-2); }
div.mcv-sp .ab-ledger { padding: 24px 26px; border: 2px solid #141414; border-radius: 28px; background: #fff; box-shadow: 8px 8px 0 #ff678b; }
div.mcv-sp .ab-ledger h3 { font: 800 22px/1.2 var(--display); letter-spacing: -.02em; }
div.mcv-sp .ab-ledger ul { margin: 14px 0 0; padding: 0; list-style: none; }
div.mcv-sp .ab-ledger li { display: grid; grid-template-columns: 7.5rem 1fr; gap: 12px; padding: 11px 0; border-top: 2px solid rgba(20, 20, 20, .1); font-size: 14.5px; }
div.mcv-sp .ab-ledger li span { color: var(--text-2); font-weight: 600; }
div.mcv-sp .ab-ledger li b { font-weight: 800; color: #141414; overflow-wrap: anywhere; }

/* ---------- Fit and FAQ ---------- */
div.mcv-sp .ab-fit { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
div.mcv-sp .ab-fit ul { display: grid; gap: 10px; margin: 26px 0 0; padding: 0; list-style: none; }
div.mcv-sp .ab-fit li { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border: 2px solid #141414; border-radius: 18px; background: #fffdf0; font-size: 15.5px; font-weight: 600; line-height: 1.45; }
div.mcv-sp .ab-fit li .ico { flex: none; width: 26px; height: 26px; padding: 4px; border-radius: 50%; background: #ff678b; color: #141414; stroke-width: 2.6; }
div.mcv-sp .ab-fit-n { margin-top: 18px; font-size: 14.5px; line-height: 1.6; color: var(--text-2); }
div.mcv-sp .ab-faq h3 { font: 800 26px/1.1 var(--display); letter-spacing: -.03em; }
div.mcv-sp .ab-faq details { margin-top: 12px; border: 2px solid #141414; border-radius: 18px; background: #fff; }
div.mcv-sp .ab-faq h3 + details { margin-top: 20px; }
div.mcv-sp .ab-faq details[open] { background: #fffbd6; }
div.mcv-sp .ab-faq summary { position: relative; padding: 16px 52px 16px 20px; list-style: none; cursor: pointer; font-size: 16.5px; font-weight: 800; line-height: 1.4; }
div.mcv-sp .ab-faq summary::-webkit-details-marker { display: none; }
div.mcv-sp .ab-faq summary::after { content: "+"; position: absolute; right: 16px; top: 13px; width: 28px; height: 28px; border-radius: 50%; background: #141414; color: #fff48d; font: 700 20px/28px var(--mono); text-align: center; transition: transform .25s var(--ease); }
div.mcv-sp .ab-faq details[open] summary::after { transform: rotate(45deg); }
div.mcv-sp .ab-faq details p { padding: 0 20px 18px; font-size: 15.5px; line-height: 1.65; color: var(--text-2); }


/* ---------- Contact (page-contact.php): status card, direct lines, message builder ---------- */
div.mcv-sp .ct-status { display: grid; gap: 2px; margin-top: 18px; padding: 14px 16px 14px 44px; position: relative; border: 2px solid #141414; border-radius: 18px; background: #fff; font-size: 13.5px; color: #3a3632; }
div.mcv-sp .ct-status b { font: 800 22px/1.1 var(--display); letter-spacing: -.03em; color: #141414; }
div.mcv-sp .ct-status::before { content: ""; position: absolute; left: 16px; top: 20px; width: 14px; height: 14px; border: 2px solid #141414; border-radius: 50%; background: #fff48d; }
div.mcv-sp .ct-status.is-open::before { background: #3ddc84; animation: ct-ping 2s ease-out infinite; }
div.mcv-sp .ct-status.is-closed::before { background: #ff678b; }
@keyframes ct-ping { 0% { box-shadow: 0 0 0 0 rgba(61, 220, 132, .6); } 100% { box-shadow: 0 0 0 12px rgba(61, 220, 132, 0); } }
div.mcv-sp .ct-card dl { margin-top: 10px; }
div.mcv-sp .ct-card dl div:nth-child(2) { background: #ff678b; }
div.mcv-sp .ct-lines { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
div.mcv-sp .ct-line { display: flex; flex-direction: column; padding: 24px; border: 2px solid #141414; border-radius: 28px; background: #fff; transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
div.mcv-sp .ct-line:hover { transform: translate(-4px, -4px); box-shadow: 8px 8px 0 #141414; }
div.mcv-sp .ct-line--hot { background: #fff48d; box-shadow: 6px 6px 0 #141414; }
div.mcv-sp .ct-line-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
div.mcv-sp .ct-ico { display: grid; place-items: center; width: 52px; height: 52px; border: 2px solid #141414; border-radius: 50%; background: #ff678b; color: #141414; }
div.mcv-sp .ct-ico svg { width: 26px; height: 26px; }
div.mcv-sp .ct-line-top em { padding: 5px 12px; border-radius: 60px; background: #141414; color: #fff48d; font: 700 12px/1.5 var(--mono); font-style: normal; }
div.mcv-sp .ct-line h3 { margin-top: 22px; font: 700 13px/1.4 var(--mono); color: var(--text-2); }
div.mcv-sp .ct-val { margin-top: 6px; font: 800 clamp(20px, 1.7vw, 24px)/1.15 var(--display); letter-spacing: -.03em; color: #141414; overflow-wrap: anywhere; }
div.mcv-sp .ct-line p:not(.ct-val) { margin-top: 10px; font-size: 14.5px; line-height: 1.55; color: var(--text-2); }
div.mcv-sp .ct-go { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 22px; font-weight: 800; color: #141414; }
div.mcv-sp .ct-go .ico { width: 36px; height: 36px; padding: 8px; border: 2px solid #141414; border-radius: 50%; background: #fff; transition: transform .3s var(--ease); }
div.mcv-sp .ct-go:hover .ico { transform: translateX(5px); }
div.mcv-sp .ct-build { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
div.mcv-sp .ct-build h2 { margin-top: 14px; font: 800 clamp(34px, 4.6vw, 66px)/.98 var(--display); letter-spacing: -.045em; text-wrap: balance; }
div.mcv-sp .ct-build h2 em { font-style: normal; display: inline-block; padding: 0 .16em .06em; border-radius: .22em; background: #fff48d; box-shadow: inset 0 0 0 3px #141414; }
div.mcv-sp .ct-build-say > p:not(.ab-k) { max-width: 46ch; margin-top: 18px; font-size: 17px; line-height: 1.6; color: var(--text-2); }
div.mcv-sp .ct-builder { display: grid; gap: 20px; padding: 28px; border: 2px solid #141414; border-radius: 30px; background: #fffdf0; box-shadow: 10px 10px 0 #ff678b; }
div.mcv-sp .ct-builder fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
div.mcv-sp .ct-builder legend, div.mcv-sp .ct-pick > span, div.mcv-sp .ct-preview small { display: block; margin-bottom: 10px; font: 700 12.5px/1.4 var(--mono); color: var(--text-2); }
div.mcv-sp .ct-chips { display: flex; flex-wrap: wrap; gap: 8px; }
div.mcv-sp .ct-chips label { position: relative; cursor: pointer; }
div.mcv-sp .ct-chips input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
div.mcv-sp .ct-chips span { display: inline-block; padding: 10px 16px; border: 2px solid #141414; border-radius: 60px; background: #fff; font-size: 14.5px; font-weight: 700; transition: background .2s, transform .2s var(--ease); }
div.mcv-sp .ct-chips input:checked + span { background: #141414; color: #fff48d; }
div.mcv-sp .ct-chips input:focus-visible + span { outline: 3px solid #ff678b; outline-offset: 2px; }
div.mcv-sp .ct-chips label:hover span { box-shadow: 3px 3px 0 #141414; }
div.mcv-sp .ct-pick select { width: 100%; min-height: 52px; padding: 0 16px; border: 2px solid #141414; border-radius: 16px; background: #fff; font: 700 15px/1 var(--body, inherit); color: #141414; }
div.mcv-sp .ct-preview { padding: 16px 18px; border: 2px dashed #141414; border-radius: 18px; background: #fff; }
div.mcv-sp .ct-preview p { font-size: 16px; line-height: 1.55; font-weight: 600; color: #141414; }
div.mcv-sp .ct-send { display: flex; flex-wrap: wrap; gap: 10px; }
div.mcv-sp .ct-send .ab-btn--line:hover, div.mcv-sp .ct-builder .ab-btn:hover { box-shadow: 5px 5px 0 #141414; }
div.mcv-sp .ab-fit-n a { color: #141414; font-weight: 700; text-decoration: underline; text-decoration-color: #ff678b; text-decoration-thickness: 2px; text-underline-offset: 3px; }
div.mcv-sp .ct-places { grid-template-columns: 1fr; margin-top: 26px; }


/* ---------- How it works (page-how-it-works.php): tracker, kickoff checklist, day cards ---------- */
div.mcv-sp .hw-track ol { display: grid; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
div.mcv-sp .hw-track li { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 2px solid #141414; border-radius: 16px; background: #fff; font-weight: 800; font-size: 15px; }
div.mcv-sp .hw-track li > span { font: 700 12px/1 var(--mono); color: #e8446c; }
div.mcv-sp .hw-track li .ico { margin-left: auto; width: 24px; height: 24px; padding: 4px; border-radius: 50%; background: #141414; color: #fff48d; stroke-width: 3; }
div.mcv-sp .hw-track li:last-child { background: #fff48d; }
div.mcv-sp .hw-bar { height: 12px; margin-top: 14px; overflow: hidden; border: 2px solid #141414; border-radius: 60px; background: #fff; }
div.mcv-sp .hw-bar i { display: block; height: 100%; background: repeating-linear-gradient(-45deg, #ff678b 0 8px, #e8446c 8px 16px); transform-origin: 0 50%; }
div.mcv-sp .hw-track .hw-bar i { animation: hw-fill 2.4s var(--ease) both .3s; }
@keyframes hw-fill { from { transform: scaleX(0); } }
div.mcv-sp .hw-kit { padding: 26px; border: 2px solid #141414; border-radius: 30px; background: #fffdf0; box-shadow: 10px 10px 0 #ff678b; transition: box-shadow .4s var(--ease); }
div.mcv-sp .hw-kit.is-done { box-shadow: 10px 10px 0 #3ddc84; }
div.mcv-sp .hw-kit-top { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; }
div.mcv-sp .hw-kit-top b { font: 800 26px/1.1 var(--display); letter-spacing: -.03em; }
div.mcv-sp .hw-kit-top span { font: 700 12.5px/1.4 var(--mono); color: var(--text-2); }
div.mcv-sp .hw-kit .hw-bar i { transform: scaleX(0); transition: transform .45s var(--ease); }
div.mcv-sp .hw-kit ul { display: grid; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
div.mcv-sp .hw-kit label { position: relative; display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; border: 2px solid #141414; border-radius: 18px; background: #fff; cursor: pointer; transition: background .2s; }
div.mcv-sp .hw-kit input { position: absolute; opacity: 0; width: 1px; height: 1px; }
div.mcv-sp .hw-tick { flex: none; display: grid; place-items: center; width: 28px; height: 28px; border: 2px solid #141414; border-radius: 9px; background: #fff; transition: background .2s, transform .2s var(--ease); }
div.mcv-sp .hw-tick .ico { width: 18px; height: 18px; stroke-width: 3; opacity: 0; transition: opacity .2s; }
div.mcv-sp .hw-kit input:checked + .hw-tick { background: #141414; color: #fff48d; transform: rotate(-6deg); }
div.mcv-sp .hw-kit input:checked + .hw-tick .ico { opacity: 1; }
div.mcv-sp .hw-kit input:focus-visible + .hw-tick { outline: 3px solid #ff678b; outline-offset: 2px; }
div.mcv-sp .hw-kit label:has(input:checked) { background: #fffbd6; }
div.mcv-sp .hw-kit label > span:last-child { display: grid; gap: 3px; font-size: 14.5px; line-height: 1.5; color: var(--text-2); }
div.mcv-sp .hw-kit label b { font-size: 16px; color: #141414; }
div.mcv-sp .hw-days { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
div.mcv-sp .hw-days li { display: flex; flex-direction: column; padding: 24px 22px; border: 2px solid #fff; border-radius: 26px; transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
div.mcv-sp .hw-days li:hover { transform: translate(-4px, -4px); box-shadow: 8px 8px 0 #ff678b; }
div.mcv-sp .hw-days li:last-child { background: #fff48d; border-color: #fff48d; color: #141414; }
div.mcv-sp .hw-day-top { display: flex; align-items: center; justify-content: space-between; }
div.mcv-sp .hw-days li:last-child .ab-step-n { color: #141414; }
div.mcv-sp .hw-ic { display: grid; place-items: center; width: 48px; height: 48px; border: 2px solid currentColor; border-radius: 50%; }
div.mcv-sp .hw-ic svg { width: 24px; height: 24px; }
div.mcv-sp .hw-days small { margin-top: 16px; font: 700 12px/1.4 var(--mono); color: #fff48d; }
div.mcv-sp .hw-days li:last-child small { color: #141414; }
div.mcv-sp .hw-days h3 { margin-top: 4px; font: 800 24px/1.1 var(--display); letter-spacing: -.03em; color: inherit; }
div.mcv-sp .hw-days p { display: grid; grid-template-columns: 2.8rem 1fr; gap: 8px; margin-top: 12px; font-size: 14.5px; line-height: 1.55; color: #dad5ca; }
div.mcv-sp .hw-days p + p { padding-top: 12px; border-top: 2px dashed rgba(255, 255, 255, .25); }
div.mcv-sp .hw-days p b { align-self: start; padding: 2px 0; border-radius: 60px; background: #ff678b; color: #141414; font: 700 11.5px/1.5 var(--mono); text-align: center; }
div.mcv-sp .hw-days p + p b { background: #fff; }
div.mcv-sp .hw-days li:last-child p { color: #2a2827; }
div.mcv-sp .hw-days li:last-child p + p { border-color: rgba(20, 20, 20, .25); }
div.mcv-sp .hw-days li:last-child p + p b { background: #141414; color: #fff48d; }
div.mcv-sp .hw-note { max-width: 70ch; margin-top: 28px; padding: 16px 20px; border: 2px dashed #fff48d; border-radius: 18px; font-size: 15px; line-height: 1.6; color: #dad5ca; }
div.mcv-sp .hw-note b { color: #fff48d; }
div.mcv-sp .hw-after { grid-template-columns: repeat(4, minmax(0, 1fr)); }
div.mcv-sp .hw-after .hw-ic { background: #ff678b; border-color: #141414; color: #141414; }
div.mcv-sp .ab-fit .ab-acts { margin-top: 22px; }


/* ---------- Pricing (page-pricing.php): range card, price finder, ladder, included ---------- */
div.mcv-sp .pr-range { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; margin-top: 18px; }
div.mcv-sp .pr-range b { font: 800 clamp(34px, 3.4vw, 46px)/1 var(--display); letter-spacing: -.045em; color: #141414; }
div.mcv-sp .pr-range span { font: 700 13px/1 var(--mono); color: var(--text-2); }
div.mcv-sp .pr-scale { position: relative; height: 44px; margin: 22px 14px 0; border-bottom: 2px solid #141414; }
div.mcv-sp .pr-scale i { position: absolute; bottom: -12px; left: calc(var(--p) * 100%); display: grid; place-items: center; width: 24px; height: 24px; margin-left: -12px; border: 2px solid #141414; border-radius: 50%; background: #fff48d; animation: pr-pop .5s var(--ease) both; animation-delay: calc(var(--r) * 90ms + .2s); }
div.mcv-sp .pr-scale i:nth-child(even) { background: #ff678b; }
div.mcv-sp .pr-scale b { font: 800 11px/1 var(--mono); }
@keyframes pr-pop { from { transform: scale(0); } }
div.mcv-sp .pr-scale-n { margin-top: 22px; font-size: 12.5px; line-height: 1.5; color: var(--text-2); }
div.mcv-sp .pr-card dl { margin-top: 14px; }
div.mcv-sp .pr-card dl div:nth-child(2) { background: #ff678b; }
div.mcv-sp .pr-finder [hidden] { display: none !important; }
div.mcv-sp .pr-tools { position: sticky; top: 76px; z-index: 3; display: flex; flex-wrap: wrap; align-items: end; gap: 16px 28px; padding: 18px 22px; border: 2px solid #141414; border-radius: 26px; background: #fff; box-shadow: 6px 6px 0 #141414; }
div.mcv-sp .pr-tools fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
div.mcv-sp .pr-tools legend, div.mcv-sp .pr-budget > span { display: block; margin-bottom: 8px; font: 700 12.5px/1.4 var(--mono); color: var(--text-2); }
div.mcv-sp .pr-budget b { color: #141414; }
div.mcv-sp .pr-budget { flex: 1 1 220px; }
div.mcv-sp .pr-budget input { width: 100%; height: 30px; accent-color: #e8446c; cursor: pointer; }
div.mcv-sp .pr-count { margin-left: auto; padding: 10px 16px; border-radius: 60px; background: #141414; color: #fff48d; font: 800 16px/1 var(--display); }
div.mcv-sp .pr-group { margin-top: 40px; }
div.mcv-sp .pr-group-h { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 18px; padding-bottom: 14px; border-bottom: 2px solid #141414; }
div.mcv-sp .pr-group-h h3 { font: 800 clamp(24px, 2.4vw, 32px)/1.1 var(--display); letter-spacing: -.035em; }
div.mcv-sp .pr-group-h h3 a { color: #141414; }
div.mcv-sp .pr-group-h span { font: 700 13px/1.4 var(--mono); color: var(--text-2); }
div.mcv-sp .pr-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; margin-top: 18px; }
div.mcv-sp .pr-c { display: flex; flex-direction: column; padding: 20px; border: 2px solid #141414; border-radius: 24px; background: #fff; transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
div.mcv-sp .pr-c:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 #141414; }
div.mcv-sp .pr-c--lead { background: #fff48d; }
div.mcv-sp .pr-c-top { display: flex; align-items: start; justify-content: space-between; gap: 8px; }
div.mcv-sp .pr-c-top small { font: 700 12px/1.4 var(--mono); color: var(--text-2); }
div.mcv-sp .pr-c-top em { flex: none; padding: 3px 10px; border-radius: 60px; background: #141414; color: #fff48d; font: 700 11.5px/1.5 var(--mono); font-style: normal; }
div.mcv-sp .pr-c h4 { margin-top: 10px; font: 800 21px/1.15 var(--display); letter-spacing: -.025em; }
div.mcv-sp .pr-c h4 a { color: #141414; }
div.mcv-sp .pr-price { display: flex; align-items: baseline; gap: 8px; margin-top: 12px; }
div.mcv-sp .pr-price b { padding: 2px 10px; border: 2px solid #141414; border-radius: 12px; background: #ff678b; font: 800 26px/1.1 var(--display); letter-spacing: -.035em; }
div.mcv-sp .pr-price span { font: 700 12px/1 var(--mono); color: var(--text-2); }
div.mcv-sp .pr-also { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin-top: 14px; }
div.mcv-sp .pr-also span { width: 100%; font: 700 11.5px/1.4 var(--mono); color: var(--text-2); }
div.mcv-sp .pr-also a { padding: 3px 10px; border: 2px solid #141414; border-radius: 60px; background: #fff; font-size: 12.5px; font-weight: 700; color: #141414; }
div.mcv-sp .pr-also a:hover { background: #141414; color: #fff; }
div.mcv-sp .pr-c-go { display: grid; gap: 6px; margin-top: auto; padding-top: 16px; }
div.mcv-sp .pr-c-go a { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800; color: #141414; }
div.mcv-sp .pr-c-go .ico { width: 26px; height: 26px; padding: 5px; border: 2px solid #141414; border-radius: 50%; transition: transform .3s var(--ease); }
div.mcv-sp .pr-c-go a:hover .ico { transform: translateX(4px); }
div.mcv-sp .pr-c-go .pr-cost { font-size: 12.5px; font-weight: 600; color: var(--text-2); text-decoration: underline; text-decoration-color: #ff678b; text-underline-offset: 3px; }
div.mcv-sp .pr-empty { margin-top: 28px; padding: 18px 22px; border: 2px dashed #141414; border-radius: 20px; font-weight: 600; }
div.mcv-sp .pr-finder + .ab-fit-n { margin-top: 32px; }
div.mcv-sp .pr-ladder { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
div.mcv-sp .pr-ladder li { display: grid; grid-template-columns: 9rem 1fr; gap: 20px; align-items: center; padding: 14px 18px; border: 2px solid rgba(255, 255, 255, .22); border-radius: 20px; }
div.mcv-sp .pr-ladder-p b { display: block; font: 800 26px/1 var(--display); letter-spacing: -.035em; color: #fff48d; }
div.mcv-sp .pr-ladder-p small { font: 700 12px/1.6 var(--mono); color: #dad5ca; }
div.mcv-sp .pr-bar { height: 14px; border-radius: 60px; background: rgba(255, 255, 255, .1); overflow: hidden; }
div.mcv-sp .pr-bar i { display: block; width: calc(var(--w) * 100%); height: 100%; border-radius: 60px; background: linear-gradient(90deg, #ff678b, #fff48d); transform-origin: 0 50%; animation: hw-fill 1.4s var(--ease) both; animation-delay: calc(var(--r) * 80ms); }
div.mcv-sp .pr-names { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
div.mcv-sp .pr-names a { padding: 4px 11px; border: 2px solid #fff; border-radius: 60px; font-size: 13px; font-weight: 700; color: #fff; }
div.mcv-sp .pr-names a:hover { background: #fff48d; border-color: #fff48d; color: #141414; }
div.mcv-sp .pr-incl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
div.mcv-sp .pr-incl li { display: flex; flex-direction: column; padding: 22px; border: 2px solid #141414; border-radius: 24px; background: #fffdf0; }
div.mcv-sp .pr-incl .hw-tick { background: #141414; color: #fff48d; }
div.mcv-sp .pr-incl .hw-tick .ico { opacity: 1; }
div.mcv-sp .pr-incl h3 { margin-top: 16px; font: 800 20px/1.15 var(--display); letter-spacing: -.025em; }
div.mcv-sp .pr-incl p { margin-top: 8px; font-size: 14.5px; line-height: 1.55; color: var(--text-2); }
div.mcv-sp .pr-incl-sum { background: #141414 !important; color: #fff; box-shadow: 6px 6px 0 #ff678b; }
div.mcv-sp .pr-incl-sum b { font: 800 26px/1.05 var(--display); letter-spacing: -.035em; color: #fff48d; }
div.mcv-sp .pr-incl-sum span { margin-top: 8px; font-size: 14.5px; line-height: 1.55; color: #dad5ca; }
div.mcv-sp .pr-incl-sum a { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 16px; font-weight: 800; color: #fff; }
div.mcv-sp .pr-incl-sum .ico { width: 28px; height: 28px; padding: 6px; border-radius: 50%; background: #fff48d; color: #141414; }
div.mcv-sp .pr-out { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }


/* ---------- Solutions (page-solutions.php): family card, matcher, catalogue cards, models, A-Z ---------- */
div.mcv-sp .so-fams { display: grid; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
div.mcv-sp .so-fams a { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; padding: 12px 14px; border: 2px solid #141414; border-radius: 18px; background: #fff; color: #141414; transition: transform .25s var(--ease), box-shadow .25s var(--ease); }
div.mcv-sp .so-fams li:first-child a { background: #fff48d; }
div.mcv-sp .so-fams a:hover { transform: translate(-3px, -3px); box-shadow: 4px 4px 0 #141414; }
div.mcv-sp .so-fams b { font: 800 17px/1.2 var(--display); letter-spacing: -.02em; }
div.mcv-sp .so-fams small { grid-row: 2; font-size: 12.5px; color: var(--text-2); }
div.mcv-sp .so-fams em { grid-row: 1 / 3; align-self: center; padding: 4px 10px; border-radius: 60px; background: #141414; color: #fff48d; font: 700 12px/1.4 var(--mono); font-style: normal; }
div.mcv-sp .so-lead-k { margin-top: 16px; font: 700 12px/1.4 var(--mono); color: var(--text-2); }
div.mcv-sp .so-lead { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
div.mcv-sp .so-lead a { padding: 6px 12px; border: 2px solid #141414; border-radius: 60px; background: #ff678b; color: #141414; font-size: 13.5px; font-weight: 800; }
div.mcv-sp .so-lead a:hover { background: #141414; color: #fff48d; }
div.mcv-sp .so-res small { display: block; margin-bottom: 10px; font: 700 12.5px/1.4 var(--mono); color: var(--text-2); }
div.mcv-sp .so-res ol { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: so; }
div.mcv-sp .so-res ol.is-in li { animation: so-in .45s var(--ease) both; }
div.mcv-sp .so-res ol.is-in li:nth-child(2) { animation-delay: 70ms; }
div.mcv-sp .so-res ol.is-in li:nth-child(3) { animation-delay: 140ms; }
@keyframes so-in { from { opacity: 0; transform: translateY(8px); } }
div.mcv-sp .so-res li[hidden] { display: none; }
div.mcv-sp .so-res a { counter-increment: so; display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 2px 12px; padding: 12px 14px; border: 2px solid #141414; border-radius: 18px; background: #fff; color: #141414; }
div.mcv-sp .so-res a::before { content: counter(so); grid-row: 1 / 3; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #141414; color: #fff48d; font: 800 14px/1 var(--mono); }
div.mcv-sp .so-res li:first-child a { background: #fff48d; box-shadow: 4px 4px 0 #141414; }
div.mcv-sp .so-res b { font: 800 17px/1.2 var(--display); }
div.mcv-sp .so-res a small { grid-column: 2; margin: 0; font: 600 12.5px/1.3 var(--body, inherit); }
div.mcv-sp .so-res em { grid-row: 1 / 3; grid-column: 3; font: 800 16px/1 var(--display); font-style: normal; }
div.mcv-sp .so-res .ico { grid-row: 1 / 3; grid-column: 4; width: 28px; height: 28px; padding: 6px; border: 2px solid #141414; border-radius: 50%; transition: transform .25s var(--ease); }
div.mcv-sp .so-res a:hover .ico { transform: translateX(4px); }
div.mcv-sp .so-head-side { display: grid; gap: 14px; max-width: 46ch; }
div.mcv-sp .so-head-side p { font-size: 17px; line-height: 1.6; color: var(--text-2); }
div.mcv-sp .ab-sec--ink .so-head-side p { color: #dad5ca; }
div.mcv-sp .so-cmp { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; color: inherit; }
div.mcv-sp .so-cmp .ico { width: 34px; height: 34px; padding: 7px; border: 2px solid currentColor; border-radius: 50%; transition: transform .25s var(--ease); }
div.mcv-sp .so-cmp:hover .ico { transform: translateX(4px); }
div.mcv-sp .so-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 14px; }
div.mcv-sp .so-c { display: flex; flex-direction: column; padding: 20px; border: 2px solid #141414; border-radius: 24px; background: #fff; color: #141414; transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
div.mcv-sp .so-c:hover { transform: translate(-4px, -4px); box-shadow: 7px 7px 0 #141414; }
div.mcv-sp .ab-sec--ink .so-c:hover { box-shadow: 7px 7px 0 #ff678b; }
div.mcv-sp .so-c--lead { background: #fff48d; }
div.mcv-sp .ab-sec--yellow .so-c--lead { background: #ff678b; }
div.mcv-sp .so-c--alias { background: #fffdf0; }
div.mcv-sp .so-c-top { display: flex; align-items: center; gap: 10px; }
div.mcv-sp .so-mono { flex: none; display: grid; place-items: center; width: 38px; height: 38px; border: 2px solid #141414; border-radius: 12px; background: #141414; color: #fff48d; font: 800 14px/1 var(--display); }
div.mcv-sp .so-c--alias .so-mono { background: #fff; color: #141414; }
div.mcv-sp .so-c-top small { flex: 1; font: 700 12px/1.35 var(--mono); color: var(--text-2); }
div.mcv-sp .so-c-top em { flex: none; padding: 3px 10px; border-radius: 60px; background: #141414; color: #fff48d; font: 700 11.5px/1.5 var(--mono); font-style: normal; }
div.mcv-sp .so-c-top .so-shared { background: transparent; border: 2px solid #141414; color: #141414; }
div.mcv-sp .so-c h3 { margin-top: 16px; font: 800 23px/1.1 var(--display); letter-spacing: -.03em; }
div.mcv-sp .so-c p { margin-top: 8px; font-size: 14.5px; line-height: 1.55; color: var(--text-2); }
div.mcv-sp .so-c-foot { display: flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 16px; }
div.mcv-sp .so-c-foot b { padding: 2px 10px; border: 2px solid #141414; border-radius: 12px; background: #ff678b; font: 800 18px/1.3 var(--display); }
div.mcv-sp .so-c--lead .so-c-foot b { background: #fff; }
div.mcv-sp .so-c-foot span { flex: 1; font-size: 12.5px; font-weight: 600; color: var(--text-2); }
div.mcv-sp .so-c-foot .ico { flex: none; width: 30px; height: 30px; padding: 6px; border: 2px solid #141414; border-radius: 50%; transition: transform .25s var(--ease); }
div.mcv-sp .so-c:hover .so-c-foot .ico { transform: translateX(4px); background: #141414; color: #fff; }
div.mcv-sp .so-note { margin-top: 24px; max-width: 80ch; font-size: 14.5px; line-height: 1.6; color: var(--text-2); }
div.mcv-sp .ab-sec--ink .so-note { color: #dad5ca; }
div.mcv-sp .ab-sec--ink .so-note b { color: #fff48d; }
div.mcv-sp .so-models { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
div.mcv-sp .so-models article { display: flex; flex-direction: column; padding: 24px; border: 2px solid #141414; border-radius: 26px; background: #fffdf0; box-shadow: 6px 6px 0 #141414; }
div.mcv-sp .so-models article:nth-child(3n+2) { box-shadow: 6px 6px 0 #ff678b; }
div.mcv-sp .so-m-top { display: flex; align-items: center; gap: 14px; }
div.mcv-sp .so-m-top h3 { font: 800 28px/1 var(--display); letter-spacing: -.035em; }
div.mcv-sp .so-models dl { display: grid; gap: 12px; margin: 18px 0 0; }
div.mcv-sp .so-models dt { font: 700 12px/1.4 var(--mono); color: #e8446c; }
div.mcv-sp .so-models dd { margin: 4px 0 0; font-size: 15px; line-height: 1.55; color: var(--text-2); }
div.mcv-sp .so-start { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: auto; padding-top: 18px; }
div.mcv-sp .so-start span { width: 100%; font: 700 12px/1.4 var(--mono); color: var(--text-2); }
div.mcv-sp .so-start a { display: inline-flex; align-items: center; gap: 8px; padding: 6px 8px 6px 13px; border: 2px solid #141414; border-radius: 60px; background: #fff; color: #141414; font-size: 13.5px; font-weight: 800; }
div.mcv-sp .so-start a em { padding: 2px 8px; border-radius: 60px; background: #fff48d; font: 700 12px/1.4 var(--mono); font-style: normal; }
div.mcv-sp .so-start a:hover { background: #141414; color: #fff; }
div.mcv-sp .so-letters { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 28px; }
div.mcv-sp .so-letters a { display: grid; place-items: center; width: 42px; height: 42px; border: 2px solid #fff; border-radius: 12px; color: #fff; font: 800 18px/1 var(--display); transition: background .2s, color .2s; }
div.mcv-sp .so-letters a:hover { background: #fff48d; border-color: #fff48d; color: #141414; }
div.mcv-sp .so-az { columns: 3 260px; column-gap: 28px; }
div.mcv-sp .so-az > div { break-inside: avoid; margin-bottom: 22px; scroll-margin-top: 100px; }
div.mcv-sp .so-az h3 { font: 800 30px/1 var(--display); color: #ff678b; }
div.mcv-sp .so-az ul { margin: 8px 0 0; padding: 0; list-style: none; }
div.mcv-sp .so-az a { display: grid; grid-template-columns: 1fr auto; gap: 0 12px; padding: 9px 0; border-bottom: 2px solid rgba(255, 255, 255, .14); color: #fff; }
div.mcv-sp .so-az b { font-weight: 800; font-size: 15.5px; }
div.mcv-sp .so-az small { grid-row: 2; font-size: 12.5px; color: #bdb7ab; }
div.mcv-sp .so-az em { grid-row: 1 / 3; align-self: center; font: 700 13px/1 var(--mono); font-style: normal; color: #fff48d; }
div.mcv-sp .so-az a:hover b { color: #fff48d; }


/* ---------- Family pages (template-group.php): price card, platform cards with real screens, table, model ---------- */
div.mcv-sp .fm-rows { display: grid; gap: 6px; margin: 16px 0 0; padding: 0; list-style: none; }
div.mcv-sp .fm-rows a { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; padding: 10px 12px; border: 2px solid #141414; border-radius: 16px; background: #fff; color: #141414; transition: transform .25s var(--ease), box-shadow .25s var(--ease); }
div.mcv-sp .fm-rows a:hover { transform: translate(-3px, -3px); box-shadow: 4px 4px 0 #141414; }
div.mcv-sp .fm-rows span { display: grid; }
div.mcv-sp .fm-rows b { font: 800 15.5px/1.2 var(--display); }
div.mcv-sp .fm-rows small { font-size: 12px; color: var(--text-2); }
div.mcv-sp .fm-rows em { align-self: center; font: 800 16px/1 var(--display); font-style: normal; }
div.mcv-sp .fm-rows:has(li:nth-child(6)) { grid-template-columns: 1fr 1fr; }
div.mcv-sp .fm-rows:has(li:nth-child(6)) small { display: none; }
div.mcv-sp .fm-bar { grid-column: 1 / -1; display: block; height: 6px; border-radius: 60px; background: rgba(20, 20, 20, .08); overflow: hidden; }
div.mcv-sp .fm-bar i { display: block; width: calc(var(--w) * 100%); height: 100%; border-radius: 60px; background: linear-gradient(90deg, #ff678b, #e8446c); transform-origin: 0 50%; animation: hw-fill 1.2s var(--ease) both; animation-delay: calc(var(--r) * 90ms + .2s); }
div.mcv-sp .fm-plats { display: grid; gap: 22px; }
div.mcv-sp .fm-plat { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); border: 2px solid #141414; border-radius: 32px; background: #fff; overflow: hidden; box-shadow: 8px 8px 0 #141414; scroll-margin-top: 100px; }
div.mcv-sp .fm-plat--lead { box-shadow: 8px 8px 0 #ff678b; }
div.mcv-sp .fm-plat-main { display: flex; flex-direction: column; padding: clamp(22px, 3vw, 36px); }
div.mcv-sp .fm-plat--lead .fm-plat-main { background: #fffbd6; }
div.mcv-sp .fm-title { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 18px; margin-top: 16px; }
div.mcv-sp .fm-title h3 { font: 800 clamp(28px, 3vw, 40px)/1 var(--display); letter-spacing: -.04em; }
div.mcv-sp .fm-title h3 a { color: #141414; }
div.mcv-sp .fm-title .pr-price { margin: 0; }
div.mcv-sp .fm-lede { margin-top: 14px; max-width: 62ch; font-size: 16px; line-height: 1.65; color: var(--text-2); }
div.mcv-sp .fm-pts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; margin: 18px 0 0; padding: 0; list-style: none; }
div.mcv-sp .fm-pts li { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; font-weight: 600; line-height: 1.45; }
div.mcv-sp .fm-pts .hw-tick { width: 24px; height: 24px; border-radius: 8px; background: #141414; color: #fff48d; }
div.mcv-sp .fm-pts .hw-tick .ico { width: 15px; height: 15px; opacity: 1; }
div.mcv-sp .fm-foot { display: grid; gap: 14px; justify-items: start; margin-top: auto; padding-top: 24px; }
div.mcv-sp .fm-spokes { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
div.mcv-sp .fm-spokes small { width: 100%; font: 700 11.5px/1.4 var(--mono); color: var(--text-2); }
div.mcv-sp .fm-spokes a { padding: 4px 11px; border: 2px solid #141414; border-radius: 60px; background: #fff; color: #141414; font-size: 12.5px; font-weight: 700; }
div.mcv-sp .fm-spokes a:hover, div.mcv-sp .fm-foot .pr-also a:hover { background: #141414; color: #fff; }
div.mcv-sp .fm-foot .pr-also { margin: 0; }
div.mcv-sp .fm-plat-side { display: flex; flex-direction: column; padding: clamp(22px, 3vw, 32px); background: #141414; color: #fff; border-left: 2px solid #141414; }
div.mcv-sp .fm-plat-side .pg-shot { margin: 0 0 22px; border: 2px solid #fff; border-radius: 18px; overflow: hidden; background: #222; }
div.mcv-sp .fm-plat-side .pg-shot img { display: block; width: 100%; height: auto; max-height: 300px; object-fit: cover; object-position: top; }
div.mcv-sp .fm-plat-side .pg-shot.is-phone { align-self: center; width: min(62%, 220px); border-radius: 26px; }
div.mcv-sp .fm-plat-side .pg-shot.is-phone img { max-height: 380px; }
div.mcv-sp .fm-plat-side h4 { font: 700 12.5px/1.4 var(--mono); color: #fff48d; }
div.mcv-sp .fm-plat-side ul { display: grid; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
div.mcv-sp .fm-plat-side li { display: flex; gap: 10px; align-items: center; font-size: 15px; font-weight: 700; }
div.mcv-sp .fm-plat-side li .ico { flex: none; width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: #ff678b; color: #141414; stroke-width: 3; }
div.mcv-sp .fm-plat-side .fm-plus { margin-top: 14px; font-size: 13px; color: #bdb7ab; }
div.mcv-sp .fm-tw { overflow-x: auto; border: 2px solid #141414; border-radius: 26px; background: #fff; box-shadow: 8px 8px 0 #141414; }
div.mcv-sp .fm-table { width: 100%; min-width: 860px; border-collapse: collapse; font-size: 14.5px; }
div.mcv-sp .fm-table thead th { padding: 16px 18px; background: #141414; color: #fff48d; font: 700 12.5px/1.4 var(--mono); text-align: left; }
div.mcv-sp .fm-table tbody th, div.mcv-sp .fm-table td { padding: 16px 18px; border-top: 2px solid rgba(20, 20, 20, .1); text-align: left; vertical-align: top; line-height: 1.5; color: var(--text-2); }
div.mcv-sp .fm-table tbody tr:nth-child(even) { background: #fffdf0; }
div.mcv-sp .fm-table tbody th a { font: 800 17px/1.2 var(--display); color: #141414; }
div.mcv-sp .fm-table td b { padding: 2px 9px; border: 2px solid #141414; border-radius: 10px; background: #ff678b; font: 800 15px/1.4 var(--display); color: #141414; white-space: nowrap; }
div.mcv-sp .fm-go { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; color: #141414; white-space: nowrap; }
div.mcv-sp .fm-go .ico { width: 26px; height: 26px; padding: 5px; border: 2px solid #141414; border-radius: 50%; transition: transform .25s var(--ease); }
div.mcv-sp .fm-go:hover .ico { transform: translateX(4px); }
div.mcv-sp .fm-model { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
div.mcv-sp .fm-model h2 { margin-top: 14px; font: 800 clamp(34px, 4.6vw, 62px)/.98 var(--display); letter-spacing: -.045em; color: #fff; text-wrap: balance; }
div.mcv-sp .fm-model h2 em { font-style: normal; display: inline-block; padding: 0 .16em .06em; border-radius: .22em; background: #fff48d; color: #141414; box-shadow: inset 0 0 0 3px #141414; }
div.mcv-sp .fm-model-say > p:not(.ab-k) { margin-top: 18px; font-size: 16.5px; line-height: 1.7; color: #dad5ca; }
div.mcv-sp .fm-checks { padding: 26px; border: 2px solid #fff; border-radius: 28px; }
div.mcv-sp .fm-checks h3 { font: 800 24px/1.15 var(--display); letter-spacing: -.03em; color: #fff48d; }
div.mcv-sp .fm-checks ol { display: grid; gap: 12px; margin: 18px 0 0; padding: 0; list-style: none; }
div.mcv-sp .fm-checks li { display: grid; grid-template-columns: 3.2rem 1fr; gap: 14px; padding: 16px; border-radius: 20px; background: rgba(255, 255, 255, .06); }
div.mcv-sp .fm-checks .ab-step-n { font-size: 36px; }
div.mcv-sp .fm-checks h4 { font: 800 19px/1.2 var(--display); color: #fff; }
div.mcv-sp .fm-checks p { margin-top: 6px; font-size: 14.5px; line-height: 1.6; color: #dad5ca; }
div.mcv-sp .fm-more { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
div.mcv-sp .fm-more article { display: flex; flex-direction: column; padding: 26px; border: 2px solid #141414; border-radius: 28px; background: #fff; box-shadow: 6px 6px 0 #141414; }
div.mcv-sp .fm-more small { margin-top: 16px; font: 700 12px/1.4 var(--mono); color: var(--text-2); }
div.mcv-sp .fm-more h3 { margin-top: 6px; font: 800 26px/1.05 var(--display); letter-spacing: -.035em; }
div.mcv-sp .fm-more h3 a { color: inherit; }
div.mcv-sp .fm-more article > p:not(.so-lead) { margin-top: 10px; font-size: 15px; line-height: 1.55; color: var(--text-2); }
div.mcv-sp .fm-more .so-lead { margin-top: 16px; }
div.mcv-sp .fm-more .so-lead a { background: #fff48d; font-size: 12.5px; padding: 4px 10px; }
div.mcv-sp .fm-more .so-cmp { margin-top: auto; padding-top: 18px; color: #141414; }
div.mcv-sp .fm-ic { display: grid; place-items: center; width: 52px; height: 52px; border: 2px solid #141414; border-radius: 50%; background: #ff678b; color: #141414; }
div.mcv-sp .fm-ic svg { width: 26px; height: 26px; }
div.mcv-sp .fm-more .fm-more--ink { background: #141414; color: #fff; box-shadow: 6px 6px 0 #ff678b; }
div.mcv-sp .fm-more .fm-more--ink small, div.mcv-sp .fm-more .fm-more--ink > p:not(.so-lead) { color: #dad5ca; }
div.mcv-sp .fm-more .fm-more--ink .so-cmp { color: #fff; }
div.mcv-sp .fm-more--ink .fm-ic { background: #fff48d; }


/* ---------- Legal and editor pages (page.php): summary card, contents list, readable document ---------- */
div.mcv-sp .lg-hero .ab-hero-grid { padding-block: 40px 64px; }
div.mcv-sp .lg-hero h1 { font-size: clamp(42px, 5.4vw, 80px); }
div.mcv-sp .lg-solo { grid-template-columns: 1fr; }
div.mcv-sp .lg-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0 0; padding: 0; list-style: none; }
div.mcv-sp .lg-meta li { padding: 7px 14px; border: 2px solid #141414; border-radius: 60px; background: #fff; font-size: 13.5px; color: #3a3632; }
div.mcv-sp .lg-meta li:first-child { background: #fff48d; }
div.mcv-sp .lg-meta b { color: #141414; }
div.mcv-sp .lg-card ul { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
div.mcv-sp .lg-card li { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 2px solid #141414; border-radius: 16px; background: #fff; font-size: 15px; font-weight: 700; line-height: 1.4; }
div.mcv-sp .lg-card li .ico { flex: none; width: 24px; height: 24px; padding: 4px; border-radius: 50%; background: #ff678b; color: #141414; stroke-width: 3; }
div.mcv-sp .lg-card .ab-card-n a { color: #fff48d; text-decoration: underline; text-underline-offset: 3px; }
div.mcv-sp .lg-sec { padding-block: clamp(56px, 6vw, 96px); }
div.mcv-sp .lg-grid { display: grid; grid-template-columns: minmax(0, 18rem) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: start; }
div.mcv-sp .lg-grid--solo { grid-template-columns: 1fr; max-width: 860px; }
div.mcv-sp .lg-side { position: sticky; top: 96px; display: grid; gap: 16px; }
div.mcv-sp .lg-toc, div.mcv-sp .lg-pages { padding: 20px; border: 2px solid #141414; border-radius: 24px; background: #fff; }
div.mcv-sp .lg-toc small, div.mcv-sp .lg-pages small { display: block; margin-bottom: 10px; font: 700 12px/1.4 var(--mono); color: var(--text-2); }
div.mcv-sp .lg-toc ol { margin: 0; padding: 0; list-style: none; counter-reset: lg; }
div.mcv-sp .lg-toc li { counter-increment: lg; }
div.mcv-sp .lg-toc a { display: grid; grid-template-columns: 2rem 1fr; padding: 7px 0; border-top: 2px solid rgba(20, 20, 20, .08); font-size: 14.5px; font-weight: 700; line-height: 1.35; color: #141414; transition: color .2s; }
div.mcv-sp .lg-toc li:first-child a { border-top: 0; }
div.mcv-sp .lg-toc a::before { content: counter(lg, decimal-leading-zero); font: 700 12px/1.6 var(--mono); color: #e8446c; }
div.mcv-sp .lg-toc a:hover { color: #e8446c; }
div.mcv-sp .lg-pages { display: grid; gap: 6px; background: #141414; color: #fff; }
div.mcv-sp .lg-pages small { color: #fff48d; }
div.mcv-sp .lg-pages a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; border: 2px solid rgba(255, 255, 255, .3); border-radius: 60px; font-weight: 800; font-size: 14.5px; color: #fff; }
div.mcv-sp .lg-pages a .ico { width: 20px; height: 20px; }
div.mcv-sp .lg-pages a:hover, div.mcv-sp .lg-pages a[aria-current] { background: #fff48d; border-color: #fff48d; color: #141414; }
div.mcv-sp .lg-doc { padding: clamp(24px, 4vw, 56px); border: 2px solid #141414; border-radius: 32px; background: #fff; box-shadow: 8px 8px 0 #141414; counter-reset: lgh; font-size: 17px; line-height: 1.75; color: #2a2827; }
div.mcv-sp .lg-doc > p:first-child { font-size: 19px; line-height: 1.65; color: #141414; }
div.mcv-sp .lg-doc h2 { counter-increment: lgh; display: flex; align-items: baseline; gap: 14px; margin: 52px 0 0; padding-top: 28px; border-top: 2px dashed rgba(20, 20, 20, .18); font: 800 clamp(24px, 2.4vw, 32px)/1.15 var(--display); letter-spacing: -.03em; color: #141414; scroll-margin-top: 100px; }
div.mcv-sp .lg-doc.legal h2::before { content: counter(lgh, decimal-leading-zero); flex: none; padding: 2px 10px; border: 2px solid #141414; border-radius: 12px; background: #fff48d; font: 700 14px/1.5 var(--mono); }
div.mcv-sp .lg-doc p, div.mcv-sp .lg-doc ul, div.mcv-sp .lg-doc ol { margin-top: 16px; max-width: 70ch; }
div.mcv-sp .lg-doc ul { padding: 0; list-style: none; display: grid; gap: 10px; }
div.mcv-sp .lg-doc ul li { position: relative; padding-left: 26px; }
div.mcv-sp .lg-doc ul li::before { content: ""; position: absolute; left: 4px; top: .7em; width: 10px; height: 10px; border: 2px solid #141414; border-radius: 3px; background: #ff678b; transform: rotate(45deg); }
div.mcv-sp .lg-doc a { color: #141414; font-weight: 700; text-decoration: underline; text-decoration-color: #ff678b; text-decoration-thickness: 2px; text-underline-offset: 3px; }
div.mcv-sp .lg-end { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin-top: 48px; padding: 20px 22px; border-radius: 20px; background: #fffdf0; border: 2px solid #141414; }
div.mcv-sp .lg-end p { margin: 0; font-size: 15px; line-height: 1.6; }
div.mcv-sp .lg-top { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; text-decoration: none !important; white-space: nowrap; }
div.mcv-sp .lg-top .ico { width: 30px; height: 30px; padding: 6px; border: 2px solid #141414; border-radius: 50%; transform: rotate(-90deg); }

@media (max-width: 1020px) {
  div.mcv-sp .lg-grid { grid-template-columns: 1fr; }
  div.mcv-sp .lg-side { display: contents; }
  div.mcv-sp .lg-toc { order: 0; }
  div.mcv-sp .lg-doc { order: 1; }
  div.mcv-sp .lg-pages { order: 2; }
  div.mcv-sp .fm-plat, div.mcv-sp .fm-model { grid-template-columns: 1fr; }
  div.mcv-sp .fm-plat-side { border-left: 0; border-top: 2px solid #141414; }
  div.mcv-sp .fm-more { grid-template-columns: 1fr 1fr; }
  div.mcv-sp .pr-incl { grid-template-columns: 1fr 1fr; }
  div.mcv-sp .pr-tools { position: static; }
  div.mcv-sp .hw-days, div.mcv-sp .hw-after { grid-template-columns: 1fr 1fr; }
  div.mcv-sp .ct-lines { grid-template-columns: 1fr 1fr; }
  div.mcv-sp .ct-build { grid-template-columns: 1fr; }
  div.mcv-sp .ab-hero-grid, div.mcv-sp .ab-co, div.mcv-sp .ab-fit { grid-template-columns: 1fr; }
  div.mcv-sp .ab-card { max-width: 30rem; }
  div.mcv-sp .ab-fams, div.mcv-sp .ab-own, div.mcv-sp .ab-beliefs { grid-template-columns: 1fr; }
  div.mcv-sp .ab-own-c:nth-child(n) { margin-top: 0; }
  div.mcv-sp .ab-steps { grid-template-columns: 1fr 1fr; }
  div.mcv-sp .ab-steps li::after { display: none; }
}
@media (max-width: 640px) {
  div.mcv-sp .lg-doc { font-size: 16px; box-shadow: 5px 5px 0 #141414; border-radius: 24px; }
  div.mcv-sp .lg-doc h2 { margin-top: 40px; }
  div.mcv-sp .fm-tw { overflow: visible; }
  div.mcv-sp .fm-table { min-width: 0; }
  div.mcv-sp .fm-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  div.mcv-sp .fm-table, div.mcv-sp .fm-table tbody, div.mcv-sp .fm-table tr, div.mcv-sp .fm-table th, div.mcv-sp .fm-table td { display: block; }
  div.mcv-sp .fm-table tr { padding: 14px 16px; border-top: 2px solid rgba(20, 20, 20, .1); }
  div.mcv-sp .fm-table tbody tr:first-child { border-top: 0; }
  div.mcv-sp .fm-table tbody th, div.mcv-sp .fm-table td { padding: 4px 0; border: 0; }
  div.mcv-sp .fm-table td[data-label]::before { content: attr(data-label); display: block; font: 700 11.5px/1.5 var(--mono); color: #e8446c; }
  div.mcv-sp .fm-table td:last-child { padding-top: 10px; }
  div.mcv-sp .fm-pts, div.mcv-sp .fm-more { grid-template-columns: 1fr; }
  div.mcv-sp .fm-plat { box-shadow: 5px 5px 0 #141414; border-radius: 26px; }
  div.mcv-sp .fm-checks { padding: 18px; }
  div.mcv-sp .fm-checks li { grid-template-columns: 1fr; gap: 6px; }
  div.mcv-sp .so-res a { grid-template-columns: auto 1fr auto; }
  div.mcv-sp .so-res .ico { display: none; }
  div.mcv-sp .pr-incl { grid-template-columns: 1fr; }
  div.mcv-sp .pr-ladder li { grid-template-columns: 1fr; gap: 10px; }
  div.mcv-sp .pr-count { margin-left: 0; }
  div.mcv-sp .hw-days, div.mcv-sp .hw-after { grid-template-columns: 1fr; }
  div.mcv-sp .hw-kit { padding: 20px; box-shadow: 6px 6px 0 #ff678b; }
  div.mcv-sp .ct-lines { grid-template-columns: 1fr; }
  div.mcv-sp .ct-builder { padding: 20px; box-shadow: 6px 6px 0 #ff678b; }
  div.mcv-sp .ab-hero { padding-top: 96px; }
  div.mcv-sp .ab-hero-grid { padding-block: 28px 48px; }
  div.mcv-sp .ab-steps, div.mcv-sp .ab-places { grid-template-columns: 1fr; }
  div.mcv-sp .ab-card { padding: 22px 20px; box-shadow: 6px 6px 0 #141414; }
  div.mcv-sp .ab-ledger li { grid-template-columns: 1fr; gap: 2px; }
}
@media (prefers-reduced-motion: reduce) {
  div.mcv-sp .ab-strip-in, div.mcv-sp .ct-status.is-open::before, div.mcv-sp .hw-track .hw-bar i, div.mcv-sp .pr-scale i, div.mcv-sp .pr-bar i, div.mcv-sp .so-res ol.is-in li, div.mcv-sp .fm-bar i { animation: none; }
  div.mcv-sp .ab-own-c, div.mcv-sp .ab-btn, div.mcv-sp .ab-fam li a { transition: none; }
}
