:root {
  --mbrush-green: #00a86b;
  --mbrush-green-dark: #087a54;
  --mbrush-red: #d9232e;
  --mbrush-ink: #121719;
  --mbrush-slate: #536064;
  --mbrush-mist: #f3f6f5;
  --mbrush-white: #fff;
  --mbrush-border: #dce5e1;
  --mbrush-radius: 12px;
  --mbrush-shadow: 0 16px 48px rgba(17, 42, 33, 0.1);
  --mbrush-content: 1280px;
}

html { scroll-behavior: smooth; }

body.mbrush-site,
.editor-styles-wrapper {
  color: var(--mbrush-ink);
  font-family: "Chakra Petch", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 18px;
  line-height: 1.65;
}

.mbrush-site h1,
.mbrush-site h2,
.mbrush-site h3,
.mbrush-site h4,
.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4 {
  color: var(--mbrush-ink);
  font-family: inherit;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.12;
}

.mbrush-site h1 { font-size: clamp(2.65rem, 5.7vw, 5.25rem); }
.mbrush-site h2 { font-size: clamp(2rem, 3.5vw, 3.3rem); }
.mbrush-site h3 { font-size: clamp(1.35rem, 2vw, 1.75rem); }

.mbrush-site a { text-underline-offset: 0.18em; }
.mbrush-site img { height: auto; }

.mbrush-site .site-header {
  border-bottom: 5px solid var(--mbrush-green);
  box-shadow: 0 7px 22px rgba(18, 23, 25, 0.07);
}

.mbrush-site .site-main-header-inner-wrap {
  min-height: 92px;
}

.mbrush-site .site-branding img { max-height: 70px; width: auto; }

.mbrush-site .primary-menu-container > ul > li > a {
  color: var(--mbrush-ink);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.mbrush-site .primary-menu-container > ul > li > a:hover,
.mbrush-site .primary-menu-container > ul > li.current-menu-item > a {
  color: var(--mbrush-green-dark);
}

.mbrush-kicker {
  color: var(--mbrush-red);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  margin-bottom: 0.7rem;
  text-transform: uppercase;
}

.mbrush-section { padding-block: clamp(4rem, 7vw, 7.5rem); }
.mbrush-section--soft { background: var(--mbrush-mist); }
.mbrush-section--dark { background: #17201e; color: #e9f0ed; }
.mbrush-section--dark h2,
.mbrush-section--dark h3 { color: var(--mbrush-white); }

.mbrush-hero {
  align-items: center;
  background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.91) 42%, rgba(255,255,255,.15) 72%);
  display: grid;
  min-height: min(720px, 78vh);
  overflow: hidden;
  position: relative;
}

.mbrush-hero > .wp-block-cover__inner-container { width: min(calc(100% - 40px), var(--mbrush-content)); }
.mbrush-hero-copy { max-width: 720px; padding-block: 5rem; }
.mbrush-hero-copy p { color: var(--mbrush-slate); font-size: clamp(1.05rem, 1.5vw, 1.25rem); max-width: 620px; }

.mbrush-btn .wp-block-button__link,
.mbrush-site .wp-element-button,
.mbrush-site input[type="submit"] {
  background: var(--mbrush-green);
  border: 0;
  border-radius: 0;
  color: var(--mbrush-white);
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 700;
  padding: 0.95rem 1.45rem;
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.mbrush-btn .wp-block-button__link:hover,
.mbrush-site .wp-element-button:hover,
.mbrush-site input[type="submit"]:hover {
  background: var(--mbrush-green-dark);
  box-shadow: 0 10px 24px rgba(0, 168, 107, .23);
  color: var(--mbrush-white);
  transform: translateY(-2px);
}

.mbrush-btn--red .wp-block-button__link { background: var(--mbrush-red); }
.mbrush-btn--red .wp-block-button__link:hover { background: #b81923; }

.mbrush-card {
  background: var(--mbrush-white);
  border: 1px solid var(--mbrush-border);
  border-radius: var(--mbrush-radius);
  box-shadow: 0 8px 24px rgba(17, 42, 33, .05);
  height: 100%;
  overflow: hidden;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.mbrush-card:hover {
  border-color: rgba(0, 168, 107, .45);
  box-shadow: var(--mbrush-shadow);
  transform: translateY(-5px);
}

.mbrush-card img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.mbrush-card__body { padding: 1.25rem 1.35rem 1.45rem; }
.mbrush-card__body > :last-child { margin-bottom: 0; }

.mbrush-stat strong { color: var(--mbrush-ink); display: block; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1; }
.mbrush-stat span { color: var(--mbrush-slate); font-size: .85rem; font-weight: 600; text-transform: uppercase; }

.mbrush-cta {
  background: linear-gradient(110deg, var(--mbrush-green-dark), var(--mbrush-green));
  color: var(--mbrush-white);
  padding: clamp(2rem, 4vw, 3.5rem);
}
.mbrush-cta h2 { color: var(--mbrush-white); margin-bottom: .35rem; }
.mbrush-cta p { margin-bottom: 0; opacity: .9; }

.mbrush-site .site-footer { background: #17201e; border-top: 6px solid var(--mbrush-green); color: #b9c7c2; }
.mbrush-site .site-footer h2,
.mbrush-site .site-footer h3,
.mbrush-site .site-footer .widget-title { color: var(--mbrush-white); }
.mbrush-site .site-footer a { color: #dce7e3; }
.mbrush-site .site-footer a:hover { color: #62dfad; }

.mbrush-line-float {
  align-items: center;
  background: #06c755;
  border-radius: 999px;
  bottom: max(22px, env(safe-area-inset-bottom));
  box-shadow: 0 12px 32px rgba(0, 0, 0, .22);
  color: #fff !important;
  display: flex;
  gap: .65rem;
  padding: .55rem .95rem .55rem .55rem;
  position: fixed;
  right: max(22px, env(safe-area-inset-right));
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
  z-index: 9998;
}
.mbrush-line-float:hover { box-shadow: 0 16px 38px rgba(0, 0, 0, .28); transform: translateY(-3px); }
.mbrush-line-mark { align-items: center; background: #fff; border-radius: 50%; color: #06c755; display: flex; font-size: .62rem; font-weight: 700; height: 48px; justify-content: center; width: 48px; }
.mbrush-line-copy { display: flex; flex-direction: column; line-height: 1.15; }
.mbrush-line-copy strong { font-size: .92rem; }
.mbrush-line-copy small { font-size: .68rem; margin-top: .2rem; opacity: .92; }

@media (max-width: 1024px) {
  body.mbrush-site { font-size: 17px; }
  .mbrush-site .site-main-header-inner-wrap { min-height: 78px; }
  .mbrush-site .site-branding img { max-height: 58px; }
  .mbrush-hero { min-height: 620px; }
}

@media (max-width: 767px) {
  body.mbrush-site { font-size: 16px; }
  .mbrush-site .site-header { border-bottom-width: 4px; }
  .mbrush-site .site-branding img { max-height: 54px; max-width: 245px; }
  .mbrush-hero { background: linear-gradient(90deg, rgba(255,255,255,.97), rgba(255,255,255,.78)); min-height: 570px; }
  .mbrush-hero-copy { padding-block: 3.5rem; }
  .mbrush-section { padding-block: 3.5rem; }
  .mbrush-line-copy { display: none; }
  .mbrush-line-float { padding: .45rem; right: 14px; }
  .mbrush-line-mark { height: 52px; width: 52px; }
}

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