/*
Theme Name: Matthew Murphy
Theme URI: https://matthewxmurphy.com/
Author: Matthew X Murphy
Author URI: https://matthewxmurphy.com/
Description: A black, white and red editorial theme for Matthew Murphy's books, music, work and community.
Version: 2026.10.5.02
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: matthew-murphy
*/

:root {
  color-scheme: dark;
  --mxm-black: #090909;
  --mxm-charcoal: #151515;
  --mxm-red: #ed102c;
  --mxm-red-hover: #ff2441;
  --mxm-white: #f7f7f4;
  --mxm-paper: #eeeeeb;
  --mxm-muted: #c1c1bd;
  --mxm-line: #353535;
  --mxm-body-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --mxm-display-font: Impact, "Arial Narrow", "Liberation Sans Narrow", "Helvetica Neue", sans-serif;
  --mxm-hand-font: "Marker Felt", "Bradley Hand", "Segoe Print", cursive;
  --mxm-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.84' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23g)' opacity='.28' d='M0 0h220v220H0z'/%3E%3C/svg%3E");
  --mxm-distress: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='115' viewBox='0 0 260 115'%3E%3Cpath fill='white' fill-rule='evenodd' d='M0 0h260v115H0z M12 6h3v1h-3z M56 9h9v1h-9z M153 3h2v5h-2z M178 13h5v2h-5z M214 7h3v1h-3z M38 25h2v4h-2z M72 23h6v2h-6z M91 30h3v1h-3z M126 19h4v2h-4z M199 29h12v1h-12z M243 36h3v4h-3z M9 47h8v1h-8z M33 50h3v2h-3z M58 44h2v5h-2z M86 56h11v1h-11z M142 40h4v2h-4z M169 52h2v3h-2z M224 46h5v1h-5z M20 69h3v3h-3z M48 75h14v1h-14z M112 66h4v2h-4z M148 72h9v1h-9z M184 66h3v4h-3z M219 79h6v1h-6z M7 95h4v1h-4z M69 92h3v5h-3z M95 107h12v1h-12z M133 99h5v2h-5z M163 94h2v3h-2z M205 107h9v1h-9z M247 98h3v2h-3z'/%3E%3C/svg%3E");
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; background: var(--mxm-black); color: var(--mxm-white); font: 16px/1.5 var(--mxm-body-font); }
img, video { max-width: 100%; height: auto; }
img { vertical-align: middle; }
button, input, textarea, select { font: inherit; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { color: var(--mxm-red-hover); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible { outline: 3px solid var(--mxm-red); outline-offset: 4px; }
button:disabled, input:disabled { cursor: default; }
::selection { color: #fff; background: #c20d25; }
h1, h2, h3, p { margin-top: 0; }
ul, ol { padding-left: 1.3em; }
.screen-reader-text, .mxm-skip-link { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus, .mxm-skip-link:focus { position: fixed; top: 12px; left: 12px; z-index: 99999; width: auto; height: auto; padding: 12px 18px; margin: 0; clip: auto; background: #fff; color: #111; }
.mxm-skip-link:not(:focus) { position: fixed; top: -100px; left: -10000px; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; }
.mxm-skip-link:focus { max-width: calc(100vw - 24px); clip-path: none; white-space: normal; }
.mxm-container { width: min(1280px, calc(100% - 72px)); margin-inline: auto; }
.mxm-home > section { position: relative; isolation: isolate; scroll-margin-top: 90px; }
.mxm-home > section > * { position: relative; z-index: 1; }
.mxm-hero::before, .mxm-about::before, .mxm-music::before, .mxm-connect::before, .mxm-site-footer::before { position: absolute; z-index: 0; inset: 0; background-image: var(--mxm-grain); opacity: .14; pointer-events: none; content: ""; }
.mxm-books::before, .mxm-services::before, .mxm-merch::before { position: absolute; z-index: 0; inset: 0; background-image: var(--mxm-grain); opacity: .08; pointer-events: none; content: ""; }
.mxm-icon { display: inline-block; flex: none; width: 1.35em; height: 1.35em; vertical-align: -.2em; }

/* Plain wordmark, editorial navigation, and the existing mobile drawer trigger. */
.mxm-site-header { position: relative; z-index: 30; border-bottom: 1px solid #292929; background: #080808; }
.mxm-header-inner { display: flex; align-items: center; flex-wrap: nowrap; gap: 24px; min-height: 82px; }
.mxm-brand { display: inline-block; flex: none; min-width: 0; color: #fff; font: 800 22px/1.2 var(--mxm-body-font); letter-spacing: .035em; text-transform: uppercase; text-decoration: none; }
.mxm-brand img, .mxm-brand svg { display: block; width: 210px; max-width: 100%; height: auto; max-height: 72px; object-fit: contain; }
.mxm-site-header .custom-logo-link { display: block; flex: none; width: 210px; }
.mxm-site-header .custom-logo { display: block; width: 100%; height: auto; max-height: 72px; object-fit: contain; }
.mxm-brand:hover { color: #fff; }
.mxm-desktop-nav { min-width: 0; margin-left: auto; }
.mxm-desktop-nav ul { padding: 0; margin: 0; list-style: none; }
.mxm-desktop-nav > ul, .mxm-desktop-nav > div > ul { display: flex; align-items: center; flex-wrap: nowrap; gap: 22px; }
.mxm-desktop-nav li { position: relative; }
.mxm-desktop-nav a { display: block; padding: 15px 0; color: #e2e2df; font: 15px/1 var(--mxm-display-font); letter-spacing: .015em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.mxm-desktop-nav a:hover, .mxm-desktop-nav .current-menu-item > a, .mxm-desktop-nav .current_page_item > a { color: var(--mxm-red); }
.mxm-desktop-nav .current-menu-item > a::after, .mxm-desktop-nav .current_page_item > a::after { position: absolute; right: 0; bottom: 7px; left: 0; height: 2px; background: var(--mxm-red); content: ""; }
.mxm-desktop-nav .sub-menu { display: none; position: absolute; z-index: 45; top: 100%; left: -16px; width: max-content; min-width: 210px; max-width: min(290px, calc(100vw - 32px)); padding-block: 8px; border: 1px solid #4b4b4b; background: #121212; box-shadow: 0 16px 35px #0008; }
.mxm-desktop-nav li:hover > .sub-menu, .mxm-desktop-nav li:focus-within > .sub-menu { display: block; }
.mxm-desktop-nav .sub-menu a { padding: 12px 16px; font-size: 15px; line-height: 1.3; white-space: normal; }
.mxm-desktop-nav .sub-menu a:hover, .mxm-desktop-nav .sub-menu a:focus-visible { background: #242424; }
.mxm-desktop-nav .sub-menu .sub-menu { top: -9px; left: 100%; }
.mxm-desktop-nav .sub-menu .current-menu-item > a::after, .mxm-desktop-nav .sub-menu .current_page_item > a::after { display: none; }
.mxm-community { display: inline-flex; flex: none; align-items: center; justify-content: center; min-height: 40px; padding: 9px 18px; border: 1px solid var(--mxm-red); background: var(--mxm-red); color: #fff; font: 14px/1.2 var(--mxm-display-font); letter-spacing: .025em; text-decoration: none; text-transform: uppercase; }
.mxm-community:hover { background: var(--mxm-red-hover); color: #fff; }
.mxm-site-header .mxm-community { min-height: 40px; padding: 10px 16px; font-size: 14px; line-height: 1.15; white-space: nowrap; }
.mxm-menu-toggle { display: none; align-items: center; justify-content: center; flex: none; width: 48px; height: 48px; padding: 8px; border: 0; border-radius: 0; background: transparent; color: #fff; box-shadow: none; }
.mxm-menu-toggle .mxm-icon { width: 27px; height: 27px; }

/* Presentation only: the canonical OtterBox-style plugin owns drawer behavior. */
body.mxm-site .cph-mobile-menu { color: #f4f4ee; background-color: #101010; background-image: var(--mxm-grain); font-family: var(--mxm-body-font); }
body.mxm-site .cph-mobile-menu::backdrop { background: rgb(0 0 0 / 72%); }
body.mxm-site .cph-menu-top { gap: 15px; padding-inline: 21px; border-bottom-color: #424242; }
body.mxm-site .cph-menu-top > span { font: 800 20px/1.2 var(--mxm-body-font); letter-spacing: .035em; text-transform: uppercase; }
body.mxm-site .cph-menu-top [data-cph-close] { flex: none; min-width: 48px; min-height: 48px; padding: 0; border: 0; border-radius: 0; background: transparent; color: #eee; box-shadow: none; }
body.mxm-site .cph-brand-link { display: inline-block; width: auto; padding: 0; border: 0; background: transparent; color: #fff; text-decoration: none; }
body.mxm-site .cph-brand-link img, body.mxm-site .cph-brand-link svg { display: block; width: 190px; max-width: 100%; height: auto; max-height: 70px; object-fit: contain; }
body.mxm-site .cph-menu-panels h2, body.mxm-site .cph-panel-heading { padding: 20px 22px 13px; color: #bdbdb7; font: 17px/1.2 var(--mxm-display-font); letter-spacing: .1em; text-transform: uppercase; }
body.mxm-site .cph-menu-panels a, body.mxm-site .cph-menu-panels button { min-height: 58px; padding: 15px 22px; border-bottom-color: #3a3a3a; color: #f5f5f0; font: 22px/1.15 var(--mxm-display-font); letter-spacing: .025em; text-transform: uppercase; }
body.mxm-site .cph-menu-panels a:hover, body.mxm-site .cph-menu-panels button:hover { background: #242424; color: #fff; }
body.mxm-site .cph-menu-panels [aria-current="page"], body.mxm-site .cph-menu-row.is-current { background: var(--mxm-red); color: #fff; }
body.home.mxm-site .cph-menu-panels .mxm-menu-home { background: var(--mxm-red); color: #fff; }
body.mxm-site .cph-menu-panels .cph-menu-back { background: #191919; color: #d8d8d2; font-size: 16px; }
body.mxm-site .cph-menu-row .mxm-icon, body.mxm-site .cph-menu-row .cph-menu-icon, body.mxm-site .cph-menu-row > svg { flex: none; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.mxm-site .cph-menu-label { flex: 1; }
body.mxm-site .cph-menu-panels a.cph-brand-link { width: auto; min-height: 0; padding: 0; border: 0; background: transparent; }
body.mxm-site .cph-menu-footer { padding: 26px 22px 12px; }
body.mxm-site .cph-menu-tagline { margin-top: 14px; color: var(--mxm-red); font: 14px/1.2 var(--mxm-display-font); letter-spacing: .16em; text-transform: uppercase; }
body.mxm-site .cph-mobile-menu :focus-visible, body.mxm-site .cph-menu-trigger:focus-visible { outline-color: var(--mxm-red); }
body.mxm-site #mxm-mobile-menu [data-cph-panel="root"] > a,
body.mxm-site #mxm-mobile-menu [data-cph-panel="root"] > button:not([data-cph-back]) { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr) 1rem; align-items: center; gap: .85rem; text-align: left; }

/* Large stamped typography and the actual portrait remain separate editable assets. */
.mxm-hero { overflow: hidden; border-bottom: 1px solid #4a4a4a; background: radial-gradient(ellipse at 74% 35%, #34373a 0, #111315 44%, #030303 84%); }
.mxm-hero-inner { display: flex; align-items: center; min-height: 620px; padding-block: 38px 24px; }
.mxm-hero-copy { position: relative; z-index: 3; width: 59%; padding-right: 24px; }
.mxm-hero-name { margin: 0 0 18px; color: #fafaf7; font: 400 clamp(94px, 12.2vw, 160px)/.88 var(--mxm-display-font); letter-spacing: -.035em; text-transform: uppercase; }
.mxm-hero-name span { display: block; width: fit-content; max-width: 100%; }
.mxm-hero-name span:first-child { -webkit-mask-image: var(--mxm-distress); mask-image: var(--mxm-distress); -webkit-mask-size: 260px 115px; mask-size: 260px 115px; }
.mxm-hero-name span:last-child { margin-top: 5px; color: var(--mxm-red); font-size: 1.17em; font-style: italic; letter-spacing: -.055em; transform: skewX(-6deg); transform-origin: left center; -webkit-mask-image: var(--mxm-distress); mask-image: var(--mxm-distress); -webkit-mask-size: 320px 135px; mask-size: 320px 135px; }
.mxm-eyebrow { margin: 0 0 14px; font: 15px/1.35 var(--mxm-display-font); letter-spacing: .27em; text-transform: uppercase; }
.mxm-hero-description { max-width: 470px; margin-bottom: 24px; color: #e0e0dc; font-size: 17px; line-height: 1.55; }
.mxm-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }
.mxm-button { display: inline-flex; align-items: center; justify-content: center; gap: 15px; min-height: 46px; max-width: 100%; padding: 12px 23px; border: 1px solid var(--mxm-red); border-radius: 0; background: var(--mxm-red); color: #fff; box-shadow: none; font: 16px/1.15 var(--mxm-display-font); letter-spacing: .035em; text-align: center; text-decoration: none; text-transform: uppercase; }
.mxm-button:hover { border-color: var(--mxm-red-hover); background: var(--mxm-red-hover); color: #fff; }
.mxm-button .mxm-icon { width: 19px; height: 19px; }
.mxm-button.is-outline { border-color: #c6c6c2; background: transparent; color: #f4f4f0; }
.mxm-button.is-outline:hover { border-color: var(--mxm-red); color: var(--mxm-red-hover); }
.mxm-hero-portrait { position: absolute !important; z-index: 1 !important; top: 0; right: -36px; bottom: 0; width: calc(100% + 72px); overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 15%, #000 100%); mask-image: linear-gradient(90deg, transparent 0, #000 15%, #000 100%); }
.mxm-hero-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 100% 0; }
.mxm-hero-notes { position: absolute !important; z-index: 4 !important; top: 28px; right: 0; max-width: 150px; color: #e2e2dc; font: italic 24px/1.2 var(--mxm-hand-font); text-transform: uppercase; transform: rotate(-9deg); }
.mxm-hero-notes::after, .mxm-quote::after, .mxm-service-statement::after { display: block; width: 78px; height: 4px; margin: 11px auto 0; background: var(--mxm-red); transform: rotate(-10deg); content: ""; }
.mxm-role-list { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; max-width: 600px; margin: 31px 0 0; padding: 0; list-style: none; }
.mxm-role-list > * { min-width: 0; color: #e0e0dc; font: 12px/1.15 var(--mxm-display-font); text-align: center; text-transform: uppercase; }
.mxm-role-list .mxm-icon { display: block; width: 28px; height: 28px; margin: 0 auto 9px; color: #eee; }

/* Dark about strip with open, unboxed identity marks. */
.mxm-about { padding-block: 30px 32px; border-bottom: 1px solid #383838; background: #111; }
.mxm-about-inner { display: grid; grid-template-columns: 1.15fr .95fr .8fr; align-items: center; gap: 36px; }
.mxm-section-title { margin-bottom: 16px; font: 34px/1.05 var(--mxm-display-font); letter-spacing: .01em; text-transform: uppercase; }
.mxm-section-title span { color: var(--mxm-red); }
.mxm-about-copy { min-width: 0; }
.mxm-about-copy p { margin-bottom: 12px; color: #d0d0ca; font-size: 15px; line-height: 1.5; }
.mxm-about-copy .mxm-button { min-height: 40px; margin-top: 6px; padding: 10px 18px; font-size: 14px; }
.mxm-about-points { display: grid; gap: 14px; margin: 0; padding: 10px 0 10px 30px; border-left: 1px solid #424242; list-style: none; }
.mxm-about-points li { display: flex; align-items: center; gap: 13px; font: 17px/1.3 var(--mxm-display-font); letter-spacing: .015em; text-transform: uppercase; }
.mxm-about-points .mxm-icon { width: 23px; height: 23px; color: #ccc; }
.mxm-quote { max-width: 245px; margin: 0 auto; color: #efefeb; font: italic 29px/1.3 var(--mxm-hand-font); text-align: center; text-transform: uppercase; transform: rotate(-7deg); }

/* White paper sections use the same compact editorial heading rhythm. */
.mxm-books, .mxm-services, .mxm-merch { color-scheme: light; color: #111; background: var(--mxm-paper); }
.mxm-books { padding-block: 28px 30px; }
.mxm-section-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px 22px; margin-bottom: 24px; }
.mxm-section-heading h2 { flex: none; margin: 0; font: 36px/1 var(--mxm-display-font); letter-spacing: .01em; text-transform: uppercase; }
.mxm-section-heading p { margin: 0; font: 13px/1.35 var(--mxm-display-font); letter-spacing: .2em; text-transform: uppercase; }
.mxm-section-heading .mxm-button { margin-left: auto; }
.mxm-books-grid { display: grid; grid-template-columns: 1fr 1fr .48fr; align-items: center; gap: 36px; }
.mxm-book-card { display: grid; grid-template-columns: minmax(120px, 43%) minmax(0, 1fr); align-items: center; gap: 22px; min-width: 0; }
.mxm-book-card img { display: block; width: 100%; max-height: 280px; object-fit: contain; filter: drop-shadow(0 5px 4px #0002); }
.mxm-book-copy { min-width: 0; }
.mxm-book-copy h3 { margin-bottom: 12px; font: 25px/1.1 var(--mxm-display-font); }
.mxm-book-copy p { margin-bottom: 16px; font-size: 14px; line-height: 1.4; }
.mxm-books .mxm-button.is-outline { border-color: var(--mxm-red); background: transparent; color: #b40a20; }
.mxm-books .mxm-button.is-outline:hover { background: var(--mxm-red); color: #fff; }
.mxm-edition-links { display: flex; align-items: stretch; flex-direction: column; gap: 7px; max-width: 220px; }
.mxm-edition-links a { display: inline-flex; align-items: center; justify-content: center; min-height: 35px; padding: 7px 10px; border: 1px solid var(--mxm-red); color: #b40a20; font: 14px/1.15 var(--mxm-display-font); text-align: center; text-decoration: none; text-transform: uppercase; }
.mxm-edition-links a:hover { background: var(--mxm-red); color: #fff; }
.mxm-coming-soon { display: flex; align-items: center; justify-content: center; flex-direction: column; width: min(100%, 170px); min-height: 245px; margin: auto; padding: 26px 18px; background: #111; color: #efefeb; box-shadow: 6px 6px 0 #0001; text-align: center; }
.mxm-coming-soon h3 { margin-bottom: 40px; color: #858581; font: 33px/1.05 var(--mxm-display-font); text-transform: uppercase; }
.mxm-coming-soon p { margin: 0; font-size: 13px; line-height: 1.4; }
.mxm-coming-book { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 42px; width: 100%; }
.mxm-coming-book strong { display: block; color: #858581; font: 35px/1.05 var(--mxm-display-font); text-transform: uppercase; }
.mxm-coming-book span { display: block; font-size: 13px; line-height: 1.4; }

/* Record covers and platform marks remain unboxed. */
.mxm-music { padding-block: 27px 26px; border-block: 1px solid #343434; background: #101010; }
.mxm-music-grid { display: grid; grid-template-columns: 1fr 1.3fr .7fr; align-items: center; gap: 38px; }
.mxm-music-card { min-width: 0; }
.mxm-music-card > a { display: block; }
.mxm-music-card img { display: block; width: 100%; aspect-ratio: 16 / 9; border: 1px solid #666; object-fit: cover; }
.mxm-music-card h3 { margin: 12px 0 6px; color: #efefeb; font: 21px/1.15 var(--mxm-display-font); }
.mxm-music-card p { margin-bottom: 18px; color: #c8c8c2; font-size: 15px; line-height: 1.5; }
.mxm-music-feature h3 { margin: 14px 0 12px; font-size: 29px; }
.mxm-music-symbol { display: block; }
.mxm-music-symbol .mxm-icon { width: 48px; height: 48px; color: #eee; }
.mxm-music-card:not(.mxm-music-feature) { display: grid; grid-template-columns: 125px minmax(0, 1fr); align-items: center; gap: 16px 21px; }
.mxm-music-card:not(.mxm-music-feature) > img { grid-row: 1 / 3; width: 125px; height: 190px; aspect-ratio: auto; border: 0; object-fit: contain; }
.mxm-music-card:not(.mxm-music-feature) > p { align-self: end; margin: 0; }
.mxm-music-card:not(.mxm-music-feature) > .mxm-button { align-self: start; justify-self: start; padding-inline: 12px; font-size: 13px; }
.mxm-platform-links { display: flex; align-items: center; flex-wrap: wrap; gap: 19px; margin-top: 13px; }
.mxm-platform-links a { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; min-height: 36px; padding: 0; border: 0; border-radius: 0; background: transparent; color: #eee; text-decoration: none; }
.mxm-platform-links a:hover { color: var(--mxm-red); }
.mxm-platform-links .mxm-icon { width: 23px; height: 23px; }
.mxm-music .mxm-actions { margin-top: 24px; }
.mxm-music .mxm-button { min-height: 40px; padding: 9px 17px; border-color: var(--mxm-red); font-size: 14px; }

/* Four practical service cards, followed by the short handwritten statement. */
.mxm-services { padding-block: 26px 28px; }
.mxm-services-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.mxm-service-card { display: flex; flex-direction: column; align-items: stretch; min-width: 0; padding: 21px 19px 17px; border: 1px solid #777; background: #101010; color: #efefeb; }
.mxm-service-title { display: flex; align-items: center; gap: 13px; margin-bottom: 13px; font: 21px/1.12 var(--mxm-display-font); text-transform: uppercase; }
.mxm-service-title > span { min-width: 0; }
.mxm-service-title h3 { min-width: 0; margin: 0; font: 21px/1.12 var(--mxm-display-font); text-transform: uppercase; }
.mxm-service-title .mxm-icon { width: 34px; height: 34px; color: #d3d3d0; }
.mxm-service-points { margin: 0 0 21px; padding-left: 16px; color: #c3c3bf; font-size: 14px; line-height: 1.55; }
.mxm-service-points li { padding-left: 1px; }
.mxm-service-points li::marker { color: var(--mxm-red); }
.mxm-service-card .mxm-button { min-height: 37px; margin-top: auto; padding: 8px 10px; border-color: var(--mxm-red); background: transparent; color: #eee; font-size: 13px; }
.mxm-service-card .mxm-button:hover { background: var(--mxm-red); color: #fff; }
.mxm-service-card .mxm-button.is-outline { color: #eee; }
.mxm-service-statement { max-width: 300px; margin: 26px auto 0; color: #111; font: 29px/1.12 var(--mxm-display-font); text-align: center; text-transform: uppercase; transform: rotate(-5deg); }
.mxm-merch { padding-block: 24px 30px; border-top: 1px solid #cececa; }
.mxm-merch-feature { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding-block: 8px; }
.mxm-merch-copy { min-width: 0; align-self: center; }
.mxm-merch-copy .mxm-section-heading { margin-bottom: 12px; }
.mxm-merch-copy > p { max-width: 660px; margin: 0; font-size: 17px; line-height: 1.5; }
.mxm-merch-feature > .mxm-button { flex: none; }

/* Existing Fluent Forms/FluentCRM markup may fill these slots without theme coupling. */
.mxm-connect { padding-block: 31px 33px; border-block: 1px solid #424242; background: radial-gradient(ellipse at 70% 90%, #303134, #0b0b0b 70%); }
.mxm-connect-grid { display: grid; grid-template-columns: 1.1fr 1fr .55fr; align-items: center; gap: 44px; }
.mxm-newsletter, .mxm-contact { min-width: 0; }
.mxm-connect h2 { margin-bottom: 10px; font: 29px/1.1 var(--mxm-display-font); letter-spacing: .015em; text-transform: uppercase; }
.mxm-connect p { margin-bottom: 17px; color: #c9c9c4; font-size: 14px; }
.mxm-connect form { margin: 0; }
.mxm-connect label { color: #e6e6e0; font-size: 14px; }
.mxm-connect input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), .mxm-connect textarea, .mxm-connect select { width: 100%; max-width: 100%; min-height: 45px; padding: 11px 13px; border: 1px solid #686864; border-radius: 0; background: #111; color: #fff; box-shadow: none; }
.mxm-connect input::placeholder, .mxm-connect textarea::placeholder { color: #b8b8b3; opacity: 1; }
.mxm-connect textarea { min-height: 110px; resize: vertical; }
.mxm-connect input[type="checkbox"], .mxm-connect input[type="radio"] { accent-color: var(--mxm-red); }
.mxm-connect button[type="submit"], .mxm-connect input[type="submit"], .mxm-connect .ff-btn-submit { display: inline-flex; align-items: center; justify-content: center; min-height: 45px; padding: 12px 25px; border: 1px solid var(--mxm-red); border-radius: 0; background: var(--mxm-red); color: #fff; box-shadow: none; font: 16px/1.15 var(--mxm-display-font); text-transform: uppercase; }
.mxm-connect button[type="submit"]:hover, .mxm-connect input[type="submit"]:hover { background: var(--mxm-red-hover); }
.mxm-form-placeholder { padding: 13px 0; border-top: 1px solid #555; color: #c1c1bd; font-size: 14px; line-height: 1.5; }
.mxm-connect .ff-el-form-control:focus { border-color: var(--mxm-red); background: #111; color: #fff; }
.mxm-connect .error, .mxm-connect .ff-el-is-error .text-danger { color: #ff8898; }

/* Footer identity and social marks have no added backgrounds or pill treatments. */
.mxm-site-footer { position: relative; isolation: isolate; padding-block: 30px; background: #080808; }
.mxm-footer-inner { position: relative; z-index: 1; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; }
.mxm-footer-inner .mxm-brand img, .mxm-footer-inner .mxm-brand svg { width: 230px; }
.mxm-footer-inner .custom-logo-link { display: block; width: 230px; }
.mxm-footer-inner .custom-logo { display: block; width: 100%; height: auto; max-height: 85px; object-fit: contain; }
.mxm-footer-inner > div:last-child { color: #aaa; font-size: 12px; text-align: right; }
.mxm-footer-inner > div:last-child p { margin: 8px 0 0; }
.mxm-footer-inner .mxm-footer-motto { color: #eee; font: 22px/1.1 var(--mxm-display-font); letter-spacing: .18em; text-transform: uppercase; }
.mxm-footer-motto span { color: var(--mxm-red); }
.mxm-footer-socials { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; }
.mxm-footer-socials ul { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin: 0; padding: 0; list-style: none; }
.mxm-footer-socials a { display: inline-flex; align-items: center; justify-content: center; min-width: 29px; min-height: 44px; padding: 0; border: 0; border-radius: 0; background: transparent; color: #eee; box-shadow: none; text-decoration: none; }
.mxm-footer-socials a:hover { color: var(--mxm-red); }
.mxm-footer-socials .mxm-icon { width: 24px; height: 24px; }
.mxm-footer-links { display: flex; align-items: flex-end; flex-direction: column; gap: 9px; max-width: 340px; color: #c1c1bd; font-size: 12px; text-align: right; }
.mxm-footer-links p { margin: 0; }
.mxm-footer-links strong { color: #ecece6; font: 20px/1.1 var(--mxm-display-font); letter-spacing: .19em; text-transform: uppercase; }
.mxm-footer-links strong span { color: var(--mxm-red); }
.mxm-footer-links ul { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px 13px; margin: 0; padding: 0; list-style: none; }
.mxm-footer-links a { text-decoration: none; }
.mxm-site-footer > .mxm-footer-links { align-items: flex-start; max-width: none; margin-top: 23px; padding-top: 16px; border-top: 1px solid #303030; text-align: left; }
.mxm-site-footer > .mxm-footer-links ul { justify-content: flex-start; }

/* Ordinary WordPress content and builder sections share the brand's readable base. */
.mxm-page { padding-block: 50px 64px; }
.mxm-page-heading { margin-bottom: 32px; padding-bottom: 26px; border-bottom: 1px solid #444; }
.mxm-page-heading .mxm-eyebrow { color: var(--mxm-red); }
.mxm-page-heading h1 { max-width: 20ch; margin-bottom: 0; overflow-wrap: anywhere; }
.mxm-page-content { min-width: 0; color: #ddd; font-size: 17px; line-height: 1.7; overflow-wrap: break-word; }
.mxm-page-content h2 { margin-block: 35px 16px; color: #f5f5ef; font-size: 34px; }
.mxm-page-content h3 { margin-block: 25px 12px; color: #f5f5ef; font-size: 25px; }
.mxm-page-content > :first-child { margin-top: 0; }
.mxm-page-content a:not(.mxm-button):not(.wp-block-button__link) { color: #ff667b; }
.mxm-page-content a:not(.mxm-button):not(.wp-block-button__link):hover { color: #ff9aa7; }
.mxm-page-content .wp-block-columns { gap: 32px; }
.mxm-page-content .wp-block-column { min-width: 0; }
.mxm-page-grid, .mxm-page-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 28px; margin-block: 26px; }
.mxm-page-grid > *, .mxm-page-cards > * { min-width: 0; }
.mxm-page-content figure { max-width: 100%; margin-inline: 0; }
.mxm-page-content .wp-block-table { max-width: 100%; overflow-x: auto; }
.mxm-page-content table { width: 100%; border-collapse: collapse; font-size: 15px; }
.mxm-page-content th, .mxm-page-content td { padding: 12px 15px; border-bottom: 1px solid #444; text-align: left; }
.mxm-page-content pre { max-width: 100%; overflow-x: auto; padding: 20px; background: #181818; font-size: 14px; }
.mxm-page-content form { max-width: 760px; margin-block: 24px; }
.mxm-page-content form label, .mxm-page-content .ff-el-input--label { color: #ecece6; font-size: 15px; line-height: 1.5; }
.mxm-page-content form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]), .mxm-page-content form textarea, .mxm-page-content form select { width: 100%; max-width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #71716b; border-radius: 0; background: #141414; color: #fff; box-shadow: none; font: 16px/1.4 var(--mxm-body-font); }
.mxm-page-content form textarea { min-height: 135px; resize: vertical; }
.mxm-page-content form input::placeholder, .mxm-page-content form textarea::placeholder { color: #aaa; opacity: 1; }
.mxm-page-content form input[type="checkbox"], .mxm-page-content form input[type="radio"] { accent-color: var(--mxm-red); }
.mxm-page-content form button[type="submit"], .mxm-page-content form input[type="submit"], .mxm-page-content .fluentform .ff-btn-submit, .mxm-page-content .fluentform .ff-btn-next { min-height: 48px; padding: 12px 25px; border: 1px solid var(--mxm-red); border-radius: 0; background: var(--mxm-red); color: #fff; box-shadow: none; font: 16px/1.2 var(--mxm-display-font); letter-spacing: .025em; text-transform: uppercase; }
.mxm-page-content form button[type="submit"]:hover, .mxm-page-content .fluentform .ff-btn-submit:hover, .mxm-page-content .fluentform .ff-btn-next:hover { background: var(--mxm-red-hover); color: #fff; }
.mxm-page-content .fluentform .ff-btn-prev { min-height: 48px; padding: 12px 22px; border: 1px solid #aaa; border-radius: 0; background: transparent; color: #eee; font: 16px/1.2 var(--mxm-display-font); text-transform: uppercase; }
.mxm-page-content .fluentform .ff-el-group { margin-bottom: 24px; }
.mxm-page-content .fluentform .ff-el-is-error .text-danger, .mxm-page-content .fluentform .ff-el-input--label label::after { color: #ff8d9f; }
.mxm-page-content .fluentform .ff-el-help-message { color: #aaa; font-size: 13px; }
.mxm-page-content .fluentform .ff-message-success { padding: 18px 20px; border: 1px solid #59745e; border-radius: 0; background: #142018; color: #def6e4; box-shadow: none; }
.mxm-page-content .fluentform .ff-el-form-check-input { width: 18px; height: 18px; margin-right: 8px; }
.mxm-page-content .fluentform .ff-el-form-check-label { font-size: 15px; }
.mxm-page-content .fluentform .ff-t-container { gap: 24px; }
.mxm-page h1 { margin-bottom: 28px; font: clamp(36px, 6vw, 72px)/1.05 var(--mxm-display-font); text-transform: uppercase; }
.mxm-page h2, .mxm-page h3 { font-family: var(--mxm-display-font); line-height: 1.2; }
.mxm-page p, .mxm-page ul, .mxm-page ol { max-width: 75ch; }
.mxm-page .wp-block-image { margin: 28px 0; }
.mxm-page .wp-block-button__link { border-radius: 0; background: var(--mxm-red); color: #fff; }
.alignwide { width: min(1280px, 100%); }
.alignfull { max-width: none; }

@media (min-width: 1100px) {
  .mxm-services-grid:has(> .mxm-service-statement) { grid-template-columns: repeat(4, minmax(0, 1fr)) .8fr; }
  .mxm-services-grid > .mxm-service-statement { align-self: center; margin: 0; color: #151515; }
  .mxm-music-grid:has(> .mxm-quote) { grid-template-columns: 1fr 1.3fr .7fr; }
  .mxm-music-grid > .mxm-quote { align-self: center; font-size: 25px; }
}

@media (max-width: 1199px) {
  .mxm-header-inner { gap: 18px; }
  .mxm-brand img, .mxm-brand svg { width: 180px; }
  .mxm-site-header .custom-logo-link { width: 180px; }
  .mxm-desktop-nav > ul, .mxm-desktop-nav > div > ul { gap: 17px; }
  .mxm-desktop-nav a { font-size: 14px; }
  .mxm-community { padding-inline: 14px; font-size: 13px; }
  .mxm-hero-inner { min-height: 570px; }
  .mxm-hero-copy { width: 61%; }
  .mxm-hero-name { font-size: clamp(92px, 12vw, 146px); }
  .mxm-hero-notes { top: 23px; max-width: 110px; font-size: 21px; }
  .mxm-books-grid { gap: 27px; }
  .mxm-book-card { gap: 15px; }
  .mxm-book-copy h3 { font-size: 23px; }
  .mxm-service-card { padding-inline: 15px; }
  .mxm-service-title { gap: 10px; }
  .mxm-service-title h3 { font-size: 19px; }
  .mxm-service-title { font-size: 19px; }
  .mxm-footer-inner { gap: 23px; }
  .mxm-footer-inner .mxm-brand img, .mxm-footer-inner .mxm-brand svg { width: 190px; }
  .mxm-footer-socials, .mxm-footer-socials ul { gap: 14px; }
}

@media (max-width: 1040px) {
  .mxm-header-inner { min-height: 76px; gap: 14px; }
  .mxm-header-inner .mxm-brand { font-size: 19px; }
  .mxm-brand img, .mxm-brand svg { width: 145px; }
  .mxm-site-header .custom-logo-link { width: 145px; }
  .mxm-desktop-nav > ul, .mxm-desktop-nav > div > ul { gap: 11px; }
  .mxm-desktop-nav a { font-size: 12px; }
  .mxm-community { padding-inline: 11px; font-size: 12px; }
  .mxm-site-header .mxm-community { min-height: 36px; padding: 8px 12px; font-size: 12px; }
  .mxm-desktop-nav > ul > li:nth-last-child(-n+2) > .sub-menu { right: 0; left: auto; }
  .mxm-hero-inner { min-height: 530px; }
  .mxm-hero-name { font-size: clamp(88px, 12vw, 132px); }
  .mxm-hero-description { max-width: 405px; font-size: 16px; }
  .mxm-eyebrow { font-size: 13px; letter-spacing: .21em; }
  .mxm-role-list { gap: 9px; }
  .mxm-role-list > * { font-size: 11px; }
  .mxm-hero-notes { display: none; }
  .mxm-about-inner { grid-template-columns: 1.2fr 1fr; gap: 30px; }
  .mxm-about-inner > .mxm-quote { grid-column: 1 / -1; max-width: 560px; margin-top: 5px; font-size: 26px; }
  .mxm-books-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .mxm-books-grid > .mxm-coming-soon { grid-column: 1 / -1; width: 100%; min-height: 0; padding: 16px; background: #171717; box-shadow: none; }
  .mxm-books-grid > .mxm-coming-soon h3 { margin-bottom: 6px; font-size: 25px; }
  .mxm-books-grid > .mxm-coming-soon p { font-size: 13px; }
  .mxm-coming-book { flex-direction: row; gap: 27px; }
  .mxm-coming-book strong { font-size: 25px; }
  .mxm-music-grid { grid-template-columns: 1fr 1.3fr; gap: 20px; }
  .mxm-music-grid > .mxm-quote { grid-column: 1 / -1; max-width: 600px; margin-top: 8px; font-size: 25px; }
  .mxm-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .mxm-services-grid > .mxm-service-statement { grid-column: 1 / -1; }
  .mxm-service-title h3 { font-size: 24px; }
  .mxm-service-title { font-size: 24px; }
  .mxm-connect-grid { gap: 38px; }
  .mxm-footer-inner { grid-template-columns: auto 1fr; }
  .mxm-footer-links { grid-column: 1 / -1; align-items: flex-start; max-width: none; text-align: left; }
  .mxm-footer-links ul { justify-content: flex-start; }
  .mxm-footer-inner > div:last-child { grid-column: 1 / -1; text-align: left; }
}

@media (min-width: 821px) {
  body.mxm-site .mxm-menu-toggle.cph-menu-trigger { display: none; }
}

@media (max-width: 820px) {
  .mxm-header-inner { min-height: 76px; gap: 14px; }
  .mxm-community { margin-left: auto; }
  .cph-menu-ready body.mxm-site .mxm-desktop-nav { display: none; }
  .cph-menu-ready body.mxm-site .mxm-menu-toggle.cph-menu-trigger { display: inline-flex; justify-content: center; width: 48px; min-height: 48px; padding: 8px; }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 76px; }
  .mxm-container { width: calc(100% - 40px); }
  .mxm-header-inner { gap: 14px; }
  .mxm-brand img, .mxm-brand svg { width: 170px; }
  .mxm-site-header .custom-logo-link { width: 170px; }
  .mxm-home > section { scroll-margin-top: 76px; }
  .mxm-hero-inner { display: flex; align-items: stretch; flex-direction: column; min-height: 0; padding-block: 34px 0; }
  .mxm-hero-copy { width: 100%; padding: 0; }
  .mxm-hero-name { font-size: clamp(82px, 15.4vw, 115px); }
  .mxm-hero-name span:last-child { font-size: 1.16em; }
  .mxm-hero-description { max-width: 480px; }
  .mxm-eyebrow { max-width: 550px; font-size: 14px; letter-spacing: .2em; }
  .mxm-role-list { max-width: 560px; margin-top: 24px; }
  .mxm-role-list > * { font-size: 12px; }
  .mxm-hero-portrait { position: relative !important; top: auto; right: auto; bottom: auto; width: calc(100% + 40px); height: 430px; margin: 24px -20px 0; -webkit-mask-image: linear-gradient(180deg, transparent, #000 10%, #000 95%, transparent); mask-image: linear-gradient(180deg, transparent, #000 10%, #000 95%, transparent); }
  .mxm-hero-portrait img { object-position: 100% 0; }
  .mxm-about { padding-block: 29px 35px; }
  .mxm-about-inner { grid-template-columns: 1fr; gap: 27px; }
  .mxm-about-copy p { max-width: 580px; font-size: 16px; }
  .mxm-about-points { padding: 0; border: 0; }
  .mxm-about-points li { font-size: 19px; }
  .mxm-about-inner > .mxm-quote { grid-column: auto; padding-block: 4px; }
  .mxm-section-heading { gap: 10px 17px; margin-bottom: 22px; }
  .mxm-section-heading h2 { font-size: 34px; }
  .mxm-section-heading p { font-size: 12px; letter-spacing: .13em; }
  .mxm-section-heading .mxm-button { margin-left: 0; }
  .mxm-books-grid { grid-template-columns: 1fr; gap: 30px; }
  .mxm-book-card { grid-template-columns: minmax(120px, 36%) minmax(0, 1fr); gap: 23px; }
  .mxm-book-card img { max-height: 275px; }
  .mxm-book-copy h3 { font-size: 26px; }
  .mxm-book-copy p { font-size: 15px; }
  .mxm-books-grid > .mxm-coming-soon { grid-column: auto; }
  .mxm-music-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 20px; }
  .mxm-music-grid > .mxm-quote { grid-column: 1 / -1; }
  .mxm-music-card h3 { font-size: 20px; }
  .mxm-music-card:not(.mxm-music-feature) { grid-template-columns: 1fr; gap: 12px; }
  .mxm-music-card:not(.mxm-music-feature) > img { grid-row: auto; width: 100%; height: 185px; }
  .mxm-music-card:not(.mxm-music-feature) > .mxm-button { justify-self: stretch; }
  .mxm-merch-feature { align-items: flex-start; flex-direction: column; gap: 20px; }
  .mxm-connect-grid { grid-template-columns: 1fr; gap: 32px; }
  .mxm-contact { padding-top: 28px; border-top: 1px solid #515151; }
  .mxm-footer-inner { grid-template-columns: 1fr; gap: 20px; }
  .mxm-footer-inner .mxm-brand img, .mxm-footer-inner .mxm-brand svg { width: 220px; }
  .mxm-footer-inner .custom-logo-link { width: 220px; }
  .mxm-footer-links { grid-column: auto; gap: 12px; }
  .mxm-footer-socials, .mxm-footer-socials ul { gap: 22px; }
}

@media (max-width: 480px) {
  .mxm-container { width: calc(100% - 32px); }
  .mxm-header-inner { min-height: 70px; gap: 8px; }
  .mxm-brand { font-size: 21px; }
  .mxm-header-inner .mxm-brand { font-size: clamp(17px, 5vw, 21px); }
  .mxm-brand img, .mxm-brand svg { width: 153px; max-height: 56px; }
  .mxm-site-header .custom-logo-link { width: 153px; }
  .mxm-community { min-height: 36px; max-width: 135px; padding: 7px 11px; font-size: 12px; }
  .mxm-site-header .mxm-community { padding: 7px 11px; white-space: normal; }
  .mxm-menu-toggle { width: 44px; height: 44px; margin-left: auto; }
  .cph-menu-ready body.mxm-site .mxm-menu-toggle.cph-menu-trigger { width: 44px; min-height: 44px; }
  .mxm-hero-inner { padding-top: 27px; }
  .mxm-hero-name { margin-bottom: 19px; font-size: clamp(61px, 18.5vw, 88px); letter-spacing: -.035em; }
  .mxm-hero-name span:last-child { margin-top: 5px; font-size: 1.23em; letter-spacing: -.035em; }
  .mxm-eyebrow { font-size: 12px; line-height: 1.65; letter-spacing: .14em; }
  .mxm-hero-description { margin-bottom: 22px; font-size: 16px; line-height: 1.5; }
  .mxm-actions { gap: 11px; }
  .mxm-hero .mxm-actions .mxm-button { flex: 1 1 145px; padding-inline: 12px; font-size: 14px; }
  .mxm-role-list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px 8px; margin-top: 25px; }
  .mxm-role-list > * { font-size: 11px; }
  .mxm-role-list .mxm-icon { width: 24px; height: 24px; margin-bottom: 7px; }
  .mxm-hero-portrait { width: calc(100% + 32px); height: 345px; margin: 22px -16px 0; }
  .mxm-section-title { font-size: 32px; }
  .mxm-section-heading { align-items: flex-start; flex-direction: column; gap: 9px; }
  .mxm-section-heading h2 { font-size: 33px; }
  .mxm-section-heading p { font-size: 11px; letter-spacing: .15em; }
  .mxm-book-card { grid-template-columns: 38% minmax(0, 1fr); gap: 18px; }
  .mxm-book-copy h3 { font-size: 23px; }
  .mxm-book-copy p { font-size: 13px; }
  .mxm-edition-links a { min-height: 38px; font-size: 13px; }
  .mxm-music-grid { gap: 22px 14px; }
  .mxm-music-card h3 { font-size: 18px; }
  .mxm-music-feature h3 { font-size: 24px; }
  .mxm-music-card p { font-size: 14px; }
  .mxm-music-card:not(.mxm-music-feature) > img { height: 170px; }
  .mxm-music-grid .mxm-button { width: 100%; min-height: 44px; padding-inline: 9px; font-size: 12px; }
  .mxm-platform-links { gap: 13px; margin-top: 10px; }
  .mxm-platform-links a { min-height: 40px; }
  .mxm-platform-links .mxm-icon { width: 21px; height: 21px; }
  .mxm-services-grid { gap: 14px; }
  .mxm-service-card { padding: 18px 13px 14px; }
  .mxm-service-title { align-items: flex-start; flex-direction: column; gap: 10px; }
  .mxm-service-title h3 { font-size: 21px; }
  .mxm-service-title { font-size: 21px; }
  .mxm-service-title .mxm-icon { width: 30px; height: 30px; }
  .mxm-service-points { padding-left: 13px; font-size: 12px; line-height: 1.55; }
  .mxm-service-card .mxm-button { min-height: 44px; padding-inline: 6px; font-size: 12px; }
  .mxm-connect h2 { font-size: 27px; }
  .mxm-footer-links strong { font-size: 19px; letter-spacing: .15em; }
  .mxm-page { padding-block: 34px 45px; }
  .mxm-page-heading { margin-bottom: 25px; padding-bottom: 23px; }
  .mxm-page-content { font-size: 16px; }
  .mxm-page-content h2 { font-size: 29px; }
  .mxm-page-content .wp-block-columns { gap: 25px; }
  .mxm-page-grid, .mxm-page-cards { gap: 24px; }
  .mxm-page-content form { margin-block: 20px; }
}

@media (max-width: 359px) {
  .mxm-community { max-width: 98px; padding-inline: 8px; font-size: 11px; }
  .mxm-site-header .mxm-community { padding-inline: 8px; font-size: 11px; }
  .mxm-header-inner { gap: 5px; }
  .mxm-header-inner .mxm-brand { font-size: 16px; letter-spacing: .015em; }
  body.mxm-site .cph-menu-top > span { font-size: 18px; }
  .mxm-brand img, .mxm-brand svg { width: 128px; }
  .mxm-site-header .custom-logo-link { width: 128px; }
  .mxm-brand { font-size: 17px; }
  .mxm-hero-name { font-size: 60px; }
  .mxm-hero-name span:last-child { font-size: 1.23em; }
  .mxm-hero-portrait { height: 305px; }
  .mxm-books-grid { gap: 28px; }
  .mxm-book-card { gap: 14px; }
  .mxm-book-copy h3 { font-size: 21px; }
  .mxm-book-copy p { font-size: 12px; }
  .mxm-services-grid { grid-template-columns: 1fr; }
  .mxm-service-title { align-items: center; flex-direction: row; gap: 12px; }
  .mxm-service-title h3 { font-size: 24px; }
  .mxm-service-title { font-size: 24px; }
  .mxm-service-points { font-size: 14px; }
  .mxm-service-card .mxm-button { font-size: 14px; }
  .mxm-footer-socials, .mxm-footer-socials ul { gap: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Native Fluent Forms controls retain the site's red action color. */
body.mxm-site .fluentform .ff-btn-submit { background: var(--mxm-red) !important; border-color: var(--mxm-red) !important; color: #fff !important; border-radius: 0 !important; min-height: 44px; }
body.mxm-site .fluentform .ff-btn-submit:hover { background: var(--mxm-red-hover) !important; border-color: var(--mxm-red-hover) !important; }
