/*
Theme Name: Divi Child
Template: Divi
Description: MMT Home Buyers — Refined Crimson v2.2 (PASS 2). All Divi-targeting selectors body-class-scoped to win specificity. Editorial extensions: trust strip, prospectus table, Roman-numeral steps, drop cap, editorial footer.
Author: Ready Sell Now Marketing
Version: 2.7.6
*/

/* ==========================================================================
   DESIGN INTENT
   A 1950s law-firm letterhead translated into a modern real-estate site:
   serif gravitas, crimson used as a signature mark not a flood, generous
   typographic air, no decorative noise the typography hasn't earned.

   v2.2 changes vs v2.1:
   - Every .et_pb_* / .gform_wrapper / .eyebrow / utility selector prefixed
     `body.mmt-rc` to beat Divi's auto-numbered selectors (0,0,2,1 > 0,0,1,0).
   - Added PASS 2 BOLDER block (trust strip, prospectus table, Roman-numeral
     steps, drop cap, editorial footer, testimonial cull).
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono&display=swap');

/* ==========================================================================
   FOUNDATIONS
   ========================================================================== */
:root {
  --color-ink: #111111;
  --color-ink-soft: #1A1A1A;
  --color-charcoal: #0A0A0A;
  --color-crimson: #8B1A1A;
  --color-crimson-dk: #6B1414;
  --color-slate: #4A4A4A;
  --color-bone: #F5F1EA;
  --color-bone-warm: #EFE9DD;
  --color-white: #FFFFFF;
  --color-line: #E2DDD3;
  --color-line-dim: #ECE7DC;
  --color-mute: #8A8377;

  --font-display: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
  --font-body: 'IBM Plex Sans', 'Inter Tight', system-ui, sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;

  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  --text-xs: 12px; --text-sm: 13px; --text-base: 16px;
  --text-md: 18px; --text-lg: 20px;

  --ease-out: cubic-bezier(0.2, 0.7, 0.1, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 180ms; --dur-base: 280ms; --dur-slow: 480ms;

  --radius-none: 0; --radius-1: 1px; --radius-2: 2px;
}

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

/* ==========================================================================
   HTML + BODY — black canvas so nothing below the footer ever shows bone.
   The paper-grain bone bg is moved to #page-container which ends at the
   footer; below the footer, only html/body bg shows = black.
   ========================================================================== */
html, body.mmt-rc {
  background-color: #000000 !important;
  background-image: none !important;
}
body.mmt-rc {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-base);
  color: var(--color-ink);
  line-height: 1.7;
  text-rendering: optimizeLegibility;
  font-feature-settings: 'kern' 1, 'liga' 1, 'onum' 1, 'pnum' 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* Paper-grain BONE canvas lives on the page wrapper. MUST be bone, not black:
   content pages (Privacy, Thank You) use transparent Divi sections, so the
   page-container color is what shows behind their dark body text. Black here
   made those pages render black-on-black ("blank page"). The footer stays
   dark via its own section background + the :nth-of-type footer exclusion,
   so a bone page-container does NOT bring back the footer bone-wrap.
   html/body remain black (above) to cover any area BELOW the footer. */
body.mmt-rc #page-container {
  background-color: var(--color-bone) !important;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.067 0 0 0 0 0.067 0 0 0 0 0.067 0 0 0 0.045 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>") !important;
  background-size: 220px 220px !important;
  background-attachment: scroll !important;
}

/* Forms + tables need lining figures for alignment — scoped re-override */
body.mmt-rc input, body.mmt-rc select, body.mmt-rc textarea,
body.mmt-rc table, body.mmt-rc .gform_wrapper, body.mmt-rc .et_pb_pricing_table {
  font-feature-settings: 'kern' 1, 'liga' 1, 'lnum' 1, 'tnum' 1;
}

/* ==========================================================================
   TYPOGRAPHY
   ========================================================================== */
body.mmt-rc h1, body.mmt-rc h2, body.mmt-rc h3, body.mmt-rc h4, body.mmt-rc h5, body.mmt-rc h6,
body.mmt-rc .et_pb_slide_title,
body.mmt-rc .et_pb_title_container h1 {
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: -0.012em;
  color: var(--color-ink);
  line-height: 1.12;
  font-feature-settings: 'kern' 1, 'liga' 1, 'dlig' 1, 'onum' 1, 'pnum' 1;
}
body.mmt-rc h1 {
  font-size: clamp(2.6rem, 5.4vw, 4.4rem);
  font-weight: 400;
  letter-spacing: -0.018em;
}
body.mmt-rc h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 500;
}
body.mmt-rc h3 {
  font-size: clamp(1.4rem, 2.5vw, 1.85rem);
  font-weight: 500;
}

body.mmt-rc h1 em, body.mmt-rc h1 i, body.mmt-rc h2 em, body.mmt-rc h2 i {
  font-style: italic;
  font-weight: 400;
  color: var(--color-crimson);
}

body.mmt-rc p {
  max-width: 64ch;
  margin-bottom: var(--space-4);
}

/* Eyebrow + crimson em-dash mark */
body.mmt-rc .eyebrow,
body.mmt-rc .et_pb_module_header + p:first-child {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-crimson);
  margin-bottom: var(--space-4);
}
body.mmt-rc .eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  background: var(--color-crimson);
  display: inline-block;
}

/* ==========================================================================
   NAVIGATION
   ========================================================================== */
body.mmt-rc #main-header,
body.mmt-rc #main-header.et-fixed-header {
  background: var(--color-white) !important;
  border-bottom: 1px solid var(--color-line);
  box-shadow: none !important;
}

body.mmt-rc #top-menu > li > a,
body.mmt-rc #top-menu li a {
  position: relative;
  font-family: var(--font-body);
  font-weight: 500;
  font-variant-caps: all-small-caps;
  letter-spacing: 0.08em;
  color: var(--color-ink) !important;
  text-transform: none;
  font-size: 15px;
  padding-block: var(--space-2);
  transition: color var(--dur-fast) var(--ease-out);
}
body.mmt-rc #top-menu > li > a::after {
  content: "";
  position: absolute;
  left: 0; bottom: -2px;
  width: 100%; height: 1px;
  background: var(--color-crimson);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--dur-base) var(--ease-out);
}
body.mmt-rc #top-menu > li > a:hover { color: var(--color-crimson) !important; }
body.mmt-rc #top-menu > li > a:hover::after,
body.mmt-rc #top-menu > li.current-menu-item > a::after { transform: scaleX(1); }
body.mmt-rc #top-menu > li.current-menu-item > a { color: var(--color-crimson) !important; }

/* ==========================================================================
   HERO
   ========================================================================== */
body.mmt-rc .et_pb_section.hero-section,
body.mmt-rc .et_pb_section.hero-section {
  background-color: var(--color-ink) !important;
  color: var(--color-bone);
  position: relative;
}
body.mmt-rc .et_pb_section.hero-section::after,
body.mmt-rc .et_pb_section.hero-section::after {
  content: "";
  position: absolute;
  left: 50%; bottom: 0;
  width: 80px; height: 1px;
  background: var(--color-crimson);
  transform: translateX(-50%);
  opacity: 0.9;
}
body.mmt-rc .et_pb_section.hero-section h1,
body.mmt-rc .et_pb_section.hero-section h2,
body.mmt-rc .et_pb_section.hero-section h3,
body.mmt-rc .et_pb_section.hero-section p,
body.mmt-rc .et_pb_section.hero-section h1,
body.mmt-rc .et_pb_section.hero-section h2,
body.mmt-rc .et_pb_section.hero-section h3,
body.mmt-rc .et_pb_section.hero-section p {
  color: var(--color-bone) !important;
}
body.mmt-rc .et_pb_section.hero-section .eyebrow,
body.mmt-rc .et_pb_section.hero-section .eyebrow { color: var(--color-crimson) !important; }
body.mmt-rc .et_pb_section.hero-section .eyebrow::before,
body.mmt-rc .et_pb_section.hero-section .eyebrow::before { background: var(--color-crimson); }

@keyframes heritageRise {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
body.mmt-rc .et_pb_section.hero-section .eyebrow,
body.mmt-rc .et_pb_section.hero-section .eyebrow {
  animation: heritageRise var(--dur-slow) var(--ease-out) both;
  animation-delay: 80ms;
}
body.mmt-rc .et_pb_section.hero-section h1,
body.mmt-rc .et_pb_section.hero-section h1 {
  animation: heritageRise var(--dur-slow) var(--ease-out) both;
  animation-delay: 220ms;
}
body.mmt-rc .et_pb_section.hero-section p,
body.mmt-rc .et_pb_section.hero-section p {
  animation: heritageRise var(--dur-slow) var(--ease-out) both;
  animation-delay: 360ms;
}
body.mmt-rc .et_pb_section.hero-section .et_pb_button,
body.mmt-rc .et_pb_section.hero-section .et_pb_button {
  animation: heritageRise var(--dur-slow) var(--ease-out) both;
  animation-delay: 500ms;
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */
body.mmt-rc .et_pb_button,
body.mmt-rc a.et_pb_button,
body.mmt-rc .et_pb_promo_button {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  gap: var(--space-3);
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  background: var(--color-crimson) !important;
  color: var(--color-bone) !important;
  border: 1px solid var(--color-crimson) !important;
  border-radius: var(--radius-none) !important;
  padding: 16px 36px !important;
  font-size: var(--text-sm) !important;
  line-height: 1 !important;
  transition: background var(--dur-base) var(--ease-out),
              border-color var(--dur-base) var(--ease-out),
              transform var(--dur-fast) var(--ease-out) !important;
  box-shadow: none !important;
}
body.mmt-rc .et_pb_button::after { display: none !important; }
body.mmt-rc .et_pb_button:hover,
body.mmt-rc a.et_pb_button:hover {
  background: var(--color-crimson-dk) !important;
  border-color: var(--color-crimson-dk) !important;
  color: var(--color-bone) !important;
  transform: translateY(-1px);
}
body.mmt-rc .et_pb_button:active { transform: translateY(0); }
body.mmt-rc .et_pb_button:focus-visible {
  outline: 2px solid var(--color-bone);
  outline-offset: 3px;
}

body.mmt-rc .et_pb_button_two,
body.mmt-rc a.et_pb_button.ghost {
  background: transparent !important;
  color: var(--color-ink) !important;
  border: 1px solid var(--color-ink) !important;
}
body.mmt-rc .et_pb_button_two:hover {
  background: var(--color-ink) !important;
  color: var(--color-bone) !important;
}
body.mmt-rc .et_pb_section.hero-section .et_pb_button_two,
body.mmt-rc .et_pb_section.hero-section .et_pb_button_two {
  color: var(--color-bone) !important;
  border-color: var(--color-bone) !important;
}
body.mmt-rc .et_pb_section.hero-section .et_pb_button_two:hover,
body.mmt-rc .et_pb_section.hero-section .et_pb_button_two:hover {
  background: var(--color-bone) !important;
  color: var(--color-ink) !important;
}

/* ==========================================================================
   SECTION RHYTHM
   ========================================================================== */
body.mmt-rc .et_pb_section { padding-block: var(--space-8) !important; }
body.mmt-rc .et_pb_section.section-bone { background-color: var(--color-bone) !important; }
body.mmt-rc .et_pb_section.section-white { background-color: var(--color-white) !important; }
body.mmt-rc .et_pb_section.section-ink {
  background-color: var(--color-ink) !important;
  color: var(--color-bone);
}
body.mmt-rc .et_pb_section.section-ink h1,
body.mmt-rc .et_pb_section.section-ink h2,
body.mmt-rc .et_pb_section.section-ink h3,
body.mmt-rc .et_pb_section.section-ink p { color: var(--color-bone) !important; }

@media (min-width: 981px) {
  body.mmt-rc .et_pb_section:not(.section-bone):not(.section-white):not(.section-ink):not(.hero-section):not(.et_pb_section_0_tb_footer):nth-of-type(odd) {
  background-color: var(--color-bone) !important;
}
  body.mmt-rc .et_pb_section:not(.section-bone):not(.section-white):not(.section-ink):not(.hero-section):nth-of-type(even) {
    background-color: var(--color-white) !important;
  }
}

/* ==========================================================================
   GRAVITY FORMS
   ========================================================================== */
/* Both form wrappers stay TRANSPARENT — Divi's parent et_pb_text already
   provides the white card + 25px-rounded crimson "design border" via
   shortcode attributes (border_color_right/bottom/left="#8B1A1A" +
   border_radii="on|25px|25px|25px|25px"). Adding our own card here was
   producing a doubled border. Just inherit. */
body.mmt-rc .gform_wrapper {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
body.mmt-rc .gform_wrapper .gform_title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.6rem;
  margin-bottom: var(--space-2);
}
body.mmt-rc .gform_wrapper .gform_description {
  color: var(--color-slate);
  margin-bottom: var(--space-5);
}
body.mmt-rc .gform_wrapper input[type="text"],
body.mmt-rc .gform_wrapper input[type="email"],
body.mmt-rc .gform_wrapper input[type="tel"],
body.mmt-rc .gform_wrapper input[type="url"],
body.mmt-rc .gform_wrapper input[type="number"],
body.mmt-rc .gform_wrapper textarea,
body.mmt-rc .gform_wrapper select {
  /* Heavier border so empty fields are clearly visible */
  border: 0 !important;
  border-bottom: 1px solid var(--color-slate) !important;
  border-radius: 0 !important;
  padding: 13px 4px !important;
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  background: transparent !important;
  color: var(--color-ink) !important;
  box-shadow: none !important;
  transition: border-color var(--dur-fast) var(--ease-out),
              background var(--dur-fast) var(--ease-out);
  width: 100%;
  height: auto !important;
  min-height: 44px;
}
body.mmt-rc .gform_wrapper input::placeholder,
body.mmt-rc .gform_wrapper textarea::placeholder {
  color: var(--color-mute);
  font-style: italic;
}
body.mmt-rc .gform_wrapper input:focus,
body.mmt-rc .gform_wrapper textarea:focus,
body.mmt-rc .gform_wrapper select:focus {
  border-bottom: 2px solid var(--color-crimson) !important;
  outline: none !important;
  background: var(--color-bone-warm) !important;
  box-shadow: none !important;
}

/* I Agree radio + checkbox — refined heritage look */
body.mmt-rc .gform_wrapper input[type="radio"],
body.mmt-rc .gform_wrapper input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  margin: 0 var(--space-2) 0 0 !important;
  border: 1px solid var(--color-slate) !important;
  border-bottom-width: 1px !important;
  background: var(--color-white) !important;
  cursor: pointer;
  vertical-align: middle;
  position: relative;
  flex-shrink: 0;
}
body.mmt-rc .gform_wrapper input[type="radio"] { border-radius: 50% !important; }
body.mmt-rc .gform_wrapper input[type="checkbox"] { border-radius: 0 !important; }
body.mmt-rc .gform_wrapper input[type="radio"]:checked,
body.mmt-rc .gform_wrapper input[type="checkbox"]:checked {
  background: var(--color-crimson) !important;
  border-color: var(--color-crimson) !important;
}
body.mmt-rc .gform_wrapper input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 4px; left: 4px;
  width: 8px; height: 8px;
  background: var(--color-bone);
  border-radius: 50%;
}
body.mmt-rc .gform_wrapper input[type="checkbox"]:checked::after {
  content: "✓";
  position: absolute;
  top: -2px; left: 2px;
  color: var(--color-bone);
  font-size: 14px;
  line-height: 1;
}
body.mmt-rc .gform_wrapper .gchoice,
body.mmt-rc .gform_wrapper .ginput_container_radio,
body.mmt-rc .gform_wrapper .ginput_container_checkbox {
  display: flex !important;
  align-items: center !important;
  gap: var(--space-2);
}
body.mmt-rc .gform_wrapper .gchoice label,
body.mmt-rc .gform_wrapper .gfield_radio label {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  color: var(--color-ink) !important;
  margin: 0 !important;
  cursor: pointer;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Hero form: NO overrides — inherits exactly the same treatment as the
   bottom form (global .gform_wrapper rule above sets it transparent so
   Divi's parent et_pb_text wrapper provides the white card + 25px-rounded
   crimson "design border"). Per user: "replicate exactly how the bottom
   form is to the top form." */
body.mmt-rc .gform_wrapper label,
body.mmt-rc .gform_wrapper .gfield_label {
  font-family: var(--font-body) !important;
  font-size: var(--text-sm) !important;
  font-weight: 500 !important;
  color: var(--color-slate) !important;
  letter-spacing: 0.04em;
  margin-bottom: var(--space-2) !important;
  display: block;
}
body.mmt-rc .gform_wrapper .gfield_required {
  color: var(--color-crimson);
  margin-left: var(--space-1);
}
body.mmt-rc .gform_wrapper .gform_submit_button,
body.mmt-rc .gform_wrapper input[type="submit"] {
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  background: var(--color-crimson) !important;
  color: var(--color-bone) !important;
  border: 1px solid var(--color-crimson) !important;
  padding: 18px 32px !important;
  font-size: 14px !important;
  border-radius: var(--radius-none) !important;
  cursor: pointer !important;
  transition: background var(--dur-fast) var(--ease-out) !important;
  width: 100% !important;
}
body.mmt-rc .gform_wrapper .gform_submit_button:hover {
  background: var(--color-crimson-dk) !important;
  border-color: var(--color-crimson-dk) !important;
}
body.mmt-rc .gform_wrapper .gfield_validation_message,
body.mmt-rc .gform_wrapper .validation_message {
  color: var(--color-crimson) !important;
  font-size: var(--text-sm);
  font-weight: 500;
  margin-top: var(--space-2);
}

/* ==========================================================================
   BLURBS / process steps (legacy — supplemented by Layer C Roman steps)
   ========================================================================== */
body.mmt-rc .et_pb_blurb .et_pb_main_blurb_image .et-waypoint,
body.mmt-rc .et_pb_blurb_content .et_pb_icon { color: var(--color-crimson) !important; }

body.mmt-rc .et_pb_blurb.step-block {
  position: relative;
  border-top: 1px solid var(--color-line);
  padding-top: var(--space-5);
}
body.mmt-rc .et_pb_blurb.step-block::before {
  content: "";
  position: absolute;
  top: -1px; left: 0;
  width: 32px; height: 1px;
  background: var(--color-crimson);
}
body.mmt-rc .et_pb_blurb.step-block .et_pb_module_header {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.6rem;
  margin-top: var(--space-3);
}

/* ==========================================================================
   TESTIMONIALS — pull-quote style (cull handled in Layer C below)
   ========================================================================== */
body.mmt-rc .et_pb_testimonial {
  position: relative;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: var(--space-6) var(--space-5) var(--space-5) var(--space-7) !important;
  box-shadow: none !important;
}
body.mmt-rc .et_pb_testimonial::before {
  content: "“";
  position: absolute;
  top: var(--space-2); left: 0;
  font-family: var(--font-display);
  font-size: 6rem;
  line-height: 1;
  color: var(--color-crimson);
  opacity: 0.85;
}
body.mmt-rc .et_pb_testimonial_description {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  font-size: 1.35rem;
  line-height: 1.45;
  color: var(--color-ink);
  margin-bottom: var(--space-4);
}
body.mmt-rc .et_pb_testimonial_author {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: var(--text-sm);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-slate);
}
body.mmt-rc .et_pb_testimonial_author::before { content: "— "; color: var(--color-crimson); }
body.mmt-rc .et_pb_testimonial_portrait { display: none; }

/* ==========================================================================
   COMPARISON TABLES (legacy — see Layer C for prospectus treatment)
   ========================================================================== */
body.mmt-rc .et_pb_pricing_table {
  border: 1px solid var(--color-line) !important;
  border-radius: var(--radius-2);
  overflow: hidden;
  background: var(--color-white);
  box-shadow: none !important;
}
body.mmt-rc .et_pb_featured_table .et_pb_pricing_heading {
  background: var(--color-ink) !important;
}
body.mmt-rc .et_pb_pricing_heading h2 {
  color: var(--color-bone) !important;
  font-family: var(--font-display);
}

/* ==========================================================================
   FOOTER (legacy — Layer C below adds the editorial display name)
   ========================================================================== */
body.mmt-rc #main-footer {
  background: var(--color-ink) !important;
  border-top: 1px solid var(--color-crimson);
  color: var(--color-bone);
  padding-block: var(--space-7) !important;
}
body.mmt-rc #main-footer,
body.mmt-rc #main-footer p,
body.mmt-rc #main-footer .et_pb_widget {
  color: #C9C2B4 !important;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  line-height: 1.7;
}
body.mmt-rc #main-footer h1,
body.mmt-rc #main-footer h2,
body.mmt-rc #main-footer h3,
body.mmt-rc #main-footer h4,
body.mmt-rc #main-footer .widgettitle {
  font-family: var(--font-display);
  font-weight: 500;
  color: var(--color-bone);
  font-size: 1.25rem;
  letter-spacing: 0.01em;
  margin-bottom: var(--space-3);
}
body.mmt-rc #main-footer a {
  color: var(--color-bone) !important;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  padding-bottom: 1px;
  transition: border-color var(--dur-fast) var(--ease-out);
}
body.mmt-rc #main-footer a:hover { border-bottom-color: var(--color-crimson); }

body.mmt-rc #footer-bottom {
  background: var(--color-charcoal) !important;
  border-top: 1px solid rgba(255,255,255,0.06);
  padding-block: var(--space-4) !important;
}
body.mmt-rc #footer-info {
  color: #B0A99B !important;
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.06em;
}
body.mmt-rc #footer-info a { color: var(--color-crimson) !important; }
body.mmt-rc #footer-info a:hover { color: var(--color-bone) !important; }

/* ==========================================================================
   SCROLL-TO-TOP
   ========================================================================== */
body.mmt-rc #scroll-top {
  background: var(--color-crimson) !important;
  border: 1px solid var(--color-crimson) !important;
  border-radius: var(--radius-1) !important;
}

/* ==========================================================================
   MOBILE
   ========================================================================== */
@media (max-width: 980px) {
  body.mmt-rc #main-header .et_mobile_menu {
    background: var(--color-white) !important;
    border-top: 1px solid var(--color-crimson) !important;
    box-shadow: none !important;
  }
  body.mmt-rc #main-header .et_mobile_menu li a {
    color: var(--color-ink) !important;
    border-bottom: 1px solid var(--color-line) !important;
    font-family: var(--font-body);
    font-variant-caps: all-small-caps;
    letter-spacing: 0.08em;
    padding-block: var(--space-3) !important;
  }
  body.mmt-rc .et_pb_button {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
  body.mmt-rc .et_pb_section { padding-block: var(--space-6) !important; }
  body.mmt-rc h1 { font-size: clamp(2.2rem, 9vw, 2.8rem); }
}

/* ==========================================================================
   UTILITY
   ========================================================================== */
body.mmt-rc .urgency-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  background: transparent;
  color: var(--color-crimson);
  border: 1px solid var(--color-crimson);
  font-family: var(--font-body);
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 6px 14px;
  font-size: 11px;
  border-radius: var(--radius-1);
  margin-bottom: var(--space-4);
}

body.mmt-rc .hero-phone {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2rem, 4vw, 2.6rem);
  color: var(--color-bone);
  letter-spacing: -0.01em;
  font-feature-settings: 'tnum' 1, 'kern' 1, 'liga' 1;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color var(--dur-fast) var(--ease-out),
              color var(--dur-fast) var(--ease-out);
}
body.mmt-rc .hero-phone:hover {
  color: var(--color-crimson);
  border-bottom-color: var(--color-crimson);
}

body.mmt-rc hr.rule-mark {
  border: 0;
  height: 1px;
  background: var(--color-line);
  position: relative;
  margin: var(--space-7) auto;
  width: 100%;
  max-width: 280px;
}
body.mmt-rc hr.rule-mark::after {
  content: "❦";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  background: var(--color-bone);
  padding: 0 var(--space-3);
  color: var(--color-crimson);
  font-family: var(--font-display);
  font-size: 1.1rem;
}

/* ==========================================================================
   INLINE LINKS
   ========================================================================== */
body.mmt-rc a {
  color: var(--color-crimson);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  text-decoration-color: var(--color-line);
  transition: text-decoration-color var(--dur-fast) var(--ease-out),
              color var(--dur-fast) var(--ease-out);
}
body.mmt-rc a:hover {
  color: var(--color-crimson-dk);
  text-decoration-color: var(--color-crimson);
}
body.mmt-rc #top-menu a,
body.mmt-rc #main-footer a,
body.mmt-rc .et_pb_button { text-decoration: none; }

/* ==========================================================================
   ACCESSIBILITY
   ========================================================================== */
body.mmt-rc *:focus-visible {
  outline: 2px solid var(--color-crimson);
  outline-offset: 3px;
  border-radius: var(--radius-1);
}
body.mmt-rc ::selection {
  background: var(--color-crimson);
  color: var(--color-bone);
}

/* ==========================================================================
   HIDE LEGACY MODULES (Layer B9 — class added to BBB JPG module via shortcode)
   ========================================================================== */
body.mmt-rc .hide-on-pass2 { display: none !important; }

/* ==========================================================================
   TYPOGRAPHIC WORDMARK (interim brand, Layer B2/B3 alternate path)
   Hides the legacy ready-to-sell-logo.png img and injects a Cormorant
   wordmark in its place. Uses real Cormorant from already-loaded Google
   Fonts (an SVG <text> wordmark won't load webfonts when fetched standalone).
   To revert later: remove this block and re-set divi_logo to a real asset.
   ========================================================================== */
/* Divi structure: <div class="logo_container"><span class="logo_helper"><img id="logo"></span></div>
   <img> doesn't render pseudo-elements; .logo_container does.
   Wordmark = "MMT" alone (per user). Vertically centered in the nav row. */
body.mmt-rc .logo_container {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
}
body.mmt-rc .logo_container .logo_helper { display: none !important; }
body.mmt-rc .logo_container #logo,
body.mmt-rc .logo_container img { display: none !important; }
body.mmt-rc .logo_container::before {
  content: "MMT";
  display: inline-block;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.8rem, 2.6vw, 2.4rem);
  letter-spacing: 0.18em;
  color: var(--color-ink);
  font-feature-settings: 'kern' 1, 'liga' 1, 'dlig' 1, 'onum' 1, 'pnum' 1;
  line-height: 1;
  vertical-align: middle;
  border-right: 2px solid var(--color-crimson);
  padding-right: var(--space-3);
  margin-right: var(--space-3);
}
body.mmt-rc .logo_container::after {
  content: "Homebuyers";
  display: inline-block;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(1.1rem, 1.8vw, 1.45rem);
  letter-spacing: 0.01em;
  color: var(--color-crimson);
  line-height: 1;
  vertical-align: middle;
  font-feature-settings: 'kern' 1, 'liga' 1, 'dlig' 1, 'onum' 1;
}


/* ##########################################################################
   ▼▼▼ PASS 2 — BOLDER EDITORIAL EXTENSIONS ▼▼▼
   Eight moves chosen to make the design unmistakably MMT, not generic Divi.
   ########################################################################## */

/* ---------- C1. Editorial trust strip ---------- */
/* Add `module_class="trust-strip"` on the new section above the hero
   containing text like "Licensed — Insured — BBB Accredited — Est. MMXXIV" */
body.mmt-rc .et_pb_section.trust-strip {
  background: var(--color-bone-warm) !important;
  padding-block: var(--space-3) !important;
  border-bottom: 1px solid var(--color-line);
}
body.mmt-rc .et_pb_section.trust-strip .et_pb_text,
body.mmt-rc .et_pb_section.trust-strip p {
  color: var(--color-slate) !important;
  font-family: var(--font-body);
  font-variant-caps: all-small-caps;
  font-feature-settings: 'kern' 1, 'liga' 1, 'onum' 1;
  letter-spacing: 0.18em;
  font-size: var(--text-sm);
  text-align: center;
  margin: 0;
}
body.mmt-rc .et_pb_section.trust-strip p::before,
body.mmt-rc .et_pb_section.trust-strip p::after {
  content: "—";
  color: var(--color-crimson);
  margin: 0 var(--space-3);
}

/* ---------- C2. Hero asymmetric two-column — TEXT LEFT, FORM RIGHT ---------- */
/* Divi floats .et_pb_column_2_5 to the right and the natural grid placement
   loses the order. We override with explicit grid-column + order to force
   the H1 column on the LEFT and the form column on the RIGHT (typeui pattern).

   Breakpoint dropped from 981px to 768px so layouts at ~960px viewport
   (e.g., two browsers side-by-side on a 1920px screen) still trigger
   the grid alignment. Below 768px the layout still works correctly because
   Divi's mobile column stacking takes precedence on narrow widths. */
/* HERO — minimal styling. The shortcode itself now uses the SAME structure
   as the bottom form section (column_structure="1_2,1_2", make_equal="on",
   no width override). That means Divi's native column layout + responsive
   stacking handle alignment correctly — same as the bottom form section.
   We only style typography here; we DO NOT touch column display/grid/flex. */
@media (min-width: 768px) {
  body.mmt-rc .et_pb_section.hero-section h1 {
    font-size: clamp(2.4rem, 5vw, 4.4rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.015em !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    max-width: 100% !important;
    margin-bottom: var(--space-5) !important;
  }
  body.mmt-rc .et_pb_section.hero-section .et_pb_text p {
    font-size: clamp(1rem, 1.2vw, 1.1rem) !important;
    line-height: 1.6 !important;
    max-width: 52ch !important;
  }
}
/* H1 color split via <em>: line 2 ("Nationwide for Cash") in italic crimson,
   inherits text-transform:uppercase from Divi inline. Display ligatures +
   old-style numerals tighten the editorial feel. */
body.mmt-rc .et_pb_section.hero-section h1 em,
body.mmt-rc .et_pb_section.hero-section h1 em {
  display: block !important;
  font-style: italic !important;
  font-weight: 400 !important;
  color: var(--color-crimson) !important;
  margin-top: var(--space-2) !important;
  font-feature-settings: 'kern' 1, 'liga' 1, 'dlig' 1 !important;
}
/* Mobile/tablet hero: smaller still + center */
@media (max-width: 980px) {
  body.mmt-rc .et_pb_section.hero-section h1 {
    font-size: clamp(2rem, 7vw, 2.6rem) !important;
    hyphens: none !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }
}

/* ---------- C2b. Hero form text legibility ---------- */
/* Top legend "* indicates required fields" — visible on EVERY form, every bg.
   Use ink (not slate) for max contrast and force display so it can't get hidden. */
body.mmt-rc .gform_wrapper p.gform_required_legend,
body.mmt-rc .gform_wrapper .gform_required_legend,
body.mmt-rc .gform_wrapper .gform-required-legend {
  color: var(--color-ink) !important;
  font-size: 13px !important;
  font-style: italic !important;
  font-family: var(--font-body) !important;
  margin: 0 0 var(--space-5) 0 !important;
  padding: 0 !important;
  letter-spacing: 0 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  text-align: left !important;
  font-weight: 400 !important;
}
body.mmt-rc .gform_wrapper p.gform_required_legend *,
body.mmt-rc .gform_wrapper .gform_required_legend * {
  color: inherit !important;
}
body.mmt-rc .gform_wrapper p.gform_required_legend .gfield_required,
body.mmt-rc .gform_wrapper p.gform_required_legend .gfield_required_asterisk,
body.mmt-rc .gform_wrapper .gform_required_legend .gfield_required,
body.mmt-rc .gform_wrapper .gfield_required,
body.mmt-rc .gform_wrapper .gfield_required_asterisk {
  color: var(--color-crimson) !important;
  font-weight: 700 !important;
  font-style: normal !important;
}

/* "I agree to receive communications..." — this lives in .gfield_description,
   NOT .gfield_consent_description. Bump to readable ink and color the inline links. */
body.mmt-rc .gform_wrapper .gfield_description,
body.mmt-rc .gform_wrapper .gfield_consent_description,
body.mmt-rc .gform_wrapper .gfield_html,
body.mmt-rc .gform_wrapper .gfield--type-html,
body.mmt-rc .gform_wrapper .ginput_container_consent label,
body.mmt-rc .gform_wrapper [class*="consent"] {
  color: var(--color-ink) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  font-family: var(--font-body) !important;
  margin-top: var(--space-3) !important;
  display: block !important;
  opacity: 1 !important;
}
/* Make ALL form links crimson — Privacy Policy is in .gfield_description, no class of its own */
body.mmt-rc .gform_wrapper a,
body.mmt-rc .gform_wrapper .gfield_description a,
body.mmt-rc .gform_wrapper p a {
  color: var(--color-crimson) !important;
  text-decoration: underline !important;
  text-decoration-color: var(--color-crimson) !important;
  text-underline-offset: 3px;
  font-weight: 500 !important;
}
body.mmt-rc .gform_wrapper a:hover {
  color: var(--color-crimson-dk) !important;
}
/* Field labels — Gravity Forms 2.5+ uses .gform-field-label, not .gfield_label */
body.mmt-rc .gform_wrapper label.gfield_label,
body.mmt-rc .gform_wrapper .gform-field-label,
body.mmt-rc .gform_wrapper label[class*="label"] {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--color-ink) !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0 0 var(--space-2) 0 !important;
  display: block;
}
/* Sub-labels (Street Address, City, State/Province/Region, ZIP/Postal Code) */
body.mmt-rc .gform_wrapper .gform-field-label--type-sub,
body.mmt-rc .gform_wrapper .gfield_label_sub,
body.mmt-rc .gform_wrapper .gform-field-label[for*="address"] + label,
body.mmt-rc .gform_wrapper .ginput_complex label {
  font-size: 11px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0.02em;
  color: var(--color-slate) !important;
  margin-top: var(--space-1) !important;
}

/* ---------- C3. Comparison table — clean grid, full borders ----------
   Each cell gets 1px ink border on all sides + border-collapse so adjacent
   borders merge into a clean grid. Overrides inline tr borders (which are
   inconsistent in the source HTML) and the harsh #e5e5e5 zebra. */
body.mmt-rc .et_pb_module table,
body.mmt-rc .gf-comparison,
body.mmt-rc .et_pb_text table,
body.mmt-rc table.comparison {
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  width: 100% !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  font-family: var(--font-body);
  font-feature-settings: 'tnum' 1, 'lnum' 1, 'kern' 1;
  background: transparent !important;
  border: 2px solid #000000 !important;
}
/* Defeat the table's inline border (2px on table, 2px on SOME tr) and force
   every cell + the table itself to the SAME uniform 2px dark border. With
   border-collapse, adjacent 2px borders merge so the grid is consistent. */
body.mmt-rc .et_pb_module table tr,
body.mmt-rc .et_pb_text table tr,
body.mmt-rc table.comparison tr {
  border: 0 !important;
}
body.mmt-rc .et_pb_module table td,
body.mmt-rc .et_pb_module table th,
body.mmt-rc .et_pb_text table td,
body.mmt-rc .et_pb_text table th,
body.mmt-rc table.comparison td,
body.mmt-rc table.comparison th {
  border: 2px solid #000000 !important;
  border-top: 2px solid #000000 !important;
  border-right: 2px solid #000000 !important;
  border-bottom: 2px solid #000000 !important;
  border-left: 2px solid #000000 !important;
  padding: var(--space-4) var(--space-3) !important;
  vertical-align: middle !important;
  font-size: var(--text-base) !important;
  height: auto !important;
}
/* Override inline #e5e5e5 alternating row bg to bone */
body.mmt-rc .et_pb_module table tr[style*="e5e5e5"],
body.mmt-rc .et_pb_module table tr[style*="E5E5E5"],
body.mmt-rc .et_pb_text table tr[style*="e5e5e5"],
body.mmt-rc .et_pb_text table tr[style*="E5E5E5"] {
  background-color: var(--color-bone) !important;
}
body.mmt-rc .et_pb_module table tr[style*="e5e5e5"] td:first-child,
body.mmt-rc .et_pb_text table tr[style*="e5e5e5"] td:first-child {
  background-color: var(--color-bone) !important;
}
/* First column (labels): mono caps */
body.mmt-rc .et_pb_module table td:first-child,
body.mmt-rc .et_pb_text table td:first-child {
  background: var(--color-white) !important;
  color: var(--color-ink) !important;
  font-family: var(--font-mono) !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  text-align: left !important;
}
body.mmt-rc .et_pb_module table tr:nth-child(even) td:first-child,
body.mmt-rc .et_pb_text table tr:nth-child(even) td:first-child {
  background: var(--color-bone) !important;
}
/* Middle column (MMT) — keep its inline crimson bg */
body.mmt-rc .et_pb_module table td:nth-child(2),
body.mmt-rc .et_pb_text table td:nth-child(2),
body.mmt-rc table.comparison td:nth-child(2) {
  background: var(--color-crimson) !important;
  color: var(--color-bone) !important;
  font-weight: 600 !important;
  font-family: var(--font-mono) !important;
  text-align: center !important;
}
body.mmt-rc .et_pb_module table td:nth-child(2) *,
body.mmt-rc .et_pb_text table td:nth-child(2) * {
  color: var(--color-bone) !important;
  background: transparent !important;
}
/* Right column (Traditional) — bone bg, ink text, centered */
body.mmt-rc .et_pb_module table td:nth-child(3),
body.mmt-rc .et_pb_text table td:nth-child(3) {
  background: var(--color-white) !important;
  color: var(--color-ink) !important;
  text-align: center !important;
  font-family: var(--font-body) !important;
}
body.mmt-rc .et_pb_module table tr:nth-child(even) td:nth-child(3),
body.mmt-rc .et_pb_text table tr:nth-child(even) td:nth-child(3) {
  background: var(--color-bone) !important;
}
body.mmt-rc .et_pb_module table td:nth-child(3) *,
body.mmt-rc .et_pb_text table td:nth-child(3) * {
  color: var(--color-ink) !important;
  background: transparent !important;
}
/* Header row (first row): MMT cell already crimson, others styled */
body.mmt-rc .et_pb_module table tr:first-child td,
body.mmt-rc .et_pb_text table tr:first-child td {
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  font-size: 1.1rem !important;
  letter-spacing: 0.05em !important;
  padding: var(--space-5) var(--space-3) !important;
}
body.mmt-rc .et_pb_module table tr:first-child td:nth-child(2),
body.mmt-rc .et_pb_text table tr:first-child td:nth-child(2) {
  background: var(--color-crimson) !important;
  color: var(--color-bone) !important;
}

/* ---------- C4. Numbered process steps with Roman numerals ---------- */
/* Wrap process step blurbs in a row with `module_class="process-row"` so the
   counter resets per-row. Each step gets `module_class="process-step"`. */
body.mmt-rc .et_pb_row.process-row { counter-reset: step; }
body.mmt-rc .et_pb_blurb.process-step {
  counter-increment: step;
  position: relative;
  padding-top: var(--space-7);
  border-top: 1px solid var(--color-line);
}
body.mmt-rc .et_pb_blurb.process-step::before {
  content: counter(step, upper-roman);
  display: block;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 4rem;
  line-height: 1;
  color: var(--color-crimson);
  margin-bottom: var(--space-3);
  font-feature-settings: 'onum' 1, 'liga' 1;
}
/* Hide Divi's default icon when using process-step */
body.mmt-rc .et_pb_blurb.process-step .et_pb_main_blurb_image { display: none !important; }
body.mmt-rc .et_pb_blurb.process-step .et_pb_module_header {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.5rem;
  letter-spacing: -0.01em;
  color: var(--color-ink);
  margin-bottom: var(--space-3);
}

/* ---------- C5. Editorial footer ---------- */
body.mmt-rc #main-footer::before {
  content: "MMT HOME BUYERS";
  display: block;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(3rem, 7vw, 6rem);
  letter-spacing: 0.12em;
  color: var(--color-bone);
  text-align: center;
  padding-block: var(--space-7) var(--space-5);
  border-bottom: 1px solid rgba(245,241,234,0.15);
  margin-bottom: var(--space-6);
  font-feature-settings: 'kern' 1, 'liga' 1, 'dlig' 1;
}
body.mmt-rc #main-footer .footer-widget {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.04em;
  border-right: 1px solid rgba(245,241,234,0.15);
  padding-right: var(--space-6);
}
body.mmt-rc #main-footer .footer-widget:last-child { border-right: 0; }

/* ---------- C6. Pull-quote testimonials + cull (keep first 2) ---------- */
body.mmt-rc .et_pb_testimonials_grid .et_pb_testimonial:nth-child(n+3),
body.mmt-rc .et_pb_section .et_pb_testimonial:nth-of-type(n+3) {
  display: none !important;
}
/* Make the kept two read as serious editorial blockquotes */
body.mmt-rc .et_pb_testimonial::before { font-size: 6rem; }
body.mmt-rc .et_pb_testimonial_description { font-size: 1.5rem; }

/* ---------- C7. Drop cap on first body paragraph after hero ---------- */
body.mmt-rc .et_pb_section.hero-section + .et_pb_section .et_pb_text:first-of-type p:first-child::first-letter,
body.mmt-rc .et_pb_section.hero-section + .et_pb_section .et_pb_text:first-of-type p:first-child::first-letter {
  float: left;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 5.5rem;
  line-height: 0.85;
  padding: 0.55rem 0.8rem 0 0;
  color: var(--color-crimson);
  font-feature-settings: 'kern' 1, 'liga' 1, 'dlig' 1, 'onum' 1;
}

/* ---------- C8. Old-style numerals already global on body.mmt-rc above ---------- */

/* ---------- C4b. Blurb icon — restore proper above-text positioning ---------- */
/* Divi positions blurb icons absolutely overlapping the description by default.
   Force them back into normal flow as a centered crimson-on-bone circle ABOVE the text. */
body.mmt-rc .et_pb_blurb .et_pb_main_blurb_image {
  display: block !important;
  position: static !important;
  margin: 0 auto var(--space-4) !important;
  text-align: center !important;
  max-width: none !important;
  transform: none !important;
}
body.mmt-rc .et_pb_blurb .et_pb_main_blurb_image .et-pb-icon,
body.mmt-rc .et_pb_blurb .et_pb_main_blurb_image .et-waypoint {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 64px !important;
  height: 64px !important;
  line-height: 64px !important;
  font-size: 28px !important;
  background: var(--color-crimson) !important;
  border: 1px solid var(--color-crimson) !important;
  border-radius: 50% !important;
  color: var(--color-bone) !important;
  margin: 0 auto !important;
  position: static !important;
  transform: none !important;
  top: auto !important;
  left: auto !important;
}
/* Blurb container: ensure it sits BELOW the icon, never overlapping */
body.mmt-rc .et_pb_blurb .et_pb_blurb_container {
  text-align: center !important;
  margin-top: var(--space-3) !important;
  position: relative !important;
  z-index: 1;
}
body.mmt-rc .et_pb_blurb .et_pb_module_header,
body.mmt-rc .et_pb_blurb h4 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* Dark-section blurbs: bone bg + ink icon */
body.mmt-rc .et_pb_section.section-ink .et_pb_blurb .et-pb-icon,
body.mmt-rc .et_pb_section.hero-section .et_pb_blurb .et-pb-icon {
  background: var(--color-bone) !important;
  border-color: var(--color-bone) !important;
  color: var(--color-ink) !important;
}

/* ---------- C4c. Process step cards: spacing between photo and label ---------- */
/* The 4 "Our Easy & Hassle-Free Process" cards have et_pb_image directly
   above et_pb_text with zero gap. Add breathing room. */
body.mmt-rc .et_pb_image + .et_pb_text,
body.mmt-rc .et_pb_image_wrap + p,
body.mmt-rc .et_pb_image .et_pb_image_wrap {
  margin-top: var(--space-4) !important;
}
body.mmt-rc .et_pb_column .et_pb_image:not(.hide-on-pass2) {
  margin-bottom: var(--space-4) !important;
}
body.mmt-rc .et_pb_column .et_pb_text {
  padding-top: var(--space-3) !important;
}
/* Process labels (SUBMIT INFO / SETUP / OFFER / CLOSE) — small caps + crimson hairline above */
body.mmt-rc .et_pb_column .et_pb_text h1,
body.mmt-rc .et_pb_column .et_pb_text h2,
body.mmt-rc .et_pb_column .et_pb_text h3,
body.mmt-rc .et_pb_column .et_pb_text h4 {
  margin-top: 0 !important;
  margin-bottom: var(--space-3) !important;
}

/* ---------- C7b. Section-row content alignment ---------- */
/* Generic row column-content spacing: ensure last sections don't collapse weirdly. */
body.mmt-rc .et_pb_row {
  align-items: center;
}
body.mmt-rc .et_pb_section .et_pb_text ul,
body.mmt-rc .et_pb_section .et_pb_text ol {
  padding-left: var(--space-5);
  margin-block: var(--space-3);
}
body.mmt-rc .et_pb_section .et_pb_text li {
  margin-bottom: var(--space-2);
  line-height: 1.6;
}

/* ---------- Background below footer (kill bone-wrap) ----------
   The html and body are now painted black globally (see top of file).
   #page-container holds the bone paper-grain bg and ends at the footer.
   So below the footer = html/body black bg = no bone wrap. */
body.mmt-rc #page-container { margin-bottom: 0 !important; padding-bottom: 0 !important; }

/* ---------- C5b. Theme Builder footer — full-width black band, centered ---------- */
/* Outermost <footer> + EVERY descendant container painted black.
   Forces full-width by overriding Divi's default .et_pb_row { width: 61% }. */
body.mmt-rc footer.et-l,
body.mmt-rc .et-l--footer,
body.mmt-rc .et-l--footer > div,
body.mmt-rc .et-l--footer .et_builder_inner_content,
body.mmt-rc .et-l--footer .et_pb_section,
body.mmt-rc .et-l--footer .et_pb_section_0_tb_footer,
body.mmt-rc .et-l--footer .et_pb_row,
body.mmt-rc .et-l--footer .et_pb_row_0_tb_footer,
body.mmt-rc .et-l--footer .et_pb_column,
body.mmt-rc .et-l--footer .et_pb_module,
body.mmt-rc .et-l--footer .et_pb_text,
body.mmt-rc .et-l--footer .et_pb_text_inner {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
  border: 0 !important;
  margin: 0 !important;
}
/* Force full width all the way down */
body.mmt-rc footer.et-l,
body.mmt-rc .et-l--footer,
body.mmt-rc .et-l--footer .et_builder_inner_content,
body.mmt-rc .et-l--footer .et_pb_section,
body.mmt-rc .et-l--footer .et_pb_row,
body.mmt-rc .et-l--footer .et_pb_column {
  width: 100% !important;
  max-width: 100% !important;
}
/* Slim padding only on the section so the band has a small breathing area */
body.mmt-rc .et-l--footer {
  padding: 0 !important;
  display: block !important;
  position: relative !important;
}
body.mmt-rc .et-l--footer .et_pb_section {
  padding: 22px 24px !important;
}
body.mmt-rc .et-l--footer .et_pb_row,
body.mmt-rc .et-l--footer .et_pb_column,
body.mmt-rc .et-l--footer .et_pb_module,
body.mmt-rc .et-l--footer .et_pb_text,
body.mmt-rc .et-l--footer .et_pb_text_inner {
  padding: 0 !important;
}
/* Center the text — MAX specificity selector chain so NOTHING can override.
   Targets every possible variant: by ID, class, element, and pseudo. */
html body.mmt-rc footer.et-l.et-l--footer .et_builder_inner_content .et_pb_section .et_pb_row .et_pb_column .et_pb_module.et_pb_text .et_pb_text_inner,
html body.mmt-rc footer.et-l.et-l--footer .et_builder_inner_content .et_pb_section .et_pb_row .et_pb_column .et_pb_module.et_pb_text .et_pb_text_inner p,
html body.mmt-rc footer.et-l.et-l--footer .et_builder_inner_content .et_pb_section .et_pb_row .et_pb_column .et_pb_module.et_pb_text .et_pb_text_inner p span,
html body.mmt-rc footer.et-l.et-l--footer .et_pb_text_0_tb_footer,
html body.mmt-rc footer.et-l.et-l--footer .et_pb_text_0_tb_footer .et_pb_text_inner,
html body.mmt-rc footer.et-l.et-l--footer .et_pb_text_0_tb_footer .et_pb_text_inner p,
html body.mmt-rc footer.et-l.et-l--footer .et_pb_text_0_tb_footer .et_pb_text_inner p span,
html body.mmt-rc footer.et-l.et-l--footer .et_pb_text_0_tb_footer .et_pb_text_inner p *,
html body.mmt-rc footer.et-l.et-l--footer * {
  text-align: center !important;
}
/* Text color — beats Divi's `.et_pb_text_0_tb_footer { color: #ffffff !important }` */
body.mmt-rc .et-l--footer .et_pb_text_inner,
body.mmt-rc .et-l--footer .et_pb_text_inner p,
body.mmt-rc .et-l--footer .et_pb_text_inner p span,
body.mmt-rc .et-l--footer .et_pb_text_0_tb_footer,
body.mmt-rc .et-l--footer .et_pb_text_0_tb_footer p,
body.mmt-rc .et-l--footer .et_pb_text_0_tb_footer p span,
body.mmt-rc .et-l--footer p,
body.mmt-rc .et-l--footer p span {
  color: #B0A99B !important;
  font-family: var(--font-mono) !important;
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
  line-height: 1.7 !important;
  background: transparent !important;
  background-color: transparent !important;
}
/* Links — crimson, no underline by default */
body.mmt-rc .et-l--footer a,
body.mmt-rc .et-l--footer .et_pb_text_0_tb_footer a,
body.mmt-rc .et-l--footer p a {
  color: #8B1A1A !important;
  text-decoration: none !important;
  background: transparent !important;
  border-bottom: 1px solid transparent;
  transition: border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
body.mmt-rc .et-l--footer a:hover {
  border-bottom-color: #8B1A1A !important;
  color: #F5F1EA !important;
}
/* Hide the Divi default #main-footer when Theme Builder footer is present
   (Theme Builder footer is the canonical one; #main-footer is legacy duplicate) */
body.mmt-rc.et-tb-has-footer #main-footer,
body.mmt-rc.et-tb-has-footer #footer-bottom,
body.mmt-rc.et-tb-has-footer #footer-info {
  display: none !important;
}

body.mmt-rc footer.et-l {
  position: relative;
  z-index: 1;
  isolation: isolate;
  background-color: #000000 !important;
  background-image: none !important;
}

/* ##########################################################################
   ▲▲▲ END PASS 2 ▲▲▲

   QA CHECKLIST (re-verify after applying)
   ☐ body.mmt-rc class present on <body>
   ☐ Hero background-color: rgb(17, 17, 17)
   ☐ Body font-family resolves to "IBM Plex Sans"
   ☐ H1 font-family resolves to "Cormorant Garamond"
   ☐ .et_pb_button background: rgb(139, 26, 26)
   ☐ Trust strip rendered above hero with em-dashes
   ☐ Comparison table reads as prospectus (mono numerics, hairline rows)
   ☐ Process steps numbered I, II, III, IV in display Cormorant
   ☐ Drop cap on first paragraph after hero
   ☐ Footer "MMT HOME BUYERS" displayed at top of footer
   ☐ Only 2 testimonials visible
   ☐ No #f2f2f2, #cfb067, #c9923a, #0c71c3 visible on page
   ########################################################################## */
