/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  ModelGain brand website child theme using Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.2
 Text Domain:  bricks
*/

/* Keep Bricks containers inside tablet and mobile viewports without
   changing the native editable layouts or breaking desktop max widths. */
@media (max-width: 1199px) {
  .brxe-container {
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
    padding-left: clamp(18px, 4vw, 30px) !important;
    padding-right: clamp(18px, 4vw, 30px) !important;
  }
}

@media (max-width: 800px) {
  .mg-feature-list,
  .mg-platform-panels,
  .mg-two-column {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .mg-summary-panel,
  .mg-platform-panel {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
}

@media (max-width: 478px) {
  .mg-wordmark { overflow-wrap: normal; }
  .mg-hero h1 { overflow-wrap: normal; }
}

/* ModelGain visual system.
 * WordPress/Bricks own editable structure; this is the single canonical CSS
 * for shared tokens, components and responsive behavior. Do not add per-page
 * styles or duplicate these selectors in Bricks page-level custom CSS.
 */
:root {
  --mg-ink: #142d30;
  --mg-deep: #102c2a;
  --mg-green: #21664d;
  --mg-mint: #beefd4;
  --mg-lime: #e5f4c6;
  --mg-paper: #f8faf5;
  --mg-cloud: #f0f4ef;
  --mg-line: #dbe5db;
  --mg-muted: #62746c;
  --mg-radius: 22px;
  --mg-shadow: 0 22px 80px rgba(27, 53, 42, .08);
  --mg-shell-max: 1180px;
  --mg-shell-gutter: clamp(18px, 3vw, 32px);
  --mg-section-space: clamp(60px, 7vw, 108px);
  --mg-card-space: clamp(20px, 3vw, 33px);
  --mg-grid-gap: clamp(15px, 2vw, 24px);
  --mg-card-border: #dce7da;
  --mg-card-surface: #fff;
}
html { scroll-behavior: smooth; }
body { background: var(--mg-paper); color: var(--mg-ink); -webkit-font-smoothing: antialiased; }
body h1, body h2, body h3 { text-wrap: balance; }
body a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
body a:focus-visible { outline: 3px solid #70b8a0; outline-offset: 4px; }
body .brxe-container { max-width: var(--mg-shell-max); }

/* Navigation */
body .mg-header { position: relative; z-index: 100; background: rgba(250,252,248,.97); border-bottom: 1px solid #e0e9e1; padding: 0 !important; }
body .mg-header-inner { max-width: var(--mg-shell-max); min-height: 86px; display: flex; flex-direction: row; gap: 28px; align-items: center; justify-content: space-between; }
body .mg-wordmark { display:inline-flex; flex-direction:row; width:max-content; align-items:baseline; gap:0; font-size: 28px; font-weight: 850; letter-spacing: -1.55px; color: var(--mg-ink); }
body .mg-wordmark>.brxe-text-basic { flex-shrink:0; }
body .mg-wordmark span { color: var(--mg-ink); }
body .mg-wordmark .mg-wordmark-dot { color: #3ea977 !important; }
body .mg-navigation { display:flex; gap: 33px; align-items: center; flex-wrap: nowrap !important; }
body .mg-navigation a { color: #42554b; font-weight: 670; font-size: 13px; }
body .mg-navigation a:hover { color: #16825e; }
body .mg-navigation .mg-nav-cta { color: #fff; background: #163b31; border: 1px solid #163b31; border-radius: 999px; padding: 12px 19px; }
body .mg-navigation .mg-nav-cta:hover { color: #142d30; background: var(--mg-mint); border-color: var(--mg-mint); transform: translateY(-1px); }

/* Shared type / buttons */
body .mg-section-index { color:#257351; font-size:11px; letter-spacing:2.2px; font-weight:800; line-height:1.6; margin:0 0 22px; }
body .mg-btn { display:inline-flex; justify-content:center; align-items:center; gap:35px; padding:16px 23px; border-radius:999px; border:1px solid transparent; font-size:14px; font-weight:800; line-height:1.1; text-decoration:none; white-space:nowrap; }
body .mg-btn-primary { background:#183f33 !important; color:#fff !important; }
body .mg-btn-primary:hover { background:#286a51 !important; color:#fff !important; transform:translateY(-2px); box-shadow:0 9px 24px rgba(22,59,49,.17); }
body .mg-btn-text, body .mg-inline-cta { display:inline-flex; align-items:center; gap:25px; font-size:14px; font-weight:750; text-decoration:none; color:var(--mg-ink); }
body .mg-btn-text:hover, body .mg-inline-cta:hover { color:#15805c; }
body .mg-btn-text span, body .mg-inline-cta span { font-size:19px; }

/* Homepage: editorial hero + clearly illustrative interface */
body .mg-hero { position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(circle at 75% 41%,#def0d8 0%,rgba(222,240,216,0) 41%),linear-gradient(135deg,#f7faf3 3%,#eef6eb 100%); color:var(--mg-ink); padding:104px 0 108px; }
body .mg-hero:before { content:""; position:absolute; width:600px; height:600px; left:-370px; top:-410px; border-radius:50%; border:110px solid rgba(93,151,114,.07); z-index:-1; }
body .mg-hero-layout { max-width:var(--mg-shell-max); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:7%; }
body .mg-hero-copy { min-width:0; }
body .mg-eyebrow { display:flex; align-items:center; flex-wrap:wrap; gap:11px; margin:0 0 31px; color:#45795c; font-size:11px; font-weight:850; letter-spacing:1.55px; }
body .mg-pulse { width:9px; height:9px; background:#51bd80; border-radius:50%; box-shadow:0 0 0 5px #d8eee0; display:inline-block; }
body .mg-eyebrow-separator { color:#b8cbbc; }
body .mg-hero h1 { font-size:clamp(55px,5.4vw,84px); line-height:1.07; letter-spacing:-4.6px; font-weight:830; color:#142d30; margin:0 0 32px; }
body .mg-hero-accent { color:#2a7956; }
body .mg-hero-description { font-size:18px; line-height:1.86; letter-spacing:-.12px; color:#526960; max-width:530px; margin:0 0 33px; }
body .mg-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:28px; }
body .mg-hero-footnote { display:flex; align-items:center; gap:17px; margin:56px 0 0; color:#7a9181; font-size:12px; }
body .mg-line-short { display:inline-block; width:30px; height:1px; background:#72967b; }
/* One reusable illustration layout owns its caption and callout. Both occupy
   normal grid tracks, never competing absolute-positioned space. */
body .mg-hero-visual {
  position:relative; min-width:0; padding:38px 10px 15px 16px;
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center;
  column-gap:clamp(16px,2vw,24px); row-gap:clamp(20px,2.4vw,30px);
}
body .mg-hero-halo { position:absolute; top:-11%; right:-18%; width:111%; height:104%; border-radius:50%; background:radial-gradient(circle,#c4ecca 10%,rgba(187,229,205,0) 68%); pointer-events:none; }
body .mg-demo-window { position:relative; grid-column:1/-1; grid-row:1; width:100%; overflow:hidden; background:#f9fcf9; box-shadow:0 35px 90px rgba(38,83,58,.16),0 3px 14px rgba(33,74,60,.08); border:1px solid #d2e4d3; border-radius:18px; transform:rotate(-2deg); }
body .mg-demo-top { background:#fff; padding:16px 20px; border-bottom:1px solid #e5eee5; display:flex; justify-content:space-between; align-items:center; gap:10px; }
body .mg-demo-brand { font-size:13px; letter-spacing:-.4px; color:#365148; font-weight:800; }
body .mg-demo-brand span { color:#2ca46d; }
body .mg-demo-status { color:#608b6b; font-size:9px; font-weight:800; letter-spacing:1px; }
body .mg-demo-status span { color:#56b882; }
body .mg-demo-content { display:grid; grid-template-columns:58px minmax(0,1fr); min-height:350px; }
body .mg-demo-sidebar { display:flex; align-items:center; gap:26px; flex-direction:column; padding:16px 0; background:#eff6f0; border-right:1px solid #e0e9de; }
body .mg-demo-mark { font-weight:900; font-size:19px; letter-spacing:-2px; color:#1b493b; }
body .mg-demo-mark span { color:#42b678; }
body .mg-demo-sidebar-line { width:22px; height:7px; border-radius:6px; background:#b8cbbd; }
body .mg-demo-sidebar-line.mg-selected { background:#3e946d; }
body .mg-demo-sidebar-dot { margin-top:auto; width:18px; height:18px; border-radius:50%; border:3px solid #a2c9b2; }
body .mg-demo-main { padding:30px 30px 20px; }
body .mg-demo-overline { color:#4e8a69; font-size:9px; letter-spacing:1.6px; font-weight:800; margin:0 0 13px; }
body .mg-demo-main h2 { font-size:25px; letter-spacing:-1px; line-height:1.22; font-weight:820; color:#173a32; margin:0 0 8px; }
body .mg-demo-desc { font-size:12px; color:#8b9f93; margin:0 0 24px; }
body .mg-demo-signal { background:#fff; border:1px solid #e4ede4; padding:11px 13px; border-radius:10px; display:flex; align-items:center; gap:12px; margin-bottom:10px; }
body .mg-demo-signal-icon { display:grid; place-items:center; color:#347c61; background:#e3f2e5; width:37px; height:37px; border-radius:8px; font-size:20px; }
body .mg-icon-purple { color:#68619a; background:#f0eefa; }
body .mg-icon-amber { color:#9e7a3e; background:#faf2df; }
body .mg-demo-signal>div { min-width:0; flex:1; display:flex; flex-direction:column; gap:3px; }
body .mg-demo-signal strong { color:#345249; font-size:12px; }
body .mg-demo-signal small { font-size:10px; color:#829488; }
body .mg-demo-chevron { color:#9bb3a3; font-size:16px; }
body .mg-demo-bottom { display:flex; justify-content:space-between; color:#539271; font-size:11px; font-weight:700; padding-top:5px; }
body .mg-floating-note { position:relative; z-index:2; grid-column:2; grid-row:2; justify-self:end; max-width:100%; display:flex; gap:13px; align-items:center; padding:16px 22px; background:#1c5040; box-shadow:0 16px 45px rgba(24,75,51,.2); border-radius:13px; color:#fff; transform:rotate(2deg); }
body .mg-floating-note>span { font-size:27px; color:#b8f1d0; }
body .mg-floating-note>div { display:flex; flex-direction:column; gap:4px; }
body .mg-floating-note strong { font-size:12px; }
body .mg-floating-note small { font-size:10px; color:#c5dfd0; }
body .mg-demo-caption { grid-column:1; grid-row:2; min-width:0; max-width:100%; margin:0; text-align:left; line-height:1.6; font-size:9px; font-weight:750; letter-spacing:1px; color:#87a28c; }

/* Proof without fabricated usage metrics */
body .mg-trust-bar { background:#173b31; padding:25px 0; }
body .mg-trust-inner { max-width:var(--mg-shell-max); display:flex; justify-content:space-between; gap:24px; align-items:center; }
body .mg-trust-inner>p { flex-shrink:0; color:#b6dfc2; font-weight:800; letter-spacing:1.5px; font-size:10px; margin:0; }
body .mg-trust-values { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:22px; color:#eefaf0; font-size:12px; font-weight:600; }
body .mg-trust-bullet { color:#82ba93; font-size:14px; }

/* Sections */
body .mg-section { padding:112px 0; }
body .mg-section>.brxe-container { max-width:var(--mg-shell-max); }
body .mg-section-header { display:flex; flex-direction:row; justify-content:space-between; align-items:end; gap:45px; margin:0 0 45px; }
body .mg-section-header h2, body .mg-principles-copy h2 { font-weight:820; font-size:clamp(43px,4.4vw,65px); letter-spacing:-2.8px; line-height:1.13; color:var(--mg-ink); margin:0; }
body .mg-section-header h2 em, body .mg-principles-copy h2 em { color:#2f7956; font-weight:790; font-style:normal; }
body .mg-section-aside { max-width:345px; }
body .mg-section-aside p { font-size:15px; line-height:1.85; color:#6c7e73; margin:0 0 19px; }
body .mg-section-aside a { color:#236a50; text-decoration:none; font-size:13px; font-weight:850; border-bottom:1px solid #a5c9b5; padding-bottom:8px; display:inline-flex; justify-content:space-between; gap:35px; }
body .mg-section-aside a:hover { color:#14916a; }
body .mg-products-section { background:#fafcf8; }
body .mg-products-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px; align-items:stretch; }
body .mg-product-card { display:flex; flex-direction:column; padding:18px; min-width:0; min-height:500px; background:#fff; border:1px solid #e0e8de; border-radius:20px; overflow:hidden; }
body .mg-product-card:hover { transform:translateY(-5px); box-shadow:var(--mg-shadow); border-color:#b0cdb9; }
body .mg-card-queue { background:#f9fcf8; }
body .mg-product-card-top { display:flex; justify-content:space-between; align-items:center; gap:8px; margin:0 2px 16px; color:#7b9080; font-size:10px; letter-spacing:1.2px; font-weight:800; }
body .mg-card-arrow { font-size:19px; color:#4f8064; letter-spacing:0; }
body .mg-product-illustration { height:172px; width:100%; border-radius:13px; position:relative; margin-bottom:25px; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; }
body .mg-illus-queue { background:linear-gradient(135deg,#e0f1e1,#c5e7d2); padding:20px 24px; gap:9px; align-items:stretch; }
body .mg-illus-badge { font-size:9px; color:#387652; letter-spacing:1px; font-weight:900; margin-bottom:2px; }
body .mg-illus-row { display:flex; align-items:center; padding:10px; border:1px solid #d5e6d5; background:#f7fcf7; gap:11px; border-radius:8px; box-shadow:0 2px 2px #d4ead5; }
body .mg-illus-dot { width:10px; height:10px; background:#80b598; border-radius:50%; }
/* Bricks drops empty formatting tags on import; decorative bars are native CSS. */
body .mg-illus-row::before { content:""; display:block; height:5px; width:50%; background:#c7d9c8; border-radius:8px; }
body .mg-illus-row::after { content:""; display:block; height:7px; width:18%; margin-left:auto; background:#b6d8b8; border-radius:8px; }
body .mg-illus-row:nth-child(3) .mg-illus-dot { background:#d4ad74; }
body .mg-illus-php { background:#e8e8f9; }
body .mg-php-symbol { color:#55588b; font-size:47px; font-weight:800; letter-spacing:-3px; transform:rotate(-8deg); }
body .mg-php-symbol span { color:#8589bb; }
body .mg-php-bars { margin-top:15px; display:flex; gap:7px; }
body .mg-php-bars span { height:6px; width:39px; border-radius:4px; background:#a8add7; }
body .mg-php-bars span:nth-child(2) { width:23px; background:#c4c8e9; }
body .mg-illus-index { background:#fcecd5; }
body .mg-index-symbol { font-size:71px; font-weight:700; color:#b08b55; line-height:1; text-shadow:5px 5px 0 #f5cf93; }
body .mg-index-path { display:flex; gap:7px; margin-top:12px; }
body .mg-index-path span { width:29px; height:5px; background:#d7ac6b; border-radius:5px; }
body .mg-index-path span:nth-child(2) { width:45px; }
body .mg-illus-links { background:#dfeeea; flex-direction:row; gap:0; }
body .mg-link-node { display:grid; place-items:center; width:60px; height:60px; border-radius:17px; border:1px solid #aaccc0; background:#f9fcf9; box-shadow:0 9px 0 #c7dfd6; color:#43836d; font-size:27px; font-weight:900; }
body .mg-link-node-last { background:#1d5f4c; border-color:#1d5f4c; color:#e8f7e6; }
body .mg-link-connector { width:48px; height:3px; border-top:3px dashed #72a893; }
body .mg-product-kicker { color:#4a926a; letter-spacing:1.5px; font-size:10px; font-weight:850; margin:0 0 10px; }
body .mg-product-card h3 { color:#17352d; font-size:20px; line-height:1.3; letter-spacing:-.6px; margin:0 0 13px; }
body .mg-product-card>p:not(.mg-product-kicker) { color:#687f70; font-size:13px; line-height:1.72; margin:0 0 22px; }
body .mg-product-card>a.mg-product-link { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; color:#235b47; border-top:1px solid #e0eadf; padding-top:17px; margin-top:auto; text-decoration:none; font-size:12px; font-weight:850; }
body .mg-product-card>a.mg-product-link:hover { color:#15966c; }
body .mg-product-card .mg-product-link span { font-size:17px; }
body .mg-products-footnote { font-size:12px; line-height:1.7; color:#82928a; margin:23px 0 0; }

/* Platforms */
body .mg-platform-section { background:#edf4ed; }
body .mg-platform-grid { display:grid !important; width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
body .mg-platform-card { min-width:0; min-height:352px; display:flex; flex-direction:column; padding:30px; border-radius:19px; border:1px solid #dbe7da; background:#fff; text-decoration:none; }
body .mg-platform-card:hover { transform:translateY(-4px); box-shadow:var(--mg-shadow); }
body .mg-platform-active { background:#1a4938; border-color:#1a4938; color:#fff; }
body .mg-platform-overline { display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; }
body .mg-platform-emoji { font-size:30px; color:#2d7956; font-weight:850; letter-spacing:-2px; }
body .mg-platform-active .mg-platform-emoji { color:#c8f5ce; }
body .mg-platform-status { color:#648472; border:1px solid #d4e3d6; border-radius:99px; padding:7px 10px; letter-spacing:1px; font-size:9px; font-weight:800; }
body .mg-platform-active .mg-platform-status { color:#c6eacd; border-color:#4f8565; }
body .mg-platform-card h3 { color:#17372f; font-size:33px; line-height:1.18; letter-spacing:-1.2px; margin:44px 0 16px; font-weight:800; }
body .mg-platform-active h3 { color:#fff; }
body .mg-platform-card p { color:#6c8073; font-size:14px; line-height:1.72; margin:0 0 22px; }
body .mg-platform-active p { color:#c4dfcc; }
body .mg-platform-card strong { display:flex; align-items:center; justify-content:space-between; margin-top:auto; border-top:1px solid #dce5d9; padding-top:19px; color:#27674c; font-size:13px; }
body .mg-platform-active strong { border-color:#4f7862; color:#c6f4d0; }
body .mg-platform-card strong span { font-size:18px; }

/* Philosophy */
body .mg-principles-section { background:#fafcf8; }
body .mg-principles-layout { display:grid; grid-template-columns:1fr 1.13fr; align-items:start; gap:13%; }
body .mg-principles-copy>p:not(.mg-section-index) { max-width:390px; line-height:1.88; font-size:16px; color:#64796c; margin:25px 0; }
body .mg-principles-copy .mg-inline-cta { border-bottom:1px solid #aacbb2; padding-bottom:9px; }
body .mg-principles-stack { display:flex; flex-direction:column; }
body .mg-principle { display:grid; grid-template-columns:35px 1fr 20px; gap:18px; align-items:start; padding:25px 0; border-bottom:1px solid #dfe8de; }
body .mg-principle:first-child { padding-top:0; }
body .mg-principle-number { color:#3b8c63; font-size:13px; font-weight:800; }
body .mg-principle h3 { color:#1e4035; font-size:21px; letter-spacing:-.6px; margin:0 0 9px; }
body .mg-principle p { color:#718376; font-size:14px; line-height:1.77; margin:0; }
body .mg-principle-deco { color:#8ba99a; }
body .mg-journal-strip { background:#dfecd9; padding:56px 0; }
body .mg-journal-inner { display:grid; grid-template-columns:55px 1fr auto; align-items:center; gap:30px; max-width:var(--mg-shell-max); }
body .mg-journal-icon { color:#2f805b; font-size:42px; }
body .mg-journal-inner .mg-section-index { margin-bottom:8px; }
body .mg-journal-inner h2 { color:#193b30; font-size:28px; letter-spacing:-.8px; margin:0 0 8px; }
body .mg-journal-inner p:not(.mg-section-index) { font-size:13px; color:#617966; margin:0; }
body .mg-journal-inner>a { display:flex; gap:22px; align-items:center; padding:15px 20px; border:1px solid #94b79e; border-radius:99px; font-size:13px; font-weight:750; text-decoration:none; color:#1c563b; }
body .mg-journal-inner>a:hover { background:#f7fcf5; }
body .mg-closing { background:#183d30; color:#fff; padding:86px 0; text-align:left; }
body .mg-closing-inner { max-width:var(--mg-shell-max); display:grid; grid-template-columns:1.1fr .7fr; align-items:end; gap:14%; }
body .mg-closing .mg-section-index { color:#a5d7ac; margin:0 0 16px; }
body .mg-closing h2 { font-size:clamp(48px,5vw,70px); line-height:1.12; letter-spacing:-3px; color:#fff; font-weight:800; margin:0; }
body .mg-closing h2 em { color:#ade8c3; font-style:normal; }
body .mg-closing-aside p { text-align:left; font-size:15px; line-height:1.85; color:#c7ddce; margin:0 0 25px; }
body .mg-closing .mg-btn-primary { background:#c9edc5 !important; color:#173c30 !important; }

/* All inner pages: typography, intentional whitespace and browseable surfaces */
body .mg-page-hero { position:relative; overflow:hidden; padding:108px 0 100px; background:radial-gradient(circle at 90% 20%,#d8efdb 0,rgba(216,239,219,0) 38%),linear-gradient(135deg,#edf4e8,#f7faf3); }
body .mg-page-hero:after { content:"M."; position:absolute; right:5%; top:7%; font-size:clamp(140px,20vw,310px); line-height:1; font-weight:900; letter-spacing:-28px; color:rgba(57,127,81,.055); pointer-events:none; }
body .mg-page-hero>.brxe-container { position:relative; z-index:1; max-width:var(--mg-shell-max); }
body .mg-page-eyebrow { display:inline-flex; align-items:center; color:#347f59; border:1px solid #b9d8c1; padding:8px 13px; background:#f2faf1; border-radius:99px; font-size:10px; letter-spacing:1.6px; margin:0 0 23px; }
body .mg-page-hero h1 { max-width:880px; font-size:clamp(45px,5vw,72px); line-height:1.1; letter-spacing:-3.2px; font-weight:820; color:#17382f; }
body .mg-page-lead { max-width:740px; color:#6a7f6f; font-size:18px; line-height:1.85; }
body .mg-page-body { background:#fbfcf9; padding:85px 0 116px; }
body .mg-page-body>.brxe-container { max-width:var(--mg-shell-max); }
body .mg-page-body h2 { color:#193e32; font-size:clamp(30px,3vw,43px); letter-spacing:-1.1px; }
body .mg-page-body p { color:#617469; }
body .mg-page-body a { color:#196949; }
body .mg-page-body a:hover { color:#0a996b; }
body .mg-page-kicker { color:#3b8661; letter-spacing:1.8px; font-size:11px; }
body .mg-feature-list, body .mg-platform-panels, body .mg-two-column { display:grid !important; width:100%; min-width:0; }
body .mg-feature-list, body .mg-platform-panels { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
body .mg-two-column { grid-template-columns:1.2fr .8fr; gap:60px; }
body .mg-summary-panel, body .mg-platform-panel, body .mg-empty-state { background:#fff; border:1px solid #dce7dc; border-radius:21px; padding:36px; box-shadow:0 15px 45px rgba(22,75,43,.04); }
body .mg-platform-panel { min-height:225px; }
body .mg-summary-panel h3, body .mg-platform-panel h3 { color:#1a4332; }
body .mg-page-cta { background:#184735; color:#fff !important; border-radius:99px; padding:16px 26px; }
body .mg-page-cta:hover { background:#257553; color:#fff !important; transform:translateY(-2px); }
body .mg-info-note { border-color:#d7e6d6; border-radius:15px; background:#edf6ea; }
body .mg-info-note strong { color:#286749; }
body .mg-link-row a { border-bottom:1px solid #9fc6ab; padding-bottom:7px; }
body .mg-product-preview { display:flex; flex-direction:column; gap:10px; margin:25px 0 35px; padding:28px; border:1px solid #d8e6d9; background:linear-gradient(130deg,#eff7ec,#d9ebdf); border-radius:18px; }
body .mg-product-preview>p { color:#548468; margin:0 0 5px; font-size:10px; letter-spacing:1.4px; font-weight:800; }
body .mg-preview-row { background:#fff; border:1px solid #e1ebdf; border-radius:10px; padding:15px; display:flex; align-items:center; gap:14px; justify-content:space-between; color:#305845; font-size:13px; font-weight:700; }
body .mg-preview-row span { display:flex; align-items:center; gap:12px; }
body .mg-preview-row span:before { content:""; display:inline-block; width:9px; height:9px; border-radius:50%; background:#7bb68f; }
body .mg-preview-row small { color:#83a08b; font-size:11px; }
body .mg-preview-note { color:#879d8e; font-size:10px; font-weight:500; letter-spacing:.3px; }

/* Footer */
body .mg-footer { background:#102c29; padding:78px 0 26px; }
body .mg-footer-inner { display:grid !important; width:100%; max-width:var(--mg-shell-max); grid-template-columns:2fr repeat(3,minmax(0,1fr)); gap:50px; padding-bottom:65px; }
body .mg-footer-brand { font-size:31px; letter-spacing:-1.7px; }
body .mg-footer-links p { color:#dff5e1; font-size:12px; letter-spacing:.3px; }
body .mg-footer-links a { color:#aecbc0; font-size:13px; }
body .mg-footer-links a:hover { color:#c0f3cf; }
body .mg-footer-bottom { display:flex !important; max-width:var(--mg-shell-max); border-color:#34554b; }
/* The consent manager's semantics and fail-closed loading remain in its MU
   plugin; this only trims its first-visit visual footprint on small screens. */
@media(max-width:600px) {
  body #modelgain-analytics-banner { max-width:370px; padding:15px 17px; border-radius:13px; }
  body #modelgain-analytics-banner strong { font-size:14px; margin-bottom:6px; }
  body #modelgain-analytics-banner p { font-size:12px; line-height:1.55; margin-bottom:7px; }
  body #modelgain-analytics-banner .modelgain-consent-actions { margin-top:12px; }
  body #modelgain-analytics-banner .modelgain-consent-actions button { font-size:12px; padding:9px 13px; }
}

@media(max-width:1100px) {
  body .mg-products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body .mg-product-card { min-height:470px; }
  body .mg-hero-layout { gap:4%; }
  body .mg-hero h1 { font-size:clamp(51px,5.6vw,74px); }
}
@media(max-width:850px) {
  body .mg-header-inner { min-height:76px; flex-direction:row !important; align-items:center !important; }
  body .mg-navigation { gap:15px; }
  body .mg-hero { padding:80px 0; }
  body .mg-hero-layout { grid-template-columns:minmax(0,1fr); gap:36px; }
  body .mg-hero-copy { max-width:610px; }
  body .mg-hero-visual { width:min(100%,590px); margin:auto; }
  body .mg-hero h1 { font-size:clamp(58px,8vw,78px); }
  body .mg-trust-inner { flex-direction:column; align-items:flex-start; }
  body .mg-trust-values { justify-content:flex-start; }
  body .mg-section { padding:80px 0; }
  body .mg-principles-layout { grid-template-columns:minmax(0,1fr); gap:55px; }
  body .mg-footer-inner { gap:32px; }
}
@media(max-width:680px) {
  body .mg-header { padding:0; }
  body .mg-header-inner { position:relative; flex-direction:column !important; align-items:stretch !important; gap:0; padding-top:14px !important; padding-bottom:0 !important; }
  body .mg-wordmark { align-self:flex-start; margin-bottom:12px; font-size:26px; }
  body .mg-navigation { display:flex; width:100%; min-width:0; overflow-x:auto; white-space:nowrap; flex-wrap:nowrap !important; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid #e7eee7; padding:13px 0 15px; scrollbar-width:none; }
  body .mg-navigation>a { flex:0 0 auto; }
  body .mg-navigation::-webkit-scrollbar { display:none; }
  body .mg-navigation a { font-size:12px; }
  body .mg-navigation .mg-nav-cta { position:absolute; right:18px; top:14px; padding:8px 13px; font-size:11px; }
  body .mg-hero { padding:62px 0 70px; }
  body .mg-hero h1 { font-size:clamp(47px,9vw,65px); letter-spacing:-2.8px; }
  body .mg-hero-description { font-size:16px; line-height:1.8; }
  body .mg-hero-footnote { margin-top:33px; }
  body .mg-hero-visual { padding:15px 0; }
  body .mg-hero-visual { row-gap:16px; }
  body .mg-floating-note { padding:12px; }
  body .mg-demo-content { min-height:310px; grid-template-columns:43px 1fr; }
  body .mg-demo-top { padding:11px 12px; }
  body .mg-demo-main { padding:18px 15px 16px; }
  body .mg-demo-main h2 { font-size:19px; }
  body .mg-demo-signal { padding:10px; }
  body .mg-demo-signal small { font-size:9px; }
  body .mg-demo-signal-icon { width:28px; height:28px; font-size:14px; }
  body .mg-demo-caption { grid-column:1/-1; grid-row:3; font-size:8px; }
  body .mg-trust-values { gap:12px; }
  body .mg-trust-bullet { display:none; }
  body .mg-trust-values span:not(.mg-trust-bullet) { border:1px solid #49715a; border-radius:99px; padding:6px 9px; font-size:10px; }
  body .mg-section { padding:66px 0; }
  body .mg-section-header { flex-direction:column; align-items:start; gap:23px; margin-bottom:30px; }
  body .mg-section-header h2,body .mg-principles-copy h2 { font-size:clamp(39px,9vw,53px); letter-spacing:-1.8px; }
  body .mg-section-aside { max-width:100%; }
  body .mg-products-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
  body .mg-product-card { min-height:0; padding:18px; }
  body .mg-product-illustration { height:182px; }
  body .mg-product-card h3 { font-size:22px; }
  body .mg-platform-grid { grid-template-columns:minmax(0,1fr); }
  body .mg-platform-card { min-height:310px; }
  body .mg-platform-card h3 { margin-top:35px; }
  body .mg-journal-inner { grid-template-columns:1fr; gap:13px; }
  body .mg-journal-inner>a { justify-self:start; margin-top:15px; }
  body .mg-closing-inner { grid-template-columns:1fr; gap:27px; }
  body .mg-closing { padding:72px 0; }
  body .mg-closing h2 { font-size:53px; }
  body .mg-page-hero { padding:70px 0 65px; }
  body .mg-page-hero h1 { font-size:clamp(41px,10vw,53px); letter-spacing:-1.8px; }
  body .mg-page-lead { font-size:16px; }
  body .mg-page-body { padding:55px 0 85px; }
  body .mg-feature-list, body .mg-platform-panels, body .mg-two-column { display:grid !important; grid-template-columns:minmax(0,1fr) !important; }
  body .mg-summary-panel,body .mg-platform-panel { padding:25px; }
  body .mg-footer { padding-top:54px; }
  body .mg-footer-inner { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 18px; }
  body .mg-footer-lead { grid-column:1/-1; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  body a { transition:none; }
  body .mg-product-card:hover,body .mg-platform-card:hover,body .mg-btn:hover { transform:none; }
}

/* Editorial knowledge base (WordPress-native article content and categories).
   The <main> layout is provided by the child theme's scoped PHP templates.
   Never override the Bricks global header/footer or site-level page templates. */

body .mg-blog { color:var(--mg-ink); background:#fafcf8; min-height:65vh; }
body .mg-blog .brxe-container { max-width:var(--mg-shell-max); }
body .mg-blog a:focus-visible { outline:3px solid #64ac81; outline-offset:4px; }
body .mg-blog-hero { position:relative; padding:96px 0 85px; overflow:hidden; background:radial-gradient(circle at 89% 20%, #d4ebd5 0%,transparent 47%),linear-gradient(130deg,#f4f9ef,#eef5ec); border-bottom:1px solid #e0e9dc; }
body .mg-blog-hero:before { position:absolute; content:"M."; top:0; right:4%; color:rgba(36,124,70,.052); font-size:clamp(140px,20vw,300px); font-weight:900; line-height:1; letter-spacing:-25px; pointer-events:none; }
body .mg-blog-hero-inner { position:relative; z-index:1; }
body .mg-blog-eyebrow { display:flex; gap:16px; align-items:center; color:#28764d; font-size:11px; font-weight:850; letter-spacing:2px; margin:0 0 22px; }
body .mg-blog-hero h1 { font-size:clamp(48px,5.7vw,78px); max-width:950px; font-weight:840; letter-spacing:-3.8px; line-height:1.08; color:#183a2e; margin:0 0 25px; }
body .mg-blog-hero h1 em { font-style:normal; color:#3d8a5e; }
body .mg-blog-lead { max-width:710px; color:#5d7564; font-size:18px; line-height:1.85; margin:0; }
body .mg-blog-topics { display:flex; flex-wrap:wrap; align-items:center; gap:11px; margin-top:39px; }
body .mg-topic-chip { display:inline-flex; align-items:center; gap:10px; color:#2f664a; border:1px solid #bad7c0; background:#f7fbf5; padding:10px 15px; border-radius:100px; font-size:12px; font-weight:750; text-decoration:none; }
body .mg-topic-chip:hover { background:#e0f0df; }
body .mg-topic-chip.is-current { background:#20543b; border-color:#20543b; color:#fff; }
body .mg-blog-listing { padding:75px 0 110px; background:#fbfcf9; }
body .mg-blog-section-heading { display:flex; justify-content:space-between; gap:35px; align-items:end; margin:0 0 32px; }
body .mg-blog-section-heading h2 { font-size:clamp(32px,3.4vw,47px); letter-spacing:-1.7px; line-height:1.14; color:#1a4031; margin:0; }
body .mg-blog-section-heading>p { margin:0; max-width:330px; color:#6b8270; font-size:14px; line-height:1.8; }
body .mg-blog-section-label { margin:0 0 11px; color:#41835b; font-size:10px; font-weight:850; letter-spacing:1.8px; line-height:1.5; }
body .mg-article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:21px; }
body .mg-article-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid #dce7dc; background:#fff; border-radius:20px; }
body .mg-article-card:hover { border-color:#a7c7ad; box-shadow:0 17px 45px rgba(19,76,49,.08); transform:translateY(-3px); }
body .mg-article-card-image { position:relative; display:block; height:220px; overflow:hidden; background:#e6f3e9; text-decoration:none; }
/* One category cover renders identically in Bricks post loops and native
   category archives. Editorial featured-image sizes never affect card art. */
body .mg-article-card-image>.brxe-shortcode {display:block; width:100%; height:100%;}
body .mg-cover {--cover-bg:#dfeee6;--cover-ink:#185c48;--cover-highlight:#b9dccc;position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:space-between; width:100%; height:100%; min-width:0; padding:clamp(17px,2vw,25px); overflow:hidden; background:radial-gradient(circle at 82% 7%,var(--cover-highlight) 0,transparent 44%),linear-gradient(132deg,#f5f9f4,var(--cover-bg)); color:var(--cover-ink); }
body .mg-cover::before {content:""; position:absolute; z-index:-1; right:-92px; top:-115px; width:330px; height:330px; border:1px solid currentColor; border-radius:50%; opacity:.12; box-shadow:0 0 0 42px rgba(255,255,255,.08),0 0 0 86px rgba(255,255,255,.12);}
body .mg-cover::after {content:""; position:absolute; z-index:-1; left:-75px; bottom:-125px; width:220px; height:220px; border:1px solid currentColor; border-radius:50%; opacity:.08;}
body .mg-cover--wordpress {--cover-bg:#dcebe4;--cover-ink:#225b54;--cover-highlight:#afd9c5;}
body .mg-cover--android {--cover-bg:#e5f3d7;--cover-ink:#386544;--cover-highlight:#c3e8ac;}
body .mg-cover--streaming {--cover-bg:#e7ecf7;--cover-ink:#3b547f;--cover-highlight:#cbd6f3;}
body .mg-cover--developer {--cover-bg:#f0eae0;--cover-ink:#776044;--cover-highlight:#e5d3b4;}
body .mg-cover--modelgain {--cover-bg:#e5f1e5;--cover-ink:#2c684a;--cover-highlight:#c5e3cf;}
body .mg-cover__header,body .mg-cover__footer {display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:9px; line-height:1.2; font-weight:850; letter-spacing:1.2px; opacity:.76; white-space:nowrap;}
body .mg-cover__header i {font-style:normal; margin:0 3px; opacity:.55;}
body .mg-cover__header-mark {font-size:14px; font-weight:900; letter-spacing:-1px; opacity:.85;}
body .mg-cover__body {display:flex; flex-direction:row; gap:clamp(12px,1.5vw,21px); align-items:center; min-width:0; position:relative; z-index:1;}
body .mg-cover__icon {display:flex; align-items:center; justify-content:center; flex:none; width:clamp(66px,6vw,91px); aspect-ratio:1; padding:13px; border-radius:24px; background:rgba(255,255,255,.68); border:1px solid rgba(255,255,255,.9); box-shadow:0 14px 35px rgba(31,66,51,.07); transition:transform .25s ease;}
body .mg-cover__icon img {display:block; width:100%; height:100%; object-fit:contain;}
body .mg-article-card:hover .mg-cover__icon {transform:translateY(-4px) rotate(-3deg);}
body .mg-cover__identity {display:flex; flex-direction:column; min-width:0; gap:7px;}
body .mg-cover__identity strong {font-size:clamp(20px,2.2vw,29px); font-weight:830; line-height:1.1; letter-spacing:-.8px; overflow-wrap:normal;}
body .mg-cover__identity small {font-size:9px; line-height:1.4; letter-spacing:1px; font-weight:850; opacity:.7;}
body .mg-cover__footer {font-size:8px; letter-spacing:1.25px; opacity:.7;}
body .mg-cover__footer-line {flex:1; height:1px; background:currentColor; opacity:.26;}
body .mg-cover__a11y-title {position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important;}
body .mg-article-card-body { display:flex; flex-direction:column; flex:1; padding:26px; gap:0; }
body .mg-article-card-meta { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:17px; color:#6b8170; font-size:10px; font-weight:750; letter-spacing:.35px; }
body .mg-article-card-meta>span { text-transform:uppercase; color:#36794f; letter-spacing:1px; }
body .mg-article-card h2 { font-size:22px; font-weight:800; line-height:1.35; letter-spacing:-.65px; margin:0 0 15px; }
body .mg-article-card h2 a { text-decoration:none; color:#183c30; }
body .mg-article-card h2 a:hover { color:#15815a; }
/* Shared editorial grid: the leading story gets an editorial composition,
   while all additional cards inherit the same global card component. */
@media (min-width:951px) {
  body .mg-article-grid>.mg-article-card:first-child {grid-column:span 2; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); min-height:330px;}
  body .mg-article-grid>.mg-article-card:first-child .mg-article-card-image {height:100%; min-height:330px;}
  body .mg-article-grid>.mg-article-card:first-child .mg-article-card-body {padding:clamp(26px,3vw,42px);}
  body .mg-article-grid>.mg-article-card:first-child h2 {font-size:clamp(23px,2.3vw,32px); line-height:1.22; letter-spacing:-1px;}
}
body .mg-article-card-body>p { font-size:14px; line-height:1.78; color:#697f70; margin:0 0 25px; }
body .mg-article-read { display:flex; justify-content:space-between; align-items:center; gap:15px; border-top:1px solid #e2e9e0; color:#256749; margin-top:auto; padding-top:19px; text-decoration:none; font-size:13px; font-weight:800; }
body .mg-article-read span { font-size:18px; }
body .mg-blog-empty { border:1px solid #d5e4d7; background:#fff; padding:45px; border-radius:20px; }
body .mg-blog-empty h2 { font-size:27px; }
body .mg-blog-empty p { font-size:16px; color:#678071; }
/* Pagination belongs to the shared editorial surface, not Bricks defaults.
   Style both the native Bricks Pagination element and WP category archives. */
body .mg-pagination {display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px; margin-top:clamp(35px,4vw,56px); padding-top:25px; border-top:1px solid var(--mg-line);}
body .mg-pagination-hint {margin:0; font-size:11px; font-weight:850; letter-spacing:1.3px; text-transform:uppercase; color:var(--mg-muted);}
body .mg-pagination .brxe-pagination {width:auto; margin:0; min-width:0;}
body .mg-pagination .bricks-pagination,body .mg-pagination .navigation.pagination {width:auto; margin:0; padding:0;}
body .mg-pagination .bricks-pagination ul.page-numbers,body .mg-pagination .nav-links {display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:flex-end; list-style:none; gap:8px; margin:0; padding:0;}
body .mg-pagination .bricks-pagination ul.page-numbers > li {margin:0; padding:0; list-style:none;}
body .mg-pagination .bricks-pagination ul.page-numbers > li > :is(a,span),body .mg-pagination .nav-links > :is(a,span) {display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:10px 15px; border:1px solid var(--mg-line); border-radius:12px; background:#fff; color:var(--mg-deep); text-decoration:none; font-size:13px; font-weight:760; line-height:1.15; transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease;}
body .mg-pagination :is(.bricks-pagination ul.page-numbers > li,.nav-links) > a:hover {background:var(--mg-cloud); border-color:#a5c9b5; color:var(--mg-green); box-shadow:0 5px 15px rgba(24,63,44,.07);}
body .mg-pagination :is(.bricks-pagination ul.page-numbers > li,.nav-links) > a:focus-visible {outline:3px solid #70b8a0; outline-offset:3px;}
body .mg-pagination .bricks-pagination ul.page-numbers > li > .current,body .mg-pagination .nav-links > .current {background:var(--mg-deep); border-color:var(--mg-deep); color:#fff; box-shadow:0 8px 22px rgba(19,67,46,.12);}
body .mg-pagination .bricks-pagination ul.page-numbers > li > :is(.next,.prev),body .mg-pagination .nav-links > :is(.next,.prev) {min-width:54px; background:#e7f3e8; border-color:#d7eadb; color:var(--mg-green); font-size:17px;}
@media(max-width:620px) {body .mg-pagination {justify-content:center; gap:16px;}body .mg-pagination-hint {width:100%; text-align:center;}body .mg-pagination .bricks-pagination ul.page-numbers,body .mg-pagination .nav-links {justify-content:center;}}
body .mg-blog-end { background:#194131; color:#fff; padding:58px 0; }
body .mg-blog-end-inner { display:flex; align-items:center; justify-content:space-between; gap:35px; }
body .mg-blog-end h2 { color:#fff; font-size:clamp(27px,2.7vw,37px); line-height:1.25; letter-spacing:-1px; margin:0; }
body .mg-blog-end .mg-blog-section-label { color:#a4dabc; }
body .mg-blog-end a { color:#193c2e; background:#c5edc8; border-radius:100px; text-decoration:none; font-size:13px; font-weight:800; padding:15px 22px; white-space:nowrap; }
body .mg-blog-back { display:inline-flex; margin-top:29px; text-decoration:none; color:#22694b; font-size:14px; font-weight:750; }
body .mg-blog-topic-hero { padding:85px 0 70px; }

/* Article reading, readable width and semantic content */
body .mg-reading-top { background:radial-gradient(circle at 100% 0,#d8eedc,transparent 50%),#f0f7ef; padding:69px 0 72px; border-bottom:1px solid #dfeadd; }
body .mg-reading-top .brxe-container { max-width:var(--mg-shell-max); }
body .mg-article-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:0 0 38px; color:#749077; font-size:12px; }
body .mg-article-breadcrumb a { color:#377959; text-decoration:none; font-weight:700; }
body .mg-reading-top h1 { max-width:920px; color:#163b2e; font-size:clamp(44px,5.1vw,74px); line-height:1.12; letter-spacing:-3.1px; font-weight:850; margin:0 0 26px; }
body .mg-reading-deck { max-width:760px; font-size:19px; color:#637b69; line-height:1.76; margin:0 0 26px; }
body .mg-reading-byline { display:flex; align-items:center; flex-wrap:wrap; gap:12px; color:#5d816a; font-size:12px; font-weight:650; margin-top:25px; }
body .mg-reading-byline-dot { width:4px; height:4px; border-radius:50%; background:#9db7a2; }
body .mg-reading-layout { display:grid; grid-template-columns:minmax(0,750px) minmax(0,270px); gap:min(7vw,85px); align-items:start; padding-top:67px; padding-bottom:110px; }
body .mg-reading-main { min-width:0; }
body .mg-reading-cover { border-radius:17px; overflow:hidden; margin-bottom:36px; }
body .mg-reading-cover img { width:100%; height:auto; }
body .mg-article-prose { font-size:17px; line-height:1.85; color:#415c4e; overflow-wrap:anywhere; }
body .mg-article-prose p { margin:0 0 25px; }
body .mg-article-prose h2 { margin:54px 0 19px; color:#183f30; font-size:clamp(27px,3vw,34px); line-height:1.26; letter-spacing:-.9px; }
body .mg-article-prose h3 { margin:34px 0 14px; font-size:23px; line-height:1.3; color:#214d38; }
body .mg-article-prose ul,body .mg-article-prose ol { margin:0 0 25px; padding-left:25px; }
body .mg-article-prose li { margin:0 0 9px; }
body .mg-article-prose a { color:#126c48; text-underline-offset:3px; text-decoration-thickness:1px; }
body .mg-article-prose a:hover { color:#109365; }
body .mg-article-prose blockquote { margin:30px 0; padding:22px 25px; border-left:4px solid #398c60; background:#edf6ec; border-radius:0 12px 12px 0; }
body .mg-article-prose blockquote p { margin:0; }
body .mg-article-prose pre { max-width:100%; overflow-x:auto; padding:21px 23px; background:#17382f; color:#ddf3e5; border-radius:13px; line-height:1.7; font-size:14px; }
body .mg-article-prose code { background:#e9f3e9; color:#1e664a; border-radius:4px; padding:2px 5px; font-size:.86em; }
body .mg-article-prose pre code { background:transparent; color:inherit; padding:0; font-size:inherit; }
body .mg-article-prose .wp-block-table { overflow-x:auto; margin:28px 0; }
body .mg-article-prose table { min-width:540px; border-collapse:collapse; width:100%; font-size:14px; line-height:1.6; }
body .mg-article-prose td,body .mg-article-prose th { border:1px solid #d9e6da; padding:13px 15px; text-align:left; }
body .mg-article-prose th { background:#eaf3e8; color:#22513b; }
body .mg-article-prose img { max-width:100%; height:auto; border-radius:12px; }
body .mg-article-prose .wp-block-image { margin:25px 0 35px; }
body .mg-article-prose figcaption { font-size:12px; color:#788e7b; text-align:center; margin:9px 0; }
body .mg-reading-endnote { margin:54px 0 18px; padding:22px 25px; background:#ecf3e8; border-radius:12px; color:#5b7461; font-size:13px; line-height:1.8; }
body .mg-reading-aside { position:sticky; top:35px; padding:31px 27px; background:#eff6ee; border:1px solid #dce9d9; border-radius:19px; }
body .mg-reading-aside h2 { font-size:28px; line-height:1.24; color:#194431; margin:0 0 16px; }
body .mg-reading-aside p:not(.mg-blog-section-label) { font-size:13px; color:#6b8471; line-height:1.75; margin:0 0 22px; }
body .mg-reading-aside a { display:block; border-top:1px solid #d8e5d6; padding:15px 0 0; margin:13px 0 0; color:#206243; font-size:13px; font-weight:750; text-decoration:none; }

@media(max-width:950px) {
  body .mg-article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body .mg-reading-layout { grid-template-columns:minmax(0,1fr); gap:35px; }
  body .mg-reading-aside { position:static; }
}
@media(max-width:620px) {
  body .mg-blog-hero { padding:64px 0 61px; }
  body .mg-blog-hero h1 { font-size:clamp(43px,10vw,56px); letter-spacing:-2px; }
  body .mg-blog-lead { font-size:16px; line-height:1.8; }
  body .mg-blog-topics { gap:8px; margin-top:29px; }
  body .mg-topic-chip { font-size:11px; padding:9px 12px; }
  body .mg-blog-listing { padding:57px 0 75px; }
  body .mg-blog-section-heading { align-items:flex-start; flex-direction:column; gap:13px; }
  body .mg-article-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
  body .mg-article-card-image { height:195px; }
  body .mg-article-card-body { padding:23px; }
  body .mg-article-card h2 { font-size:23px; }
  body .mg-blog-end-inner { align-items:flex-start; flex-direction:column; gap:24px; }
  body .mg-reading-top { padding:45px 0 55px; }
  body .mg-article-breadcrumb { margin:0 0 27px; }
  body .mg-reading-top h1 { font-size:clamp(36px,9.2vw,52px); letter-spacing:-1.65px; }
  body .mg-reading-deck { font-size:16px; }
  body .mg-reading-layout { padding-top:44px; padding-bottom:75px; }
  body .mg-article-prose { font-size:16px; }
  body .mg-article-prose pre { font-size:12px; padding:16px; }
  body .mg-article-prose table { min-width:460px; }
}

/* ModelGain shared layout system: product catalog, detail templates, and standard pages.
 * All reusable presentation lives in this one child-theme stylesheet.
 * Do not add per-page CSS for new posts or product pages.
 */
body .mg-standard-page {background:var(--mg-paper,#f8faf5); color:var(--mg-ink,#17372e);}
body .mg-standard-page .brxe-container {width:100%; max-width:var(--mg-shell-max);}
body .mg-standard-page .mg-page-hero {padding:clamp(78px,8vw,116px) 0 clamp(75px,7vw,102px);}
body .mg-standard-page .mg-page-body {padding:var(--mg-section-space) 0;}
body .mg-standard-page .mg-page-body>.brxe-container {display:block!important;}
body .mg-standard-page .mg-page-hero h1 {max-width:950px;}

/* Products & WordPress share one listing renderer and one card class family. */
body .mg-collection-heading {
  display:flex; width:100%; justify-content:space-between;
  align-items:flex-end; gap:48px; margin-bottom:35px;
}
body .mg-collection-heading>div {min-width:0; flex:1; max-width:750px;}
body .mg-collection-heading .mg-section-index {margin:0 0 14px;}
body .mg-collection-heading h2 {
  color:var(--mg-ink,#17372e); font-size:clamp(38px,4.5vw,59px);
  font-weight:820; letter-spacing:-2.4px; line-height:1.13; margin:0 0 18px;
}
body .mg-collection-heading h2 em {font-style:normal; color:var(--mg-green,#21664d);}
body .mg-collection-heading p:not(.mg-section-index) {
  font-size:15px; line-height:1.85; max-width:640px; color:#6b8070; margin:0;
}
body .mg-collection-heading .mg-collection-guide-link {
  display:inline-flex; flex:0 0 auto; align-items:center;
  gap:22px; font-size:13px; font-weight:800; color:#226849;
  padding-bottom:9px; border-bottom:1px solid #b3d4b8; text-decoration:none;
}
body .mg-collection-heading .mg-collection-guide-link:hover {color:#15865b;}
body .mg-collection-filters {
  display:flex; width:100%; align-items:center; flex-wrap:wrap;
  gap:11px; padding:19px 0; margin:0 0 26px; border-bottom:1px solid #e2ebe0;
}
body .mg-collection-filters>a {
  display:inline-flex; align-items:center; border-radius:999px;
  padding:10px 18px; border:1px solid #d4e4d5; text-decoration:none;
  background:#fff; color:#355d44; font-size:13px; font-weight:750;
}
body .mg-collection-filters>a[aria-current=page] {color:#fff; background:#20543c; border-color:#20543c;}
body .mg-collection-filters>a:hover:not([aria-current=page]) {background:#e5f2e6; color:#1d714d;}
body .mg-collection-filter-aside {margin-left:auto; font-size:12px; color:#778b79; font-weight:650;}

body .mg-catalog-grid {
  display:grid!important; width:100%; min-width:0;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--mg-grid-gap); align-items:stretch;
}
body .mg-catalog-card {
  min-width:0; display:flex; flex-direction:column; overflow:hidden;
  border:1px solid var(--mg-card-border); border-radius:22px;
  background:var(--mg-card-surface); transition:border-color .2s, box-shadow .2s, transform .2s;
}
body .mg-catalog-card:hover {
  border-color:#accfb6; box-shadow:0 15px 42px rgba(19,64,39,.09); transform:translateY(-3px);
}
body .mg-catalog-card-visual {
  display:grid; position:relative; place-items:center; width:100%; height:220px;
  overflow:hidden; text-decoration:none; background:linear-gradient(130deg,#e4f2e4,#cee6d5);
  border-bottom:1px solid #deebe0;
}
body .mg-catalog-card-visual.mg-platform-shopify {background:linear-gradient(130deg,#eaf4d8,#dbeecf);}
body .mg-catalog-card-visual.mg-platform-android {background:linear-gradient(130deg,#e0eff5,#d3e2f0);}
body .mg-catalog-card-visual.mg-platform-other {background:linear-gradient(130deg,#eee9f6,#dddbea);}
body .mg-catalog-card-visual .mg-product-image {width:100%; height:100%; object-fit:cover;}
body .mg-catalog-art {
  position:relative; display:flex; flex-direction:column; justify-content:center;
  width:min(74%,355px); height:150px; gap:13px;
  padding:21px 27px; background:rgba(255,255,255,.8); border:1px solid rgba(255,255,255,.9);
  border-radius:14px; transform:rotate(-3deg); box-shadow:0 14px 35px rgba(27,86,50,.08);
}
body .mg-catalog-art-brand {color:#1b5c40; font-size:21px; font-weight:850; letter-spacing:-1.5px;}
body .mg-catalog-art-brand>span {color:#42ae7b;}
body .mg-catalog-art-line {display:block; height:8px; max-width:70%; border-radius:99px; background:#d1e6d4;}
body .mg-catalog-art-line:nth-of-type(2) {max-width:86%;}
body .mg-catalog-art-line:nth-of-type(3) {max-width:50%;}
body .mg-catalog-art-square {
  position:absolute; right:-18px; bottom:-17px; display:grid; place-items:center;
  width:58px; height:55px; font-size:27px; font-weight:700;
  color:#e7f8e9; background:#2f7757; border-radius:12px; transform:rotate(3deg);
}
body .mg-catalog-art-caption {
  position:absolute; left:23px; bottom:16px; color:#58836b;
  font-size:10px; font-weight:820; letter-spacing:1.45px;
}
body .mg-catalog-card-content {
  display:flex; flex-direction:column; align-items:stretch; flex:1; min-width:0;
  padding:var(--mg-card-space);
}
body .mg-catalog-meta {
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap;
  gap:10px; margin-bottom:19px;
}
body .mg-catalog-meta>span:first-child {
  color:#478460; font-size:10px; letter-spacing:1.12px; line-height:1.6; font-weight:850;
  text-transform:uppercase;
}
body .mg-catalog-status {
  display:inline-flex; background:#f1f4ee; color:#7d8d7a;
  border-radius:100px; padding:6px 10px; font-size:10px; font-weight:780;
  letter-spacing:.4px;
}
body .mg-catalog-status.is-live {background:#e4f2e3; color:#26734d;}
body .mg-catalog-card-content h2 {
  color:#173b2c; font-size:clamp(23px,2.4vw,29px); line-height:1.28;
  font-weight:825; letter-spacing:-.95px; margin:0 0 13px;
}
body .mg-catalog-card-content h2>a {text-decoration:none; color:inherit;}
body .mg-catalog-card-content h2>a:hover {color:#168458;}
body .mg-catalog-card-content>p {
  color:#667a6b; font-size:14px; line-height:1.8; margin:0 0 27px;
}
body .mg-catalog-card-link {
  display:flex; justify-content:space-between; gap:18px; margin-top:auto;
  padding-top:19px; border-top:1px solid #e2e9e0;
  color:#28674a; text-decoration:none; font-size:13px; font-weight:850;
}
body .mg-catalog-card-link>span {font-size:18px; flex-shrink:0;}
body .mg-catalog-card-link:hover {color:#108059;}

/* Shared informative module reused on catalog pages; prevents fragile loose
 * links/paragraphs placed as separate Bricks siblings. */
body .mg-collection-next {
  display:grid!important; grid-template-columns:minmax(0,1fr) auto;
  align-items:center; width:100%; min-width:0; gap:45px;
  padding:38px 42px; margin-top:67px; border:1px solid #d5e5d3;
  border-radius:20px; background:#eaf3e7;
}
body .mg-collection-next .mg-section-index {margin:0 0 9px;}
body .mg-collection-next h2 {
  color:#1b4933; font-size:clamp(25px,3vw,34px); font-weight:810;
  line-height:1.25; letter-spacing:-1px; margin:0 0 13px;
}
body .mg-collection-next p:not(.mg-section-index) {
  font-size:14px; line-height:1.8; color:#687c69; margin:0; max-width:660px;
}
body .mg-collection-next-links {display:flex; flex-direction:column; gap:11px; width:215px;}
body .mg-collection-next-links a {
  display:flex; justify-content:space-between; align-items:center;
  text-decoration:none; font-size:13px; font-weight:780; color:#29634a;
  border:1px solid #d1e4d0; border-radius:10px; background:#fff; padding:13px 16px;
}
body .mg-collection-next-links a:hover {color:#116b49; border-color:#9dc6a3;}
body .mg-collection-empty {
  width:100%; padding:45px; border:1px solid #dce9db; border-radius:18px; background:#fff;
}
body .mg-collection-empty h2 {font-size:25px;}
body .mg-default-document {width:100%; max-width:820px; min-height:110px;}
body .mg-standard-page .mg-product-preview {min-width:0;}

@media(max-width:900px) {
  body .mg-collection-heading {align-items:flex-start; flex-direction:column; gap:20px;}
  body .mg-collection-next {grid-template-columns:minmax(0,1fr); gap:22px;}
  body .mg-collection-next-links {flex-direction:row; width:auto; flex-wrap:wrap;}
}
@media(max-width:620px) {
  body .mg-standard-page .mg-page-hero {padding:66px 0;}
  body .mg-collection-heading h2 {font-size:clamp(36px,9vw,46px); letter-spacing:-1.5px;}
  body .mg-collection-filters {gap:7px; padding:13px 0;}
  body .mg-collection-filters>a {padding:9px 13px; font-size:12px;}
  body .mg-collection-filter-aside {font-size:11px;}
  body .mg-catalog-grid {grid-template-columns:minmax(0,1fr); gap:18px;}
  body .mg-catalog-card-visual {height:184px;}
  body .mg-catalog-card-content h2 {font-size:23px;}
  body .mg-collection-next {padding:26px 24px; margin-top:50px; gap:20px;}
  body .mg-collection-next-links {flex-direction:column;}
}
@media(prefers-reduced-motion:reduce) {
  body .mg-catalog-card {transition:none;}
  body .mg-catalog-card:hover {transform:none;}
}

/* Product detail system, October 19: isolated from the global product directory.
   Structural layout is authored as editable native Bricks Div/Heading/Text/Link
   elements by content/pages.py. All four public plugin details share the same
   component hierarchy and explicit breakpoints. */
body .mg-page-body .mg-detail-intro,
body .mg-page-body .mg-detail-capabilities,
body .mg-page-body .mg-detail-limit-section,
body .mg-page-body .mg-detail-install-panel,
body .mg-page-body .mg-detail-followup {
  width:100%;
  min-width:0;
}
body .mg-page-body .mg-detail-kicker {
  display:block; margin:0 0 15px; font-size:11px; line-height:1.5;
  color:#367e59; font-weight:850; letter-spacing:1.75px;
}
body .mg-page-body .mg-detail-overview {
  display:grid !important; width:100%; min-width:0;
  grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  align-items:stretch; gap:24px;
}
body .mg-page-body .mg-detail-summary {
  display:flex; flex-direction:column; justify-content:center;
  min-width:0; width:100%; padding:48px 45px;
  background:#fff; border:1px solid #d9e7d9; border-radius:21px;
  box-shadow:0 14px 35px rgba(22,73,43,.035);
}
body .mg-page-body .mg-detail-summary-label {
  color:#2a845c; font-size:11px; font-weight:850; letter-spacing:1.45px;
  text-transform:uppercase; margin:0 0 17px;
}
body .mg-page-body .mg-detail-summary h2 {
  font-size:clamp(29px,3vw,41px); font-weight:820; letter-spacing:-1.5px;
  line-height:1.18; margin:0 0 22px; color:#194433;
}
body .mg-page-body .mg-detail-summary>p:not(.mg-detail-summary-label) {
  max-width:520px; color:#63796a; font-size:16px; line-height:1.85;
  margin:0 0 27px;
}
body .mg-page-body .mg-detail-tags {
  display:flex !important; flex-direction:row; flex-wrap:wrap; align-items:center;
  gap:9px; width:100%; margin-top:4px;
}
body .mg-page-body .mg-detail-tags span {
  display:inline-block; flex:0 0 auto; border:1px solid #d5e7d7;
  background:#f0f7ef; color:#4a7457; border-radius:30px;
  padding:8px 12px; font-size:11px; line-height:1.3; font-weight:740;
}
body .mg-page-body .mg-detail-intro .mg-product-preview {
  margin:0 !important; width:100% !important; max-width:none !important;
  min-width:0; min-height:340px; justify-content:center;
  padding:35px 34px; border:1px solid #d3e6d5; border-radius:21px;
  background:linear-gradient(138deg,#e8f5e7,#d4e9dc);
}
body .mg-page-body .mg-detail-intro .mg-product-preview>p {
  margin:0 0 19px; color:#4e8366; font-size:10px; font-weight:850;
  letter-spacing:1.55px; line-height:1.6;
}
body .mg-page-body .mg-detail-intro .mg-preview-row {
  display:flex; justify-content:space-between; align-items:center; gap:13px;
  width:100%; min-height:54px; padding:13px 16px; margin:0 0 9px;
  background:#fff; border:1px solid #dce9de; border-radius:11px;
  box-shadow:0 4px 14px rgba(24,92,49,.035);
}
body .mg-page-body .mg-detail-intro .mg-preview-row>span {
  min-width:0; color:#2d5842; font-size:13px; font-weight:700;
}
body .mg-page-body .mg-detail-intro .mg-preview-row small {
  white-space:nowrap; font-size:10px; letter-spacing:.4px; color:#578b68;
}
body .mg-page-body .mg-detail-intro .mg-preview-note {
  color:#6f927a; font-size:10px; font-weight:600; letter-spacing:0;
  line-height:1.55; padding-top:6px;
}
body .mg-page-body .mg-detail-capabilities { margin-top:92px; }
body .mg-page-body .mg-detail-section-heading { margin:0 0 29px; }
body .mg-page-body .mg-detail-section-heading h2 {
  font-size:clamp(31px,3.5vw,45px); font-weight:820; line-height:1.17;
  letter-spacing:-1.7px; color:#183f30; margin:0 0 14px;
}
body .mg-page-body .mg-detail-section-heading>p:not(.mg-detail-kicker) {
  font-size:15px; line-height:1.8; margin:0; color:#708475; max-width:710px;
}
body .mg-page-body .mg-detail-feature-grid {
  display:grid !important; width:100%; gap:17px;
  grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch;
}
body .mg-page-body .mg-detail-feature {
  display:flex; flex-direction:row; align-items:flex-start; gap:21px;
  min-width:0; min-height:116px; padding:29px 28px;
  background:#fff; border:1px solid #dce8dd; border-radius:15px;
}
body .mg-page-body .mg-detail-feature-number {
  flex:0 0 auto; display:grid; place-items:center; width:38px; height:38px;
  background:#e8f5e8; color:#2f875b; border-radius:10px;
  font-size:13px; font-weight:850; letter-spacing:.25px;
}
body .mg-page-body .mg-detail-feature>p {
  flex:1; min-width:0; margin:4px 0 0; font-size:15px; font-weight:690;
  color:#2b5141; line-height:1.65;
}
body .mg-page-body .mg-detail-limit-section {
  margin-top:92px; padding-top:64px; border-top:1px solid #e0e9df;
}
body .mg-page-body .mg-detail-limit-card {
  display:flex; align-items:flex-start; flex-direction:row; gap:22px;
  width:100%; min-width:0; padding:32px 36px;
  border:1px solid #d6e6d4; background:#eaf4e7; border-radius:17px;
}
body .mg-page-body .mg-detail-limit-mark {
  flex:0 0 auto; display:grid; place-items:center; width:41px; height:41px;
  background:#d2e7d2; color:#267047; font-family:Georgia,serif;
  font-weight:bold; font-style:italic; font-size:25px; border-radius:50%;
}
body .mg-page-body .mg-detail-limit-copy { flex:1; min-width:0; }
body .mg-page-body .mg-detail-limit-copy h3 {
  color:#204e37; font-size:20px; font-weight:820; line-height:1.35;
  letter-spacing:-.45px; margin:0 0 11px;
}
body .mg-page-body .mg-detail-limit-copy p {
  color:#526e5c; font-size:15px; line-height:1.85; margin:0; max-width:870px;
}
body .mg-page-body .mg-detail-install-panel {
  display:grid !important; grid-template-columns:minmax(0,1fr) auto;
  align-items:center; gap:48px; padding:43px 45px; margin-top:70px;
  border-radius:22px; background:#194633; color:#fff;
  box-shadow:0 22px 55px rgba(20,72,41,.11);
}
body .mg-page-body .mg-detail-install-kicker {
  color:#afe2b7; letter-spacing:1.8px; font-size:11px;
  line-height:1.5; font-weight:850; margin:0 0 15px;
}
body .mg-page-body .mg-detail-install-copy h2 {
  color:#fff; letter-spacing:-1.55px; font-size:clamp(27px,2.8vw,36px);
  font-weight:820; line-height:1.23; margin:0 0 15px;
}
body .mg-page-body .mg-detail-install-copy>p:not(.mg-detail-install-kicker) {
  color:#c5dfca; font-size:14px; line-height:1.8; margin:0; max-width:640px;
}
body .mg-page-body .mg-detail-install-actions {
  display:flex; flex-direction:column; align-items:flex-start;
  justify-content:center; gap:12px; min-width:225px;
}
body .mg-page-body a.mg-detail-install-button {
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  border:1px solid #c4edc5; border-radius:100px;
  background:#c5eec9; color:#164833; padding:17px 21px;
  font-size:14px; font-weight:850; text-decoration:none; white-space:nowrap;
  width:100%; max-width:none;
}
body .mg-page-body a.mg-detail-install-button:hover {
  background:#effdee; border-color:#effdee; color:#123d28;
  transform:translateY(-2px); box-shadow:0 7px 25px rgba(0,0,0,.09);
}
body .mg-page-body a.mg-detail-install-button span { font-size:17px; }
body .mg-page-body .mg-detail-install-actions>p {
  color:#b6d3bd; font-size:11px; line-height:1.65;
  font-weight:550; margin:0 0 0 4px;
}
body .mg-page-body .mg-detail-followup {
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch; gap:14px; margin-top:27px;
}
body .mg-page-body .mg-detail-followup>a {
  display:flex; align-items:center; justify-content:space-between;
  min-width:0; gap:16px; padding:19px 20px;
  background:#fff; color:#245b42; border:1px solid #dde9dd;
  border-radius:13px; text-decoration:none; font-size:13px;
  font-weight:780; line-height:1.45;
}
body .mg-page-body .mg-detail-followup>a:hover {
  border-color:#9bc9a7; color:#177148; background:#f0f8f0;
}
body .mg-page-body .mg-detail-followup>a span { flex:0 0 auto; font-size:17px; }

@media(max-width:900px) {
  body .mg-page-body .mg-detail-overview { grid-template-columns:minmax(0,1fr); }
  body .mg-page-body .mg-detail-summary { padding:36px 35px; }
  body .mg-page-body .mg-detail-intro .mg-product-preview { min-height:0; }
  body .mg-page-body .mg-detail-install-panel { grid-template-columns:minmax(0,1fr); gap:27px; }
  body .mg-page-body .mg-detail-install-actions { min-width:0; max-width:380px; }
  body .mg-page-body .mg-detail-followup { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  body .mg-page-body .mg-detail-summary { padding:27px 24px; border-radius:16px; }
  body .mg-page-body .mg-detail-summary h2 { font-size:29px; }
  body .mg-page-body .mg-detail-summary>p:not(.mg-detail-summary-label) { font-size:14px; line-height:1.8; }
  body .mg-page-body .mg-detail-tags { gap:7px; }
  body .mg-page-body .mg-detail-tags span { padding:7px 10px; font-size:10px; }
  body .mg-page-body .mg-detail-intro .mg-product-preview { padding:24px 20px; border-radius:16px; }
  body .mg-page-body .mg-detail-capabilities { margin-top:62px; }
  body .mg-page-body .mg-detail-section-heading h2 { font-size:31px; letter-spacing:-1px; }
  body .mg-page-body .mg-detail-feature-grid { grid-template-columns:minmax(0,1fr); gap:11px; }
  body .mg-page-body .mg-detail-feature { gap:14px; min-height:0; padding:19px 18px; }
  body .mg-page-body .mg-detail-feature>p { margin:3px 0 0; font-size:14px; }
  body .mg-page-body .mg-detail-limit-section { margin-top:60px; padding-top:48px; }
  body .mg-page-body .mg-detail-limit-card { gap:14px; padding:23px 19px; border-radius:15px; }
  body .mg-page-body .mg-detail-limit-mark { width:29px; height:29px; font-size:19px; }
  body .mg-page-body .mg-detail-limit-copy h3 { font-size:17px; }
  body .mg-page-body .mg-detail-limit-copy p { font-size:14px; line-height:1.77; }
  body .mg-page-body .mg-detail-install-panel { padding:29px 23px; border-radius:17px; gap:22px; margin-top:55px; }
  body .mg-page-body .mg-detail-install-copy h2 { font-size:29px; }
  body .mg-page-body .mg-detail-install-copy>p:not(.mg-detail-install-kicker) { font-size:13px; }
  body .mg-page-body .mg-detail-install-actions { width:100%; max-width:none; }
  body .mg-page-body a.mg-detail-install-button { white-space:normal; gap:10px; }
  body .mg-page-body .mg-detail-followup { grid-template-columns:minmax(0,1fr); gap:10px; margin-top:17px; }
  body .mg-page-body .mg-detail-followup>a { padding:16px 18px; }
}

/* Reusable professional-service shell for Products child Pages.
   Content remains native WP editor HTML. One global stylesheet owns layout. */
body .mg-service-hero .mg-service-hero-grid {display:grid; grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr); gap:clamp(36px,5vw,70px); align-items:center;}
body .mg-service-hero .mg-page-hero:after {pointer-events:none;}
body .mg-service-hero h1 {font-size:clamp(44px,5vw,69px); letter-spacing:-2.8px;}
body .mg-service-hero .mg-page-lead {font-size:17px; line-height:1.8; max-width:680px;}
body .mg-service-actions {display:flex; flex-wrap:wrap; gap:25px; align-items:center; margin-top:30px;}
body .mg-service-actions .mg-btn-primary, body .mg-service-bottom-cta .mg-btn-primary {gap:15px; text-decoration:none; text-align:center;}
body .mg-service-footnote {margin:26px 0 0; font-size:12px; color:#6c8374;}
body .mg-service-hero-art {position:relative; background:#fff; padding:19px; border:1px solid #cedfd1; border-radius:23px; box-shadow:0 26px 75px rgba(25,78,48,.13); transform:rotate(-1deg); min-width:0;}
body .mg-service-art-top {display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 7px 18px; color:#496f55; font-size:10px; font-weight:800; letter-spacing:1px;}
body .mg-service-art-top span {font-size:9px; color:#6b9380; text-align:right;}
body .mg-service-art-preview {background:linear-gradient(125deg,#e1f1df,#f2f8ed); border:1px solid #dce9dc; border-radius:13px; padding:32px 29px 27px; min-height:286px; display:flex; flex-direction:column; align-items:flex-start; gap:10px;}
body .mg-service-art-preview>span {color:#2a7651; font-size:9px; font-weight:900; letter-spacing:1.6px;}
body .mg-service-art-preview>b {color:#1a4735; font-size:clamp(25px,3vw,42px); line-height:1.2; letter-spacing:-1.7px; margin:23px 0 9px;}
body .mg-service-art-preview>.brxe-text-basic:nth-child(2) {color:#1a4735; font-size:clamp(25px,3vw,42px); font-weight:800; line-height:1.2; letter-spacing:-1.7px; margin:23px 0 9px;}
body .mg-service-art-preview>p {font-size:12px; line-height:1.7; color:#4f7a5c; margin:10px 0 0; max-width:280px;}
body .mg-service-art-preview>i {display:block; background:#b2d2bd; border-radius:12px; width:80%; height:8px;}
body .mg-service-art-preview>i:last-child {width:45%;}
body .mg-service-art-columns {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:12px;}
body .mg-service-art-columns>span {border:1px solid #deeadc; background:#f7faf5; border-radius:9px; padding:15px 8px; text-align:center; color:#5c836a; font-size:9px; font-weight:850; letter-spacing:.5px;}
body .mg-service-hero-art>p {font-size:10px; color:#90a49a; text-align:center; margin:13px 0 0;}
body .mg-service-jump-wrapper {background:#fff; border-top:1px solid #e2e9df; border-bottom:1px solid #e2e9df;}
/* The Bricks container defaults to column direction: override it explicitly for navigation. */
body .mg-service-jump {display:flex; flex-direction:row; flex-wrap:wrap; justify-content:flex-start; align-items:center; gap:clamp(8px,1.3vw,18px); padding-top:12px; padding-bottom:12px;}
body .mg-service-jump a {display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:10px 14px; border-radius:10px; font-size:13px; font-weight:760; line-height:1.3; color:#2f6c4d; text-decoration:none; transition:background-color .15s ease,color .15s ease;}
body .mg-service-jump a:hover,body .mg-service-jump a:focus-visible {color:#116540; background:#eef6ee;}
body .mg-service-jump a:focus-visible {outline:2px solid #187950; outline-offset:2px;}
body .mg-service-jump a:last-child {margin-left:auto; background:#eaf4eb; color:#194f39;}
body .mg-service-jump a:last-child:hover,body .mg-service-jump a:last-child:focus-visible {background:#d6ead9;}
body .mg-service-content {padding-top:75px;}
body .mg-service-document {font-size:16px;}
body .mg-service-block {scroll-margin-top:26px; margin:0 0 clamp(70px,7vw,105px);}
body .mg-service-block .mg-section-index {margin:0 0 18px;}
body .mg-service-block>h2 {font-size:clamp(32px,3.9vw,48px); max-width:880px; margin:0 0 22px; line-height:1.17; letter-spacing:-1.6px;}
body .mg-service-block>p {max-width:880px; font-size:16px; line-height:1.85; color:#617669;}
body .mg-service-proof {background:#e7f3e5; border-left:4px solid #39835d; border-radius:0 15px 15px 0; padding:27px 31px; margin:34px 0 0; max-width:960px;}
body .mg-service-proof>strong {color:#1d6043; font-size:14px;}
body .mg-service-proof p {margin:8px 0 0; font-size:15px; line-height:1.8;}
body .mg-service-card-grid {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:33px;}
body .mg-service-card {min-width:0; background:#fff; border:1px solid var(--mg-card-border); border-radius:20px; padding:29px; box-shadow:0 5px 26px rgba(29,70,44,.035);}
body .mg-service-card>span {color:#39845b; font-size:10px; letter-spacing:1.4px; font-weight:850;}
body .mg-service-card h3 {color:#183f30; margin:28px 0 13px; font-size:22px; line-height:1.3; letter-spacing:-.6px;}
body .mg-service-card p {margin:0; font-size:14px; line-height:1.83; color:#62796a;}
body .mg-service-card p+p {margin-top:19px; padding-top:17px; border-top:1px solid var(--mg-line); font-size:12px; line-height:1.6; color:#2f7554; font-weight:700;}
body .mg-service-stack-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; margin-top:34px;}
body .mg-service-stack-panel {min-width:0; background:#f0f6ee; border:1px solid #d9e8da; border-radius:16px; padding:27px 30px;}
body .mg-service-stack-panel h3 {font-size:21px; margin:0 0 12px;}
body .mg-service-stack-panel p {font-size:15px; line-height:1.9; margin:0 0 13px;}
body .mg-service-stack-panel small, body .mg-service-caveat {color:#798f7e; font-size:12px; line-height:1.65;}
body .mg-service-steps {list-style:none; counter-reset:mgsteps; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:30px 0;}
body .mg-service-steps > :is(li,.mg-service-step) {counter-increment:mgsteps; position:relative; min-width:0; background:#fff; border:1px solid #e0e9dc; border-radius:16px; padding:29px 28px 27px 73px;}
body .mg-service-steps > :is(li,.mg-service-step):before {content:counter(mgsteps,decimal-leading-zero); position:absolute; left:25px; top:28px; color:#2e8056; font-size:15px; font-weight:850;}
body .mg-service-steps > :is(li,.mg-service-step)>strong, body .mg-service-step>.brxe-text-basic:first-child {color:#184b37; font-size:18px; font-weight:760;}
body .mg-service-steps > :is(li,.mg-service-step) p,body .mg-service-step>.brxe-text-basic:not(:first-child) {font-size:14px; line-height:1.78; margin:10px 0 0;}
body .mg-service-deliverables {border:1px solid #b6d9c3; border-radius:16px; padding:27px 30px; background:#e8f4e9;}
body .mg-service-deliverables h3 {margin:0 0 8px; font-size:20px;}
body .mg-service-deliverables p {margin:0; font-size:14px; line-height:1.8;}
body .mg-service-faq {margin-top:30px; border-top:1px solid #dbe8dc; max-width:1000px;}
body .mg-service-faq details {border-bottom:1px solid #dbe8dc; padding:0;}
body .mg-service-faq summary {position:relative; cursor:pointer; padding:25px 35px 25px 0; font-size:17px; font-weight:760; color:#204933; list-style:none;}
body .mg-service-faq summary::-webkit-details-marker {display:none;}
body .mg-service-faq summary:after {content:"+"; position:absolute; right:9px; top:22px; color:#3f825d; font-size:25px;}
body .mg-service-faq details[open] summary:after {content:"−";}
body .mg-service-faq details>p {font-size:15px; max-width:860px; line-height:1.85; padding:0 33px 22px 0; margin:0;}
/* Reusable service FAQ panel: fewer, more substantive questions than a long accordion. */
body .mg-service-faq-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:30px;}
body .mg-service-faq-panel {min-width:0; background:#fff; border:1px solid var(--mg-card-border); border-radius:18px; padding:clamp(23px,3vw,34px);}
body .mg-service-faq-panel h3 {margin:0 0 12px; color:var(--mg-deep); font-size:21px; line-height:1.35; letter-spacing:-.5px;}
body .mg-service-faq-panel p {margin:0; color:var(--mg-muted); font-size:14px; line-height:1.82;}
body .mg-service-bottom-cta {display:flex; justify-content:space-between; align-items:center; gap:35px; background:#194334; border-radius:23px; padding:clamp(29px,5vw,58px); margin:15px 0 45px;}
body .mg-service-bottom-cta .mg-section-index {color:#b3e5c6;}
body .mg-service-bottom-cta h2 {color:#fff; font-size:clamp(28px,3.4vw,42px); line-height:1.2; margin:0 0 13px;}
body .mg-service-bottom-cta p:not(.mg-section-index) {color:#c8e2d0; font-size:14px; max-width:670px; margin:0; line-height:1.8;}
body .mg-service-bottom-cta .mg-btn-primary {flex-shrink:0; background:#d9f4d9!important; color:#153b2e!important;}
body .mg-service-bottom-cta .mg-btn-primary:hover {background:#fff!important; color:#143b2b!important;}
@media(max-width:990px) {
  body .mg-service-hero .mg-service-hero-grid {grid-template-columns:minmax(0,1fr);}
  body .mg-service-hero-art {max-width:650px; transform:none;}
  body .mg-service-card-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  body .mg-service-bottom-cta {flex-direction:column; align-items:flex-start;}
}
@media(max-width:620px) {
  body .mg-service-hero h1 {font-size:clamp(39px,10vw,55px); letter-spacing:-1.8px;}
  body .mg-service-actions {align-items:flex-start; flex-direction:column; gap:20px;}
  body .mg-service-actions .mg-btn {white-space:normal; line-height:1.4;}
  body .mg-service-hero-art {padding:10px;}
  body .mg-service-art-top {font-size:8px;}
  body .mg-service-art-preview {min-height:220px; padding:25px 20px;}
  body .mg-service-art-preview>b {font-size:29px;}
  body .mg-service-art-columns>span {font-size:8px; padding:11px 5px;}
  body .mg-service-jump {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding-top:11px; padding-bottom:11px;}
  body .mg-service-jump a {width:100%; min-width:0; padding:11px 8px; font-size:12px; background:#f4f8f3;}
  body .mg-service-jump a:last-child {grid-column:1/-1; margin-left:0;}
  body .mg-service-card-grid,body .mg-service-stack-grid,body .mg-service-steps {grid-template-columns:minmax(0,1fr);}
  body .mg-service-card,body .mg-service-stack-panel {padding:24px;}
  body .mg-service-proof {padding:22px;}
  body .mg-service-steps > :is(li,.mg-service-step) {padding:24px 20px 23px 62px;}
  body .mg-service-steps > :is(li,.mg-service-step):before {left:20px; top:25px;}
  body .mg-service-faq-grid {grid-template-columns:minmax(0,1fr);}
  body .mg-service-faq summary {font-size:15px;}
  body .mg-service-bottom-cta {border-radius:17px;}
  body .mg-service-bottom-cta .mg-btn-primary {white-space:normal;}
}
