/*
 * Makeover Homes public design system
 *
 * This layer intentionally sits after the legacy page stylesheet. It provides
 * shared tokens and primitives that let the public pages keep their individual
 * compositions while using one typography, spacing, surface, and interaction
 * language.
 */

:root {
  --mh-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --mh-ink: #1d2026;
  --mh-ink-strong: #15171c;
  --mh-muted: #626b76;
  --mh-paper: #ffffff;
  --mh-soft: #f5f7f9;
  --mh-soft-warm: #f8f5f6;
  --mh-soft-green: #f3f6ef;
  --mh-line: #dde3ea;
  --mh-line-strong: #cfd6df;
  --mh-brand: #6c0f2b;
  --mh-brand-dark: #520d15;
  --mh-green: #6f8d3d;
  --mh-charcoal: #111318;
  --mh-container: 1180px;
  --mh-container-wide: 1360px;
  --mh-gutter: clamp(1.15rem, 3vw, 2rem);
  --mh-section-space: clamp(4.75rem, 8vw, 7.5rem);
  --mh-radius-sm: 10px;
  --mh-radius-md: 16px;
  --mh-radius-lg: 22px;
  --mh-radius-xl: 30px;
  --mh-shadow-sm: 0 12px 30px rgba(17, 19, 24, 0.07);
  --mh-shadow-md: 0 20px 50px rgba(17, 19, 24, 0.11);
  --mh-shadow-lg: 0 30px 75px rgba(17, 19, 24, 0.16);
  --mh-shadow-brand: 0 16px 34px rgba(108, 15, 43, 0.24);
  --mh-ease: 180ms ease;
}

html {
  scroll-padding-top: 7rem;
}

.public-site {
  background: var(--mh-paper);
  color: var(--mh-ink);
  font-family: var(--mh-font-sans);
  font-size: 16px;
  line-height: 1.65;
  overflow-x: clip;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.public-site main:focus {
  outline: none;
}

.public-site ::selection {
  background: rgba(108, 15, 43, 0.16);
  color: var(--mh-brand-dark);
}

.public-site .container {
  width: min(100% - (2 * var(--mh-gutter)), var(--mh-container));
  max-width: none;
  padding-right: 0;
  padding-left: 0;
}

.public-site :is(h1, h2, h3) {
  color: inherit;
  font-family: var(--mh-font-sans);
  font-weight: 850;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.public-site h1 {
  line-height: 1.01;
}

.public-site h2 {
  line-height: 1.07;
}

.public-site h3 {
  line-height: 1.18;
}

.public-site p {
  text-wrap: pretty;
}

.public-site :is(.eyebrow, .home-kicker) {
  align-items: center;
  width: fit-content;
  min-height: 30px;
  display: inline-flex;
  padding: 0.36rem 0.72rem;
  border: 1px solid rgba(111, 141, 61, 0.22);
  border-radius: 999px;
  background: rgba(111, 141, 61, 0.1);
  color: var(--mh-green);
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.09em;
  line-height: 1;
  text-transform: uppercase;
}

.public-site :is(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid rgba(111, 141, 61, 0.62);
  outline-offset: 3px;
}

.public-skip-link {
  position: fixed;
  top: 0.75rem;
  left: 1rem;
  z-index: 1000;
  padding: 0.7rem 1rem;
  border-radius: var(--mh-radius-sm);
  background: var(--mh-brand);
  box-shadow: var(--mh-shadow-md);
  color: #fff;
  font-size: 0.88rem;
  font-weight: 800;
  transform: translateY(-160%);
  transition: transform var(--mh-ease);
}

.public-skip-link:focus {
  color: #fff;
  transform: translateY(0);
}

/* Buttons and text links */
.public-site .btn,
.public-site .public-nav__cta {
  align-items: center;
  min-height: 50px;
  display: inline-flex;
  justify-content: center;
  padding: 0.75rem 1.35rem;
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 850;
  letter-spacing: -0.01em;
  line-height: 1.15;
  text-align: center;
  transition: color var(--mh-ease), background-color var(--mh-ease), border-color var(--mh-ease), box-shadow var(--mh-ease), transform var(--mh-ease);
}

.public-site .btn-brand {
  border-color: var(--mh-brand);
  background: linear-gradient(135deg, var(--mh-brand), var(--mh-brand-dark));
  box-shadow: var(--mh-shadow-brand);
  color: #fff;
}

.public-site .btn-brand:hover,
.public-site .btn-brand:focus-visible {
  border-color: var(--mh-brand-dark);
  background: linear-gradient(135deg, #791335, var(--mh-brand-dark));
  box-shadow: 0 20px 42px rgba(108, 15, 43, 0.3);
  color: #fff;
  transform: translateY(-2px);
}

.public-site .btn-light-brand {
  border-color: #fff;
  background: #fff;
  box-shadow: 0 14px 30px rgba(20, 10, 13, 0.18);
  color: var(--mh-brand);
}

.public-site .btn-light-brand:hover,
.public-site .btn-light-brand:focus-visible {
  border-color: var(--mh-soft-warm);
  background: var(--mh-soft-warm);
  color: var(--mh-brand-dark);
  transform: translateY(-2px);
}

.public-site .btn:disabled,
.public-site .btn.disabled,
.public-site .public-nav__cta:disabled {
  box-shadow: none;
  transform: none;
}

/* Header and navigation */
.public-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.94);
}

.public-nav {
  border-bottom-color: rgba(29, 32, 38, 0.1);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 32px rgba(17, 19, 24, 0.07);
  backdrop-filter: blur(18px);
  transition: box-shadow var(--mh-ease), background-color var(--mh-ease);
}

.public-header.is-scrolled .public-nav {
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 14px 38px rgba(17, 19, 24, 0.1);
}

.public-nav__inner {
  width: min(100% - (2 * var(--mh-gutter)), var(--mh-container-wide));
  min-height: 86px;
  gap: clamp(0.8rem, 1.6vw, 1.5rem);
}

.public-brand img {
  width: 112px;
  transition: transform var(--mh-ease);
}

.public-brand:hover img {
  transform: scale(1.025);
}

.public-nav__menu {
  gap: clamp(0.6rem, 1.2vw, 1.1rem);
}

.public-nav__links {
  gap: 0.08rem;
}

.public-nav__link {
  min-height: 46px;
  padding: 0.7rem 0.48rem;
  color: #292d34;
  font-size: 0.78rem;
  font-weight: 780;
  letter-spacing: -0.012em;
  transition: color var(--mh-ease), background-color var(--mh-ease);
}

.public-nav__link::before {
  position: absolute;
  right: 0.45rem;
  bottom: 4px;
  left: 0.45rem;
  height: 2px;
  border-radius: 999px;
  background: var(--mh-brand);
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform var(--mh-ease);
}

.public-nav__link:hover::before,
.public-nav__link:focus-visible::before {
  transform: scaleX(1);
  transform-origin: left;
}

.public-nav__link.is-active::after,
.public-nav__dropdown.is-parent-active > .public-nav__link::after {
  right: 0.45rem;
  bottom: 4px;
  left: 0.45rem;
  height: 2px;
  border-radius: 999px;
}

.public-nav__dropdown-menu {
  width: 350px;
  padding: 0.65rem;
  border-color: rgba(29, 32, 38, 0.1);
  border-radius: var(--mh-radius-md);
  box-shadow: var(--mh-shadow-lg);
  transform: translate(-50%, -8px) scale(0.985);
  transition: opacity var(--mh-ease), transform var(--mh-ease), visibility var(--mh-ease);
}

.public-nav__dropdown:not(.suppress-hover):hover .public-nav__dropdown-menu,
.public-nav__dropdown.is-open .public-nav__dropdown-menu {
  transform: translate(-50%, 0) scale(1);
}

.public-nav__dropdown-menu a {
  min-height: 54px;
  padding: 0.75rem 0.85rem;
  border-radius: var(--mh-radius-sm);
  transition: color var(--mh-ease), background-color var(--mh-ease), transform var(--mh-ease);
}

.public-nav__dropdown-menu a:hover,
.public-nav__dropdown-menu a:focus-visible,
.public-nav__dropdown-menu a[aria-current="page"] {
  background: var(--mh-soft-warm);
  transform: translateX(3px);
}

.public-nav__actions {
  gap: 0.48rem;
}

/* Shared Makeover Estimator store treatment */
.estimator-download {
  display: grid;
  min-width: 0;
  gap: 0.45rem;
}

.estimator-download__label {
  color: var(--mh-ink);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  line-height: 1.15;
  text-transform: uppercase;
}

.estimator-download--inverse .estimator-download__label {
  color: rgba(255, 255, 255, 0.8);
}

.estimator-download__stores {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
}

.estimator-download__store {
  display: inline-flex;
  min-width: 0;
  min-height: 44px;
  align-items: center;
  border-radius: 8px;
  transition: filter var(--mh-transition-fast), transform var(--mh-transition-fast);
}

.estimator-download__store img {
  display: block;
  width: auto;
  height: 40px;
}

.estimator-download__store:hover {
  filter: brightness(1.08);
  transform: translateY(-2px);
}

.estimator-download__store:active {
  transform: translateY(0);
}

.estimator-download__store:focus-visible {
  outline: 3px solid rgba(111, 141, 61, 0.72);
  outline-offset: 4px;
}

.estimator-download--journey {
  margin-top: 1.25rem;
}

.public-site .public-nav__cta {
  min-height: 42px;
  padding: 0.55rem 0.82rem;
  font-size: 0.69rem;
  letter-spacing: 0.01em;
}

.public-nav__cta--download {
  box-shadow: 0 12px 26px rgba(108, 15, 43, 0.2);
}

.public-nav__cta--consultant:hover,
.public-nav__cta--consultant:focus-visible,
.public-nav__login:hover,
.public-nav__login:focus-visible {
  transform: translateY(-1px);
}

.public-nav__login {
  min-height: 42px;
  padding: 0.5rem 0.4rem;
  font-size: 0.72rem;
  transition: color var(--mh-ease), transform var(--mh-ease);
}

/* Shared page heroes and section rhythm */
.public-page {
  overflow: clip;
}

.public-site .page-hero {
  min-height: clamp(440px, 48vw, 590px);
  overflow: hidden;
  padding: clamp(4.5rem, 8vw, 7rem) 0;
  background-color: var(--mh-charcoal);
  isolation: isolate;
}

.public-site .page-hero::before {
  background: linear-gradient(90deg, rgba(13, 15, 19, 0.94), rgba(17, 19, 24, 0.64) 58%, rgba(17, 19, 24, 0.48));
}

.public-site .page-hero::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 83% 18%, rgba(111, 141, 61, 0.18), transparent 25%),
    radial-gradient(circle at 73% 110%, rgba(108, 15, 43, 0.26), transparent 38%),
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: auto, auto, 64px 64px, 64px 64px;
  content: "";
  mask-image: linear-gradient(90deg, transparent 10%, #000 72%);
  pointer-events: none;
}

.public-site .page-hero .container {
  max-width: 940px;
  padding-top: 0;
  padding-bottom: 0;
  margin-left: max(var(--mh-gutter), calc((100vw - var(--mh-container)) / 2));
}

.public-site .page-hero :is(.eyebrow, .home-kicker) {
  border-color: rgba(179, 203, 137, 0.24);
  background: rgba(111, 141, 61, 0.15);
  color: #b7cf8c;
}

.public-site .page-hero h1 {
  max-width: 17ch;
  margin-top: 1rem;
  margin-bottom: 1.35rem;
  color: #fff;
  font-size: clamp(2.75rem, 5.4vw, 4.9rem);
  font-weight: 900;
  line-height: 1.01;
  letter-spacing: -0.052em;
}

.public-site .page-hero .container > p:not(.eyebrow):not(.home-kicker) {
  max-width: 760px;
  color: rgba(255, 255, 255, 0.8);
  font-size: clamp(1.03rem, 1.7vw, 1.2rem);
  line-height: 1.68;
}

.public-site .page-hero .btn {
  margin-top: 0.55rem;
}

.public-site .section,
.public-site .home-section {
  padding-top: var(--mh-section-space);
  padding-bottom: var(--mh-section-space);
}

.public-site :is(.section, .home-section, section[id]) {
  scroll-margin-top: 6.5rem;
}

.public-site .section-heading {
  max-width: 790px;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.public-site .section-heading h2 {
  margin-top: 1rem;
  color: var(--mh-ink-strong);
  font-size: clamp(2.15rem, 4vw, 3.65rem);
  font-weight: 900;
}

.public-site .muted-section {
  position: relative;
  border-top: 1px solid rgba(29, 32, 38, 0.06);
  border-bottom: 1px solid rgba(29, 32, 38, 0.06);
  background:
    radial-gradient(circle at 12% 10%, rgba(111, 141, 61, 0.09), transparent 28%),
    radial-gradient(circle at 92% 90%, rgba(108, 15, 43, 0.07), transparent 32%),
    var(--mh-soft);
}

.public-site .split {
  gap: clamp(2.75rem, 7vw, 6.5rem);
}

.split-media {
  position: relative;
  padding: clamp(0.6rem, 1.5vw, 1rem);
  border: 1px solid rgba(29, 32, 38, 0.09);
  border-radius: var(--mh-radius-xl);
  background: #fff;
  box-shadow: var(--mh-shadow-lg);
}

.split-media::before {
  position: absolute;
  top: -1.2rem;
  left: -1.2rem;
  z-index: -1;
  width: 42%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(108, 15, 43, 0.1);
  content: "";
}

.public-site .split-media img {
  width: 100%;
  border-radius: calc(var(--mh-radius-xl) - 8px);
  box-shadow: none;
}

/* Cards and shared content surfaces */
.public-site .card-grid {
  gap: clamp(1.1rem, 2.5vw, 1.75rem);
}

.public-site .info-card {
  position: relative;
  min-height: 100%;
  padding: clamp(1rem, 2vw, 1.4rem);
  overflow: hidden;
  border: 1px solid rgba(29, 32, 38, 0.09);
  border-radius: var(--mh-radius-lg);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--mh-shadow-sm);
  transition: border-color var(--mh-ease), box-shadow var(--mh-ease), transform var(--mh-ease);
}

.public-site .info-card::after {
  position: absolute;
  right: -3rem;
  bottom: -4rem;
  width: 9rem;
  height: 9rem;
  border-radius: 50%;
  background: rgba(108, 15, 43, 0.045);
  content: "";
  pointer-events: none;
}

.public-site .info-card:hover {
  border-color: rgba(108, 15, 43, 0.2);
  box-shadow: var(--mh-shadow-md);
  transform: translateY(-5px);
}

.public-site .info-card img {
  width: 100%;
  height: 235px;
  margin-bottom: 1.3rem;
  border: 1px solid rgba(29, 32, 38, 0.06);
  border-radius: var(--mh-radius-md);
  background: var(--mh-soft);
  object-fit: contain;
  transition: filter var(--mh-ease), transform var(--mh-ease);
}

.public-site .info-card:hover img {
  transform: scale(1.018);
}

.public-site .info-card h2 {
  margin-bottom: 0.7rem;
  color: var(--mh-ink-strong);
  font-size: 1.4rem;
  letter-spacing: -0.025em;
}

.public-site .info-card p {
  position: relative;
  z-index: 1;
  color: var(--mh-muted);
  line-height: 1.62;
}

.info-card__index {
  position: absolute;
  top: 1.75rem;
  right: 1.75rem;
  z-index: 2;
  min-width: 38px;
  min-height: 28px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.58);
  border-radius: 999px;
  background: rgba(108, 15, 43, 0.9);
  box-shadow: 0 10px 24px rgba(108, 15, 43, 0.2);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.public-site :is(
  .audience-card,
  .lender-benefit-card,
  .contractor-benefit-card,
  .hc-card,
  .learn-level-card,
  .learn-result-card,
  .learn-related-card,
  .about-capability-grid article,
  .about-principles article
) {
  transition: border-color var(--mh-ease), box-shadow var(--mh-ease), transform var(--mh-ease);
}

.public-site :is(
  .audience-card,
  .lender-benefit-card,
  .contractor-benefit-card,
  .hc-card,
  .learn-level-card,
  .learn-result-card,
  .learn-related-card,
  .about-capability-grid article,
  .about-principles article
):hover {
  box-shadow: var(--mh-shadow-md);
  transform: translateY(-4px);
}

/* Contact, FAQ, and legal surfaces */
.public-page--contact > .section,
.faq-page > .section,
.legal-page__content {
  background:
    radial-gradient(circle at 5% 8%, rgba(111, 141, 61, 0.08), transparent 26%),
    var(--mh-soft);
}

.public-site .contact-grid {
  grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.22fr);
  gap: clamp(1.5rem, 4vw, 2.5rem);
}

.public-site :is(.contact-panel, .contact-form) {
  padding: clamp(1.5rem, 4vw, 2.6rem);
  border: 1px solid rgba(29, 32, 38, 0.09);
  border-radius: var(--mh-radius-lg);
  box-shadow: var(--mh-shadow-sm);
}

.public-site .contact-panel {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 100%, rgba(111, 141, 61, 0.18), transparent 42%),
    linear-gradient(145deg, var(--mh-brand-dark), var(--mh-brand));
  color: #fff;
}

.public-site .contact-panel::after {
  position: absolute;
  right: -2rem;
  bottom: -2rem;
  width: 8rem;
  height: 8rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  content: "";
}

.public-site .contact-panel :is(h2, p, a, span) {
  color: inherit;
}

.public-site .contact-panel .eyebrow {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.1);
  color: #d3e4b5;
}

.public-site .contact-methods {
  gap: 0.2rem;
  margin-top: 1.8rem;
}

.public-site .contact-methods :is(a, span) {
  padding: 0.85rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.public-site .contact-methods a:hover {
  color: #d3e4b5;
}

.public-site .contact-form {
  background: rgba(255, 255, 255, 0.96);
}

.public-site .form-row {
  gap: 0.42rem;
  margin-bottom: 1.15rem;
}

.public-site .form-row label {
  color: var(--mh-ink-strong);
  font-size: 0.84rem;
  font-weight: 800;
}

.public-site .form-row :is(input, textarea) {
  min-height: 50px;
  padding: 0.78rem 0.95rem;
  border: 1px solid var(--mh-line-strong);
  border-radius: var(--mh-radius-sm);
  background: #fff;
  box-shadow: inset 0 1px 2px rgba(17, 19, 24, 0.035);
  color: var(--mh-ink);
  transition: border-color var(--mh-ease), box-shadow var(--mh-ease), background-color var(--mh-ease);
}

.public-site .form-row textarea {
  min-height: 145px;
  resize: vertical;
}

.public-site .form-row :is(input, textarea):focus {
  border-color: var(--mh-brand);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(108, 15, 43, 0.1);
  outline: none;
}

.public-site .faq-library {
  max-width: 940px;
}

.public-site .faq-accordion {
  display: grid;
  gap: 0.85rem;
}

.public-site .faq-accordion .accordion-item {
  overflow: hidden;
  border: 1px solid rgba(29, 32, 38, 0.09);
  border-radius: var(--mh-radius-md);
  background: #fff;
  box-shadow: var(--mh-shadow-sm);
}

.public-site .faq-accordion .accordion-button {
  min-height: 68px;
  padding: 1.15rem 1.35rem;
  background: #fff;
  color: var(--mh-ink-strong);
  font-size: 1rem;
  font-weight: 850;
  letter-spacing: -0.015em;
  transition: color var(--mh-ease), background-color var(--mh-ease);
}

.public-site .faq-accordion .accordion-button:not(.collapsed) {
  background: linear-gradient(135deg, var(--mh-brand), var(--mh-brand-dark));
  box-shadow: none;
  color: #fff;
}

.public-site .faq-accordion .accordion-button:not(.collapsed)::after {
  filter: brightness(0) invert(1);
}

.public-site .faq-accordion .accordion-body {
  padding: 1.4rem 1.5rem 1.6rem;
  color: var(--mh-muted);
  line-height: 1.7;
}

.public-site .faq-accordion .accordion-body a {
  display: inline-flex;
  margin-top: 0.4rem;
  color: var(--mh-brand);
  font-weight: 800;
}

.public-site .legal-page__panel {
  padding: clamp(1.5rem, 4vw, 2.75rem);
  border: 1px solid rgba(29, 32, 38, 0.09);
  border-radius: var(--mh-radius-lg);
  background: #fff;
  box-shadow: var(--mh-shadow-sm);
}

.legal-page__panel h2 {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
}

/* Shared CTA and footer */
.public-site .cta-band {
  position: relative;
  overflow: hidden;
  padding: clamp(4rem, 7vw, 5.75rem) 0;
  background:
    radial-gradient(circle at 80% 20%, rgba(111, 141, 61, 0.25), transparent 28%),
    linear-gradient(135deg, var(--mh-brand-dark), var(--mh-brand));
}

.public-site .cta-band::after {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 58px 58px;
  content: "";
  mask-image: linear-gradient(90deg, transparent, #000);
  pointer-events: none;
}

.public-site .cta-band__inner {
  position: relative;
  z-index: 1;
  gap: clamp(2rem, 5vw, 4rem);
}

.public-site .cta-band__inner > div {
  max-width: 760px;
}

.public-site .cta-band .eyebrow {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.1);
  color: #d4e3b9;
}

.public-site .cta-band h2 {
  margin-top: 1rem;
  font-size: clamp(2rem, 4vw, 3.5rem);
}

.site-footer {
  position: relative;
  overflow: hidden;
  padding-top: clamp(4.5rem, 8vw, 6.5rem);
  background:
    radial-gradient(circle at 12% -8%, rgba(108, 15, 43, 0.38), transparent 32%),
    radial-gradient(circle at 90% 12%, rgba(111, 141, 61, 0.14), transparent 26%),
    #0c0e12;
}

.site-footer::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--mh-brand), var(--mh-green));
  content: "";
}

.public-site .footer-grid {
  grid-template-columns: minmax(260px, 1.55fr) repeat(3, minmax(150px, 0.8fr));
  gap: clamp(2rem, 5vw, 4rem);
}

.footer-intro {
  max-width: 390px;
}

.footer-logo {
  width: 178px;
  padding: 0.35rem;
  border-radius: var(--mh-radius-sm);
  background: rgba(255, 255, 255, 0.94);
}

.site-footer h2 {
  margin-bottom: 1.1rem;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.site-footer p {
  color: rgba(255, 255, 255, 0.66);
}

.site-footer a {
  width: fit-content;
  margin-bottom: 0.58rem;
  color: rgba(255, 255, 255, 0.76);
  transition: color var(--mh-ease), transform var(--mh-ease);
}

.site-footer a:hover,
.site-footer a:focus-visible {
  color: #fff;
  transform: translateX(3px);
}

.footer-bottom {
  margin-top: clamp(3rem, 6vw, 5rem);
  padding: 1.35rem 0;
  border-top-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.58);
}

/* Progressive, restrained entrance motion */
@media (prefers-reduced-motion: no-preference) {
  .reveal-ready [data-reveal]:not(.is-visible) {
    opacity: 0;
    transform: translateY(22px);
  }

  .reveal-ready [data-reveal] {
    transition: opacity 520ms ease, transform 520ms ease;
  }
}

@media (max-width: 1299.98px) and (min-width: 1200px) {
  .public-nav__inner {
    gap: 0.65rem;
  }

  .public-brand img {
    width: 96px;
  }

  .public-nav__menu {
    gap: 0.38rem;
  }

  .public-nav__link {
    padding-right: 0.34rem;
    padding-left: 0.34rem;
    font-size: 0.7rem;
  }

  .public-site .public-nav__cta {
    padding-right: 0.58rem;
    padding-left: 0.58rem;
    font-size: 0.64rem;
  }
}

@media (max-width: 1199.98px) {
  .public-header {
    position: sticky;
  }

  .public-nav {
    backdrop-filter: none;
  }

  .public-nav__inner {
    min-height: 74px;
  }

  .public-brand img {
    width: 100px;
  }

  .public-nav__toggle {
    width: 46px;
    height: 46px;
    border-color: rgba(29, 32, 38, 0.12);
    border-radius: var(--mh-radius-sm);
    box-shadow: 0 8px 20px rgba(17, 19, 24, 0.06);
  }

  .public-nav__menu {
    inset: 74px 0 0;
    gap: 1.2rem;
    padding-top: 1.25rem;
    background:
      radial-gradient(circle at 95% 0, rgba(108, 15, 43, 0.07), transparent 28%),
      rgba(255, 255, 255, 0.985);
    backdrop-filter: blur(20px);
  }

  .public-nav__link {
    min-height: 52px;
    font-size: 1rem;
  }

  .public-nav__link::before {
    display: none;
  }

  .public-nav__dropdown-menu {
    border-radius: var(--mh-radius-sm);
    background: var(--mh-soft);
  }

  .public-nav__dropdown.public-nav__dropdown.is-open .public-nav__dropdown-menu {
    transform: none;
  }

  .public-nav__dropdown-menu a:hover,
  .public-nav__dropdown-menu a:focus-visible,
  .public-nav__dropdown-menu a[aria-current="page"] {
    transform: none;
  }

  .public-site .public-nav__cta {
    min-height: 48px;
    font-size: 0.78rem;
  }
}

@media (max-width: 899.98px) {
  :root {
    --mh-section-space: clamp(4rem, 10vw, 5.5rem);
  }

  .public-site .page-hero .container {
    max-width: none;
    margin-right: auto;
    margin-left: auto;
  }

  .public-site .contact-grid,
  .public-site .footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .footer-intro {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767.98px) {
  :root {
    --mh-gutter: 1.15rem;
  }

  .public-site .page-hero {
    min-height: 470px;
    padding: 4.5rem 0;
  }

  .public-site .page-hero::before {
    background: linear-gradient(90deg, rgba(13, 15, 19, 0.94), rgba(17, 19, 24, 0.76));
  }

  .public-site .page-hero h1 {
    max-width: 100%;
    font-size: clamp(2.55rem, 11vw, 4rem);
  }

  .public-site .page-hero .container > p:not(.eyebrow):not(.home-kicker) {
    font-size: 1.02rem;
  }

  .public-site .contact-grid,
  .public-site .footer-grid {
    grid-template-columns: 1fr;
  }

  .public-site .contact-panel {
    min-height: auto;
  }

  .public-site .cta-band__inner {
    align-items: stretch;
  }

  .public-site .cta-band .btn {
    width: 100%;
  }

  .footer-intro {
    grid-column: auto;
  }
}

@media (max-width: 575.98px) {
  :root {
    --mh-section-space: 4rem;
    --mh-radius-lg: 18px;
    --mh-radius-xl: 22px;
  }

  .public-nav__inner {
    width: calc(100% - 2rem);
    min-height: 70px;
  }

  .public-brand img {
    width: 90px;
  }

  .public-nav__menu {
    top: 70px;
  }

  .public-site .page-hero {
    min-height: 450px;
  }

  .public-site .page-hero h1 {
    font-size: clamp(2.35rem, 11vw, 3.25rem);
    letter-spacing: -0.045em;
  }

  .public-site .info-card img {
    height: 210px;
  }

  .public-site :is(.contact-panel, .contact-form) {
    padding: 1.35rem;
  }

  .public-site .faq-accordion .accordion-button {
    min-height: 62px;
    padding: 1rem;
  }

  .public-site .faq-accordion .accordion-body {
    padding: 1.15rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .public-site *,
  .public-site *::before,
  .public-site *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  .public-site :is(
    .btn,
    .info-card,
    .audience-card,
    .lender-benefit-card,
    .contractor-benefit-card,
    .hc-card,
    .learn-level-card,
    .learn-result-card,
    .learn-related-card,
    .about-capability-grid article,
    .about-principles article
  ):hover,
  .public-site .lender-benefit-card:focus-visible,
  .footer-next__path:hover,
  .site-footer a:hover,
  .public-brand:hover img {
    transform: none;
  }
}

/* ==========================================================================
   Editorial professional + story pages (third composition pass)
   ========================================================================== */

/* Light surfaces nested in inverse heroes must own their foreground color.
   This prevents the surrounding white hero text from leaking into cards and
   journey rails while still allowing intentional dark child surfaces to opt in. */
.mh-light-surface {
  color: var(--mh-ink);
}

/* Lenders: a layered file system instead of a conventional split hero. */
.lender-page--editorial .lender-hero { padding-bottom: 0; }
.lender-page--editorial .lender-hero__grid { grid-template-columns: minmax(0,.82fr) minmax(560px,1.18fr); gap: clamp(3rem,5vw,6rem); min-height: 760px; align-items: center; }
.lender-page--editorial .lender-hero__copy h1 { max-width: 760px; font-size: clamp(4.6rem,6.4vw,7.2rem); line-height: .88; }
.lender-page--editorial .lender-hero__visual { position: relative; min-height: 680px; transform: none; }
.lender-page--editorial .lender-hero__photo { position: absolute; inset: 0 20% 15% 0; overflow: hidden; margin: 0; border-radius: 34px; box-shadow: var(--mh-shadow-lg); transform: rotate(-2deg); }
.lender-page--editorial .lender-hero__photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 48%,rgba(17,19,24,.64)); }
.lender-page--editorial .lender-hero__photo img { width:100%; height:100%; object-fit:cover; }
.lender-page--editorial .lender-hero__photo figcaption { position:absolute; z-index:1; left:1.5rem; bottom:1.35rem; display:grid; color:#fff; }
.lender-page--editorial .lender-hero__photo figcaption strong { font-size:1.2rem; }
.lender-page--editorial .lender-hero__photo figcaption span { color:rgba(255,255,255,.68); font-size:.84rem; }
.lender-page--editorial .lender-workflow { position:absolute; right:0; bottom:2%; z-index:2; width:min(74%,520px); transform:rotate(2deg); }
.lender-page--editorial .lender-hero__file-proof { position:absolute; top:7%; right:0; z-index:3; display:grid; gap:.2rem; max-width:260px; padding:1.1rem 1.25rem; border-left:4px solid var(--mh-green); border-radius:var(--mh-radius-sm); background:#fff; color:var(--mh-ink); box-shadow:var(--mh-shadow-lg); }
.lender-page--editorial .lender-hero__file-proof span { color:var(--mh-muted); font-size:.72rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.lender-page--editorial .lender-hero__continuum { position:relative; z-index:4; display:grid; grid-template-columns:auto 1fr auto 1fr auto; gap:1rem; align-items:center; margin-top:-2.25rem; padding:1.25rem 1.5rem; border:1px solid rgba(255,255,255,.12); border-radius:var(--mh-radius-md) var(--mh-radius-md) 0 0; background:rgba(255,255,255,.07); color:rgba(255,255,255,.75); backdrop-filter:blur(14px); }
.lender-page--editorial .lender-hero__continuum i { height:1px; background:linear-gradient(90deg,var(--mh-green),rgba(255,255,255,.15)); }
.lender-page--editorial .lender-benefit-grid--bento { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-rows:auto; gap:1.1rem; align-items:stretch; }
.lender-page--editorial .lender-benefit-grid--bento .lender-benefit-card { position:relative; grid-column:span 3; min-width:0; min-height:235px; display:flex; flex-direction:column; margin:0; overflow:hidden; padding:clamp(1.35rem,2vw,1.75rem); }
.lender-page--editorial .lender-benefit-card:focus { outline:none; }
.lender-page--editorial .lender-benefit-card:focus-visible { border-color:rgba(111,141,61,.72); outline:3px solid rgba(111,141,61,.58); outline-offset:4px; box-shadow:var(--mh-shadow-lg); transform:translateY(-4px); }
.lender-page--editorial .lender-benefit-card h3 { font-size:clamp(1.35rem,1.8vw,1.8rem); line-height:1.05; text-wrap:balance; }
.lender-page--editorial .lender-benefit-card > p,
.lender-page--editorial .lender-benefit-card__copy > p { font-size:.94rem; line-height:1.58; }
.lender-page--editorial .lender-benefit-card:not(.lender-benefit-card--feature):not(.lender-benefit-card--coverage) { display:grid; grid-template-columns:42px minmax(0,1fr); grid-template-rows:auto auto 1fr; gap:0 1rem; }
.lender-page--editorial .lender-benefit-card:not(.lender-benefit-card--feature):not(.lender-benefit-card--coverage) .lender-icon { grid-column:1; grid-row:1; margin-bottom:1rem; }
.lender-page--editorial .lender-benefit-card:not(.lender-benefit-card--feature):not(.lender-benefit-card--coverage) h3 { grid-column:2; grid-row:1; align-self:center; }
.lender-page--editorial .lender-benefit-card:not(.lender-benefit-card--feature):not(.lender-benefit-card--coverage) > p,
.lender-page--editorial .lender-benefit-card:not(.lender-benefit-card--feature):not(.lender-benefit-card--coverage) > div { grid-column:1 / -1; }
.lender-page--editorial .lender-benefit-grid--bento .lender-benefit-card--feature { grid-column:span 8!important; min-height:330px; display:grid; grid-template-columns:minmax(0,1fr) minmax(235px,.72fr); grid-template-rows:1fr; column-gap:clamp(1.5rem,3vw,3rem); background:linear-gradient(145deg,var(--mh-brand),var(--mh-brand-dark)); color:#fff; }
.lender-page--editorial .lender-benefit-card__copy { grid-column:1; grid-row:1; align-self:center; }
.lender-page--editorial .lender-benefit-card--feature p { color:rgba(255,255,255,.72); }
.lender-page--editorial .lender-benefit-card__visual { grid-column:2; grid-row:1; align-self:stretch; display:grid; align-content:center; gap:.55rem; padding:.5rem 0; margin:0; list-style:none; }
.lender-page--editorial .lender-benefit-card__visual li { position:relative; display:grid; grid-template-columns:auto 1fr; gap:.12rem .75rem; align-items:center; padding:.8rem .9rem; border:1px solid rgba(255,255,255,.18); border-radius:var(--mh-radius-sm); background:rgba(255,255,255,.09); box-shadow:0 12px 24px rgba(31,4,13,.14); opacity:.82; transform:translateX(12px); transition:opacity 220ms ease,transform 220ms ease,background-color 220ms ease; }
.lender-page--editorial .lender-benefit-card__visual li:nth-child(2) { transform:translateX(2px); transition-delay:35ms; }
.lender-page--editorial .lender-benefit-card__visual li:nth-child(3) { transform:translateX(-8px); transition-delay:70ms; }
.lender-page--editorial .lender-benefit-card__visual li:not(:last-child)::after { position:absolute; left:1.35rem; bottom:-.7rem; width:1px; height:.7rem; background:rgba(183,207,140,.7); content:""; }
.lender-page--editorial .lender-benefit-card__visual li > span { grid-row:1 / 3; color:#b7cf8c; font-size:.66rem; font-weight:900; letter-spacing:.08em; }
.lender-page--editorial .lender-benefit-card__visual strong { font-size:.9rem; }
.lender-page--editorial .lender-benefit-card__visual small { color:rgba(255,255,255,.6); font-size:.66rem; letter-spacing:.04em; text-transform:uppercase; }
.lender-page--editorial .lender-benefit-card--feature:hover .lender-benefit-card__visual li,
.lender-page--editorial .lender-benefit-card--feature:focus-visible .lender-benefit-card__visual li { background:rgba(255,255,255,.15); opacity:1; transform:translateX(0); }
.lender-page--editorial .lender-benefit-card--coverage { grid-column:span 4!important; min-height:330px; display:flex; flex-direction:column; background:var(--mh-charcoal); color:#fff; }
.lender-page--editorial .lender-benefit-card--coverage p { color:rgba(255,255,255,.66); }
.lender-support-visual { display:grid; grid-template-columns:auto 1fr auto 1fr auto; gap:.45rem; align-items:center; margin-top:auto; padding-top:1.4rem; }
.lender-support-visual span,.lender-support-visual strong { display:grid; min-height:52px; place-items:center; padding:.45rem; border:1px solid rgba(255,255,255,.14); border-radius:10px; background:rgba(255,255,255,.06); color:rgba(255,255,255,.72); font-size:.61rem; line-height:1.2; text-align:center; }
.lender-support-visual strong { border-color:rgba(183,207,140,.38); background:rgba(111,141,61,.18); color:#d7e6bb; }
.lender-support-visual i { height:1px; background:linear-gradient(90deg,rgba(255,255,255,.15),var(--mh-green)); transform:scaleX(.65); transition:transform 220ms ease; }
.lender-benefit-card--coverage:hover .lender-support-visual i,
.lender-benefit-card--coverage:focus-visible .lender-support-visual i { transform:scaleX(1); }
.lender-document-visual,.lender-coverage-visual,.lender-role-visual,.lender-experience-visual { margin-top:auto; }
.lender-document-visual { position:relative; min-height:58px; margin-top:1.2rem; padding:1rem 1rem .8rem 3.3rem; border:1px solid var(--mh-line); border-radius:10px; background:var(--mh-soft-warm); }
.lender-document-visual::before { position:absolute; top:.75rem; bottom:.75rem; left:1rem; width:1.65rem; border:1px solid rgba(108,15,43,.18); border-radius:4px; background:linear-gradient(135deg,#fff 72%,#eadde1 72%); content:""; }
.lender-document-visual > span { display:block; width:75%; height:3px; margin:.24rem 0; border-radius:99px; background:rgba(108,15,43,.16); }
.lender-document-visual > span:nth-child(2) { width:58%; }
.lender-document-visual > span:nth-child(3) { width:68%; }
.lender-document-visual strong { display:block; margin-top:.45rem; color:var(--mh-brand); font-size:.64rem; letter-spacing:.05em; text-transform:uppercase; }
.lender-coverage-visual { position:relative; display:grid; grid-template-columns:auto 1fr; gap:.2rem .65rem; align-items:end; margin-top:1rem; overflow:hidden; }
.lender-coverage-visual strong { z-index:1; grid-row:1 / 3; color:var(--mh-brand); font-size:clamp(3rem,4.5vw,4.6rem); line-height:.78; }
.lender-coverage-visual span { z-index:1; align-self:center; color:var(--mh-muted); font-size:.64rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.lender-coverage-visual i { position:absolute; right:-1rem; bottom:-1.2rem; width:7rem; height:4.5rem; border:1px solid rgba(111,141,61,.28); border-radius:50%; background:radial-gradient(circle at 30% 35%,rgba(111,141,61,.34) 0 3px,transparent 4px),radial-gradient(circle at 68% 46%,rgba(108,15,43,.35) 0 3px,transparent 4px),radial-gradient(circle at 48% 72%,rgba(111,141,61,.34) 0 3px,transparent 4px); transform:rotate(-8deg); }
.lender-role-visual { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:1.1rem; }
.lender-role-visual span { padding:.34rem .48rem; border:1px solid var(--mh-line); border-radius:999px; background:var(--mh-soft-green); color:var(--mh-ink); font-size:.59rem; font-weight:800; }
.lender-experience-visual { display:grid; grid-template-columns:auto 1fr auto 1fr auto; gap:.4rem; align-items:center; margin-top:1.2rem; }
.lender-experience-visual span { display:grid; min-height:34px; place-items:center; padding:.35rem; border-radius:999px; background:var(--mh-brand); color:#fff; font-size:.58rem; font-weight:850; }
.lender-experience-visual i { height:1px; background:linear-gradient(90deg,var(--mh-brand),var(--mh-green)); }
.lender-page--editorial .lender-estimator__panel--product { position:relative; min-height:690px; overflow:hidden; padding:0; }
.lender-page--editorial .lender-estimator__media { height:48%; overflow:hidden; margin:0; }
.lender-page--editorial .lender-estimator__media img { width:100%; height:100%; object-fit:cover; }
.lender-page--editorial .lender-estimator__media figcaption { position:absolute; top:1rem; left:1rem; padding:.5rem .75rem; border-radius:999px; background:rgba(17,19,24,.8); color:#fff; font-size:.72rem; font-weight:850; }
.lender-page--editorial .lender-estimator__screen { position:absolute; top:34%; right:6%; left:12%; z-index:2; box-shadow:var(--mh-shadow-lg); transform:rotate(-2deg); }
.lender-page--editorial .lender-price { margin:8.5rem 2rem 0; }
.lender-page--editorial .lender-estimator__facts { margin:1rem 2rem 2rem; }
.lender-page--editorial .lender-service-grid--connected { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
.lender-page--editorial .lender-service-grid--connected::before { content:""; position:absolute; top:3.15rem; left:16%; right:16%; height:2px; background:linear-gradient(90deg,var(--mh-brand),var(--mh-green)); }
.lender-page--editorial .lender-service-grid--connected .lender-service-card { position:relative; z-index:1; min-height:430px; display:flex; flex-direction:column; }
.lender-page--editorial .lender-service-card .btn { margin-top:auto; }
.lender-toolkit-outcome { display:grid; grid-template-columns:auto 1fr; gap:1.5rem; align-items:center; margin-top:1.2rem; padding:1.5rem 1.8rem; border-left:5px solid var(--mh-green); background:var(--mh-charcoal); color:#fff; box-shadow:var(--mh-shadow-md); }
.lender-toolkit-outcome > span { color:var(--mh-green); font-weight:900; letter-spacing:.1em; }
.lender-toolkit-outcome p { margin:0; color:rgba(255,255,255,.68); }

/* Contractors: physical project package, funded-work bento, and phase rail. */
.contractor-page--editorial .contractor-hero { padding-bottom:0; }
.contractor-page--editorial .contractor-hero__grid { grid-template-columns:minmax(0,.9fr) minmax(560px,1.1fr); min-height:760px; }
.contractor-page--editorial .contractor-hero__copy h1 { font-size:clamp(4.4rem,6vw,6.8rem); line-height:.89; }
.contractor-page--editorial .contractor-hero__visual { min-height:650px; }
.contractor-page--editorial .contractor-hero__image { inset:2% 2% 30% 20%; height:auto; border-radius:32px; transform:rotate(2deg); }
.contractor-page--editorial .contractor-hero__site { position:absolute; top:0; left:0; z-index:2; width:42%; height:46%; overflow:hidden; margin:0; border:7px solid #172329; border-radius:var(--mh-radius-lg); box-shadow:var(--mh-shadow-lg); transform:rotate(-4deg); }
.contractor-page--editorial .contractor-hero__site img { width:100%; height:100%; object-fit:cover; }
.contractor-page--editorial .contractor-hero__site figcaption { position:absolute; left:.8rem; bottom:.8rem; padding:.4rem .65rem; background:rgba(17,19,24,.85); color:#fff; font-size:.7rem; font-weight:850; text-transform:uppercase; }
.contractor-page--editorial .contractor-project-card { right:0; bottom:2%; left:12%; z-index:3; width:auto; transform:rotate(-1deg); }
.contractor-project-card__status { display:flex; justify-content:space-between; padding:1rem 1.35rem; border-top:1px solid var(--mh-line); background:var(--mh-soft-green); }
.contractor-project-card__status span { color:var(--mh-muted); font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; }
.contractor-page--editorial .contractor-hero__package { position:relative; z-index:4; display:grid; grid-template-columns:repeat(3,1fr) auto; gap:1rem; align-items:center; margin-top:-2rem; padding:1.25rem 1.5rem; border-radius:var(--mh-radius-md) var(--mh-radius-md) 0 0; background:#fff; box-shadow:var(--mh-shadow-lg); }
.contractor-page--editorial .contractor-hero__package span { padding-left:1rem; border-left:3px solid var(--mh-green); font-weight:750; }
.contractor-page--editorial .contractor-hero__package strong { color:var(--mh-brand); }
.contractor-page--editorial .contractor-benefit-grid--bento { display:grid; grid-template-columns:1.35fr .65fr; grid-template-rows:repeat(2,minmax(240px,auto)); gap:1.1rem; }
.contractor-page--editorial .contractor-benefit-card { margin:0; }
.contractor-page--editorial .contractor-benefit-card--feature { grid-row:1 / 3; position:relative; overflow:hidden; min-height:560px; padding-right:45%; background:linear-gradient(145deg,var(--mh-brand-dark),var(--mh-charcoal)); color:#fff; }
.contractor-page--editorial .contractor-benefit-card--feature p { color:rgba(255,255,255,.68); }
.contractor-page--editorial .contractor-benefit-card--feature figure { position:absolute; inset:0 0 0 58%; overflow:hidden; margin:0; }
.contractor-page--editorial .contractor-benefit-card--feature figure::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--mh-brand-dark),transparent 60%); }
.contractor-page--editorial .contractor-benefit-card--feature img { width:100%; height:100%; object-fit:cover; }
.contractor-page--editorial .contractor-benefit-card--funded { background:var(--mh-soft-green); }
.contractor-flow__chapters { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin:2.5rem 0 1rem; }
.contractor-flow__chapters span { display:flex; gap:.7rem; padding:1rem 1.2rem; border-bottom:3px solid rgba(255,255,255,.16); color:rgba(255,255,255,.62); font-weight:800; }
.contractor-flow__chapters b { color:var(--mh-green); }
.contractor-page--editorial .contractor-flow__list--editorial { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.contractor-page--editorial .contractor-flow__list--editorial li { min-height:220px; margin:0; padding:2rem; border:1px solid rgba(255,255,255,.13); border-radius:var(--mh-radius-lg); background:rgba(255,255,255,.055); transition:transform var(--mh-ease),background var(--mh-ease); }
.contractor-page--editorial .contractor-flow__list--editorial li:hover { background:rgba(255,255,255,.09); transform:translateY(-5px); }
.contractor-onboarding__workspace { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,5vw,5rem); align-items:stretch; }
.contractor-onboarding__media { position:relative; min-height:520px; overflow:hidden; margin:0; border-radius:var(--mh-radius-xl); box-shadow:var(--mh-shadow-lg); }
.contractor-onboarding__media img { width:100%; height:100%; object-fit:cover; }
.contractor-onboarding__media figcaption { position:absolute; right:1rem; bottom:1rem; left:1rem; display:grid; padding:1rem 1.1rem; border-left:4px solid var(--mh-green); background:rgba(255,255,255,.94); }
.contractor-onboarding__media figcaption span { color:var(--mh-muted); font-size:.82rem; }
.contractor-page--editorial .contractor-onboarding__list { grid-template-columns:1fr; }

/* Realtors: transformation first, then the buyer conversation. */
.realtor-page--editorial .realtor-hero { padding-bottom:0; }
.realtor-page--editorial .realtor-hero__grid { grid-template-columns:minmax(0,.78fr) minmax(620px,1.22fr); min-height:780px; }
.realtor-page--editorial .realtor-hero__copy h1 { font-size:clamp(4.8rem,6.5vw,7.5rem); line-height:.88; }
.realtor-page--editorial .realtor-hero__visual { position:relative; min-height:690px; }
.realtor-hero__transformation figure { position:absolute; overflow:hidden; margin:0; border-radius:var(--mh-radius-xl); box-shadow:var(--mh-shadow-lg); }
.realtor-hero__transformation figure:first-child { inset:0 31% 25% 0; transform:rotate(-3deg); }
.realtor-hero__transformation figure:nth-child(2) { top:8%; right:0; width:46%; height:50%; transform:rotate(3deg); }
.realtor-hero__transformation img { width:100%; height:100%; object-fit:cover; }
.realtor-hero__transformation figcaption { position:absolute; left:1rem; bottom:1rem; padding:.45rem .7rem; border-radius:999px; background:rgba(17,19,24,.82); color:#fff; font-size:.72rem; font-weight:850; }
.realtor-page--editorial .realtor-hero__story { position:absolute; right:2%; bottom:2%; z-index:3; width:min(68%,520px); transform:rotate(-1.5deg); }
.realtor-hero__formula { position:absolute; left:0; bottom:5%; z-index:4; display:flex; gap:.65rem; align-items:center; padding:1rem 1.2rem; border-left:4px solid var(--mh-green); background:#fff; box-shadow:var(--mh-shadow-lg); color:var(--mh-ink); }
.realtor-hero__formula span { color:var(--mh-brand); }
.realtor-hero__formula i { width:24px; height:1px; background:var(--mh-brand); }
.realtor-hero__formula b { color:var(--mh-brand); }
.realtor-page--editorial .realtor-hero__moment { position:relative; z-index:4; display:grid; grid-template-columns:auto 1fr auto 1fr auto; gap:1rem; align-items:center; margin-top:-2rem; padding:1.25rem 1.5rem; border-radius:var(--mh-radius-md) var(--mh-radius-md) 0 0; background:#fff; box-shadow:var(--mh-shadow-lg); }
.realtor-page--editorial .realtor-hero__moment i { height:1px; background:linear-gradient(90deg,var(--mh-brand),var(--mh-green)); }
.realtor-page--editorial .realtor-vision--editorial { min-height:690px; }
.realtor-vision__clarity { position:absolute; left:-7%; bottom:2%; z-index:4; max-width:430px; padding:1.5rem; border-left:5px solid var(--mh-green); background:var(--mh-charcoal); box-shadow:var(--mh-shadow-lg); color:#fff; }
.realtor-vision__clarity span { color:var(--mh-green); font-size:.72rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.realtor-vision__clarity strong { display:block; margin:.6rem 0; font-size:1.45rem; line-height:1.16; }
.realtor-vision__clarity p { margin:0; color:rgba(255,255,255,.62); font-size:.88rem; }
.realtor-page--editorial .realtor-estimator__visual--showcase { min-height:720px; }
.realtor-estimator__listing { position:absolute; top:0; left:-8%; width:48%; height:42%; overflow:hidden; margin:0; border:7px solid var(--mh-brand-dark); border-radius:var(--mh-radius-lg); box-shadow:var(--mh-shadow-lg); transform:rotate(-4deg); }
.realtor-estimator__listing img { width:100%; height:100%; object-fit:cover; }
.realtor-estimator__listing figcaption { position:absolute; left:.75rem; bottom:.75rem; padding:.4rem .6rem; background:rgba(255,255,255,.9); color:var(--mh-brand); font-size:.7rem; font-weight:850; }
.realtor-page--editorial .realtor-estimator__device { position:absolute; right:0; bottom:6%; width:72%; }
.realtor-page--editorial .realtor-price { z-index:3; }
.realtor-close__outcome { grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--mh-line); }
.realtor-close__outcome span { padding:1.2rem; background:#fff; color:var(--mh-brand); font-weight:850; text-align:center; }

/* Consultants: career expansion as a visual service line. */
.hud-consultant-page--editorial .hc-hero { padding-bottom:0; }
.hud-consultant-page--editorial .hc-hero__inner { grid-template-columns:minmax(0,.9fr) minmax(600px,1.1fr); min-height:760px; }
.hud-consultant-page--editorial .hc-hero__copy h1 { font-size:clamp(4.5rem,6.3vw,7rem); line-height:.89; }
.hud-consultant-page--editorial .hc-hero__visual { position:relative; min-height:660px; margin:0; }
.hud-consultant-page--editorial .hc-hero__primary { position:absolute; inset:0 22% 10% 0; overflow:hidden; margin:0; border-radius:32px; box-shadow:var(--mh-shadow-lg); transform:rotate(-2deg); }
.hud-consultant-page--editorial .hc-hero__secondary { position:absolute; top:7%; right:0; z-index:2; width:38%; height:42%; overflow:hidden; margin:0; border:7px solid var(--mh-charcoal); border-radius:var(--mh-radius-lg); box-shadow:var(--mh-shadow-lg); transform:rotate(4deg); }
.hud-consultant-page--editorial .hc-hero__visual img { width:100%; height:100%; object-fit:cover; }
.hc-hero__income,.hc-hero__training { position:absolute; z-index:3; display:grid; padding:1rem 1.15rem; background:#fff; color:var(--mh-ink); box-shadow:var(--mh-shadow-lg); }
.hc-hero__income { right:0; bottom:16%; max-width:280px; border-left:4px solid var(--mh-green); }
.hc-hero__training { left:-5%; bottom:4%; border-left:4px solid var(--mh-brand); }
.hc-hero__income span,.hc-hero__training span { color:var(--mh-muted); font-size:.75rem; }
.hc-hero__training strong { color:var(--mh-brand); font-size:1.35rem; }
.hc-hero__path { position:relative; z-index:4; display:grid; grid-template-columns:auto 1fr auto 1fr auto; gap:1rem; align-items:center; margin-top:-2rem; padding:1.25rem 1.5rem; border-radius:var(--mh-radius-md) var(--mh-radius-md) 0 0; background:#fff; box-shadow:var(--mh-shadow-lg); }
.hc-hero__path i { height:1px; background:linear-gradient(90deg,var(--mh-brand),var(--mh-green)); }
.hud-consultant-page--editorial .hc-benefit-grid--bento { display:grid; grid-template-columns:1.2fr .8fr; grid-template-rows:repeat(3,minmax(190px,auto)); gap:1rem; }
.hud-consultant-page--editorial .hc-benefit-grid--bento .hc-card { margin:0; }
.hud-consultant-page--editorial .hc-card--income { grid-row:1 / 4; display:flex; flex-direction:column; min-height:610px; padding:clamp(2rem,4vw,4rem); background:linear-gradient(145deg,var(--mh-brand),var(--mh-brand-dark)); color:#fff; }
.hud-consultant-page--editorial .hc-card--income p { color:rgba(255,255,255,.68); }
.hc-card__statement { margin-top:auto; padding-top:2rem; border-top:1px solid rgba(255,255,255,.16); font-size:clamp(1.6rem,3vw,2.7rem); line-height:1.02; }
.hud-consultant-page--editorial .hc-card--referrals { background:var(--mh-soft-green); }
.hc-process__media { display:grid; grid-template-columns:300px 1fr; gap:2rem; align-items:center; margin:2.5rem 0 1rem; }
.hc-process__media figure { overflow:hidden; height:230px; margin:0; border-radius:var(--mh-radius-lg); }
.hc-process__media img { width:100%; height:100%; object-fit:cover; }
.hc-process__media > div { display:grid; grid-template-columns:auto 1fr auto 1fr auto; gap:.8rem; align-items:center; color:rgba(255,255,255,.7); font-weight:800; }
.hc-process__media i { height:1px; background:linear-gradient(90deg,var(--mh-green),rgba(255,255,255,.15)); }
.hud-consultant-page--editorial .hc-steps--connected { position:relative; }
.hud-consultant-page--editorial .hc-steps--connected::before { content:""; position:absolute; top:3rem; left:12%; right:12%; height:2px; background:linear-gradient(90deg,var(--mh-green),var(--mh-brand)); }
.hud-consultant-page--editorial .hc-steps--connected > li { position:relative; z-index:1; }
.hud-consultant-page--editorial .hc-training__grid--editorial { grid-template-columns:.86fr 1.14fr; }
.hc-learning-path__media { position:relative; height:310px; overflow:hidden; margin:-1.5rem -1.5rem 1.5rem; border-radius:var(--mh-radius-lg) var(--mh-radius-lg) 0 0; }
.hc-learning-path__media img { width:100%; height:100%; object-fit:cover; }
.hc-learning-path__media figcaption { position:absolute; left:1rem; bottom:1rem; padding:.5rem .75rem; background:rgba(17,19,24,.84); color:#fff; font-size:.75rem; font-weight:850; }
.hud-consultant-page--editorial .hc-role-grid--editorial { grid-template-columns:1.25fr .75fr .75fr; }
.hud-consultant-page--editorial .hc-role-card--inspector { min-height:430px; display:flex; flex-direction:column; background:linear-gradient(145deg,var(--mh-charcoal),#283024); color:#fff; }
.hud-consultant-page--editorial .hc-role-card--inspector p { margin-top:auto; color:rgba(255,255,255,.64); }

/* How it works: one journey with three chapters and alternating stages. */
.how-page--editorial .how-hero { min-height:760px; }
.how-page--editorial .how-hero__inner--journey { display:grid; grid-template-columns:1fr minmax(360px,.7fr); gap:clamp(3rem,8vw,8rem); align-items:center; min-height:760px; text-align:left; }
.how-page--editorial .how-hero__copy h1 { max-width:850px; font-size:clamp(5rem,7.4vw,8.2rem); line-height:.87; }
.how-page--editorial .how-hero__copy > p:not(.home-kicker) { max-width:650px; }
.how-hero__map { padding:clamp(1.6rem,3vw,2.6rem); border:1px solid rgba(255,255,255,.17); border-radius:var(--mh-radius-xl); background:rgba(17,19,24,.72); box-shadow:var(--mh-shadow-lg); backdrop-filter:blur(16px); transform:rotate(2deg); }
.how-hero__map ol { padding:0; margin:0; list-style:none; }
.how-hero__map li { display:grid; grid-template-columns:42px 1fr; gap:.15rem 1rem; padding:1.15rem 0; border-bottom:1px solid rgba(255,255,255,.14); }
.how-hero__map li span { grid-row:1 / 3; color:var(--mh-green); font-weight:900; }
.how-hero__map li strong { font-size:1.15rem; }
.how-hero__map li small { color:rgba(255,255,255,.57); }
.how-hero__map > div { display:flex; justify-content:space-between; margin-top:1.3rem; color:var(--mh-green); font-size:.76rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.process-phase-rail { position:sticky; top:6rem; z-index:5; display:grid; grid-template-columns:repeat(3,1fr); margin:3rem 0 4rem; border-radius:var(--mh-radius-md); background:var(--mh-charcoal); box-shadow:var(--mh-shadow-md); }
.process-phase-rail a { display:flex; gap:.8rem; justify-content:center; padding:1rem; color:#fff; font-weight:850; text-decoration:none; }
.process-phase-rail span { color:var(--mh-green); }
.how-page--editorial .process-timeline--editorial { display:grid; gap:clamp(4rem,8vw,8rem); }
.how-page--editorial .process-timeline--editorial::before { left:50%; width:2px; background:linear-gradient(var(--mh-brand),var(--mh-green),var(--mh-brand)); }
.how-page--editorial .process-step { padding:0; }
.how-page--editorial .process-step__marker { left:50%; transform:translateX(-50%); }
.how-page--editorial .process-step__card { width:calc(100% - 7rem); margin-right:auto; grid-template-columns:1.05fr .95fr; overflow:hidden; border-radius:var(--mh-radius-xl); box-shadow:var(--mh-shadow-lg); }
.how-page--editorial .process-step--reverse .process-step__card { margin-right:0; margin-left:auto; }
.how-page--editorial .process-step--reverse .process-step__image { order:2; }
.how-page--editorial .process-step--reverse .process-step__body { order:1; }
.how-page--editorial .process-step__image { min-height:520px; height:100%; object-fit:cover; }
.how-page--editorial .process-step__body { padding:clamp(2rem,5vw,4.5rem); }
.process-step__chapter { display:inline-flex; margin-bottom:1rem; padding:.4rem .7rem; border-radius:999px; background:rgba(111,141,61,.12); color:var(--mh-green); font-size:.7rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.how-page--editorial .process-step--assemble .process-step__card { background:linear-gradient(135deg,var(--mh-soft-green),#fff); }
.how-page--editorial .process-step--execute .process-step__card { background:var(--mh-charcoal); color:#fff; }
.how-page--editorial .process-step--execute .process-step__body > p { color:rgba(255,255,255,.65); }

/* About: origin story, brand system, and ecosystem made visible. */
.about-page--editorial .about-hero { padding-bottom:0; }
.about-page--editorial .about-hero__grid { grid-template-columns:minmax(0,.74fr) minmax(620px,1.26fr); min-height:760px; }
.about-page--editorial .about-hero__copy h1 { font-size:clamp(4.8rem,6.7vw,7.5rem); line-height:.88; }
.about-page--editorial .about-hero__visual { position:relative; min-height:690px; }
.about-page--editorial .about-hero__primary { position:absolute; inset:0 10% 8% 0; overflow:hidden; margin:0; border-radius:32px; box-shadow:var(--mh-shadow-lg); }
.about-page--editorial .about-hero__primary img { width:100%; height:100%; object-fit:cover; }
.about-page--editorial .about-hero__inset { position:absolute; top:8%; right:0; z-index:2; width:38%; height:38%; overflow:hidden; margin:0; border:7px solid var(--mh-charcoal); border-radius:var(--mh-radius-lg); box-shadow:var(--mh-shadow-lg); transform:rotate(4deg); }
.about-page--editorial .about-hero__inset img { width:100%; height:100%; object-fit:cover; }
.about-hero__principle { position:absolute; right:0; bottom:5%; z-index:3; max-width:360px; display:grid; gap:.35rem; padding:1.3rem 1.5rem; border-left:5px solid var(--mh-green); background:#fff; box-shadow:var(--mh-shadow-lg); color:var(--mh-ink); }
.about-hero__principle span { color:var(--mh-brand); font-size:.7rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.about-page--editorial .about-hero__system { position:relative; z-index:4; display:grid; grid-template-columns:auto 1fr auto 1fr auto; gap:1rem; align-items:center; margin-top:-2rem; padding:1.25rem 1.5rem; border-radius:var(--mh-radius-md) var(--mh-radius-md) 0 0; background:#fff; box-shadow:var(--mh-shadow-lg); font-weight:850; }
.about-page--editorial .about-hero__system i { height:1px; background:linear-gradient(90deg,var(--mh-brand),var(--mh-green)); }
.about-story__visual--layered { min-height:650px; }
.about-story__marker { position:absolute; top:1.5rem; left:-1.5rem; padding:.65rem .85rem; border-radius:999px; background:var(--mh-brand); box-shadow:var(--mh-shadow-brand); color:#fff; font-size:.72rem; font-weight:850; }
.about-story__chapters { display:grid; margin:2rem 0; border-top:1px solid var(--mh-line); }
.about-story__chapters article { display:grid; grid-template-columns:48px 1fr; gap:1rem; padding:1.35rem 0; border-bottom:1px solid var(--mh-line); }
.about-story__chapters article > span { color:var(--mh-green); font-size:.76rem; font-weight:900; }
.about-story__chapters h3 { margin:0 0 .4rem; font-size:1.25rem; }
.about-story__chapters p { margin:0; color:var(--mh-muted); }
.about-belief__manifesto { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:2rem; }
.about-belief__manifesto span { padding:.75rem 1rem; border:1px solid rgba(255,255,255,.16); border-radius:999px; color:var(--mh-green); font-weight:900; }
.about-ecosystem { display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr auto; gap:1rem; align-items:center; margin:2.5rem 0 1.2rem; padding:1.4rem; border-radius:var(--mh-radius-md); background:var(--mh-charcoal); box-shadow:var(--mh-shadow-md); color:#fff; font-weight:850; }
.about-ecosystem i { height:1px; background:linear-gradient(90deg,var(--mh-brand),var(--mh-green)); }
.about-page--editorial .about-capability-grid--ecosystem { grid-template-columns:repeat(12,1fr); }
.about-page--editorial .about-capability-grid--ecosystem article { grid-column:span 4; }
.about-page--editorial .about-capability-grid--ecosystem .about-capability-card--feature { grid-column:span 8; background:linear-gradient(145deg,var(--mh-brand),var(--mh-brand-dark)); color:#fff; }
.about-page--editorial .about-capability-grid--ecosystem .about-capability-card--feature p { color:rgba(255,255,255,.68); }
.about-page--editorial .about-capability-card--estimate { background:var(--mh-soft-green); }

/* Shared responsive composition rules. */
@media (max-width:1199.98px) {
  .lender-page--editorial .lender-hero__grid,
  .contractor-page--editorial .contractor-hero__grid,
  .realtor-page--editorial .realtor-hero__grid,
  .hud-consultant-page--editorial .hc-hero__inner,
  .about-page--editorial .about-hero__grid { grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr); }
  .realtor-page--editorial .realtor-hero__grid { grid-template-columns:minmax(0,.8fr) minmax(540px,1.2fr); }
  .lender-page--editorial .lender-hero__copy h1,
  .contractor-page--editorial .contractor-hero__copy h1,
  .realtor-page--editorial .realtor-hero__copy h1,
  .hud-consultant-page--editorial .hc-hero__copy h1,
  .about-page--editorial .about-hero__copy h1 { font-size:clamp(4rem,6vw,5.7rem); }
}

@media (max-width:991.98px) {
  .lender-page--editorial .lender-hero__grid,
  .contractor-page--editorial .contractor-hero__grid,
  .realtor-page--editorial .realtor-hero__grid,
  .hud-consultant-page--editorial .hc-hero__inner,
  .about-page--editorial .about-hero__grid,
  .how-page--editorial .how-hero__inner--journey { grid-template-columns:1fr; padding-top:5rem; padding-bottom:5rem; }
  .lender-page--editorial .lender-hero__visual,
  .contractor-page--editorial .contractor-hero__visual,
  .realtor-page--editorial .realtor-hero__visual,
  .hud-consultant-page--editorial .hc-hero__visual,
  .about-page--editorial .about-hero__visual { min-height:620px; }
  .lender-page--editorial .lender-benefit-grid--bento .lender-benefit-card { grid-column:span 6; }
  .lender-page--editorial .lender-benefit-grid--bento .lender-benefit-card--feature { grid-column:span 12!important; min-height:300px; }
  .lender-page--editorial .lender-benefit-card--coverage { grid-column:span 6!important; grid-row:span 1; }
  .lender-page--editorial .lender-benefit-grid--bento .lender-benefit-card:last-child { grid-column:span 12; }
  .lender-page--editorial .lender-service-grid--connected { grid-template-columns:1fr; }
  .lender-page--editorial .lender-service-grid--connected::before { display:none; }
  .contractor-onboarding__workspace { grid-template-columns:1fr; }
  .contractor-onboarding__media { min-height:440px; }
  .hud-consultant-page--editorial .hc-training__grid--editorial { grid-template-columns:1fr; }
  .hud-consultant-page--editorial .hc-role-grid--editorial { grid-template-columns:1fr 1fr; }
  .hud-consultant-page--editorial .hc-role-card--inspector { grid-column:1 / -1; }
  .how-page--editorial .how-hero__inner--journey { min-height:760px; }
  .how-page--editorial .process-timeline--editorial::before { left:2rem; }
  .how-page--editorial .process-step__marker { left:2rem; }
  .how-page--editorial .process-step__card { width:calc(100% - 5rem); margin-left:5rem!important; grid-template-columns:1fr; }
  .how-page--editorial .process-step--reverse .process-step__image { order:1; }
  .how-page--editorial .process-step--reverse .process-step__body { order:2; }
  .how-page--editorial .process-step__image { min-height:420px; }
  .about-page--editorial .about-capability-grid--ecosystem article,
  .about-page--editorial .about-capability-grid--ecosystem .about-capability-card--feature { grid-column:span 6; }
}

@media (max-width:767.98px) {
  .lender-page--editorial .lender-hero__copy h1,
  .contractor-page--editorial .contractor-hero__copy h1,
  .realtor-page--editorial .realtor-hero__copy h1,
  .hud-consultant-page--editorial .hc-hero__copy h1,
  .about-page--editorial .about-hero__copy h1,
  .how-page--editorial .how-hero__copy h1 { font-size:clamp(3.5rem,12vw,5rem); }
  .lender-page--editorial .lender-hero__continuum,
  .contractor-page--editorial .contractor-hero__package,
  .realtor-page--editorial .realtor-hero__moment,
  .hc-hero__path,
  .about-page--editorial .about-hero__system { grid-template-columns:1fr; gap:.55rem; margin-top:-1rem; }
  .lender-page--editorial .lender-hero__continuum i,
  .realtor-page--editorial .realtor-hero__moment i,
  .hc-hero__path i,
  .about-page--editorial .about-hero__system i { width:48px; }
  .contractor-page--editorial .contractor-hero__package span { padding:.45rem 0 .45rem .8rem; }
  .contractor-page--editorial .contractor-benefit-grid--bento,
  .hud-consultant-page--editorial .hc-benefit-grid--bento { grid-template-columns:1fr; grid-template-rows:auto; }
  .contractor-page--editorial .contractor-benefit-card--feature,
  .hud-consultant-page--editorial .hc-card--income { grid-row:auto; min-height:520px; }
  .contractor-page--editorial .contractor-benefit-card--feature { padding-right:2rem; padding-bottom:48%; }
  .contractor-page--editorial .contractor-benefit-card--feature figure { inset:55% 0 0; }
  .contractor-flow__chapters { grid-template-columns:1fr; }
  .contractor-page--editorial .contractor-flow__list--editorial { grid-template-columns:1fr; }
  .realtor-vision__clarity { left:0; }
  .hc-process__media { grid-template-columns:1fr; }
  .hc-process__media > div { grid-template-columns:1fr; }
  .hc-process__media i { width:45px; }
  .hud-consultant-page--editorial .hc-steps--connected::before { display:none; }
  .process-phase-rail { position:static; grid-template-columns:1fr; }
  .how-page--editorial .process-step__image { min-height:320px; }
  .about-ecosystem { grid-template-columns:1fr; }
  .about-ecosystem i { width:45px; }
}

@media (max-width:575.98px) {
  .lender-page--editorial .lender-hero__visual,
  .contractor-page--editorial .contractor-hero__visual,
  .realtor-page--editorial .realtor-hero__visual,
  .hud-consultant-page--editorial .hc-hero__visual,
  .about-page--editorial .about-hero__visual { min-height:470px; }
  .lender-page--editorial .lender-hero__photo { inset:0 5% 16% 5%; }
  .lender-page--editorial .lender-workflow { width:86%; }
  .lender-page--editorial .lender-hero__file-proof { display:none; }
  .lender-page--editorial .lender-benefit-grid--bento .lender-benefit-card,
  .lender-page--editorial .lender-benefit-card--coverage,
  .about-page--editorial .about-capability-grid--ecosystem article,
  .about-page--editorial .about-capability-grid--ecosystem .about-capability-card--feature { grid-column:span 12!important; }
  .lender-page--editorial .lender-benefit-grid--bento .lender-benefit-card--feature { min-height:0; grid-template-columns:1fr; grid-template-rows:auto; padding:1.5rem; }
  .lender-page--editorial .lender-benefit-card__visual { grid-column:1; grid-row:auto; width:auto; height:auto; padding:1.1rem 0 0; }
  .lender-page--editorial .lender-benefit-card__visual li,
  .lender-page--editorial .lender-benefit-card__visual li:nth-child(2),
  .lender-page--editorial .lender-benefit-card__visual li:nth-child(3) { opacity:1; transform:none; }
  .lender-toolkit-outcome { grid-template-columns:1fr; }
  .contractor-page--editorial .contractor-hero__image { inset:0 0 34% 12%; }
  .contractor-page--editorial .contractor-hero__site { width:40%; height:36%; border-width:4px; }
  .contractor-page--editorial .contractor-project-card { left:2%; }
  .realtor-hero__transformation figure:first-child { inset:0 25% 26% 0; }
  .realtor-hero__transformation figure:nth-child(2) { width:48%; height:42%; }
  .realtor-page--editorial .realtor-hero__story { width:90%; }
  .realtor-hero__formula { display:none; }
  .realtor-estimator__listing { left:0; width:42%; height:34%; border-width:4px; }
  .realtor-page--editorial .realtor-estimator__device { width:88%; }
  .hud-consultant-page--editorial .hc-hero__primary { inset:0 5% 10% 0; }
  .hud-consultant-page--editorial .hc-hero__secondary { width:36%; height:34%; border-width:4px; }
  .hc-hero__income { max-width:220px; }
  .hc-hero__training { display:none; }
  .hud-consultant-page--editorial .hc-role-grid--editorial { grid-template-columns:1fr; }
  .hud-consultant-page--editorial .hc-role-card--inspector { grid-column:auto; }
  .how-page--editorial .process-timeline--editorial::before { left:1rem; }
  .how-page--editorial .process-step__marker { left:1rem; }
  .how-page--editorial .process-step__card { width:calc(100% - 2.5rem); margin-left:2.5rem!important; }
  .about-page--editorial .about-hero__primary { inset:0 0 8%; }
  .about-page--editorial .about-hero__inset { width:36%; height:32%; border-width:4px; }
  .about-hero__principle { right:.5rem; left:.5rem; max-width:none; }
  .about-story__marker { left:.5rem; }
}

@media (prefers-reduced-motion:reduce) {
  .contractor-page--editorial .contractor-flow__list--editorial li { transition:none; }
  .contractor-page--editorial .contractor-flow__list--editorial li:hover { transform:none; }
}

/* --------------------------------------------------------------------------
   Internal page compositions
   These primitives extend the approved home-page language to persona,
   functional, editorial, legal, and recovery pages without forcing one
   universal template on every route.
   -------------------------------------------------------------------------- */

.inner-journey {
  position: relative;
  overflow: hidden;
  padding: var(--mh-section-space) 0;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    radial-gradient(circle at 12% 20%, rgba(108,15,43,.32), transparent 32%),
    radial-gradient(circle at 88% 78%, rgba(111,141,61,.17), transparent 28%),
    var(--mh-charcoal);
  background-size: 84px 84px, 84px 84px, auto, auto, auto;
  color: #fff;
}

.mh2-persona-story { overflow: hidden; }

.inner-journey__grid {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: clamp(3.5rem, 7vw, 7.5rem);
  align-items: center;
}

.inner-journey__grid--reverse .inner-journey__visual { order: 2; }
.inner-journey__grid--reverse .inner-journey__content { order: 1; }
.inner-journey__content h2 { max-width: 760px; margin: 1rem 0 1.35rem; font-size: clamp(3rem, 5vw, 5.4rem); line-height: .96; }
.inner-journey__content > p:not(.home-kicker) { max-width: 680px; color: rgba(255,255,255,.68); font-size: clamp(1.05rem, 1.5vw, 1.22rem); }
.inner-journey__visual { position: relative; min-height: 580px; }
.inner-journey__visual > figure:first-child { position: absolute; inset: 0 10% 0 0; overflow: hidden; margin: 0; border-radius: var(--mh-radius-xl); box-shadow: var(--mh-shadow-lg); }
.inner-journey__visual img { width: 100%; height: 100%; object-fit: cover; }
.inner-journey__inset { position: absolute; right: 0; bottom: 9%; width: 42%; height: 38%; overflow: hidden; margin: 0; border: 7px solid var(--mh-charcoal); border-radius: var(--mh-radius-lg); box-shadow: var(--mh-shadow-lg); transform: rotate(3deg); }
.inner-journey__stamp { position: absolute; right: 0; top: 8%; max-width: 250px; display: grid; gap: .2rem; padding: 1.15rem 1.35rem; border-left: 4px solid var(--mh-green); border-radius: var(--mh-radius-sm); background: #fff; box-shadow: var(--mh-shadow-lg); color: var(--mh-ink); }
.inner-journey__stamp strong { font-size: 1rem; }
.inner-journey__stamp span { color: var(--mh-muted); font-size: .8rem; line-height: 1.4; }
.inner-journey__steps { display: grid; gap: 0; padding: 0; margin: 2.2rem 0; list-style: none; border-top: 1px solid rgba(255,255,255,.16); }
.inner-journey__steps li { display: grid; grid-template-columns: 58px 1fr; gap: 1.1rem; padding: 1.35rem 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.inner-journey__steps li > span { color: var(--mh-green); font-weight: 900; letter-spacing: .08em; }
.inner-journey__steps h3 { margin: 0 0 .25rem; font-size: 1.18rem; }
.inner-journey__steps p { margin: 0; color: rgba(255,255,255,.62); font-size: .94rem; }

.inner-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(5rem, 9vw, 8.5rem) 0;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    radial-gradient(circle at 14% 20%, rgba(108,15,43,.36), transparent 34%),
    linear-gradient(130deg, #111318, #1b2023);
  background-size: 86px 86px, 86px 86px, auto, auto;
  color: #fff;
}

.inner-hero::after { content: ""; position: absolute; right: -14rem; top: -18rem; width: 42rem; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 6rem rgba(255,255,255,.02), 0 0 0 12rem rgba(255,255,255,.015); }
.inner-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.inner-hero__copy h1 { max-width: 920px; margin: 1.15rem 0 1.5rem; font-size: clamp(3.6rem, 6.2vw, 6.8rem); line-height: .91; }
.inner-hero__copy > p:not(.home-kicker) { max-width: 720px; color: rgba(255,255,255,.7); font-size: clamp(1.08rem, 1.55vw, 1.28rem); }
.inner-hero__copy .btn { margin-top: 1.25rem; }

.faq-hero-map { padding: clamp(1.8rem, 3vw, 2.7rem); border: 1px solid rgba(255,255,255,.15); border-radius: var(--mh-radius-xl); background: rgba(255,255,255,.065); box-shadow: var(--mh-shadow-lg); backdrop-filter: blur(18px); transform: rotate(1.5deg); }
.faq-hero-map > p { margin: 0 0 1.15rem; color: rgba(255,255,255,.54); font-size: .78rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.faq-hero-map ol { padding: 0; margin: 0 0 1.5rem; list-style: none; }
.faq-hero-map li { display: grid; grid-template-columns: 44px 1fr; gap: .8rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.faq-hero-map li span { color: var(--mh-green); font-size: .78rem; font-weight: 900; }
.faq-hero-map a { color: #fff; font-size: .9rem; font-weight: 850; text-decoration: none; }
.faq-hero-map a span { display: inline-block; transition: transform var(--mh-ease); }
.faq-hero-map a:hover span { transform: translateX(.35rem); }
.faq-workspace { padding: var(--mh-section-space) 0; background: linear-gradient(135deg, var(--mh-soft-green), var(--mh-soft) 52%, #fff); }
.faq-workspace__grid { display: grid; grid-template-columns: minmax(260px, .55fr) minmax(0, 1.45fr); gap: clamp(3rem, 7vw, 7rem); align-items: start; }
.faq-workspace__intro { position: sticky; top: 8rem; }
.faq-workspace__intro h2 { margin: 1rem 0 1.25rem; font-size: clamp(2.7rem, 4.2vw, 4.5rem); }
.faq-workspace__intro > p:not(.home-kicker) { color: var(--mh-muted); font-size: 1.05rem; }
.faq-workspace__note { display: grid; gap: .55rem; margin-top: 2rem; padding: 1.5rem; border-left: 4px solid var(--mh-green); background: #fff; box-shadow: var(--mh-shadow-sm); }
.faq-workspace__note span { color: var(--mh-muted); font-size: .9rem; }
.faq-workspace__note a { color: var(--mh-brand); font-weight: 850; text-decoration: none; }
.faq-workspace .faq-accordion .accordion-item { overflow: hidden; margin-bottom: .9rem; border: 1px solid var(--mh-line); border-radius: var(--mh-radius-md); box-shadow: var(--mh-shadow-sm); transition: transform var(--mh-ease), box-shadow var(--mh-ease), border-color var(--mh-ease); }
.faq-workspace .faq-accordion .accordion-item:hover { border-color: rgba(108,15,43,.28); box-shadow: var(--mh-shadow-md); transform: translateY(-3px); }

.contact-connection { position: relative; isolation: isolate; min-width: 0; padding: clamp(1.2rem, 2.4vw, 2rem); border: 1px solid rgba(255,255,255,.18); border-radius: var(--mh-radius-xl); background: radial-gradient(ellipse at top right, rgba(111,141,61,.2), transparent 65%), #242a29; box-shadow: var(--mh-shadow-lg); }
.contact-connection__heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 2rem; color: #e6e9dd; font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.contact-connection__heading > span:last-child { font-size: 1.6rem; line-height: 1; }
.contact-connection__audiences { display: flex; justify-content: center; flex-wrap: wrap; gap: .55rem; }
.contact-connection__audiences span { padding: .45rem .8rem; border: 1px solid #626d5a; border-radius: 999px; background: #343d31; color: #f1f2eb; font-size: .78rem; }
.contact-connection__path { position: relative; height: 2.5rem; width: 64%; margin: .8rem auto 0; border: solid #85966f; border-width: 0 1px 1px; border-radius: 0 0 1rem 1rem; }
.contact-connection__path::after { content: ""; position: absolute; top: 100%; left: 50%; height: 1.25rem; border-left: 1px solid #85966f; }
.contact-connection__path span { position: absolute; left: calc(50% - 4px); bottom: -4px; width: 8px; height: 8px; border-radius: 50%; background: #c6d2b0; }
.contact-connection__conversation { position: relative; margin: 1.25rem .6rem 0 -.6rem; padding: clamp(1.25rem, 2.4vw, 2rem); border-radius: 1.1rem 1.1rem 1.1rem .2rem; background: #faf9f5; color: #24282a; box-shadow: 0 16px 36px rgba(0,0,0,.22); }
.contact-connection__conversation svg { width: 36px; height: 36px; margin-bottom: 1rem; color: var(--mh-brand); }
.contact-connection__label { display: block; margin: 0 0 .65rem; font-size: .65rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.contact-connection__conversation h2 { margin: 0 0 .9rem; color: #24282a; font-size: clamp(1.8rem, 2.6vw, 2.6rem); line-height: 1.03; letter-spacing: -.04em; text-wrap: balance; }
.contact-connection__conversation > p:last-child { margin: 0; color: #555b57; font-size: .95rem; }
.contact-connection__next { display: flex; align-items: center; gap: .9rem; margin: 1.25rem 0 0 1rem; padding: 1rem; border: 1px solid #727c60; border-radius: .8rem; background: #343d31; color: #f1f2eb; }
.contact-connection__next-icon { display: grid; place-items: center; flex: 0 0 2rem; height: 2rem; border-radius: 50%; background: #e3e8d7; color: #35402e; font-size: 1.4rem; }
.contact-connection__next .contact-connection__label { margin-bottom: .25rem; color: #d6dfc7; }
.contact-connection__next strong { display: block; font-size: .86rem; line-height: 1.4; }
.contact-hero__proof { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.5rem; }
.contact-hero__proof span { padding: .45rem .75rem; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: rgba(255,255,255,.72); font-size: .78rem; font-weight: 750; }
.contact-workspace { padding: var(--mh-section-space) 0; background: linear-gradient(130deg, var(--mh-soft-green), #fff 55%, var(--mh-soft-warm)); }
.contact-workspace__heading { max-width: 860px; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.contact-workspace__heading h2 { margin: 1rem 0 1rem; font-size: clamp(3rem, 5vw, 5.2rem); }
.contact-workspace__heading > p:not(.home-kicker) { color: var(--mh-muted); font-size: 1.08rem; }
.contact-workspace .contact-grid { overflow: hidden; border-radius: var(--mh-radius-xl); }
.contact-form__status { grid-column: 1 / -1; color: var(--mh-ink); }
.contact-form__status:empty { display: none; }
.contact-form__status:not(:empty) { padding: 1rem; border-left: 3px solid var(--mh-green); background: var(--mh-soft-green); border-radius: .5rem; }
.contact-form__status p { margin: .25rem 0 0; }
.contact-form .field-validation-error { color: var(--mh-brand); font-size: .85rem; }
.contact-form input, .contact-form textarea { min-width: 0; max-width: 100%; }
.contact-form button:disabled { opacity: .65; cursor: wait; }
.contact-workspace .contact-panel { border-radius: 0; background: linear-gradient(155deg, var(--mh-brand), var(--mh-brand-dark)); }
.contact-workspace .contact-form { border: 0; border-radius: 0; background: #fff; }
.contact-workspace .contact-form :is(input, textarea) { border-radius: var(--mh-radius-sm); transition: border-color var(--mh-ease), box-shadow var(--mh-ease), transform var(--mh-ease); }
.contact-workspace .contact-form :is(input, textarea):focus { border-color: var(--mh-brand); box-shadow: 0 0 0 4px rgba(108,15,43,.1); transform: translateY(-1px); }

.hud-finder__path { display: flex; gap: 0; max-width: 540px; padding: 0; margin: 2.2rem 0 0; list-style: none; }
.hud-finder__path li { position: relative; flex: 1; display: grid; gap: .2rem; color: rgba(255,255,255,.42); }
.hud-finder__path li:not(:last-child)::after { content: ""; position: absolute; top: .72rem; left: 2rem; right: .8rem; height: 1px; background: rgba(255,255,255,.18); }
.hud-finder__path span { color: inherit; font-size: .72rem; font-weight: 900; letter-spacing: .08em; }
.hud-finder__path strong { font-size: .8rem; }
.hud-finder__path .is-current { color: var(--mh-green); }
.hud-education__story { display: grid; align-content: start; }
.hud-education__media { position: relative; overflow: hidden; height: 390px; margin: 2rem 0 0; border-radius: var(--mh-radius-xl); box-shadow: var(--mh-shadow-lg); }
.hud-education__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 280ms ease; }
.hud-education__media:hover img { transform: scale(1.035); }
.hud-education__media figcaption { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; display: grid; gap: .15rem; padding: 1rem 1.1rem; border-left: 4px solid var(--mh-green); border-radius: var(--mh-radius-sm); background: rgba(255,255,255,.94); box-shadow: var(--mh-shadow-sm); }
.hud-education__media figcaption span { color: var(--mh-muted); font-size: .84rem; }
.hud-finder__support-grid { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; }
.hud-finder__support-grid a { color: inherit; font-weight: 850; text-decoration: none; white-space: nowrap; }
.hud-finder__support-grid a span { display: inline-block; transition: transform var(--mh-ease); }
.hud-finder__support-grid a:hover span { transform: translateX(.35rem); }

/* HUD finder guidance, fee tools, and timeline */
.hud-guidance {
  position: relative;
  padding: var(--mh-section-space) 0;
  background:
    linear-gradient(rgba(108, 15, 43, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(108, 15, 43, .035) 1px, transparent 1px),
    linear-gradient(135deg, var(--mh-soft-green), #fff 54%, var(--mh-soft-warm));
  background-size: 64px 64px, 64px 64px, auto;
}

.hud-guidance__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: stretch;
}

.hud-cost-card,
.hud-payment-card {
  min-width: 0;
  padding: clamp(2rem, 4vw, 3.6rem);
  border-radius: var(--mh-radius-xl);
  box-shadow: var(--mh-shadow-lg);
}

.hud-cost-card {
  border: 1px solid rgba(108, 15, 43, .12);
  background: rgba(255, 255, 255, .96);
  color: var(--mh-ink);
}

.hud-payment-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .1);
  background:
    radial-gradient(circle at 88% 12%, rgba(111, 141, 61, .2), transparent 30%),
    linear-gradient(145deg, var(--mh-brand-dark), #25161c 58%, var(--mh-charcoal));
  color: #fff;
}

.hud-payment-card::after {
  position: absolute;
  right: -7rem;
  bottom: -8rem;
  width: 18rem;
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 50%;
  box-shadow: 0 0 0 3rem rgba(255, 255, 255, .018), 0 0 0 6rem rgba(255, 255, 255, .012);
  content: "";
  pointer-events: none;
}

.hud-cost-card header,
.hud-payment-card header,
.hud-payment-flow {
  position: relative;
  z-index: 1;
}

.hud-cost-card h2,
.hud-payment-card h2,
.hud-timeline h2,
.hud-pricing-sheet h2,
.hud-additional-fees h2 {
  margin: .8rem 0 1rem;
  font-size: clamp(2.8rem, 4.8vw, 5rem);
  line-height: .96;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.hud-cost-card header > p:last-child,
.hud-payment-card header > p:last-child,
.hud-timeline__heading > p:last-child,
.hud-pricing-sheet__intro > p,
.hud-additional-fees > .container > header + p {
  color: var(--mh-muted);
  line-height: 1.7;
}

.hud-payment-card .home-kicker { color: #c6dc98; }
.hud-payment-card h2 { color: #fff; }
.hud-payment-card header > p:last-child { color: rgba(255, 255, 255, .72); }
.hud-payment-card header strong { color: #fff; }

.hud-fee-field {
  display: grid;
  gap: .55rem;
  margin-top: 2rem;
}

.hud-fee-field label {
  color: var(--mh-ink);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hud-fee-field select {
  width: 100%;
  min-height: 3.65rem;
  padding: .85rem 3rem .85rem 1rem;
  border: 1px solid rgba(29, 32, 38, .22);
  border-radius: var(--mh-radius-sm);
  background-color: #fff;
  color: var(--mh-ink);
  font: inherit;
  font-weight: 750;
  transition: border-color var(--mh-ease), box-shadow var(--mh-ease), transform var(--mh-ease);
}

.hud-fee-field select:focus-visible {
  border-color: var(--mh-brand);
  outline: 3px solid rgba(111, 141, 61, .42);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(108, 15, 43, .07);
}

.hud-fee-result {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  margin-top: 1.2rem;
  border: 1px solid rgba(108, 15, 43, .12);
  border-radius: var(--mh-radius-md);
  background: rgba(108, 15, 43, .12);
  box-shadow: var(--mh-shadow-sm);
}

.hud-fee-result[hidden] { display: none; }

.hud-fee-result > div {
  display: grid;
  align-content: start;
  gap: .3rem;
  padding: 1.1rem;
  background: var(--mh-soft-warm);
  color: var(--mh-ink);
}

.hud-fee-result > div:last-child { grid-column: 1 / -1; background: var(--mh-soft-green); }
.hud-fee-result .is-featured { background: var(--mh-brand); color: #fff; }
.hud-fee-result span { font-size: .65rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.hud-fee-result strong { font-size: clamp(1rem, 2vw, 1.28rem); line-height: 1.25; }
.hud-fee-result small { color: var(--mh-muted); line-height: 1.45; }
.hud-fee-result .is-featured span { color: rgba(255, 255, 255, .68); }

.hud-cost-card__disclaimer {
  margin: 1.25rem 0 .8rem;
  color: var(--mh-muted);
  font-size: .82rem;
  line-height: 1.55;
}

.hud-inline-link {
  display: inline-flex;
  gap: .45rem;
  align-items: center;
  color: var(--mh-brand);
  font-weight: 900;
  text-decoration: none;
}

.hud-inline-link span { display: inline-block; transition: transform var(--mh-ease); }
.hud-inline-link:hover span { transform: translateX(.3rem); }
.hud-inline-link:focus-visible { outline: 3px solid var(--mh-green); outline-offset: 4px; }

.hud-payment-flow {
  display: grid;
  gap: 0;
  padding: 0;
  margin: clamp(2rem, 5vw, 4rem) 0 0;
  list-style: none;
}

.hud-payment-flow li {
  position: relative;
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 1rem;
  align-items: center;
  min-height: 86px;
  padding: .8rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.hud-payment-flow li:first-child { border-top: 1px solid rgba(255, 255, 255, .12); }
.hud-payment-flow li:not(:last-child)::after { position: absolute; bottom: -.35rem; left: 1.4rem; z-index: 2; color: var(--mh-green); content: "↓"; }
.hud-payment-flow li > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: rgba(255, 255, 255, .09); color: #c6dc98; font-size: .72rem; font-weight: 900; }
.hud-payment-flow div { display: grid; gap: .1rem; }
.hud-payment-flow small { color: rgba(255, 255, 255, .5); font-size: .66rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.hud-payment-flow strong { font-size: 1.05rem; }

.hud-timeline {
  position: relative;
  overflow: hidden;
  padding: var(--mh-section-space) 0;
  background: var(--mh-charcoal);
  color: #fff;
}

.hud-timeline::after {
  position: absolute;
  right: -2rem;
  bottom: -4rem;
  color: rgba(255, 255, 255, .025);
  font-size: clamp(9rem, 22vw, 22rem);
  font-weight: 950;
  line-height: .8;
  content: "TIME";
  pointer-events: none;
}

.hud-timeline .container { position: relative; z-index: 1; }
.hud-timeline .home-kicker { color: #c6dc98; }
.hud-timeline h2 { max-width: 900px; color: #fff; }
.hud-timeline__heading > p:last-child { max-width: 680px; color: rgba(255, 255, 255, .66); font-size: 1.05rem; }

.hud-timeline__track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 2rem);
  padding: 0;
  margin: clamp(3rem, 6vw, 5rem) 0 0;
  list-style: none;
}

.hud-timeline__track::before {
  position: absolute;
  top: 28px;
  right: 4%;
  left: 4%;
  height: 2px;
  background: linear-gradient(90deg, var(--mh-brand), var(--mh-green));
  content: "";
}

.hud-timeline__track li { position: relative; min-width: 0; }

.hud-timeline__node {
  position: relative;
  z-index: 1;
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border: 6px solid var(--mh-charcoal);
  border-radius: 50%;
  background: var(--mh-brand);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .2);
  font-size: .72rem;
  font-weight: 900;
}

.hud-timeline__track li > div {
  min-height: 225px;
  display: grid;
  align-content: start;
  gap: .75rem;
  margin-top: 1rem;
  padding: 1.4rem;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--mh-radius-md);
  background: rgba(255, 255, 255, .055);
  transition: border-color var(--mh-ease), background-color var(--mh-ease), transform var(--mh-ease);
}

.hud-timeline__track li:hover > div { border-color: rgba(198, 220, 152, .42); background: rgba(255, 255, 255, .085); transform: translateY(-5px); }
.hud-timeline__track small { color: rgba(255, 255, 255, .62); font-size: .68rem; font-weight: 900; letter-spacing: .07em; line-height: 1.5; text-transform: uppercase; }
.hud-timeline__track strong { color: #c6dc98; font-size: clamp(1.5rem, 2.2vw, 2.15rem); line-height: 1.05; }
.hud-timeline__track p { margin: 0; color: rgba(255, 255, 255, .58); font-size: .86rem; line-height: 1.6; }
.hud-timeline__note { max-width: 850px; margin: 1.6rem 0 0; color: rgba(255, 255, 255, .5); font-size: .78rem; line-height: 1.55; }

/* HUD consultant education: field work, video, and post-order workflow */
.hud-consultant-role { position:relative; overflow:clip; padding:var(--mh-section-space) 0; background:linear-gradient(135deg,#fff 0%,var(--mh-soft-warm) 58%,var(--mh-soft-green) 100%); color:var(--mh-ink); }
.hud-consultant-role::before { position:absolute; top:-16rem; left:-14rem; width:36rem; aspect-ratio:1; border:1px solid rgba(108,15,43,.07); border-radius:50%; box-shadow:0 0 0 5rem rgba(108,15,43,.02),0 0 0 10rem rgba(111,141,61,.018); content:""; pointer-events:none; }
.hud-consultant-role__grid { position:relative; display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); gap:clamp(2.5rem,6vw,6rem); align-items:center; }
.hud-consultant-role__content { min-width:0; }
.hud-consultant-role .home-kicker { color:var(--mh-brand); }
.hud-consultant-role h2,.hud-after-order h2 { max-width:860px; margin:.8rem 0 1rem; color:var(--mh-ink); font-size:clamp(3rem,5vw,5.8rem); line-height:.94; letter-spacing:-.05em; text-wrap:balance; }
.hud-consultant-role__content header > p:last-child { max-width:650px; color:var(--mh-muted); font-size:1.05rem; line-height:1.7; }
.hud-consultant-role__content > h3 { margin:clamp(2rem,4vw,3.3rem) 0 1rem; color:var(--mh-brand); font-size:.78rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.hud-consultant-tasks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; padding:0; margin:0; list-style:none; }
.hud-consultant-tasks li { min-width:0; display:grid; grid-template-columns:auto 42px minmax(0,1fr); gap:.8rem; align-items:start; padding:1rem; border:1px solid rgba(29,32,38,.1); border-radius:var(--mh-radius-md); background:rgba(255,255,255,.82); color:var(--mh-ink); box-shadow:0 8px 24px rgba(29,32,38,.055); transition:border-color var(--mh-ease),box-shadow var(--mh-ease),transform var(--mh-ease); }
.hud-consultant-tasks li:hover { border-color:rgba(108,15,43,.25); box-shadow:var(--mh-shadow-sm); transform:translateY(-3px); }
.hud-consultant-tasks__number { padding-top:.25rem; color:var(--mh-green); font-size:.66rem; font-weight:950; }
.hud-consultant-tasks svg { width:42px; height:42px; padding:.45rem; border-radius:12px; background:var(--mh-soft-green); fill:none; stroke:var(--mh-brand); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.hud-consultant-tasks strong { display:block; margin-bottom:.3rem; color:var(--mh-ink); font-size:.78rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.hud-consultant-tasks p { margin:0; color:var(--mh-muted); font-size:.84rem; line-height:1.5; }
.hud-consultant-role__after { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1rem; align-items:center; margin-top:1rem; padding:1.15rem 1.25rem; border-left:5px solid var(--mh-green); border-radius:var(--mh-radius-sm); background:#fff; color:var(--mh-ink); box-shadow:var(--mh-shadow-sm); }
.hud-consultant-role__after span { color:var(--mh-brand); font-size:.7rem; font-weight:950; letter-spacing:.1em; text-transform:uppercase; }
.hud-consultant-role__after p { margin:0; color:var(--mh-muted); font-size:.88rem; line-height:1.55; }
.hud-consultant-video { width:min(100%,480px); min-width:0; justify-self:center; margin:0; padding:clamp(1rem,2vw,1.5rem); border:1px solid rgba(255,255,255,.11); border-radius:var(--mh-radius-xl); background:linear-gradient(145deg,var(--mh-charcoal),#29141c); box-shadow:var(--mh-shadow-lg); transition:box-shadow var(--mh-ease),transform var(--mh-ease); }
.hud-consultant-video:hover { box-shadow:0 28px 70px rgba(29,32,38,.28); transform:translateY(-4px); }
.hud-consultant-video figcaption { display:flex; gap:.75rem; align-items:baseline; margin:0 .25rem 1rem; color:#fff; }
.hud-consultant-video figcaption span { color:#c6dc98; font-size:.68rem; font-weight:950; letter-spacing:.12em; text-transform:uppercase; }
.hud-consultant-video figcaption strong { font-size:1rem; }
.hud-consultant-video__frame { overflow:hidden; aspect-ratio:9 / 16; border-radius:calc(var(--mh-radius-xl) - .65rem); background:#090a0d; }
.hud-consultant-video video { display:block; width:100%; height:100%; object-fit:contain; background:#090a0d; }

.hud-after-order { position:relative; overflow:hidden; padding:var(--mh-section-space) 0; background:#fff; color:var(--mh-ink); }
.hud-after-order::after { position:absolute; right:-3rem; bottom:-2rem; color:rgba(108,15,43,.025); font-size:clamp(8rem,18vw,19rem); font-weight:950; line-height:.8; content:"NEXT"; pointer-events:none; }
.hud-after-order .container { position:relative; z-index:1; }
.hud-after-order__heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.5fr); column-gap:3rem; align-items:end; }
.hud-after-order__heading .home-kicker { grid-column:1 / -1; color:var(--mh-brand); }
.hud-after-order__heading h2 { margin-bottom:0; }
.hud-after-order__heading > p:last-child { max-width:430px; margin:0 0 .5rem; color:var(--mh-muted); font-size:1.05rem; line-height:1.65; }
.hud-after-order__flow { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(1rem,2vw,1.6rem); padding:0; margin:clamp(3rem,6vw,5rem) 0 0; list-style:none; }
.hud-after-order__flow::before { position:absolute; top:34px; right:5%; left:5%; height:2px; background:linear-gradient(90deg,var(--mh-green),var(--mh-brand)); content:""; }
.hud-after-order__flow li { position:relative; min-width:0; color:var(--mh-ink); }
.hud-after-order__flow li:not(:last-child)::after { position:absolute; top:24px; right:-.85rem; z-index:2; width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:#fff; color:var(--mh-brand); box-shadow:0 0 0 1px rgba(108,15,43,.12); content:"→"; font-size:.8rem; font-weight:950; }
.hud-after-order__node { position:relative; z-index:1; width:68px; height:68px; display:grid; grid-template-columns:1fr 1fr; place-items:center; padding:.45rem; border:5px solid #fff; border-radius:50%; background:var(--mh-brand); color:#fff; box-shadow:0 0 0 1px rgba(108,15,43,.18),var(--mh-shadow-sm); }
.hud-after-order__node span { font-size:.63rem; font-weight:950; }
.hud-after-order__node svg { width:25px; height:25px; fill:none; stroke:#c6dc98; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.hud-after-order__flow li > div:last-child { min-height:250px; margin-top:1rem; padding:1.4rem; border-top:4px solid var(--mh-green); border-radius:0 0 var(--mh-radius-md) var(--mh-radius-md); background:var(--mh-soft-warm); color:var(--mh-ink); box-shadow:var(--mh-shadow-sm); transition:border-color var(--mh-ease),box-shadow var(--mh-ease),transform var(--mh-ease); }
.hud-after-order__flow li:hover > div:last-child { border-color:var(--mh-brand); box-shadow:var(--mh-shadow-md); transform:translateY(-4px); }
.hud-after-order__flow small { color:var(--mh-brand); font-size:.65rem; font-weight:950; letter-spacing:.11em; text-transform:uppercase; }
.hud-after-order__flow h3 { margin:.6rem 0 .7rem; color:var(--mh-ink); font-size:clamp(1.2rem,1.8vw,1.55rem); line-height:1.1; }
.hud-after-order__flow p { margin:0; color:var(--mh-muted); font-size:.88rem; line-height:1.6; }
.hud-after-order__continuation { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); gap:clamp(1rem,3vw,2.5rem); align-items:center; max-width:950px; margin:1.5rem 0 0 auto; padding:1.25rem 1.5rem; border-radius:var(--mh-radius-md); background:var(--mh-charcoal); color:#fff; box-shadow:var(--mh-shadow-md); }
.hud-after-order__continuation::before { position:absolute; top:-1.55rem; right:3.5rem; height:1.55rem; border-left:2px solid var(--mh-green); content:""; }
.hud-after-order__continuation span { color:#c6dc98; font-size:.7rem; font-weight:950; letter-spacing:.1em; text-transform:uppercase; }
.hud-after-order__continuation p { margin:0; color:rgba(255,255,255,.72); line-height:1.55; }

/* Makeover Homes-native HUD consultant fee sheet */
.hud-pricing-page { overflow: clip; color: var(--mh-ink); }
.hud-pricing-hero { position: relative; padding: clamp(5rem, 9vw, 8rem) 0; background: linear-gradient(128deg, var(--mh-charcoal), #29141c 64%, var(--mh-brand-dark)); color: #fff; }
.hud-pricing-hero::after { position: absolute; right: -12rem; bottom: -18rem; width: 38rem; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 5rem rgba(255,255,255,.02), 0 0 0 10rem rgba(255,255,255,.014); content: ""; }
.hud-pricing-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2.5rem, 7vw, 7rem); align-items: end; }
.hud-pricing-hero .home-kicker { color: #c6dc98; }
.hud-pricing-hero h1 { max-width: 850px; margin: .9rem 0 0; font-size: clamp(3.6rem, 6vw, 6.7rem); line-height: .91; letter-spacing: -.055em; text-wrap: balance; }
.hud-pricing-hero__grid > p { max-width: 470px; margin: 0; color: rgba(255, 255, 255, .68); font-size: 1.08rem; line-height: 1.7; }
.hud-pricing-sheet { padding: var(--mh-section-space) 0; background: linear-gradient(135deg, var(--mh-soft-green), #fff 62%); }
.hud-pricing-sheet__grid { display: grid; grid-template-columns: minmax(0, .78fr) minmax(520px, 1.22fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: center; }
.hud-pricing-sheet__intro > p { max-width: 580px; }
.hud-pricing-sheet__intro .btn { margin-top: 1.25rem; }
.hud-fee-table { overflow-x: auto; border: 1px solid rgba(108, 15, 43, .12); border-radius: var(--mh-radius-lg); background: #fff; box-shadow: var(--mh-shadow-lg); }
.hud-fee-table:focus-visible { outline: 3px solid var(--mh-green); outline-offset: 4px; }
.hud-fee-table table { width: 100%; border-collapse: collapse; color: var(--mh-ink); }
.hud-fee-table th, .hud-fee-table td { padding: 1.2rem 1.3rem; border-bottom: 1px solid var(--mh-line); text-align: left; vertical-align: top; }
.hud-fee-table thead th { background: var(--mh-brand); color: #fff; font-size: .7rem; letter-spacing: .09em; text-transform: uppercase; }
.hud-fee-table tbody tr:last-child > * { border-bottom: 0; }
.hud-fee-table tbody th { width: 42%; color: var(--mh-muted); font-size: .9rem; }
.hud-fee-table td { font-weight: 850; }
.hud-additional-fees { padding: var(--mh-section-space) 0; background: #fff; }
.hud-additional-fees > .container > header { max-width: 860px; }
.hud-additional-fees__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: clamp(2.5rem, 5vw, 4rem); }
.hud-additional-fees__grid article { min-width: 0; padding: 1.5rem; border: 1px solid var(--mh-line); border-radius: var(--mh-radius-md); background: var(--mh-soft-warm); box-shadow: var(--mh-shadow-sm); }
.hud-additional-fees__grid article > span { color: var(--mh-green); font-size: .7rem; font-weight: 900; }
.hud-additional-fees__grid h3 { margin: .8rem 0 .45rem; font-size: 1.25rem; }
.hud-additional-fees__grid strong { color: var(--mh-brand); font-size: 1.4rem; }
.hud-additional-fees__grid p { margin: .7rem 0 0; color: var(--mh-muted); font-size: .86rem; line-height: 1.55; }
.hud-mileage-policy { display: grid; grid-template-columns: auto 1fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; margin-top: 1rem; padding: 1.5rem; border-left: 5px solid var(--mh-green); border-radius: var(--mh-radius-sm); background: var(--mh-charcoal); color: #fff; }
.hud-mileage-policy div { display: grid; gap: .2rem; }
.hud-mileage-policy span { color: #c6dc98; font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.hud-mileage-policy strong { font-size: 1.5rem; }
.hud-mileage-policy p { margin: 0; color: rgba(255, 255, 255, .68); }
.hud-pricing-source { max-width: 900px; margin: 1.5rem 0 0; color: var(--mh-muted); font-size: .82rem; line-height: 1.6; }
.hud-pricing-source a { color: var(--mh-brand); font-weight: 800; }

@media (max-width: 1024px) {
  .hud-guidance__grid,
  .hud-consultant-role__grid,
  .hud-pricing-hero__grid,
  .hud-pricing-sheet__grid { grid-template-columns: 1fr; }

  .hud-after-order__heading { grid-template-columns: 1fr; }
  .hud-after-order__heading > p:last-child { margin-top: 1rem; }
  .hud-after-order__flow { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2.5rem; }
  .hud-after-order__flow::before,
  .hud-after-order__flow li:not(:last-child)::after { display: none; }
  .hud-after-order__flow li::before { position: absolute; top: 34px; right: 0; left: 34px; height: 2px; background: linear-gradient(90deg, var(--mh-green), var(--mh-brand)); content: ""; }
  .hud-timeline__track { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2.5rem; }
  .hud-timeline__track::before { display: none; }
  .hud-timeline__track li::before { position: absolute; top: 28px; right: 0; left: 28px; height: 2px; background: linear-gradient(90deg, var(--mh-brand), var(--mh-green)); content: ""; }
  .hud-additional-fees__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
  .hud-cost-card,
  .hud-payment-card { padding: 1.6rem; border-radius: var(--mh-radius-lg); }
  .hud-cost-card h2,
  .hud-payment-card h2,
  .hud-consultant-role h2,
  .hud-after-order h2,
  .hud-timeline h2,
  .hud-pricing-sheet h2,
  .hud-additional-fees h2 { font-size: clamp(2.65rem, 11vw, 4rem); }
  .hud-timeline__track { grid-template-columns: 1fr; gap: 0; }
  .hud-timeline__track li { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 1rem; }
  .hud-timeline__track li::before { top: 56px; bottom: 0; left: 27px; width: 2px; height: auto; background: linear-gradient(var(--mh-brand), var(--mh-green)); }
  .hud-timeline__track li:last-child::before { display: none; }
  .hud-timeline__track li > div { min-height: 0; margin: 0 0 1.4rem; }
  .hud-consultant-tasks { grid-template-columns: 1fr; }
  .hud-consultant-role__after { grid-template-columns: 1fr; }
  .hud-consultant-video { padding: .85rem; border-radius: var(--mh-radius-lg); }
  .hud-consultant-video figcaption { align-items: flex-start; flex-direction: column; gap: .25rem; }
  .hud-after-order__flow { grid-template-columns: 1fr; gap: 0; }
  .hud-after-order__flow li { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 1rem; }
  .hud-after-order__flow li::before { top: 68px; bottom: 0; left: 33px; width: 2px; height: auto; background: linear-gradient(var(--mh-green), var(--mh-brand)); }
  .hud-after-order__flow li:last-child::before { display: none; }
  .hud-after-order__flow li > div:last-child { min-height: 0; margin: 0 0 1.4rem; border-top-width: 3px; border-radius: var(--mh-radius-sm); }
  .hud-after-order__continuation { grid-template-columns: 1fr; margin-top: .3rem; }
  .hud-after-order__continuation::before { top: -1.75rem; right: auto; left: 2.05rem; height: 1.75rem; }
  .hud-additional-fees__grid { grid-template-columns: 1fr; }
  .hud-mileage-policy { grid-template-columns: 1fr; }
  .hud-pricing-hero h1 { font-size: clamp(3.2rem, 13vw, 5rem); }
}

@media (max-width: 390px) {
  .hud-fee-result { grid-template-columns: 1fr; }
  .hud-fee-result > div:last-child { grid-column: auto; }
  .hud-timeline__track li { grid-template-columns: 48px minmax(0, 1fr); gap: .75rem; }
  .hud-timeline__node { width: 48px; height: 48px; border-width: 5px; }
  .hud-timeline__track li::before { top: 48px; left: 23px; }
  .hud-timeline__track li > div { padding: 1.15rem; }
  .hud-consultant-tasks li { grid-template-columns: auto 36px minmax(0, 1fr); gap: .65rem; padding: .9rem; }
  .hud-consultant-tasks svg { width: 36px; height: 36px; }
  .hud-after-order__flow li { grid-template-columns: 56px minmax(0, 1fr); gap: .75rem; }
  .hud-after-order__node { width: 56px; height: 56px; border-width: 4px; }
  .hud-after-order__node svg { width: 20px; height: 20px; }
  .hud-after-order__flow li::before { top: 56px; left: 27px; }
  .hud-after-order__continuation::before { left: 1.65rem; }
  .hud-fee-table th,
  .hud-fee-table td { padding: 1rem .85rem; }
}

@media (prefers-reduced-motion: reduce) {
  .hud-fee-field select,
  .hud-inline-link span,
  .hud-timeline__track li > div,
  .hud-consultant-tasks li,
  .hud-consultant-video,
  .hud-after-order__flow li > div:last-child { transition: none; }
  .hud-inline-link:hover span,
  .hud-timeline__track li:hover > div,
  .hud-consultant-tasks li:hover,
  .hud-consultant-video:hover,
  .hud-after-order__flow li:hover > div:last-child { transform: none; }
}

.learn-compass { position: relative; overflow: hidden; padding: var(--mh-section-space) 0; background: linear-gradient(135deg, var(--mh-brand-dark), #21171b 58%, var(--mh-charcoal)); color: #fff; }
.learn-compass::after { content: "LEARN"; position: absolute; right: -1rem; bottom: -3rem; color: rgba(255,255,255,.025); font-size: clamp(8rem, 22vw, 22rem); font-weight: 950; line-height: .8; }
.learn-compass__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.learn-compass__statement h2 { margin: 1rem 0 1.25rem; font-size: clamp(3.2rem, 5.4vw, 5.8rem); line-height: .94; }
.learn-compass__statement > p:not(.home-kicker) { max-width: 650px; color: rgba(255,255,255,.67); font-size: 1.08rem; }
.learn-compass__steps { padding: 0; margin: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.16); }
.learn-compass__steps li { display: grid; grid-template-columns: 60px 1fr; gap: 1rem; padding: 1.5rem 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.learn-compass__steps li > span { color: var(--mh-green); font-size: .78rem; font-weight: 900; letter-spacing: .08em; }
.learn-compass__steps strong { font-size: 1.3rem; }
.learn-compass__steps p { margin: .25rem 0 0; color: rgba(255,255,255,.6); }
.learn-detail-hero__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: clamp(3rem, 8vw, 8rem); align-items: end; }
.learn-detail-hero__guide { padding: 1.6rem; border: 1px solid rgba(255,255,255,.16); border-radius: var(--mh-radius-lg); background: rgba(255,255,255,.07); box-shadow: var(--mh-shadow-md); backdrop-filter: blur(14px); }
.learn-detail-hero__guide > p { margin: 0 0 .9rem; color: var(--mh-green); font-size: .75rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.learn-detail-hero__guide ol { padding: 0; margin: 0 0 1.2rem; list-style: none; }
.learn-detail-hero__guide li { display: grid; grid-template-columns: 38px 1fr; gap: .65rem; padding: .75rem 0; border-bottom: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.78); font-size: .88rem; font-weight: 750; }
.learn-detail-hero__guide li span { color: var(--mh-green); font-size: .7rem; font-weight: 900; }
.learn-detail-hero__guide a { color: #fff; font-size: .88rem; font-weight: 850; text-decoration: none; }

.legal-hero { position: relative; overflow: hidden; padding: clamp(5rem, 9vw, 8rem) 0; background: linear-gradient(125deg, var(--mh-charcoal), #26151b 68%, var(--mh-brand-dark)); color: #fff; }
.legal-hero::after { content: ""; position: absolute; right: -12rem; bottom: -18rem; width: 38rem; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 5rem rgba(255,255,255,.02), 0 0 0 10rem rgba(255,255,255,.014); }
.legal-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.2fr .8fr; gap: 4rem; align-items: end; }
.legal-hero h1 { max-width: 800px; margin: 1rem 0 0; font-size: clamp(3.5rem, 6vw, 6.6rem); line-height: .92; }
.legal-hero__grid > p { max-width: 440px; margin: 0; color: rgba(255,255,255,.66); font-size: 1.08rem; }
.legal-workspace { padding: var(--mh-section-space) 0; background: linear-gradient(135deg, var(--mh-soft-green), #fff 55%, var(--mh-soft-warm)); }
.legal-workspace__grid { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.legal-workspace nav { display: grid; gap: .2rem; padding-top: 1rem; }
.legal-workspace nav strong { padding: 0 1rem .75rem; color: var(--mh-muted); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.legal-workspace nav a { padding: .75rem 1rem; border-radius: var(--mh-radius-sm); color: var(--mh-ink); font-weight: 750; text-decoration: none; }
.legal-workspace nav a[aria-current="page"] { background: var(--mh-brand); color: #fff; box-shadow: var(--mh-shadow-brand); }
.legal-workspace .legal-page__panel { padding: clamp(2rem, 5vw, 4.5rem); border: 1px solid var(--mh-line); border-radius: var(--mh-radius-xl); background: #fff; box-shadow: var(--mh-shadow-md); }
.legal-page__panel h2 { margin: 1rem 0 1.25rem; font-size: clamp(2.6rem, 4vw, 4.5rem); }
.legal-page__panel h3 { margin-top: 2.5rem; font-size: 1.35rem; }
.legal-page__panel > p { max-width: 780px; color: var(--mh-muted); font-size: 1.05rem; }
.legal-contact-strip { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-top: 3rem; padding: 1.2rem 1.3rem; border-left: 4px solid var(--mh-green); background: var(--mh-soft); }
.legal-contact-strip span { font-weight: 800; }
.legal-contact-strip a { color: var(--mh-brand); font-weight: 850; text-decoration: none; }

.error-page__hero { min-height: 72vh; display: grid; align-items: center; overflow: hidden; padding: var(--mh-section-space) 0; background:
  linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
  linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
  radial-gradient(circle at 80% 20%, rgba(111,141,61,.16), transparent 28%), var(--mh-charcoal); background-size: 84px 84px, 84px 84px, auto, auto; color: #fff; }
.error-page__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.error-page h1 { max-width: 820px; margin: 1rem 0 1.4rem; font-size: clamp(4rem, 7vw, 7.4rem); line-height: .9; }
.error-page__grid > div > p:not(.home-kicker) { max-width: 680px; color: rgba(255,255,255,.68); font-size: 1.12rem; }
.error-page__actions { display: flex; flex-wrap: wrap; gap: 1.2rem; align-items: center; margin-top: 2rem; }
.error-page aside { display: grid; gap: .8rem; padding: clamp(2rem, 4vw, 3.4rem); border: 1px solid rgba(255,255,255,.15); border-radius: var(--mh-radius-xl); background: rgba(255,255,255,.06); box-shadow: var(--mh-shadow-lg); }
.error-page aside > span { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; background: var(--mh-brand); font-size: 1.4rem; font-weight: 900; }
.error-page aside strong { font-size: 1.45rem; }
.error-page aside p { color: rgba(255,255,255,.62); }
.error-page aside small { color: rgba(255,255,255,.48); }
.error-page code { color: #fff; }

@media (max-width: 991.98px) {
  .inner-journey__grid,
  .inner-hero__grid,
  .learn-compass__grid,
  .learn-detail-hero__grid,
  .legal-hero__grid,
  .error-page__grid { grid-template-columns: 1fr; }
  .inner-journey__grid--reverse .inner-journey__visual { order: 1; }
  .inner-journey__grid--reverse .inner-journey__content { order: 2; }
  .inner-journey__visual { min-height: 520px; }
  .faq-workspace__grid { grid-template-columns: 1fr; }
  .faq-workspace__intro { position: static; }
  .contact-connection { width: 100%; max-width: 580px; margin-inline: auto; }
  .legal-workspace__grid { grid-template-columns: 1fr; }
  .legal-workspace nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .legal-workspace nav strong { grid-column: 1 / -1; }
}

@media (max-width: 767.98px) {
  .inner-hero { padding: 4.5rem 0 5.5rem; }
  .inner-hero__copy h1 { font-size: clamp(3.2rem, 13.5vw, 5rem); }
  .inner-journey__content h2,
  .learn-compass__statement h2 { font-size: clamp(2.85rem, 11vw, 4.4rem); }
  .inner-journey__visual { min-height: 440px; }
  .faq-hero-map { transform: none; }
  .hud-education__media { height: 330px; }
  .hud-finder__support-grid { grid-template-columns: 1fr; }
  .legal-hero h1,
  .error-page h1 { font-size: clamp(3.2rem, 13vw, 5rem); }
  .legal-contact-strip { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 575.98px) {
  .inner-journey__visual { min-height: 350px; }
  .inner-journey__visual > figure:first-child { inset: 0 0 0 1.4rem; }
  .inner-journey__inset { width: 38%; height: 34%; border-width: 4px; }
  .inner-journey__stamp { top: auto; right: .25rem; bottom: 1rem; max-width: 205px; padding: .85rem 1rem; }
  .inner-journey__steps li { grid-template-columns: 44px 1fr; }
  .faq-workspace__note { padding: 1.2rem; }
  .contact-connection__conversation { margin-inline: 0; }
  .contact-connection__next { margin-left: 0; }
  .contact-workspace .contact-grid { border-radius: var(--mh-radius-lg); }
  .hud-finder__path strong { font-size: .7rem; }
  .hud-education__media { height: 285px; }
  .learn-detail-hero__guide { padding: 1.25rem; }
  .legal-workspace nav { grid-template-columns: 1fr; }
  .legal-workspace nav strong { grid-column: auto; }
  .error-page__actions,
  .error-page__actions .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .faq-hero-map a span,
  .faq-workspace .faq-accordion .accordion-item,
  .contact-workspace .contact-form :is(input, textarea),
  .hud-education__media img,
  .hud-finder__support-grid a span { transition: none; }
  .faq-hero-map a:hover span,
  .faq-workspace .faq-accordion .accordion-item:hover,
  .contact-workspace .contact-form :is(input, textarea):focus,
  .hud-education__media:hover img,
  .hud-finder__support-grid a:hover span { transform: none; }
}

/* ==========================================================================
   Public composition system — second visual pass
   These primitives deliberately change page architecture rather than merely
   decorating the legacy layouts. They retain the established MH palette.
   ========================================================================== */

.mh2-section {
  position: relative;
  padding: clamp(6rem, 10vw, 9.5rem) 0;
}

.mh2-heading {
  max-width: 940px;
  margin-bottom: clamp(2.75rem, 6vw, 5rem);
}

.mh2-heading h2,
.mh2-editorial-copy h2,
.mh2-education__copy h2,
.mh2-statement h2,
.mh2-final h2 {
  margin: 1rem 0 0;
  font-size: clamp(2.75rem, 5.15vw, 4.65rem);
  font-weight: 900;
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.mh2-heading--split {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(260px, 0.7fr);
  align-items: end;
  gap: clamp(2rem, 6vw, 6rem);
  max-width: none;
}

.mh2-heading--split > p {
  max-width: 440px;
  margin: 0 0 0.35rem;
  color: var(--mh-muted);
  font-size: clamp(1rem, 1.35vw, 1.16rem);
  line-height: 1.65;
}

.mh2-lede {
  max-width: 660px;
  color: var(--mh-muted);
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  line-height: 1.65;
}

.mh2-note {
  margin: 0.8rem 0 0;
  color: var(--mh-muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.mh2-button-arrow {
  gap: 0.75rem;
}

.mh2-button-arrow span {
  display: inline-grid;
  place-items: center;
  width: 1.7rem;
  height: 1.7rem;
  margin: -0.3rem -0.55rem -0.3rem 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
  font-size: 0.95rem;
  transition: transform 220ms ease, background-color 220ms ease;
}

.mh2-button-arrow:hover span,
.mh2-button-arrow:focus-visible span {
  background: rgba(255, 255, 255, 0.25);
  transform: translate(2px, -2px);
}

.mh2-button-ghost {
  border: 1px solid rgba(255, 255, 255, 0.42);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
}

.mh2-media-zoom {
  overflow: hidden;
}

.mh2-media-zoom img {
  transition: transform 700ms cubic-bezier(.2,.7,.2,1), filter 300ms ease;
}

.mh2-media-zoom:hover img {
  transform: scale(1.045);
}

.mh2-text-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  gap: 0.65rem;
  color: var(--mh-brand);
  font-weight: 850;
  text-decoration: none;
}

.mh2-text-link span {
  transition: transform 220ms ease;
}

.mh2-text-link:hover span,
.mh2-text-link:focus-visible span {
  transform: translateX(5px);
}

/* Hero */
.mh2-hero {
  position: relative;
  min-height: min(860px, calc(100svh - 86px));
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  background:
    radial-gradient(circle at 80% 18%, rgba(111, 141, 61, 0.23), transparent 24%),
    radial-gradient(circle at 18% 84%, rgba(108, 15, 43, 0.35), transparent 34%),
    linear-gradient(122deg, #111318 0%, #1a1c21 55%, #25282d 100%);
}

.mh2-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: auto -12vw -28vw auto;
  width: 60vw;
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 50%;
  box-shadow: 0 0 0 8vw rgba(255, 255, 255, 0.025), 0 0 0 16vw rgba(255, 255, 255, 0.018);
}

.mh2-hero__texture {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: 0.38;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 74px 74px;
  mask-image: linear-gradient(90deg, #000, transparent 72%);
}

.mh2-hero__grid {
  min-height: min(860px, calc(100svh - 86px));
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(460px, 1.1fr);
  align-items: center;
  gap: clamp(3rem, 7vw, 7rem);
  padding-top: clamp(4.5rem, 8vw, 7rem);
  padding-bottom: clamp(6rem, 10vw, 8rem);
}

.mh2-hero__copy {
  position: relative;
  z-index: 3;
}

.mh2-hero .home-kicker {
  border-color: rgba(164, 190, 111, 0.34);
  background: rgba(111, 141, 61, 0.18);
  color: #b7d17e;
}

.mh2-hero h1 {
  margin: 1.2rem 0 1.6rem;
  font-size: clamp(4rem, 6.6vw, 6.5rem);
  font-weight: 925;
  letter-spacing: -0.065em;
  line-height: 0.86;
}

.mh2-hero h1 span {
  display: block;
}

.mh2-hero__accent {
  color: #c88aa0;
}

.mh2-hero__lead {
  max-width: 620px;
  margin: 0;
  color: rgba(255,255,255,.76);
  font-size: clamp(1.08rem, 1.5vw, 1.28rem);
  line-height: 1.62;
}

.mh2-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem;
  margin-top: 2rem;
}

.mh2-hero__actions .btn {
  min-height: 56px;
  padding-inline: 1.55rem;
}

.mh2-hero__download {
  display: grid;
  gap: .4rem;
}

.mh2-hero__download-label {
  color: rgba(255, 255, 255, .78);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1;
  text-transform: uppercase;
}

.mh2-hero__store-links {
  display: flex;
  align-items: center;
  gap: .55rem;
}

.mh2-hero__store-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  border-radius: 8px;
  transition: transform var(--mh-transition-fast), filter var(--mh-transition-fast);
}

.mh2-hero__store-link img {
  display: block;
  width: auto;
  height: 40px;
}

.mh2-hero__store-link:hover {
  filter: brightness(1.08);
  transform: translateY(-2px);
}

.mh2-hero__store-link:active {
  transform: translateY(0);
}

.mh2-hero__proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: clamp(2.5rem, 5vw, 4.5rem);
  padding-top: 1.3rem;
  border-top: 1px solid rgba(255,255,255,.14);
}

.mh2-hero__proof div {
  min-width: 0;
  padding-right: 1rem;
}

.mh2-hero__proof div + div {
  padding-left: 1rem;
  border-left: 1px solid rgba(255,255,255,.12);
}

.mh2-hero__proof strong,
.mh2-hero__proof span {
  display: block;
}

.mh2-hero__proof strong {
  font-size: 0.95rem;
  font-weight: 900;
}

.mh2-hero__proof span {
  margin-top: 0.2rem;
  color: rgba(255,255,255,.52);
  font-size: 0.73rem;
  line-height: 1.35;
}

.mh2-hero__visual {
  position: relative;
  min-height: 610px;
}

.mh2-hero__frame {
  position: absolute;
  inset: 2rem 0 3rem 5rem;
  border: 1px solid rgba(255,255,255,.19);
  border-radius: 3px;
  box-shadow: 0 42px 90px rgba(0,0,0,.42);
}

.mh2-hero__frame::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -1.4rem 1.4rem 1.4rem -1.4rem;
  border: 1px solid rgba(200,138,160,.32);
  background: rgba(108,15,43,.2);
}

.mh2-hero__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.76) contrast(1.05);
}

.mh2-hero__frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 58%, rgba(17,19,24,.72));
  pointer-events: none;
}

.mh2-hero__frame-label {
  position: absolute;
  z-index: 2;
  right: 1.4rem;
  bottom: 1.2rem;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.mh2-hero__inset {
  position: absolute;
  z-index: 2;
  left: 0;
  bottom: 0;
  width: min(42%, 260px);
  margin: 0;
  border: 8px solid #f4f0f1;
  background: #fff;
  box-shadow: 0 26px 60px rgba(0,0,0,.34);
  transform: rotate(-2.5deg);
}

.mh2-hero__inset img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.mh2-hero__inset figcaption {
  padding: 0.55rem 0.7rem 0.25rem;
  color: var(--mh-brand);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mh2-hero__float {
  position: absolute;
  z-index: 3;
  top: 0;
  right: -1.3rem;
  width: min(290px, 48%);
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.38);
  background: rgba(255,255,255,.94);
  box-shadow: 0 24px 54px rgba(0,0,0,.22);
  color: var(--mh-ink);
}

.mh2-hero__float-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 2.7rem;
  height: 2.7rem;
  border-radius: 50%;
  background: var(--mh-brand);
  color: #fff;
  font-size: .72rem;
  font-weight: 900;
}

.mh2-hero__float strong,
.mh2-hero__float span {
  display: block;
}

.mh2-hero__float strong {
  font-size: .83rem;
  line-height: 1.25;
}

.mh2-hero__float div span {
  margin-top: .22rem;
  color: var(--mh-muted);
  font-size: .7rem;
  line-height: 1.35;
}

.mh2-scroll-cue {
  position: absolute;
  z-index: 4;
  bottom: 1.4rem;
  left: 50%;
  display: flex;
  align-items: center;
  gap: .8rem;
  color: rgba(255,255,255,.66);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
  transform: translateX(-50%);
}

.mh2-scroll-cue i {
  position: relative;
  display: block;
  width: 1px;
  height: 32px;
  overflow: hidden;
  background: rgba(255,255,255,.24);
}

.mh2-scroll-cue i::after {
  content: "";
  position: absolute;
  inset: -100% 0 auto;
  height: 100%;
  background: #fff;
  animation: mh2-scroll-line 2s ease-in-out infinite;
}

@keyframes mh2-scroll-line { to { transform: translateY(200%); } }

/* Moving service rail */
.mh2-runner {
  position: relative;
  z-index: 5;
  min-height: 70px;
  overflow: hidden;
  background: var(--mh-brand);
  color: #fff;
}

.mh2-runner__track {
  position: absolute;
  inset: 0 auto auto 0;
  width: max-content;
  height: 70px;
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 0 1.2rem;
  animation: mh2-runner 32s linear infinite;
}

.mh2-runner__track span {
  font-size: clamp(.88rem, 1.2vw, 1.05rem);
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.mh2-runner__track i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #a9bd76;
}

@keyframes mh2-runner { to { transform: translateX(-42%); } }

/* Transformation */
.mh2-transform {
  background:
    radial-gradient(circle at 8% 88%, rgba(108,15,43,.07), transparent 24%),
    #fff;
}

.mh2-transform__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(370px, .88fr);
  align-items: center;
  gap: clamp(4rem, 9vw, 9rem);
}

.mh2-transform__visual {
  position: relative;
  min-height: 670px;
}

.mh2-transform__visual figure {
  position: absolute;
  margin: 0;
  background: #fff;
  box-shadow: var(--mh-shadow-lg);
}

.mh2-transform__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mh2-transform__visual figcaption {
  position: absolute;
  top: 1rem;
  left: 1rem;
  padding: .55rem .75rem;
  background: rgba(17,19,24,.82);
  color: #fff;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.mh2-transform__before {
  top: 0;
  left: 0;
  width: 76%;
  height: 58%;
}

.mh2-transform__after {
  right: 0;
  bottom: 0;
  width: 68%;
  height: 58%;
  border: 10px solid #fff;
}

.mh2-transform__after::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 1.2rem -1.2rem -1.2rem 1.2rem;
  background: var(--mh-green);
}

.mh2-transform__note {
  position: absolute;
  z-index: 3;
  bottom: 15%;
  left: 0;
  width: 230px;
  padding: 1.2rem;
  border-left: 4px solid var(--mh-brand);
  background: #fff;
  box-shadow: var(--mh-shadow-md);
}

.mh2-transform__note strong,
.mh2-transform__note span {
  display: block;
}

.mh2-transform__note strong {
  color: var(--mh-brand);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mh2-transform__note span {
  margin-top: .35rem;
  color: var(--mh-muted);
  font-size: .8rem;
  line-height: 1.45;
}

.mh2-editorial-copy h2 em {
  color: var(--mh-brand);
  font-style: normal;
}

.mh2-feature-lines {
  margin: 2.2rem 0;
  border-top: 1px solid var(--mh-line);
}

.mh2-feature-lines article {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: .85rem;
  padding: 1.15rem 0;
  border-bottom: 1px solid var(--mh-line);
}

.mh2-feature-lines article > span {
  color: var(--mh-brand);
  font-size: .73rem;
  font-weight: 900;
}

.mh2-feature-lines h3,
.mh2-feature-lines p {
  margin: 0;
}

.mh2-feature-lines h3 {
  font-size: 1rem;
  letter-spacing: -.02em;
}

.mh2-feature-lines p {
  margin-top: .25rem;
  color: var(--mh-muted);
  font-size: .86rem;
}

/* Process */
.mh2-process {
  overflow: hidden;
  color: #fff;
  background: #15171c;
}

.mh2-process::before {
  content: "06";
  position: absolute;
  top: 1rem;
  right: 3vw;
  color: rgba(255,255,255,.035);
  font-size: min(32vw, 430px);
  font-weight: 950;
  letter-spacing: -.1em;
  line-height: .8;
}

.mh2-process__orb {
  position: absolute;
  right: -10rem;
  bottom: -12rem;
  width: 34rem;
  aspect-ratio: 1;
  border: 1px solid rgba(200,138,160,.2);
  border-radius: 50%;
  box-shadow: 0 0 0 5rem rgba(108,15,43,.06), 0 0 0 10rem rgba(108,15,43,.035);
}

.mh2-process .mh2-heading--split > p,
.mh2-process__footer p {
  color: rgba(255,255,255,.62);
}

.mh2-process__layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr);
  gap: clamp(3rem, 8vw, 8rem);
}

.mh2-process__media {
  position: relative;
  min-height: 620px;
  box-shadow: 0 35px 80px rgba(0,0,0,.38);
}

.mh2-process__media::before {
  content: "";
  position: absolute;
  inset: -1rem 1rem 1rem -1rem;
  z-index: -1;
  border: 1px solid rgba(255,255,255,.16);
}

.mh2-process__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.72);
}

.mh2-process__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(17,19,24,.86));
  pointer-events: none;
}

.mh2-process__media figcaption {
  position: absolute;
  z-index: 2;
  right: 2rem;
  bottom: 2rem;
  left: 2rem;
}

.mh2-process__media strong,
.mh2-process__media span {
  display: block;
}

.mh2-process__media strong {
  font-size: clamp(1.5rem, 2.4vw, 2.2rem);
  line-height: 1.08;
}

.mh2-process__media span {
  margin-top: .5rem;
  color: rgba(255,255,255,.66);
  font-size: .9rem;
}

.mh2-process__steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: center;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(255,255,255,.13);
  list-style: none;
}

.mh2-process__steps li {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: .7rem;
  padding: clamp(1.5rem, 3vw, 2.2rem) 1rem clamp(1.5rem, 3vw, 2.2rem) 0;
  border-bottom: 1px solid rgba(255,255,255,.13);
  transition: background-color 240ms ease, transform 240ms ease;
}

.mh2-process__steps li:nth-child(even) {
  padding-left: 1.4rem;
  border-left: 1px solid rgba(255,255,255,.13);
}

.mh2-process__steps li:hover {
  background: rgba(255,255,255,.045);
  transform: translateY(-3px);
}

.mh2-process__steps li > span {
  color: #b7d17e;
  font-size: .72rem;
  font-weight: 900;
}

.mh2-process__steps h3,
.mh2-process__steps p {
  margin: 0;
}

.mh2-process__steps h3 {
  font-size: 1.15rem;
}

.mh2-process__steps p {
  margin-top: .35rem;
  color: rgba(255,255,255,.56);
  font-size: .84rem;
  line-height: 1.45;
}

.mh2-process__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 2.3rem;
}

.mh2-process__footer p {
  margin: 0;
}

.mh2-process .mh2-text-link {
  color: #c88aa0;
}

/* Audience bento */
.mh2-audience {
  background: #f8f7f5;
}

.mh2-audience__bento {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: 300px;
  gap: 1.2rem;
}

.mh2-audience-card {
  position: relative;
  grid-column: span 4;
  overflow: hidden;
  color: #fff;
  background: #1a1c21;
  box-shadow: var(--mh-shadow-sm);
  text-decoration: none;
  isolation: isolate;
  transition: transform 260ms ease, box-shadow 260ms ease;
}

.mh2-audience-card--feature {
  grid-column: span 7;
  grid-row: span 2;
}

.mh2-audience-card--feature + .mh2-audience-card {
  grid-column: span 5;
}

.mh2-audience-card--wide {
  grid-column: span 7;
}

.mh2-audience-card--dark {
  grid-column: span 5;
}

.mh2-audience-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, rgba(17,19,24,.04) 5%, rgba(17,19,24,.92) 96%);
}

.mh2-audience-card img {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.72) contrast(1.04);
  transition: transform 700ms cubic-bezier(.2,.7,.2,1), filter 300ms ease;
}

.mh2-audience-card > div {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: clamp(1.4rem, 3vw, 2.3rem);
}

.mh2-card-number {
  position: absolute;
  top: 1.4rem;
  right: 1.4rem;
  color: rgba(255,255,255,.54);
  font-size: .72rem;
  font-weight: 900;
}

.mh2-audience-card p {
  margin: 0 0 .55rem;
  color: #b7d17e;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.mh2-audience-card h3 {
  max-width: 580px;
  margin: 0;
  color: #fff;
  font-size: clamp(1.3rem, 2.2vw, 2rem);
  line-height: 1.08;
}

.mh2-audience-card strong {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin-top: 1rem;
  color: rgba(255,255,255,.72);
  font-size: .78rem;
}

.mh2-audience-card i {
  font-style: normal;
  transition: transform 220ms ease;
}

.mh2-audience-card:hover,
.mh2-audience-card:focus-visible {
  box-shadow: 0 30px 70px rgba(17,19,24,.2);
  color: #fff;
  transform: translateY(-8px) scale(1.012);
}

.mh2-audience-card:hover img,
.mh2-audience-card:focus-visible img {
  filter: saturate(.95) contrast(1.05);
  transform: scale(1.065);
}

.mh2-audience-card:hover i,
.mh2-audience-card:focus-visible i {
  transform: translate(3px, -3px);
}

/* Education workspace */
.mh2-education {
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 15% 20%, rgba(108,15,43,.38), transparent 28%),
    linear-gradient(135deg, #41101d, #6c0f2b 54%, #7d1839);
}

.mh2-education::after {
  content: "?";
  position: absolute;
  right: 3vw;
  bottom: -10rem;
  color: rgba(255,255,255,.045);
  font-size: min(50vw, 640px);
  font-weight: 950;
  line-height: 1;
}

.mh2-education__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(480px, 1.22fr);
  align-items: center;
  gap: clamp(4rem, 9vw, 9rem);
}

.mh2-education .home-kicker {
  border-color: rgba(255,255,255,.24);
  background: rgba(255,255,255,.1);
  color: #d9e6bd;
}

.mh2-education__copy .mh2-lede {
  color: rgba(255,255,255,.7);
}

.mh2-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 2rem 0;
  padding: 0;
  list-style: none;
}

.mh2-chip-list li {
  padding: .55rem .8rem;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  font-size: .78rem;
  font-weight: 800;
}

.mh2-education__workspace {
  position: relative;
  border: 1px solid rgba(255,255,255,.38);
  background: #fff;
  box-shadow: 0 45px 95px rgba(31,5,13,.44);
  color: var(--mh-ink);
  transform: rotate(1.25deg);
}

.mh2-workspace__bar {
  display: flex;
  align-items: center;
  gap: .45rem;
  padding: .9rem 1rem;
  border-bottom: 1px solid var(--mh-line);
  background: #f6f3f4;
}

.mh2-workspace__bar > span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #c5c8cd;
}

.mh2-workspace__bar > span:first-child { background: #8f2644; }
.mh2-workspace__bar > span:nth-child(2) { background: #9caf70; }

.mh2-workspace__bar strong {
  margin-left: .55rem;
  color: var(--mh-muted);
  font-size: .7rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.mh2-workspace__body {
  padding: clamp(2rem, 5vw, 4rem);
}

.mh2-workspace__label {
  margin: 0;
  color: var(--mh-brand);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.mh2-workspace__body h3 {
  margin: .75rem 0 1rem;
  font-size: clamp(2rem, 4vw, 3.2rem);
  letter-spacing: -.055em;
  line-height: 1;
}

.mh2-workspace__body > p:not(.mh2-workspace__label) {
  color: var(--mh-muted);
}

.mh2-workspace__answer {
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: start;
  gap: .85rem;
  margin: 1.6rem 0;
  padding: 1rem;
  background: var(--mh-soft-green);
}

.mh2-workspace__answer span {
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  background: var(--mh-green);
  color: #fff;
}

.mh2-workspace__answer p {
  margin: 0;
  color: var(--mh-muted);
  font-size: .88rem;
  line-height: 1.5;
}

.mh2-workspace__search label {
  display: block;
  margin-bottom: .5rem;
  font-size: .75rem;
  font-weight: 850;
}

.mh2-workspace__search > div {
  display: flex;
  border: 1px solid var(--mh-line-strong);
  border-radius: 999px;
  padding: .3rem;
  background: #fff;
}

.mh2-workspace__search input {
  min-width: 0;
  flex: 1;
  border: 0;
  padding: .65rem 1rem;
  outline: 0;
}

.mh2-workspace__search button {
  border: 0;
  border-radius: 999px;
  padding: .65rem 1.2rem;
  background: var(--mh-brand);
  color: #fff;
  font-weight: 850;
}

.mh2-education__float {
  position: absolute;
  right: -2rem;
  bottom: -2rem;
  width: 230px;
  padding: 1rem 1.2rem;
  border-left: 4px solid var(--mh-green);
  background: #17191d;
  box-shadow: var(--mh-shadow-lg);
  color: #fff;
  transform: rotate(-1.25deg);
}

.mh2-education__float strong,
.mh2-education__float span {
  display: block;
}

.mh2-education__float strong { font-size: .85rem; }
.mh2-education__float span { margin-top: .25rem; color: rgba(255,255,255,.58); font-size: .72rem; }

/* Consultant network */
.mh2-network {
  background: #fff;
}

.mh2-network__stage {
  position: relative;
  min-height: 620px;
  margin-top: 2rem;
  background:
    linear-gradient(135deg, rgba(111,141,61,.08), rgba(108,15,43,.06)),
    #f6f6f3;
}

.mh2-network__map {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 3rem;
  overflow: hidden;
}

.mh2-network__map img {
  width: min(76%, 820px);
  height: auto;
  opacity: .66;
  filter: saturate(.72) contrast(1.02);
  transition: transform 500ms ease, opacity 300ms ease;
}

.mh2-network__map:hover img,
.mh2-network__map:focus-visible img {
  opacity: .84;
  transform: scale(1.025);
}

.mh2-network__consultant {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 3.5rem;
  width: min(430px, calc(100% - 7rem));
  padding: clamp(2rem, 4vw, 3.5rem);
  background: #17191d;
  box-shadow: 0 36px 76px rgba(17,19,24,.28);
  color: #fff;
  transform: translateY(-50%);
}

.mh2-network__consultant h3 {
  margin: 1rem 0;
  font-size: clamp(2rem, 3.7vw, 3.25rem);
  line-height: 1;
}

.mh2-network__consultant > p:not(.home-kicker) {
  color: rgba(255,255,255,.64);
}

.mh2-network__consultant .btn { margin-top: .65rem; }

.mh2-network__coverage {
  position: absolute;
  z-index: 2;
  right: 2.5rem;
  bottom: 2.5rem;
  padding: 1rem 1.2rem;
  border: 1px solid var(--mh-line);
  background: rgba(255,255,255,.94);
  box-shadow: var(--mh-shadow-md);
}

.mh2-network__coverage strong,
.mh2-network__coverage span { display: block; }
.mh2-network__coverage strong { color: var(--mh-brand); font-size: .84rem; }
.mh2-network__coverage span { margin-top: .2rem; color: var(--mh-muted); font-size: .72rem; }

.mh2-network__roles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--mh-line);
  border-top: 0;
}

.mh2-network__roles a {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  align-items: center;
  gap: .8rem;
  padding: 1.5rem;
  color: var(--mh-ink);
  text-decoration: none;
  transition: background-color 220ms ease, color 220ms ease;
}

.mh2-network__roles a + a { border-left: 1px solid var(--mh-line); }
.mh2-network__roles a:hover,
.mh2-network__roles a:focus-visible { background: var(--mh-soft-warm); color: var(--mh-brand); }
.mh2-network__roles a > span { color: var(--mh-brand); font-size: .7rem; font-weight: 900; }
.mh2-network__roles strong { display: block; font-size: 1rem; }
.mh2-network__roles p { margin: .15rem 0 0; color: var(--mh-muted); font-size: .76rem; }
.mh2-network__roles i { font-style: normal; transition: transform 220ms ease; }
.mh2-network__roles a:hover i { transform: translateX(5px); }

/* Final statement and CTA */
.mh2-statement {
  padding: clamp(7rem, 12vw, 11rem) 0;
  color: #fff;
  background:
    linear-gradient(rgba(17,19,24,.88), rgba(17,19,24,.93)),
    url("../images/homes/moHomeImgBtm.png") center / cover no-repeat;
  background-attachment: fixed;
}

.mh2-statement h2 {
  max-width: 1100px;
  font-size: clamp(3.25rem, 6.3vw, 6rem);
}

.mh2-statement h2 span { color: #c88aa0; }

.mh2-statement__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: clamp(4rem, 8vw, 7rem);
  border-top: 1px solid rgba(255,255,255,.18);
}

.mh2-statement__grid article {
  padding: 2rem 1.5rem 0 0;
}

.mh2-statement__grid article + article {
  padding-left: 1.5rem;
  border-left: 1px solid rgba(255,255,255,.18);
}

.mh2-statement__grid span {
  color: #b7d17e;
  font-size: .72rem;
  font-weight: 900;
}

.mh2-statement__grid h3 {
  margin: .9rem 0 .7rem;
  font-size: 1.12rem;
}

.mh2-statement__grid p {
  margin: 0;
  color: rgba(255,255,255,.56);
  font-size: .84rem;
  line-height: 1.55;
}

.mh2-final {
  position: relative;
  overflow: hidden;
  padding: clamp(5rem, 9vw, 8rem) 0;
  color: #fff;
  background: var(--mh-brand);
}

.mh2-final__rings {
  position: absolute;
  top: 50%;
  right: -12rem;
  width: 32rem;
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  box-shadow: 0 0 0 5rem rgba(255,255,255,.04), 0 0 0 10rem rgba(255,255,255,.025);
  transform: translateY(-50%);
}

.mh2-final__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 4rem;
}

.mh2-final h2 {
  max-width: 820px;
}

.mh2-final .home-kicker {
  border-color: rgba(255,255,255,.24);
  background: rgba(255,255,255,.1);
  color: #d9e6bd;
}

.mh2-final__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.1rem;
}

.mh2-text-link--light { color: #fff; }

/* Responsive compositions */
@media (max-width: 1199.98px) {
  .mh2-hero__grid {
    grid-template-columns: minmax(0, .95fr) minmax(400px, 1.05fr);
    gap: 3rem;
  }

  .mh2-hero h1 { font-size: clamp(3.65rem, 7vw, 5.2rem); }
  .mh2-hero__visual { min-height: 540px; }
  .mh2-hero__frame { left: 3rem; }
  .mh2-transform__grid { gap: 5rem; }
  .mh2-audience__bento { grid-auto-rows: 280px; }
  .mh2-education__grid { grid-template-columns: minmax(0,.85fr) minmax(430px,1.15fr); gap: 4rem; }
}

@media (max-width: 991.98px) {
  .mh2-hero,
  .mh2-hero__grid { min-height: auto; }

  .mh2-hero__grid {
    grid-template-columns: 1fr;
    gap: 4rem;
    padding-top: 5rem;
    padding-bottom: 7rem;
  }

  .mh2-hero__copy { max-width: 800px; }
  .mh2-hero h1 { max-width: 760px; font-size: clamp(4rem, 10vw, 6rem); }
  .mh2-hero__lead { max-width: 700px; }
  .mh2-hero__visual { min-height: 620px; margin-left: 8vw; }
  .mh2-hero__frame { inset: 2rem 0 3rem 7rem; }
  .mh2-hero__inset { width: 220px; }

  .mh2-heading--split,
  .mh2-transform__grid,
  .mh2-process__layout,
  .mh2-education__grid,
  .mh2-final__inner {
    grid-template-columns: 1fr;
  }

  .mh2-heading--split { align-items: start; gap: 1.5rem; }
  .mh2-transform__visual { min-height: 620px; order: 2; }
  .mh2-transform__grid { gap: 4rem; }
  .mh2-process__media { min-height: 500px; }
  .mh2-process__steps { margin-top: 1rem; }

  .mh2-audience__bento { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 330px; }
  .mh2-audience-card,
  .mh2-audience-card--feature,
  .mh2-audience-card--feature + .mh2-audience-card,
  .mh2-audience-card--wide,
  .mh2-audience-card--dark { grid-column: span 1; grid-row: span 1; }
  .mh2-audience-card--feature { grid-row: span 2; }

  .mh2-education__grid { gap: 4.5rem; }
  .mh2-education__copy { max-width: 700px; }
  .mh2-education__workspace { margin-right: 2rem; }
  .mh2-network__stage { min-height: 720px; }
  .mh2-network__consultant { top: auto; right: 2rem; bottom: 2rem; left: 2rem; width: auto; transform: none; }
  .mh2-network__map { align-items: start; padding: 2rem; }
  .mh2-network__map img { width: 90%; }
  .mh2-network__coverage { top: 2rem; right: 2rem; bottom: auto; }

  .mh2-statement { background-attachment: scroll; }
  .mh2-statement__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .mh2-statement__grid article:nth-child(3) { padding-left: 0; border-left: 0; }
  .mh2-statement__grid article:nth-child(n+3) { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.18); }
  .mh2-final__inner { align-items: start; gap: 2.5rem; }
}

@media (max-width: 767.98px) {
  .mh2-section { padding: 5.5rem 0; }
  .mh2-heading h2,
  .mh2-editorial-copy h2,
  .mh2-education__copy h2,
  .mh2-final h2 { font-size: clamp(2.55rem, 10vw, 4rem); }

  .mh2-hero__grid { padding-top: 4rem; }
  .mh2-hero h1 { max-width: 640px; font-size: clamp(3.5rem, 12vw, 5rem); }
  .mh2-hero__proof { max-width: 600px; }
  .mh2-hero__visual { min-height: 520px; margin-left: 0; }
  .mh2-hero__frame { inset: 1.5rem 0 2rem 4rem; }
  .mh2-hero__inset { width: 180px; }
  .mh2-hero__float { right: 0; }
  .mh2-scroll-cue { display: none; }

  .mh2-transform__visual { min-height: 520px; }
  .mh2-transform__before { width: 84%; }
  .mh2-transform__after { width: 72%; }
  .mh2-transform__note { width: 200px; }

  .mh2-process__steps { grid-template-columns: 1fr; }
  .mh2-process__steps li:nth-child(even) { padding-left: 0; border-left: 0; }
  .mh2-process__footer { align-items: flex-start; flex-direction: column; }

  .mh2-audience__bento { grid-template-columns: 1fr; grid-auto-rows: 360px; }
  .mh2-audience-card--feature { grid-row: span 1; }
  .mh2-audience-card h3 { font-size: clamp(1.5rem, 6vw, 2rem); }

  .mh2-education__workspace { margin-right: 1rem; }
  .mh2-workspace__body { padding: 2rem; }
  .mh2-education__float { right: -1rem; }

  .mh2-network__stage { min-height: 680px; }
  .mh2-network__coverage { display: none; }
  .mh2-network__map img { width: 110%; }
  .mh2-network__roles { grid-template-columns: 1fr; }
  .mh2-network__roles a + a { border-top: 1px solid var(--mh-line); border-left: 0; }

  .mh2-statement h2 { font-size: clamp(3rem, 12vw, 4.8rem); }
}

@media (max-width: 575.98px) {
  .mh2-hero__grid { gap: 3rem; padding-top: 3.5rem; padding-bottom: 5rem; }
  .mh2-hero h1 { margin-top: 1rem; font-size: clamp(3.25rem, 15.5vw, 4.35rem); line-height: .88; }
  .mh2-hero__lead { font-size: 1.02rem; }
  .mh2-hero__actions { flex-direction: column; }
  .mh2-hero__actions .btn { width: 100%; }
  .mh2-hero__download { width: 100%; }
  .mh2-hero__store-links { flex-wrap: wrap; }
  .mh2-hero__proof { gap: .75rem; }
  .mh2-hero__proof div { padding-right: .55rem; }
  .mh2-hero__proof div + div { padding-left: .55rem; }
  .mh2-hero__proof strong { font-size: .78rem; }
  .mh2-hero__proof span { font-size: .64rem; }

  .mh2-hero__visual { min-height: 430px; }
  .mh2-hero__frame { inset: 1.25rem 0 1.5rem 2.5rem; }
  .mh2-hero__frame::before { inset: -.7rem .7rem .7rem -.7rem; }
  .mh2-hero__frame-label { right: .8rem; bottom: .75rem; font-size: .59rem; }
  .mh2-hero__inset { width: 128px; border-width: 5px; }
  .mh2-hero__inset figcaption { font-size: .56rem; }
  .mh2-hero__float { top: -.4rem; width: 205px; padding: .7rem; }
  .mh2-hero__float-icon { width: 2.1rem; height: 2.1rem; font-size: .6rem; }
  .mh2-hero__float strong { font-size: .7rem; }
  .mh2-hero__float div span { display: none; }

  .mh2-runner,
  .mh2-runner__track { min-height: 58px; height: 58px; }
  .mh2-runner__track { gap: 1.4rem; }

  .mh2-transform__visual { min-height: 410px; }
  .mh2-transform__before { width: 88%; height: 54%; }
  .mh2-transform__after { width: 74%; height: 54%; border-width: 6px; }
  .mh2-transform__note { bottom: 13%; width: 170px; padding: .8rem; }
  .mh2-transform__note span { display: none; }

  .mh2-process__media { min-height: 390px; }
  .mh2-process__media figcaption { right: 1.2rem; bottom: 1.2rem; left: 1.2rem; }
  .mh2-process__steps li { padding: 1.3rem 0; }

  .mh2-audience__bento { grid-auto-rows: 330px; }
  .mh2-audience-card > div { padding: 1.35rem; }

  .mh2-education__workspace { margin-right: 0; transform: none; }
  .mh2-workspace__body { padding: 1.35rem; }
  .mh2-workspace__answer { grid-template-columns: 32px 1fr; padding: .8rem; }
  .mh2-workspace__answer span { width: 1.9rem; height: 1.9rem; }
  .mh2-workspace__search > div { border-radius: 18px; flex-direction: column; }
  .mh2-workspace__search button { min-height: 44px; }
  .mh2-education__float { position: relative; right: auto; bottom: auto; width: calc(100% - 2rem); margin: -1rem auto 0; transform: none; }

  .mh2-network__stage { min-height: 650px; }
  .mh2-network__map { padding: 1rem; }
  .mh2-network__map img { width: 125%; }
  .mh2-network__consultant { right: 1rem; bottom: 1rem; left: 1rem; padding: 1.5rem; }
  .mh2-network__consultant h3 { font-size: 2rem; }
  .mh2-network__consultant .btn { width: 100%; }
  .mh2-network__roles a { padding: 1.2rem; }

  .mh2-statement__grid { grid-template-columns: 1fr; }
  .mh2-statement__grid article,
  .mh2-statement__grid article + article,
  .mh2-statement__grid article:nth-child(3) { padding: 1.5rem 0; border-top: 1px solid rgba(255,255,255,.18); border-left: 0; }
  .mh2-statement__grid article:first-child { border-top: 0; }
  .mh2-statement__grid article:nth-child(n+3) { margin-top: 0; }
  .mh2-final__actions,
  .mh2-final__actions .btn { width: 100%; }
}

@media (max-width: 359.98px) {
  .mh2-hero h1 { font-size: 3.05rem; }
  .mh2-hero__proof { grid-template-columns: 1fr; }
  .mh2-hero__proof div + div { padding: .65rem 0 0; border-top: 1px solid rgba(255,255,255,.1); border-left: 0; }
  .mh2-hero__proof span { display: inline; margin-left: .4rem; }
  .mh2-hero__visual { min-height: 370px; }
  .mh2-hero__float { width: 180px; }
  .mh2-transform__visual { min-height: 360px; }
  .mh2-heading h2,
  .mh2-editorial-copy h2,
  .mh2-education__copy h2,
  .mh2-final h2 { font-size: 2.35rem; }
}

@media (prefers-reduced-motion: reduce) {
  .mh2-runner__track,
  .mh2-scroll-cue i::after { animation: none; }
  .mh2-media-zoom img,
  .mh2-audience-card,
  .mh2-audience-card img,
  .mh2-process__steps li,
  .mh2-network__map img { transition: none; }
  .mh2-media-zoom:hover img,
  .mh2-audience-card:hover,
  .mh2-audience-card:hover img,
  .mh2-process__steps li:hover { transform: none; }
}

/* Shared editorial page compositions */
.mh2-persona-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 12% 88%, rgba(108,15,43,.4), transparent 34%),
    linear-gradient(130deg, #111318, #202329);
}

.mh2-persona-hero::before {
  content: "";
  position: absolute;
  right: -8rem;
  bottom: -16rem;
  width: 44rem;
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 50%;
  box-shadow: 0 0 0 6rem rgba(255,255,255,.026), 0 0 0 12rem rgba(255,255,255,.018);
}

.mh2-persona--consultants .mh2-persona-hero {
  background:
    radial-gradient(circle at 74% 18%, rgba(111,141,61,.22), transparent 24%),
    linear-gradient(130deg, #1a1215, #541021 60%, #6c0f2b);
}

.mh2-persona-hero__grid {
  position: relative;
  z-index: 1;
  min-height: 700px;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(440px, 1.12fr);
  align-items: center;
  gap: clamp(4rem, 8vw, 8rem);
  padding-top: clamp(5rem, 9vw, 7rem);
  padding-bottom: clamp(5rem, 9vw, 7rem);
}

.mh2-persona-hero__copy h1 {
  max-width: 760px;
  margin: 1.1rem 0 1.5rem;
  font-size: clamp(3.7rem, 6vw, 6rem);
  font-weight: 925;
  letter-spacing: -.065em;
  line-height: .91;
}

.mh2-persona-hero__copy > p:not(.home-kicker) {
  max-width: 620px;
  color: rgba(255,255,255,.7);
  font-size: clamp(1.05rem, 1.45vw, 1.22rem);
  line-height: 1.65;
}

.mh2-persona-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.25rem;
  margin-top: 2rem;
}

.mh2-persona-hero__visual {
  position: relative;
  min-height: 520px;
}

.mh2-persona-hero__image {
  position: absolute;
  inset: 0 0 2rem 3rem;
  box-shadow: 0 38px 85px rgba(0,0,0,.38);
}

.mh2-persona-hero__image::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -1rem 1rem 1rem -1rem;
  border: 1px solid rgba(255,255,255,.2);
}

.mh2-persona-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.74) contrast(1.04);
}

.mh2-persona--consultants .mh2-persona-hero__image img {
  object-position: center 18%;
  background: #f2f0ef;
}

.mh2-persona-hero__inset {
  position: absolute;
  z-index: 2;
  right: -1rem;
  bottom: 0;
  width: 210px;
  height: 260px;
  margin: 0;
  border: 7px solid #fff;
  background: #fff;
  box-shadow: var(--mh-shadow-lg);
  transform: rotate(2deg);
}

.mh2-persona-hero__inset img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mh2-persona-hero__card {
  position: absolute;
  z-index: 3;
  bottom: 0;
  left: 0;
  max-width: 290px;
  padding: 1.15rem 1.35rem;
  border-left: 4px solid var(--mh-green);
  background: #fff;
  box-shadow: 0 24px 55px rgba(0,0,0,.28);
  color: var(--mh-ink);
}

.mh2-persona-hero__card strong,
.mh2-persona-hero__card span { display: block; }
.mh2-persona-hero__card strong { color: var(--mh-brand); font-size: .85rem; }
.mh2-persona-hero__card span { margin-top: .25rem; color: var(--mh-muted); font-size: .75rem; }

.mh2-persona-story {
  background:
    radial-gradient(circle at 90% 10%, rgba(111,141,61,.08), transparent 24%),
    #fff;
}

.mh2-persona-story__grid {
  display: grid;
  grid-template-columns: minmax(400px, 1.08fr) minmax(0, .92fr);
  align-items: center;
  gap: clamp(4rem, 9vw, 9rem);
}

.mh2-persona-story__media {
  position: relative;
}

.mh2-persona-story__media figure {
  height: 580px;
  margin: 0;
  box-shadow: var(--mh-shadow-lg);
}

.mh2-persona-story__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mh2-persona-story__media > span {
  position: absolute;
  right: -2rem;
  bottom: 3rem;
  padding: 1.1rem 1.3rem;
  background: var(--mh-brand);
  box-shadow: var(--mh-shadow-md);
  color: #fff;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.mh2-persona-story h2 {
  margin: 1rem 0 1.5rem;
  font-size: clamp(2.8rem, 5vw, 4.6rem);
  line-height: .98;
}

.mh2-persona-story blockquote {
  margin: 2rem 0;
  padding: .4rem 0 .4rem 1.4rem;
  border-left: 4px solid var(--mh-green);
  color: var(--mh-brand);
  font-size: clamp(1.35rem, 2.2vw, 1.9rem);
  font-weight: 850;
  letter-spacing: -.035em;
  line-height: 1.2;
}

.mh2-persona-benefits,
.mh2-consultant-intro {
  background: #f6f5f3;
}

.mh2-persona-benefits__grid,
.mh2-consultant-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.2rem;
}

.mh2-persona-benefit,
.mh2-consultant-card {
  position: relative;
  grid-column: span 4;
  min-height: 480px;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--mh-shadow-sm);
  isolation: isolate;
  transition: transform 260ms ease, box-shadow 260ms ease;
}

.mh2-persona-benefit--feature {
  grid-column: span 6;
}

.mh2-persona-benefit--feature + .mh2-persona-benefit {
  grid-column: span 6;
}

.mh2-persona-benefit--dark {
  grid-column: span 12;
  min-height: 380px;
}

.mh2-persona-benefit img,
.mh2-consultant-card img {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 56%;
  object-fit: cover;
  filter: saturate(.72);
  transition: transform 650ms ease, filter 260ms ease;
}

.mh2-persona-benefit > div,
.mh2-consultant-card > div {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  min-height: 48%;
  padding: clamp(1.5rem, 3vw, 2.3rem);
  background: #fff;
}

.mh2-persona-benefit--dark img {
  height: 100%;
}

.mh2-persona-benefit--dark::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, rgba(17,19,24,.94) 0%, rgba(17,19,24,.72) 55%, rgba(17,19,24,.2));
}

.mh2-persona-benefit--dark > div {
  top: 0;
  right: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: transparent;
  color: #fff;
}

.mh2-persona-benefit span,
.mh2-consultant-card span {
  color: var(--mh-brand);
  font-size: .72rem;
  font-weight: 900;
}

.mh2-persona-benefit--dark span { color: #b7d17e; }

.mh2-persona-benefit h3,
.mh2-consultant-card h3 {
  margin: .75rem 0 .55rem;
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  line-height: 1.05;
}

.mh2-persona-benefit p,
.mh2-consultant-card p {
  margin: 0;
  color: var(--mh-muted);
  font-size: .88rem;
  line-height: 1.55;
}

.mh2-persona-benefit--dark p { color: rgba(255,255,255,.64); }

.mh2-persona-benefit:hover,
.mh2-consultant-card:hover {
  box-shadow: var(--mh-shadow-lg);
  transform: translateY(-7px);
}

.mh2-persona-benefit:hover img,
.mh2-consultant-card:hover img {
  filter: saturate(.95);
  transform: scale(1.045);
}

.mh2-consultant-card {
  grid-column: span 4;
  min-height: 430px;
}

.mh2-consultant-card--feature {
  grid-column: span 8;
  grid-row: span 2;
  min-height: 880px;
}

.mh2-consultant-card--feature img { height: 67%; }
.mh2-consultant-card--feature > div { min-height: 36%; }
.mh2-consultant-card--dark { color: #fff; background: #17191d; }
.mh2-consultant-card--dark > div { background: #17191d; }
.mh2-consultant-card--dark p { color: rgba(255,255,255,.62); }
.mh2-consultant-card--dark span { color: #b7d17e; }
.mh2-consultant-card--wide { grid-column: span 8; }

/* Stronger shared chrome and page endings */
@media (min-width: 1200px) {
  .public-nav__inner { min-height: 94px; }
  .public-brand img { width: 132px; }
  .public-nav__link { position: relative; padding-block: .7rem; }
  .public-nav__link::after {
    content: "";
    position: absolute;
    right: .8rem;
    bottom: .15rem;
    left: .8rem;
    height: 2px;
    background: var(--mh-brand);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 220ms ease;
  }
  .public-nav__link:hover::after,
  .public-nav__link:focus-visible::after,
  .public-nav__link.is-active::after,
  .public-nav__dropdown.is-parent-active > .public-nav__link::after {
    transform: scaleX(1);
    transform-origin: left;
  }
}

.public-nav__dropdown-menu {
  border-top: 3px solid var(--mh-brand);
  box-shadow: 0 26px 65px rgba(17,19,24,.16);
}

.site-footer {
  padding-top: 0;
}

.footer-next {
  position: relative;
  border-bottom: 1px solid rgba(255,255,255,.13);
}

.footer-next__inner {
  min-width: 0;
  padding-top: clamp(4rem, 6.5vw, 6rem);
  padding-bottom: clamp(3.25rem, 5vw, 4.5rem);
}

.footer-next__intro {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, .55fr);
  align-items: end;
  gap: clamp(2rem, 6vw, 6rem);
  margin-bottom: clamp(2.25rem, 4vw, 3.5rem);
}

.site-footer .footer-next__intro h2 {
  max-width: 800px;
  margin: 1rem 0 0;
  color: #fff;
  font-size: clamp(3rem, 4.9vw, 4.8rem);
  font-weight: 925;
  letter-spacing: -.055em;
  line-height: .92;
  text-transform: none;
  text-wrap: balance;
  overflow-wrap: break-word;
}

.footer-next__intro .home-kicker {
  border-color: rgba(255,255,255,.22);
  background: rgba(255,255,255,.08);
  color: #b7d17e;
}

.site-footer .footer-next__intro > p {
  max-width: 440px;
  margin: 0 0 .35rem;
  color: rgba(255,255,255,.66);
  font-size: 1rem;
  line-height: 1.65;
}

.footer-next__paths {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.footer-next__path {
  width: 100%;
  max-width: 100%;
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: clamp(1.25rem, 2vw, 1.7rem);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: var(--mh-radius-lg);
  background: rgba(255,255,255,.055);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
  transition: border-color var(--mh-ease), background-color var(--mh-ease), transform var(--mh-ease);
}

.footer-next__path::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: var(--mh-green);
  content: "";
}

.footer-next__path--scope::before { background: var(--mh-brand); }
.footer-next__path--team::before { background: linear-gradient(90deg, var(--mh-brand), var(--mh-green)); }

.footer-next__path:hover {
  border-color: rgba(255,255,255,.24);
  background: rgba(255,255,255,.08);
  transform: translateY(-4px);
}

.footer-next__path-heading {
  display: flex;
  min-height: 64px;
  align-items: flex-start;
  gap: .85rem;
}

.footer-next__path-heading > div { min-width: 0; }

.footer-next__path-heading > span {
  color: #b7d17e;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1.45;
}

.footer-next__path-heading small {
  display: block;
  margin-bottom: .35rem;
  color: rgba(255,255,255,.58);
  font-size: .67rem;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.site-footer .footer-next__path-heading h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.15rem, 1.65vw, 1.42rem);
  font-weight: 850;
  letter-spacing: -.025em;
  line-height: 1.08;
  text-wrap: balance;
  overflow-wrap: break-word;
}

.site-footer .footer-next__path .btn {
  max-width: 100%;
  width: 100%;
  margin: auto 0 0;
  white-space: normal;
}

.footer-next__download { margin-top: auto; }
.footer-next__download .estimator-download__label { color: rgba(255,255,255,.8); }
.site-footer .footer-next__download a { margin: 0; }
.footer-next__download .estimator-download__store:hover { transform: translateY(-2px); }

.footer-next--compact .footer-next__inner {
  padding-top: clamp(2.75rem, 4.5vw, 3.75rem);
  padding-bottom: clamp(2.5rem, 4vw, 3.25rem);
}

.footer-next--compact .footer-next__intro {
  grid-template-columns: minmax(0, 1fr) minmax(280px, .6fr);
  margin-bottom: 1.75rem;
}

.site-footer .footer-next--compact .footer-next__intro h2 {
  max-width: 660px;
  font-size: clamp(2.4rem, 3.7vw, 3.55rem);
}

.footer-next--compact .footer-next__path { padding: 1.1rem 1.2rem; }
.footer-next--compact .footer-next__path-heading { min-height: 54px; }
.footer-grid { padding-top: clamp(3.5rem, 6vw, 5rem); }
.footer-intro { max-width: 360px; }

/* Premium functional and simple content pages */
.public-page .page-hero--simple,
.public-page .page-hero--contact,
.faq-page .page-hero--simple {
  position: relative;
  overflow: hidden;
  min-height: 480px;
  display: grid;
  align-items: center;
  color: #fff;
  background:
    radial-gradient(circle at 82% 18%, rgba(111,141,61,.2), transparent 24%),
    linear-gradient(130deg, #111318, #2b2326);
}

.public-page .page-hero--contact {
  background:
    linear-gradient(90deg, rgba(17,19,24,.94), rgba(17,19,24,.72)),
    url("../images/main/contactHeader.jpg") center / cover no-repeat;
}

.public-page .page-hero--simple::after,
.public-page .page-hero--contact::after,
.faq-page .page-hero--simple::after {
  content: "";
  position: absolute;
  right: -9rem;
  bottom: -15rem;
  width: 38rem;
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 50%;
  box-shadow: 0 0 0 5rem rgba(255,255,255,.025), 0 0 0 10rem rgba(255,255,255,.018);
}

.public-page .page-hero--simple .container,
.public-page .page-hero--contact .container,
.faq-page .page-hero--simple .container { position: relative; z-index: 1; }

.public-page .page-hero--simple h1,
.public-page .page-hero--contact h1,
.faq-page .page-hero--simple h1 {
  max-width: 960px;
  font-size: clamp(3.2rem, 6vw, 5.8rem);
  line-height: .94;
}

.legal-page__panel,
.faq-library,
.contact-panel,
.contact-form {
  border-radius: 2px;
}

.contact-grid {
  align-items: stretch;
  gap: 0;
  box-shadow: var(--mh-shadow-lg);
}

.contact-panel {
  position: relative;
  overflow: hidden;
  padding: clamp(2.5rem, 5vw, 4.5rem);
  border: 0;
  background: #17191d;
  color: #fff;
}

.contact-panel::after {
  content: "MH";
  position: absolute;
  right: -1.4rem;
  bottom: -2.8rem;
  color: rgba(255,255,255,.035);
  font-size: 13rem;
  font-weight: 950;
  line-height: 1;
}

.contact-panel p { color: rgba(255,255,255,.64); }
.contact-form { padding: clamp(2.5rem, 5vw, 4.5rem); border: 1px solid var(--mh-line); box-shadow: none; }
.contact-form :is(input,textarea) { border-radius: 2px; }
.faq-accordion .accordion-item { border-radius: 2px; }

@media (max-width: 991.98px) {
  .mh2-persona-hero__grid,
  .mh2-persona-story__grid { grid-template-columns: 1fr; }
  .mh2-persona-hero__grid { gap: 4rem; }
  .mh2-persona-hero__visual { min-height: 560px; margin-left: 8vw; }
  .mh2-persona-story__grid { gap: 4rem; }
  .mh2-persona-story__media { order: 2; }
  .mh2-persona-story__media figure { height: 520px; }
  .mh2-persona-benefit--feature,
  .mh2-persona-benefit--feature + .mh2-persona-benefit { grid-column: span 6; }
  .mh2-consultant-card,
  .mh2-consultant-card--feature,
  .mh2-consultant-card--wide { grid-column: span 6; grid-row: span 1; min-height: 460px; }
  .mh2-consultant-card--feature img { height: 56%; }
  .mh2-consultant-card--feature > div { min-height: 48%; }
  .footer-next__intro,
  .footer-next--compact .footer-next__intro { grid-template-columns: 1fr; gap: 1.25rem; }
  .footer-next__paths { grid-template-columns: 1fr; }
  .footer-next__path { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, auto); align-items: center; }
  .footer-next__path-heading { min-height: 0; }
  .footer-next__download,
  .site-footer .footer-next__path .btn { margin-top: 0; }
}

@media (max-width: 767.98px) {
  .mh2-persona-hero__grid { padding-top: 4rem; padding-bottom: 5rem; }
  .mh2-persona-hero__copy h1 { font-size: clamp(3.3rem, 11.5vw, 4.8rem); }
  .mh2-persona-hero__visual { min-height: 480px; margin-left: 0; }
  .mh2-persona-hero__image { left: 3rem; }
  .mh2-persona-hero__inset { width: 160px; height: 200px; }
  .mh2-persona-story__media figure { height: 430px; }
  .mh2-persona-benefit,
  .mh2-persona-benefit--feature,
  .mh2-persona-benefit--feature + .mh2-persona-benefit,
  .mh2-persona-benefit--dark,
  .mh2-consultant-card,
  .mh2-consultant-card--feature,
  .mh2-consultant-card--wide { grid-column: span 12; min-height: 460px; }
  .mh2-persona-benefit--dark { min-height: 420px; }
  .mh2-persona-benefit--dark > div { right: 28%; }
}

@media (max-width: 575.98px) {
  .mh2-persona-hero__copy h1 { font-size: clamp(3rem, 14.5vw, 4.1rem); }
  .mh2-persona-hero__actions { align-items: flex-start; flex-direction: column; }
  .mh2-persona-hero__actions .btn { width: 100%; }
  .mh2-persona-hero__visual { min-height: 390px; }
  .mh2-persona-hero__image { inset: 1rem 0 1.5rem 2rem; }
  .mh2-persona-hero__card { max-width: 220px; padding: .85rem 1rem; }
  .mh2-persona-hero__inset { right: 0; width: 120px; height: 155px; border-width: 4px; }
  .mh2-persona-story__media figure { height: 360px; }
  .mh2-persona-story__media > span { right: -.5rem; bottom: 1rem; }
  .mh2-persona-story h2 { font-size: 2.65rem; }
  .mh2-persona-benefit--dark > div { right: 0; }
  .mh2-persona-benefit--dark::after { background: rgba(17,19,24,.82); }
  .site-footer .footer-next__intro h2,
  .site-footer .footer-next--compact .footer-next__intro h2 { font-size: clamp(2.35rem, 10.8vw, 3.15rem); }
  .footer-next__path { display: flex; }
  .footer-next__download,
  .site-footer .footer-next__path .btn { width: 100%; }
  .footer-next__download .estimator-download__stores { flex-wrap: nowrap; }
  .footer-next__download .estimator-download__store img { height: clamp(34px, 10vw, 40px); }
  .public-page .page-hero--simple,
  .public-page .page-hero--contact,
  .faq-page .page-hero--simple { min-height: 430px; }
  .site-footer .footer-column a {
    min-width: 44px;
    min-height: 44px;
    display: flex;
    align-items: center;
    margin-bottom: 0;
  }
  .site-footer .footer-column p a {
    display: inline-flex;
    margin-right: .5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mh2-persona-benefit,
  .mh2-persona-benefit img,
  .mh2-consultant-card,
  .mh2-consultant-card img { transition: none; }
  .mh2-persona-benefit:hover,
  .mh2-persona-benefit:hover img,
  .mh2-consultant-card:hover,
  .mh2-consultant-card:hover img { transform: none; }
}

/* Shared Professional hero typography.
   Long role-specific titles need a calmer scale and a wider editorial measure
   than the deliberately line-broken Home display. */
.professional-page--editorial {
  --professional-hero-title-size: clamp(3.75rem, 5vw, 4.65rem);
  --professional-hero-title-leading: .91;
}

.professional-page--editorial :is(
  .lender-hero__grid,
  .hc-hero__inner,
  .contractor-hero__grid,
  .realtor-hero__grid
) {
  grid-template-columns: minmax(0, 1fr) minmax(540px, 1fr);
  gap: clamp(2.5rem, 4vw, 4.5rem);
}

.professional-page--editorial :is(
  .lender-hero__copy,
  .hc-hero__copy,
  .contractor-hero__copy,
  .realtor-hero__copy
) {
  min-width: 0;
  max-width: 100%;
}

.professional-page--editorial :is(
  .lender-hero__copy,
  .hc-hero__copy,
  .contractor-hero__copy,
  .realtor-hero__copy
) h1 {
  max-width: 100%;
  font-size: var(--professional-hero-title-size);
  line-height: var(--professional-hero-title-leading);
  letter-spacing: -.045em;
  text-wrap: balance;
}

@media (max-width: 1199.98px) {
  .professional-page--editorial {
    --professional-hero-title-size: clamp(3.35rem, 5.4vw, 4.25rem);
  }

  .professional-page--editorial :is(
    .lender-hero__grid,
    .hc-hero__inner,
    .contractor-hero__grid,
    .realtor-hero__grid
  ) {
    grid-template-columns: minmax(0, 1fr) minmax(470px, 1.08fr);
    gap: clamp(2rem, 3.6vw, 3rem);
  }
}

@media (max-width: 991.98px) {
  .professional-page--editorial {
    --professional-hero-title-size: clamp(3.4rem, 8vw, 4.35rem);
  }

  .professional-page--editorial :is(
    .lender-hero__grid,
    .hc-hero__inner,
    .contractor-hero__grid,
    .realtor-hero__grid
  ) {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .professional-page--editorial {
    --professional-hero-title-size: clamp(3rem, 13.5vw, 3.8rem);
    --professional-hero-title-leading: .9;
  }
}

@media (max-width: 359.98px) {
  .professional-page--editorial {
    --professional-hero-title-size: 2.9rem;
  }
}

/* Shared editorial hero balance for story and functional split-media pages.
   Each page supplies a scale appropriate to its title length and purpose. */
.editorial-hero-page--about {
  --editorial-hero-title-size: clamp(3.75rem, 5vw, 4.65rem);
  --editorial-hero-title-leading: .91;
}

.editorial-hero-page--contact {
  --editorial-hero-title-size: clamp(3.6rem, 4.6vw, 4.5rem);
  --editorial-hero-title-leading: .92;
}

.editorial-hero-page :is(.about-hero__copy, .inner-hero__copy) {
  min-width: 0;
  max-width: 100%;
}

.editorial-hero-page :is(.about-hero__copy, .inner-hero__copy) h1 {
  max-width: 100%;
  font-size: var(--editorial-hero-title-size);
  line-height: var(--editorial-hero-title-leading);
  letter-spacing: -.045em;
  text-wrap: balance;
}

@media (max-width: 1199.98px) {
  .editorial-hero-page--about {
    --editorial-hero-title-size: clamp(3.35rem, 5.4vw, 4.25rem);
  }

  .editorial-hero-page--contact {
    --editorial-hero-title-size: clamp(3.2rem, 5vw, 4rem);
  }
}

@media (max-width: 991.98px) {
  .editorial-hero-page--about {
    --editorial-hero-title-size: clamp(3.4rem, 8vw, 4.35rem);
  }

  .editorial-hero-page--contact {
    --editorial-hero-title-size: clamp(3.25rem, 7.5vw, 4rem);
  }
}

@media (max-width: 767.98px) {
  .editorial-hero-page--about {
    --editorial-hero-title-size: clamp(3rem, 13.5vw, 3.8rem);
    --editorial-hero-title-leading: .9;
  }

  .editorial-hero-page--contact {
    --editorial-hero-title-size: clamp(2.85rem, 12vw, 3.45rem);
    --editorial-hero-title-leading: .92;
  }
}

@media (max-width: 359.98px) {
  .editorial-hero-page--about {
    --editorial-hero-title-size: 2.9rem;
  }

  .editorial-hero-page--contact {
    --editorial-hero-title-size: 2.75rem;
  }
}

/* How It Works: a connected journey from early feasibility to renovation. */
.how-page--connected {
  background: var(--mh-soft-warm);
}

.how-page--connected .how-hero--connected {
  min-height: 0;
  padding: clamp(4.75rem, 7vw, 7rem) 0 0;
  background:
    linear-gradient(rgba(255,255,255,.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.032) 1px, transparent 1px),
    radial-gradient(circle at 8% 15%, rgba(108,15,43,.42), transparent 32%),
    linear-gradient(135deg, #111318, #202520);
  background-size: 82px 82px, 82px 82px, auto, auto;
}

.how-page--connected .how-hero--connected::before {
  z-index: 0;
  background: radial-gradient(circle at 82% 18%, rgba(111,141,61,.14), transparent 32%);
}

.how-page--connected .how-hero__inner--journey {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(560px, 1.1fr);
  gap: clamp(3rem, 5vw, 5rem);
  align-items: center;
  min-height: 620px;
  padding-top: 0;
  padding-bottom: clamp(4rem, 6vw, 6rem);
  text-align: left;
}

.how-page--connected .how-hero__copy {
  min-width: 0;
  max-width: 100%;
}

.how-page--connected .how-hero__copy h1 {
  max-width: 100%;
  margin: 1.15rem 0 1.5rem;
  font-size: clamp(3.75rem, 5vw, 4.65rem);
  line-height: .91;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.how-page--connected .how-hero__copy > p:not(.home-kicker) {
  max-width: 570px;
  color: rgba(255,255,255,.72);
  font-size: clamp(1.05rem, 1.5vw, 1.22rem);
  line-height: 1.65;
}

.how-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem 1.6rem;
  align-items: center;
  margin-top: 2rem;
}

.how-hero__actions .process-scroll-cue { margin-top: 0; }
.how-hero__actions > span { max-width: 210px; color: rgba(255,255,255,.5); font-size: .75rem; font-weight: 750; line-height: 1.45; }

.how-hero__visual {
  position: relative;
  min-width: 0;
  min-height: 610px;
}

.how-hero__photo {
  position: absolute;
  inset: 0 7% 3% 4%;
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 34px;
  box-shadow: 0 34px 80px rgba(0,0,0,.36);
}

.how-hero__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 42%, rgba(17,19,24,.46));
  pointer-events: none;
}

.how-hero__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 55% center; transition: transform 300ms ease; }
.how-hero__visual:hover .how-hero__photo img { transform: scale(1.025); }

.how-page--connected .how-hero__map {
  position: absolute;
  right: 0;
  bottom: 7%;
  z-index: 3;
  width: min(58%, 390px);
  padding: clamp(1.35rem, 2.5vw, 2rem);
  border-color: rgba(255,255,255,.15);
  border-radius: 24px;
  background: rgba(17,19,24,.88);
  box-shadow: 0 28px 65px rgba(0,0,0,.38);
  backdrop-filter: blur(18px);
  transform: rotate(-1.5deg);
  transition: transform 240ms ease, box-shadow 240ms ease;
}

.how-page--connected .how-hero__map:hover { box-shadow: 0 34px 75px rgba(0,0,0,.44); transform: translateY(-5px) rotate(-.5deg); }
.how-page--connected .how-hero__map li { padding: .9rem 0; }
.how-page--connected .how-hero__map li strong { font-size: 1.02rem; }
.how-page--connected .how-hero__map > div { gap: .7rem; font-size: .68rem; }

.how-hero__signal {
  position: absolute;
  left: 0;
  bottom: 4%;
  z-index: 4;
  max-width: 255px;
  display: grid;
  gap: .35rem;
  padding: 1.15rem 1.3rem;
  border-left: 5px solid var(--mh-green);
  background: #fff;
  box-shadow: var(--mh-shadow-lg);
  color: var(--mh-ink);
}

.how-hero__signal span { color: var(--mh-green); font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.how-hero__signal strong { font-size: .93rem; line-height: 1.35; }

.how-hero__continuum {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  padding: 0;
  margin-bottom: -2.5rem;
  list-style: none;
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--mh-shadow-lg);
  color: var(--mh-ink);
  transform: translateY(-2.5rem);
}

.how-hero__continuum li {
  position: relative;
  display: grid;
  gap: .25rem;
  min-width: 0;
  padding: 1.2rem 1rem;
  border-right: 1px solid var(--mh-line);
}

.how-hero__continuum li:last-child { border-right: 0; }
.how-hero__continuum li:not(:last-child)::after { content: ""; position: absolute; top: 50%; right: -4px; z-index: 1; width: 8px; height: 8px; border-top: 2px solid var(--mh-green); border-right: 2px solid var(--mh-green); transform: translateY(-50%) rotate(45deg); }
.how-hero__continuum span { color: var(--mh-green); font-size: .67rem; font-weight: 900; letter-spacing: .08em; }
.how-hero__continuum strong { overflow: hidden; font-size: .84rem; text-overflow: ellipsis; white-space: nowrap; }

/* Keep the bottom journey rails fully contained within their inverse heroes. */
.professional-page--editorial,
.how-page--connected {
  --mh-hero-rail-bottom-space: clamp(2.5rem, 4vw, 3.5rem);
}

.professional-page--editorial .lender-hero,
.professional-page--editorial .contractor-hero,
.professional-page--editorial .realtor-hero,
.professional-page--editorial .hc-hero,
.how-page--connected .how-hero--connected {
  padding-bottom: var(--mh-hero-rail-bottom-space);
}

.professional-page--editorial :is(
  .lender-hero__continuum,
  .contractor-hero__package,
  .realtor-hero__moment,
  .hc-hero__path
) {
  border-radius: var(--mh-radius-md);
}

.how-journey-intro {
  padding: clamp(8rem, 11vw, 11rem) 0 clamp(5rem, 8vw, 8rem);
  background: #fff;
}

.how-journey-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: end;
}

.how-page--connected .how-heading { max-width: none; margin: 0; text-align: left; }
.how-page--connected .how-heading h2 { max-width: 760px; margin: 1rem 0 1.2rem; font-size: clamp(3rem, 5vw, 5.1rem); line-height: .94; letter-spacing: -.04em; text-wrap: balance; }
.how-page--connected .how-heading > p:last-child { max-width: 650px; color: var(--mh-muted); font-size: 1.08rem; line-height: 1.7; }

.how-journey-intro__guide {
  padding: clamp(1.8rem, 3vw, 2.7rem);
  border-left: 5px solid var(--mh-brand);
  border-radius: 0 var(--mh-radius-lg) var(--mh-radius-lg) 0;
  background: var(--mh-soft-warm);
  box-shadow: var(--mh-shadow-sm);
}

.how-journey-intro__guide > p { max-width: 620px; margin: 0; color: var(--mh-ink); font-size: clamp(1.15rem, 2vw, 1.45rem); font-weight: 750; line-height: 1.5; }

.how-page--connected .process-phase-rail {
  position: static;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .7rem;
  margin: 2rem 0 0;
  background: transparent;
  box-shadow: none;
}

.how-page--connected .process-phase-rail a {
  min-height: 74px;
  display: grid;
  gap: .25rem;
  justify-content: initial;
  padding: 1rem;
  border: 1px solid var(--mh-line);
  border-radius: var(--mh-radius-sm);
  background: #fff;
  color: var(--mh-ink);
  transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}

.how-page--connected .process-phase-rail a:hover { border-color: rgba(108,15,43,.28); box-shadow: var(--mh-shadow-sm); transform: translateY(-3px); }
.how-page--connected .process-phase-rail a span { color: var(--mh-green); font-size: .68rem; }
.how-page--connected .process-phase-rail a strong { font-size: .86rem; }

.journey-chapter { position: relative; padding: clamp(5.5rem, 9vw, 9rem) 0; }
.journey-chapter__heading { display: grid; grid-template-columns: minmax(150px, .28fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; margin-bottom: clamp(3rem, 6vw, 5.5rem); }
.journey-chapter__heading > div:first-child { display: grid; gap: .35rem; padding-top: .6rem; border-top: 1px solid currentColor; }
.journey-chapter__heading > div:first-child span { color: var(--mh-green); font-size: .7rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.journey-chapter__heading > div:first-child strong { font-size: 1.05rem; }
.journey-chapter__heading h2 { max-width: 900px; margin: 0 0 1.2rem; font-size: clamp(2.8rem, 4.7vw, 4.8rem); line-height: .96; letter-spacing: -.04em; text-wrap: balance; }
.journey-chapter__heading p { max-width: 690px; margin: 0; color: var(--mh-muted); font-size: 1.08rem; line-height: 1.7; }

.journey-chapter--understand { background: linear-gradient(145deg, var(--mh-soft-warm), #fff 62%); }
.journey-understand-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr); gap: clamp(1.5rem, 3vw, 2.5rem); align-items: stretch; }

.journey-step {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--mh-line);
  border-radius: var(--mh-radius-xl);
  background: #fff;
  box-shadow: var(--mh-shadow-md);
  transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease;
}

.journey-step:hover { border-color: rgba(108,15,43,.25); box-shadow: var(--mh-shadow-lg); transform: translateY(-7px); }
.journey-step:focus { outline: none; }
.journey-step:focus-visible { outline: 3px solid rgba(111,141,61,.65); outline-offset: 5px; }
.journey-step__media { position: relative; overflow: hidden; margin: 0; }
.journey-step__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 300ms ease; }
.journey-step:hover .journey-step__media img { transform: scale(1.035); }
.journey-step__media figcaption { position: absolute; left: 1rem; bottom: 1rem; max-width: calc(100% - 2rem); padding: .55rem .75rem; background: rgba(17,19,24,.84); color: #fff; font-size: .72rem; font-weight: 800; }
.journey-step__body { padding: clamp(1.7rem, 3vw, 2.7rem); }
.journey-step__meta { display: flex; gap: .75rem; align-items: center; margin-bottom: 1rem; color: var(--mh-brand); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.journey-step__meta span { min-width: 42px; color: var(--mh-green); font-size: 1.3rem; letter-spacing: -.03em; }
.journey-step__meta p { margin: 0; }
.journey-step h3 { margin: 0 0 1rem; font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1.02; letter-spacing: -.03em; text-wrap: balance; }
.journey-step__body > p { color: var(--mh-muted); line-height: 1.7; }
.journey-step__body > small { display: block; margin-top: .6rem; color: var(--mh-muted); font-size: .72rem; }
.journey-step__cta { min-height: 48px; }
.journey-step__action {
  align-self: flex-start;
  width: fit-content;
  min-height: 46px;
  margin-top: 1.25rem;
  padding: .65rem 1.1rem;
}

.journey-step__action:active {
  box-shadow: 0 8px 18px rgba(108, 15, 43, .2);
  transform: translateY(0) scale(.985);
}

.journey-step--estimate { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.journey-step--estimate .journey-step__media { min-height: 610px; }
.journey-step--estimate .journey-step__body { align-self: center; }

.journey-step--finance { display: flex; flex-direction: column; background: linear-gradient(155deg, var(--mh-charcoal), #252b27); color: #fff; }
.journey-step--finance .journey-step__media { height: 275px; }
.journey-step--finance .journey-step__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(17,19,24,.72)); }
.journey-step--finance .journey-step__body { display: flex; flex: 1; flex-direction: column; }
.journey-step--finance .journey-step__meta { color: rgba(255,255,255,.78); }
.journey-step--finance .journey-step__body > p { color: rgba(255,255,255,.64); }
.journey-step--finance .mh2-text-link { margin-top: auto; }
.journey-step__proof { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.2rem 0 2rem; }
.journey-step__proof span { padding: .45rem .7rem; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; color: rgba(255,255,255,.78); font-size: .72rem; font-weight: 800; }

.journey-chapter--assemble {
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 10%, rgba(108,15,43,.42), transparent 28%),
    linear-gradient(135deg, #15181c, #242923);
  color: #fff;
}

.journey-chapter--assemble::before { content: "ASSEMBLE"; position: absolute; top: 1rem; right: -1rem; color: rgba(255,255,255,.025); font-size: clamp(8rem, 20vw, 20rem); font-weight: 950; letter-spacing: -.08em; line-height: 1; pointer-events: none; }
.journey-chapter__heading--light p { color: rgba(255,255,255,.62); }
.journey-assemble-grid { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem); }
.journey-assemble-grid .journey-step { color: var(--mh-ink); }
.journey-step--property { grid-column: span 7; }
.journey-step--consultant { grid-column: span 5; background: linear-gradient(150deg, var(--mh-soft-green), #fff); }
.journey-step--contractor { grid-column: span 12; display: grid; grid-template-columns: minmax(340px, .78fr) minmax(0, 1.22fr); }
.journey-step--property .journey-step__media { height: 390px; }
.journey-step--consultant .journey-step__media { height: 310px; }
.journey-step--contractor .journey-step__media { min-height: 430px; }
.journey-step__media--map { background: var(--mh-soft-green); }
.journey-step__media--map img { object-fit: contain; padding: 1rem; }

.journey-chapter--execute { background: linear-gradient(145deg, #fff, var(--mh-soft-warm)); }
.journey-execute__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(430px, .85fr); align-items: center; }
.journey-execute__media { position: relative; min-height: 690px; overflow: hidden; margin: 0; border-radius: var(--mh-radius-xl); box-shadow: var(--mh-shadow-lg); }
.journey-execute__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 52%, rgba(17,19,24,.48)); }
.journey-execute__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 300ms ease; }
.journey-execute__media:hover img { transform: scale(1.025); }
.journey-execute__media figcaption { position: absolute; right: 1.5rem; bottom: 1.5rem; z-index: 2; display: flex; gap: .8rem; align-items: center; max-width: 310px; padding: 1rem 1.15rem; background: rgba(17,19,24,.86); color: #fff; font-size: .82rem; font-weight: 800; }
.journey-execute__media figcaption span { color: var(--mh-green); font-size: 1.25rem; }
.journey-execute__content { position: relative; z-index: 2; margin-left: -5rem; padding: clamp(2.5rem, 5vw, 5rem); border-left: 6px solid var(--mh-green); background: linear-gradient(145deg, var(--mh-charcoal), #222821); box-shadow: var(--mh-shadow-lg); color: #fff; }
.journey-execute__content:focus { outline: none; }
.journey-execute__content:focus-visible { outline: 3px solid rgba(111,141,61,.7); outline-offset: 5px; }
.journey-execute__content h2 { margin: 1rem 0 1.5rem; font-size: clamp(3rem, 4.6vw, 4.8rem); line-height: .95; letter-spacing: -.04em; text-wrap: balance; }
.journey-execute__content h3 { margin: 1.2rem 0 .8rem; font-size: 1.45rem; }
.journey-execute__content > p:not(.home-kicker) { color: rgba(255,255,255,.66); line-height: 1.7; }
.journey-execute__content .journey-step__meta { color: rgba(255,255,255,.76); }
.journey-execute__content .process-help { background: rgba(255,255,255,.07); }
.journey-execute__content .process-help p { color: rgba(255,255,255,.7); }
.journey-execute__sequence { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; gap: .65rem; align-items: center; margin-top: 2rem; color: rgba(255,255,255,.72); font-size: .69rem; font-weight: 850; text-transform: uppercase; }
.journey-execute__sequence i { height: 1px; background: linear-gradient(90deg, var(--mh-green), var(--mh-brand)); }

.how-reinforcement--connected { padding: clamp(5.5rem, 9vw, 9rem) 0; background: #fff; }
.how-reinforcement__grid { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); gap: clamp(3rem, 7vw, 7rem); align-items: start; }
.how-page--connected .how-values--bento { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1rem; border: 0; }
.how-page--connected .how-values--bento article { grid-column: span 5; min-height: 210px; padding: clamp(1.5rem, 3vw, 2.3rem); border: 1px solid var(--mh-line); border-radius: var(--mh-radius-lg); background: var(--mh-soft-warm); transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease; }
.how-page--connected .how-values--bento article:hover { border-color: rgba(108,15,43,.24); box-shadow: var(--mh-shadow-md); transform: translateY(-5px); }
.how-page--connected .how-values--bento .how-value--feature { grid-column: span 7; grid-row: span 2; min-height: 436px; display: flex; flex-direction: column; justify-content: flex-end; background: linear-gradient(150deg, var(--mh-brand), var(--mh-brand-dark)); color: #fff; }
.how-page--connected .how-values--bento .how-value--feature > span { color: rgba(255,255,255,.58); font-size: clamp(4rem, 8vw, 7rem); letter-spacing: -.08em; line-height: .8; }
.how-page--connected .how-values--bento .how-value--feature h3 { font-size: clamp(2.2rem, 4vw, 3.8rem); line-height: 1; }
.how-page--connected .how-values--bento .how-value--feature p { color: rgba(255,255,255,.7); }
.how-page--connected .how-values--bento .how-value--feature strong { margin-top: 1.5rem; color: #fff; }
.how-page--connected .how-values--bento .how-value--wide { background: var(--mh-soft-green); }

.how-final-cta--destination {
  position: relative;
  overflow: hidden;
  padding: clamp(5.5rem, 9vw, 8rem) 0;
  background:
    radial-gradient(circle at 12% 35%, rgba(111,141,61,.18), transparent 30%),
    linear-gradient(130deg, var(--mh-brand-dark), #251019 58%, var(--mh-charcoal));
}

.how-final-cta__rings { position: absolute; right: -10rem; top: -13rem; width: 38rem; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; box-shadow: 0 0 0 5rem rgba(255,255,255,.025), 0 0 0 10rem rgba(255,255,255,.018); }
.how-page--connected .how-final-cta__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(260px, .6fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.how-final-cta__copy { max-width: 650px; }
.how-page--connected .how-final-cta h2 { margin: 1rem 0 1.2rem; font-size: clamp(3.2rem, 5vw, 5.4rem); line-height: .94; letter-spacing: -.045em; text-wrap: balance; }
.how-final-cta__manifesto { display: grid; gap: .2rem; color: rgba(255,255,255,.24); font-size: clamp(2.2rem, 4vw, 4.2rem); font-weight: 950; letter-spacing: -.05em; line-height: .88; text-transform: uppercase; }
.how-page--connected .how-final-cta__actions { min-width: 260px; }
.how-page--connected .how-final-cta__link { min-height: 44px; display: inline-flex; gap: .5rem; align-items: center; text-decoration: none; }
.how-page--connected .how-final-cta__link span { transition: transform 180ms ease; }
.how-page--connected .how-final-cta__link:hover span { transform: translateX(4px); }

@media (max-width: 1199.98px) {
  .how-page--connected .how-hero__inner--journey { grid-template-columns: minmax(0, 1fr) minmax(470px, 1.08fr); gap: clamp(2rem, 3.8vw, 3.25rem); }
  .how-page--connected .how-hero__copy h1 { font-size: clamp(3.35rem, 5.4vw, 4.25rem); }
  .how-hero__visual { min-height: 560px; }
  .journey-understand-grid { grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); }
  .journey-step--estimate { grid-template-columns: 1fr; }
  .journey-step--estimate .journey-step__media { min-height: 340px; }
  .journey-step--property { grid-column: span 7; }
  .journey-step--consultant { grid-column: span 5; }
  .journey-execute__content { margin-left: -3rem; }
  .how-reinforcement__grid { grid-template-columns: .65fr 1.35fr; gap: 3rem; }
  .how-page--connected .how-final-cta__inner { grid-template-columns: minmax(0, 1fr) minmax(240px, .6fr); }
  .how-final-cta__manifesto { display: none; }
}

@media (max-width: 991.98px) {
  .how-page--connected .how-hero--connected { padding-top: 5rem; }
  .how-page--connected .how-hero__inner--journey { grid-template-columns: 1fr; min-height: 0; padding-top: 0; padding-bottom: 4rem; }
  .how-page--connected .how-hero__copy { max-width: 780px; }
  .how-page--connected .how-hero__copy h1 { font-size: clamp(3.4rem, 8vw, 4.35rem); }
  .how-hero__visual { min-height: 560px; }
  .how-hero__continuum { display: none; }
  .how-journey-intro { padding-top: 6rem; }
  .how-journey-intro__grid,
  .journey-chapter__heading,
  .how-reinforcement__grid { grid-template-columns: 1fr; }
  .journey-chapter__heading { gap: 1.6rem; }
  .journey-chapter__heading > div:first-child { max-width: 180px; }
  .journey-understand-grid { grid-template-columns: 1fr; }
  .journey-step--estimate { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .journey-step--finance { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr); }
  .journey-step--finance .journey-step__media { height: 100%; min-height: 420px; }
  .journey-step--property,
  .journey-step--consultant { grid-column: span 12; display: grid; grid-template-columns: minmax(300px, .85fr) minmax(0, 1.15fr); }
  .journey-step--property .journey-step__media,
  .journey-step--consultant .journey-step__media { height: 100%; min-height: 430px; }
  .journey-step--contractor { grid-template-columns: minmax(300px, .85fr) minmax(0, 1.15fr); }
  .journey-execute__grid { grid-template-columns: 1fr; }
  .journey-execute__media { min-height: 570px; }
  .journey-execute__content { width: calc(100% - 3rem); margin: -5rem 0 0 3rem; }
  .how-page--connected .how-values--bento .how-value--feature { min-height: 390px; }
  .how-page--connected .how-final-cta__inner { grid-template-columns: 1fr; }
  .how-page--connected .how-final-cta__actions { max-width: 360px; }
}

@media (max-width: 767.98px) {
  .how-page--connected .how-hero--connected { padding-top: 4rem; }
  .how-page--connected .how-hero__copy h1 { font-size: clamp(3rem, 13.5vw, 3.8rem); line-height: .9; }
  .how-hero__actions { align-items: flex-start; flex-direction: column; }
  .how-hero__actions > span { max-width: none; }
  .how-hero__visual { min-height: 490px; }
  .how-hero__photo { inset: 0 0 3% 1rem; }
  .how-page--connected .how-hero__map { right: .5rem; bottom: 2%; width: min(82%, 370px); }
  .how-hero__signal { top: 1.2rem; bottom: auto; max-width: 220px; }
  .how-hero__continuum { margin-right: 1rem; margin-left: 1rem; }
  .how-journey-intro { padding-top: 5rem; }
  .how-page--connected .process-phase-rail { grid-template-columns: 1fr; }
  .how-page--connected .process-phase-rail a { min-height: 0; grid-template-columns: 34px 1fr; align-items: center; }
  .journey-step--estimate,
  .journey-step--finance,
  .journey-step--property,
  .journey-step--consultant,
  .journey-step--contractor { display: block; }
  .journey-step--estimate .journey-step__media,
  .journey-step--finance .journey-step__media,
  .journey-step--property .journey-step__media,
  .journey-step--consultant .journey-step__media,
  .journey-step--contractor .journey-step__media { height: 300px; min-height: 0; }
  .journey-assemble-grid { grid-template-columns: 1fr; }
  .journey-step--property,
  .journey-step--consultant,
  .journey-step--contractor { grid-column: auto; }
  .journey-execute__media { min-height: 460px; }
  .journey-execute__content { width: calc(100% - 1.5rem); margin: -3rem 0 0 1.5rem; padding: 2rem; }
  .journey-execute__content h2 { font-size: clamp(2.75rem, 12vw, 4rem); }
  .journey-execute__sequence { grid-template-columns: 1fr; gap: .45rem; }
  .journey-execute__sequence i { width: 45px; }
  .how-page--connected .how-values--bento { grid-template-columns: 1fr; }
  .how-page--connected .how-values--bento article,
  .how-page--connected .how-values--bento .how-value--feature { grid-column: auto; grid-row: auto; min-height: 0; }
  .how-page--connected .how-values--bento .how-value--feature { min-height: 390px; }
  .how-page--connected .how-final-cta h2 { font-size: clamp(3rem, 12vw, 4.5rem); }
}

@media (max-width: 575.98px) {
  .how-page--connected .how-hero__inner--journey { padding-bottom: 3rem; }
  .how-hero__visual { min-height: 440px; }
  .how-hero__signal { display: none; }
  .how-page--connected .how-hero__map { right: 0; left: 0; width: auto; margin: 0 1rem; padding: 1.2rem; }
  .how-page--connected .how-hero__map li { padding: .7rem 0; }
  .how-page--connected .how-hero__map > div { margin-top: 1rem; }
  .how-hero__continuum { grid-template-columns: repeat(2, minmax(0, 1fr)); transform: translateY(-1.5rem); }
  .how-hero__continuum li:nth-child(2n) { border-right: 0; }
  .how-hero__continuum li:nth-child(-n + 4) { border-bottom: 1px solid var(--mh-line); }
  .how-hero__continuum li:nth-child(2n)::after { display: none; }
  .how-hero__continuum li:nth-child(3)::after { display: block; }
  .how-page--connected .how-heading h2,
  .journey-chapter__heading h2 { font-size: clamp(2.65rem, 12vw, 3.8rem); }
  .journey-step__media figcaption { font-size: .66rem; }
  .journey-step__body { padding: 1.5rem; }
  .journey-step h3 { font-size: 2rem; }
  .journey-execute__media { min-height: 390px; }
  .journey-execute__media figcaption { right: .75rem; bottom: .75rem; left: .75rem; max-width: none; }
  .how-page--connected .how-final-cta__actions,
  .how-page--connected .how-final-cta__actions .btn { width: 100%; }
  .journey-step__action { width: 100%; }
}

@media (max-width: 359.98px) {
  .how-page--connected .how-hero__copy h1 { font-size: 2.9rem; }
  .how-hero__continuum li { padding: 1rem .8rem; }
  .how-hero__continuum strong { font-size: .76rem; }
  .journey-step h3 { font-size: 1.8rem; }
}

@media (prefers-reduced-motion: reduce) {
  .how-page--connected :is(.how-hero__photo img, .how-hero__map, .journey-step, .journey-step__media img, .journey-execute__media img, .how-values--bento article, .process-phase-rail a, .how-final-cta__link span, .journey-step__action, .journey-step__action span) { transition: none; }
  .how-page--connected :is(.how-hero__visual:hover .how-hero__photo img, .how-hero__map:hover, .journey-step:hover, .journey-step:hover .journey-step__media img, .journey-execute__media:hover img, .how-values--bento article:hover, .process-phase-rail a:hover, .how-final-cta__link:hover span, .journey-step__action:hover, .journey-step__action:focus-visible, .journey-step__action:active, .journey-step__action:hover span, .journey-step__action:focus-visible span) { transform: none; }
}

/* Distinct hero identities: a Refresher deliverable and an About brand manifesto.
   In-flow compositions keep every label readable without floating collisions. */
.refresher-deliverable { position:relative; isolation:isolate; min-width:0; margin:0; padding:0 1.5rem 1rem; color:var(--mh-ink); }
.refresher-deliverable__intake { position:relative; margin:0 1.2rem; padding:1.2rem 1.4rem 1.7rem; border:1px solid rgba(255,255,255,.22); border-radius:18px 18px 0 0; background:var(--mh-charcoal); color:#fff; }
.refresher-deliverable__intake > span { color:#c6dc98; font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.refresher-deliverable__intake p { display:flex; flex-wrap:wrap; gap:.65rem; margin:.5rem 0 0; font-size:.9rem; }
.refresher-deliverable__intake i { color:#c6dc98; font-style:normal; }
.refresher-deliverable__paper { position:relative; padding:clamp(1.4rem,3vw,2.4rem); border-radius:4px 4px 20px 20px; background:var(--mh-paper); box-shadow:0 24px 60px rgba(0,0,0,.25); color:var(--mh-ink); }
.refresher-deliverable__paper::before { content:""; position:absolute; inset:8px -9px -9px; z-index:-1; border-radius:4px 4px 20px 20px; background:#dcd9d1; transform:rotate(2deg); }
.refresher-deliverable__paper::after { content:""; position:absolute; top:0; right:2rem; width:24px; height:35px; background:var(--mh-brand); clip-path:polygon(0 0,100% 0,100% 100%,50% 77%,0 100%); }
.refresher-deliverable__masthead { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.4rem 1rem; padding:0 2rem 1rem 0; border-bottom:1px solid #d5d3cd; color:var(--mh-ink); font-size:.65rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.refresher-deliverable__eyebrow { margin:1.8rem 0 .5rem; color:var(--mh-brand); font-size:.7rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.refresher-deliverable h2 { margin:0; color:var(--mh-ink); font-size:clamp(2rem,3.2vw,3rem); line-height:1.03; letter-spacing:-.045em; }
.refresher-deliverable__intro { margin:1rem 0 1.4rem; color:#52544f; font-size:.95rem; line-height:1.55; }
.refresher-deliverable__rows { margin:0; }
.refresher-deliverable__rows > div { padding:.9rem 0; border-top:1px solid #d5d3cd; }
.refresher-deliverable__rows dt { display:flex; gap:.7rem; align-items:baseline; color:var(--mh-ink); font-size:.95rem; font-weight:800; }
.refresher-deliverable__rows dt span { color:var(--mh-brand); font-size:.65rem; }
.refresher-deliverable__rows dd { margin:.25rem 0 0 1.65rem; color:#52544f; font-size:.82rem; }
.refresher-deliverable__seal { display:flex; align-items:center; gap:.6rem; margin-top:1rem; color:#42552b; font-size:.8rem; font-weight:850; }
.refresher-deliverable__seal > span { display:grid; place-items:center; width:1.5rem; height:1.5rem; border:1px solid currentColor; border-radius:50%; }
.refresher-deliverable__delivery { position:relative; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.9rem; margin:1.5rem 0 0 1.2rem; padding:1rem 0 0; border-top:1px solid rgba(255,255,255,.25); color:#fff; }
.refresher-deliverable__delivery strong { font-size:2.5rem; line-height:1; letter-spacing:-.05em; }
.refresher-deliverable__delivery strong span { display:block; margin-top:.4rem; color:#c6dc98; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
.refresher-deliverable__delivery > span { font-size:.85rem; line-height:1.5; }
.about-mission { align-self:center; min-width:0; margin:0 0 3rem; overflow:hidden; border:1px solid rgba(255,255,255,.16); border-radius:100px 24px 24px 24px; box-shadow:var(--mh-shadow-lg); background:var(--mh-paper); color:var(--mh-ink); }
.about-mission__canvas { position:relative; isolation:isolate; overflow:hidden; padding:clamp(2rem,4vw,3.5rem); background:var(--mh-soft-green); color:var(--mh-ink); }
.about-mission__house { position:absolute; z-index:-1; top:0; right:-6%; height:100%; width:74%; stroke:var(--mh-green); stroke-width:1.4; opacity:.24; }
.about-mission__eyebrow { margin:0 0 2rem; color:var(--mh-brand); font-size:.7rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.about-mission h2 { margin:0 0 2.5rem; color:var(--mh-ink); font-size:clamp(3rem,5.8vw,5.5rem); line-height:.96; letter-spacing:-.06em; text-wrap:balance; }
.about-mission h2 em { color:var(--mh-brand); font-style:normal; }
.about-mission__pillars { display:grid; gap:0; }
.about-mission__pillars p { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.25rem 1rem; margin:0; padding:.85rem 0; border-top:1px solid rgba(38,42,35,.2); }
.about-mission__pillars strong { color:var(--mh-ink); font-size:.9rem; }
.about-mission__pillars span { color:#47503f; font-size:.85rem; }
.about-mission figcaption { padding:1.5rem clamp(2rem,4vw,3.5rem); border-top:4px solid var(--mh-brand); color:var(--mh-ink); font-size:1.05rem; font-weight:750; line-height:1.5; }
@media (max-width:991.98px) {
  .refresher-deliverable { width:min(100%,620px); margin-inline:auto; }
  .about-mission { width:min(100%,680px); margin:0 auto 3rem; }
}
@media (max-width:575.98px) {
  .refresher-deliverable { padding-inline:1rem; }
  .refresher-deliverable__paper::before { inset:8px -4px -7px; transform:rotate(.8deg); }
  .refresher-deliverable__intake { margin-inline:.3rem; padding-inline:1rem; }
  .refresher-deliverable__intake p { gap:.4rem; font-size:.8rem; }
  .refresher-deliverable__delivery { margin-left:.3rem; }
  .refresher-deliverable__rows dt { font-size:.85rem; }
  .refresher-deliverable__rows dd { font-size:.78rem; }
  .about-mission { border-top-left-radius:60px; }
  .about-mission__canvas { padding:2.3rem 1.5rem 1.5rem; }
  .about-mission h2 { font-size:clamp(2.9rem,12vw,4rem); }
  .about-mission__pillars p { display:grid; }
  .about-mission figcaption { padding:1.2rem 1.5rem; font-size:.95rem; }
}

/* Makeover Refresher: repair finding to lender-ready scope. */
.refresher-page {
  overflow: clip;
  background: var(--mh-paper);
}

.refresher-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(4.5rem, 8vw, 7.5rem) 0 clamp(5rem, 8vw, 7rem);
  background:
    radial-gradient(circle at 12% 18%, rgba(108, 15, 43, .48), transparent 30%),
    radial-gradient(circle at 86% 22%, rgba(111, 141, 61, .18), transparent 26%),
    linear-gradient(132deg, #111318 0%, #21181c 58%, #17191d 100%);
  color: #fff;
  isolation: isolate;
}

.refresher-hero::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
  background-size: 62px 62px;
  content: "";
  mask-image: linear-gradient(90deg, #000, transparent 48%, #000);
}

.refresher-hero::after {
  position: absolute;
  right: -13rem;
  bottom: -20rem;
  z-index: -1;
  width: 44rem;
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 50%;
  box-shadow: 0 0 0 5rem rgba(255, 255, 255, .018), 0 0 0 10rem rgba(255, 255, 255, .014);
  content: "";
}

.refresher-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(540px, 1.12fr);
  gap: clamp(3rem, 6vw, 6.5rem);
  align-items: center;
}

.refresher-hero__copy,
.refresher-hero__visual {
  min-width: 0;
}

/* Keep the complete copy group level with the taller document composition.
   Once the grid stacks, retain its existing mobile spacing and alignment. */
@media (min-width: 992px) {
  .refresher-hero__copy {
    align-self: start;
  }
}

.refresher-hero .home-kicker,
.refresher-final .home-kicker,
.refresher-comparison .home-kicker {
  border-color: rgba(255, 255, 255, .2);
  background: rgba(255, 255, 255, .08);
  color: #c6dc98;
}

.refresher-hero h1 {
  max-width: 700px;
  margin: 1.25rem 0 1.35rem;
  font-size: clamp(4rem, 5.3vw, 5.25rem);
  font-weight: 925;
  letter-spacing: -.055em;
  line-height: .91;
  text-wrap: balance;
}

.refresher-hero__lead {
  max-width: 650px;
  margin: 0;
  color: rgba(255, 255, 255, .72);
  font-size: clamp(1.05rem, 1.5vw, 1.22rem);
  line-height: 1.65;
}

.refresher-hero__pricing {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin: 2rem 0;
}

.refresher-hero__pricing > span {
  min-width: 155px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .55rem;
  align-items: center;
  padding: .75rem .9rem;
  border: 1px solid rgba(255, 255, 255, .15);
  background: rgba(255, 255, 255, .06);
  backdrop-filter: blur(12px);
}

.refresher-hero__pricing strong {
  color: #fff;
  font-size: 1.25rem;
  letter-spacing: -.03em;
}

.refresher-hero__pricing small {
  color: rgba(255, 255, 255, .6);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .05em;
  line-height: 1.25;
  text-transform: uppercase;
}

.refresher-order {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem 1rem;
  align-items: center;
}

.refresher-order p {
  margin: 0;
  color: rgba(255, 255, 255, .62);
  font-size: .78rem;
  font-weight: 750;
}

.refresher-order .btn:disabled {
  border-color: rgba(255, 255, 255, .22);
  background: rgba(255, 255, 255, .12);
  color: rgba(255, 255, 255, .68);
  opacity: 1;
}

.refresher-hero__visual {
  position: relative;
  min-height: 650px;
}

.refresher-hero__photo {
  position: absolute;
  inset: 1rem 2.5rem 2.75rem 1.75rem;
  overflow: hidden;
  margin: 0;
  border-radius: 34px 8px 34px 8px;
  box-shadow: 0 34px 90px rgba(0, 0, 0, .34);
}

.refresher-hero__photo::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(17, 19, 24, .04) 35%, rgba(17, 19, 24, .6));
  content: "";
}

.refresher-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 52% center;
  transition: transform 300ms ease;
}

.refresher-hero__visual:hover .refresher-hero__photo img {
  transform: scale(1.025);
}

.refresher-hero__status,
.refresher-hero__scope {
  position: absolute;
  z-index: 3;
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--mh-shadow-lg);
}

.refresher-hero__status {
  top: 0;
  right: 0;
  display: grid;
  min-width: 235px;
  gap: .1rem;
  padding: 1.2rem 1.35rem;
  border-top: 4px solid var(--mh-green);
}

.refresher-hero__status span,
.refresher-hero__scope > span {
  color: var(--mh-brand);
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.refresher-hero__status strong,
.refresher-hero__scope strong {
  color: var(--mh-ink-strong);
  font-size: 1.12rem;
}

.refresher-hero__status small {
  color: var(--mh-muted);
  font-size: .7rem;
}

.refresher-hero__scope {
  right: 0;
  bottom: 0;
  width: min(320px, 54%);
  padding: 1.4rem 1.55rem;
  border-left: 5px solid var(--mh-brand);
}

.refresher-hero__scope ul {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  padding: 0;
  margin: .85rem 0 0;
  list-style: none;
}

.refresher-hero__scope li {
  padding: .34rem .55rem;
  border-radius: 999px;
  background: var(--mh-soft-green);
  color: #43552a;
  font-size: .64rem;
  font-weight: 850;
}

.refresher-hero__signal {
  position: absolute;
  bottom: 5.4rem;
  left: 0;
  z-index: 3;
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto;
  gap: .5rem;
  align-items: center;
  width: min(430px, 74%);
  padding: .75rem .9rem;
  background: rgba(17, 19, 24, .87);
  box-shadow: var(--mh-shadow-md);
  color: rgba(255, 255, 255, .74);
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
}

.refresher-hero__signal i {
  height: 1px;
  background: linear-gradient(90deg, var(--mh-brand), var(--mh-green));
}

.refresher-hero__signal strong {
  color: #c6dc98;
}

.refresher-section-nav {
  position: relative;
  z-index: 4;
  border-bottom: 1px solid var(--mh-line);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 12px 28px rgba(17, 19, 24, .05);
}

.refresher-section-nav .container {
  min-height: 70px;
  display: flex;
  gap: clamp(.8rem, 2vw, 1.7rem);
  align-items: center;
  overflow-x: auto;
  scrollbar-width: none;
}

.refresher-section-nav .container::-webkit-scrollbar {
  display: none;
}

.refresher-section-nav span {
  margin-right: auto;
  color: var(--mh-brand);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
  white-space: nowrap;
}

.refresher-section-nav a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--mh-muted);
  font-size: .76rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--mh-ease), transform var(--mh-ease);
}

.refresher-section-nav a:hover,
.refresher-section-nav a:focus-visible {
  color: var(--mh-brand);
  transform: translateY(-1px);
}

.refresher-section-heading {
  max-width: 760px;
}

.refresher-section-heading--center {
  margin-inline: auto;
  text-align: center;
}

.refresher-section-heading--center .home-kicker {
  margin-inline: auto;
}

.refresher-section-heading h2 {
  margin: 1rem 0 1.15rem;
  font-size: clamp(2.85rem, 5vw, 5rem);
  font-weight: 925;
  letter-spacing: -.055em;
  line-height: .94;
}

.refresher-section-heading > p:not(.home-kicker) {
  color: var(--mh-muted);
  font-size: 1.02rem;
  line-height: 1.75;
}

.refresher-section-heading > strong {
  display: block;
  margin: 1.5rem 0;
  padding-left: 1.1rem;
  border-left: 4px solid var(--mh-brand);
  color: var(--mh-brand);
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.25;
}

.refresher-problem {
  padding: var(--mh-section-space) 0;
  background: linear-gradient(140deg, #fff, var(--mh-soft-warm));
}

.refresher-problem__grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(480px, 1.1fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
}

.refresher-problem__media {
  position: relative;
  min-height: 590px;
  overflow: hidden;
  margin: 0;
  border-radius: 8px 34px 8px 34px;
  box-shadow: var(--mh-shadow-lg);
}

.refresher-problem__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 48%, rgba(17, 19, 24, .62));
  content: "";
}

.refresher-problem__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 300ms ease;
}

.refresher-problem__media:hover img {
  transform: scale(1.035);
}

.refresher-problem__media figcaption {
  position: absolute;
  bottom: 1.6rem;
  left: 1.6rem;
  z-index: 2;
  padding: .75rem 1rem;
  border-left: 4px solid var(--mh-green);
  background: rgba(108, 15, 43, .9);
  box-shadow: var(--mh-shadow-md);
  color: #fff;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.refresher-problem__tags {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  z-index: 2;
  display: grid;
  gap: .5rem;
}

.refresher-problem__tags span {
  padding: .45rem .65rem;
  background: rgba(255, 255, 255, .94);
  box-shadow: var(--mh-shadow-sm);
  color: var(--mh-brand);
  font-size: .63rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-align: center;
  text-transform: uppercase;
}

.refresher-process {
  position: relative;
  padding: var(--mh-section-space) 0;
  background: var(--mh-soft-green);
}

.refresher-process__rail {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  padding: 0;
  margin: clamp(3rem, 6vw, 5rem) 0 0;
  list-style: none;
}

.refresher-process__rail::before {
  position: absolute;
  top: 2.2rem;
  right: 8%;
  left: 8%;
  height: 2px;
  background: linear-gradient(90deg, var(--mh-brand), var(--mh-green));
  content: "";
}

.refresher-process__rail > li {
  position: relative;
  min-width: 0;
}

.refresher-process__card {
  position: relative;
  min-height: 420px;
  height: 100%;
  padding: 1.45rem;
  border: 1px solid rgba(29, 32, 38, .1);
  border-radius: var(--mh-radius-lg);
  background: #fff;
  box-shadow: var(--mh-shadow-sm);
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.refresher-process__card:hover,
.refresher-process__card:focus-within {
  border-color: rgba(108, 15, 43, .28);
  box-shadow: var(--mh-shadow-lg);
  transform: translateY(-7px);
}

.refresher-process__top {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  gap: .7rem;
  align-items: center;
}

.refresher-process__top span {
  width: 44px;
  height: 44px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: var(--mh-brand);
  box-shadow: 0 0 0 7px var(--mh-soft-green);
  color: #fff;
  font-size: .72rem;
  font-weight: 900;
}

.refresher-process__top small {
  color: var(--mh-muted);
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .07em;
  text-align: right;
  text-transform: uppercase;
}

.refresher-process__visual {
  position: relative;
  height: 102px;
  display: grid;
  align-items: center;
  margin: 1rem 0 .1rem;
  border: 1px solid rgba(108, 15, 43, .09);
  border-radius: var(--mh-radius-sm);
  background:
    radial-gradient(circle at 82% 16%, rgba(111, 141, 61, .13), transparent 35%),
    linear-gradient(135deg, rgba(108, 15, 43, .045), rgba(250, 248, 244, .82));
  overflow: hidden;
}

.refresher-process__visual svg {
  position: absolute;
  inset: 6px;
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  display: block;
  overflow: visible;
}

.refresher-process__visual :is(.visual-line, .visual-detail, .visual-accent-line, .visual-check) {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.refresher-process__visual .visual-line {
  stroke: var(--mh-charcoal);
  stroke-width: 2.3;
}

.refresher-process__visual .visual-detail {
  stroke: rgba(29, 32, 38, .48);
  stroke-width: 1.7;
}

.refresher-process__visual .visual-accent-line {
  stroke: var(--mh-brand);
  stroke-width: 2.6;
}

.refresher-process__visual .visual-surface {
  fill: rgba(255, 255, 255, .88);
  stroke: rgba(108, 15, 43, .2);
  stroke-width: 1.5;
}

.refresher-process__visual .visual-accent {
  fill: var(--mh-brand);
}

.refresher-process__visual .visual-muted {
  fill: var(--mh-green);
}

.refresher-process__visual .visual-check {
  stroke: #fff;
  stroke-width: 2;
}

.refresher-process__visual :is(.visual-check-dot, .visual-scan, .visual-upload, .visual-report-check) {
  transform-box: fill-box;
  transform-origin: center;
  transition: transform 220ms ease;
}

.refresher-process__card:hover .visual-check-dot,
.refresher-process__card:focus-within .visual-check-dot,
.refresher-process__card:hover .visual-report-check,
.refresher-process__card:focus-within .visual-report-check {
  transform: scale(1.13);
}

.refresher-process__card:hover .visual-scan,
.refresher-process__card:focus-within .visual-scan {
  transform: scale(1.08);
}

.refresher-process__card:hover .visual-upload,
.refresher-process__card:focus-within .visual-upload {
  transform: translateY(-4px);
}

.refresher-process__card h3 {
  margin: 1rem 0 .7rem;
  font-size: clamp(1.65rem, 2.4vw, 2.25rem);
  line-height: 1;
}

.refresher-process__card > p {
  margin: 0;
  color: var(--mh-muted);
  font-size: .86rem;
  line-height: 1.65;
}

.refresher-process__outcome {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto 1fr auto;
  gap: .8rem;
  align-items: center;
  margin-top: 2rem;
  padding: 1.1rem 1.25rem;
  border-radius: var(--mh-radius-sm);
  background: var(--mh-charcoal);
  box-shadow: var(--mh-shadow-md);
  color: rgba(255, 255, 255, .66);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.refresher-process__outcome i {
  height: 1px;
  background: linear-gradient(90deg, var(--mh-brand), var(--mh-green));
}

.refresher-process__outcome strong {
  color: #c6dc98;
}

.refresher-report-section {
  padding: var(--mh-section-space) 0;
  background:
    linear-gradient(90deg, rgba(108, 15, 43, .04) 1px, transparent 1px),
    linear-gradient(rgba(108, 15, 43, .04) 1px, transparent 1px),
    #fff;
  background-size: 58px 58px;
}

.refresher-report-section__grid {
  display: grid;
  grid-template-columns: minmax(520px, 1.1fr) minmax(0, .9fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
}

.refresher-report {
  position: relative;
  overflow: hidden;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border: 1px solid var(--mh-line);
  border-radius: 8px 30px 8px 30px;
  background: #fff;
  box-shadow: var(--mh-shadow-lg);
  transition: box-shadow 220ms ease, transform 220ms ease;
}

.refresher-report:hover {
  box-shadow: 0 36px 90px rgba(17, 19, 24, .18);
  transform: translateY(-5px) rotate(-.2deg);
}

.refresher-report::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 7px;
  background: linear-gradient(var(--mh-brand), var(--mh-green));
  content: "";
}

.refresher-report > header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
  padding-bottom: 1.3rem;
  border-bottom: 1px solid var(--mh-line);
}

.refresher-report > header div {
  display: grid;
  gap: .1rem;
}

.refresher-report > header span,
.refresher-report__property small {
  color: var(--mh-brand);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.refresher-report > header strong {
  font-size: 1.25rem;
}

.refresher-report > header em {
  padding: .35rem .55rem;
  border-radius: 999px;
  background: var(--mh-soft-warm);
  color: var(--mh-muted);
  font-size: .62rem;
  font-style: normal;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.refresher-report__property {
  display: grid;
  gap: .1rem;
  padding: 1.2rem 0;
}

.refresher-report__property strong {
  font-size: 1rem;
}

.refresher-report__property span {
  color: var(--mh-muted);
  font-size: .72rem;
}

.refresher-report__table {
  display: grid;
  border: 1px solid var(--mh-line);
}

.refresher-report__table > div {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) .65fr .65fr;
  gap: .7rem;
  align-items: center;
  min-height: 62px;
  padding: .75rem .85rem;
  border-bottom: 1px solid var(--mh-line);
  font-size: .72rem;
}

.refresher-report__table > div:last-child {
  border-bottom: 0;
}

.refresher-report__table .is-heading {
  min-height: 40px;
  background: var(--mh-charcoal);
  color: rgba(255, 255, 255, .72);
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.refresher-report__table div > span:first-child {
  display: grid;
}

.refresher-report__table small {
  color: var(--mh-muted);
}

.refresher-report > footer {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  padding: 1rem;
  background: var(--mh-soft-green);
  color: #43552a;
  font-size: .78rem;
}

.refresher-section-heading h3 {
  margin: 2rem 0 .7rem;
  font-size: 1.45rem;
}

.refresher-check-list {
  display: grid;
  gap: .8rem;
  padding: 0;
  margin: 0 0 2rem;
  list-style: none;
}

.refresher-check-list li {
  position: relative;
  padding-left: 1.8rem;
  color: var(--mh-ink);
  font-weight: 750;
}

.refresher-check-list li::before {
  position: absolute;
  top: .42rem;
  left: 0;
  width: 11px;
  height: 11px;
  border: 3px solid var(--mh-green);
  border-radius: 50%;
  content: "";
}

.refresher-pricing {
  padding: var(--mh-section-space) 0;
  background: linear-gradient(150deg, var(--mh-soft-warm), #fff 62%);
}

.refresher-pricing__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 3vw, 2.25rem);
  max-width: 1040px;
  margin: clamp(3rem, 6vw, 5rem) auto 0;
}

.refresher-pricing-card {
  position: relative;
  display: flex;
  min-height: 590px;
  flex-direction: column;
  padding: clamp(2rem, 4vw, 3rem);
  border: 1px solid var(--mh-line);
  border-radius: var(--mh-radius-xl);
  background: #fff;
  box-shadow: var(--mh-shadow-md);
  transition: border-color 240ms ease, box-shadow 240ms ease, transform 240ms ease;
}

.refresher-pricing-card.is-featured {
  border-color: rgba(111, 141, 61, .4);
  background: linear-gradient(155deg, #fff, var(--mh-soft-green));
  transform: translateY(-1rem);
}

.refresher-pricing-card:hover {
  border-color: rgba(108, 15, 43, .26);
  box-shadow: var(--mh-shadow-lg);
  transform: translateY(-7px);
}

.refresher-pricing-card.is-featured:hover {
  transform: translateY(-1.35rem);
}

.refresher-pricing-card__header {
  position: relative;
  display: grid;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--mh-line);
}

.refresher-pricing-card__header p {
  margin: 0;
  color: var(--mh-brand);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.refresher-pricing-card__header strong {
  color: var(--mh-ink-strong);
  font-size: clamp(3.8rem, 7vw, 6rem);
  font-weight: 925;
  letter-spacing: -.07em;
  line-height: 1;
}

.refresher-pricing-card__header span {
  position: absolute;
  top: 0;
  right: 0;
  padding: .4rem .65rem;
  border-radius: 999px;
  background: var(--mh-green);
  color: #fff;
  font-size: .6rem;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.refresher-pricing-card > p {
  margin: 1.4rem 0;
  color: var(--mh-muted);
}

.refresher-pricing-card > ul {
  display: grid;
  gap: .75rem;
  padding: 0;
  margin: 0 0 2rem;
  list-style: none;
}

.refresher-pricing-card > ul li {
  position: relative;
  padding-left: 1.5rem;
  color: var(--mh-ink);
  font-size: .88rem;
  font-weight: 720;
}

.refresher-pricing-card > ul li::before {
  position: absolute;
  top: .18rem;
  left: 0;
  color: var(--mh-green);
  content: "✓";
  font-weight: 900;
}

.refresher-pricing-card .btn {
  width: fit-content;
  margin-top: auto;
}

.refresher-pricing-card .btn:disabled {
  border-color: var(--mh-line-strong);
  background: var(--mh-soft);
  color: var(--mh-muted);
  opacity: 1;
}

.refresher-pricing__note {
  max-width: 800px;
  margin: 2.5rem auto 0;
  color: var(--mh-muted);
  font-size: .83rem;
  text-align: center;
}

.refresher-pricing__note strong {
  margin-right: .3rem;
  color: var(--mh-burgundy);
}

.refresher-audience {
  padding: var(--mh-section-space) 0;
  background: #fff;
}

.refresher-audience .refresher-section-heading {
  max-width: 870px;
}

.refresher-audience__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
  margin-top: clamp(3rem, 6vw, 5rem);
}

.refresher-audience__grid article {
  position: relative;
  grid-column: span 4;
  min-height: 410px;
  overflow: hidden;
  padding: clamp(1.6rem, 3vw, 2.5rem);
  border: 1px solid var(--mh-line);
  border-radius: var(--mh-radius-lg);
  background: var(--mh-soft-warm);
  transition: box-shadow 230ms ease, transform 230ms ease;
}

.refresher-audience__grid article:nth-child(2) {
  background: linear-gradient(150deg, var(--mh-brand), var(--mh-brand-dark));
  color: #fff;
  transform: translateY(2rem);
}

.refresher-audience__grid article:nth-child(3) {
  background: var(--mh-soft-green);
}

.refresher-audience__grid article:hover {
  box-shadow: var(--mh-shadow-lg);
  transform: translateY(-7px);
}

.refresher-audience__grid article:nth-child(2):hover {
  transform: translateY(1.4rem);
}

.refresher-audience__grid article > span {
  color: var(--mh-brand);
  font-size: .7rem;
  font-weight: 900;
}

.refresher-audience__grid article:nth-child(2) > span {
  color: #c6dc98;
}

.refresher-audience__graphic {
  display: flex;
  gap: .6rem;
  align-items: end;
  height: 110px;
  margin: 1.25rem 0;
}

.refresher-audience__graphic i {
  width: 52px;
  height: 52px;
  display: block;
  border: 1px solid rgba(108, 15, 43, .18);
  border-radius: 50%;
  background: rgba(108, 15, 43, .07);
}

.refresher-audience__graphic i:nth-child(2) {
  width: 78px;
  height: 78px;
  background: rgba(111, 141, 61, .16);
}

.refresher-audience__graphic i:nth-child(3) {
  width: 36px;
  height: 36px;
}

.refresher-audience__grid article:nth-child(2) .refresher-audience__graphic i {
  border-color: rgba(255, 255, 255, .18);
  background: rgba(255, 255, 255, .08);
}

.refresher-audience__grid h3 {
  margin: 0 0 .8rem;
  font-size: clamp(1.75rem, 2.8vw, 2.5rem);
  line-height: 1;
}

.refresher-audience__grid p {
  margin: 0;
  color: var(--mh-muted);
  font-size: .9rem;
}

.refresher-audience__grid article:nth-child(2) p {
  color: rgba(255, 255, 255, .7);
}

.refresher-comparison {
  position: relative;
  overflow: hidden;
  padding: var(--mh-section-space) 0;
  background:
    radial-gradient(circle at 86% 16%, rgba(111, 141, 61, .14), transparent 28%),
    linear-gradient(135deg, var(--mh-charcoal), #292025);
  color: #fff;
}

.refresher-comparison::after {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, .03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .03) 1px, transparent 1px);
  background-size: 60px 60px;
  content: "";
  mask-image: linear-gradient(90deg, transparent, #000);
  pointer-events: none;
}

.refresher-comparison__layout,
.refresher-comparison__benefits {
  position: relative;
  z-index: 1;
}

.refresher-comparison__layout {
  display: grid;
  grid-template-columns: minmax(330px, .7fr) minmax(0, 1.3fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
}

.refresher-section-heading--inverse > p:not(.home-kicker) {
  color: rgba(255, 255, 255, .67);
}

.refresher-section-heading--inverse > strong {
  border-color: var(--mh-green);
  color: #d4e3b9;
  font-size: 1.05rem;
}

.refresher-comparison__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.refresher-comparison-card {
  min-height: 500px;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--mh-radius-lg);
  background: rgba(255, 255, 255, .055);
  transition: box-shadow 220ms ease, transform 220ms ease;
}

.refresher-comparison-card--solution {
  border-color: #fff;
  background: #fff;
  color: var(--mh-ink);
  box-shadow: var(--mh-shadow-lg);
  transform: translateY(-1.5rem);
}

.refresher-comparison-card:hover {
  transform: translateY(-6px);
}

.refresher-comparison-card--solution:hover {
  transform: translateY(-2rem);
}

.refresher-comparison-card > small {
  color: #c6dc98;
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.refresher-comparison-card--solution > small {
  color: var(--mh-brand);
}

.refresher-comparison-card h3 {
  margin: .8rem 0 1.5rem;
  font-size: clamp(1.7rem, 2.7vw, 2.35rem);
  line-height: 1.03;
}

.refresher-comparison-card ol {
  display: grid;
  padding: 0;
  margin: 0;
  list-style: none;
}

.refresher-comparison-card li {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: .75rem;
  align-items: center;
  min-height: 65px;
  border-bottom: 1px solid rgba(255, 255, 255, .11);
}

.refresher-comparison-card--solution li {
  border-color: var(--mh-line);
}

.refresher-comparison-card li span {
  color: rgba(255, 255, 255, .42);
  font-size: .65rem;
  font-weight: 900;
}

.refresher-comparison-card--solution li span {
  color: var(--mh-green);
}

.refresher-comparison-card li strong {
  font-size: .82rem;
}

.refresher-comparison__benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 4rem;
  background: rgba(255, 255, 255, .12);
}

.refresher-comparison__benefits span {
  min-height: 125px;
  display: flex;
  align-items: center;
  padding: 1.25rem;
  background: rgba(17, 19, 24, .85);
  color: rgba(255, 255, 255, .76);
  font-size: .8rem;
  font-weight: 800;
}

.refresher-comparison__benefits span::before {
  margin-right: .7rem;
  color: #c6dc98;
  content: "✓";
  font-weight: 900;
}

.refresher-faq {
  padding: var(--mh-section-space) 0;
  background: var(--mh-soft-warm);
}

.refresher-faq__grid {
  display: grid;
  grid-template-columns: minmax(300px, .62fr) minmax(0, 1.38fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: start;
}

.refresher-faq__grid > header {
  position: sticky;
  top: 8rem;
}

.refresher-faq__list {
  display: grid;
  gap: .75rem;
}

.refresher-faq__list details {
  overflow: hidden;
  border: 1px solid var(--mh-line);
  border-radius: var(--mh-radius-md);
  background: #fff;
  box-shadow: var(--mh-shadow-sm);
  transition: border-color var(--mh-ease), box-shadow var(--mh-ease), transform var(--mh-ease);
}

.refresher-faq__list details:hover {
  border-color: rgba(108, 15, 43, .25);
  box-shadow: var(--mh-shadow-md);
  transform: translateY(-2px);
}

.refresher-faq__list summary {
  min-height: 72px;
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: .8rem;
  align-items: center;
  padding: 1.15rem 3.5rem 1.15rem 1.25rem;
  color: var(--mh-ink-strong);
  cursor: pointer;
  font-size: .96rem;
  font-weight: 850;
  list-style: none;
  position: relative;
}

.refresher-faq__list summary::-webkit-details-marker {
  display: none;
}

.refresher-faq__list summary::after {
  position: absolute;
  top: 50%;
  right: 1.25rem;
  color: var(--mh-brand);
  content: "+";
  font-size: 1.45rem;
  transform: translateY(-50%);
}

.refresher-faq__list details[open] summary {
  background: linear-gradient(135deg, var(--mh-brand), var(--mh-brand-dark));
  color: #fff;
}

.refresher-faq__list details[open] summary::after {
  color: #fff;
  content: "−";
}

.refresher-faq__list summary span {
  color: var(--mh-green);
  font-size: .65rem;
}

.refresher-faq__list details[open] summary span {
  color: #d4e3b9;
}

.refresher-faq__list details > p {
  margin: 0;
  padding: 1.35rem 1.5rem 1.6rem 4.4rem;
  color: var(--mh-muted);
  line-height: 1.75;
}

.refresher-final {
  position: relative;
  overflow: hidden;
  padding: clamp(5.5rem, 10vw, 9rem) 0;
  background:
    radial-gradient(circle at 15% 30%, rgba(111, 141, 61, .18), transparent 30%),
    linear-gradient(130deg, var(--mh-brand-dark), var(--mh-brand) 58%, #32111b);
  color: #fff;
}

.refresher-final::after {
  position: absolute;
  top: -15rem;
  right: -10rem;
  width: 42rem;
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 50%;
  box-shadow: 0 0 0 5rem rgba(255, 255, 255, .03), 0 0 0 10rem rgba(255, 255, 255, .02);
  content: "";
}

.refresher-final__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(460px, 1.05fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
}

.refresher-final h2 {
  max-width: 700px;
  margin: 1rem 0 1.2rem;
  font-size: clamp(3.5rem, 6vw, 6rem);
  font-weight: 925;
  letter-spacing: -.06em;
  line-height: .91;
}

.refresher-final__grid > div > p:not(.home-kicker, .refresher-final__meta) {
  max-width: 620px;
  color: rgba(255, 255, 255, .72);
  font-size: 1.05rem;
}

.refresher-final__price {
  display: block;
  margin: 1.75rem 0;
  color: #fff;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
}

.refresher-final__price span {
  margin: 0 .5rem;
  color: #c6dc98;
}

.refresher-order--inverse .btn:disabled {
  border-color: rgba(255, 255, 255, .5);
  background: rgba(255, 255, 255, .18);
  color: rgba(255, 255, 255, .75);
}

.refresher-final__meta {
  margin: 1rem 0 0;
  color: rgba(255, 255, 255, .54);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
}

.refresher-final__media {
  position: relative;
  min-height: 500px;
  overflow: hidden;
  margin: 0;
  border: 8px solid rgba(255, 255, 255, .12);
  border-radius: 34px 8px 34px 8px;
  box-shadow: 0 34px 90px rgba(30, 5, 13, .35);
}

.refresher-final__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 300ms ease;
}

.refresher-final__media:hover img {
  transform: scale(1.035);
}

.refresher-final__media figcaption {
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
  left: 1.25rem;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .8rem;
  align-items: center;
  padding: 1rem 1.15rem;
  background: rgba(17, 19, 24, .88);
  color: rgba(255, 255, 255, .72);
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
}

.refresher-final__media figcaption i {
  height: 1px;
  background: linear-gradient(90deg, var(--mh-brand), var(--mh-green));
}

.refresher-final__media figcaption strong {
  color: #c6dc98;
}

@media (max-width: 1199.98px) {
  .refresher-hero__grid {
    grid-template-columns: minmax(0, .84fr) minmax(470px, 1.16fr);
    gap: 2.5rem;
  }

  .refresher-hero h1 {
    font-size: clamp(3.7rem, 5.2vw, 4.4rem);
  }

  .refresher-hero__visual {
    min-height: 590px;
  }

  .refresher-problem__grid,
  .refresher-report-section__grid {
    grid-template-columns: minmax(0, 1fr) minmax(440px, 1fr);
    gap: 3rem;
  }

  .refresher-process__card {
    min-height: 450px;
  }

  .refresher-comparison__layout {
    grid-template-columns: minmax(290px, .62fr) minmax(0, 1.38fr);
    gap: 3rem;
  }
}

@media (max-width: 991.98px) {
  .refresher-hero__grid,
  .refresher-problem__grid,
  .refresher-report-section__grid,
  .refresher-comparison__layout,
  .refresher-faq__grid,
  .refresher-final__grid {
    grid-template-columns: 1fr;
  }

  .refresher-hero__copy {
    max-width: 760px;
  }

  .refresher-hero h1 {
    font-size: clamp(4rem, 8vw, 5.25rem);
  }

  .refresher-hero__visual {
    min-height: 620px;
  }

  .refresher-section-nav span {
    display: none;
  }

  .refresher-section-nav .container {
    justify-content: flex-start;
  }

  .refresher-problem__media {
    min-height: 520px;
  }

  .refresher-process__rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .refresher-process__rail::before {
    display: none;
  }

  .refresher-process__card {
    min-height: 350px;
  }

  .refresher-report-section__grid .refresher-report {
    order: 2;
  }

  .refresher-pricing-card.is-featured,
  .refresher-pricing-card.is-featured:hover {
    transform: none;
  }

  .refresher-audience__grid article {
    grid-column: span 6;
  }

  .refresher-audience__grid article:last-child {
    grid-column: span 12;
    min-height: 340px;
  }

  .refresher-audience__grid article:nth-child(2),
  .refresher-audience__grid article:nth-child(2):hover {
    transform: none;
  }

  .refresher-comparison__layout > header {
    max-width: 820px;
  }

  .refresher-comparison__benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .refresher-faq__grid > header {
    position: static;
  }
}

@media (max-width: 767.98px) {
  .refresher-hero {
    padding-top: 4rem;
  }

  .refresher-hero h1 {
    font-size: clamp(3.45rem, 13vw, 4.5rem);
  }

  .refresher-hero__visual {
    min-height: 500px;
  }

  .refresher-hero__photo {
    inset: 1rem 1rem 3rem 0;
  }

  .refresher-hero__status {
    min-width: 210px;
  }

  .refresher-hero__scope {
    width: min(300px, 70%);
  }

  .refresher-hero__signal {
    display: none;
  }

  .refresher-section-heading h2 {
    font-size: clamp(2.7rem, 10vw, 4rem);
  }

  .refresher-problem__media {
    min-height: 430px;
  }

  .refresher-process__rail,
  .refresher-pricing__grid,
  .refresher-comparison__cards {
    grid-template-columns: 1fr;
  }

  .refresher-process__card {
    min-height: 0;
  }

  .refresher-process__rail > li:not(:last-child)::after {
    width: 2px;
    height: 1rem;
    display: block;
    margin: 0 auto;
    background: linear-gradient(var(--mh-brand), var(--mh-green));
    content: "";
  }

  .refresher-process__outcome {
    grid-template-columns: 1fr;
  }

  .refresher-process__outcome i {
    width: 42px;
  }

  .refresher-pricing-card {
    min-height: 0;
  }

  .refresher-pricing-card.is-featured {
    order: -1;
  }

  .refresher-audience__grid {
    grid-template-columns: 1fr;
  }

  .refresher-audience__grid article,
  .refresher-audience__grid article:last-child {
    grid-column: auto;
    min-height: 0;
  }

  .refresher-comparison-card,
  .refresher-comparison-card--solution {
    min-height: 0;
    transform: none;
  }

  .refresher-comparison-card:hover,
  .refresher-comparison-card--solution:hover {
    transform: translateY(-4px);
  }

  .refresher-comparison__benefits {
    grid-template-columns: 1fr;
  }

  .refresher-comparison__benefits span {
    min-height: 82px;
  }

  .refresher-final__media {
    min-height: 430px;
  }
}

@media (max-width: 575.98px) {
  .refresher-hero h1 {
    font-size: clamp(3.1rem, 15vw, 4rem);
  }

  .refresher-hero__pricing,
  .refresher-order {
    align-items: stretch;
    flex-direction: column;
  }

  .refresher-hero__pricing > span,
  .refresher-order .btn {
    width: 100%;
  }

  .refresher-hero__visual {
    min-height: 440px;
  }

  .refresher-hero__photo {
    inset: 0 0 4.5rem 1.25rem;
  }

  .refresher-hero__status {
    top: .75rem;
    right: auto;
    left: 0;
    min-width: 190px;
    padding: .9rem 1rem;
  }

  .refresher-hero__scope {
    right: 0;
    bottom: 0;
    width: calc(100% - 1rem);
    padding: 1rem 1.15rem;
  }

  .refresher-hero__scope ul {
    margin-top: .55rem;
  }

  .refresher-section-nav .container {
    gap: 1.1rem;
  }

  .refresher-problem__media {
    min-height: 360px;
  }

  .refresher-problem__tags {
    top: .75rem;
    right: .75rem;
  }

  .refresher-problem__media figcaption {
    bottom: .75rem;
    left: .75rem;
  }

  .refresher-report {
    padding: 1.1rem;
  }

  .refresher-report__table > div {
    grid-template-columns: minmax(0, 1.35fr) .65fr;
  }

  .refresher-report__table > div > span:nth-child(2) {
    display: none;
  }

  .refresher-report > footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .refresher-pricing-card__header strong {
    font-size: 4rem;
  }

  .refresher-faq__list summary {
    grid-template-columns: 30px 1fr;
    padding-left: 1rem;
    font-size: .88rem;
  }

  .refresher-faq__list details > p {
    padding: 1.2rem 1.15rem 1.4rem;
  }

  .refresher-final h2 {
    font-size: clamp(3.1rem, 14vw, 4rem);
  }

  .refresher-final__price span {
    display: block;
    height: .3rem;
    opacity: 0;
  }

  .refresher-final__media {
    min-height: 360px;
  }
}

@media (max-width: 359.98px) {
  .refresher-hero h1 {
    font-size: 3rem;
  }

  .refresher-hero__visual {
    min-height: 405px;
  }

  .refresher-section-heading h2,
  .refresher-final h2 {
    font-size: 2.7rem;
  }

  .refresher-report__table > div {
    padding: .65rem .55rem;
  }

  .refresher-pricing-card {
    padding: 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .refresher-page :is(
    .refresher-hero__photo img,
    .refresher-section-nav a,
    .refresher-problem__media img,
    .refresher-process__card,
    .refresher-process__visual :is(.visual-check-dot, .visual-scan, .visual-upload, .visual-report-check),
    .refresher-report,
    .refresher-pricing-card,
    .refresher-audience__grid article,
    .refresher-comparison-card,
    .refresher-faq__list details,
    .refresher-final__media img
  ) {
    transition: none;
  }

  .refresher-page :is(
    .refresher-hero__visual:hover .refresher-hero__photo img,
    .refresher-section-nav a:hover,
    .refresher-problem__media:hover img,
    .refresher-process__card:hover,
    .refresher-process__card:hover .refresher-process__visual :is(.visual-check-dot, .visual-scan, .visual-upload, .visual-report-check),
    .refresher-report:hover,
    .refresher-pricing-card:hover,
    .refresher-pricing-card.is-featured,
    .refresher-pricing-card.is-featured:hover,
    .refresher-audience__grid article:hover,
    .refresher-audience__grid article:nth-child(2),
    .refresher-audience__grid article:nth-child(2):hover,
    .refresher-comparison-card:hover,
    .refresher-comparison-card--solution,
    .refresher-comparison-card--solution:hover,
    .refresher-faq__list details:hover,
    .refresher-final__media:hover img
  ) {
    transform: none;
  }
}

/* Contractor workflow: Review -> Commit -> Build & Draw. */
.contractor-page--editorial .contractor-flow {
  position: relative;
  overflow: hidden;
  padding: clamp(4.75rem, 7vw, 7rem) 0;
  background:
    linear-gradient(rgba(108, 15, 43, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(108, 15, 43, .035) 1px, transparent 1px),
    linear-gradient(145deg, #f7f5f3 0%, #efeee9 100%);
  background-size: 58px 58px, 58px 58px, auto;
}

.contractor-page--editorial .contractor-flow::after {
  position: absolute;
  top: -18rem;
  right: -18rem;
  width: 40rem;
  aspect-ratio: 1;
  border: 1px solid rgba(108, 15, 43, .07);
  border-radius: 50%;
  box-shadow: 0 0 0 5rem rgba(108, 15, 43, .018), 0 0 0 10rem rgba(111, 141, 61, .018);
  content: "";
  pointer-events: none;
}

.contractor-workflow {
  position: relative;
  z-index: 1;
  margin-top: clamp(2.25rem, 4vw, 3.5rem);
}

.contractor-workflow__phases,
.contractor-workflow__steps {
  margin: 0;
  padding: 0;
  list-style: none;
}

.contractor-workflow__phases {
  --phase-gap: clamp(2.75rem, 4vw, 4.25rem);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--phase-gap);
}

.contractor-workflow__phase {
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 1.15rem;
  border: 1px solid var(--mh-line);
  border-radius: clamp(1.4rem, 2.4vw, 2rem);
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 18px 48px rgba(25, 28, 33, .08);
}

.contractor-workflow__phase--commit {
  border-color: rgba(108, 15, 43, .38);
  background: linear-gradient(145deg, #7b1130 0%, #5f0c24 100%);
  color: #fff;
  box-shadow: 0 22px 54px rgba(108, 15, 43, .2);
}

.contractor-workflow__phase--build {
  border-color: #24272c;
  background: linear-gradient(145deg, #24272c 0%, #15171b 100%);
  color: #fff;
  box-shadow: 0 22px 54px rgba(21, 23, 27, .18);
}

.contractor-workflow__phase-header {
  min-height: 92px;
  display: flex;
  gap: .9rem;
  align-items: flex-start;
  padding: .55rem .45rem 1.1rem;
}

.contractor-workflow__phase-header > span {
  flex: 0 0 auto;
  padding: .36rem .52rem;
  border: 1px solid rgba(111, 141, 61, .32);
  border-radius: 999px;
  background: rgba(111, 141, 61, .1);
  color: var(--mh-green);
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.contractor-workflow__phase--commit .contractor-workflow__phase-header > span,
.contractor-workflow__phase--build .contractor-workflow__phase-header > span {
  border-color: rgba(255, 255, 255, .2);
  background: rgba(255, 255, 255, .1);
  color: #c6dc98;
}

.contractor-workflow__phase-header h3 {
  margin: -.12rem 0 .18rem;
  color: var(--mh-ink);
  font-size: clamp(1.55rem, 2vw, 2rem);
  font-weight: 900;
  letter-spacing: -.035em;
  line-height: 1;
}

.contractor-workflow__phase--commit .contractor-workflow__phase-header h3,
.contractor-workflow__phase--build .contractor-workflow__phase-header h3 {
  color: #fff;
}

.contractor-workflow__phase-header p {
  margin: 0;
  color: var(--mh-muted);
  font-size: .78rem;
  line-height: 1.35;
}

.contractor-workflow__phase--commit .contractor-workflow__phase-header p,
.contractor-workflow__phase--build .contractor-workflow__phase-header p {
  color: rgba(255, 255, 255, .62);
}

.contractor-workflow__steps {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1rem;
}

.contractor-workflow__step {
  position: relative;
  min-height: 0;
  flex: 1;
  padding: 1.15rem;
  border: 1px solid rgba(25, 28, 33, .1);
  border-radius: 1.15rem;
  background: rgba(255, 255, 255, .92);
  color: var(--mh-ink);
  box-shadow: 0 10px 28px rgba(25, 28, 33, .07);
  outline: none;
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.contractor-workflow__phase--commit .contractor-workflow__step,
.contractor-workflow__phase--build .contractor-workflow__step {
  border-color: rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .075);
  color: #fff;
  box-shadow: none;
}

.contractor-workflow__step:hover,
.contractor-workflow__step:focus-visible {
  z-index: 2;
  border-color: rgba(111, 141, 61, .62);
  box-shadow: 0 18px 34px rgba(25, 28, 33, .14);
  transform: translateY(-5px);
}

.contractor-workflow__phase--commit .contractor-workflow__step:hover,
.contractor-workflow__phase--commit .contractor-workflow__step:focus-visible,
.contractor-workflow__phase--build .contractor-workflow__step:hover,
.contractor-workflow__phase--build .contractor-workflow__step:focus-visible {
  border-color: rgba(198, 220, 152, .62);
  background: rgba(255, 255, 255, .12);
  box-shadow: 0 18px 34px rgba(0, 0, 0, .2);
}

.contractor-workflow__step:focus-visible {
  outline: 3px solid rgba(111, 141, 61, .52);
  outline-offset: 3px;
}

.contractor-workflow__step-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .9rem;
}

.contractor-workflow__number {
  display: inline-grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: .65rem;
  background: var(--mh-brand);
  color: #fff;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .06em;
}

.contractor-workflow__phase--commit .contractor-workflow__number {
  background: #fff;
  color: var(--mh-brand);
}

.contractor-workflow__phase--build .contractor-workflow__number {
  background: var(--mh-green);
  color: #fff;
}

.contractor-workflow__icon {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(111, 141, 61, .25);
  border-radius: 50%;
  background: var(--mh-soft-green);
  color: var(--mh-green);
  transition: transform 220ms ease;
}

.contractor-workflow__phase--commit .contractor-workflow__icon,
.contractor-workflow__phase--build .contractor-workflow__icon {
  border-color: rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .1);
  color: #c6dc98;
}

.contractor-workflow__step:hover .contractor-workflow__icon,
.contractor-workflow__step:focus-visible .contractor-workflow__icon {
  transform: translateY(-2px) scale(1.06);
}

.contractor-workflow__icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.contractor-workflow__step h4 {
  margin: 0 0 .55rem;
  color: inherit;
  font-size: clamp(1.02rem, 1.25vw, 1.18rem);
  font-weight: 900;
  letter-spacing: -.025em;
  line-height: 1.15;
}

.contractor-workflow__step p {
  margin: 0;
  color: var(--mh-muted);
  font-size: .84rem;
  line-height: 1.55;
}

.contractor-workflow__phase--commit .contractor-workflow__step p,
.contractor-workflow__phase--build .contractor-workflow__step p {
  color: rgba(255, 255, 255, .66);
}

.contractor-workflow__step:not(:last-child)::after {
  position: absolute;
  bottom: -1.03rem;
  left: 50%;
  width: 2px;
  height: 1.05rem;
  background: linear-gradient(var(--mh-brand), var(--mh-green));
  content: "";
}

.contractor-workflow__step:not(:last-child)::before {
  position: absolute;
  bottom: -1.07rem;
  left: calc(50% - 4px);
  z-index: 1;
  border-top: 6px solid var(--mh-green);
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  content: "";
}

.contractor-workflow__handoff {
  position: absolute;
  top: 4.05rem;
  right: calc(var(--phase-gap) * -1);
  width: var(--phase-gap);
  height: 2px;
  background: linear-gradient(90deg, var(--mh-brand), var(--mh-green));
  pointer-events: none;
}

.contractor-workflow__handoff::after {
  position: absolute;
  top: -4px;
  right: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid var(--mh-green);
  content: "";
}

.contractor-workflow__outcome {
  max-width: 760px;
  display: flex;
  gap: 1.1rem;
  align-items: center;
  margin: clamp(2rem, 4vw, 3.25rem) auto 0;
  padding: 1rem 1.25rem;
  border: 1px solid rgba(108, 15, 43, .14);
  border-left: 5px solid var(--mh-brand);
  border-radius: 1rem;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 16px 38px rgba(25, 28, 33, .08);
}

.contractor-workflow__outcome > span {
  min-width: 62px;
  padding: .55rem .65rem;
  border-radius: .65rem;
  background: var(--mh-charcoal);
  color: #fff;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-align: center;
}

.contractor-workflow__outcome small {
  display: block;
  margin-bottom: .14rem;
  color: var(--mh-green);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.contractor-workflow__outcome p {
  margin: 0;
  color: var(--mh-ink);
  font-size: 1rem;
  font-weight: 800;
}

@media (max-width: 1099.98px) {
  .contractor-workflow__phases {
    --phase-gap: 1.65rem;
    grid-template-columns: 1fr;
  }

  .contractor-workflow__phase {
    display: grid;
    grid-template-columns: minmax(160px, .32fr) minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem;
  }

  .contractor-workflow__phase-header {
    min-height: 0;
    align-content: flex-start;
    flex-direction: column;
    padding: .75rem;
  }

  .contractor-workflow__phase-header h3 {
    margin-top: .2rem;
  }

  .contractor-workflow__steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contractor-workflow__step:not(:last-child)::after {
    top: 50%;
    right: -1.02rem;
    bottom: auto;
    left: auto;
    width: 1.05rem;
    height: 2px;
    background: linear-gradient(90deg, var(--mh-brand), var(--mh-green));
  }

  .contractor-workflow__step:not(:last-child)::before {
    top: calc(50% - 4px);
    right: -1.07rem;
    bottom: auto;
    left: auto;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 6px solid var(--mh-green);
  }

  .contractor-workflow__handoff {
    top: auto;
    right: auto;
    bottom: calc(var(--phase-gap) * -1);
    left: 50%;
    width: 2px;
    height: var(--phase-gap);
    background: linear-gradient(var(--mh-brand), var(--mh-green));
  }

  .contractor-workflow__handoff::after {
    top: auto;
    right: -4px;
    bottom: 0;
    border-top: 8px solid var(--mh-green);
    border-right: 5px solid transparent;
    border-bottom: 0;
    border-left: 5px solid transparent;
  }
}

@media (max-width: 639.98px) {
  .contractor-page--editorial .contractor-flow {
    padding: 4.5rem 0;
  }

  .contractor-workflow__phases {
    --phase-gap: 1.8rem;
  }

  .contractor-workflow__phase {
    display: flex;
    gap: 0;
    padding: .85rem;
  }

  .contractor-workflow__phase-header {
    min-height: 78px;
    flex-direction: row;
    padding: .45rem .35rem .9rem;
  }

  .contractor-workflow__phase-header h3 {
    margin-top: 0;
  }

  .contractor-workflow__steps {
    display: flex;
    gap: .9rem;
  }

  .contractor-workflow__step {
    padding: 1rem;
  }

  .contractor-workflow__step:not(:last-child)::after {
    top: auto;
    right: auto;
    bottom: -.93rem;
    left: 32px;
    width: 2px;
    height: .95rem;
    background: linear-gradient(var(--mh-brand), var(--mh-green));
  }

  .contractor-workflow__step:not(:last-child)::before {
    top: auto;
    right: auto;
    bottom: -.98rem;
    left: 28px;
    border-top: 6px solid var(--mh-green);
    border-right: 4px solid transparent;
    border-bottom: 0;
    border-left: 4px solid transparent;
  }

  .contractor-workflow__handoff {
    left: 32px;
  }

  .contractor-workflow__outcome {
    align-items: flex-start;
  }
}

@media (max-width: 359.98px) {
  .contractor-workflow__phase-header {
    gap: .65rem;
  }

  .contractor-workflow__phase-header h3 {
    font-size: 1.45rem;
  }

  .contractor-workflow__step p {
    font-size: .81rem;
  }

  .contractor-workflow__outcome {
    gap: .75rem;
    padding: .9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contractor-workflow__step,
  .contractor-workflow__icon {
    transition: none;
  }

  .contractor-workflow__step:hover,
  .contractor-workflow__step:focus-visible,
  .contractor-workflow__step:hover .contractor-workflow__icon,
  .contractor-workflow__step:focus-visible .contractor-workflow__icon {
    transform: none;
  }
}

/* Dedicated Makeover Estimator product page */
.estimator-page {
  --estimator-line: rgba(29, 32, 38, .13);
  background: var(--mh-paper);
  color: var(--mh-ink);
  overflow: clip;
}

.estimator-page em {
  color: var(--mh-green);
  font-style: normal;
}

.estimator-page :is(.home-kicker) {
  margin: 0 0 1.15rem;
}

.estimator-section {
  position: relative;
  padding: var(--mh-section-space) 0;
}

.estimator-section__lede {
  max-width: 600px;
  margin: 1.2rem 0 0;
  color: var(--mh-muted);
  font-size: clamp(1rem, 1.4vw, 1.18rem);
}

.estimator-heading {
  margin-bottom: clamp(2.3rem, 5vw, 4.2rem);
}

.estimator-heading h2 {
  max-width: 850px;
  margin: 0;
  font-size: clamp(2.5rem, 5.3vw, 5rem);
}

.estimator-heading > p {
  max-width: 520px;
  margin: 0;
  color: var(--mh-muted);
  font-size: 1.05rem;
}

.estimator-heading--split {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr);
  gap: clamp(2rem, 6vw, 6.5rem);
  align-items: end;
}

.estimator-heading--center {
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.estimator-heading--center .home-kicker {
  margin-right: auto;
  margin-left: auto;
}

.estimator-heading--center > p {
  max-width: 650px;
  margin: 1.2rem auto 0;
}

.estimator-hero {
  position: relative;
  min-height: min(880px, calc(100svh - 86px));
  display: grid;
  align-items: center;
  padding: clamp(4.5rem, 8vw, 7.5rem) 0 clamp(4rem, 7vw, 6.5rem);
  background:
    radial-gradient(circle at 74% 32%, rgba(111, 141, 61, .25), transparent 25%),
    linear-gradient(135deg, #12151a 0%, #1d2026 62%, #320d19 100%);
  color: #fff;
  isolation: isolate;
}

.estimator-hero__texture,
.estimator-demo__texture {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .28;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: linear-gradient(to bottom, #000, transparent 90%);
}

.estimator-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(520px, .86fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: center;
}

.estimator-hero__copy {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.estimator-hero .home-kicker,
.estimator-demo .home-kicker,
.estimator-final .home-kicker {
  border-color: rgba(255,255,255,.2);
  background: rgba(255,255,255,.08);
  color: #d6e3bd;
}

.estimator-hero .home-kicker {
  max-width: 100%;
  line-height: 1.25;
  white-space: normal;
}

.estimator-hero h1 {
  max-width: 820px;
  margin: 0;
  color: #fff;
  font-size: clamp(3.4rem, 5.1vw, 4.5rem);
  letter-spacing: -.055em;
  line-height: .94;
}

.estimator-hero h1 em {
  display: block;
  margin-top: .12em;
  color: #dceac4;
}

.estimator-hero__subhead {
  margin: 1.35rem 0 .35rem;
  color: #fff;
  font-size: clamp(1.22rem, 2vw, 1.65rem);
  font-weight: 850;
  letter-spacing: -.025em;
}

.estimator-hero__lede {
  max-width: 640px;
  margin: 0;
  color: rgba(255,255,255,.75);
  font-size: clamp(1rem, 1.4vw, 1.18rem);
}

.estimator-hero__actions {
  display: flex;
  gap: 1.25rem;
  align-items: end;
  flex-wrap: wrap;
  margin-top: 1.8rem;
}

.estimator-hero__actions .btn {
  margin-bottom: 2px;
}

.estimator-download--product .estimator-download__stores {
  gap: .65rem;
}

.estimator-download--product .estimator-download__store img {
  height: 43px;
}

.estimator-hero__proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: clamp(2.1rem, 4vw, 3.5rem) 0 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: var(--mh-radius-md);
  background: rgba(255,255,255,.13);
  list-style: none;
}

.estimator-hero__proof li {
  min-width: 0;
  padding: 1rem;
  background: rgba(17,19,24,.72);
}

.estimator-hero__proof strong,
.estimator-hero__proof span {
  display: block;
}

.estimator-hero__proof strong {
  color: #fff;
  font-size: .9rem;
}

.estimator-hero__proof span {
  color: rgba(255,255,255,.58);
  font-size: .72rem;
}

.estimator-hero__media {
  position: relative;
  min-height: 640px;
  display: grid;
  grid-template-columns: minmax(0, 350px) minmax(150px, 1fr);
  gap: clamp(1.25rem, 2.4vw, 2rem);
  align-items: center;
  justify-content: end;
}

.estimator-device {
  position: relative;
  width: min(100%, 350px);
  padding: 13px;
  border: 1px solid rgba(255,255,255,.23);
  border-radius: 48px;
  background: #08090c;
  box-shadow: 0 44px 90px rgba(0,0,0,.42), 0 0 0 8px rgba(255,255,255,.06);
  transform: rotate(3deg);
}

.estimator-device::after {
  position: absolute;
  inset: 9px;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 39px;
  pointer-events: none;
  content: "";
}

.estimator-device__speaker {
  position: absolute;
  top: 21px;
  left: 50%;
  z-index: 4;
  width: 88px;
  height: 20px;
  border-radius: 99px;
  background: #08090c;
  transform: translateX(-50%);
}

.estimator-device video {
  width: 100%;
  aspect-ratio: 9 / 17.4;
  display: block;
  border-radius: 37px;
  background: #000;
  object-fit: cover;
}

.estimator-hero__float {
  position: relative;
  z-index: 1;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.96);
  box-shadow: var(--mh-shadow-lg);
  color: var(--mh-ink);
  backdrop-filter: blur(12px);
}

.estimator-hero__callouts {
  min-width: 0;
  display: grid;
  gap: clamp(2rem, 7vh, 4.5rem);
  align-content: center;
  justify-items: start;
}

.estimator-hero__float--free {
  width: 132px;
  padding: 1rem;
  border-radius: 50%;
  text-align: center;
  transform: rotate(6deg);
}

.estimator-hero__float--free :is(span, strong, small) {
  display: block;
  line-height: 1.05;
}

.estimator-hero__float--free span,
.estimator-hero__float--free small {
  color: var(--mh-muted);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.estimator-hero__float--free strong {
  margin: .22rem 0;
  color: var(--mh-brand);
  font-size: 1.24rem;
}

.estimator-hero__float--ready {
  display: flex;
  gap: .75rem;
  align-items: center;
  padding: .8rem 1rem;
  border-radius: var(--mh-radius-md);
}

.estimator-hero__float--ready > span {
  width: 35px;
  height: 35px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--mh-green);
  color: #fff;
}

.estimator-hero__float--ready :is(small, strong) {
  display: block;
}

.estimator-hero__float--ready small {
  color: var(--mh-muted);
  font-size: .66rem;
  text-transform: uppercase;
}

.estimator-hero__float--ready strong {
  font-size: .86rem;
}

.estimator-runner {
  overflow: hidden;
  border-block: 1px solid rgba(108,15,43,.1);
  background: var(--mh-brand);
  color: #fff;
}

.estimator-runner__track {
  min-width: max-content;
  display: flex;
  gap: clamp(1.7rem, 4vw, 4rem);
  align-items: center;
  justify-content: center;
  padding: .95rem var(--mh-gutter);
}

.estimator-runner span {
  font-size: .73rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.estimator-runner i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #b8ca99;
}

.estimator-workflow {
  background:
    radial-gradient(circle at 100% 0%, rgba(111,141,61,.09), transparent 30%),
    var(--mh-soft-warm);
}

.estimator-workflow__layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(390px, 1.1fr);
  gap: clamp(2rem, 6vw, 5.5rem);
  align-items: stretch;
}

.estimator-workflow__steps {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: .65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.estimator-workflow__steps::before {
  position: absolute;
  top: 2rem;
  bottom: 2rem;
  left: 24px;
  width: 1px;
  background: linear-gradient(var(--mh-brand), var(--mh-green));
  content: "";
}

.estimator-workflow__steps li {
  position: relative;
}

.estimator-workflow__steps button {
  position: relative;
  z-index: 1;
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  border: 1px solid transparent;
  border-radius: var(--mh-radius-md);
  background: transparent;
  color: var(--mh-ink);
  text-align: left;
  transition: background var(--mh-ease), border-color var(--mh-ease), box-shadow var(--mh-ease), transform var(--mh-ease);
}

.estimator-workflow__steps li.is-active button,
.estimator-workflow__steps button:hover,
.estimator-workflow__steps button:focus-visible {
  border-color: rgba(108,15,43,.14);
  background: #fff;
  box-shadow: var(--mh-shadow-sm);
  transform: translateX(5px);
}

.estimator-workflow__letter {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(108,15,43,.2);
  border-radius: 50%;
  background: var(--mh-soft-warm);
  color: var(--mh-brand);
  font-size: .82rem;
  font-weight: 900;
}

.is-active .estimator-workflow__letter {
  border-color: var(--mh-brand);
  background: var(--mh-brand);
  color: #fff;
}

.estimator-workflow__steps strong,
.estimator-workflow__steps small {
  display: block;
}

.estimator-workflow__steps strong {
  font-size: 1.02rem;
}

.estimator-workflow__steps small {
  margin-top: .18rem;
  color: var(--mh-muted);
  font-size: .8rem;
  line-height: 1.45;
}

.estimator-workflow__arrow {
  color: var(--mh-green);
  font-size: 1.2rem;
  transition: transform var(--mh-ease);
}

.estimator-workflow__steps button:hover .estimator-workflow__arrow,
.estimator-workflow__steps button:focus-visible .estimator-workflow__arrow {
  transform: translateX(4px);
}

.estimator-workflow__preview {
  position: relative;
  min-height: 610px;
  display: grid;
  place-items: center;
  padding: clamp(2rem, 4vw, 3.5rem);
  border-radius: var(--mh-radius-xl);
  background: linear-gradient(145deg, var(--mh-charcoal), #2b1119);
  box-shadow: var(--mh-shadow-lg);
  overflow: hidden;
}

.estimator-workflow__preview::before {
  position: absolute;
  width: 380px;
  height: 380px;
  border-radius: 50%;
  background: rgba(111,141,61,.18);
  filter: blur(1px);
  content: "";
}

.estimator-workflow__preview-label {
  position: absolute;
  top: 1.15rem;
  left: 1.3rem;
  z-index: 4;
  color: rgba(255,255,255,.6);
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.estimator-workflow__preview figure {
  position: absolute;
  z-index: 2;
  width: min(57%, 300px);
  margin: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateY(18px) scale(.97);
  transition: opacity 240ms ease, transform 240ms ease;
}

.estimator-workflow__preview figure.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.estimator-workflow__preview img {
  width: 100%;
  aspect-ratio: 9 / 16.4;
  display: block;
  border: 8px solid #090a0d;
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 30px 65px rgba(0,0,0,.38);
  object-fit: cover;
  object-position: top center;
}

.estimator-workflow__preview figcaption {
  position: absolute;
  right: -28%;
  bottom: 8%;
  min-width: 156px;
  padding: .8rem 1rem;
  border-radius: var(--mh-radius-sm);
  background: #fff;
  box-shadow: var(--mh-shadow-md);
}

.estimator-workflow__preview figcaption span,
.estimator-workflow__preview figcaption strong {
  display: block;
}

.estimator-workflow__preview figcaption span {
  color: var(--mh-green);
  font-size: .68rem;
  font-weight: 900;
}

.estimator-workflow__preview figcaption strong {
  color: var(--mh-ink);
  font-size: .85rem;
}

.estimator-free-callout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(220px, .75fr) auto;
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
  margin-top: clamp(2rem, 5vw, 4rem);
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid rgba(108,15,43,.13);
  border-radius: var(--mh-radius-lg);
  background: #fff;
  box-shadow: var(--mh-shadow-sm);
}

.estimator-free-callout > div:first-child {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.estimator-free-callout__number {
  color: rgba(108,15,43,.16);
  font-size: clamp(2.8rem, 5vw, 4.7rem);
  font-weight: 900;
  letter-spacing: -.08em;
}

.estimator-free-callout .home-kicker {
  margin-bottom: .6rem;
}

.estimator-free-callout h3,
.estimator-free-callout p {
  margin: 0;
}

.estimator-free-callout h3 {
  font-size: clamp(1.35rem, 2.3vw, 2rem);
}

.estimator-free-callout > p {
  color: var(--mh-muted);
  font-size: .9rem;
}

.estimator-visualizer {
  background: #fff;
}

.estimator-visualizer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: center;
}

.estimator-visualizer__media {
  position: relative;
}

.estimator-visualizer__media::before {
  position: absolute;
  right: -1.6rem;
  bottom: -1.6rem;
  width: 58%;
  height: 42%;
  border-radius: var(--mh-radius-lg);
  background: var(--mh-brand);
  content: "";
}

.estimator-comparison {
  --comparison: 50%;
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 10px solid #fff;
  border-radius: var(--mh-radius-xl);
  background: var(--mh-soft);
  box-shadow: var(--mh-shadow-lg);
}

.estimator-comparison img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.estimator-comparison__before {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  overflow: hidden;
  clip-path: inset(0 calc(100% - var(--comparison)) 0 0);
}

.estimator-comparison__before img {
  width: 100%;
  max-width: none;
}

.estimator-comparison__label {
  position: absolute;
  top: 1.1rem;
  z-index: 4;
  padding: .42rem .68rem;
  border-radius: 999px;
  background: rgba(17,19,24,.82);
  color: #fff;
  font-size: .67rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.estimator-comparison__label--before { left: 1.1rem; }
.estimator-comparison__label--after { right: 1.1rem; }

.estimator-comparison__divider {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--comparison);
  z-index: 4;
  width: 3px;
  background: #fff;
  box-shadow: 0 0 18px rgba(0,0,0,.28);
  transform: translateX(-50%);
}

.estimator-comparison__divider i {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  box-shadow: var(--mh-shadow-md);
  color: var(--mh-brand);
  font-style: normal;
  font-weight: 900;
  transform: translate(-50%, -50%);
}

.estimator-comparison input {
  position: absolute;
  inset: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: ew-resize;
}

.estimator-visualizer__copy h2 {
  margin: 0;
  font-size: clamp(3rem, 6vw, 5.6rem);
}

.estimator-check-list {
  display: grid;
  gap: .9rem;
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
}

.estimator-check-list li {
  position: relative;
  padding-left: 2.1rem;
  color: var(--mh-ink);
  font-weight: 700;
}

.estimator-check-list li::before {
  position: absolute;
  top: .18rem;
  left: 0;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(111,141,61,.14);
  color: var(--mh-green);
  font-size: .78rem;
  content: "✓";
}

.estimator-visualizer__chips {
  display: flex;
  gap: .65rem;
  flex-wrap: wrap;
  margin-top: 1.8rem;
}

.estimator-visualizer__chips span {
  padding: .5rem .75rem;
  border: 1px solid var(--mh-line);
  border-radius: 999px;
  color: var(--mh-muted);
  font-size: .72rem;
  font-weight: 800;
}

.estimator-audience {
  background: var(--mh-soft);
}

.estimator-audience__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
}

.estimator-audience__card {
  position: relative;
  min-height: 330px;
  display: flex;
  gap: 1rem;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(1.4rem, 3vw, 2.2rem);
  border: 1px solid var(--estimator-line);
  border-radius: var(--mh-radius-lg);
  background: #fff;
  box-shadow: var(--mh-shadow-sm);
  color: var(--mh-ink);
  overflow: hidden;
  text-decoration: none;
  transition: border-color var(--mh-ease), box-shadow var(--mh-ease), transform var(--mh-ease);
}

.estimator-audience__card--0,
.estimator-audience__card--3 { grid-column: span 7; }
.estimator-audience__card--1,
.estimator-audience__card--2 { grid-column: span 5; }
.estimator-audience__card--1 { background: var(--mh-brand); color: #fff; }
.estimator-audience__card--2 { background: var(--mh-charcoal); color: #fff; }

.estimator-audience__card:hover,
.estimator-audience__card:focus-visible {
  border-color: rgba(108,15,43,.35);
  box-shadow: var(--mh-shadow-md);
  color: inherit;
  transform: translateY(-5px);
}

.estimator-audience__card img {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: clamp(105px, 16vw, 180px);
  height: clamp(105px, 16vw, 180px);
  opacity: .92;
  object-fit: contain;
  transition: transform 260ms ease;
}

.estimator-audience__card:hover img,
.estimator-audience__card:focus-visible img {
  transform: rotate(3deg) scale(1.04);
}

.estimator-audience__number {
  color: var(--mh-green);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .1em;
}

.estimator-audience__card div {
  position: relative;
  z-index: 2;
  max-width: 68%;
}

.estimator-audience__card h3 {
  margin: 0;
  font-size: clamp(1.65rem, 3vw, 2.6rem);
}

.estimator-audience__card p {
  margin: .8rem 0 0;
  color: var(--mh-muted);
  font-size: .88rem;
}

.estimator-audience__card--1 p,
.estimator-audience__card--2 p { color: rgba(255,255,255,.68); }

.estimator-audience__link {
  display: inline-flex;
  gap: .55rem;
  align-items: center;
  margin-top: 1.25rem;
  color: currentColor;
  font-size: .78rem;
  font-weight: 850;
}

.estimator-audience__link i {
  font-style: normal;
  transition: transform var(--mh-ease);
}

.estimator-audience__card:hover .estimator-audience__link i,
.estimator-audience__card:focus-visible .estimator-audience__link i { transform: translateX(4px); }

.estimator-demo {
  background: linear-gradient(135deg, var(--mh-charcoal), #241019);
  color: #fff;
  isolation: isolate;
}

.estimator-demo__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
}

.estimator-demo__video {
  position: relative;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--mh-radius-xl);
  background: rgba(255,255,255,.08);
  box-shadow: 0 30px 75px rgba(0,0,0,.34);
}

.estimator-demo__label {
  position: absolute;
  top: 1.4rem;
  left: 1.4rem;
  z-index: 3;
  padding: .45rem .72rem;
  border-radius: 999px;
  background: rgba(17,19,24,.82);
  color: #fff;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.estimator-demo video {
  width: 100%;
  aspect-ratio: 16 / 10;
  display: block;
  border-radius: calc(var(--mh-radius-xl) - 8px);
  background: #07080a;
  object-fit: cover;
}

.estimator-demo__copy h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(2.8rem, 5vw, 5rem);
}

.estimator-demo__copy > p:not(.home-kicker) {
  margin: 1.1rem 0 0;
  color: rgba(255,255,255,.66);
}

.estimator-demo__stages {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .55rem;
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
}

.estimator-demo__stages li {
  position: relative;
  min-width: 0;
  padding: .55rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--mh-radius-sm);
  background: rgba(255,255,255,.06);
}

.estimator-demo__stages li > span {
  position: absolute;
  top: .32rem;
  left: .32rem;
  z-index: 2;
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--mh-brand);
  color: #fff;
  font-size: .58rem;
  font-weight: 900;
}

.estimator-demo__stages img {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 7px;
  background: #fff;
  object-fit: cover;
}

.estimator-demo__stages strong {
  min-height: 32px;
  display: block;
  margin-top: .45rem;
  color: rgba(255,255,255,.74);
  font-size: .65rem;
  line-height: 1.25;
}

.estimator-benefits {
  background: var(--mh-soft-warm);
}

.estimator-benefits__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-flow: dense;
  gap: 1rem;
}

.estimator-benefit {
  min-height: 230px;
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  border: 1px solid rgba(29,32,38,.11);
  border-radius: var(--mh-radius-lg);
  background: #fff;
  box-shadow: var(--mh-shadow-sm);
  transition: border-color var(--mh-ease), box-shadow var(--mh-ease), transform var(--mh-ease);
}

.estimator-benefit:hover {
  border-color: rgba(108,15,43,.25);
  box-shadow: var(--mh-shadow-md);
  transform: translateY(-4px);
}

.estimator-benefit--featured {
  grid-column: span 2;
  min-height: 270px;
  background: linear-gradient(145deg, var(--mh-charcoal), #24272e);
  color: #fff;
}

.estimator-benefit--featured:nth-child(3) {
  background: linear-gradient(145deg, var(--mh-brand), var(--mh-brand-dark));
}

.estimator-benefit__icon {
  position: relative;
  width: 50px;
  height: 50px;
  display: block;
  margin-bottom: auto;
  border: 1px solid rgba(111,141,61,.25);
  border-radius: 14px;
  background: rgba(111,141,61,.1);
}

.estimator-benefit__icon::before,
.estimator-benefit__icon::after,
.estimator-benefit__icon i,
.estimator-benefit__icon b {
  position: absolute;
  display: block;
  content: "";
}

.estimator-benefit__icon::before {
  inset: 12px 13px 13px;
  border: 2px solid var(--mh-green);
  border-radius: 5px;
}

.estimator-benefit__icon::after {
  right: 9px;
  bottom: 9px;
  width: 13px;
  height: 13px;
  border: 3px solid var(--mh-brand);
  border-radius: 50%;
  background: #fff;
}

.estimator-benefit--featured .estimator-benefit__icon::after { background: var(--mh-charcoal); }
.estimator-benefit--featured:nth-child(3) .estimator-benefit__icon::after { background: var(--mh-brand); border-color: #dceac4; }

.estimator-benefit__icon--home::before { border-radius: 50% 50% 5px 5px; transform: rotate(45deg) scale(.78); }
.estimator-benefit__icon--check::after { border: 0; background: var(--mh-green); clip-path: polygon(10% 46%, 35% 70%, 90% 15%, 100% 27%, 35% 90%, 0 57%); }
.estimator-benefit__icon--shield::before { border-radius: 12px 12px 16px 16px; }
.estimator-benefit__icon--share::before { border-radius: 50%; box-shadow: 13px 8px 0 -4px var(--mh-green), 0 18px 0 -4px var(--mh-green); }
.estimator-benefit__icon--gift::before { border-radius: 2px; }
.estimator-benefit__icon--speed::before { border-radius: 50%; }
.estimator-benefit__icon--tools::before { transform: rotate(-35deg); }

.estimator-benefit__category {
  margin-top: 1.3rem;
  color: var(--mh-green);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.estimator-benefit h3 {
  margin: .4rem 0 0;
  font-size: clamp(1.25rem, 2vw, 1.75rem);
}

.estimator-benefit p {
  margin: .65rem 0 0;
  color: var(--mh-muted);
  font-size: .85rem;
}

.estimator-benefit--featured p { max-width: 480px; color: rgba(255,255,255,.64); }

.estimator-final {
  position: relative;
  padding: clamp(4rem, 7vw, 6.5rem) 0;
  background:
    radial-gradient(circle at 85% 50%, rgba(111,141,61,.18), transparent 29%),
    linear-gradient(135deg, var(--mh-brand), #3c0b18);
  color: #fff;
  overflow: hidden;
}

.estimator-final__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .72fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: center;
}

.estimator-final h2 {
  max-width: 760px;
  margin: 0;
  color: #fff;
  font-size: clamp(2.8rem, 5.4vw, 5.2rem);
}

.estimator-final__grid > div:first-child > p:not(.home-kicker) {
  margin: 1rem 0 1.7rem;
  color: rgba(255,255,255,.72);
  font-size: 1.1rem;
}

.estimator-final__product {
  position: relative;
  padding: 1.1rem;
  border: 8px solid rgba(255,255,255,.1);
  border-radius: var(--mh-radius-xl);
  background: #fff;
  box-shadow: 0 35px 75px rgba(30,0,10,.35);
  color: var(--mh-ink);
  transform: rotate(2deg);
}

.estimator-final__product-head,
.estimator-final__product-room,
.estimator-final__product-stats,
.estimator-final__product-total,
.estimator-final__product-actions {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: .8rem;
  border-bottom: 1px solid var(--mh-line);
}

.estimator-final__product-head span { color: var(--mh-brand); font-weight: 900; }
.estimator-final__product-head small,
.estimator-final__product-room span,
.estimator-final__product-stats small,
.estimator-final__product-total small { color: var(--mh-muted); font-size: .68rem; }
.estimator-final__product-room { display: grid; grid-template-columns: auto 1fr auto; }
.estimator-final__product-room em { padding: .25rem .5rem; border-radius: 999px; background: rgba(111,141,61,.12); font-size: .65rem; font-weight: 900; }
.estimator-final__product-stats > span { display: grid; }
.estimator-final__product-total { display: grid; }
.estimator-final__product-total strong { color: var(--mh-brand); font-size: 2rem; }
.estimator-final__product-actions { justify-content: flex-end; border-bottom: 0; }
.estimator-final__product-actions span { padding: .45rem .75rem; border-radius: 999px; background: var(--mh-soft); color: var(--mh-brand); font-size: .7rem; font-weight: 850; }

@media (max-width: 1099.98px) {
  .estimator-hero { min-height: auto; }
  .estimator-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(330px, .68fr); gap: 2.5rem; }
  .estimator-hero h1 { font-size: clamp(3.35rem, 5.8vw, 4.35rem); }
  .estimator-hero__media { min-height: 620px; grid-template-columns: 1fr; grid-template-rows: auto auto; gap: 1.5rem; justify-items: center; }
  .estimator-device { width: 300px; }
  .estimator-hero__callouts { width: min(100%, 390px); grid-template-columns: auto minmax(0, 1fr); gap: 1rem; align-items: center; justify-items: stretch; }
  .estimator-hero__float--free { justify-self: center; }
  .estimator-hero__float--ready { justify-self: stretch; }
  .estimator-free-callout { grid-template-columns: 1fr 1fr; }
  .estimator-free-callout .estimator-download { grid-column: 1 / -1; }
  .estimator-demo__grid { grid-template-columns: 1fr; }
  .estimator-demo__video { order: 2; }
  .estimator-demo__stages { max-width: 650px; }
  .estimator-benefits__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .estimator-benefit--featured { grid-column: span 2; }
}

@media (max-width: 799.98px) {
  .estimator-heading--split,
  .estimator-hero__grid,
  .estimator-workflow__layout,
  .estimator-visualizer__grid,
  .estimator-final__grid {
    grid-template-columns: 1fr;
  }

  .estimator-heading--split { gap: 1.25rem; }
  .estimator-heading h2 { font-size: clamp(2.45rem, 9vw, 4.2rem); }
  .estimator-hero { padding-top: 4.5rem; }
  .estimator-hero h1 { font-size: clamp(3rem, 8vw, 4rem); }
  .estimator-hero__media { min-height: 690px; }
  .estimator-device { width: 320px; transform: none; }
  .estimator-workflow__preview { min-height: 580px; }
  .estimator-free-callout { grid-template-columns: 1fr; }
  .estimator-free-callout .estimator-download { grid-column: auto; }
  .estimator-visualizer__copy { order: -1; }
  .estimator-audience__grid { grid-template-columns: 1fr 1fr; }
  .estimator-audience__card { grid-column: auto; min-height: 330px; }
  .estimator-audience__card div { max-width: 100%; }
  .estimator-audience__card img { opacity: .42; }
  .estimator-benefits__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .estimator-benefit--featured { grid-column: span 2; }
  .estimator-final__product { width: min(100%, 480px); }
}

@media (max-width: 639.98px) {
  .estimator-section { padding: clamp(4rem, 17vw, 5.4rem) 0; }
  .estimator-heading { margin-bottom: 2rem; }
  .estimator-heading h2 { font-size: clamp(2.35rem, 11vw, 3.4rem); }
  .estimator-hero { padding: 3.8rem 0 3.5rem; }
  .estimator-hero .home-kicker { font-size: .67rem; }
  .estimator-hero h1 { font-size: clamp(3rem, 14.2vw, 4rem); }
  .estimator-hero__subhead { margin-top: 1rem; }
  .estimator-hero__actions { align-items: stretch; flex-direction: column; }
  .estimator-hero__actions .btn { width: fit-content; }
  .estimator-download--product .estimator-download__stores { flex-wrap: nowrap; }
  .estimator-download--product .estimator-download__store img { height: clamp(36px, 10.5vw, 42px); }
  .estimator-hero__proof { grid-template-columns: 1fr; }
  .estimator-hero__media { min-height: auto; margin-top: 2.75rem; }
  .estimator-device { width: min(78vw, 285px); }
  .estimator-hero__callouts { width: min(100%, 360px); }
  .estimator-hero__float--free { width: 105px; }
  .estimator-runner__track { justify-content: flex-start; overflow: hidden; }
  .estimator-workflow__steps button { grid-template-columns: 42px minmax(0,1fr); padding: .8rem; }
  .estimator-workflow__letter { width: 42px; height: 42px; }
  .estimator-workflow__arrow { display: none; }
  .estimator-workflow__steps::before { left: 21px; }
  .estimator-workflow__preview { min-height: 520px; padding: 2rem 1rem; }
  .estimator-workflow__preview figure { width: min(68%, 260px); }
  .estimator-workflow__preview figcaption { right: -16%; }
  .estimator-free-callout > div:first-child { align-items: flex-start; }
  .estimator-free-callout__number { display: none; }
  .estimator-comparison { aspect-ratio: 4 / 3; border-width: 6px; }
  .estimator-visualizer__media::before { right: -.7rem; bottom: -.7rem; }
  .estimator-audience__grid { grid-template-columns: 1fr; }
  .estimator-audience__card { min-height: 285px; }
  .estimator-demo__stages { grid-template-columns: repeat(5, minmax(70px, 1fr)); overflow-x: auto; padding-bottom: .5rem; scroll-snap-type: x mandatory; }
  .estimator-demo__stages li { scroll-snap-align: start; }
  .estimator-benefits__grid { grid-template-columns: 1fr; }
  .estimator-benefit,
  .estimator-benefit--featured { grid-column: auto; min-height: 220px; }
  .estimator-final h2 { font-size: clamp(2.55rem, 12vw, 3.65rem); }
  .estimator-final__product { transform: none; }
}

@media (max-width: 359.98px) {
  .estimator-hero h1 { font-size: 2.75rem; }
  .estimator-device { width: 240px; }
  .estimator-hero__callouts { gap: .65rem; }
  .estimator-hero__float--free { width: 92px; padding: .8rem; }
  .estimator-hero__float--ready { padding: .65rem .75rem; }
  .estimator-hero__float--ready strong { font-size: .76rem; }
  .estimator-workflow__preview { min-height: 465px; }
  .estimator-workflow__preview figure { width: 71%; }
  .estimator-workflow__preview figcaption { right: -10%; min-width: 132px; }
  .estimator-comparison__label { top: .65rem; }
  .estimator-comparison__label--before { left: .65rem; }
  .estimator-comparison__label--after { right: .65rem; }
  .estimator-final__product-room { grid-template-columns: 1fr auto; }
  .estimator-final__product-room span { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  .estimator-page :is(.estimator-workflow__steps button, .estimator-workflow__arrow, .estimator-workflow__preview figure, .estimator-audience__card, .estimator-audience__card img, .estimator-audience__link i, .estimator-benefit) {
    transition: none;
  }

  .estimator-page :is(.estimator-workflow__steps button, .estimator-audience__card, .estimator-benefit):hover,
  .estimator-page :is(.estimator-workflow__steps button, .estimator-audience__card):focus-visible,
  .estimator-page :is(.estimator-workflow__steps button, .estimator-audience__card):hover :is(.estimator-workflow__arrow, img, i) {
    transform: none;
  }
}
