/*
Theme Name: MpForge
Theme URI: https://mpforge.cn
Author: MpForge
Description: Minimal production theme with Shopify-green DevDiy design tokens, full-bleed layout, scroll reveal, WebP/lazy images.
Version: 1.2.1
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 8.0
Text Domain: mpforge
*/

:root { 
  --font-size: 100%;
  --devdiy-color-grey-100: #fafafa;
  --devdiy-color-grey-150: #f2f3f3;
  --devdiy-color-grey-200: #eaeded;
  --devdiy-color-grey-300: #d5dbdb;
  --devdiy-color-grey-400: #aab7b8;
  --devdiy-color-grey-450: #95a5a6;
  --devdiy-color-grey-500: #879596;
  --devdiy-color-grey-550: #687078;
  --devdiy-color-grey-600: #545b64;
  --devdiy-color-grey-650: #414750;
  --devdiy-color-grey-700: #2a2e33;
  --devdiy-color-grey-750: #21252c;
  --devdiy-color-grey-800: #1a2029;
  --devdiy-color-grey-900: #16191f;
  --devdiy-color-grey-950: #222;
  --devdiy-color-grey-transparent-heavy: rgba(0,28,36,0.5);
  --devdiy-color-grey-transparent: rgba(0,28,36,0.3);
  --devdiy-color-grey-transparent-light: rgba(0,28,36,0.15);
  --devdiy-color-grey-opaque-25: hsla(0,0%,100%,0.25);
  --devdiy-color-grey-opaque-40: rgba(0,0,0,0.4);
  --devdiy-color-grey-opaque-50: rgba(0,0,0,0.5);
  --devdiy-color-grey-opaque-70: hsla(0,0%,100%,0.7);
  --devdiy-color-grey-opaque-80: rgba(22,25,31,0.8);
  --devdiy-color-grey-opaque-90: rgba(242,243,243,0.9);
  --devdiy-color-orange-100: #fef6f0;
  --devdiy-color-orange-300: #f7bf9c;
  --devdiy-color-orange-500: #12a67a;
  --devdiy-color-orange-600: #0E8763;
  --devdiy-color-orange-700: #0E8763;
  --devdiy-color-blue-100: #f1faff;
  --devdiy-color-blue-300: #99cbe4;
  --devdiy-color-blue-400: #44b9d6;
  --devdiy-color-blue-500: #00a1c9;
  --devdiy-color-blue-600: #0073bb;
  --devdiy-color-blue-700: #0a4a74;
  --devdiy-color-blue-900: #12293b;
  --devdiy-color-blue-opaque: rgba(51,136,221,0.5);
  --devdiy-color-green-100: #f2f8f0;
  --devdiy-color-green-300: #a5d099;
  --devdiy-color-green-500: #6aaf35;
  --devdiy-color-green-600: #1d8102;
  --devdiy-color-green-700: #1a520f;
  --devdiy-color-green-900: #172211;
  --devdiy-color-red-100: #fdf3f1;
  --devdiy-color-red-300: #f2ada0;
  --devdiy-color-red-500: #ff5d64;
  --devdiy-color-red-600: #d13212;
  --devdiy-color-red-700: #7c2718;
  --devdiy-color-red-900: #270a11;
  --devdiy-color-black: #000;
  --devdiy-color-white: #fff;
  --devdiy-color-aws-squid-ink: #12a67a;
  --devdiy-color-amazon-orange: #12a67a;
  --devdiy-color-transparent: transparent;
  --devdiy-motion-duration-extra-fast: 45ms;
  --devdiy-motion-duration-fast: 90ms;
  --devdiy-motion-duration-moderate: 135ms;
  --devdiy-motion-duration-slow: 180ms;
  --devdiy-motion-duration-extra-slow: 270ms;
  --devdiy-motion-easing-ease-out-quart: cubic-bezier(0.165,0.84,0.44,1);
  --devdiy-motion-duration-show-quick: 135ms;
  --devdiy-motion-duration-show-paced: 180ms;
  --devdiy-motion-duration-rotate-90: 135ms;
  --devdiy-motion-duration-rotate-180: 135ms;
  --devdiy-motion-duration-transition-show-quick: 90ms;
  --devdiy-motion-duration-transition-show-paced: 180ms;
  --devdiy-motion-duration-transition-quick: 90ms;
  --devdiy-motion-easing-show-quick: ease-out;
  --devdiy-motion-easing-show-paced: ease-out;
  --devdiy-motion-easing-rotate-90: cubic-bezier(0.165,0.84,0.44,1);
  --devdiy-motion-easing-rotate-180: cubic-bezier(0.165,0.84,0.44,1);
  --devdiy-motion-easing-transition-show-quick: linear;
  --devdiy-motion-easing-transition-show-paced: ease-out;
  --devdiy-motion-easing-transition-quick: linear;
  --devdiy-color-text-body-default: #16191f;
  --devdiy-color-text-body-secondary: #545b64;
  --devdiy-color-text-heading-default: #16191f;
  --devdiy-color-text-heading-secondary: #545b64;
  --devdiy-color-text-home-header-default: #fff;
  --devdiy-color-text-home-header-secondary: #d5dbdb;
  --devdiy-color-text-label: #545b64;
  --devdiy-color-text-accent: #12a67a;
  --devdiy-color-text-empty: #687078;
  --devdiy-color-text-link-default: #0073bb;
  --devdiy-color-text-interactive-default: #545b64;
  --devdiy-color-text-interactive-disabled: #aab7b8;
  --devdiy-color-text-interactive-active: #16191f;
  --devdiy-color-text-interactive-hover: #16191f;
  --devdiy-color-text-small: #687078;
  --devdiy-color-text-inverted: #fff;
  --devdiy-color-text-disabled: #aab7b8;
  --devdiy-color-text-form-default: #16191f;
  --devdiy-color-text-form-secondary: #687078;
  --devdiy-color-text-form-label: #16191f;
  --devdiy-color-text-input-disabled: #879596;
  --devdiy-color-text-input-placeholder: #aab7b8;
  --devdiy-color-text-control-disabled: #aab7b8;
  --devdiy-color-text-status-error: #d13212;
  --devdiy-color-text-status-warning: #d13212;
  --devdiy-color-text-status-success: #1d8102;
  --devdiy-color-text-status-info: #0073bb;
  --devdiy-color-text-status-inactive: #687078;
  --devdiy-color-text-status-pending: #687078;
  --devdiy-color-text-breadcrumb: #687078;
  --devdiy-color-text-icon-caret: #879596;
  --devdiy-color-text-icon-subtle: #687078;
  --devdiy-color-text-column-header: #545b64;
  --devdiy-color-text-tooltip-default: #d5dbdb;
  --devdiy-color-text-tooltip-link: #00a1c9;
  --devdiy-color-text-dropdown-item-default: #16191f;
  --devdiy-color-text-dropdown-item-highlighted: #16191f;
  --devdiy-color-text-dropdown-item-secondary: #687078;
  --devdiy-color-text-dropdown-item-disabled: #aab7b8;
  --devdiy-color-text-dropdown-item-filter-match: #0073bb;
  --devdiy-color-text-dropdown-group-label: #545b64;
  --devdiy-color-text-dropdown-footer: #687078;
  --devdiy-color-text-notification-default: #fafafa;
  --devdiy-color-text-notification-icon-default: #d5dbdb;
  --devdiy-color-text-notification-icon-hover: #fafafa;
  --devdiy-color-foreground-control-default: #fff;
  --devdiy-color-foreground-control-disabled: #fff;
  --devdiy-color-background-home-header: #12a67a;
  --devdiy-color-background-layout-main: #f2f3f3;
  --devdiy-color-background-layout-panel-content: #fff;
  --devdiy-color-background-layout-panel-hover: #eaeded;
  --devdiy-color-background-item-selected: #f1faff;
  --devdiy-color-background-modal-overlay: rgba(242,243,243,0.9);
  --devdiy-color-background-status-error: #fdf3f1;
  --devdiy-color-background-status-warning: #fff;
  --devdiy-color-background-status-success: #f2f8f0;
  --devdiy-color-background-status-info: #f1faff;
  --devdiy-color-background-progress-bar-layout-default: #eaeded;
  --devdiy-color-background-progress-bar-layout-in-flash: hsla(0,0%,100%,0.25);
  --devdiy-color-background-progress-bar-content-default: #0073bb;
  --devdiy-color-background-progress-bar-content-in-flash: hsla(0,0%,100%,0.7);
  --devdiy-color-background-calendar-today: #f2f3f3;
  --devdiy-color-background-container-header: #fafafa;
  --devdiy-color-background-container-content: #fff;
  --devdiy-color-background-control-default: #fff;
  --devdiy-color-background-control-checked: #0073bb;
  --devdiy-color-background-control-disabled: #d5dbdb;
  --devdiy-color-background-input-default: #fff;
  --devdiy-color-background-input-disabled: #eaeded;
  --devdiy-color-background-tiles-disabled: #eaeded;
  --devdiy-color-background-tooltip: #16191f;
  --devdiy-color-background-popover: #fff;
  --devdiy-color-background-toggle-default: #545b64;
  --devdiy-color-background-toggle-checked-disabled: #99cbe4;
  --devdiy-color-background-button-normal-default: #fff;
  --devdiy-color-background-button-normal-disabled: #fff;
  --devdiy-color-background-button-normal-hover: #fafafa;
  --devdiy-color-background-button-normal-active: #eaeded;
  --devdiy-color-background-button-primary-default: #12a67a;
  --devdiy-color-background-button-primary-disabled: #fff;
  --devdiy-color-background-button-primary-hover: #0E8763;
  --devdiy-color-background-button-primary-active: #0A6B4E;
  --devdiy-color-background-button-link-hover: #fafafa;
  --devdiy-color-background-button-link-active: #eaeded;
  --devdiy-color-background-dropdown-item-default: #fff;
  --devdiy-color-background-dropdown-item-selected: #f1faff;
  --devdiy-color-background-dropdown-item-hover: #f2f3f3;
  --devdiy-color-background-dropdown-item-filter-match: #f1faff;
  --devdiy-color-background-notification-grey: #545b64;
  --devdiy-color-background-notification-green: #1d8102;
  --devdiy-color-background-notification-blue: #0073bb;
  --devdiy-color-background-notification-red: #d13212;
  --devdiy-color-border-item-focused: #00a1c9;
  --devdiy-color-border-item-selected: #00a1c9;
  --devdiy-color-border-status-success: #1d8102;
  --devdiy-color-border-status-error: #d13212;
  --devdiy-color-border-status-warning: #aab7b8;
  --devdiy-color-border-status-info: #0073bb;
  --devdiy-color-border-container-top: #eaeded;
  --devdiy-color-border-control-default: #aab7b8;
  --devdiy-color-border-control-checked: #0073bb;
  --devdiy-color-border-control-disabled: #d5dbdb;
  --devdiy-color-border-control-hover: #879596;
  --devdiy-color-border-input-default: #aab7b8;
  --devdiy-color-border-input-disabled: #eaeded;
  --devdiy-color-border-segment-default: #687078;
  --devdiy-color-border-segment-hover: #16191f;
  --devdiy-color-border-tiles-disabled: transparent;
  --devdiy-color-border-tabs: #aab7b8;
  --devdiy-color-border-tooltip: #16191f;
  --devdiy-color-border-popover: #d5dbdb;
  --devdiy-color-border-button-normal-default: #545b64;
  --devdiy-color-border-button-normal-hover: #16191f;
  --devdiy-color-border-button-normal-disabled: #d5dbdb;
  --devdiy-color-border-button-primary-hover: #0E8763;
  --devdiy-color-border-button-primary-disabled: #d5dbdb;
  --devdiy-color-border-dropdown-item-default: #eaeded;
  --devdiy-color-border-dropdown-item-selected: #00a1c9;
  --devdiy-color-border-dropdown-item-hover: #879596;
  --devdiy-color-border-dropdown-item-top: #eaeded;
  --devdiy-color-border-dropdown-group: #eaeded;
  --devdiy-color-border-divider-default: #eaeded;
  --devdiy-color-border-divider-active: #879596;
  --devdiy-color-border-layout: #d5dbdb;
  --devdiy-color-shadow-default: rgba(0,28,36,0.5);
  --devdiy-color-shadow-medium: rgba(0,28,36,0.3);
  --devdiy-color-shadow-side: rgba(0,28,36,0.15);

  --devdiy-content-max: 1440px;
  --devdiy-page-inline: 80px;
  --devdiy-section-pad-y: 45px;
  --devdiy-section-margin-y: 20px;
  --mpforge-primary: #12a67a;
  --mpforge-primary-hover: #0E8763;
  --mpforge-ink: #0F8C67;

}

@media (max-width: 768px) {
  :root {
    --devdiy-page-inline: 16px;
  }
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  color: var(--devdiy-color-text-body-default, #16191f);
  background: var(--devdiy-color-background-layout-main, #f2f3f3);
  line-height: 1.6;
}

.mpforge-page { margin: 0; width: 100%; }

.mpforge-shell {
  width: 100%;
  max-width: var(--devdiy-content-max, 1440px);
  margin: 0 auto;
  padding-inline: var(--devdiy-page-inline, 80px);
}

.mpforge-header {
  background: var(--devdiy-color-background-home-header, #12a67a);
  color: var(--devdiy-color-text-home-header-default, #fff);
  opacity: 0.95;
}
.mpforge-header a { color: inherit; text-decoration: none; }
.mpforge-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.mpforge-logo { font-weight: 700; font-size: 33px; letter-spacing: 0.02em; color: #000 !important; }
.mpforge-nav { display: flex; gap: 1.25rem; flex-wrap: wrap; }
.mpforge-nav a:hover { color: var(--devdiy-color-amazon-orange, #12a67a); }

.mpforge-section {
  margin-block: 0;
  margin-inline: 0;
  padding-block: var(--devdiy-section-pad-y, 45px);
  padding-inline: 0;
  width: 100%;
}
.mpforge-section + .mpforge-section {
  margin-top: min(20px, var(--devdiy-section-margin-y, 20px));
}
.mpforge-section--alt { background: var(--devdiy-color-white, #fff); }
.mpforge-section--hero {
  background: linear-gradient(135deg, var(--mpforge-ink, #0A6B4E), var(--mpforge-primary, #12a67a));
  color: #fff;
  padding-block: 72px;
}
.mpforge-section__inner {
  width: 100%;
  max-width: var(--devdiy-content-max, 1440px);
  margin: 0 auto;
  padding-inline: var(--devdiy-page-inline, 80px);
}

.mpforge-hero h1 {
  margin: 0 0 0.75rem;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.2;
}
.mpforge-hero__h1-brand {
  display: block;
  font-size: 0.6em;
  font-weight: 600;
  letter-spacing: 0.04em;
  opacity: 0.92;
  margin-top: 0.15em;
}
.mpforge-hero p { margin: 1rem 1rem 1.5rem; opacity: 0.95; }
.mpforge-btn {
  display: inline-block;
  background: var(--devdiy-color-background-button-primary-default, #12a67a);
  color: #fff !important;
  padding: 0.75rem 1.35rem;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: background var(--devdiy-motion-duration-moderate, 135ms) ease;
}
.mpforge-btn:hover { background: var(--devdiy-color-background-button-primary-hover, #0E8763); }

.mpforge-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}
@media (max-width: 900px) {
  .mpforge-cards { grid-template-columns: 1fr; }
}
.mpforge-card {
  background: var(--devdiy-color-white, #fff);
  border: 1px solid var(--devdiy-color-border-layout, #d5dbdb);
  border-radius: 10px;
  padding: 1.25rem;
}
.mpforge-card h3 { margin-top: 0; color: var(--mpforge-ink, #0A6B4E); }

.mpforge-footer {
  background: var(--devdiy-color-grey-900, #16191f);
  color: var(--devdiy-color-grey-300, #d5dbdb);
  padding: 2rem 0;
  margin: 0;
}
.mpforge-footer a { color: #fff; }

img { max-width: 100%; height: auto; display: block; }

.mpforge-reveal {
  transform: translateY(24px);
  transition: opacity 0.6s var(--devdiy-motion-easing-ease-out-quart, cubic-bezier(0.165,0.84,0.44,1)),
              transform 0.6s var(--devdiy-motion-easing-ease-out-quart, cubic-bezier(0.165,0.84,0.44,1));
}
.mpforge-reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .mpforge-reveal { opacity: 1; transform: none; transition: none; }
}

.token-swatch {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0.25rem 0.75rem 0.25rem 0;
}
.token-swatch i {
  width: 1rem; height: 1rem; border-radius: 3px;
  background: var(--mpforge-primary, #12a67a);
  display: inline-block;
}


/* ===== MpForge site chrome & home (v1.1) ===== */
.mpforge-topbar {
  background: var(--devdiy-color-aws-squid-ink, #12a67a);
  color: #fff;
  font-size: 0.8125rem;
  text-align: center;
  padding: 0.4rem 0;
}
.mpforge-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,0.96);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--devdiy-color-grey-200, #eaeded);
}
.mpforge-header__inner {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 64px;
}
.mpforge-logo {
  font-weight: 700;
  font-size: 33px;
  color: #000 !important;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}
.mpforge-logo span { color: var(--mpforge-primary, #12a67a); font-weight: 600; }
.mpforge-nav { margin-left: auto; }
.mpforge-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.mpforge-menu > li { position: relative; }
.mpforge-menu > li > a {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.55rem 0.75rem;
  color: var(--devdiy-color-text-body-default, #16191f);
  text-decoration: none;
  font-weight: 500;
  border-radius: 6px;
}
.mpforge-menu > li > a:hover,
.mpforge-menu > li.is-current > a {
  color: var(--mpforge-primary, #12a67a);
  background: var(--devdiy-color-green-100, #f2f8f0);
}
.mpforge-caret {
  width: 0; height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  opacity: 0.7;
}
.mpforge-submenu {
  display: none;
  position: absolute;
  left: 0; top: 100%;
  min-width: 200px;
  background: #fff;
  border: 1px solid var(--devdiy-color-grey-200, #eaeded);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  list-style: none;
  margin: 0; padding: 0.4rem;
  z-index: 120;
}
.mpforge-submenu a {
  display: block;
  padding: 0.5rem 0.75rem;
  color: #16191f;
  text-decoration: none;
  border-radius: 6px;
  white-space: nowrap;
}
.mpforge-submenu a:hover { background: var(--devdiy-color-grey-150, #f2f3f3); color: var(--mpforge-primary, #12a67a); }
.menu-item-has-children:hover > .mpforge-submenu,
.menu-item-has-children:focus-within > .mpforge-submenu,
.menu-item-has-children.is-open > .mpforge-submenu { display: block; }

.mpforge-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.7rem 1.25rem;
  background: var(--mpforge-primary, #12a67a);
  color: #fff !important;
  border: 2px solid var(--mpforge-primary, #12a67a);
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.mpforge-btn:hover { background: var(--mpforge-primary-dark, #0E8763); border-color: var(--mpforge-primary-dark, #0E8763); }
.mpforge-btn--ghost {
  background: transparent;
  color: #fff !important;
  border-color: rgba(255,255,255,0.85);
}
.mpforge-section--alt .mpforge-btn--ghost,
.mpforge-page-content .mpforge-btn--ghost {
  color: var(--mpforge-primary, #12a67a) !important;
  border-color: var(--mpforge-primary, #12a67a);
}
.mpforge-btn--header {
  flex-shrink: 0;
  padding: 0.55rem 1rem;
  font-size: 0.9375rem;
}
.mpforge-btn--small { padding: 0.45rem 0.85rem; font-size: 0.875rem; }

.mpforge-nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px; height: 40px;
  border: 0; background: transparent; cursor: pointer; padding: 8px;
  margin-left: auto;
}
.mpforge-nav-toggle span {
  display: block; height: 2px; width: 100%;
  background: var(--mpforge-ink, #0A6B4E); border-radius: 1px;
}

.mpforge-hero {
  text-align: center;
  /* 仅纵向内边距；左右交给 .mpforge-section__inner 的 padding-inline，
     简写 padding 会把左右清零导致手机端文字顶边 */
  padding-block: 2.5rem 1rem;
}
.mpforge-section--hero {
  background: linear-gradient(145deg, #12a67a 0%, #0E8763 45%, #0A6B4E 100%);
  color: #fff;
}
.mpforge-section--hero h1 {
  color: #fff;
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  margin: 0.5rem 0 0.75rem;
  line-height: 1.25;
}
.mpforge-eyebrow {
  display: inline-block;
  margin: 0;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.15);
  font-size: 0.875rem;
}
.mpforge-hero__sub { font-size: 1.125rem; opacity: 0.95; margin: 0 0 1.5rem; }
.mpforge-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; }

.mpforge-section__title { margin: 0 0 0.5rem; color: var(--mpforge-ink, #0A6B4E); }
.mpforge-section__lead { color: var(--devdiy-color-text-body-secondary, #545b64); margin: 0 0 1.5rem; }
.mpforge-section__head {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.mpforge-section__head .mpforge-section__title { margin: 0; }
.mpforge-link { color: var(--mpforge-primary, #12a67a); font-weight: 600; text-decoration: none; }
.mpforge-link:hover { text-decoration: underline; }
.mpforge-muted { color: var(--devdiy-color-text-body-secondary, #545b64); font-size: 0.9375rem; }

.mpforge-industry-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.mpforge-industry-card {
  display: flex; flex-direction: column; align-items: center; gap: 0.5rem;
  padding: 1.25rem 0.75rem;
  background: #fff;
  border: 1px solid var(--devdiy-color-grey-200, #eaeded);
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.mpforge-industry-card:hover {
  border-color: var(--mpforge-primary, #12a67a);
  box-shadow: 0 4px 16px rgba(18,166,122,0.12);
}
.mpforge-industry-card__icon {
  width: 48px; height: 48px; border-radius: 12px;
  background: linear-gradient(135deg, #12a67a, #0A6B4E);
  color: #fff; display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 1.125rem;
}
.mpforge-industry-card__label { font-weight: 600; font-size: 0.9375rem; }

.mpforge-cards { display: grid; gap: 1.25rem; }
.mpforge-cards--3 { grid-template-columns: repeat(3, 1fr); }
.mpforge-cards--4 { grid-template-columns: repeat(4, 1fr); }
.mpforge-ph-img {
  height: 140px; border-radius: 8px; margin-bottom: 0.75rem;
}
.mpforge-case-card h3 { font-size: 1rem; margin: 0 0 0.35rem; }
.mpforge-case-card h3 a { color: inherit; text-decoration: none; }
.mpforge-case-card h3 a:hover { color: var(--mpforge-primary, #12a67a); }

.mpforge-price-card ul { padding-left: 1.1rem; margin: 0 0 1rem; color: #545b64; }
.mpforge-price { font-size: 1.75rem; font-weight: 700; color: var(--mpforge-primary, #12a67a); margin: 0.5rem 0 1rem; }
.mpforge-price span { font-size: 0.875rem; font-weight: 500; color: #545b64; }
.mpforge-price-card--featured {
  border-color: var(--mpforge-primary, #12a67a);
  box-shadow: 0 8px 24px rgba(18,166,122,0.15);
  position: relative;
}

.mpforge-trust {
  display: grid;
  gap: 1rem;
  text-align: center;
}
.mpforge-trust strong {
  display: block;
  font-size: 1.75rem;
  color: var(--mpforge-primary, #12a67a);
  line-height: 1.2;
}
.mpforge-trust span { color: #545b64; font-size: 0.9375rem; }
@media (min-width: 769px) {
  .mpforge-trust { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: center; }
}
/* Note-style trust card (single-paragraph intro, e.g. 关于 DEVDIY): centered notice */
@media (min-width: 769px) {
  .mpforge-trust:has(> p),
  .mpforge-trust--note {
    display: block;
    max-width: 44rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.mpforge-section--cta {
  background: linear-gradient(135deg, #0A6B4E, #12a67a);
  color: #fff;
}
.mpforge-section--cta h2 { color: #fff; margin-top: 0; }
.mpforge-cta-band {
  display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap;
}
.mpforge-qr-placeholder {
  width: 96px; height: 96px;
  border: 2px dashed rgba(18,166,122,0.45);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  text-align: center; font-size: 0.75rem; color: #545b64;
  background: #fff;
  margin-top: 0.75rem;
}
.mpforge-qr-placeholder--lg { width: 120px; height: 120px; border-color: rgba(255,255,255,0.5); background: rgba(255,255,255,0.95); }
.mpforge-section--cta .mpforge-btn--ghost { margin-left: 0.5rem; }

.mpforge-footer__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  padding: 1rem 0 2rem;
}
.mpforge-footer__col h3 {
  color: #fff; font-size: 1rem; margin: 0 0 0.75rem;
}
.mpforge-footer__col ul { list-style: none; margin: 0; padding: 0; }
.mpforge-footer__col li { margin: 0.4rem 0; font-size: 0.9375rem; }
.mpforge-footer__col a { color: var(--devdiy-color-grey-300, #d5dbdb); text-decoration: none; }
.mpforge-footer__col a:hover { color: #fff; }
.mpforge-footer__bottom {
  border-top: 1px solid rgba(255,255,255,0.12);
  padding-top: 1.25rem;
  font-size: 0.875rem;
}
.mpforge-footer__bottom a { color: var(--devdiy-color-grey-400, #aab7b8); }
.mpforge-footer__tagline { opacity: 0.8; margin: 0.35rem 0 0; }

.mpforge-breadcrumbs {
  font-size: 0.875rem;
  color: #545b64;
  margin: 0 0 1.25rem;
}
/* a11y: 面包屑链接不能用颜色区分（WCAG 1.4.1），加下划线作为非颜色线索 */
.mpforge-breadcrumbs a { color: var(--mpforge-primary, #12a67a); text-decoration: underline; text-underline-offset: 2px; }
.mpforge-breadcrumbs a:hover { color: var(--mpforge-primary-hover, #0E8763); }
.mpforge-breadcrumbs .sep { margin: 0 0.35rem; opacity: 0.5; }
.mpforge-page-title {
  margin: 0 0 1.25rem;
  color: var(--mpforge-ink, #0A6B4E);
  font-size: clamp(1.5rem, 3vw, 2rem);
}
.mpforge-entry h2 { color: var(--mpforge-ink, #0A6B4E); margin-top: 1.75rem; }
.mpforge-entry ul { line-height: 1.7; }
.mpforge-inline-cta {
  margin-top: 2.5rem;
  padding: 1.5rem;
  background: var(--devdiy-color-green-100, #f2f8f0);
  border: 1px solid var(--devdiy-color-grey-200, #eaeded);
  border-radius: 12px;
}
.mpforge-inline-cta h2 { margin-top: 0; }
.mpforge-badge-soon {
  display: inline-block;
  margin-left: 0.35rem;
  padding: 0.1rem 0.45rem;
  font-size: 0.75rem;
  background: #f2f3f3;
  color: #545b64;
  border-radius: 4px;
  vertical-align: middle;
}

@media (max-width: 1024px) {
  .mpforge-cards--4 { grid-template-columns: repeat(2, 1fr); }
  .mpforge-industry-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 768px) {
  .mpforge-nav-toggle { display: none; }
  .mpforge-btn--header { order: 3; }
  .mpforge-nav {
    display: block;
    position: static;
    background: #fff;
    border-bottom: 1px solid var(--devdiy-color-grey-200, #eaeded);
    padding: 0.25rem var(--devdiy-page-inline, 16px) 0.75rem;
    margin: 0;
    box-shadow: none;
  }
  .mpforge-nav.is-open { display: block; }
  .mpforge-header { position: sticky; }
  .mpforge-header__inner { position: relative; flex-wrap: wrap; }
  .mpforge-menu { flex-direction: column; align-items: stretch; }
  .mpforge-menu > .menu-item { border-top: 1px solid var(--devdiy-color-grey-100, #fafafa); }
  .mpforge-submenu {
    position: static;
    display: block;
    box-shadow: none;
    border: 0;
    padding-left: 0.75rem;
    min-width: 0;
  }
  .mpforge-submenu a { font-size: 0.8125rem; }
  .menu-item-has-children.is-open > .mpforge-submenu { display: block; }
  .mpforge-caret { display: none; }
  .mpforge-industry-grid { grid-template-columns: repeat(2, 1fr); }
  .mpforge-cards--3, .mpforge-cards--4 { grid-template-columns: 1fr; }
  .mpforge-footer__grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
  .mpforge-topbar { font-size: 0.75rem; padding: 0.35rem 0; }
}
@media (max-width: 480px) {
  .mpforge-footer__grid { grid-template-columns: 1fr; }
}

.mpforge-featured { margin: 0 0 1.5rem; border-radius: 12px; overflow: hidden; }
.mpforge-featured__img { width: 100%; height: auto; display: block; max-height: 420px; object-fit: cover; }
.mpforge-entry a { color: var(--mpforge-primary, #12a67a); }
.mpforge-entry h2 { font-size: 1.35rem; }
.mpforge-entry p { line-height: 1.85; margin: 0.85rem 0; }
.mpforge-entry li { line-height: 1.75; margin: 0.35rem 0; }

/* —— HTML layered cover cards —— */
.mpforge-cover-grid {
  display: grid;
  gap: 1.25rem;
  margin: 1rem 0 1.5rem;
}
.mpforge-cover-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mpforge-cover-grid--1 { grid-template-columns: 1fr; max-width: 720px; }
.mpforge-cover-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mpforge-cover-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mpforge-cover-grid--home { margin-top: 0.5rem; }

.mpforge-cover-card {
  --cover-accent: #12a67a;
  --cover-accent2: #0A6B4E;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 220px;
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  color: #fff;
  box-shadow: 0 10px 28px rgba(10, 107, 78, 0.18);
  isolation: isolate;
  transition: transform 180ms ease, box-shadow 180ms ease;
}
a.mpforge-cover-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(10, 107, 78, 0.28);
  color: #fff;
}
.mpforge-cover-card--hero {
  min-height: clamp(240px, 38vw, 380px);
  margin: 0 0 1.75rem;
  border-radius: 16px;
}
.mpforge-cover-card--featured { min-height: 260px; }
.mpforge-cover-card--card { min-height: 240px; }

.mpforge-cover-card__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.mpforge-cover-card__bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.02);
}
.mpforge-cover-card__bg--css {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--cover-accent), var(--cover-accent2));
}
.mpforge-cover-card__mask {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2, 44, 34, 0.15) 0%, rgba(2, 44, 34, 0.35) 38%, rgba(2, 44, 34, 0.88) 100%),
    linear-gradient(90deg, rgba(18, 166, 122, 0.35), transparent 55%);
  z-index: 1;
}
.mpforge-cover-card__glow {
  position: absolute;
  right: -10%;
  top: -20%;
  width: 55%;
  height: 70%;
  background: radial-gradient(circle at center, rgba(255,255,255,0.22), transparent 68%);
  z-index: 1;
  pointer-events: none;
}
.mpforge-cover-card__body {
  position: relative;
  z-index: 2;
  padding: 1.15rem 1.25rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}
.mpforge-cover-card--hero .mpforge-cover-card__body {
  padding: 1.5rem 1.5rem 1.65rem;
  max-width: 52rem;
}
.mpforge-cover-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 0.15rem;
}
.mpforge-cover-card__tag,
.mpforge-cover-card__label {
  display: inline-flex;
  align-items: center;
  padding: 0.18rem 0.55rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  backdrop-filter: blur(6px);
}
.mpforge-cover-card__tag {
  background: rgba(255, 255, 255, 0.95);
  color: var(--cover-accent2, #0A6B4E);
}
.mpforge-cover-card__label {
  background: rgba(255, 255, 255, 0.18);
  color: #ecfdf5;
  border: 1px solid rgba(255, 255, 255, 0.28);
}
.mpforge-cover-card__title {
  margin: 0;
  color: #fff !important;
  font-size: clamp(1.05rem, 2.2vw, 1.45rem);
  line-height: 1.35;
  text-shadow: 0 1px 2px rgba(0,0,0,0.25);
}
.mpforge-cover-card--hero .mpforge-cover-card__title {
  font-size: clamp(1.4rem, 3vw, 2rem);
}
.mpforge-cover-card__excerpt {
  margin: 0;
  color: rgba(236, 253, 245, 0.9);
  font-size: 0.875rem;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.mpforge-cover-card__cta {
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #a7f3d0;
}
a.mpforge-cover-card:hover .mpforge-cover-card__cta { color: #fff; }

.mpforge-extra-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
  margin: 1.25rem 0 1.5rem;
  padding: 0;
  border: 0;
}
.mpforge-extra-gallery__img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  display: block;
  object-fit: cover;
  aspect-ratio: 16 / 10;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}
.mpforge-extra-gallery figcaption {
  grid-column: 1 / -1;
  font-size: 0.8125rem;
  color: #687078;
}
.mpforge-home-docs-links {
  margin: 1rem 0 0;
  color: #545b64;
  font-size: 0.9375rem;
}
.mpforge-home-docs-links a { color: var(--mpforge-primary, #12a67a); }

@media (max-width: 768px) {
  .mpforge-cover-grid--2,
  .mpforge-cover-grid--3,
  .mpforge-cover-grid--4 { grid-template-columns: 1fr; }
  .mpforge-extra-gallery { grid-template-columns: 1fr; }
  .mpforge-cover-card--hero { min-height: 220px; }
}

/* Baked title covers: show art, hide HTML title overlay */
.mpforge-cover-card--title-in-image .mpforge-cover-card__mask {
  opacity: 0.15;
  background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,0.18) 100%);
}
.mpforge-cover-card--title-in-image .mpforge-cover-card__glow { opacity: 0.2; }
.mpforge-cover-card--title-in-image .mpforge-cover-card__body {
  justify-content: flex-end;
  padding-bottom: 0.75rem;
}
.mpforge-cover-card--title-in-image.mpforge-cover-card--hero {
  min-height: 280px;
}
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

/* GEO answer-first box */
.geo-answer-box {
  margin: 0 0 1.35rem;
  padding: 1rem 1.15rem;
  border-left: 4px solid var(--mpforge-primary, #12a67a);
  border-radius: 0 12px 12px 0;
  background: linear-gradient(135deg, rgba(5, 144, 80, 0.08), rgba(10, 107, 78, 0.04));
  color: #0f172a;
  font-size: 1.02rem;
  line-height: 1.7;
  box-shadow: 0 1px 0 rgba(18, 166, 122, 0.06);
}
.geo-answer-box strong {
  color: var(--mpforge-ink, #0A6B4E);
  font-weight: 700;
  margin-right: 0.25rem;
}
.mpforge-cover-card__media picture {
  display: block;
  width: 100%;
  height: 100%;
}
.mpforge-cover-card__media picture .mpforge-cover-card__bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ===== v1.5.0: archive / pricing / about enrichment ===== */
.mpforge-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin: 1.5rem 0 0;
  text-align: center;
}
.mpforge-stats > div {
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 10px;
  padding: 0.85rem 0.5rem;
}
.mpforge-stats strong { display: block; font-size: 1.5rem; line-height: 1.25; }
.mpforge-stats span { font-size: 0.8125rem; opacity: 0.9; }
.mpforge-section--alt .mpforge-stats > div,
.mpforge-page-content .mpforge-stats > div {
  background: var(--devdiy-color-green-100, #f2f8f0);
  border-color: var(--devdiy-color-grey-200, #eaeded);
}
.mpforge-section--alt .mpforge-stats strong,
.mpforge-page-content .mpforge-stats strong { color: var(--mpforge-primary, #12a67a); }

.mpforge-chipbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 1.5rem;
  padding: 0;
  list-style: none;
}
.mpforge-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--devdiy-color-grey-300, #d5dbdb);
  color: var(--devdiy-color-text-body-default, #16191f);
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  transition: border-color 0.15s, color 0.15s, background 0.15s;
}
.mpforge-chip:hover,
.mpforge-chip.is-active {
  border-color: var(--mpforge-primary, #12a67a);
  color: var(--mpforge-primary, #12a67a);
  background: rgba(18,166,122,0.06);
}
.mpforge-chip sup { margin-left: 0.25rem; font-weight: 500; opacity: 0.7; }

.mpforge-table-wrap { overflow-x: auto; margin: 1rem 0 1.5rem; }
.mpforge-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  font-size: 0.9375rem;
  min-width: 560px;
}
.mpforge-table th,
.mpforge-table td {
  border: 1px solid var(--devdiy-color-grey-200, #eaeded);
  padding: 0.65rem 0.85rem;
  text-align: left;
  vertical-align: top;
  line-height: 1.55;
}
.mpforge-table th {
  background: var(--devdiy-color-green-100, #f2f8f0);
  color: var(--mpforge-ink, #0A6B4E);
  font-weight: 700;
  white-space: nowrap;
}
.mpforge-table td em { font-style: normal; color: var(--mpforge-primary, #12a67a); font-weight: 700; white-space: nowrap; }

.mpforge-faq { margin: 1rem 0 0; padding: 0; }
.mpforge-faq > div {
  background: #fff;
  border: 1px solid var(--devdiy-color-grey-200, #eaeded);
  border-radius: 10px;
  padding: 0.9rem 1.1rem;
  margin-bottom: 0.75rem;
}
.mpforge-faq h3 {
  margin: 0 0 0.4rem;
  font-size: 1rem;
  color: var(--mpforge-ink, #0A6B4E);
}
.mpforge-faq p { margin: 0; color: var(--devdiy-color-text-body-secondary, #545b64); line-height: 1.7; }

.mpforge-steps { margin: 1rem 0 0; padding: 0 0 0 1.25rem; }
.mpforge-steps li { margin-bottom: 0.6rem; line-height: 1.65; }
.mpforge-steps li strong { color: var(--mpforge-ink, #0A6B4E); }

@media (max-width: 768px) {
  .mpforge-stats { grid-template-columns: repeat(2, 1fr); }
  .mpforge-table { min-width: 480px; }
}

/* ===== v1.6.0: header search, lead form, list density ===== */
.mpforge-search { display: flex; align-items: center; gap: 0.35rem; }
.mpforge-search input {
  width: 180px;
  padding: 0.45rem 0.7rem;
  border: 1px solid rgba(255,255,255,0.45);
  border-radius: 8px;
  background: rgba(255,255,255,0.95);
  font-size: 0.875rem;
}
.mpforge-search input:focus { outline: 2px solid rgba(255,255,255,0.6); }
.mpforge-search button {
  padding: 0.45rem 0.7rem;
  border: 0;
  border-radius: 8px;
  background: rgba(255,255,255,0.18);
  color: #fff;
  cursor: pointer;
  font-size: 0.875rem;
}
@media (max-width: 1180px) { .mpforge-search input { width: 130px; } }
@media (max-width: 900px) { .mpforge-search { display: none; } }

.mpforge-cover-card--card { min-height: 185px; }
@media (max-width: 1024px) {
  .mpforge-cover-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.mpforge-lead-form {
  background: #fff;
  border: 1px solid var(--devdiy-color-grey-200, #eaeded);
  border-radius: 12px;
  padding: 1.5rem;
  margin-top: 1.75rem;
}
.mpforge-lead-form h2 { margin-top: 0; color: var(--mpforge-ink, #0A6B4E); }
.mpforge-form-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.85rem; }
.mpforge-form-grid p { margin: 0; }
.mpforge-lead-form label { display: block; font-weight: 600; font-size: 0.9rem; color: var(--devdiy-color-text-body-default, #16191f); }
.mpforge-lead-form label em { color: var(--devdiy-color-red-600, #d13212); font-style: normal; margin-left: 2px; }
.mpforge-lead-form input,
.mpforge-lead-form select,
.mpforge-lead-form textarea {
  width: 100%;
  margin-top: 0.3rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid var(--devdiy-color-grey-300, #d5dbdb);
  border-radius: 8px;
  font-size: 0.95rem;
  font-family: inherit;
  box-sizing: border-box;
}
.mpforge-lead-form input:focus,
.mpforge-lead-form select:focus,
.mpforge-lead-form textarea:focus { border-color: var(--mpforge-primary, #12a67a); outline: none; }
.mpforge-form-submit { display: flex; align-items: center; gap: 0.9rem; flex-wrap: wrap; margin-bottom: 0; }
.mpforge-hp { position: absolute; left: -9999px; }
.mpforge-form-ok {
  padding: 0.9rem 1.1rem;
  border-radius: 10px;
  background: var(--devdiy-color-background-status-success, #f2f8f0);
  border: 1px solid var(--devdiy-color-green-600, #1d8102);
  color: var(--devdiy-color-green-700, #1a520f);
  font-size: 1rem;
}
@media (max-width: 768px) {
  .mpforge-form-grid { grid-template-columns: 1fr; }
}

/* ---- Homepage standalone search band (above CTA + above footer) ---- */
.mpforge-section--searchband { padding-top: 24px; padding-bottom: 24px; }
.mpforge-search-band { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.mpforge-search-band__form {
  display: flex; align-items: stretch; gap: 8px;
  width: 100%; max-width: 640px;
  background: #fff; border: 1px solid rgba(18,166,122,.25);
  border-radius: 999px; padding: 8px 10px;
  box-shadow: 0 6px 20px rgba(10,107,78,.08);
}
.mpforge-search-band__form input[type="search"] {
  flex: 1; border: 0; outline: none; background: transparent;
  font-size: 16px; color: #223; padding: 6px 12px; min-width: 0;
}
.mpforge-search-band__form input[type="search"]::placeholder { color: #9aa5a0; }
.mpforge-search-band__form .mpforge-btn { border-radius: 999px; flex-shrink: 0; }
.mpforge-search-band__hint { margin: 0; font-size: 13px; color: #7a8580; text-align: center; }
.mpforge-section--searchband.mpforge-section--bottom { padding-bottom: 8px; }
@media (max-width: 768px) {
  .mpforge-search-band__form { border-radius: 16px; }
  .mpforge-search-band__form input[type="search"] { padding: 6px 8px; }
}

/* ---- Show cover images more fully (hero follows 1200x630 ratio) ---- */
.mpforge-cover-card--hero {
  aspect-ratio: 1200 / 630;
  min-height: 220px;
}
.mpforge-cover-card--hero .mpforge-cover-card__bg { object-position: center top; }
.mpforge-cover-card--featured { min-height: 300px; }
.mpforge-cover-card--card { min-height: 260px; }
.mpforge-cover-card--featured .mpforge-cover-card__bg,
.mpforge-cover-card--card .mpforge-cover-card__bg { object-position: center 30%; }
@media (max-width: 768px) {
  .mpforge-cover-card--featured { min-height: 240px; }
  /* 手机端去掉 1200x630 固定比例：按内容自然撑高，避免图被压扁/裁切 */
  .mpforge-cover-card--hero { aspect-ratio: auto; }
}

/* ---- Mobile nav responsive refinement ---- */
@media (max-width: 768px) {
  .mpforge-menu > .menu-item > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.7rem 0.25rem;
    font-size: 0.9375rem;
    font-weight: 600;
  }
  .mpforge-menu > .menu-item.is-current > a { color: var(--mpforge-primary, #12a67a); }
  .mpforge-menu > .menu-item.is-current > a::after { content: '·'; opacity: 0; }
  .mpforge-submenu {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 8px;
    padding: 0.1rem 0 0.6rem 0.4rem;
  }
  .mpforge-submenu a {
    display: block;
    padding: 0.45rem 0.5rem;
    font-size: 0.8125rem;
    color: #40484f;
    background: var(--devdiy-color-grey-100, #fafafa);
    border-radius: 6px;
    margin-bottom: 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .mpforge-submenu li:last-child { grid-column: 1 / -1; }
  .mpforge-submenu li:last-child a {
    background: var(--devdiy-color-green-100, #f2f8f0);
    color: var(--mpforge-primary, #12a67a);
    font-weight: 600;
    text-align: center;
  }
}
@media (max-width: 480px) {
  .mpforge-logo { font-size: 1.05rem; }
  .mpforge-btn--header { padding: 0.45rem 0.75rem; font-size: 0.875rem; }
  .mpforge-menu > .menu-item > a { font-size: 0.875rem; padding: 0.6rem 0.25rem; }
}

/* ---- Mobile drawer nav: hidden by default, slides from left, 80% width ---- */
.mpforge-nav__close { display: none; }
@media (max-width: 768px) {
  .mpforge-nav-toggle {
    display: flex;
    order: -1;
    margin-left: 0;
  }
  .mpforge-nav {
    display: block;
    position: fixed;
    top: 0; left: 0; bottom: 0;
    width: 80%;
    background: #fff;
    z-index: 999;
    padding: 14px 16px calc(20px + env(safe-area-inset-bottom));
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transform: translateX(-104%);
    transition: transform 0.28s ease;
    box-shadow: 6px 0 28px rgba(10, 107, 78, 0.18);
    border-bottom: 0;
  }
  .mpforge-nav.is-open { transform: translateX(0); }
  body.mpforge-nav-open::after {
    content: '';
    position: fixed;
    inset: 0;
    background: rgba(8, 30, 22, 0.45);
    /* below header (z-index:100) so drawer + burger stay above the mask */
    z-index: 99;
  }
  .mpforge-nav__close {
    display: block;
    width: 100%;
    padding: 0.55rem 0.5rem;
    margin-bottom: 0.5rem;
    border: 0;
    border-radius: 8px;
    background: var(--devdiy-color-green-100, #f2f8f0);
    color: var(--mpforge-primary, #12a67a);
    font-size: 0.875rem;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
  }
  /* drawer rows: keep first item border only below close bar */
  .mpforge-menu > .menu-item:first-child { border-top: 0; }
  .mpforge-menu > .menu-item { border-top: 1px solid var(--devdiy-color-grey-100, #fafafa); }
}
@media (prefers-reduced-motion: reduce) {
  .mpforge-nav { transition: none; }
}

/* Fix: backdrop-filter on header traps position:fixed children (drawer) — disable on mobile */
@media (max-width: 768px) {
  .mpforge-header {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .mpforge-nav {
    height: 100vh;
    height: 100dvh;
    bottom: auto;
  }
}

/* Drawer scrollbar: overlay style, hidden when idle */
@media (max-width: 768px) {
  .mpforge-nav {
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .mpforge-nav::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
  }
}

/* ---- Pagination: centered pill style ---- */
.mpforge-pagination { display: flex; justify-content: center; margin: 2rem 0 0.5rem; }
.mpforge-pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.mpforge-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border: 1px solid var(--devdiy-color-grey-200, #e2e8e5);
  border-radius: 10px;
  background: #fff;
  color: #333c37;
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
  box-sizing: border-box;
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}
.mpforge-pagination a.page-numbers:hover {
  border-color: var(--mpforge-primary, #12a67a);
  color: var(--mpforge-primary, #12a67a);
  background: var(--devdiy-color-green-100, #f2f8f0);
}
.mpforge-pagination .page-numbers.current {
  background: var(--mpforge-primary, #12a67a);
  border-color: var(--mpforge-primary, #12a67a);
  color: #fff;
  cursor: default;
}
.mpforge-pagination .page-numbers.dots {
  border: 0;
  background: none;
  min-width: auto;
  padding: 0 4px;
  color: #97a29c;
}

/* ---- Footer v2: #1A1A1A dark, clear hierarchy, mobile single column ---- */
.mpforge-footer { background: #1A1A1A; }
.mpforge-footer__col h3 {
  color: #fff;
  font-weight: 600;
  font-size: 1.125rem;
  margin: 0 0 0.9rem;
}
/* Toggle is a native <button> inside the heading (a11y: h3 keeps heading role) */
.mpforge-footer__toggle {
  display: block;
  width: 100%;
  background: none;
  border: 0;
  padding: 0;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  text-align: inherit;
  cursor: pointer;
}
.mpforge-footer__col li { margin: 0; }
.mpforge-footer__col a {
  color: #B8B8B8;
  font-size: 1rem;
  text-decoration: none;
  transition: color 0.15s ease;
}
.mpforge-footer__col a:hover { color: #12a67a; }
.mpforge-footer__arrow { color: #12a67a; font-weight: 600; }
.mpforge-footer__bottom {
  border-top: 1px solid #333333;
  padding-top: 1.25rem;
}
.mpforge-footer__trust {
  margin: 0 0 0.75rem;
  color: #999999;
  font-size: 0.875rem;
  letter-spacing: 0.02em;
}
.mpforge-footer__nap { margin: 0 0 0.4rem; color: #999999; font-size: 0.875rem; line-height: 1.7; }
.mpforge-footer__nap a { color: #12a67a; text-decoration: none; }
.mpforge-footer__nap a:hover { text-decoration: underline; }
.mpforge-footer__legal { margin: 0; color: #CCCCCC; font-size: 0.875rem; }
.mpforge-footer__legal a { color: inherit; text-decoration: none; }
.mpforge-footer__icp { color: #12a67a !important; font-weight: 500; }
.mpforge-footer__icp:hover { text-decoration: underline; }
.mpforge-footer__tagline {
  margin: 0.5rem 0 0;
  color: #999999;
  font-size: 0.875rem;
  line-height: 1.7;
}
@media (max-width: 768px) {
  .mpforge-footer__grid {
    grid-template-columns: 1fr;
    gap: 1.75rem;
    padding: 0.75rem 0 1.75rem;
  }
  .mpforge-footer__col h3 { font-size: 1rem; margin-bottom: 0.35rem; }
  .mpforge-footer__col a {
    display: inline-block;
    padding: 8px 0;
    font-size: 0.9375rem;
    line-height: 1.7;
  }
}

/* Drawer UX: lock page scroll while open; sticky close bar */
@media (max-width: 768px) {
  body.mpforge-nav-open { overflow: hidden; }
  .mpforge-nav__close {
    position: sticky;
    top: 0;
    z-index: 5;
    margin: -14px -16px 0.6rem;
    padding: 0.7rem 16px;
    border-radius: 0;
    background: #fff;
    border-bottom: 1px solid var(--devdiy-color-grey-200, #eaeded);
    box-shadow: 0 2px 8px rgba(10, 107, 78, 0.06);
  }
}

/* Footer accordion (mobile): icon + whole-row toggle, animated collapse */
@media (max-width: 768px) {
  .mpforge-footer__toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 0;
    margin: 0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
  }
  .mpforge-footer__icon { width: 18px; height: 18px; color: #12a67a; flex: none; }
  .mpforge-footer__chev { margin-left: auto; color: #999999; display: inline-flex; }
  .mpforge-footer__chev svg { width: 16px; height: 16px; transition: transform 0.25s ease; }
  .mpforge-footer__col ul {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
  }
  .mpforge-footer__col.is-open ul { max-height: 480px; }
  .mpforge-footer__col.is-open .mpforge-footer__chev svg { transform: rotate(180deg); }
  .mpforge-footer__col { border-bottom: 1px solid #262626; padding-bottom: 0.75rem; }
  .mpforge-footer__col:last-child { border-bottom: 0; }
}

/* Footer bottom info block: centered, lighter, spaced on mobile */
@media (max-width: 768px) {
  .mpforge-footer__bottom {
    text-align: center;
    margin-top: 1.5rem;
    border-top: 1px solid #333333;
    padding-top: 1.4rem;
    padding-bottom: 0.25rem;
  }
  .mpforge-footer__trust,
  .mpforge-footer__legal,
  .mpforge-footer__tagline {
    font-size: 13px;
    line-height: 1.8;
    margin: 0.3rem 0;
  }
  .mpforge-footer__nap { font-size: 13px; line-height: 1.8; margin: 0.3rem 0; color: #B8B8B8; }
  .mpforge-footer__nap a { color: #12a67a; }
}

/* Footer icons/chevrons are mobile-only affordances — hide on PC */
@media (min-width: 769px) {
  .mpforge-footer__icon,
  .mpforge-footer__chev { display: none; }
  .mpforge-footer__toggle { cursor: default; }
}
/* Safety: SVGs never blow up regardless of viewport */
.mpforge-footer__icon, .mpforge-footer__chev svg { max-width: 18px; max-height: 18px; }

/* Footer bottom (PC): full-bleed divider, centered, 14px/1.8, 24px padding */
@media (min-width: 769px) {
  .mpforge-footer__bottom {
    text-align: center;
    border-top: 1px solid #333333;
    padding: 24px 0;
  }
  .mpforge-footer__trust,
  .mpforge-footer__legal,
  .mpforge-footer__tagline {
    font-size: 14px;
    line-height: 1.8;
    margin: 0.35rem 0;
  }
}

/* Footer accordion: tighter row spacing on mobile */
@media (max-width: 768px) {
  .mpforge-footer__grid { gap: 0.25rem; }
  .mpforge-footer__col { padding-bottom: 0.5rem; }
  .mpforge-footer__toggle { padding: 6px 0; }
  .mpforge-footer__col.is-open ul { padding-bottom: 0.35rem; }
}

/* ===== Homepage CTA: two-column (copy left, trust card right) ===== */
.mpforge-cta-band {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  align-items: center;
  gap: 3rem;
}
.mpforge-section--cta .mpforge-btn--ghost { margin-left: 0; }
.mpforge-cta-band__copy h2 {
  margin: 0 0 0.9rem;
  font-size: clamp(1.6rem, 3.4vw, 2.4rem);
  line-height: 1.25;
}
.mpforge-cta-band__lead { margin: 0 0 1.6rem; opacity: 0.92; font-size: 1rem; }
.mpforge-cta-band__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 0.7rem; }
.mpforge-btn--solid-deep { background: rgba(6, 56, 40, 0.55); color: #fff; padding: 0.7rem 2rem; }
.mpforge-btn--solid-deep:hover { background: rgba(6, 56, 40, 0.75); }
.mpforge-btn--block { padding: 0.7rem 2rem; }
.mpforge-cta-band__card {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 16px;
  padding: 1.4rem 1.5rem 1.1rem;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: 0 18px 40px rgba(4, 40, 28, 0.25);
}
.mpforge-cta-band__list { list-style: none; margin: 0; padding: 0; }
.mpforge-cta-band__list li {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.85rem 0;
  font-weight: 600;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}
.mpforge-cta-band__list li:last-child { border-bottom: 0; }
.mpforge-cta-band__list svg { width: 20px; height: 20px; color: #7CE3C3; flex: none; }
.mpforge-cta-band__meta {
  margin: 0.9rem 0 0;
  padding-top: 0.9rem;
  border-top: 1px dashed rgba(255, 255, 255, 0.25);
  font-size: 0.8125rem;
  opacity: 0.85;
}
@media (max-width: 900px) {
  .mpforge-cta-band { grid-template-columns: 1fr; gap: 1.75rem; }
  .mpforge-cta-band__actions { flex-direction: row; flex-wrap: wrap; }
}

/* ===== CTA band refinement: balance, hierarchy, hover ===== */
.mpforge-cta-band__card {
  max-width: 400px;
  justify-self: end;
  border-radius: 18px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.mpforge-cta-band__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 26px 52px rgba(4, 40, 28, 0.35);
}
.mpforge-cta-band__list li {
  padding: 0.7rem 0;
  line-height: 1.5;
  border-bottom: 1px dashed rgba(124, 227, 195, 0.35);
}
.mpforge-cta-band__list li:last-child { border-bottom: 0; }
.mpforge-btn--primary { padding: 0.7rem 2rem; }
.mpforge-section--cta .mpforge-btn--primary:hover { background: var(--mpforge-primary-hover, #0E8763); }
.mpforge-section--cta .mpforge-btn--ghost:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.65);
}
@media (max-width: 900px) {
  .mpforge-cta-band__card { justify-self: stretch; max-width: none; }
}
@media (max-width: 768px) {
  .mpforge-cta-band__card { padding: 1rem 1.1rem 0.8rem; }
  .mpforge-cta-band__list li { padding: 0.55rem 0; font-size: 0.9375rem; }
  .mpforge-cta-band__meta { margin-top: 0.6rem; padding-top: 0.6rem; }
}

/* CTA buttons side by side (was stacked) */
.mpforge-cta-band__actions { flex-direction: row; flex-wrap: wrap; }

/* ===== Industry cards final: desc line, fixed height, conversion hover ===== */
.mpforge-industry-card {
  padding: 1.5rem 1rem 1.25rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, background 0.2s ease;
}
.mpforge-industry-card__icon {
  transition: transform 0.25s ease;
}
.mpforge-industry-card__label { font-size: 1.0625rem; font-weight: 600; color: #222; }
.mpforge-industry-card__desc {
  font-size: 0.8125rem;
  color: #8a938e;
  line-height: 1.5;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.mpforge-industry-card:hover {
  transform: translateY(-4px);
  background: #f0f8f5;
  box-shadow: 0 8px 20px rgba(18, 166, 122, 0.14);
}
.mpforge-industry-card:hover .mpforge-industry-card__icon { transform: scale(1.06); }
@media (max-width: 768px) {
  .mpforge-industry-card { padding: 1rem 0.6rem 0.85rem; gap: 0.3rem; }
  .mpforge-industry-card__label { font-size: 0.9375rem; }
  .mpforge-industry-card__desc { font-size: 0.75rem; }
}

/* ===== Pricing page components (miniprogram-cost) ===== */
.mpforge-pricing-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 1.5rem 0;
}
.mpforge-pricing-card {
  display: flex;
  flex-direction: column;
  background: var(--devdiy-color-white, #fff);
  border: 1px solid var(--devdiy-color-border-layout, #d5dbdb);
  border-radius: 12px;
  padding: 1.5rem 1.25rem;
  position: relative;
}
.mpforge-pricing-card--featured {
  border-color: var(--mpforge-primary, #12a67a);
  box-shadow: 0 6px 18px rgba(18, 166, 122, 0.12);
}
.mpforge-pricing-card__tag {
  display: inline-block;
  align-self: flex-start;
  margin: 0 0 0.6rem;
  padding: 0.2rem 0.7rem;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--mpforge-ink, #0A6B4E);
  background: var(--devdiy-color-green-100, #f2f8f0);
  border-radius: 999px;
}
.mpforge-pricing-card__price {
  margin: 0 0 1rem;
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--mpforge-primary, #12a67a);
  line-height: 1.2;
}
.mpforge-pricing-card__price span {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--devdiy-color-text-body-secondary, #545b64);
}
.mpforge-pricing-card__block { margin-bottom: 1rem; }
.mpforge-pricing-card__block h3 {
  margin: 0 0 0.4rem;
  font-size: 0.9375rem;
  color: var(--mpforge-ink, #0A6B4E);
}
.mpforge-pricing-card__block p,
.mpforge-pricing-card__block ul {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--devdiy-color-text-body-secondary, #545b64);
}
.mpforge-pricing-card__block ul {
  list-style: none;
  padding: 0;
}
.mpforge-pricing-card__block ul li {
  padding-left: 1.25rem;
  position: relative;
  margin-bottom: 0.3rem;
}
.mpforge-pricing-card__block ul li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--mpforge-primary, #12a67a);
  font-weight: 700;
}
.mpforge-pricing-card__note {
  margin: auto 0 0;
  padding: 0.6rem 0.75rem;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--devdiy-color-text-body-secondary, #545b64);
  background: var(--devdiy-color-grey-100, #fafafa);
  border-radius: 8px;
}
.mpforge-pricing-card__note::before { content: "备注："; font-weight: 700; color: var(--mpforge-ink, #0A6B4E); }

.mpforge-demo-highlight {
  margin: 1.75rem 0;
  padding: 1.1rem 1.25rem;
  background: linear-gradient(135deg, var(--devdiy-color-green-100, #f2f8f0), rgba(18, 166, 122, 0.14));
  border: 1px solid var(--mpforge-primary, #12a67a);
  border-left: 5px solid var(--mpforge-primary, #12a67a);
  border-radius: 10px;
}
.mpforge-demo-highlight p { margin: 0; line-height: 1.7; color: var(--mpforge-ink, #0A6B4E); }
.mpforge-demo-highlight strong { color: var(--mpforge-primary-dark, #0E8763); }

.mpforge-faq--accordion { margin: 1.25rem 0 0; }
.mpforge-faq--accordion details {
  background: #fff;
  border: 1px solid var(--devdiy-color-grey-200, #eaeded);
  border-radius: 10px;
  margin-bottom: 0.75rem;
  overflow: hidden;
}
.mpforge-faq--accordion summary {
  list-style: none;
  cursor: pointer;
  padding: 0.95rem 2.4rem 0.95rem 1.1rem;
  position: relative;
  font-weight: 700;
  color: var(--mpforge-ink, #0A6B4E);
  line-height: 1.5;
}
.mpforge-faq--accordion summary::-webkit-details-marker { display: none; }
.mpforge-faq--accordion summary::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 0.5rem;
  height: 0.5rem;
  border-right: 2px solid var(--mpforge-primary, #12a67a);
  border-bottom: 2px solid var(--mpforge-primary, #12a67a);
  transform: translateY(-70%) rotate(45deg);
  transition: transform var(--devdiy-motion-duration-moderate, 135ms) ease;
}
.mpforge-faq--accordion details[open] summary::after {
  transform: translateY(-20%) rotate(225deg);
}
.mpforge-faq--accordion details[open] summary { border-bottom: 1px solid var(--devdiy-color-grey-200, #eaeded); }
.mpforge-faq--accordion details p {
  margin: 0;
  padding: 0.9rem 1.1rem;
  color: var(--devdiy-color-text-body-secondary, #545b64);
  line-height: 1.7;
}

.mpforge-trust {
  margin-top: 1.5rem;
  padding: 1rem 1.25rem;
  background: var(--devdiy-color-grey-100, #fafafa);
  border-radius: 10px;
}
.mpforge-trust p { margin: 0; font-size: 0.875rem; line-height: 1.7; color: var(--devdiy-color-text-body-secondary, #545b64); }
.mpforge-trust strong { color: var(--mpforge-ink, #0A6B4E); }

.mpforge-pricing-cards--duo {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mpforge-pricing-cards--duo .mpforge-pricing-card__tag { font-size: 1rem; }

/* ===== Homepage hero: animated mini-program ecosystem backdrop ===== */
.mpforge-section--hero {
  position: relative;
  overflow: hidden;
}
.mpforge-hero { position: relative; z-index: 1; }
.mpforge-hero__fx {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.fx-grid {
  position: absolute;
  inset: -1px;
  background-image:
    linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse 90% 80% at 50% 45%, #000 30%, transparent 78%);
  mask-image: radial-gradient(ellipse 90% 80% at 50% 45%, #000 30%, transparent 78%);
}
.fx-ring {
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.10);
  transform: translate(-50%, -50%);
  animation: fx-ring-pulse 14s ease-in-out infinite;
}
.fx-ring--1 { width: 340px; height: 340px; }
.fx-ring--2 {
  width: 560px; height: 560px;
  border-color: rgba(255,255,255,0.07);
  border-style: dashed;
  animation-duration: 22s;
  animation-direction: reverse;
}
.fx-ring--3 {
  width: 820px; height: 820px;
  border-color: rgba(255,255,255,0.05);
  animation-duration: 30s;
}
@keyframes fx-ring-pulse {
  0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.7; }
  50% { transform: translate(-50%, -50%) scale(1.06); opacity: 1; }
}
.fx-sheen {
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,0.08) 46%, rgba(255,255,255,0.02) 54%, transparent 70%);
  background-size: 240% 100%;
  animation: fx-sheen-slide 11s linear infinite;
}
@keyframes fx-sheen-slide {
  0% { background-position: 120% 0; }
  100% { background-position: -120% 0; }
}
.fx-dot {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: var(--s, 5px);
  height: var(--s, 5px);
  border-radius: 50%;
  background: rgba(255,255,255,0.65);
  box-shadow: 0 0 10px 2px rgba(255,255,255,0.35);
  animation: fx-dot-twinkle 4s ease-in-out infinite;
  animation-delay: var(--d, 0s);
}
@keyframes fx-dot-twinkle {
  0%, 100% { opacity: 0.25; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.15); }
}
.fx-chip {
  position: absolute;
  left: var(--x);
  top: var(--y);
  padding: 0.3rem 0.8rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.22);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  color: rgba(255,255,255,0.92);
  font-size: 0.8125rem;
  white-space: nowrap;
  animation: fx-chip-float var(--du, 10s) ease-in-out infinite;
  animation-delay: var(--d, 0s);
}
@keyframes fx-chip-float {
  0%, 100% { transform: translateY(0); opacity: 0.75; }
  50% { transform: translateY(-16px); opacity: 1; }
}
.fx-capsule {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: 46px;
  height: 22px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.35);
  background: rgba(255,255,255,0.10);
  animation: fx-chip-float var(--du, 12s) ease-in-out infinite;
  animation-delay: var(--d, 0s);
}
.fx-capsule::before, .fx-capsule::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  background: rgba(255,255,255,0.55);
}
.fx-capsule::before { left: 6px; width: 8px; height: 8px; }
.fx-capsule::after { right: 6px; width: 10px; height: 10px; border-radius: 4px; }
@media (max-width: 768px) {
  .fx-chip { font-size: 0.75rem; padding: 0.22rem 0.6rem; }
  .fx-chip:nth-child(n+14) { display: none; }
  .fx-ring--3 { width: 560px; height: 560px; }
  .fx-ring--2 { width: 400px; height: 400px; }
  .fx-ring--1 { width: 260px; height: 260px; }
}
@media (prefers-reduced-motion: reduce) {
  .fx-ring, .fx-sheen, .fx-dot, .fx-chip, .fx-capsule { animation: none; }
}

/* ============ Float consult rail (对齐 shangdatong.com 交互) ============ */
/* 右侧悬浮:获取报价(绿)+ 微信(hover/focus 左滑出二维码)+ 右缘细条关闭 */
.sdt-float-rail-wrap {
  position: fixed;
  right: 0;
  bottom: 220px;
  z-index: 999;
  display: flex;
  align-items: stretch;
}
.sdt-float-rail-wrap.is-hidden { display: none; }
.sdt-float-rail {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.12);
}
.sdt-float-item { position: relative; width: 64px; list-style: none; }
.sdt-float-item--diagnose > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 64px;
  height: 72px;
  padding: 8px 4px 6px;
  box-sizing: border-box;
  border-radius: 8px 0 0 0;
  background: #008060;
  color: #fff;
  text-decoration: none;
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
.sdt-float-item--diagnose > a:hover {
  background: #006b4f;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0, 128, 96, 0.28);
  color: #fff;
}
.sdt-float-item--wechat > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 64px;
  height: 64px;
  padding: 8px 4px 6px;
  box-sizing: border-box;
  border-radius: 0 0 0 8px;
  background: #475569;
  color: #f8fafc;
  text-decoration: none;
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
.sdt-float-item--wechat > a:hover {
  background: #334155;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.18);
  color: #fff;
}
.sdt-float-ico { display: block; line-height: 1; }
.sdt-float-ico svg { display: block; width: 20px; height: 20px; }
.sdt-float-name {
  display: block;
  width: 100%;
  color: inherit;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  white-space: normal;
}
/* 二维码弹层:hover/focus-within 左滑出 */
.sdt-float-qrpop {
  display: block;
  position: absolute;
  right: calc(100% + 12px);
  top: 0;
  width: 160px;
  padding: 12px 10px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 6px;
  text-align: center;
  color: #666;
  font-size: 13px;
  line-height: 1.4;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(10px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}
.sdt-float-qrpop img {
  display: block;
  width: 140px;
  height: 140px;
  margin: 0 auto 6px;
  object-fit: cover;
}
.sdt-float-item--wechat:hover .sdt-float-qrpop,
.sdt-float-item--wechat:focus-within .sdt-float-qrpop {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
}
/* 右缘细条关闭按钮 */
.sdt-float-close {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  width: 16px;
  padding: 0;
  margin: 0;
  border: none;
  background: #334155;
  color: #e2e8f0;
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.sdt-float-close:hover { background: #1e293b; color: #fff; }
.sdt-float-close span { display: block; font-weight: 500; }
@media (max-width: 960px) {
  .sdt-float-rail-wrap { bottom: 160px; }
}

/* ===== Footer v2: 品牌区 + 精简导航 + 通栏联系条（B 端服务商版式） ===== */
.mpforge-footer__top {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 2.2fr;
  gap: 3rem;
  padding: 2.75rem 0 2.25rem;
}
.mpforge-footer__logo {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  letter-spacing: 0.02em;
}
.mpforge-footer__logo:hover { color: #12a67a; }
.mpforge-footer__brand-sub { margin: 0.5rem 0 0; color: #12a67a; font-size: 0.9rem; font-weight: 600; }
.mpforge-footer__slogan { margin: 0.6rem 0 0; color: #CCCCCC; font-size: 0.9rem; line-height: 1.7; }
.mpforge-footer__brand .mpforge-footer__trust { margin: 0.9rem 0 0; }
.mpforge-footer__nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.mpforge-footer__contactbar {
  margin-top: 2rem;
  border-top: 1px solid #333333;
  background: #141414;
}
.mpforge-footer__contact {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 2.5rem;
  align-items: center;
  padding: 1.75rem 80px;
}
.mpforge-footer__contact-block:first-child { justify-self: start; }
.mpforge-footer__contact-block:nth-child(2) { justify-self: center; text-align: center; }
.mpforge-footer__contact-qr { justify-self: end; text-align: center; }
.mpforge-footer__contact-name { margin: 0 0 0.35rem; color: #fff; font-weight: 600; font-size: 1rem; }
.mpforge-footer__contact-line { margin: 0.25rem 0; color: #B8B8B8; font-size: 0.9rem; line-height: 1.7; text-align: left; }
.mpforge-footer__contact-line a { color: #12a67a; text-decoration: none; }
.mpforge-footer__contact-line a:hover { text-decoration: underline; }
.mpforge-footer__contact-qr { text-align: center; }
.mpforge-footer__contact-qr img {
  display: block;
  width: 96px;
  height: 96px;
  margin: 0 auto 6px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.15);
}
.mpforge-footer__contact-qr span { color: #999999; font-size: 12px; }
.mpforge-footer__contactbar .mpforge-footer__legal {
  margin: 0;
  padding: 0 0 1.4rem;
  text-align: center;
  font-size: 0.8125rem;
}
@media (max-width: 768px) {
  .mpforge-footer__top { grid-template-columns: 1fr; gap: 1.75rem; padding: 2rem 0 1.5rem; }
  .mpforge-footer__nav { grid-template-columns: 1fr; gap: 1.25rem; }
  .mpforge-footer__contact {
    grid-template-columns: 1fr;
    gap: 1.4rem;
    justify-items: center;
    text-align: center;
    padding: 1.5rem 0 1.1rem;
  }
  .mpforge-footer__contact-block:first-child,
  .mpforge-footer__contact-block:nth-child(2),
  .mpforge-footer__contact-qr { justify-self: center; }
  .mpforge-footer__contact-qr { order: 3; }
}

/* ===== Template vs Custom comparison table refinements ===== */
.mpforge-table--compare th:first-child { width: 6.5em; }
.mpforge-table--compare td:first-child {
  font-weight: 700;
  color: var(--mpforge-ink, #0A6B4E);
  white-space: nowrap;
}
.mpforge-table--compare td:nth-child(2) {
  background: rgba(18, 166, 122, 0.035);
}
.mpforge-table--compare tbody tr:nth-child(even) td { background: #fff; }
.mpforge-table--compare tbody tr:nth-child(even) td:nth-child(2) { background: rgba(18, 166, 122, 0.035); }

@media (max-width: 900px) {
  .mpforge-pricing-cards { grid-template-columns: 1fr; }
  .mpforge-pricing-cards--duo { grid-template-columns: 1fr; }
}

/* ===== v1.2.1: company page — creed highlight / 4-col industry cards / step flow ===== */
.mpforge-demo-highlight--creed { padding: 1.5rem 1.5rem 1.25rem; }
.mpforge-demo-highlight--creed h2 { margin: 0 0 0.5rem; color: var(--mpforge-primary-dark, #0E8763); }
.mpforge-demo-highlight--creed .mpforge-demo-highlight__slogan { margin: 0 0 0.9rem; font-size: 1.25rem; line-height: 1.5; }
.mpforge-demo-highlight--creed ul { margin: 0 0 0.9rem; padding: 0; list-style: none; }
.mpforge-demo-highlight--creed li { position: relative; padding-left: 1.4rem; margin-bottom: 0.55rem; line-height: 1.7; color: var(--mpforge-ink, #0A6B4E); }
.mpforge-demo-highlight--creed li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--mpforge-primary, #12a67a); font-weight: 700; }
.mpforge-demo-highlight--creed .mpforge-demo-highlight__brand { margin: 0; padding-top: 0.8rem; border-top: 1px dashed var(--mpforge-primary, #12a67a); font-size: 0.875rem; color: var(--devdiy-color-text-body-secondary, #545b64); }

.mpforge-pricing-cards.mpforge-pricing-cards--quad { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mpforge-pricing-cards--quad .mpforge-pricing-card { padding: 1.25rem 1.1rem; }
.mpforge-pricing-cards--quad .mpforge-pricing-card__tag { font-size: 1.0625rem; margin-bottom: 0.75rem; }
@media (max-width: 900px) {
  .mpforge-pricing-cards.mpforge-pricing-cards--quad { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .mpforge-pricing-cards.mpforge-pricing-cards--quad { grid-template-columns: 1fr; }
}

.mpforge-steps.mpforge-steps--flow { list-style: none; margin: 1.5rem 0 0; padding: 0; counter-reset: mpfstep; }
.mpforge-steps--flow li { position: relative; margin: 0; padding: 0 0 1.35rem 3.25rem; counter-increment: mpfstep; }
.mpforge-steps--flow li::before { content: counter(mpfstep); position: absolute; left: 0; top: 0.1rem; width: 2.1rem; height: 2.1rem; border-radius: 50%; background: var(--mpforge-primary, #12a67a); color: #fff; font-weight: 700; font-size: 1rem; display: flex; align-items: center; justify-content: center; }
.mpforge-steps--flow li::after { content: ""; position: absolute; left: 1.04rem; top: 2.5rem; bottom: 0.3rem; width: 2px; background: var(--devdiy-color-border-layout, #d5dbdb); }
.mpforge-steps--flow li:last-child { padding-bottom: 0.25rem; }
.mpforge-steps--flow li:last-child::after { display: none; }
.mpforge-steps--flow li strong { color: var(--mpforge-primary-dark, #0E8763); }

/* v1.6.6: process page — highlighted step row (core selling point) */
.mpforge-steps--flow li.mpforge-steps--flow__hl {
  background: linear-gradient(135deg, var(--devdiy-color-green-100, #f2f8f0), rgba(18, 166, 122, 0.14));
  border: 1px solid var(--mpforge-primary, #12a67a);
  border-left: 5px solid var(--mpforge-primary, #12a67a);
  border-radius: 10px;
  padding: 0.9rem 1rem 0.9rem 3.25rem;
  margin-bottom: 1.35rem;
}
.mpforge-steps--flow li.mpforge-steps--flow__hl::after { display: none; }
.mpforge-steps--flow li.mpforge-steps--flow__hl::before {
  top: 50%;
  transform: translateY(-50%);
  box-shadow: 0 0 0 4px rgba(18, 166, 122, 0.15);
}
@media (max-width: 600px) {
  .mpforge-steps--flow li.mpforge-steps--flow__hl { padding-left: 2.9rem; }
  .mpforge-steps--flow li.mpforge-steps--flow__hl::before { width: 1.9rem; height: 1.9rem; font-size: 0.9rem; }
}

/* v1.6.1 SEO: home intro paragraphs */
.mpforge-intro { max-width: 62em; margin: .75rem 0 0; color: var(--devdiy-color-text-body-secondary, #545b64); line-height: 1.8; }

/* ============================================================
   Mobile UX polish (2026-10-24)
   重点：上下间距 / 手机端字号 / 流式体验（无横向滚动、触控、安全区）
   追加在文件末尾，靠层叠顺序覆盖早期 v1 规则。
   ============================================================ */

/* —— 全局流式：杜绝横向滚动（clip 不破坏 position:sticky） —— */
html, body { overflow-x: hidden; overflow-x: clip; }
img, video { max-width: 100%; height: auto; }

/* —— 安全区：刘海屏顶部、底部手势条 —— */
.mpforge-topbar { padding-top: calc(0.4rem + env(safe-area-inset-top)); }
.mpforge-footer { padding-bottom: env(safe-area-inset-bottom); }

/* —— 点击反馈：替代 hover 的移动端按压态 —— */
a, button { -webkit-tap-highlight-color: rgba(18, 166, 122, 0.08); }
.mpforge-btn { transition: background 0.15s ease, border-color 0.15s ease, transform 0.08s ease; }
.mpforge-btn:active { transform: scale(0.97); }
.mpforge-industry-card:active,
.mpforge-cover-card:active { transform: scale(0.985); }

/* ============ 移动端（≤768px） ============ */
@media (max-width: 768px) {

  /* —— 顶栏：单行 + 超长省略，不挤压首屏 —— */
  .mpforge-topbar { font-size: 0.75rem; padding-block: 0.4rem; }
  .mpforge-topbar .mpforge-shell {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* —— 触控目标 ≥44px —— */
  .mpforge-nav-toggle { width: 44px; height: 44px; }
  .mpforge-menu > .menu-item > a {
    padding: 0.85rem 0.35rem;
    font-size: 1rem;
    line-height: 1.4;
  }
  .mpforge-submenu a {
    padding: 0.7rem 0.35rem;
    font-size: 0.9375rem;
  }
  .mpforge-btn { min-height: 48px; }
  .mpforge-btn--small,
  .mpforge-btn--header { min-height: 44px; }

  /* —— 首屏 Hero：字号、行高、按钮纵向堆叠 —— */
  .mpforge-section--hero { padding-block: 44px 40px; }
  .mpforge-section--hero h1 {
    font-size: 1.6rem;
    line-height: 1.45;
    margin: 0.6rem 0 0.7rem;
  }
  .mpforge-hero__h1-brand { margin-top: 0.3em; }
  .mpforge-hero__sub {
    font-size: 0.9375rem;
    line-height: 1.8;
    margin: 0 auto 1.5rem;
    max-width: 34em;
  }
  .mpforge-hero__actions {
    flex-direction: column;
    align-items: center;
    gap: 0.65rem;
  }
  .mpforge-hero__actions .mpforge-btn {
    width: 100%;
    max-width: 360px;
    font-size: 1rem;
  }

  /* —— 背景动效降级：降低存在感、低端机不持续重绘 —— */
  .mpforge-hero__fx { opacity: 0.55; }
  .fx-ring { animation: none; }

  /* —— 模块上下间距：比 PC 更松 —— */
  .mpforge-section { padding-block: 40px; }
  .mpforge-section__head { margin-bottom: 1.4rem; gap: 0.6rem; }
  .mpforge-cards--3, .mpforge-cards--4 { gap: 1rem; }
  .mpforge-cover-grid { gap: 1rem; }
  .mpforge-industry-grid { gap: 0.7rem; }
  .mpforge-pricing-cards { gap: 1rem; margin: 1.25rem 0 1.5rem; }
  .mpforge-cta-band { gap: 2rem; }
  .mpforge-entry p { margin: 1rem 0; }
  .mpforge-entry h2 { margin-top: 2rem; }

  /* —— 字号与行高：正文可读性 —— */
  .mpforge-section__title { font-size: 1.375rem; line-height: 1.4; }
  .mpforge-section__lead { font-size: 0.9375rem; line-height: 1.8; }
  .mpforge-page-title { font-size: clamp(1.45rem, 6vw, 1.75rem); line-height: 1.4; }
  .mpforge-entry { font-size: 0.9375rem; }
  .mpforge-entry li { line-height: 1.85; }
  .mpforge-breadcrumbs { font-size: 0.8125rem; margin-bottom: 1rem; }

  /* —— 卡片内容不裁切 —— */
  .mpforge-card, .mpforge-case-card { min-width: 0; }

  /* —— 表单：输入框高度、16px 防 iOS 聚焦缩放 —— */
  .mpforge-lead-form { padding: 1.25rem 1rem; }
  .mpforge-lead-form input,
  .mpforge-lead-form select,
  .mpforge-lead-form textarea {
    font-size: 16px;
    padding: 0.7rem 0.75rem;
    min-height: 44px;
  }
  .mpforge-form-submit .mpforge-btn { width: 100%; }

  /* —— 悬浮咨询按钮：胶囊形+文字，避开底部手势条 —— */
  #chat-trigger {
    right: 16px !important;
    bottom: calc(18px + env(safe-area-inset-bottom)) !important;
    width: auto !important;
    height: 52px !important;
    padding: 0 18px 0 15px !important;
    border-radius: 999px !important;
    gap: 7px;
  }
  #chat-trigger .chat-trigger__label { display: inline; }
}

/* 悬浮按钮文字：桌面隐藏（按钮保持圆形图标） */
.chat-trigger__label { display: none; font-size: 0.875rem; font-weight: 600; color: #fff; }

/* PC 端：同样是"图标+在线咨询"胶囊样式（图1）。
   按钮带有内联样式（56px 圆形），需 !important 覆盖。 */
@media (min-width: 769px) {
  #chat-trigger {
    width: auto !important;
    height: 56px !important;
    padding: 0 20px 0 16px !important;
    border-radius: 999px !important;
    gap: 8px;
  }
  #chat-trigger .chat-trigger__label { display: inline; }
}

/* —— 320px 小屏兜底 —— */
@media (max-width: 360px) {
  .mpforge-section--hero h1 { font-size: 1.4rem; }
  .mpforge-hero__actions .mpforge-btn { max-width: 100%; }
  .mpforge-industry-grid { gap: 0.55rem; }
  .mpforge-shell { --devdiy-page-inline: 14px; }
}

/* —— 低端机/省电模式：彻底关闭 hero 背景动画 —— */
@media (prefers-reduced-motion: reduce) {
  .fx-ring, .fx-grid { animation: none; }
}

/* ============================================================
   Mobile UX polish v2 — 全机型流式适配（2026-10-24）
   覆盖范围：320px(iPhone 5/SE) ~ 366~443px(主流安卓/iPhone) ~
   480~768px(宽屏手机/折叠屏内屏)；方屏(Pura X 外屏 327×327)单独处理。
   思路：间距与字号用 clamp() 连续缩放，消除断点跳变，接近 APP 手感。
   ============================================================ */

@media (max-width: 768px) {
  /* 页面左右留白：随屏宽流动，320px≈14px → 440px≈19px → 封顶 22px */
  :root { --devdiy-page-inline: clamp(14px, 4.2vw, 22px); }

  /* 区块纵向间距：小屏收紧、大屏放松（30~44px 行业舒适区） */
  .mpforge-section { padding-block: clamp(30px, 7.5vw, 44px); }

  /* 首屏：纵向节奏随屏高/宽流动，CTA 始终在首屏内 */
  .mpforge-section--hero { padding-block: clamp(34px, 10vw, 52px) clamp(30px, 8.5vw, 44px); }
  .mpforge-section--hero h1 {
    font-size: clamp(1.4rem, 4.6vw + 0.35rem, 1.7rem);
    line-height: 1.45;
  }
  .mpforge-hero__sub {
    font-size: clamp(0.875rem, 3.2vw + 0.15rem, 1rem);
    line-height: 1.8;
  }
  .mpforge-hero__actions { gap: clamp(0.55rem, 2vw, 0.75rem); }

  /* 标题字号连续缩放 */
  .mpforge-section__title { font-size: clamp(1.25rem, 4.6vw, 1.45rem); }
  .mpforge-page-title { font-size: clamp(1.35rem, 5.6vw, 1.65rem); }

  /* 卡片内边距：手机端统一呼吸感 */
  .mpforge-card { padding: 1.15rem 1.1rem; }

  /* 交互流畅度：消除点击延迟与字体自动调整 */
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  a, button, [role="button"] { touch-action: manipulation; }
}

/* —— 宽手机 / 折叠屏内屏（521~768px，如 Mate X6 内屏 717×781）：
      大屏不该还是挤单列，恢复多列网格与横排按钮 —— */
@media (min-width: 521px) and (max-width: 768px) {
  .mpforge-industry-grid { grid-template-columns: repeat(3, 1fr); gap: 0.9rem; }
  .mpforge-cover-grid--3,
  .mpforge-cover-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mpforge-hero__actions { flex-direction: row; justify-content: center; }
  .mpforge-hero__actions .mpforge-btn { width: auto; min-width: 9.5em; }
  .mpforge-section__title { font-size: 1.5rem; }
  .mpforge-entry { font-size: 1rem; }
}

/* —— 矮屏 / 方屏（Pura X 外屏 327×327、分屏半屏）：
      压缩纵向节奏，首屏一屏内看到标题+CTA；动效图层直接隐藏 —— */
@media (max-width: 768px) and (max-height: 520px) {
  .mpforge-section--hero { padding-block: 20px 18px; }
  .mpforge-section--hero h1 { font-size: 1.3rem; line-height: 1.35; margin: 0.4rem 0 0.5rem; }
  .mpforge-hero__sub { margin-bottom: 0.9rem; line-height: 1.7; }
  .mpforge-hero__actions { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5rem; }
  .mpforge-hero__actions .mpforge-btn { width: auto; padding: 0.6rem 1.1rem; min-height: 44px; }
  .mpforge-topbar { padding-block: 0.28rem; }
  .mpforge-hero__fx { display: none; }
  .mpforge-section { padding-block: 24px; }
}

/* —— 折叠屏内屏（≥700px 宽）行高与留白向桌面靠拢 —— */
@media (min-width: 700px) and (max-width: 768px) {
  .mpforge-shell, .mpforge-section__inner { padding-inline: 28px; }
  .mpforge-entry p { line-height: 1.9; }
}

/* —— 方屏补充：327×327 等极端矮屏下，让主 CTA 进入首屏 —— */
@media (max-width: 768px) and (max-height: 520px) {
  /* 底部 DEVDIY 品牌眉线与顶栏信息重复，矮屏隐藏，省出两行空间 */
  .mpforge-hero .mpforge-eyebrow:last-of-type { display: none; }
  .mpforge-hero__sub {
    font-size: 0.8125rem;
    line-height: 1.6;
    margin: 0 auto 0.7rem;
    max-width: 32em;
  }
  .mpforge-section--hero h1 { margin: 0.3rem 0 0.4rem; }
}

/* —— 方屏最终校正：.mpforge-section 通用规则在后会覆盖 hero 矮屏内边距，此处用双类名提高优先级 —— */
@media (max-width: 768px) and (max-height: 520px) {
  .mpforge-section.mpforge-section--hero { padding-block: 20px 16px; }
  .mpforge-section.mpforge-section--hero .mpforge-hero__sub { margin-bottom: 0.6rem; }
}

/* —— 方屏终版：327×327 等极端矮屏，副标题让位，标题+CTA 直达首屏 —— */
@media (max-width: 768px) and (max-height: 460px) {
  .mpforge-section--hero .mpforge-hero__sub { display: none; }
}

/* ============================================================
   封面卡片移动端优化（2026-10-24）
   问题：双列窄卡导致胶囊换行、标题 4 行、CTA 关键词文案占两行。
   方案：≤480px 单列放宽；CTA 长关键词视觉隐藏（SEO 锚文本保留）。
   ============================================================ */

/* cta-alt（"查看详情"）仅在移动端替代被隐藏的关键词时出现 */
.mpforge-cover-card__cta-alt { display: none; }

@media (max-width: 480px) {
  /* 单列：每张卡全宽，胶囊不再换行、标题最多 3 行内 */
  .mpforge-cover-grid--2,
  .mpforge-cover-grid--3,
  .mpforge-cover-grid--4 { grid-template-columns: 1fr; }

  .mpforge-cover-card { min-height: 190px; }
  .mpforge-cover-card__body { gap: 0.4rem; padding: 1.05rem 1.05rem 1.15rem; }

  /* 胶囊：缩小一号，保证"方案 + MPForge"同一行 */
  .mpforge-cover-card__chips { gap: 0.35rem; margin-bottom: 0; }
  .mpforge-cover-card__tag,
  .mpforge-cover-card__label {
    font-size: 0.7rem;
    padding: 0.16rem 0.5rem;
  }

  /* 文字层级：标题 1.125rem/1.4，摘要 13px，行距更舒展 */
  .mpforge-cover-card__title { font-size: 1.125rem; line-height: 1.4; }
  .mpforge-cover-card__excerpt { font-size: 0.8125rem; line-height: 1.6; }

  /* CTA：与摘要拉开分组间距；长关键词隐藏，只留"查看完整方案 →" */
  .mpforge-cover-card__cta { margin-top: 0.35rem; font-size: 0.875rem; }
  .mpforge-cover-card__cta-key { display: none; }
  .mpforge-cover-card__cta-alt { display: inline; }
}

/* 481~768px（宽手机/折叠屏内屏）：双列保留，只收紧文字与间距 */
@media (min-width: 481px) and (max-width: 768px) {
  .mpforge-cover-card__body { gap: 0.4rem; padding: 1.05rem 1.1rem 1.2rem; }
  .mpforge-cover-card__chips { gap: 0.35rem; margin-bottom: 0; }
  .mpforge-cover-card__title { font-size: 1.1rem; line-height: 1.4; }
  .mpforge-cover-card__excerpt { font-size: 0.8125rem; line-height: 1.6; }
  .mpforge-cover-card__cta { margin-top: 0.35rem; font-size: 0.8125rem; }
  .mpforge-cover-card__cta-key { display: none; }
  .mpforge-cover-card__cta-alt { display: inline; }
}

/* ============================================================
   Mobile typography pass — 整站手机端字阶统一（2026-10-24）
   行业基准：正文 15-16px ｜ H1 22-26px ｜ H2 19-21px ｜ H3 16-17px
   数字展示 20-24px ｜ 辅助信息 12-13px ｜ 层级差每档 2-3px
   ============================================================ */
@media (max-width: 768px) {
  /* —— 展示型数字：价格/统计/信任数据，从 24-28px 收敛到 20-24px —— */
  .mpforge-trust strong { font-size: 1.375rem; }        /* 22px */
  .mpforge-stats strong { font-size: 1.25rem; }         /* 20px */
  .mpforge-price { font-size: 1.5rem; }                 /* 24px */
  .mpforge-pricing-card__price { font-size: 1.5rem; }
  .mpforge-pricing-card__price span { font-size: 0.8125rem; }

  /* —— 内容标题层级：H2 21.6→19px，H3 兜底 17px —— */
  .mpforge-entry h2 { font-size: 1.1875rem; line-height: 1.5; }
  .mpforge-entry h3 { font-size: 1.0625rem; }

  /* —— 大标题：CTA 区 / 报价表单，收进 20-22px —— */
  .mpforge-cta-band__copy h2 { font-size: 1.375rem; line-height: 1.4; }
  .mpforge-lead-form h2 { font-size: 1.25rem; }         /* 浏览器默认 24px 过大 */

  /* —— 旧版 hero h1 兜底（非首页 hero 场景） —— */
  .mpforge-hero h1 { font-size: clamp(1.4rem, 5.5vw, 1.7rem); }

  /* —— 首页 hero 封面卡标题：22px 略大，收到 21px —— */
  .mpforge-cover-card--hero .mpforge-cover-card__title { font-size: 1.3125rem; }

  /* —— 页脚品牌与公司名 —— */
  .mpforge-footer__logo { font-size: 1.25rem; }
  .mpforge-footer__contact-name { font-size: 0.9375rem; }

  /* —— 头部 logo：481-768px 区间此前仍是桌面 33px —— */
  .mpforge-logo { font-size: 1.5rem; }
}
@media (max-width: 480px) {
  .mpforge-logo { font-size: 1.05rem; } /* 维持小屏既有值，覆盖上方 1.5rem */
}
