/*
Theme Name: Max Frame (Hello Biz Child)
Theme URI: https://maxframe.com.br
Description: Identidade visual Max Frame — drywall, gesso e WooCommerce.
Author: Max Frame
Template: hello-biz
Version: 3.8.4
Text Domain: hello-biz-maxframe
*/

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@800&family=Lato:wght@400;700&family=Plus+Jakarta+Sans:wght@500;600;700&display=swap');

:root {
  --mf-radius: 0.625rem;
  --mf-bg: #fafbfc;
  --mf-fg: #041e37;
  --mf-primary: #041e37;
  --mf-primary-fg: #fafbfc;
  --mf-secondary: #f1f4f7;
  --mf-muted: #5a6b7d;
  --mf-border: #e2e8ee;
  --mf-brand: #F58220;
  --mf-brand-deep: #d96a12;
  --mf-accent: #F58220;
  --mf-whatsapp: #25D366;
  --mf-navy: #041e37;
  --mf-navy-soft: #0a2f52;
  --mf-max-w: 80rem;
  --mf-font: 'Lato', system-ui, sans-serif;
  --mf-display: 'Plus Jakarta Sans', 'Lato', system-ui, sans-serif;
  --mf-logo: 'Barlow Condensed', 'Plus Jakarta Sans', sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

body.maxframe-site {
  margin: 0 !important;
  font-family: var(--mf-font) !important;
  background: var(--mf-bg) !important;
  color: var(--mf-fg) !important;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

body.maxframe-site a { color: inherit; text-decoration: none; }
/* Cards/links on dark sections must not inherit white text */
body.maxframe-site a.mf-audience-card,
body.maxframe-site a.mf-cat-card,
body.maxframe-site a.mf-service-card,
body.maxframe-site a.mf-product-card__img,
body.maxframe-site a.mf-product-card__name {
  color: var(--mf-primary);
}
body.maxframe-site img { max-width: 100%; height: auto; display: block; }
/* Cover images must ignore the global height:auto */
body.maxframe-site .mf-home-hero__frame img,
body.maxframe-site .mf-urgent__photo,
body.maxframe-site .mf-audience-card__media img,
body.maxframe-site .mf-service-card__img img {
  max-width: none;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.maxframe-site ul, body.maxframe-site ol { margin: 0; padding: 0; list-style: none; }
body.maxframe-site .mf-main { min-height: 50vh; }

.mf-container { width: 100%; max-width: var(--mf-max-w); margin: 0 auto; padding: 0 1rem; }
@media (min-width: 768px) { .mf-container { padding: 0 1.5rem; } }

.mf-section { padding: 4rem 0; }
.mf-section--muted { background: color-mix(in srgb, var(--mf-secondary) 70%, white); }
.mf-section--primary { background: var(--mf-primary); color: var(--mf-primary-fg); }

.mf-eyebrow {
  display: inline-flex; align-items: center; gap: 0.6rem;
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--mf-brand); margin: 0;
}
.mf-eyebrow--light { color: rgba(255,255,255,.65); }
.mf-eyebrow--brand { color: var(--mf-brand); }
.mf-bar { display: inline-block; width: 2px; height: 0.85rem; background: var(--mf-brand); flex-shrink: 0; }
.mf-dot { width: 8px; height: 8px; background: var(--mf-brand); flex-shrink: 0; }

.mf-title {
  margin: 0.6rem 0 0; font-family: var(--mf-display);
  font-size: clamp(1.85rem, 4vw, 2.75rem); font-weight: 800;
  letter-spacing: -0.02em; line-height: 1.08; color: var(--mf-primary);
}
.mf-title span { color: var(--mf-brand); }
.mf-title--light { color: #fff; }
.mf-title--light span { color: var(--mf-brand); }
.mf-lead { margin: 0.75rem 0 0; max-width: 36rem; color: var(--mf-muted); font-size: 1rem; }
.mf-section-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; }
.mf-link { font-size: 0.875rem; font-weight: 700; color: var(--mf-brand); white-space: nowrap; border-bottom: 1px solid var(--mf-brand); padding-bottom: 2px; }
.mf-link:hover { color: var(--mf-brand-deep); }

.mf-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  padding: 0.7rem 1.15rem; border-radius: var(--mf-radius);
  font-size: 0.875rem; font-weight: 700; border: none; cursor: pointer;
  transition: opacity .15s, background .15s, transform .15s, border-color .15s;
  text-decoration: none !important; text-transform: uppercase; letter-spacing: 0.04em;
}
.mf-btn--sm { padding: 0.45rem 0.7rem; font-size: 0.75rem; text-transform: none; letter-spacing: 0; }
.mf-btn--lg { padding: 0.9rem 1.35rem; }
.mf-btn--brand { background: var(--mf-brand); color: #fff !important; box-shadow: 0 10px 28px -10px rgba(245,130,32,.55); }
.mf-btn--brand:hover { opacity: .92; transform: translateY(-1px); }
.mf-btn--primary { background: var(--mf-primary); color: #fff !important; }
.mf-btn--primary:hover { opacity: .9; }
.mf-btn--outline-dark {
  background: #fff; color: var(--mf-primary) !important;
  border: 2px solid rgba(26,26,40,.7);
}
.mf-btn--outline-dark:hover { border-color: var(--mf-brand); color: var(--mf-brand) !important; }
.mf-btn--whatsapp { background: var(--mf-whatsapp); color: #fff !important; text-transform: none; letter-spacing: 0; }

/* Header */
.mf-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid rgba(0,0,0,.05); background: #fff; }
.mf-header__inner { display: flex; align-items: center; justify-content: space-between; height: 4.5rem; gap: 1rem; max-width: 1400px; }
.mf-logo { display: flex; align-items: center; gap: 0.65rem; flex-shrink: 0; }
.mf-logo__symbol { width: 2.75rem; height: 2.75rem; object-fit: contain; mix-blend-mode: multiply; }
.mf-logo__text { display: flex; flex-direction: column; line-height: 1; }
.mf-logo__name { font-family: var(--mf-display); font-weight: 800; font-size: 1.4rem; letter-spacing: -0.02em; }
.mf-logo__max { color: var(--mf-primary); }
.mf-logo__frame { color: var(--mf-brand); }
.mf-logo__tag { display: none; margin-top: 0.3rem; font-size: 0.58rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.12em; color: var(--mf-muted); }
@media (min-width: 640px) { .mf-logo__tag { display: block; } }

.mf-nav { display: none; }
@media (min-width: 1200px) { .mf-nav { display: block; } }
.mf-menu { display: flex; align-items: center; gap: 0.15rem; list-style: none; margin: 0; padding: 0; }
.mf-menu a { display: block; padding: 0.5rem 0.75rem; font-size: 0.95rem; font-weight: 600; color: rgba(26,26,40,.75) !important; }
.mf-menu a:hover, .mf-menu .current-menu-item > a { color: var(--mf-brand) !important; }

.mf-header__actions { display: flex; align-items: center; gap: 0.5rem; }
.mf-header__orc { display: none; }
@media (min-width: 1024px) { .mf-header__orc { display: inline-flex; } }
.mf-cart {
  display: inline-flex; align-items: center; gap: 0.4rem;
  padding: 0.6rem 0.85rem; border: 1px solid rgba(26,26,40,.2); border-radius: var(--mf-radius);
  font-size: 0.875rem; font-weight: 600; background: #fff; color: var(--mf-primary);
}
.mf-cart:hover { border-color: rgba(245,130,32,.45); }
.mf-cart__label { display: none; }
@media (min-width: 640px) { .mf-cart__label { display: inline; } }
.mf-cart__badge {
  min-width: 1.25rem; height: 1.25rem; border-radius: 0.35rem;
  background: var(--mf-brand); color: #fff; font-size: 11px; font-weight: 700;
  display: grid; place-items: center; padding: 0 0.25rem;
}
.mf-menu-toggle {
  display: grid; place-items: center; width: 2.6rem; height: 2.6rem;
  border: 1px solid rgba(26,26,40,.15); border-radius: var(--mf-radius); background: #fff; cursor: pointer; font-size: 1.1rem;
}
@media (min-width: 1200px) { .mf-menu-toggle { display: none; } }
.mf-nav-mobile { display: none; border-top: 1px solid var(--mf-border); background: #fff; }
.mf-nav-mobile.is-open, .mf-nav-mobile:not([hidden]) { display: block; }
.mf-nav-mobile .mf-menu { flex-direction: column; align-items: stretch; gap: 0; padding: 0.5rem 0; }
.mf-nav-mobile .mf-menu a { padding: 0.85rem 0.75rem; border-radius: var(--mf-radius); }
.mf-nav-mobile .mf-menu a:hover { background: var(--mf-secondary); }
.mf-nav-mobile__orc { display: flex; width: 100%; margin: 0.5rem 0 1rem; }

/* Account button (header) */
.mf-account-btn {
  display: inline-flex; align-items: center; gap: 0.4rem;
  padding: 0.6rem 0.85rem; border: 1px solid rgba(26,26,40,.2); border-radius: var(--mf-radius);
  font-size: 0.875rem; font-weight: 600; background: #fff; color: var(--mf-primary);
  max-width: 10rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.mf-account-btn:hover { border-color: rgba(245,130,32,.45); color: var(--mf-brand) !important; }
.mf-account-btn__label { display: none; }
@media (min-width: 640px) { .mf-account-btn__label { display: inline; } }
.mf-account-btn--mobile {
  width: 100%; max-width: none; margin: 0.35rem 0 0.75rem; padding: 0.85rem 0.75rem;
  justify-content: flex-start;
}

/* Account / Cart page shells (shortcode pages sit inside theme .mf-main) */
body.mf-body-account .mf-main#content,
body.mf-body-account-guest .mf-main#content,
body.mf-body-cart .mf-main#content {
  background: transparent;
  min-height: 0;
}
body.mf-body-account-guest .site-main,
body.mf-body-cart .site-main {
  width: 100%;
}
body.mf-body-account-guest .page-content,
body.mf-body-cart .page-content {
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Auth (login / register) */
/* Account surface — soft aesthetic like Conteúdo + generous vertical margin */
.mf-account-shell-page { background: var(--mf-bg); }
.mf-account-surface { min-height: calc(100vh - 5.75rem); }
.mf-account-surface__inner {
  position: relative;
  z-index: 1;
  padding: 3rem 0 4.5rem;
}
@media (min-width: 768px) {
  .mf-account-surface__inner { padding: 4rem 0 5.5rem; }
}
.mf-account__badge {
  display: inline-flex; align-items: center; gap: 0.5rem;
  border: 1px solid rgba(245,130,32,.2); background: rgba(255,255,255,.8);
  padding: 0.35rem 0.75rem; border-radius: 999px;
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--mf-brand);
  box-shadow: 0 1px 2px rgba(4,30,55,.04); backdrop-filter: blur(8px);
}
.mf-auth-section {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 56rem;
  margin: 0 auto;
  padding: 0;
  min-height: 0;
  display: block;
  background: transparent;
}
.mf-auth-section__inner { width: 100%; max-width: none; margin: 0; }
.mf-auth-section__hero { margin: 0 0 2rem; text-align: left; }
.mf-auth-section__eyebrow {
  display: inline-block; margin: 0;
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--mf-brand);
}
.mf-auth-section__title {
  margin: 0.65rem 0 0;
  font-family: var(--mf-display);
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 700; letter-spacing: -0.02em; color: var(--mf-primary);
}
.mf-auth-section__lead {
  margin: 0.65rem 0 0; max-width: 36rem;
  color: rgba(4,30,55,.65); line-height: 1.55;
}

/* My Account */
.mf-account-page { padding: 2rem 0 3.5rem; background: var(--mf-bg); }
.mf-account-shell { max-width: 72rem; }
.mf-account__hero { margin-bottom: 1.75rem; }
.mf-account__hero--guest { margin-bottom: 1.25rem; }
.mf-account__eyebrow {
  display: inline-block; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--mf-brand);
}
.mf-account__title {
  margin: 0.65rem 0 0; font-family: var(--mf-display); font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800; text-transform: uppercase; letter-spacing: -0.02em; color: var(--mf-primary);
}
.mf-account__lead { margin: 0.65rem 0 0; max-width: 36rem; color: rgba(26,26,40,.65); line-height: 1.55; }

.mf-account__layout {
  display: grid; gap: 1.5rem;
}
@media (min-width: 900px) {
  .mf-account__layout { grid-template-columns: 220px minmax(0, 1fr); align-items: start; }
}

.mf-account-nav {
  background: #fff; border: 1px solid var(--mf-border); border-radius: calc(var(--mf-radius) + 2px);
  padding: 0.5rem;
}
.mf-account-nav__list { list-style: none; margin: 0; padding: 0; }
.mf-account-nav__list li { margin: 0; }
.mf-account-nav__list a {
  display: flex; align-items: center; gap: 0.55rem;
  padding: 0.75rem 0.85rem; border-radius: var(--mf-radius);
  font-size: 0.925rem; font-weight: 600; color: rgba(26,26,40,.75) !important;
}
.mf-account-nav__icon {
  display: inline-grid; place-items: center; width: 1.1rem; color: var(--mf-brand);
  font-size: 0.8rem; line-height: 1;
}
.mf-account-nav__list a:hover,
.mf-account-nav__list .is-active a {
  background: rgba(245,130,32,.08); color: var(--mf-brand) !important;
}
.mf-account-nav__list .woocommerce-MyAccount-navigation-link--customer-logout a {
  color: rgba(26,26,40,.55) !important;
}
.mf-account-nav__list .woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  color: #b42318 !important; background: rgba(180,35,24,.06);
}
.mf-track-list { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: 0.75rem; }
.mf-track-item {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem;
  padding: 1rem; border: 1px solid var(--mf-border); border-radius: var(--mf-radius); background: var(--mf-secondary);
}
.mf-track-item > div { display: grid; gap: 0.2rem; }
.mf-track-item strong { color: var(--mf-primary); }
.mf-track-item span { font-size: 0.85rem; color: rgba(26,26,40,.6); }
.mf-track-code { font-weight: 600; color: var(--mf-brand) !important; }

.mf-account__content,
.mf-account-card {
  background: #fff; border: 1px solid var(--mf-border); border-radius: calc(var(--mf-radius) + 2px);
  padding: 1.5rem;
}
@media (min-width: 768px) {
  .mf-account__content, .mf-account-card { padding: 1.75rem 2rem; }
}
.mf-account-card__title {
  margin: 0; font-family: var(--mf-display); font-size: 1.35rem; font-weight: 800;
  text-transform: uppercase; color: var(--mf-primary);
}
.mf-account-card__desc { margin: 0.5rem 0 1.25rem; color: rgba(26,26,40,.65); line-height: 1.5; }
.mf-account-card__hint { margin: 0 0 1rem; font-size: 0.875rem; color: rgba(26,26,40,.6); }
.mf-account-card__back { margin: 1.25rem 0 0; font-size: 0.875rem; }
.mf-account-card__back a { color: var(--mf-brand) !important; font-weight: 600; }

.mf-account-auth { display: grid; gap: 1.25rem; align-items: stretch; }
@media (min-width: 900px) {
  .mf-account-auth--split { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
}
.mf-account-auth .mf-account-card { height: 100%; }

.mf-account-form label {
  display: block; margin-bottom: 0.35rem; font-size: 0.875rem; font-weight: 600; color: var(--mf-primary);
}
.mf-account-form .input-text,
.mf-account-form input[type="email"],
.mf-account-form input[type="password"],
.mf-account-form input[type="text"] {
  width: 100%; padding: 0.75rem 0.85rem; border: 1px solid var(--mf-border); border-radius: var(--mf-radius);
  font: inherit; background: #fff;
}
.mf-account-form .input-text:focus {
  outline: none; border-color: rgba(245,130,32,.55); box-shadow: 0 0 0 3px rgba(245,130,32,.12);
}
.mf-account-form .form-row { margin: 0 0 1rem; }
.mf-account-form__actions {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem;
}
.mf-account-form .lost_password { margin: 0.75rem 0 0; font-size: 0.875rem; }
.mf-account-form .lost_password a { color: var(--mf-brand) !important; font-weight: 600; }

.mf-account-dashboard__intro { margin: 0 0 0.75rem; color: var(--mf-primary); }
.mf-account-dashboard__desc { margin: 0 0 1.5rem; color: rgba(26,26,40,.65); line-height: 1.55; }
.mf-account-dashboard__desc a,
.mf-account-dashboard__intro a { color: var(--mf-brand) !important; font-weight: 600; }
.mf-account-dashboard__cards {
  display: grid; gap: 0.85rem;
}
@media (min-width: 640px) {
  .mf-account-dashboard__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.mf-account-shortcut {
  display: block; padding: 1rem 1.1rem; border: 1px solid var(--mf-border); border-radius: var(--mf-radius);
  background: var(--mf-secondary); transition: border-color .15s, transform .15s;
}
.mf-account-shortcut:hover {
  border-color: rgba(245,130,32,.45); transform: translateY(-1px);
}
.mf-account-shortcut strong {
  display: block; font-family: var(--mf-display); font-size: 1rem; font-weight: 700;
  text-transform: uppercase; color: var(--mf-primary);
}
.mf-account-shortcut span { display: block; margin-top: 0.25rem; font-size: 0.85rem; color: rgba(26,26,40,.6); }

/* WooCommerce account tables/forms inside content */
.mf-account__content .woocommerce-orders-table,
.mf-account__content .shop_table {
  width: 100%; border-collapse: collapse; font-size: 0.9rem;
}
.mf-account__content .woocommerce-orders-table th,
.mf-account__content .woocommerce-orders-table td,
.mf-account__content .shop_table th,
.mf-account__content .shop_table td {
  padding: 0.75rem 0.5rem; border-bottom: 1px solid var(--mf-border); text-align: left;
}
.mf-account__content .woocommerce-orders-table a,
.mf-account__content .shop_table a { color: var(--mf-brand) !important; font-weight: 600; }
.mf-account__content .woocommerce-message,
.mf-account__content .woocommerce-info,
.mf-account__content .woocommerce-error {
  margin: 0 0 1rem; padding: 0.85rem 1rem; border-radius: var(--mf-radius); list-style: none;
}
.mf-account__content .woocommerce-message { background: rgba(245,130,32,.08); border: 1px solid rgba(245,130,32,.25); }
.mf-account__content .woocommerce-info { background: rgba(26,26,40,.04); border: 1px solid var(--mf-border); }
.mf-account__content .woocommerce-error { background: rgba(180,35,24,.06); border: 1px solid rgba(180,35,24,.2); }
.mf-account__content .button,
.mf-account__content button[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0.75rem 1.25rem; border: none; border-radius: var(--mf-radius);
  background: var(--mf-brand); color: #fff !important; font-weight: 700; cursor: pointer;
}
.mf-account__content .button:hover,
.mf-account__content button[type="submit"]:hover { background: var(--mf-brand-deep); }

/* Cart & Checkout */
.mf-cart-page,
.mf-checkout-page,
.mf-thankyou-page { padding: 2rem 0 3.5rem; background: var(--mf-bg); }
.mf-checkout-shell { max-width: 72rem; }

/* Empty cart — centered like local /carrinho */
.mf-cart-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 5.75rem);
  padding: 4rem 1rem 5rem;
  background: var(--mf-bg);
  text-align: center;
}
@media (min-width: 768px) {
  .mf-cart-empty { padding: 5rem 1.5rem 6rem; }
}
.mf-cart-empty__inner {
  width: 100%;
  max-width: 28rem;
  margin: 0 auto;
}
.mf-cart-empty__icon {
  font-size: 2.75rem;
  line-height: 1;
  margin: 0 auto 1rem;
}
.mf-cart-empty__title {
  margin: 0;
  font-family: var(--mf-display);
  font-size: clamp(1.65rem, 3vw, 2.15rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--mf-primary);
}
.mf-cart-empty__lead {
  margin: 0.85rem 0 0;
  color: rgba(4,30,55,.65);
  line-height: 1.55;
}
.mf-cart-empty__cta {
  display: inline-flex;
  margin-top: 1.5rem;
}

/* Fallback for WooCommerce Cart Block empty state */
body.mf-body-cart .wp-block-woocommerce-empty-cart-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 5.75rem);
  padding: 4rem 1rem 5rem;
  text-align: center;
}
body.mf-body-cart .wc-block-cart__empty-cart__title {
  max-width: 28rem;
  margin-left: auto;
  margin-right: auto;
  font-family: var(--mf-display);
  font-size: clamp(1.65rem, 3vw, 2.15rem);
  font-weight: 700;
  color: var(--mf-primary);
}
body.mf-body-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator,
body.mf-body-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new,
body.mf-body-cart .wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title) {
  display: none;
}

.mf-cart-page .woocommerce,
.mf-checkout-page .woocommerce {
  display: grid; gap: 1.5rem;
}

.mf-cart-page .shop_table,
.mf-checkout-page .shop_table {
  width: 100%; border-collapse: collapse; background: #fff;
  border: 1px solid var(--mf-border); border-radius: calc(var(--mf-radius) + 2px);
  overflow: hidden;
}
.mf-cart-page .shop_table th,
.mf-cart-page .shop_table td,
.mf-checkout-page .shop_table th,
.mf-checkout-page .shop_table td {
  padding: 1rem 0.85rem; border-bottom: 1px solid var(--mf-border); text-align: left; vertical-align: middle;
}
.mf-cart-page .product-thumbnail img { width: 64px; height: 64px; object-fit: cover; border-radius: 0.35rem; }
.mf-cart-page .product-name a { color: var(--mf-primary) !important; font-weight: 700; }
.mf-cart-page .product-remove a {
  display: inline-grid; place-items: center; width: 1.75rem; height: 1.75rem;
  border-radius: 0.35rem; border: 1px solid var(--mf-border); color: rgba(26,26,40,.55) !important;
}
.mf-cart-page .product-remove a:hover { border-color: rgba(180,35,24,.35); color: #b42318 !important; }
.mf-cart-page .quantity .qty {
  width: 4rem; padding: 0.55rem 0.5rem; border: 1px solid var(--mf-border); border-radius: var(--mf-radius);
  font: inherit; text-align: center;
}
.mf-cart-page .coupon { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin: 1rem 0; }
.mf-cart-page .coupon input {
  padding: 0.7rem 0.85rem; border: 1px solid var(--mf-border); border-radius: var(--mf-radius); font: inherit;
}
.mf-cart-page .cart_totals,
.mf-checkout-page #order_review {
  background: #fff; border: 1px solid var(--mf-border); border-radius: calc(var(--mf-radius) + 2px);
  padding: 1.35rem 1.5rem;
}
.mf-cart-page .cart_totals h2,
.mf-checkout-page #order_review_heading {
  margin: 0 0 1rem; font-family: var(--mf-display); font-size: 1.25rem; font-weight: 800;
  text-transform: uppercase; color: var(--mf-primary);
}
.mf-cart-page .wc-proceed-to-checkout .checkout-button,
.mf-checkout-page #place_order,
.mf-cart-page button[name="update_cart"],
.mf-cart-page .coupon button {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0.85rem 1.35rem; border: none; border-radius: var(--mf-radius);
  background: var(--mf-brand); color: #fff !important; font-weight: 700; cursor: pointer;
}
.mf-cart-page .wc-proceed-to-checkout .checkout-button { width: 100%; margin-top: 0.75rem; }
.mf-cart-page .wc-proceed-to-checkout .checkout-button:hover,
.mf-checkout-page #place_order:hover,
.mf-cart-page button[name="update_cart"]:hover,
.mf-cart-page .coupon button:hover { background: var(--mf-brand-deep); }

.mf-cart-page .cart-empty,
.mf-cart-page .return-to-shop {
  display: none;
}

.mf-checkout-page .woocommerce-billing-fields,
.mf-checkout-page .woocommerce-shipping-fields,
.mf-checkout-page .woocommerce-additional-fields,
.mf-checkout-page .woocommerce-account-fields {
  background: #fff; border: 1px solid var(--mf-border); border-radius: calc(var(--mf-radius) + 2px);
  padding: 1.35rem 1.5rem; margin-bottom: 1.25rem;
}
.mf-checkout-page .woocommerce-billing-fields h3,
.mf-checkout-page .woocommerce-shipping-fields h3,
.mf-checkout-page .woocommerce-additional-fields h3 {
  margin: 0 0 1rem; font-family: var(--mf-display); font-size: 1.2rem; font-weight: 800;
  text-transform: uppercase; color: var(--mf-primary);
}
.mf-checkout-page .form-row { margin: 0 0 0.9rem; }
.mf-checkout-page label {
  display: block; margin-bottom: 0.3rem; font-size: 0.875rem; font-weight: 600; color: var(--mf-primary);
}
.mf-checkout-page .input-text,
.mf-checkout-page select,
.mf-checkout-page textarea {
  width: 100%; padding: 0.75rem 0.85rem; border: 1px solid var(--mf-border); border-radius: var(--mf-radius);
  font: inherit; background: #fff;
}
.mf-checkout-page .input-text:focus,
.mf-checkout-page select:focus,
.mf-checkout-page textarea:focus {
  outline: none; border-color: rgba(245,130,32,.55); box-shadow: 0 0 0 3px rgba(245,130,32,.12);
}
.mf-checkout-page #payment {
  background: #fff; border: 1px solid var(--mf-border); border-radius: calc(var(--mf-radius) + 2px);
  padding: 1.25rem 1.35rem; margin-top: 1rem;
}
.mf-checkout-page #payment .payment_methods { list-style: none; margin: 0 0 1rem; padding: 0; }
.mf-checkout-page #payment .payment_methods li {
  padding: 0.85rem 0; border-bottom: 1px solid var(--mf-border);
}
.mf-checkout-page #payment .payment_methods li:last-child { border-bottom: 0; }
.mf-checkout-page #payment .payment_box {
  margin-top: 0.65rem; padding: 0.85rem 1rem; background: var(--mf-secondary);
  border-radius: var(--mf-radius); font-size: 0.9rem; color: rgba(26,26,40,.7);
}
.mf-checkout-page .woocommerce-form__label-for-checkbox { display: flex; gap: 0.5rem; align-items: flex-start; }
.mf-checkout-page .woocommerce-info,
.mf-checkout-page .woocommerce-message,
.mf-checkout-page .woocommerce-error,
.mf-cart-page .woocommerce-info,
.mf-cart-page .woocommerce-message,
.mf-cart-page .woocommerce-error {
  margin: 0 0 1rem; padding: 0.85rem 1rem; border-radius: var(--mf-radius); list-style: none;
}
.mf-checkout-page .woocommerce-message,
.mf-cart-page .woocommerce-message { background: rgba(245,130,32,.08); border: 1px solid rgba(245,130,32,.25); }
.mf-checkout-page .woocommerce-info,
.mf-cart-page .woocommerce-info { background: rgba(26,26,40,.04); border: 1px solid var(--mf-border); }
.mf-checkout-page .woocommerce-error,
.mf-cart-page .woocommerce-error { background: rgba(180,35,24,.06); border: 1px solid rgba(180,35,24,.2); }

@media (min-width: 960px) {
  .mf-checkout-page .col2-set {
    display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 1.5rem; align-items: start;
  }
  .mf-checkout-page #customer_details { display: contents; }
  .mf-checkout-page #order_review_heading,
  .mf-checkout-page #order_review { grid-column: 2; }
}

/* Thank you */
.mf-thankyou__hero { margin-bottom: 1.5rem; }
.mf-thankyou__eyebrow {
  display: inline-block; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--mf-brand);
}
.mf-thankyou__title {
  margin: 0.65rem 0 0; font-family: var(--mf-display); font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800; text-transform: uppercase; letter-spacing: -0.02em; color: var(--mf-primary);
}
.mf-thankyou__lead { margin: 0.65rem 0 0; max-width: 36rem; color: rgba(26,26,40,.65); line-height: 1.55; }
.mf-thankyou__meta {
  list-style: none; margin: 0 0 1.5rem; padding: 0;
  display: grid; gap: 0.75rem;
  background: #fff; border: 1px solid var(--mf-border); border-radius: calc(var(--mf-radius) + 2px);
  padding: 1.25rem 1.35rem;
}
@media (min-width: 640px) {
  .mf-thankyou__meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.mf-thankyou__meta li { margin: 0; }
.mf-thankyou__meta span {
  display: block; font-size: 0.75rem; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.08em; color: rgba(26,26,40,.55);
}
.mf-thankyou__meta strong { display: block; margin-top: 0.25rem; color: var(--mf-primary); font-size: 1rem; }
.mf-thankyou__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1.5rem; }
.mf-thankyou .woocommerce-order-details,
.mf-thankyou .woocommerce-customer-details {
  background: #fff; border: 1px solid var(--mf-border); border-radius: calc(var(--mf-radius) + 2px);
  padding: 1.35rem 1.5rem; margin-bottom: 1.25rem;
}
.mf-thankyou .woocommerce-order-details h2,
.mf-thankyou .woocommerce-customer-details h2 {
  margin: 0 0 1rem; font-family: var(--mf-display); font-size: 1.15rem; font-weight: 800;
  text-transform: uppercase; color: var(--mf-primary);
}

/* Shipping methods */
.mf-checkout-page .woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
.mf-checkout-page .woocommerce-shipping-methods li {
  padding: 0.75rem 0; border-bottom: 1px solid var(--mf-border);
}
.mf-checkout-page .woocommerce-shipping-methods li:last-child { border-bottom: 0; }
.mf-checkout-page .woocommerce-terms-and-conditions-wrapper {
  margin: 1rem 0; padding: 1rem; background: var(--mf-secondary); border-radius: var(--mf-radius);
  font-size: 0.9rem;
}
.mf-checkout-page .woocommerce-terms-and-conditions-wrapper a { color: var(--mf-brand) !important; font-weight: 600; }
.mf-checkout-page .woocommerce-privacy-policy-text { margin: 0 0 0.75rem; color: rgba(26,26,40,.65); }

/* Legal pages */
.mf-legal-page { padding: 2.5rem 0 3.5rem; background: var(--mf-bg); }
.mf-legal-page__inner {
  max-width: 48rem; margin: 0 auto; background: #fff;
  border: 1px solid var(--mf-border); border-radius: calc(var(--mf-radius) + 2px);
  padding: 2rem 1.5rem;
}
@media (min-width: 768px) { .mf-legal-page__inner { padding: 2.5rem 2.5rem; } }
.mf-legal-page__eyebrow {
  display: inline-block; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--mf-brand);
}
.mf-legal-page__title {
  margin: 0.65rem 0 1.25rem; font-family: var(--mf-display); font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 800; text-transform: uppercase; color: var(--mf-primary);
}
.mf-legal-page__body { color: rgba(26,26,40,.75); line-height: 1.65; }
.mf-legal-page__body h2 {
  margin: 1.75rem 0 0.65rem; font-family: var(--mf-display); font-size: 1.15rem;
  font-weight: 800; text-transform: uppercase; color: var(--mf-primary);
}
.mf-legal-page__body p { margin: 0 0 0.85rem; }
.mf-legal-page__body ul { margin: 0 0 1rem; padding-left: 1.25rem; }
.mf-legal-page__body li { margin-bottom: 0.35rem; }

/* Single product */
.mf-product-page { padding: 1.5rem 0 3.5rem; background: var(--mf-bg); }
.mf-single__crumbs {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem;
  margin-bottom: 1.5rem; font-size: 0.8rem; color: rgba(26,26,40,.55);
}
.mf-single__crumbs a { color: rgba(26,26,40,.65) !important; font-weight: 600; }
.mf-single__crumbs a:hover { color: var(--mf-brand) !important; }
.mf-single__crumb-current { color: var(--mf-primary); font-weight: 600; max-width: 18rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.mf-single__grid {
  display: grid; gap: 2rem;
}
@media (min-width: 900px) {
  .mf-single__grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items: start; }
}
.mf-single__media {
  background: #fff; border: 1px solid var(--mf-border); border-radius: calc(var(--mf-radius) + 4px);
  overflow: hidden; aspect-ratio: 1;
}
.mf-single__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mf-single__media-empty { width: 100%; height: 100%; background: linear-gradient(145deg, #e8e8e4, #f8f8f6); }

.mf-single__info { display: flex; flex-direction: column; gap: 0.85rem; }
.mf-single__title {
  margin: 0; font-family: var(--mf-display); font-size: clamp(1.6rem, 3vw, 2.15rem);
  font-weight: 800; letter-spacing: -0.02em; color: var(--mf-primary); line-height: 1.1;
}
.mf-single__meta { font-size: 0.8rem; color: rgba(26,26,40,.55); }
.mf-single__price-block { margin-top: 0.25rem; }
.mf-single__price { font-size: clamp(1.75rem, 3vw, 2.35rem); font-weight: 800; color: var(--mf-primary); }
.mf-single__price .woocommerce-Price-amount { color: inherit; }
.mf-single__unit { margin-top: 0.2rem; font-size: 0.9rem; color: rgba(26,26,40,.55); }
.mf-single__desc { color: rgba(26,26,40,.75); line-height: 1.6; font-size: 0.975rem; }
.mf-single__desc p { margin: 0 0 0.75rem; }

.mf-single__cart form.cart {
  display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; margin: 0.5rem 0 0;
}
.mf-single__cart .quantity .qty {
  width: 4.25rem; padding: 0.75rem 0.5rem; border: 1px solid var(--mf-border);
  border-radius: var(--mf-radius); font: inherit; text-align: center;
}
.mf-single__cart .single_add_to_cart_button {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0.85rem 1.35rem; border: none; border-radius: var(--mf-radius);
  background: var(--mf-brand); color: #fff !important; font-weight: 700; cursor: pointer;
  flex: 1; min-width: 10rem;
}
.mf-single__cart .single_add_to_cart_button:hover { background: var(--mf-brand-deep); }
.mf-single__wa { width: 100%; justify-content: center; margin-top: 0.25rem; }

.mf-single__specs {
  margin-top: 0.75rem; background: #fff; border: 1px solid var(--mf-border);
  border-radius: calc(var(--mf-radius) + 2px); padding: 1.1rem 1.2rem;
}
.mf-single__specs-title {
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(26,26,40,.55);
}
.mf-single__specs-list { margin: 0.75rem 0 0; }
.mf-single__spec {
  display: flex; justify-content: space-between; gap: 1rem;
  padding: 0.45rem 0; border-bottom: 1px solid rgba(0,0,0,.06); font-size: 0.9rem;
}
.mf-single__spec:last-child { border-bottom: 0; }
.mf-single__spec dt { color: rgba(26,26,40,.55); margin: 0; }
.mf-single__spec dd { margin: 0; font-weight: 700; color: var(--mf-primary); text-align: right; }

.mf-single__related { margin-top: 3rem; }
.mf-single__related-title {
  margin: 0 0 1.25rem; font-family: var(--mf-display); font-size: 1.35rem;
  font-weight: 800; text-transform: uppercase; color: var(--mf-primary);
}

/* Contained hero */
.mf-home-hero { padding: 1rem 1rem 1.5rem; background: var(--mf-bg); }
@media (min-width: 768px) { .mf-home-hero { padding: 1.5rem 1.5rem 2.5rem; } }
.mf-home-hero__shell {
  position: relative; max-width: 80rem; margin: 0 auto;
  display: grid; border-radius: 1.75rem; background: #f3f3f1; overflow: hidden;
}
@media (min-width: 768px) {
  .mf-home-hero__shell { grid-template-columns: 1fr 1fr; border-radius: 2rem; min-height: 560px; }
}
.mf-home-hero__content {
  position: relative; z-index: 2;
  display: flex; flex-direction: column; justify-content: center;
  padding: 2.5rem 1.5rem;
}
@media (min-width: 768px) { .mf-home-hero__content { padding: 3.5rem 2.5rem; } }
@media (min-width: 1024px) { .mf-home-hero__content { padding: 4rem 3rem; } }
.mf-home-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 0.65rem;
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(26,26,40,.75);
}
.mf-home-hero__title {
  margin: 1.15rem 0 0; font-family: var(--mf-display);
  font-size: clamp(2.1rem, 4.5vw, 3.25rem); font-weight: 800; text-transform: uppercase;
  line-height: 0.98; letter-spacing: -0.02em; color: var(--mf-primary);
}
.mf-home-hero__title span { color: var(--mf-brand); }
.mf-home-hero__lead { margin: 1.15rem 0 0; max-width: 28rem; font-size: 1.05rem; color: rgba(26,26,40,.65); line-height: 1.55; }
.mf-home-hero__lead strong { color: var(--mf-brand); font-weight: 700; }
.mf-home-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2rem; }
.mf-home-hero__perks {
  display: grid; gap: 1rem; margin-top: 2.5rem; padding-top: 1.75rem;
  border-top: 1px solid rgba(26,26,40,.1); max-width: 32rem;
}
@media (min-width: 640px) { .mf-home-hero__perks { grid-template-columns: repeat(3, 1fr); gap: 0.75rem; } }
.mf-home-hero__perk { display: flex; align-items: flex-start; gap: 0.65rem; }
.mf-home-hero__perk-ico {
  width: 2.25rem; height: 2.25rem; border-radius: 999px; background: var(--mf-primary);
  color: #fff; display: inline-flex !important; align-items: center !important; justify-content: center !important;
  flex-shrink: 0; line-height: 0; overflow: hidden;
}
.mf-home-hero__perk-ico svg {
  width: 16px !important; height: 16px !important; display: block !important;
  margin: 0 !important; flex-shrink: 0;
  fill: none !important; stroke: #fff !important; stroke-width: 2 !important;
  stroke-linecap: round; stroke-linejoin: round;
  max-width: none !important; max-height: none !important;
}
.mf-home-hero__perk-ico svg * {
  fill: none !important; stroke: #fff !important; stroke-width: 2 !important;
}
.mf-home-hero__perk strong { display: block; font-size: 0.875rem; color: var(--mf-primary); }
.mf-home-hero__perk span { display: block; margin-top: 0.15rem; font-size: 0.75rem; color: rgba(26,26,40,.5); }
.mf-home-hero__media { position: relative; min-height: 280px; }
@media (min-width: 768px) {
  .mf-home-hero__media { min-height: 0; height: 100%; align-self: stretch; }
}
.mf-home-hero__frame {
  position: absolute; inset: 0.85rem; overflow: hidden; border-radius: 1.25rem;
  background: #ddd;
}
@media (min-width: 768px) { .mf-home-hero__frame { inset: 1.25rem; border-radius: 1.5rem; } }
@media (min-width: 1024px) { .mf-home-hero__frame { inset: 1.5rem; } }
.mf-home-hero__frame img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  max-width: none !important; object-fit: cover; object-position: center center;
}
.mf-home-hero__frame::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(to top right, rgba(0,0,0,.2), transparent 55%);
  pointer-events: none;
}
.mf-home-hero__seal {
  position: absolute; top: 50%; left: 0; z-index: 3;
  width: 5.5rem; height: 5.5rem; transform: translate(-35%, -50%);
  border-radius: 999px; border: 3px solid #c9a227;
  background: linear-gradient(180deg, #2a2a2a, #111);
  box-shadow: 0 12px 40px -8px rgba(0,0,0,.55);
  display: grid; place-items: center;
}
@media (min-width: 768px) { .mf-home-hero__seal { width: 6.5rem; height: 6.5rem; left: 0.5rem; } }
.mf-home-hero__seal-inner { text-align: center; color: #fff; line-height: 1.1; }
.mf-home-hero__seal-inner span { display: block; color: var(--mf-brand); font-size: 0.65rem; letter-spacing: 0.08em; }
.mf-home-hero__seal-inner strong { display: block; margin-top: 0.2rem; font-family: var(--mf-display); font-size: 0.7rem; font-weight: 800; }
.mf-home-hero__seal-inner strong span { display: inline; color: var(--mf-brand); font-size: inherit; }

/* Audience */
.mf-audience { background: var(--mf-primary); color: #fff; padding: 4rem 0; }
@media (min-width: 768px) { .mf-audience { padding: 5rem 0; } }
.mf-audience__head {
  display: flex; flex-direction: column; gap: 1.5rem;
}
@media (min-width: 1024px) {
  .mf-audience__head { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 3rem; }
}
.mf-audience__lead { max-width: 22rem; margin: 0; color: rgba(255,255,255,.6); font-size: 0.95rem; line-height: 1.6; }
.mf-audience__grid { display: grid; gap: 1.25rem; margin-top: 3rem; }
@media (min-width: 640px) { .mf-audience__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .mf-audience__grid { grid-template-columns: repeat(4, 1fr); } }
.mf-audience-card {
  display: flex; flex-direction: column; overflow: hidden; border-radius: 1rem;
  background: #fff; color: var(--mf-primary) !important;
  box-shadow: 0 10px 30px -12px rgba(0,0,0,.35);
  transition: transform .3s;
}
.mf-audience-card:hover { transform: translateY(-4px); }
.mf-audience-card__body { padding: 1.25rem 1.25rem 0.75rem; flex: 1; color: var(--mf-primary); }
.mf-audience-card__icon {
  display: grid; place-items: center; width: 2rem; height: 2rem;
  color: var(--mf-primary); background: transparent; border-radius: 0;
}
.mf-audience-card__icon svg {
  width: 2rem; height: 2rem; stroke: currentColor; fill: none;
  stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round;
}
.mf-audience-card h3 {
  display: flex; align-items: flex-start; gap: 0.55rem; margin: 1rem 0 0;
  font-family: var(--mf-display); font-size: 1.25rem; font-weight: 700;
  color: var(--mf-primary) !important; letter-spacing: -0.01em;
}
.mf-audience-card h3 .mf-bar { margin-top: 0.35rem; height: 1.1rem; flex-shrink: 0; }
.mf-audience-card p {
  margin: 0.5rem 0 0; font-size: 0.875rem;
  color: rgba(26, 26, 40, 0.7) !important; line-height: 1.5;
}
.mf-audience-card__media { position: relative; aspect-ratio: 5/4; overflow: hidden; margin-top: 0.5rem; background: var(--mf-secondary); }
.mf-audience-card__media::before {
  content: ''; position: absolute; inset: 0 auto auto 0; right: 0; height: 4rem; z-index: 1;
  background: linear-gradient(to bottom, #fff, transparent); pointer-events: none;
}
.mf-audience-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.mf-audience-card:hover .mf-audience-card__media img { transform: scale(1.05); }
.mf-audience-card__arrow {
  position: absolute; left: 1rem; bottom: 1rem; z-index: 2;
  width: 2.5rem; height: 2.5rem; border-radius: 999px; background: #fff;
  display: grid; place-items: center; color: var(--mf-brand); font-weight: 700;
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
}
.mf-audience__brand {
  margin-top: 3.5rem; display: flex; flex-direction: column; align-items: center; gap: 0.4rem;
}
.mf-audience__brand img { width: 2rem; height: 2rem; object-fit: contain; filter: brightness(0) invert(1); }
.mf-audience__brand span { font-family: var(--mf-display); font-size: 1.1rem; font-weight: 800; }
.mf-audience__brand strong { color: #fff; font-style: normal; }
.mf-audience__brand em { color: var(--mf-brand); font-style: normal; }
.mf-audience__brand small { font-size: 0.65rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(255,255,255,.45); }

/* Catalog */
.mf-catalog { background: #f6f6f4; padding: 4rem 0; }
@media (min-width: 768px) { .mf-catalog { padding: 5rem 0; } }
.mf-catalog__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.85rem; }
@media (min-width: 768px) { .mf-catalog__grid { grid-template-columns: repeat(3, 1fr); gap: 1rem; } }
@media (min-width: 1024px) { .mf-catalog__grid { grid-template-columns: repeat(6, 1fr); } }
.mf-cat-card {
  position: relative; display: flex; flex-direction: column; overflow: hidden;
  border-radius: 1rem; background: #fff; color: var(--mf-primary);
  box-shadow: 0 8px 24px -12px rgba(0,0,0,.18);
  transition: transform .3s;
}
.mf-cat-card:hover { transform: translateY(-4px); }
.mf-cat-card__top { display: grid; place-items: center; min-height: 7.5rem; padding: 1rem 1rem 0.5rem; }
.mf-cat-card__top img { max-height: 6.5rem; width: auto; max-width: 100%; object-fit: contain; transition: transform .5s; }
.mf-cat-card:hover .mf-cat-card__top img { transform: scale(1.05); }
.mf-cat-card__placeholder { width: 2.5rem; height: 2.5rem; border-radius: 0.5rem; background: var(--mf-secondary); }
.mf-cat-card__foot {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 0.5rem;
  padding: 0.5rem 1rem 1rem;
}
.mf-cat-card__foot strong { font-size: 0.875rem; line-height: 1.25; color: var(--mf-primary) !important; }
.mf-cat-card__go {
  width: 2rem; height: 2rem; border-radius: 999px; background: var(--mf-brand); color: #fff;
  display: grid; place-items: center; flex-shrink: 0; font-size: 0.85rem;
}
.mf-cat-card::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--mf-brand); }

/* Products / services grids */
.mf-product-grid, .mf-service-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 768px) { .mf-product-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 768px) { .mf-service-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .mf-service-grid { grid-template-columns: repeat(4, 1fr); } }

.mf-product-card {
  position: relative; display: flex; flex-direction: column; border: 1px solid rgba(4,30,55,.1);
  border-radius: 1rem; overflow: hidden; background: #fff;
  box-shadow: 0 10px 28px -22px rgba(4,30,55,.35);
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.mf-product-card:hover {
  transform: translateY(-2px); border-color: rgba(4,30,55,.18);
  box-shadow: 0 16px 36px -20px rgba(4,30,55,.4);
}
.mf-product-card__hit { position: absolute; inset: 0; z-index: 1; }
.mf-product-card__buy { position: relative; z-index: 2; }
.mf-product-card__img { position: relative; display: block; aspect-ratio: 1; background: var(--mf-secondary); overflow: hidden; }
.mf-product-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.mf-product-card:hover .mf-product-card__img img { transform: scale(1.05); }
.mf-product-card__img--empty { background: linear-gradient(145deg, #e8eef4, #f8fafc); }
.mf-badge {
  position: absolute; left: 0.5rem; top: 0.5rem; background: #dcfce7; color: #15803d;
  font-size: 10px; font-weight: 700; padding: 0.2rem 0.5rem; border-radius: 0.35rem; z-index: 2;
}
.mf-product-card__body { padding: 1rem; display: flex; flex-direction: column; gap: 0.5rem; flex: 1; }
.mf-product-card__name {
  margin: 0; font-family: var(--mf-display); font-size: 0.875rem; font-weight: 600;
  color: var(--mf-fg); line-height: 1.35; min-height: 2.5rem;
}
.mf-product-card:hover .mf-product-card__name { color: var(--mf-brand); }
.mf-product-card__short { font-size: 0.75rem; color: var(--mf-muted); margin: 0; }
.mf-product-card__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 0.5rem; margin-top: auto; padding-top: 0.5rem; }
.mf-product-card__price { font-family: var(--mf-display); font-size: 1.1rem; font-weight: 600; color: var(--mf-primary); }
.mf-product-card__unit { font-size: 11px; color: var(--mf-muted); margin-top: 0.15rem; }
.mf-product-card__buy { display: inline-flex; align-items: center; gap: 0.35rem; white-space: nowrap; }
.mf-badge--entrega_rapida { background: #dbeafe; color: #1d4ed8; }
.mf-badge--retirada { background: var(--mf-secondary); color: var(--mf-primary); }
.mf-badge--sob_consulta { background: #f3f4f6; color: #6b7280; }

/* Shop page — aligned with local /loja */
.mf-shop-page { padding: 0 0 3rem; }
.mf-shop-page__inner { display: flex; flex-direction: column; gap: 0; padding-top: 2.5rem; scroll-margin-top: 6rem; }
.mf-shop-hero {
  position: relative; isolation: isolate; min-height: min(72vh, 620px); overflow: hidden; color: #fff;
}
.mf-shop-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.mf-shop-hero__overlay {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(90deg, rgba(4,30,55,.92), rgba(4,30,55,.78), rgba(4,30,55,.35)),
    linear-gradient(0deg, rgba(4,30,55,.7), transparent 55%, rgba(4,30,55,.2));
}
.mf-shop-hero__inner {
  position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end;
  min-height: min(72vh, 620px); padding-top: 6rem; padding-bottom: 3rem;
}
@media (min-width: 768px) { .mf-shop-hero__inner { justify-content: center; padding-bottom: 4rem; } }
.mf-shop-hero__eyebrow {
  margin: 0; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--mf-brand);
}
.mf-shop-hero__title {
  margin: .75rem 0 0; max-width: 40rem; font-family: var(--mf-display); font-weight: 600;
  letter-spacing: -.02em; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.05; color: #fff;
}
.mf-shop-hero__lead {
  margin: 1rem 0 0; max-width: 36rem; font-size: 1.05rem; line-height: 1.7; color: rgba(255,255,255,.8);
}
.mf-shop-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.mf-btn--ghost-light {
  border: 1px solid rgba(255,255,255,.35) !important; background: rgba(255,255,255,.1) !important;
  color: #fff !important; backdrop-filter: blur(4px);
}
.mf-btn--ghost-light:hover { background: rgba(255,255,255,.18) !important; }
.mf-shop-page__head { margin-bottom: 2rem; position: relative; padding-left: 0.85rem; }
.mf-shop-page__head::before {
  content: ''; position: absolute; left: 0; top: 0.15rem; bottom: 0.15rem; width: 3px;
  border-radius: 999px; background: linear-gradient(180deg, var(--mf-brand), var(--mf-brand-deep));
}
.mf-shop-page__eyebrow {
  margin: 0; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--mf-brand);
}
.mf-shop-page__title {
  margin: 0.5rem 0 0; font-family: var(--mf-display); font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 600; letter-spacing: -0.02em; color: var(--mf-primary);
}
.mf-shop-page__title span { color: var(--mf-brand); }
.mf-shop-page__lead { margin: 0.75rem 0 0; max-width: 42rem; color: var(--mf-muted); line-height: 1.6; }
.mf-shop-page__note { margin: 2rem 0 0; font-size: 0.75rem; color: var(--mf-muted); }

.mf-shop-search input:focus { border-color: var(--mf-brand); box-shadow: 0 0 0 3px rgba(245,130,32,.12); }
.mf-shop-sort select:focus { border-color: var(--mf-brand); outline: none; }

.mf-shop-filters { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.25rem; }
.mf-shop-pill {
  display: inline-flex; align-items: center; border: 1px solid var(--mf-border);
  border-radius: 999px; padding: 0.4rem 0.9rem; font-size: 0.75rem; font-weight: 600;
  color: var(--mf-fg); background: #fff; transition: border-color .15s, background .15s, color .15s;
}
.mf-shop-pill:hover { border-color: rgba(245,130,32,.45); color: var(--mf-brand-deep); }
.mf-shop-pill.is-active {
  border-color: var(--mf-brand); background: var(--mf-brand); color: #fff;
  box-shadow: 0 8px 20px -10px rgba(245,130,32,.65);
}

/* Shop promo carousel — below filters, not in hero */
.mf-shop-carousel {
  position: relative; overflow: hidden; margin-bottom: 2rem;
  border: 1px solid rgba(245,130,32,.22); border-radius: 1rem;
  background: linear-gradient(135deg, #fff7f0 0%, #fff 48%, #fff3e8 100%);
  box-shadow: 0 12px 40px -22px rgba(245,130,32,.45);
}
.mf-shop-carousel::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3px;
  background: linear-gradient(90deg, var(--mf-brand), rgba(245,130,32,.35), transparent);
  pointer-events: none;
}
.mf-shop-carousel__viewport { overflow: hidden; }
.mf-shop-carousel__track { position: relative; min-height: 220px; }
@media (min-width: 768px) { .mf-shop-carousel__track { min-height: 260px; } }
.mf-shop-carousel__slide {
  position: absolute; inset: 0; opacity: 0; visibility: hidden;
  display: grid; grid-template-columns: 1fr; transition: opacity .45s ease, visibility .45s;
}
@media (min-width: 768px) {
  .mf-shop-carousel__slide { grid-template-columns: 1.1fr 0.9fr; }
}
.mf-shop-carousel__slide.is-active { opacity: 1; visibility: visible; position: relative; }
.mf-shop-carousel__copy {
  display: flex; flex-direction: column; justify-content: center; gap: 0.75rem;
  padding: 1.5rem 1.25rem 1.25rem; z-index: 1;
}
@media (min-width: 768px) { .mf-shop-carousel__copy { padding: 2rem; } }
.mf-shop-carousel__tag {
  display: inline-flex; width: fit-content; border-radius: 999px;
  background: rgba(245,130,32,.14); color: var(--mf-brand-deep);
  font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
  padding: 0.25rem 0.75rem;
}
.mf-shop-carousel__title {
  margin: 0; font-family: var(--mf-display); font-size: clamp(1.45rem, 3vw, 1.85rem);
  font-weight: 800; line-height: 1.15; color: var(--mf-primary);
}
.mf-shop-carousel__title span { color: var(--mf-brand); }
.mf-shop-carousel__desc { margin: 0; max-width: 28rem; font-size: 0.875rem; color: var(--mf-muted); line-height: 1.55; }
.mf-shop-carousel__cta {
  display: inline-flex; width: fit-content; align-items: center;
  margin-top: 0.25rem; padding: 0.55rem 1rem; border-radius: var(--mf-radius);
  background: var(--mf-brand); color: #fff !important; font-size: 0.75rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.04em;
  box-shadow: 0 10px 24px -12px rgba(245,130,32,.75);
  transition: opacity .15s, transform .15s;
}
.mf-shop-carousel__cta:hover { opacity: .92; transform: translateY(-1px); }
.mf-shop-carousel__media {
  position: relative; display: none; min-height: 180px; overflow: hidden;
}
@media (min-width: 768px) { .mf-shop-carousel__media { display: block; } }
.mf-shop-carousel__media img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.mf-shop-carousel__media::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, #fff7f0 0%, rgba(255,247,240,.15) 45%, transparent 100%);
}
.mf-shop-carousel__nav {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
  width: 2.25rem; height: 2.25rem; border-radius: 999px;
  border: 1px solid rgba(245,130,32,.35); background: rgba(255,255,255,.92);
  color: var(--mf-brand); font-size: 1.35rem; line-height: 1; cursor: pointer;
  display: grid; place-items: center; transition: background .15s, color .15s, border-color .15s;
}
.mf-shop-carousel__nav:hover { background: var(--mf-brand); color: #fff; border-color: var(--mf-brand); }
.mf-shop-carousel__nav--prev { left: 0.65rem; }
.mf-shop-carousel__nav--next { right: 0.65rem; }
.mf-shop-carousel__dots {
  display: flex; justify-content: center; gap: 0.4rem;
  padding: 0 1rem 1rem; margin-top: -0.25rem;
}
.mf-shop-carousel__dot {
  width: 0.55rem; height: 0.55rem; border-radius: 999px; border: 0; padding: 0;
  background: rgba(245,130,32,.25); cursor: pointer; transition: transform .15s, background .15s;
}
.mf-shop-carousel__dot.is-active {
  background: var(--mf-brand); transform: scale(1.15);
}

.mf-shop-toolbar {
  display: flex; flex-direction: column; gap: 1rem; margin-bottom: 1.25rem;
}
@media (min-width: 768px) {
  .mf-shop-toolbar { flex-direction: row; align-items: center; }
}
.mf-shop-search { position: relative; flex: 1; }
.mf-shop-search input {
  width: 100%; border: 1px solid var(--mf-border); border-radius: var(--mf-radius);
  background: #fff; padding: 0.65rem 0.85rem 0.65rem 2.5rem; font: inherit; font-size: 0.875rem;
  outline: none;
}
.mf-shop-search input:focus { border-color: var(--mf-primary); }
.mf-shop-search::before {
  content: '⌕'; position: absolute; left: 0.85rem; top: 50%; transform: translateY(-50%);
  color: var(--mf-muted); font-size: 1rem; pointer-events: none;
}
.mf-shop-sort select {
  width: 100%; border: 1px solid var(--mf-border); border-radius: var(--mf-radius);
  background: #fff; padding: 0.65rem 0.85rem; font: inherit; font-size: 0.875rem;
}
@media (min-width: 768px) { .mf-shop-sort select { min-width: 220px; } }

.mf-shop-grid { margin-top: 0; }
@media (min-width: 768px) { .mf-shop-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .mf-shop-grid { grid-template-columns: repeat(4, 1fr); } }

.mf-shop-empty {
  margin-top: 2.5rem; border: 1px solid var(--mf-border); border-radius: 0.85rem;
  background: color-mix(in srgb, var(--mf-secondary) 40%, white);
  padding: 2.5rem 1.5rem; text-align: center; color: var(--mf-muted);
}
.mf-shop-empty p { margin: 0 0 1rem; }
body.maxframe-site .mf-shop-page .woocommerce-notices-wrapper:empty { display: none; }

/* WooCommerce product / cart pages */
body.maxframe-site .woocommerce div.product .product_title {
  font-family: var(--mf-display); font-weight: 800; color: var(--mf-primary);
}
body.maxframe-site .woocommerce div.product p.price {
  color: var(--mf-primary) !important; font-size: 1.5rem !important; font-weight: 800 !important;
}
body.maxframe-site .woocommerce a.button,
body.maxframe-site .woocommerce button.button,
body.maxframe-site .woocommerce button.button.alt {
  background: var(--mf-brand) !important; color: #fff !important;
  border-radius: var(--mf-radius) !important; font-weight: 700 !important; border: none !important;
}
body.maxframe-site .woocommerce .cart_totals h2,
body.maxframe-site .woocommerce-checkout h3 { color: var(--mf-primary); font-weight: 800; font-family: var(--mf-display); }
body.maxframe-site .woocommerce table.shop_table th { background: var(--mf-secondary); color: var(--mf-primary); }
body.maxframe-site .woocommerce form .form-row input.input-text,
body.maxframe-site .woocommerce form .form-row textarea,
body.maxframe-site .woocommerce form .form-row select {
  border: 1px solid var(--mf-border) !important; border-radius: var(--mf-radius) !important;
}

.mf-service-card {
  border: 1px solid var(--mf-border); border-radius: 1rem; overflow: hidden; background: #fff; display: block; transition: box-shadow .2s;
}
.mf-service-card:hover { box-shadow: 0 8px 24px rgba(26,26,40,.08); }
.mf-service-card__img { aspect-ratio: 4/3; background: linear-gradient(135deg, #2a2a40, #1a1a28); overflow: hidden; }
.mf-service-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.mf-service-card:hover .mf-service-card__img img { transform: scale(1.05); }
.mf-service-card__body { padding: 1rem; border-top: 1px solid rgba(245,130,32,.3); }
.mf-service-card__body strong { display: block; font-family: var(--mf-display); font-size: 1.05rem; font-weight: 700; color: var(--mf-primary); }
.mf-service-card:hover .mf-service-card__body strong { color: var(--mf-brand); }
.mf-service-card__body p { margin: 0.35rem 0 0; font-size: 0.75rem; color: var(--mf-muted); }

/* How it works */
.mf-how { background: #f6f6f4; padding: 4rem 0; }
@media (min-width: 768px) { .mf-how { padding: 5rem 0; } }
.mf-how__head { max-width: 36rem; margin-bottom: 2.5rem; }
.mf-how__row { display: flex; flex-direction: column; gap: 1rem; }
@media (min-width: 1024px) {
  .mf-how__row { flex-direction: row; align-items: center; gap: 0; }
}
.mf-how__item { display: flex; flex: 1; align-items: center; }
.mf-how-card {
  display: flex; width: 100%; overflow: hidden; border-radius: 1.25rem; background: #fff;
  box-shadow: 0 12px 32px -14px rgba(0,0,0,.18);
}
.mf-how-card__num {
  display: flex; align-items: center; justify-content: center;
  padding: 1.25rem 1rem; font-family: var(--mf-display);
  font-size: 2.25rem; font-weight: 800; color: var(--mf-brand);
  border-right: 1px solid var(--mf-border);
}
@media (min-width: 640px) { .mf-how-card__num { font-size: 2.75rem; padding: 1.5rem 1.15rem; } }
.mf-how-card__body { padding: 1.15rem 1.15rem 1.25rem; }
.mf-how-card__body h3 { margin: 0; font-family: var(--mf-display); font-size: 1.35rem; font-weight: 700; color: var(--mf-primary); }
.mf-how-card__body p { margin: 0.5rem 0 0; font-size: 0.875rem; color: rgba(26,26,40,.55); line-height: 1.5; }
.mf-how-card__tag {
  display: inline-flex; align-items: center; gap: 0.45rem; margin-top: 0.75rem;
  font-size: 0.68rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mf-brand);
}
.mf-how-card__tag i { width: 6px; height: 6px; border-radius: 999px; background: var(--mf-brand); }
.mf-how__arrow {
  display: none; width: 2rem; height: 2rem; margin: 0 0.5rem; flex-shrink: 0;
  border-radius: 999px; border: 1px solid var(--mf-brand); color: var(--mf-brand);
  place-items: center; font-size: 0.85rem;
}
@media (min-width: 1024px) { .mf-how__arrow { display: grid; } }

/* Testimonials — dual marquee + side fades */
.mf-testimonials { padding: 4rem 0; overflow: hidden; background: var(--mf-bg); }
@media (min-width: 768px) { .mf-testimonials { padding: 5rem 0; } }
.mf-testimonials__head { max-width: 40rem; margin: 0 auto 2.5rem; text-align: center; }
.mf-testimonials__head .mf-eyebrow { justify-content: center; }
.mf-testimonials__head .mf-lead { margin-left: auto; margin-right: auto; }
.mf-testimonials__viewport {
  position: relative; display: flex; flex-direction: column; gap: 0.75rem;
  margin-top: 0.5rem; overflow: hidden; padding: 0.5rem 0;
}
.mf-testimonials__marquee {
  display: flex; gap: 1rem; overflow: hidden; padding: 0.25rem 0.5rem;
  --mf-marquee-duration: 28s;
}
.mf-testimonials__marquee:hover .mf-testimonials__group { animation-play-state: paused; }
.mf-testimonials__group {
  display: flex; flex-shrink: 0; gap: 1rem;
  animation: mf-marquee var(--mf-marquee-duration) linear infinite;
}
.mf-testimonials__marquee--reverse .mf-testimonials__group {
  animation-direction: reverse;
}
@keyframes mf-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-100% - 1rem)); }
}
.mf-testimonials__fade {
  pointer-events: none; position: absolute; top: 0; bottom: 0; width: 25%; z-index: 2;
}
.mf-testimonials__fade--left {
  left: 0; background: linear-gradient(to right, var(--mf-bg), transparent);
}
.mf-testimonials__fade--right {
  right: 0; background: linear-gradient(to left, var(--mf-bg), transparent);
}
.mf-testimonial-card {
  width: 18rem; flex-shrink: 0; margin: 0; padding: 1rem;
  border: 1px solid var(--mf-border); border-radius: 0.75rem; background: #fff;
  box-shadow: 0 2px 10px rgba(26,26,40,.03);
}
.mf-testimonial-card__who { display: flex; align-items: center; gap: 0.55rem; margin-bottom: 0.65rem; }
.mf-testimonial-card__avatar {
  width: 2rem; height: 2rem; border-radius: 999px; background: var(--mf-primary); color: #fff;
  display: grid; place-items: center; font-size: 0.75rem; font-weight: 700; flex-shrink: 0;
}
.mf-testimonial-card strong { display: block; font-size: 0.875rem; color: var(--mf-primary); font-weight: 600; }
.mf-testimonial-card small { display: block; font-size: 0.75rem; color: var(--mf-muted); font-weight: 500; }
.mf-testimonial-card p {
  margin: 0; font-size: 0.875rem; line-height: 1.5; color: rgba(26,26,40,.85);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

/* Benefits sticky stack */
.mf-benefits { background: var(--mf-primary); color: #fff; padding: 4rem 0 6rem; }
.mf-benefits__head { max-width: 40rem; margin: 0 auto 2rem; text-align: center; }
.mf-benefits__head .mf-eyebrow { justify-content: center; }
.mf-benefits__lead { margin: 0.75rem auto 0; max-width: 30rem; color: rgba(255,255,255,.55); font-size: 0.95rem; }
.mf-benefits__stack { display: flex; flex-direction: column; gap: 1.25rem; max-width: 56rem; margin: 0 auto; padding-top: 1rem; }
@media (min-width: 768px) {
  .mf-benefits__stack { gap: 0; min-height: 180vh; }
}
.mf-benefit-card {
  display: flex; flex-direction: column; overflow: hidden; border-radius: 1.25rem;
  border: 1px solid rgba(255,255,255,.1);
  background: linear-gradient(135deg, #1a1a2e, #2a2a40);
  box-shadow: 0 24px 60px -20px rgba(0,0,0,.55);
}
@media (min-width: 768px) {
  .mf-benefit-card {
    position: sticky; top: calc(5rem + (var(--mf-stack, 0) * 1.1rem));
    flex-direction: row; min-height: 16rem;
    margin-bottom: 1.5rem;
  }
}
.mf-benefit-card__main { flex: 1; padding: 1.75rem 1.5rem; }
@media (min-width: 768px) { .mf-benefit-card__main { padding: 2.25rem; } }
.mf-benefit-card__label {
  display: inline-block; font-size: 0.7rem; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase; color: var(--mf-brand); margin-bottom: 0.75rem;
}
.mf-benefit-card h3 {
  margin: 0; font-family: var(--mf-display); font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800; letter-spacing: -0.02em;
}
.mf-benefit-card__desc { margin: 0.75rem 0 0; font-size: 1.05rem; font-weight: 600; color: rgba(255,255,255,.9); }
.mf-benefit-card__detail { margin: 0.65rem 0 0; max-width: 28rem; font-size: 0.9rem; color: rgba(255,255,255,.6); line-height: 1.55; }
.mf-benefit-card__num {
  display: flex; align-items: flex-end; justify-content: flex-end;
  padding: 1rem 1.25rem 0.5rem; font-family: var(--mf-display);
  font-size: 5rem; font-weight: 800; line-height: 1; color: rgba(255,255,255,.1);
  border-top: 1px solid rgba(255,255,255,.1);
}
@media (min-width: 768px) {
  .mf-benefit-card__num {
    width: 38%; border-top: 0; border-left: 1px solid rgba(255,255,255,.1);
    padding: 2rem; align-items: flex-end; font-size: 7rem;
  }
}

/* Urgent CTA */
.mf-urgent { padding: 4rem 0; }
.mf-urgent__box {
  display: grid; overflow: hidden; border-radius: 1.5rem;
  border: 1px solid rgba(0,0,0,.05); background: #f3f3f1;
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
}
@media (min-width: 1024px) { .mf-urgent__box { grid-template-columns: 1.05fr 0.95fr; } }
.mf-urgent__content { padding: 2.5rem 1.5rem; }
@media (min-width: 640px) { .mf-urgent__content { padding: 3rem 2.5rem; } }
.mf-urgent__content .mf-title span { color: var(--mf-brand); }
.mf-urgent__content .mf-lead strong { color: var(--mf-primary); }
.mf-urgent__perks { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; margin: 1.5rem 0 0; }
.mf-urgent__perks li { font-size: 0.875rem; color: rgba(26,26,40,.55); }
.mf-urgent__actions { display: flex; flex-direction: column; gap: 0.75rem; margin-top: 1.75rem; }
@media (min-width: 640px) { .mf-urgent__actions { flex-direction: row; flex-wrap: wrap; } }
.mf-wa-split, .mf-orc-split {
  display: inline-flex; overflow: hidden; border-radius: 0.85rem;
  box-shadow: 0 4px 14px rgba(0,0,0,.06); transition: box-shadow .2s;
}
.mf-wa-split:hover, .mf-orc-split:hover { box-shadow: 0 8px 22px rgba(0,0,0,.1); }
.mf-wa-split { border: 1px solid rgba(37,211,102,.3); background: #fff; }
.mf-wa-split__ico, .mf-orc-split__ico {
  width: 3.5rem; display: grid; place-items: center; flex-shrink: 0; color: #fff;
}
.mf-wa-split__ico { background: var(--mf-whatsapp); }
.mf-orc-split__ico { background: var(--mf-brand-deep); font-size: 1.1rem; }
.mf-orc-split { background: var(--mf-brand); color: #fff; }
.mf-wa-split__txt, .mf-orc-split__txt { display: flex; flex-direction: column; justify-content: center; padding: 0.75rem 1rem; }
.mf-wa-split__txt strong { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.04em; color: #1a7a3f; }
.mf-orc-split__txt strong { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.04em; }
.mf-wa-split__txt small { font-size: 0.75rem; color: rgba(26,26,40,.45); }
.mf-orc-split__txt small { font-size: 0.75rem; color: rgba(255,255,255,.75); }

.mf-urgent__aside { position: relative; min-height: 360px; overflow: hidden; background: #e8e8e4; }
@media (min-width: 640px) { .mf-urgent__aside { min-height: 420px; } }
@media (min-width: 1024px) { .mf-urgent__aside { min-height: 520px; } }
.mf-urgent__photo {
  position: absolute; inset: 0; width: 100%; height: 100%;
  max-width: none !important; object-fit: cover; object-position: center center;
}
.mf-urgent__stripe {
  position: absolute; right: -1.5rem; top: 0; z-index: 1;
  height: 7rem; width: 140%; background: color-mix(in srgb, var(--mf-brand) 90%, transparent);
  transform: rotate(-12deg) translateY(-30%);
}
.mf-urgent__panel {
  position: static; z-index: auto; display: grid; gap: 0.75rem;
  margin-top: 2.25rem; padding: 0; max-width: none;
  border: 0; border-radius: 0; background: transparent; box-shadow: none;
  backdrop-filter: none; transform: none;
}
@media (min-width: 640px) {
  .mf-urgent__panel {
    grid-template-columns: repeat(3, 1fr); gap: 0.75rem;
    left: auto; right: auto; top: auto; bottom: auto; margin-top: 2.25rem;
  }
}
.mf-urgent__panel-item {
  padding: 1rem; border: 1px solid rgba(0,0,0,.05); border-radius: 0.75rem;
  background: #fff; box-shadow: 0 4px 14px rgba(0,0,0,.05);
}
.mf-urgent__panel-item:first-child { padding-top: 1rem; }
.mf-urgent__panel-item:last-child { padding-bottom: 1rem; border-bottom: 1px solid rgba(0,0,0,.05); }
.mf-urgent__panel-item strong { display: block; font-size: 0.875rem; color: var(--mf-primary); }
.mf-urgent__panel-item span { display: block; margin-top: 0.25rem; font-size: 0.75rem; color: rgba(26,26,40,.55); line-height: 1.4; }

/* Footer */
.mf-footer { margin-top: 0; background: var(--mf-primary); color: var(--mf-primary-fg); }
.mf-footer a { color: rgba(255,255,255,.85); }
.mf-footer a:hover { color: var(--mf-brand); }
.mf-footer__grid { display: grid; gap: 2.5rem; padding: 3.5rem 0; }
@media (min-width: 768px) { .mf-footer__grid { grid-template-columns: repeat(4, 1fr); } }
.mf-footer__logo { height: 3.5rem; width: auto; object-fit: contain; }
.mf-footer__about { margin: 1.15rem 0 0; font-size: 0.95rem; line-height: 1.6; color: rgba(255,255,255,.7); }
.mf-footer__heading {
  font-family: var(--mf-display); font-size: 0.85rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.18em; color: var(--mf-brand);
}
.mf-footer__list { list-style: none; margin: 1rem 0 0; padding: 0; }
.mf-footer__list li { margin-bottom: 0.65rem; font-size: 0.875rem; color: rgba(255,255,255,.85); }
.mf-footer__bottom { border-top: 1px solid rgba(255,255,255,.1); padding: 1.25rem 0; font-size: 0.75rem; color: rgba(255,255,255,.55); }
.mf-footer__bottom-inner { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 0.5rem; }

.mf-wa-fab {
  position: fixed; right: 1rem; bottom: 1rem; z-index: 200;
  width: 3.5rem; height: 3.5rem; border-radius: 999px; background: var(--mf-whatsapp);
  color: #fff !important; display: grid; place-items: center;
  box-shadow: 0 8px 24px rgba(0,0,0,.18); transition: transform .15s, opacity .15s;
}
.mf-wa-fab:hover { opacity: 0.92; transform: scale(1.04); }

/* ===== Services page (parity with local /servicos) ===== */
.mf-services-page { background: var(--mf-bg); }

.mf-svc-eyebrow {
  margin: 0; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--mf-brand);
}
.mf-svc-title {
  margin: 0.75rem 0 0; font-family: var(--mf-display);
  font-size: clamp(1.75rem, 3vw, 2.35rem); font-weight: 600;
  letter-spacing: -0.02em; color: var(--mf-primary); line-height: 1.15;
}
.mf-svc-lead {
  margin: 0.85rem 0 0; max-width: 36rem; color: var(--mf-muted); line-height: 1.7; font-size: 1rem;
}
.mf-svc-check {
  width: 1.15rem; height: 1.15rem; flex-shrink: 0; margin-top: 0.15rem;
  stroke: var(--mf-brand); fill: none; stroke-width: 1.75;
  stroke-linecap: round; stroke-linejoin: round;
}
.mf-svc-checklist { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: 0.75rem; }
.mf-svc-checklist li {
  display: flex; align-items: flex-start; gap: 0.75rem;
  font-size: 0.9rem; line-height: 1.5; color: rgba(4,30,55,.8);
}
.mf-svc-checklist--compact { margin-top: 1.5rem; gap: 0.65rem; }

.mf-svc-hero {
  position: relative; isolation: isolate; min-height: min(68vh, 560px); overflow: hidden;
}
.mf-svc-hero__bg {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 0;
}
.mf-svc-hero__overlay {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(90deg, rgba(4,30,55,.92) 0%, rgba(4,30,55,.75) 45%, rgba(4,30,55,.3) 100%),
    linear-gradient(0deg, rgba(4,30,55,.65) 0%, transparent 45%, rgba(4,30,55,.25) 100%);
}
.mf-svc-hero__inner {
  position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end;
  min-height: min(68vh, 560px); padding: 6rem 0 3rem;
}
@media (min-width: 768px) {
  .mf-svc-hero__inner { justify-content: center; padding: 5rem 0 4rem; }
}
.mf-svc-hero__eyebrow {
  margin: 0; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--mf-brand);
}
.mf-svc-hero__title {
  margin: 0.75rem 0 0; max-width: 48rem; font-family: var(--mf-display);
  font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 600; line-height: 1.05;
  letter-spacing: -0.02em; color: #fff;
}
.mf-svc-hero__lead {
  margin: 1rem 0 0; max-width: 36rem; color: rgba(255,255,255,.8); line-height: 1.7; font-size: 1.05rem;
}
.mf-svc-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2rem; }

.mf-svc-intro { background: #fff; border-bottom: 1px solid var(--mf-border); }
.mf-svc-intro__grid {
  display: grid; gap: 2.5rem; padding: 4rem 0;
}
@media (min-width: 768px) {
  .mf-svc-intro__grid { grid-template-columns: 1.05fr 0.95fr; gap: 4rem; padding: 5rem 0; }
}
.mf-svc-intro__pills {
  display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem;
  font-size: 0.875rem; color: rgba(4,30,55,.7);
}
.mf-svc-intro__pills span { display: inline-flex; align-items: center; gap: 0.5rem; }
.mf-svc-intro__pills svg {
  width: 1rem; height: 1rem; stroke: var(--mf-brand); fill: none; stroke-width: 1.75;
  stroke-linecap: round; stroke-linejoin: round;
}
.mf-svc-intro__offers-label {
  margin: 0; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--mf-primary);
}

.mf-svc-catalog { padding: 4rem 0; }
@media (min-width: 768px) { .mf-svc-catalog { padding: 5rem 0; } }
.mf-svc-catalog__head { max-width: 40rem; }
.mf-svc-catalog__grid {
  display: grid; gap: 1.5rem; margin-top: 2.5rem;
}
@media (min-width: 768px) { .mf-svc-catalog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.mf-svc-card {
  overflow: hidden; border-radius: 1rem; border: 1px solid rgba(4,30,55,.1);
  background: #fff; box-shadow: 0 10px 28px -22px rgba(4,30,55,.3);
  transition: box-shadow .2s;
}
.mf-svc-card:hover { box-shadow: 0 16px 36px -20px rgba(4,30,55,.38); }
.mf-svc-card__img { aspect-ratio: 16 / 9; overflow: hidden; background: var(--mf-secondary); }
.mf-svc-card__img img { width: 100%; height: 100%; object-fit: cover; }
.mf-svc-card__body { padding: 1.5rem; }
.mf-svc-card__name {
  margin: 0; font-family: var(--mf-display); font-size: 1.25rem; font-weight: 600; color: var(--mf-primary);
}
.mf-svc-card__short { margin: 0.5rem 0 0; font-size: 0.9rem; color: var(--mf-muted); line-height: 1.5; }
.mf-svc-card__bullets { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: 0.5rem; }
.mf-svc-card__bullets li {
  display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.875rem; color: var(--mf-primary);
}
.mf-svc-card__bullets .mf-svc-check { width: 1rem; height: 1rem; }
.mf-svc-card__benefit {
  margin-top: 1.15rem; padding: 0.55rem 0.75rem; border-radius: var(--mf-radius);
  background: rgba(4,30,55,.05); font-size: 0.75rem; font-weight: 600; color: var(--mf-primary);
}
.mf-svc-card__cta { margin-top: 1.15rem; }

.mf-svc-steps {
  position: relative; overflow: hidden; background: var(--mf-secondary);
}
.mf-svc-steps__bg {
  position: absolute; inset: 0; width: 100%; height: 100%; color: rgba(4,30,55,.04); pointer-events: none;
}
.mf-svc-steps__inner { position: relative; padding: 4rem 0; }
@media (min-width: 768px) { .mf-svc-steps__inner { padding: 5rem 0; } }
.mf-svc-steps__head { max-width: 40rem; }
.mf-svc-steps__grid {
  display: grid; gap: 1rem; margin-top: 2.5rem;
}
@media (min-width: 768px) { .mf-svc-steps__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1280px) {
  .mf-svc-steps__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0; align-items: center;
  }
}
.mf-svc-steps__item { display: flex; align-items: center; min-width: 0; }
.mf-svc-steps__arrow {
  display: none; flex-shrink: 0; margin: 0 0.35rem;
  width: 2rem; height: 2rem; border-radius: 999px; border: 1px solid var(--mf-brand);
  place-items: center; color: var(--mf-brand); font-size: 0.85rem;
}
@media (min-width: 1280px) { .mf-svc-steps__arrow { display: grid; } }

.mf-svc-step {
  display: flex; width: 100%; overflow: hidden; border-radius: 1.25rem;
  border: 1px solid rgba(4,30,55,.1); background: #fff;
  box-shadow: 0 12px 32px -18px rgba(4,30,55,.28);
}
.mf-svc-step__num {
  display: flex; align-items: center; justify-content: center;
  padding: 1.25rem 0.85rem; font-family: var(--mf-display);
  font-size: 1.75rem; font-weight: 600; color: var(--mf-brand);
}
.mf-svc-step__divider { width: 1px; margin: 1rem 0; background: var(--mf-border); flex-shrink: 0; }
.mf-svc-step__body { flex: 1; display: flex; flex-direction: column; gap: 0.5rem; padding: 1.25rem 1rem; min-width: 0; }
.mf-svc-step__icon {
  width: 2.75rem; height: 2.75rem; border-radius: 0.75rem;
  background: rgba(245,130,32,.1); color: var(--mf-brand);
  background-repeat: no-repeat; background-position: center; background-size: 1.25rem;
}
.mf-svc-step__icon--message { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F58220' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E"); }
.mf-svc-step__icon--ruler { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F58220' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z'/%3E%3Cpath d='m14.5 12.5 2-2'/%3E%3Cpath d='m11.5 9.5 2-2'/%3E%3Cpath d='m8.5 6.5 2-2'/%3E%3Cpath d='m17.5 15.5 2-2'/%3E%3C/svg%3E"); }
.mf-svc-step__icon--clipboard { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F58220' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='M12 11h4'/%3E%3Cpath d='M12 16h4'/%3E%3Cpath d='M8 11h.01'/%3E%3Cpath d='M8 16h.01'/%3E%3C/svg%3E"); }
.mf-svc-step__icon--hardhat { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F58220' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 18a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v2z'/%3E%3Cpath d='M10 10V5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5'/%3E%3Cpath d='M4 15v-3a8 8 0 0 1 16 0v3'/%3E%3C/svg%3E"); }
.mf-svc-step__title {
  margin: 0; font-family: var(--mf-display); font-size: 1.1rem; font-weight: 700;
  letter-spacing: -0.01em; color: var(--mf-primary);
}
.mf-svc-step__desc { margin: 0; font-size: 0.875rem; line-height: 1.55; color: rgba(4,30,55,.55); }
.mf-svc-step__tag {
  margin: 0.25rem 0 0; display: inline-flex; align-items: center; gap: 0.5rem;
  font-size: 0.68rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mf-brand);
}
.mf-svc-step__tag span {
  width: 0.35rem; height: 0.35rem; border-radius: 999px; background: var(--mf-brand);
}

.mf-svc-contact { padding: 4rem 0; }
@media (min-width: 768px) { .mf-svc-contact { padding: 5rem 0; } }
.mf-svc-contact__card {
  display: grid; overflow: hidden; border-radius: 1.5rem;
  border: 1px solid rgba(4,30,55,.1); background: var(--mf-secondary);
  box-shadow: 0 16px 40px -28px rgba(4,30,55,.35);
}
@media (min-width: 1024px) { .mf-svc-contact__card { grid-template-columns: 1.1fr 0.9fr; } }
.mf-svc-contact__copy {
  position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center;
  padding: 2.5rem 1.5rem;
}
@media (min-width: 640px) { .mf-svc-contact__copy { padding: 3rem 2.5rem; } }
.mf-svc-contact__title span { color: var(--mf-brand); }
.mf-svc-contact__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2rem; }
.mf-btn--wa-outline {
  background: #fff !important; color: #128c7e !important;
  border: 1px solid rgba(37,211,102,.4) !important; text-transform: none; letter-spacing: 0;
}
.mf-btn--wa-outline:hover { background: rgba(37,211,102,.1) !important; }
.mf-svc-contact__media { position: relative; min-height: 260px; overflow: hidden; }
@media (min-width: 1024px) { .mf-svc-contact__media { min-height: 100%; } }
.mf-svc-contact__media img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top;
}
.mf-svc-contact__media-fade {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to top, rgba(4,30,55,.4), transparent);
}
@media (min-width: 1024px) {
  .mf-svc-contact__media-fade {
    background: linear-gradient(to left, transparent, rgba(241,244,247,.9));
  }
}

/* ===== Conteúdo page (parity with local /conteudo) ===== */
.mf-content-page {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 10%, rgba(245,130,32,.08), transparent 30%),
    radial-gradient(circle at 82% 18%, rgba(26,47,92,.06), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #faf8f5 100%);
}
.mf-content-page__glow {
  pointer-events: none; position: absolute; border-radius: 999px; filter: blur(64px);
}
.mf-content-page__glow--brand {
  left: 0; top: 25%; width: 20rem; height: 20rem; background: rgba(245,130,32,.1);
}
.mf-content-page__glow--navy {
  right: 0; bottom: 2.5rem; width: 24rem; height: 24rem; background: rgba(4,30,55,.05);
}
.mf-content-page__inner { position: relative; padding: 3rem 0 4rem; }
@media (min-width: 768px) { .mf-content-page__inner { padding: 4rem 0 5rem; } }

.mf-content-page__hero { max-width: 40rem; margin-bottom: 2.5rem; }
.mf-content-page__badge {
  display: inline-flex; align-items: center; gap: 0.5rem;
  border: 1px solid rgba(245,130,32,.2); background: rgba(255,255,255,.8);
  padding: 0.35rem 0.75rem; border-radius: 999px;
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--mf-brand);
  box-shadow: 0 1px 2px rgba(4,30,55,.04); backdrop-filter: blur(8px);
}
.mf-content-page__title {
  margin: 1.25rem 0 0; font-family: var(--mf-display);
  font-size: clamp(1.85rem, 4vw, 3rem); font-weight: 600;
  letter-spacing: -0.02em; line-height: 1.08; color: var(--mf-primary);
}
.mf-content-page__title span { color: var(--mf-brand); }
.mf-content-page__lead {
  margin: 1rem 0 0; max-width: 36rem; color: var(--mf-muted);
  line-height: 1.7; font-size: 1.05rem;
}

.mf-content-grid {
  display: grid; gap: 1.5rem;
}
@media (min-width: 640px) { .mf-content-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .mf-content-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.mf-content-card {
  position: relative; border-radius: 2rem; padding: 1px;
  transform-style: preserve-3d; perspective: 900px;
  transition: transform .25s ease;
}
.mf-content-card__beam {
  position: absolute; inset: 0; border-radius: 2rem; opacity: 0;
  transition: opacity .3s; pointer-events: none;
  background: radial-gradient(280px circle at var(--mx, 50%) var(--my, 50%), rgba(245,130,32,.85), rgba(245,160,60,.4) 38%, transparent 70%);
}
.mf-content-card:hover .mf-content-card__beam { opacity: 1; }
.mf-content-card__panel {
  position: relative; overflow: hidden; border-radius: 1.95rem;
  border: 1px solid rgba(4,30,55,.12); background: #fff;
  box-shadow: 0 18px 50px -40px rgba(4,30,55,.55);
  height: 100%;
}
.mf-content-card__spotlight {
  pointer-events: none; position: absolute; inset: 0; z-index: 20; opacity: 0;
  transition: opacity .3s;
  background: radial-gradient(360px circle at var(--mx, 50%) var(--my, 50%), rgba(245,130,32,.18), rgba(245,130,32,.08) 34%, transparent 66%);
}
.mf-content-card:hover .mf-content-card__spotlight { opacity: 1; }
.mf-content-card__shine {
  pointer-events: none; position: absolute; inset: 0 2rem auto; top: 0; z-index: 30; height: 1px;
  background: linear-gradient(90deg, transparent, #fff, transparent);
}
.mf-content-card__blob {
  pointer-events: none; position: absolute; right: -5rem; top: -5rem; z-index: 10;
  width: 11rem; height: 11rem; border-radius: 999px; background: rgba(245,130,32,.15); filter: blur(40px);
}
.mf-content-card__media { position: relative; height: 10rem; overflow: hidden; }
.mf-content-card__media img {
  width: 100%; height: 100%; object-fit: cover; transition: transform .7s;
}
.mf-content-card:hover .mf-content-card__media img { transform: scale(1.05); }
.mf-content-card__fade {
  position: absolute; inset: auto 0 0; height: 6rem;
  background: linear-gradient(to top, #fff, rgba(255,255,255,.75), transparent);
}
.mf-content-card__tag {
  position: absolute; left: 1rem; top: 1rem; z-index: 10;
  border-radius: var(--mf-radius); background: rgba(255,255,255,.9);
  padding: 0.25rem 0.65rem; font-size: 10px; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--mf-brand);
  box-shadow: 0 1px 2px rgba(4,30,55,.08); backdrop-filter: blur(6px);
}
.mf-content-card__body {
  position: relative; z-index: 30; display: flex; flex-direction: column;
  min-height: 13.75rem; padding: 2.25rem 1.25rem 1.25rem;
}
.mf-content-card__icon {
  position: absolute; top: -1.5rem; left: 1.25rem;
  width: 3rem; height: 3rem; border-radius: 1rem;
  display: grid; place-items: center;
  border: 1px solid rgba(255,255,255,.8); background: rgba(255,255,255,.9);
  color: var(--mf-brand);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 16px 34px -24px rgba(245,130,32,.75);
  backdrop-filter: blur(12px);
  background-repeat: no-repeat; background-position: center; background-size: 1.4rem;
}
.mf-content-card__icon--book { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F58220' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E"); }
.mf-content-card__icon--layers { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F58220' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 2 7 12 12 22 7 12 2'/%3E%3Cpolyline points='2 17 12 22 22 17'/%3E%3Cpolyline points='2 12 12 17 22 12'/%3E%3C/svg%3E"); }
.mf-content-card__icon--clipboard { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F58220' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='M12 11h4'/%3E%3Cpath d='M12 16h4'/%3E%3Cpath d='M8 11h.01'/%3E%3Cpath d='M8 16h.01'/%3E%3C/svg%3E"); }
.mf-content-card__icon--building { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F58220' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='16' height='20' x='4' y='2' rx='2' ry='2'/%3E%3Cpath d='M9 22v-4h6v4'/%3E%3Cpath d='M8 6h.01'/%3E%3Cpath d='M16 6h.01'/%3E%3Cpath d='M12 6h.01'/%3E%3Cpath d='M12 10h.01'/%3E%3Cpath d='M12 14h.01'/%3E%3Cpath d='M16 10h.01'/%3E%3Cpath d='M16 14h.01'/%3E%3Cpath d='M8 10h.01'/%3E%3Cpath d='M8 14h.01'/%3E%3C/svg%3E"); }
.mf-content-card__title {
  margin: 0 0 0.75rem; font-family: var(--mf-display);
  font-size: 1.1rem; font-weight: 600; line-height: 1.35; letter-spacing: -0.01em; color: var(--mf-primary);
}
.mf-content-card__excerpt {
  margin: 0 0 1.75rem; font-size: 0.75rem; line-height: 1.6; color: var(--mf-muted);
}
.mf-content-card__more {
  margin-top: auto; display: inline-flex; align-items: center; gap: 0.5rem;
  font-size: 0.75rem; font-weight: 700; color: var(--mf-brand); transition: gap .2s;
}
.mf-content-card:hover .mf-content-card__more { gap: 0.75rem; }

/* ===== Shared soft surface (Conteúdo / Sobre / Contato) ===== */
.mf-soft-surface {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 10%, rgba(245,130,32,.08), transparent 30%),
    radial-gradient(circle at 82% 18%, rgba(26,47,92,.06), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #faf8f5 100%);
}
.mf-soft-surface__glow {
  pointer-events: none; position: absolute; border-radius: 999px; filter: blur(64px);
}
.mf-soft-surface__glow--brand {
  left: 0; top: 25%; width: 20rem; height: 20rem; background: rgba(245,130,32,.1);
}
.mf-soft-surface__glow--navy {
  right: 0; bottom: 2.5rem; width: 24rem; height: 24rem; background: rgba(4,30,55,.05);
}

.mf-page-hero {
  position: relative; isolation: isolate; min-height: min(52vh, 440px); overflow: hidden;
}
.mf-page-hero--contact { min-height: min(48vh, 400px); }
.mf-page-hero__bg {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 0;
}
.mf-page-hero__bg--top { object-position: top; }
.mf-page-hero__overlay {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(90deg, rgba(4,30,55,.92) 0%, rgba(4,30,55,.78) 48%, rgba(4,30,55,.35) 100%),
    linear-gradient(0deg, rgba(4,30,55,.7) 0%, transparent 45%, rgba(4,30,55,.25) 100%);
}
.mf-page-hero__inner {
  position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end;
  min-height: min(52vh, 440px); padding: 6rem 0 3rem;
}
.mf-page-hero--contact .mf-page-hero__inner { min-height: min(48vh, 400px); }
@media (min-width: 768px) {
  .mf-page-hero__inner { justify-content: center; padding: 5rem 0 4rem; }
}
.mf-page-hero__badge {
  display: inline-flex; width: fit-content; align-items: center; gap: 0.5rem;
  border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.1);
  padding: 0.35rem 0.75rem; border-radius: 999px;
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--mf-brand); backdrop-filter: blur(8px);
}
.mf-page-hero__title {
  margin: 1rem 0 0; max-width: 48rem; font-family: var(--mf-display);
  font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 600;
  letter-spacing: -0.02em; line-height: 1.05; color: #fff;
}
.mf-page-hero__title span { color: var(--mf-brand); }
.mf-page-hero__lead {
  margin: 1rem 0 0; max-width: 36rem; color: rgba(255,255,255,.8); line-height: 1.7; font-size: 1.05rem;
}

/* ===== Sobre page ===== */
.mf-about-page { background: var(--mf-bg); }
.mf-about-proposal__grid {
  position: relative; display: grid; gap: 2.5rem; padding: 4rem 0;
}
@media (min-width: 768px) {
  .mf-about-proposal__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 5rem 0; }
}
.mf-about-proposal__text {
  margin: 1rem 0 0; color: var(--mf-muted); line-height: 1.7; font-size: 1rem;
}
.mf-about-why {
  border: 1px solid rgba(4,30,55,.12); border-radius: 1.75rem;
  background: rgba(255,255,255,.9); padding: 1.75rem 2rem;
  box-shadow: 0 18px 50px -40px rgba(4,30,55,.45); backdrop-filter: blur(8px);
}
.mf-about-why__title {
  margin: 0; font-family: var(--mf-display); font-size: 1.125rem; font-weight: 600; color: var(--mf-primary);
}
.mf-about-why__list {
  list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; gap: 0.75rem;
}
.mf-about-why__list li {
  display: flex; align-items: flex-start; gap: 0.65rem;
  font-size: 0.9rem; line-height: 1.5; color: rgba(4,30,55,.8);
}
.mf-about-check {
  width: 1rem; height: 1rem; flex-shrink: 0; margin-top: 0.15rem;
  stroke: var(--mf-brand); fill: none; stroke-width: 1.75;
  stroke-linecap: round; stroke-linejoin: round;
}
.mf-about-pillars {
  position: relative; border-top: 1px solid rgba(4,30,55,.08); background: rgba(255,255,255,.4);
}
.mf-about-pillars__grid {
  display: grid; gap: 1.25rem; padding: 4rem 0;
}
@media (min-width: 768px) {
  .mf-about-pillars__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 5rem 0; }
}
.mf-about-pillar {
  border: 1px solid rgba(4,30,55,.12); border-radius: 1.75rem;
  background: #fff; padding: 1.5rem;
  box-shadow: 0 14px 40px -34px rgba(4,30,55,.4);
}
.mf-about-pillar__label {
  margin: 0; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--mf-brand);
}
.mf-about-pillar__text {
  margin: 0.75rem 0 0; color: rgba(4,30,55,.75); line-height: 1.6; font-size: 0.9rem;
}

/* ===== Contato page ===== */
.mf-contact-page { background: var(--mf-bg); }
.mf-contact-layout {
  position: relative; display: grid; gap: 2rem; padding: 3.5rem 0 5rem;
}
@media (min-width: 1024px) {
  .mf-contact-layout { grid-template-columns: 1fr 1fr; gap: 2.5rem; padding: 5rem 0; }
}
.mf-contact-aside { display: grid; gap: 1rem; align-content: start; }
.mf-contact-card {
  display: flex; align-items: flex-start; gap: 1rem;
  border: 1px solid rgba(4,30,55,.12); border-radius: 1.5rem;
  background: rgba(255,255,255,.9); padding: 1rem 1.1rem;
  box-shadow: 0 14px 40px -34px rgba(4,30,55,.4);
  color: inherit !important; transition: border-color .15s;
}
.mf-contact-card:hover { border-color: rgba(245,130,32,.35); }
.mf-contact-card strong {
  display: block; font-size: 0.875rem; font-weight: 700; color: var(--mf-primary);
}
.mf-contact-card span span {
  display: block; margin-top: 0.15rem; font-size: 0.875rem; line-height: 1.5; color: var(--mf-muted);
}
.mf-contact-card__icon {
  width: 2.75rem; height: 2.75rem; border-radius: 0.75rem; flex-shrink: 0;
  background-color: rgba(245,130,32,.1);
  background-repeat: no-repeat; background-position: center; background-size: 1.2rem;
}
.mf-contact-card__icon--wa { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F58220' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E"); }
.mf-contact-card__icon--phone { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F58220' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E"); }
.mf-contact-card__icon--mail { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F58220' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E"); }
.mf-contact-card__icon--pin { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F58220' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.mf-contact-card__icon--clock { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F58220' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E"); }

.mf-contact-map {
  overflow: hidden; border: 1px solid rgba(4,30,55,.12); border-radius: 1.75rem;
  background: #fff; box-shadow: 0 18px 50px -40px rgba(4,30,55,.45);
}
.mf-contact-map__head { padding: 1rem 1.25rem; border-bottom: 1px solid rgba(4,30,55,.08); }
.mf-contact-map__title { margin: 0.35rem 0 0; font-size: 0.9rem; font-weight: 600; color: var(--mf-primary); }
.mf-contact-map__sub { margin: 0.2rem 0 0; font-size: 0.85rem; color: var(--mf-muted); }
.mf-contact-map iframe { display: block; width: 100%; height: 18rem; border: 0; }

.mf-contact-form {
  border: 1px solid rgba(4,30,55,.12); border-radius: 1.75rem;
  background: rgba(255,255,255,.95); padding: 1.75rem;
  box-shadow: 0 18px 50px -40px rgba(4,30,55,.45);
  display: grid; gap: 1rem; align-content: start;
}
@media (min-width: 640px) { .mf-contact-form { padding: 2rem; } }
.mf-contact-form__lead { margin: -0.25rem 0 0.5rem; font-size: 0.9rem; color: var(--mf-muted); }
.mf-contact-form label { display: grid; gap: 0.4rem; }
.mf-contact-form label span { font-size: 0.75rem; font-weight: 600; color: var(--mf-primary); }
.mf-contact-form input,
.mf-contact-form textarea {
  width: 100%; border: 1px solid var(--mf-border); border-radius: var(--mf-radius);
  background: #fff; padding: 0.75rem 0.85rem; font: inherit; color: var(--mf-primary);
}
.mf-contact-form input:focus,
.mf-contact-form textarea:focus {
  outline: none; border-color: rgba(245,130,32,.55); box-shadow: 0 0 0 3px rgba(245,130,32,.12);
}
.mf-contact-form textarea { min-height: 9rem; resize: vertical; }
.mf-contact-form__row { display: grid; gap: 0.75rem; }
@media (min-width: 768px) { .mf-contact-form__row { grid-template-columns: 1fr 1fr; } }
.mf-contact-form__submit { width: 100%; justify-content: center; margin-top: 0.25rem; }
.mf-contact-form__hint { margin: 0; font-size: 0.75rem; color: var(--mf-muted); }

@media (prefers-reduced-motion: reduce) {
  .mf-testimonials__group { animation: none; }
  .mf-audience-card, .mf-cat-card, .mf-btn, .mf-content-card { transition: none; }
  .mf-content-card:hover .mf-content-card__media img { transform: none; }
}
