/* ═══════════════════════════════════════════════════════════════
   Muncly Theme — Core Stylesheet
   Matches reference: muncly_header_desktop_mobile.html
   ═══════════════════════════════════════════════════════════════ */

/* ─── Design Tokens ─────────────────────────────────────────── */
:root {
    --mn-forest:         #213D36;
    --mn-forest-deep:    #192E28;
    --mn-forest-darkest: #14261F;
    --mn-forest-mid:     #243F38;
    --mn-forest-light: #2E5248;
    --mn-sage:         #325E55;
    --mn-moss:         #2A4A44;
    --mn-dropdown:     #1E3C34;
    --mn-drawer:       #1A3530;
    --mn-linen:        #DED5BE;
    --mn-orange:       #E8440A;
    --mn-orange-hover: #C93A08;
    --mn-linen-warm: #F4ECD8;  /* body text on glass cards, warmer than linen */
    --mn-linen-soft: #FFCDB8;  /* warm accent, pain-side header */
    --mn-orange-soft: #F0A881;  /* link accent on dark */
    --mn-white:        #FFFFFF;
    --mn-black:        #1A1A1A;

    --mn-font-display: 'Newsreader', Georgia, serif;
    --mn-font-body:    'DM Sans', system-ui, -apple-system, sans-serif;

    --mn-container: 1280px;
    --mn-gutter:    24px;

    --mn-radius-sm:   4px;
    --mn-radius-md:   7px;
    --mn-radius-lg:   10px;
    --mn-radius-xl:   16px;
    --mn-radius-full: 9999px;
}

/* ─── Utility ──────────────────────────────────────────────── */
.mn-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

/* ─── Liquid Glass — Shared Card Surface ───────────────────── */
/* Frosted-glass with mouse-reactive BORDER glow (edges only).
   JS sets --mx / --my on mousemove.
   ::before uses mask-composite to reveal glow only at the border strip.
   ::after is a specular sheen across the top.                       */
.mn-blog-card,
.mn-hp-challenge-card,
.mn-hp-testi-bubble,
.mn-ss-step-card,
.mn-ss-compare-side,
.mn-stepA-card,
.mn-ss-fit-col,
.mn-about-team-card,
.mn-ca-prob-tile,
.mn-ca-aud-step,
.mn-ca-aud-journey,
.mn-ca-rcv-card,
.mn-ca-proc-tile,
.mn-ca-pat-tile,
.mn-ca-fit-good,
.mn-wtf-feature-card,
.mn-wtf-testi-card {
    --mx: -999px;
    --my: -999px;
    background:
        linear-gradient(
            170deg,
            rgba(222,213,190,.10) 0%,
            rgba(222,213,190,.04) 30%,
            transparent 55%
        ),
        linear-gradient(145deg,
            rgba(47,90,72,.92) 0%,
            rgba(36,62,53,.88) 55%,
            rgba(28,51,41,.85) 100%
        );
    border: 1px solid rgba(222,213,190,.14);
    border-top-color: rgba(222,213,190,.26);
    border-left-color: rgba(222,213,190,.20);
    box-shadow:
        inset 0  1px 0 0 rgba(222,213,190,.12),
        inset 1px 0  0 0 rgba(222,213,190,.06),
        0 2px 8px rgba(0,0,0,.18);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    position: relative;
}

/* Mouse-reactive BORDER glow — only the edge strip lights up.
   mask-composite: exclude punches out the card interior so the
   radial gradient is visible only in the 1px border zone.          */
.mn-blog-card::before,
.mn-hp-challenge-card::before,
.mn-hp-testi-bubble::before,
.mn-ss-step-card::before,
.mn-ss-compare-side::before,
.mn-stepA-card::before,
.mn-ss-fit-col::before,
.mn-about-team-card::before,
.mn-wtf-feature-card::before,
.mn-wtf-testi-card::before {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    padding: 1px;
    background: radial-gradient(
        350px circle at var(--mx) var(--my),
        rgba(222,213,190,.45) 0%,
        rgba(222,213,190,.12) 30%,
        transparent 55%
    );
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    mask-composite: exclude;
    opacity: 0;
    transition: opacity .4s ease;
    pointer-events: none;
    z-index: 3;
}
.mn-blog-card:hover::before,
.mn-hp-challenge-card:hover::before,
.mn-hp-testi-bubble:hover::before,
.mn-ss-step-card:hover::before,
.mn-ss-compare-side:hover::before,
.mn-stepA-card:hover::before,
.mn-ss-fit-col:hover::before,
.mn-about-team-card:hover::before,
.mn-wtf-feature-card:hover::before,
.mn-wtf-testi-card:hover::before {
    opacity: 1;
}

/* Specular sheen — soft frosted light across the top half */
.mn-blog-card::after,
.mn-hp-challenge-card::after,
.mn-hp-testi-bubble::after,
.mn-ss-step-card::after,
.mn-ss-compare-side::after,
.mn-stepA-card::after,
.mn-ss-fit-col::after,
.mn-about-team-card::after,
.mn-wtf-feature-card::after,
.mn-wtf-testi-card::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(
        175deg,
        rgba(222,213,190,.08) 0%,
        rgba(222,213,190,.03) 25%,
        transparent 50%
    );
    pointer-events: none;
    z-index: 1;
}

/* Hover: lift + edges brighten + contained shadow */
.mn-blog-card:hover,
.mn-hp-challenge-card:hover,
.mn-hp-testi-bubble:hover,
.mn-ss-step-card:hover,
.mn-ss-compare-side:hover,
.mn-stepA-card:hover,
.mn-ss-fit-col:hover,
.mn-about-team-card:hover,
.mn-wtf-feature-card:hover,
.mn-wtf-testi-card:hover {
    transform: translateY(-4px);
    border-color: rgba(222,213,190,.24);
    border-top-color: rgba(222,213,190,.36);
    box-shadow:
        inset 0  1px 0 0 rgba(222,213,190,.16),
        inset 1px 0  0 0 rgba(222,213,190,.08),
        0 8px 24px rgba(0,0,0,.40),
        0 0 0 1px rgba(222,213,190,.06);
}


/* ─── Reset & Base ──────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; background: var(--mn-forest-deep); }
body { font-family: var(--mn-font-body); font-size: 17px; line-height: 1.6; color: var(--mn-black); background: var(--mn-forest-deep); }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color 0.18s; }
a:hover, a:focus, a:active { color: inherit; } /* neutralise hello-elementor reset a:hover { color: #336 } so links don't fade to blue unless explicitly styled */
ul, ol { list-style: none; }

/* ─── Landing Page Mode ─────────────────────────────────────── */
body.mn-landing-page {
    background: var(--mn-forest);
    color: rgba(222,213,190,.85);
}

body.mn-landing-page .mn-content {
    /* No sticky header offset needed */
    padding-top: 0;
}

/* Elementor landing pages: ensure full-width sections work */
body.mn-landing-page .elementor-section.elementor-section-stretched {
    width: 100% !important;
    left: 0 !important;
}

/* ─── Dark Page Mode ───────────────────────────────────────────
   Pages with all-dark sections (e.g. Sales System) get this class
   via the body_class filter so the body background matches and no
   white gap can appear between sections.                        */
body.mn-page-dark {
    background: var(--mn-forest-deep);
    color: rgba(222,213,190,.85);
}

/* Hide the inline CRM Audit Banner (template 25456) — replaced by sidebar */
.elementor-element[data-id="8377064"],
.elementor-25456 {
    display: none !important;
}

/* Hide WordPress Studio localhost badge (dev only — not present in production) */
[style*="position: fixed"][style*="bottom"][style*="right"][style*="z-index"] a[href*="developer.wordpress.org"],
body > div[style*="position: fixed"][style*="bottom: 0"][style*="right: 0"] {
    display: none !important;
}


.mn-container {
    width: 100%;
    max-width: var(--mn-container);
    margin: 0 auto;
    padding: 0 var(--mn-gutter);
}


/* ═══════════════════════════════════════════════════════════════
   ANNOUNCEMENT BAR
   ═══════════════════════════════════════════════════════════════ */
.mh-ann {
    background: var(--mn-forest-deep);
    border-bottom: 1px solid rgba(222,213,190,.08);
    padding: 8px 40px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.mh-badge {
    background: rgba(232,68,10,.22);
    border: 1px solid rgba(232,68,10,.45);
    border-radius: 4px;
    font-size: 10px;
    font-weight: 700;
    color: var(--mn-orange);
    padding: 2px 6px;
    letter-spacing: .06em;
    text-transform: uppercase;
    flex-shrink: 0;
}

.mh-ann-t {
    font-size: 13px;
    font-weight: 500;
    color: rgba(222,213,190,.78);
    line-height: 1.5;
}

.mh-ann-t a {
    color: var(--mn-linen);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: rgba(222,213,190,.45);
    text-underline-offset: 3px;
    transition: color 0.18s ease, text-decoration-color 0.18s ease;
}

.mh-ann-t a:hover,
.mh-ann-t a:focus-visible {
    color: var(--mn-orange-soft);
    text-decoration-color: var(--mn-orange-soft);
}


/* ═══════════════════════════════════════════════════════════════
   DESKTOP HEADER / NAV
   Design System: 72px height, glass bg, 16px nav links
   ═══════════════════════════════════════════════════════════════ */
.mh-nav {
    background: rgba(33,61,54,.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(222,213,190,.10);
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 0 40px;
    transition: background .2s, border-color .2s, box-shadow .2s;
}

.mh-nav.is-scrolled {
    background: rgba(25,46,40,.97);
    border-color: rgba(222,213,190,.14);
    box-shadow: 0 4px 24px rgba(0,0,0,.35);
}

/* Constrain inner content to container width */
.mh-nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: var(--mn-container);
    margin: 0 auto;
}

/* Logo */
.mh-logo img {
    height: 24px;
    width: auto;
}

/* Menu */
.mh-menu {
    display: flex;
    align-items: center;
    gap: 2px;
    list-style: none;
}

.mh-menu > li {
    position: relative;
}

.mh-menu > li > a {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 14px;
    font-size: 16px;
    font-weight: 500;
    color: rgba(222,213,190,.88);
    text-decoration: none;
    border-radius: 6px;
    cursor: pointer;
    white-space: nowrap;
    transition: color 0.15s, background 0.15s;
}

.mh-menu > li > a:hover,
.mh-menu > li.current-menu-item > a,
.mh-menu > li.current-menu-ancestor > a {
    color: var(--mn-linen);
    background: rgba(222,213,190,.08);
}

/* Dropdown chevron for items with children */
.mh-menu > li.menu-item-has-children > a::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 4px;
    border-left: 3.5px solid transparent;
    border-right: 3.5px solid transparent;
    border-top: 3.5px solid currentColor;
    opacity: 0.6;
    transition: transform 0.2s;
}

.mh-menu > li.menu-item-has-children:hover > a::after {
    transform: rotate(180deg);
}

/* Sub-menu / Dropdown — uses invisible bridge to prevent hover gap */
.mh-menu > li.menu-item-has-children {
    padding-bottom: 12px;
    margin-bottom: -12px;
}

.mh-menu .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: var(--mn-dropdown);
    border: 1px solid rgba(222,213,190,.14);
    border-radius: var(--mn-radius-lg);
    padding: 6px;
    min-width: 260px;
    box-shadow: 0 12px 32px rgba(0,0,0,.4);
    z-index: 100;
}

.mh-menu > li:hover > .sub-menu {
    display: block;
}

.mh-menu .sub-menu li a {
    display: block;
    padding: 9px 14px;
    font-size: 15px;
    color: rgba(222,213,190,.75);
    border-radius: 6px;
    text-decoration: none;
    transition: color 0.15s, background 0.15s;
}

.mh-menu .sub-menu li a:hover {
    color: var(--mn-linen);
    background: rgba(222,213,190,.08);
}

/* Right side */
.mh-right {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Search box */
.mh-search-box {
    display: flex;
    align-items: center;
    background: rgba(222,213,190,.06);
    border: 1px solid rgba(222,213,190,.14);
    border-radius: var(--mn-radius-md);
    padding: 0 10px;
    height: 36px;
    gap: 7px;
}

.mh-search-box svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: rgba(222,213,190,.40);
    stroke-width: 2;
    stroke-linecap: round;
    flex-shrink: 0;
}

.mh-search-box form {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
}

.mh-search-box input[type="search"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.mh-search-box input,
.mh-search-box input[type="search"] {
    background: none;
    border: none;
    outline: none;
    box-shadow: none;
    font-size: 13px;
    color: rgba(222,213,190,.7);
    width: 100px;
    height: 100%;
    padding: 0;
    margin: 0;
    font-family: var(--mn-font-body);
    -webkit-appearance: none;
}

.mh-search-box input::placeholder {
    color: rgba(222,213,190,.30);
}

/* CTA Button */
/* Header CTA — always Tier 2 (solid, no glow).
   Only the hero CTA carries glow (Tier 1). One attention well per page. */
.mh-cta {
    display: inline-flex;
    align-items: center;
    height: 38px;
    padding: 0 18px;
    background: var(--mn-orange);
    color: #fff !important;
    font-family: var(--mn-font-body);
    font-size: 15px;
    font-weight: 600;
    border-radius: var(--mn-radius-md);
    text-decoration: none !important;
    white-space: nowrap;
    transition: background .2s ease, transform .15s ease, box-shadow .35s ease;
    box-shadow: none;
}

.mh-cta:hover {
    background: var(--mn-orange-hover);
    color: #fff !important;
}

/* Header CTA stays solid (Tier 2) at all times — no glow, even on scroll.
   Only the hero CTA carries glow (Tier 1). One attention well per page. */
.mh-nav.is-scrolled .mh-cta:hover {
    transform: translateY(-1px);
}

/* Mobile burger — hidden on desktop */
.mob-burger {
    display: none;
    flex-direction: column;
    gap: 4px;
    cursor: pointer;
    padding: 6px;
}

.mob-burger span {
    display: block;
    width: 20px;
    height: 2px;
    background: rgba(222,213,190,.80);
    border-radius: 2px;
    transition: all 0.2s;
}

.mob-burger.open span:nth-child(1) { transform: rotate(45deg) translate(4px, 4px); }
.mob-burger.open span:nth-child(2) { opacity: 0; }
.mob-burger.open span:nth-child(3) { transform: rotate(-45deg) translate(4px, -4px); }


/* ═══════════════════════════════════════════════════════════════
   MOBILE DRAWER
   ═══════════════════════════════════════════════════════════════ */
.mob-drawer {
    background: var(--mn-drawer);
    border-top: 1px solid rgba(222,213,190,.08);
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    position: sticky;
    top: 60px;
    z-index: 999;
}

.mob-drawer.open {
    max-height: 600px;
    overflow-y: auto;
}

/* Mobile search */
.mob-search-row {
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid rgba(222,213,190,.06);
}

.mob-search-input {
    flex: 1;
    width: 100%;
    background: rgba(222,213,190,.08);
    border: 1px solid rgba(222,213,190,.14);
    border-radius: var(--mn-radius-md);
    padding: 0 12px;
    height: 36px;
    font-size: 14px;
    color: var(--mn-linen);
    font-family: var(--mn-font-body);
    outline: none;
}

.mob-search-input::placeholder {
    color: rgba(222,213,190,.35);
}

/* Mobile nav items — generated by walker */
.mob-nav-list {
    list-style: none;
}

.mob-nav-list > li > a,
.mob-nav-list > li > .mob-accordion-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 16px;
    font-size: 15px;
    font-weight: 500;
    color: rgba(222,213,190,.82);
    border-bottom: 1px solid rgba(222,213,190,.06);
    cursor: pointer;
    text-decoration: none;
}

.mob-nav-list > li > .mob-accordion-trigger svg {
    width: 13px;
    height: 13px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    flex-shrink: 0;
    transition: transform 0.2s;
}

.mob-nav-list > li.mob-acc-open > .mob-accordion-trigger svg {
    transform: rotate(180deg);
}

/* Mobile sub-menu */
.mob-nav-list .sub-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.25s ease;
    background: rgba(0,0,0,.15);
    list-style: none;
}

.mob-nav-list > li.mob-acc-open > .sub-menu {
    max-height: 300px;
}

.mob-nav-list .sub-menu a {
    display: block;
    padding: 9px 16px 9px 28px;
    font-size: 14px;
    color: rgba(222,213,190,.65);
    border-bottom: 1px solid rgba(222,213,190,.04);
    text-decoration: none;
}

.mob-nav-list .sub-menu a:hover {
    color: var(--mn-linen);
}

/* Mobile CTA */
.mob-cta-row {
    padding: 14px 16px;
}

.mob-cta-full {
    display: block;
    text-align: center;
    padding: 12px;
    background: var(--mn-orange);
    color: #fff !important;
    font-size: 15px;
    font-weight: 600;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.18s;
}

.mob-cta-full:hover {
    background: var(--mn-orange-hover);
}


/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE BREAKPOINT
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
    /* Hide desktop nav and right side */
    .mh-nav nav,
    .mh-right {
        display: none;
    }

    /* Show burger */
    .mob-burger {
        display: flex;
    }

    /* Compact announcement */
    .mh-ann {
        padding: 8px 14px;
    }

    .mh-ann .mh-badge {
        display: none;
    }

    .mh-ann-t {
        font-size: 12px;
        line-height: 1.4;
    }

    /* Shorter header on mobile */
    .mh-nav {
        height: 60px;
        padding: 0 16px;
    }

    .mh-logo img {
        height: 20px;
    }

    .mob-drawer {
        top: 60px;
    }

    /* Remove translucent section borders on mobile — Safari renders them
       as visible white hairlines due to sub-pixel rounding. */
    .mh-ann            { border-bottom: none !important; }
    .mh-nav            { border-bottom: none !important; }
    .mh-nav.is-scrolled { border-bottom: none !important; }
    .mn-hp-mid-cta     { border-top: none !important; border-bottom: none !important; }
    .mn-footer-lower   { border-top: none !important; }
}

@media (min-width: 1025px) {
    /* Hide mobile drawer on desktop */
    .mob-drawer {
        display: none !important;
    }
}


/* ═══════════════════════════════════════════════════════════════
   CONTENT AREA
   ═══════════════════════════════════════════════════════════════ */
.mn-content {
    min-height: 60vh;
}


/* ═══════════════════════════════════════════════════════════════
   ELEMENTOR GLOBAL OVERRIDES
   ──────────────────────────────────────────────────────────────
   These rules normalise legacy Elementor pages (built with
   UICore / Inter / light-scheme defaults) so they sit
   comfortably inside the Muncly dark-first design system
   until each page is rebuilt in custom HTML.
   ═══════════════════════════════════════════════════════════════ */

/* ── Layout reset ── */
.elementor-page .mn-content { padding: 0; }
.elementor-page .mn-content > .elementor { margin-top: 0; }

/* ── Global dark body default ──
   Elementor pages inherit light body color from the kit.
   Force the dark-first palette so any un-styled text is readable. */
.elementor-page {
    background: var(--mn-forest);
    color: rgba(222,213,190,.85);
}

/* ── Typography: Headings ──
   Override UICore Inter → Newsreader for all Elementor headings */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget h1,
.elementor-widget h2,
.elementor-widget h3 {
    font-family: var(--mn-font-display);
    color: var(--mn-linen);
}

.elementor-widget h4,
.elementor-widget h5,
.elementor-widget h6 {
    font-family: var(--mn-font-body);
    color: var(--mn-linen);
}

/* Heading size scale matching design system */
.elementor-widget-heading h1.elementor-heading-title { font-size: clamp(2.5rem, 5vw, 4rem); line-height: 1.08; font-weight: 600; }
.elementor-widget-heading h2.elementor-heading-title { font-size: clamp(1.75rem, 3vw, 2.25rem); line-height: 1.2; font-weight: 600; }
.elementor-widget-heading h3.elementor-heading-title { font-size: 21px; line-height: 1.3; font-weight: 600; }
.elementor-widget-heading h4.elementor-heading-title { font-size: 19px; line-height: 1.7; font-weight: 400; }

/* ── Typography: Body / Text Editor ──
   Override Inter → DM Sans, ensure readable on dark */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-widget-text-editor span,
.elementor-widget-theme-post-content,
.elementor-widget-theme-post-content p {
    font-family: var(--mn-font-body);
    color: rgba(222,213,190,.85);
    font-size: 15px;
    line-height: 1.65;
}

/* Slightly stronger for h4/lead subheadings inside text widgets */
.elementor-widget-text-editor h4 {
    font-size: 19px;
    line-height: 1.7;
    font-weight: 400;
    color: rgba(222,213,190,.92);
}

/* ── Links inside Elementor ── */
.elementor-widget-text-editor a,
.elementor-widget-theme-post-content a {
    color: var(--mn-linen);
    text-decoration: underline;
    text-decoration-color: rgba(222,213,190,.35);
    text-underline-offset: 3px;
    transition: text-decoration-color 0.15s, color 0.15s;
}

.elementor-widget-text-editor a:hover,
.elementor-widget-theme-post-content a:hover {
    text-decoration-color: var(--mn-linen);
    color: var(--mn-white);
}

/* ── Lists inside Elementor text widgets ── */
.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol {
    list-style: disc;
    padding-left: 1.5em;
    margin-bottom: 1em;
}

.elementor-widget-text-editor ol { list-style: decimal; }

.elementor-widget-text-editor li {
    margin-bottom: 0.4em;
}

/* ── Sections & Containers ──
   Override any white/light backgrounds left over from old theme.
   Only apply when no explicit inline bg color is set, or when
   the old theme set a white background. */
.elementor-section,
.e-con {
    /* ensure text is readable by default */
    color: rgba(222,213,190,.85);
}

/* Catch sections that Elementor sets to white/light via inline style.
   This targets common UICore defaults — !important needed to
   override inline style="background-color:#ffffff" */
.elementor-section[style*="background-color: rgb(255, 255, 255)"],
.elementor-section[style*="background-color:#ffffff"],
.elementor-section[style*="background-color:#FFFFFF"],
.elementor-section[style*="background-color: rgb(248, 252, 252)"],
.e-con[style*="background-color: rgb(255, 255, 255)"],
.e-con[style*="background-color:#ffffff"],
.e-con[style*="background-color:#FFFFFF"] {
    background-color: var(--mn-forest) !important;
}

/* Sections with dark text set by old theme → flip to linen */
.elementor-section[style*="color: rgb(7, 7, 7)"],
.elementor-section[style*="color:#070707"],
.e-con[style*="color: rgb(7, 7, 7)"],
.e-con[style*="color:#070707"] {
    color: rgba(222,213,190,.85) !important;
}

/* ── Elementor Container width ──
   Old kit uses 1240px; we use 1280px */
.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: var(--mn-container);
}

/* ── Buttons ──
   Override UICore teal (#00C49A) / purple (#532DF5) → Muncly orange */
.elementor-button,
.elementor-widget-button .elementor-button {
    font-family: var(--mn-font-body) !important;
    font-weight: 600;
    font-size: 15px;
    background-color: var(--mn-orange) !important;
    border-color: var(--mn-orange) !important;
    color: #fff !important;
    border-radius: var(--mn-radius-md);
    padding: 13px 26px;
    line-height: 1;
    letter-spacing: .01em;
    box-shadow: 0 4px 20px rgba(232,68,10,.35);
    transition: background 0.18s, transform 0.12s, box-shadow 0.18s;
}

.elementor-button:hover,
.elementor-widget-button .elementor-button:hover {
    background-color: var(--mn-orange-hover) !important;
    border-color: var(--mn-orange-hover) !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 32px rgba(232,68,10,.50);
}

/* Ghost / outline button variant — detect by transparent bg */
.elementor-button[style*="background-color: transparent"],
.elementor-button[style*="background-color:transparent"],
.elementor-button.elementor-button-link {
    background: transparent !important;
    color: var(--mn-linen) !important;
    border: 2px solid rgba(222,213,190,.55) !important;
    box-shadow: none;
}

.elementor-button[style*="background-color: transparent"]:hover,
.elementor-button[style*="background-color:transparent"]:hover {
    background: rgba(222,213,190,.10) !important;
    border-color: var(--mn-linen) !important;
    transform: translateY(-1px);
}

/* Button icon */
.elementor-button .elementor-button-icon {
    color: inherit;
}

/* ── Icon List widget ── */
.elementor-icon-list-items .elementor-icon-list-item a,
.elementor-icon-list-items .elementor-icon-list-text {
    font-family: var(--mn-font-body);
    color: rgba(222,213,190,.85);
    font-size: 15px;
    transition: color 0.15s;
}

.elementor-icon-list-items .elementor-icon-list-item a:hover .elementor-icon-list-text {
    color: var(--mn-linen);
}

.elementor-icon-list-items .elementor-icon-list-icon svg {
    fill: var(--mn-orange);
}

.elementor-icon-list-items .elementor-icon-list-icon i {
    color: var(--mn-orange);
}

/* ── Icon widget ── */
.elementor-widget-icon .elementor-icon {
    color: var(--mn-orange);
}

.elementor-widget-icon .elementor-icon svg {
    fill: var(--mn-orange);
}

/* ── Image widget — rounded corners ── */
.elementor-widget-image img {
    border-radius: var(--mn-radius-lg);
}

/* ── Image Box widget ── */
.elementor-widget-image-box .elementor-image-box-title {
    font-family: var(--mn-font-display);
    color: var(--mn-linen);
    font-weight: 600;
}

.elementor-widget-image-box .elementor-image-box-description {
    font-family: var(--mn-font-body);
    color: rgba(222,213,190,.75);
}

/* ── Counter widget ── */
.elementor-widget-counter .elementor-counter-number-wrapper {
    font-family: var(--mn-font-display);
    color: var(--mn-linen);
}

.elementor-widget-counter .elementor-counter-title {
    font-family: var(--mn-font-body);
    color: rgba(222,213,190,.65);
}

/* ── Progress Bar widget ── */
.elementor-widget-progress .elementor-progress-wrapper {
    background-color: rgba(222,213,190,.10);
    border-radius: var(--mn-radius-full);
    overflow: hidden;
}

.elementor-widget-progress .elementor-progress-bar {
    background-color: var(--mn-orange);
    border-radius: var(--mn-radius-full);
}

/* ── Tabs widget ── */
.elementor-widget-tabs .elementor-tab-title {
    font-family: var(--mn-font-body);
    font-weight: 600;
    color: rgba(222,213,190,.60);
    border-color: rgba(222,213,190,.12);
    transition: color 0.15s;
}

.elementor-widget-tabs .elementor-tab-title.elementor-active,
.elementor-widget-tabs .elementor-tab-title:hover {
    color: var(--mn-linen);
    border-color: var(--mn-orange);
}

.elementor-widget-tabs .elementor-tab-content {
    font-family: var(--mn-font-body);
    color: rgba(222,213,190,.85);
    border-color: rgba(222,213,190,.12);
}

/* ── Accordion & Toggle widgets ── */
.elementor-widget-accordion .elementor-accordion-item,
.elementor-widget-toggle .elementor-toggle-item {
    border-color: rgba(222,213,190,.12);
}

.elementor-widget-accordion .elementor-tab-title,
.elementor-widget-toggle .elementor-tab-title {
    font-family: var(--mn-font-body);
    font-weight: 600;
    color: var(--mn-linen);
    background: transparent;
    padding: 16px 20px;
}

.elementor-widget-accordion .elementor-tab-title .elementor-accordion-icon,
.elementor-widget-toggle .elementor-tab-title .elementor-toggle-icon {
    color: rgba(222,213,190,.50);
}

.elementor-widget-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon,
.elementor-widget-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon {
    color: var(--mn-orange);
}

.elementor-widget-accordion .elementor-tab-content,
.elementor-widget-toggle .elementor-tab-content {
    font-family: var(--mn-font-body);
    color: rgba(222,213,190,.78);
    padding: 12px 20px 20px;
    font-size: 15px;
    line-height: 1.65;
}

/* ── Testimonial widget ── */
.elementor-widget-testimonial .elementor-testimonial-content {
    font-family: var(--mn-font-display);
    font-style: italic;
    font-weight: 400;
    color: var(--mn-linen);
    font-size: 18px;
    line-height: 1.6;
}

.elementor-widget-testimonial .elementor-testimonial-name {
    font-family: var(--mn-font-body);
    color: var(--mn-linen);
    font-weight: 600;
}

.elementor-widget-testimonial .elementor-testimonial-job {
    font-family: var(--mn-font-body);
    color: rgba(222,213,190,.60);
}

/* ── Divider widget ── */
.elementor-widget-divider .elementor-divider-separator {
    border-color: rgba(222,213,190,.12);
}

/* ── Star Rating widget ── */
.elementor-widget-star-rating .elementor-star-rating i {
    color: var(--mn-orange);
}

/* ── Alert widget ── */
.elementor-widget-alert .elementor-alert {
    border-radius: var(--mn-radius-lg);
    font-family: var(--mn-font-body);
}

/* ── Social Icons widget ── */
.elementor-widget-social-icons .elementor-social-icon {
    background-color: rgba(222,213,190,.08);
    color: rgba(222,213,190,.70);
    transition: background 0.2s, color 0.2s;
}

.elementor-widget-social-icons .elementor-social-icon:hover {
    background-color: rgba(222,213,190,.15);
    color: var(--mn-linen);
}

/* ── Form widgets (Elementor Pro) ── */
.elementor-widget-form .elementor-field-group .elementor-field {
    font-family: var(--mn-font-body);
    font-size: 14px;
    color: var(--mn-linen);
    background: rgba(222,213,190,.06);
    border: 1px solid rgba(222,213,190,.18);
    border-radius: var(--mn-radius-md);
    padding: 12px 16px;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.elementor-widget-form .elementor-field-group .elementor-field:focus {
    border-color: rgba(222,213,190,.40);
    box-shadow: 0 0 0 3px rgba(222,213,190,.08);
    outline: none;
}

.elementor-widget-form .elementor-field-group .elementor-field::placeholder {
    color: rgba(222,213,190,.30);
}

.elementor-widget-form label.elementor-field-label {
    font-family: var(--mn-font-body);
    font-size: 13px;
    font-weight: 600;
    color: rgba(222,213,190,.65);
    text-transform: uppercase;
    letter-spacing: .06em;
}

.elementor-widget-form .elementor-button[type="submit"] {
    font-family: var(--mn-font-body) !important;
    background-color: var(--mn-orange) !important;
    border-color: var(--mn-orange) !important;
    color: #fff !important;
    border-radius: var(--mn-radius-md);
    font-weight: 600;
    box-shadow: 0 4px 20px rgba(232,68,10,.35);
}

.elementor-widget-form .elementor-button[type="submit"]:hover {
    background-color: var(--mn-orange-hover) !important;
    box-shadow: 0 8px 32px rgba(232,68,10,.50);
}

.elementor-widget-form .elementor-message {
    font-family: var(--mn-font-body);
    border-radius: var(--mn-radius-md);
}

/* ── Blockquotes inside Elementor ── */
.elementor-widget blockquote,
.elementor-widget-text-editor blockquote {
    border-left: 3px solid var(--mn-orange);
    padding: 16px 24px;
    margin: 24px 0;
    font-family: var(--mn-font-display);
    font-style: italic;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.6;
    color: var(--mn-linen);
    background: rgba(222,213,190,.04);
    border-radius: 0 var(--mn-radius-md) var(--mn-radius-md) 0;
}

/* ── Video widget overlay ── */
.elementor-widget-video .elementor-custom-embed-play {
    color: var(--mn-white);
    background: var(--mn-orange);
    border-radius: var(--mn-radius-full);
    transition: background 0.18s, transform 0.18s;
}

.elementor-widget-video .elementor-custom-embed-play:hover {
    background: var(--mn-orange-hover);
    transform: scale(1.1);
}

/* ── Spacer — prevent collapsing on dark bg ── */
.elementor-widget-spacer { background: transparent; }

/* ── Global overline class (used in many Elementor pages) ── */
.elementor-widget-heading .elementor-heading-title[class*="overline"],
.elementor-widget-heading .elementor-heading-title[style*="text-transform: uppercase"][style*="12px"],
.elementor-widget-heading .elementor-heading-title[style*="text-transform: uppercase"][style*="11px"] {
    font-family: var(--mn-font-body) !important;
    font-size: 12px !important;
    font-weight: 600;
    letter-spacing: .12em;
    color: var(--mn-orange) !important;
    text-shadow: 0 0 20px rgba(232,68,10,.5);
}

/* ── Section background overlay opacity ──
   Elementor overlays on dark sections should be subtle */
.elementor-background-overlay {
    mix-blend-mode: multiply;
}

/* ── Inner Section / Nested containers ── */
.elementor-inner-section {
    color: rgba(222,213,190,.85);
}

/* ── Column gaps ── */
.elementor-column-gap-default > .elementor-column > .elementor-element-populated {
    padding: 16px;
}

/* ── Navigation / Menu widget (Elementor Pro) ── */
.elementor-widget-nav-menu .elementor-nav-menu a {
    font-family: var(--mn-font-body);
    color: rgba(222,213,190,.85);
}

.elementor-widget-nav-menu .elementor-nav-menu a:hover {
    color: var(--mn-linen);
}

/* ── Carousel / Slider nav arrows ── */
.elementor-swiper-button {
    color: var(--mn-linen);
    background: rgba(222,213,190,.08);
    border-radius: var(--mn-radius-full);
    transition: background 0.15s;
}

.elementor-swiper-button:hover {
    background: rgba(222,213,190,.15);
}

/* Pagination dots */
.swiper-pagination-bullet {
    background: rgba(222,213,190,.30);
}

.swiper-pagination-bullet-active {
    background: var(--mn-orange);
}

/* ── Posts / Loop Grid widget ── */
.elementor-widget-posts .elementor-post__title a,
.elementor-widget-loop-grid .elementor-post__title a {
    font-family: var(--mn-font-display);
    color: var(--mn-linen);
    font-weight: 600;
    transition: color 0.15s;
}

.elementor-widget-posts .elementor-post__title a:hover,
.elementor-widget-loop-grid .elementor-post__title a:hover {
    color: var(--mn-orange);
}

.elementor-widget-posts .elementor-post__excerpt,
.elementor-widget-loop-grid .elementor-post__excerpt {
    font-family: var(--mn-font-body);
    color: rgba(222,213,190,.70);
}

.elementor-widget-posts .elementor-post__meta-data,
.elementor-widget-loop-grid .elementor-post__meta-data {
    font-family: var(--mn-font-body);
    color: rgba(222,213,190,.50);
    font-size: 13px;
}

.elementor-widget-posts .elementor-post__read-more,
.elementor-widget-loop-grid .elementor-post__read-more {
    color: var(--mn-orange);
    font-family: var(--mn-font-body);
    font-weight: 600;
}

/* ── Call to Action widget ── */
.elementor-widget-call-to-action .elementor-cta__title {
    font-family: var(--mn-font-display);
    color: var(--mn-linen);
}

.elementor-widget-call-to-action .elementor-cta__description {
    font-family: var(--mn-font-body);
    color: rgba(222,213,190,.78);
}

/* ── Pricing Table widget ── */
.elementor-widget-price-table {
    font-family: var(--mn-font-body);
}

.elementor-widget-price-table .elementor-price-table__heading {
    font-family: var(--mn-font-display);
    color: var(--mn-linen);
}

.elementor-widget-price-table .elementor-price-table__price {
    color: var(--mn-linen);
    font-family: var(--mn-font-display);
}

.elementor-widget-price-table .elementor-price-table__features-list li {
    color: rgba(222,213,190,.78);
}

/* ── Flip Box widget ── */
.elementor-widget-flip-box .elementor-flip-box__front,
.elementor-widget-flip-box .elementor-flip-box__back {
    border-radius: var(--mn-radius-xl);
}

/* ── Animated Headline ── */
.elementor-widget-animated-headline .elementor-headline {
    font-family: var(--mn-font-display);
    color: var(--mn-linen);
}

/* ── Table of Contents ── */
.elementor-widget-table-of-contents .elementor-toc__header {
    font-family: var(--mn-font-body);
    font-weight: 600;
    color: var(--mn-linen);
}

.elementor-widget-table-of-contents .elementor-toc__list-item a {
    font-family: var(--mn-font-body);
    color: rgba(222,213,190,.78);
}

.elementor-widget-table-of-contents .elementor-toc__list-item a:hover {
    color: var(--mn-orange);
}

/* ── Elementor responsive visibility ── */
@media (max-width: 767px) {
    .elementor-widget-heading h1.elementor-heading-title { font-size: 2rem; }
    .elementor-widget-heading h2.elementor-heading-title { font-size: 1.5rem; }
    .elementor-widget-heading h3.elementor-heading-title { font-size: 18px; }

    .elementor-widget-text-editor,
    .elementor-widget-text-editor p {
        font-size: 14px;
    }

    .elementor-button,
    .elementor-widget-button .elementor-button {
        font-size: 14px;
        padding: 11px 22px;
    }

    .elementor-widget-form .elementor-field-group .elementor-field {
        font-size: 14px;
        padding: 10px 14px;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .elementor-widget-heading h1.elementor-heading-title { font-size: 2.5rem; }

    .elementor-button,
    .elementor-widget-button .elementor-button {
        font-size: 15px;
        padding: 12px 24px;
    }
}


/* ═══════════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════════ */
.mn-footer {
    background: var(--mn-forest-darkest, #14261F);
    color: rgba(222,213,190,.70);
}

/* ── Upper footer: Brand + nav columns ── */
.mn-footer-upper {
    padding: 64px 0 56px;
}

.mn-footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 48px;
}

/* Brand column */
.mn-footer-brand .mn-logo,
.mn-footer-brand img {
    height: 28px;
    width: auto;
    margin-bottom: 20px;
}

.mn-footer-brand .mn-site-title {
    font-family: var(--mn-font-display);
    font-size: 21px;
    font-weight: 500;
    color: var(--mn-linen);
    display: block;
    margin-bottom: 20px;
}

.mn-footer-desc {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(222,213,190,.65);
    max-width: 320px;
    margin-bottom: 24px;
}

/* Social icons */
.mn-footer-social {
    display: flex;
    gap: 12px;
}

.mn-footer-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--mn-radius-full, 50%);
    background: rgba(222,213,190,.08);
    color: rgba(222,213,190,.70);
    transition: background 0.2s, color 0.2s;
}

.mn-footer-social a:hover {
    background: rgba(222,213,190,.15);
    color: var(--mn-linen);
}

.mn-footer-social svg {
    width: 18px;
    height: 18px;
}

/* Column headings — DM Sans 13px/600, uppercase */
.mn-footer-heading {
    font-family: var(--mn-font-body);
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: rgba(222,213,190,.60);
    margin-bottom: 20px;
}

/* Column links — DM Sans 15px/400 */
.mn-footer-links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mn-footer-links li { margin-bottom: 8px; }

.mn-footer-links a {
    font-size: 15px;
    color: rgba(222,213,190,.85);
    transition: color 0.15s;
}

.mn-footer-links a:hover {
    color: var(--mn-linen);
    text-decoration: underline;
}

/* ── Lower footer: Salesforce services grid ── */
.mn-footer-lower {
    padding: 48px 0 40px;
    border-top: 1px solid rgba(222,213,190,.12);
}

/* ── Mega-footer grid ── */
.mn-footer-mega {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1.6fr 1fr;
    gap: 40px 36px;
}

.mn-footer-mega-heading {
    font-family: var(--mn-font-body);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: rgba(222,213,190,.50);
    margin-bottom: 12px;
}

.mn-footer-mega-heading--spaced {
    margin-top: 20px;
}

.mn-footer-mega-links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mn-footer-mega-links li { margin-bottom: 4px; }

.mn-footer-mega-links a {
    font-size: 13.5px;
    line-height: 1.5;
    color: rgba(222,213,190,.42);
    transition: color 0.15s;
}

.mn-footer-mega-links a:hover {
    color: rgba(222,213,190,.85);
    text-decoration: underline;
}

/* Industry Solutions: 2-column sub-grid */
.mn-footer-mega-links--2col {
    columns: 2;
    column-gap: 24px;
}

.mn-footer-mega-links--2col li {
    break-inside: avoid;
}

/* Legacy aliases kept for compat */
.mn-footer-sf-grid { display: none; }
.mn-footer-sf-heading { display: none; }
.mn-footer-sf-links { display: none; }

/* ── 404 Page (CRT glitch) ── */
.mn-404 {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 120px var(--mn-gutter) 100px;
    background:
        radial-gradient(circle at 20% 30%, rgba(232,68,10,.08) 0%, transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(50,94,85,.25) 0%, transparent 45%),
        var(--mn-forest-deep);
    overflow: hidden;
}

.mn-404::before {
    content: "";
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(
        0deg,
        transparent 0,
        transparent 3px,
        rgba(232,68,10,.025) 3px,
        rgba(232,68,10,.025) 4px
    );
    pointer-events: none;
    z-index: 2;
    mix-blend-mode: screen;
}

.mn-404::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 120px;
    background: linear-gradient(
        180deg,
        transparent 0%,
        rgba(232,68,10,.12) 40%,
        rgba(232,68,10,.22) 50%,
        rgba(232,68,10,.12) 60%,
        transparent 100%
    );
    pointer-events: none;
    z-index: 3;
    animation: mn-404-scan-sweep 6s linear infinite;
}

@keyframes mn-404-scan-sweep {
    0%   { transform: translateY(-120px); opacity: 0; }
    10%  { opacity: 1; }
    90%  { opacity: 1; }
    100% { transform: translateY(100vh); opacity: 0; }
}

.mn-404-grain {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    opacity: .35;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.87 0 0 0 0 0.83 0 0 0 0 0.74 0 0 0 0.35 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
    mix-blend-mode: overlay;
}

.mn-404-bracket {
    position: absolute;
    width: 40px;
    height: 40px;
    border: 2px solid rgba(232,68,10,.35);
    pointer-events: none;
    z-index: 2;
}

.mn-404-bracket--tl { top: 30px; left: 30px; border-right: 0; border-bottom: 0; }
.mn-404-bracket--tr { top: 30px; right: 30px; border-left: 0; border-bottom: 0; }
.mn-404-bracket--bl { bottom: 30px; left: 30px; border-right: 0; border-top: 0; }
.mn-404-bracket--br { bottom: 30px; right: 30px; border-left: 0; border-top: 0; }

.mn-404-chip {
    position: absolute;
    top: 30px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: rgba(25,46,40,.85);
    border: 1px solid rgba(232,68,10,.35);
    border-radius: var(--mn-radius-full);
    color: var(--mn-orange);
    font-family: var(--mn-font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
    z-index: 4;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.mn-404-chip-dot {
    width: 8px;
    height: 8px;
    background: var(--mn-orange);
    border-radius: 50%;
    animation: mn-404-pulse 1.6s ease-in-out infinite;
}

@keyframes mn-404-pulse {
    0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(232,68,10,.6); }
    50%      { opacity: .6; box-shadow: 0 0 0 6px rgba(232,68,10,0); }
}

.mn-404-inner {
    position: relative;
    z-index: 4;
    text-align: center;
    width: 100%;
}

.mn-404-glitch {
    position: relative;
    font-family: var(--mn-font-display);
    font-weight: 500;
    font-size: clamp(6rem, 22vw, 18rem);
    line-height: .9;
    letter-spacing: -.04em;
    color: var(--mn-linen);
    margin: 0 0 32px;
    display: block;
    max-width: 100%;
}

.mn-404-glitch-text {
    position: relative;
    display: inline-block;
    animation: mn-404-shake 3.5s steps(1) infinite;
}

@keyframes mn-404-shake {
    0%, 88%, 100% { transform: translate(0, 0); }
    89%  { transform: translate(-3px, 1px); }
    90%  { transform: translate(2px, -2px); }
    91%  { transform: translate(-1px, 2px); }
    92%  { transform: translate(2px, 1px); }
    93%  { transform: translate(-2px, -1px); }
    94%  { transform: translate(1px, 1px); }
}

.mn-404-glitch-text::before,
.mn-404-glitch-text::after {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
}

.mn-404-glitch-text::before {
    color: var(--mn-orange);
    clip-path: polygon(0 0, 100% 0, 100% 38%, 0 38%);
    animation: mn-404-glitch-top 4s steps(1) infinite;
    mix-blend-mode: screen;
    text-shadow: 0 0 1px rgba(232,68,10,.5);
}

.mn-404-glitch-text::after {
    color: var(--mn-orange-soft);
    clip-path: polygon(0 62%, 100% 62%, 100% 100%, 0 100%);
    animation: mn-404-glitch-bottom 4s steps(1) infinite;
    mix-blend-mode: screen;
    text-shadow: 0 0 1px rgba(240,168,129,.5);
}

@keyframes mn-404-glitch-top {
    0%, 100%  { transform: translate(0, 0); opacity: 0; }
    40%       { transform: translate(-4px, 0); opacity: 1; clip-path: polygon(0 15%, 100% 15%, 100% 30%, 0 30%); }
    42%       { transform: translate(0, 0); opacity: 0; }
    80%       { transform: translate(0, 0); opacity: 0; }
    82%       { transform: translate(-6px, -3px); opacity: 1; clip-path: polygon(0 0, 100% 0, 100% 32%, 0 32%); }
    84%       { transform: translate(4px, 2px); opacity: 1; clip-path: polygon(0 5%, 100% 5%, 100% 45%, 0 45%); }
    86%       { transform: translate(-3px, -1px); opacity: 1; clip-path: polygon(0 10%, 100% 10%, 100% 25%, 0 25%); }
    88%       { transform: translate(0, 0); opacity: 0; }
}

@keyframes mn-404-glitch-bottom {
    0%, 100%  { transform: translate(0, 0); opacity: 0; }
    40%       { transform: translate(4px, 1px); opacity: 1; clip-path: polygon(0 68%, 100% 68%, 100% 90%, 0 90%); }
    42%       { transform: translate(0, 0); opacity: 0; }
    80%       { transform: translate(0, 0); opacity: 0; }
    82%       { transform: translate(5px, 2px); opacity: 1; clip-path: polygon(0 55%, 100% 55%, 100% 85%, 0 85%); }
    84%       { transform: translate(-4px, -1px); opacity: 1; clip-path: polygon(0 70%, 100% 70%, 100% 100%, 0 100%); }
    86%       { transform: translate(3px, 1px); opacity: 1; clip-path: polygon(0 60%, 100% 60%, 100% 78%, 0 78%); }
    88%       { transform: translate(0, 0); opacity: 0; }
}

.mn-404-slice {
    position: absolute;
    left: -2%;
    right: -2%;
    background: var(--mn-forest-deep);
    height: 18px;
    opacity: 0;
    pointer-events: none;
    z-index: 5;
}

.mn-404-slice--1 { top: 22%; animation: mn-404-slice-1 5s steps(1) infinite; }
.mn-404-slice--2 { top: 48%; animation: mn-404-slice-2 5s steps(1) infinite; }
.mn-404-slice--3 { top: 74%; animation: mn-404-slice-3 5s steps(1) infinite; }

@keyframes mn-404-slice-1 {
    0%, 100%  { opacity: 0; transform: translateX(0); }
    38%       { opacity: 0; }
    39%       { opacity: 1; transform: translateX(-12px); }
    40%       { opacity: 1; transform: translateX(8px); }
    41%       { opacity: 0; }
    82%       { opacity: 0; }
    83%       { opacity: 1; transform: translateX(14px); }
    84%       { opacity: 0; }
}

@keyframes mn-404-slice-2 {
    0%, 100%  { opacity: 0; transform: translateX(0); }
    40%       { opacity: 0; }
    41%       { opacity: 1; transform: translateX(6px); }
    42%       { opacity: 1; transform: translateX(-10px); }
    43%       { opacity: 0; }
}

@keyframes mn-404-slice-3 {
    0%, 100%  { opacity: 0; transform: translateX(0); }
    42%       { opacity: 0; }
    43%       { opacity: 1; transform: translateX(-6px); }
    44%       { opacity: 0; }
    85%       { opacity: 0; }
    86%       { opacity: 1; transform: translateX(10px); }
    87%       { opacity: 0; }
}

.mn-404-heading {
    font-family: var(--mn-font-display);
    font-weight: 500;
    font-size: clamp(1.6rem, 3.5vw, 2.4rem);
    line-height: 1.2;
    color: var(--mn-linen);
    margin: 0 auto 18px;
    max-width: 720px;
    position: relative;
    display: block;
}

.mn-404-heading-glitch {
    position: relative;
    display: inline-block;
    animation: mn-404-shake-small 4s steps(1) infinite;
}

@keyframes mn-404-shake-small {
    0%, 94%, 100% { transform: translate(0, 0); }
    95%  { transform: translate(1px, 0); }
    96%  { transform: translate(-1px, 0); }
    97%  { transform: translate(1px, 0); }
}

.mn-404-desc {
    max-width: 560px;
    margin: 0 auto 40px;
    color: rgba(222,213,190,.75);
    font-size: 17px;
    line-height: 1.6;
}

.mn-404-search {
    display: flex;
    max-width: 520px;
    margin: 0 auto 28px;
    background: rgba(222,213,190,.06);
    border: 1px solid rgba(222,213,190,.14);
    border-radius: var(--mn-radius-full);
    overflow: hidden;
    transition: border-color .25s ease, background .25s ease;
}

.mn-404-search:focus-within {
    border-color: rgba(232,68,10,.55);
    background: rgba(222,213,190,.08);
}

.mn-404-search-input {
    flex: 1;
    padding: 16px 24px;
    background: transparent;
    border: 0;
    color: var(--mn-linen);
    font-family: var(--mn-font-body);
    font-size: 15px;
    outline: none;
}

.mn-404-search-input::placeholder { color: rgba(222,213,190,.45); }

button.mn-404-search-btn {
    padding: 12px 28px;
    margin: 4px;
    background: var(--mn-orange);
    color: var(--mn-white);
    border: 0;
    border-radius: var(--mn-radius-full);
    font-family: var(--mn-font-body);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
    text-transform: none;
    letter-spacing: normal;
    line-height: 1;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none;
}

button.mn-404-search-btn:hover {
    background: var(--mn-orange-hover);
    transform: translateY(-1px);
}

.mn-404-links-label {
    font-family: var(--mn-font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: rgba(222,213,190,.5);
    margin: 0 0 16px;
    text-align: center;
}

.mn-404-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.mn-404-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: rgba(222,213,190,.04);
    border: 1px solid rgba(222,213,190,.14);
    border-radius: var(--mn-radius-full);
    color: var(--mn-linen);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}

.mn-404-link:hover {
    background: rgba(232,68,10,.1);
    border-color: rgba(232,68,10,.4);
    color: var(--mn-linen-warm);
    transform: translateY(-2px);
}

.mn-404-link-arrow {
    font-size: 12px;
    opacity: .6;
    transition: transform .25s ease, opacity .25s ease;
}

.mn-404-link:hover .mn-404-link-arrow {
    transform: translateX(3px);
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .mn-404-glitch-text,
    .mn-404-glitch-text::before,
    .mn-404-glitch-text::after,
    .mn-404-heading-glitch,
    .mn-404-slice,
    .mn-404::after,
    .mn-404-chip-dot {
        animation: none;
    }
}

@media (max-width: 640px) {
    .mn-404 { padding: 100px 20px 80px; }
    .mn-404-bracket { width: 22px; height: 22px; }
    .mn-404-bracket--tl, .mn-404-bracket--tr { top: 16px; }
    .mn-404-bracket--tl, .mn-404-bracket--bl { left: 16px; }
    .mn-404-bracket--tr, .mn-404-bracket--br { right: 16px; }
    .mn-404-bracket--bl, .mn-404-bracket--br { bottom: 16px; }
    .mn-404-chip { top: 18px; font-size: 10px; padding: 5px 11px; letter-spacing: .18em; }
    .mn-404-search { flex-direction: column; border-radius: var(--mn-radius-lg); }
    button.mn-404-search-btn { margin: 8px; }
}

/* ── Author Hero ── */
.mn-author-hero {
    display: flex;
    align-items: center;
    gap: 24px;
}

.mn-author-avatar img {
    border-radius: var(--mn-radius-full);
    border: 2px solid rgba(222,213,190,.15);
}

@media (max-width: 768px) {
    .mn-author-hero {
        flex-direction: column;
        text-align: center;
    }
}

/* ── Case Study Single ── */
.mn-cs-featured { padding: 0 0 40px; }

.mn-cs-featured-img {
    border-radius: var(--mn-radius-lg);
    overflow: hidden;
}

.mn-cs-content-inner {
    max-width: 800px;
    margin: 0 auto;
    padding: 60px 0;
}

.mn-cs-nav { border-top: 1px solid rgba(222,213,190,.10); }

.mn-cs-nav-inner {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    padding: 40px 0;
}

.mn-cs-nav-link {
    display: flex;
    flex-direction: column;
    gap: 4px;
    transition: color 0.15s;
}

.mn-cs-nav-next { text-align: right; margin-left: auto; }

.mn-cs-nav-label {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: rgba(222,213,190,.45);
}

.mn-cs-nav-title {
    font-size: 16px;
    color: rgba(222,213,190,.75);
}

.mn-cs-nav-link:hover .mn-cs-nav-title { color: var(--mn-linen); }

/* ── Copyright bar ── */
.mn-copyright {
    padding: 24px 0;
    border-top: 1px solid rgba(222,213,190,.10);
}

.mn-copyright-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
}

.mn-copyright-text {
    font-size: 12px;
    color: rgba(222,213,190,.35);
    margin: 0;
}

.mn-copyright-links {
    display: flex;
    gap: 24px;
    flex-shrink: 0;
}

.mn-copyright-links a {
    font-size: 12px;
    color: rgba(222,213,190,.50);
    white-space: nowrap;
    transition: color 0.15s;
}

.mn-copyright-links a:hover { color: var(--mn-linen); }

/* ── Footer responsive ── */
@media (max-width: 1024px) {
    .mn-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
    .mn-footer-mega {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }
    .mn-footer-mega-col--wide {
        grid-column: span 2;
    }
    .mn-footer-mega-links--2col {
        columns: 3;
    }
}

@media (max-width: 768px) {
    .mn-footer-upper { padding: 48px 0 40px; }
    .mn-footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .mn-footer-lower { padding: 32px 0; }
    .mn-footer-mega {
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }
    .mn-footer-mega-col--wide {
        grid-column: span 2;
    }
    .mn-footer-mega-links--2col {
        columns: 2;
    }
    .mn-copyright-inner {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }
    .mn-copyright-links { justify-content: center; }
}


/* ═══════════════════════════════════════════════════════════════
   BACK TO TOP
   ═══════════════════════════════════════════════════════════════ */
button.mn-back-to-top {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 44px;
    height: 44px;
    background: var(--mn-forest);
    border: 1px solid rgba(222,213,190,.15);
    border-radius: var(--mn-radius-full);
    color: var(--mn-linen);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity 0.3s, transform 0.3s, visibility 0.3s, background 0.15s;
    z-index: 99;
    padding: 0;
    font-size: 0;
    line-height: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

button.mn-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

button.mn-back-to-top:hover { background: var(--mn-sage); }


/* ═══════════════════════════════════════════════════════════════
   TYPOGRAPHY UTILITIES
   ═══════════════════════════════════════════════════════════════ */
.mn-display  { font-family: var(--mn-font-display); }
.mn-overline { font-size: 15px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--mn-linen); display: block; }
.mn-overline::before { content: ""; display: inline-block; width: 14px; height: 2px; background: var(--mn-orange); vertical-align: middle; margin-right: .65em; margin-top: -2px; }
.mn-heading-1 { font-family: var(--mn-font-display); font-size: clamp(40px, 5.5vw, 62px); font-weight: 500; line-height: 1.15; }
.mn-heading-2 { font-family: var(--mn-font-display); font-size: clamp(32px, 4.5vw, 48px); font-weight: 500; line-height: 1.2; }
.mn-heading-3 { font-family: var(--mn-font-body); font-size: clamp(24px, 3.2vw, 36px); font-weight: 600; line-height: 1.25; }
.mn-body-lg  { font-size: 19px; line-height: 1.7; }

.mn-section      { padding: 80px 0; }
.mn-section-dark { background: var(--mn-forest); color: var(--mn-linen); }
.mn-section-deep { background: var(--mn-forest-deep); color: var(--mn-linen); }
.mn-section-moss { background: var(--mn-moss); color: var(--mn-linen); }

@media (max-width: 768px) {
    .mn-section { padding: 48px 0; }
}


/* ═══════════════════════════════════════════════════════════════
   BUTTONS (for page templates)
   ═══════════════════════════════════════════════════════════════ */
.mn-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--mn-font-body);
    font-weight: 600;
    font-size: 15px;
    letter-spacing: .01em;
    border-radius: var(--mn-radius-md);
    cursor: pointer;
    border: 2px solid transparent;
    transition: background 0.18s, border-color 0.18s, transform 0.12s, box-shadow 0.18s;
    text-decoration: none;
    padding: 13px 26px;
    line-height: 1;
}

.mn-btn-primary {
    background: var(--mn-orange);
    color: #fff !important;
    border-color: var(--mn-orange);
    box-shadow: 0 4px 20px rgba(232,68,10,.35);
}

.mn-btn-primary:hover {
    background: var(--mn-orange-hover);
    border-color: var(--mn-orange-hover);
    box-shadow: 0 8px 32px rgba(232,68,10,.50);
    transform: translateY(-2px);
}

.mn-btn-secondary {
    background: transparent;
    color: var(--mn-linen) !important;
    border-color: rgba(222,213,190,.55);
}

.mn-btn-secondary:hover {
    background: rgba(222,213,190,.10);
    border-color: var(--mn-linen);
}


/* ═══════════════════════════════════════════════════════════════
   BLOG LISTING (home.php)
   ═══════════════════════════════════════════════════════════════ */

/* Hero */
.mn-blog-hero {
    padding: 64px 0 48px;
    border-bottom: 1px solid rgba(222,213,190,.10);
}

.mn-blog-hero .mn-overline {
    margin-bottom: 16px;
    display: block;
}

.mn-blog-hero-sub {
    font-size: 19px;
    line-height: 1.7;
    color: rgba(222,213,190,.70);
    max-width: 560px;
    margin-top: 16px;
}

/* Grid */
.mn-blog-listing { padding: 64px 0 80px; }

.mn-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

/* Card — glass surface inherited from .mn-blog-card in Liquid Glass block */
.mn-blog-card {
    border-radius: var(--mn-radius-xl);
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
    display: flex;
    flex-direction: column;
}

/* hover lift handled by shared Liquid Glass block */

/* Thumbnail */
.mn-blog-card-thumb {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: rgba(222,213,190,.04);
}

.mn-blog-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
}

/* No image zoom on hover — card lift + shadow handles the interaction */

.mn-blog-card-thumb--empty {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* YouTube badge — subtle pill in meta row for video posts */
.mn-blog-card-yt-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .02em;
    color: rgba(222,213,190,.55);
    background: rgba(222,213,190,.06);
    border: 1px solid rgba(222,213,190,.10);
    border-radius: var(--mn-radius-sm);
    padding: 2px 8px 2px 6px;
    line-height: 1;
}
.mn-blog-card-yt-badge svg {
    flex-shrink: 0;
}

/* Body */
.mn-blog-card-body {
    padding: 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Meta */
.mn-blog-card-meta {
    font-size: 13px;
    color: rgba(222,213,190,.50);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.mn-meta-sep { opacity: .4; }

.mn-blog-card-cat {
    color: var(--mn-orange) !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 12px;
    background: rgba(232,68,10,.10);
    border: 1px solid rgba(232,68,10,.20);
    border-radius: var(--mn-radius-sm);
    padding: 2px 7px;
    text-decoration: none !important;
    transition: background 0.15s, border-color 0.15s;
}

.mn-blog-card-cat:hover,
.mn-blog-card-cat:focus,
.mn-blog-card-cat:visited {
    color: var(--mn-orange) !important;
    background: rgba(232,68,10,.18);
    border-color: rgba(232,68,10,.35);
    text-decoration: none;
}

/* Title */
.mn-blog-card-title {
    font-family: var(--mn-font-body);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
    margin-bottom: 10px;
}

.mn-blog-card-title a {
    color: var(--mn-linen);
    transition: color 0.15s;
}

.mn-blog-card-title a:hover {
    color: var(--mn-orange);
}

/* Excerpt */
.mn-blog-card-excerpt {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(222,213,190,.65);
    margin-bottom: 16px;
    flex: 1;
}

/* Read more */
.mn-blog-card-link {
    font-size: 15px;
    font-weight: 600;
    color: var(--mn-orange);
    transition: color 0.15s;
    margin-top: auto;
}

.mn-blog-card-link:hover {
    color: var(--mn-orange-hover);
}

/* Pagination */
.mn-blog-pagination {
    margin-top: 56px;
    text-align: center;
}

.mn-blog-pagination .nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.mn-blog-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    font-size: 14px;
    font-weight: 500;
    color: rgba(222,213,190,.65);
    background: rgba(222,213,190,.06);
    border: 1px solid rgba(222,213,190,.12);
    border-radius: var(--mn-radius-md);
    transition: all 0.15s;
}

.mn-blog-pagination .page-numbers:hover {
    color: var(--mn-linen);
    background: rgba(222,213,190,.12);
    border-color: rgba(222,213,190,.25);
}

.mn-blog-pagination .page-numbers.current {
    color: #fff;
    background: var(--mn-orange);
    border-color: var(--mn-orange);
}

.mn-blog-pagination .prev,
.mn-blog-pagination .next {
    font-weight: 600;
    color: var(--mn-linen);
}

/* Blog responsive */
@media (max-width: 1024px) {
    .mn-blog-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}

@media (max-width: 640px) {
    .mn-blog-grid { grid-template-columns: 1fr; gap: 20px; }
    .mn-blog-hero { padding: 48px 0 32px; }
    .mn-blog-listing { padding: 40px 0 56px; }
    .mn-blog-card-title { font-size: 18px; }
}


/* ═══════════════════════════════════════════════════════════════
   CASE STUDIES LISTING (page-case-studies.php)
   ═══════════════════════════════════════════════════════════════ */

/* Hero */
.mn-cs-hero {
    padding: 64px 0 48px;
    border-bottom: 1px solid rgba(222,213,190,.10);
}

.mn-cs-hero .mn-overline {
    margin-bottom: 16px;
    display: block;
}

.mn-cs-hero-sub {
    font-size: 19px;
    line-height: 1.7;
    color: rgba(222,213,190,.70);
    max-width: 600px;
    margin-top: 16px;
}

/* Grid — 3 columns */
.mn-cs-listing { padding: 64px 0 80px; }

.mn-cs-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

/* Card */
.mn-cs-card {
    background: linear-gradient(145deg, #2f5a48 0%, #243e35 55%, #1c3329 100%);
    border: 1px solid rgba(222,213,190,.14);
    border-top-color: rgba(222,213,190,.28);
    border-radius: var(--mn-radius-xl);
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
    display: flex;
    flex-direction: column;
}

.mn-cs-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 48px rgba(0,0,0,.45);
    border-color: rgba(222,213,190,.28);
}

/* Thumbnail */
.mn-cs-card-thumb {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: rgba(222,213,190,.04);
}

.mn-cs-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
}

/* No image zoom on hover — card lift + shadow handles the interaction */

.mn-cs-card-thumb--empty {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(222,213,190,.04);
}

/* Body */
.mn-cs-card-body {
    padding: 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Category tags */
.mn-cs-card-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
}

.mn-cs-card-tag {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--mn-orange);
    background: rgba(232,68,10,.10);
    border: 1px solid rgba(232,68,10,.20);
    border-radius: var(--mn-radius-sm);
    padding: 3px 8px;
}

/* Title */
.mn-cs-card-title {
    font-family: var(--mn-font-body);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
    margin-bottom: 10px;
}

.mn-cs-card-title a {
    color: var(--mn-linen);
    transition: color 0.15s;
}

.mn-cs-card-title a:hover {
    color: var(--mn-orange);
}

/* Excerpt */
.mn-cs-card-excerpt {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(222,213,190,.65);
    margin-bottom: 16px;
    flex: 1;
}

/* Link */
.mn-cs-card-link {
    font-size: 15px;
    font-weight: 600;
    color: var(--mn-orange);
    transition: color 0.15s;
    margin-top: auto;
}

.mn-cs-card-link:hover {
    color: var(--mn-orange-hover);
}

/* Case Studies responsive */
@media (max-width: 1024px) {
    .mn-cs-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}

@media (max-width: 640px) {
    .mn-cs-grid { grid-template-columns: 1fr; gap: 20px; }
    .mn-cs-hero { padding: 48px 0 32px; }
    .mn-cs-listing { padding: 40px 0 56px; }
    .mn-cs-card-title { font-size: 18px; }
}


/* ═══════════════════════════════════════════════════════════════
   SINGLE POST / 3-COLUMN LAYOUT + GUTENBERG BLOCKS
   ═══════════════════════════════════════════════════════════════ */

/* ── Post Hero ── */
.mn-post-hero {
    padding: 64px 0 56px;
    border-bottom: 1px solid rgba(222,213,190,.10);
}

.mn-post-hero-inner {
    max-width: 800px;
}

.mn-post-meta-top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    font-size: 13px;
    color: rgba(222,213,190,.50);
}

.mn-post-cat-badge {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--mn-orange);
    background: rgba(232,68,10,.10);
    border: 1px solid rgba(232,68,10,.20);
    border-radius: var(--mn-radius-sm);
    padding: 3px 8px;
}

.mn-post-title {
    font-family: var(--mn-font-display);
    font-size: clamp(2.2rem, 4.2vw, 3.2rem);
    font-weight: 500;
    line-height: 1.15;
    color: var(--mn-linen);
    margin-bottom: 0;
}

.mn-post-subtitle {
    font-size: 19px;
    line-height: 1.7;
    color: rgba(222,213,190,.70);
    margin-top: 20px;
    max-width: 640px;
}

/* ── Featured Image ── */
.mn-post-featured {
    background: var(--mn-forest);
    padding: 40px 0 0;
}

.mn-post-featured img {
    width: 100%;
    max-width: 900px;
    height: auto;
    border-radius: var(--mn-radius-xl);
    margin: 0 auto;
    display: block;
}

/* ── Post Body ── */
.mn-post-body {
    padding: 56px 0 80px;
}

/* ── 3-Column Layout ── */
.mn-post-layout {
    display: grid;
    grid-template-columns: 220px 1fr 260px;
    gap: 40px;
    max-width: 1320px;
}

/* Content column should align to top, not stretch */
.mn-post-content {
    align-self: start;
}

/* Reading column */
.mn-post-content {
    min-width: 0; /* prevent grid blowout */
    max-width: 740px;
    overflow: hidden; /* catch any content that tries to escape */
    font-family: var(--mn-font-body);
    font-size: 17px;
    line-height: 1.75;
    color: rgba(222,213,190,.85);
}

/* ── LEFT: Table of Contents ── */
.mn-toc-sidebar {
    display: block;
    /* stretches full grid row height so .mn-toc-sticky can stick inside it */
}

.mn-toc-sticky {
    position: sticky;
    top: 100px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
}

.mn-toc-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .10em;
    color: rgba(222,213,190,.45);
    margin-bottom: 16px;
    display: block;
}

.mn-toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
    border-left: 1px solid rgba(222,213,190,.12);
}

.mn-toc-list li {
    margin-bottom: 0;
}

.mn-toc-link {
    display: block;
    padding: 6px 0 6px 16px;
    font-size: 13px;
    line-height: 1.4;
    color: rgba(222,213,190,.55);
    text-decoration: none;
    border-left: 2px solid transparent;
    margin-left: -1px;
    transition: color 0.15s, border-color 0.15s;
}

.mn-toc-link:hover,
.mn-toc-link.is-active {
    color: #DED5BE;
    border-left-color: #E8440A;
}

/* Scrollbar styling for long ToCs */
.mn-toc-sticky::-webkit-scrollbar {
    width: 3px;
}
.mn-toc-sticky::-webkit-scrollbar-thumb {
    background: rgba(222,213,190,.15);
    border-radius: 3px;
}

/* ── RIGHT: Ad Banners ── */
.mn-ad-sidebar {
    display: block;
}

.mn-ad-sticky {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.mn-ad-banner {
    background: linear-gradient(145deg, #2f5a48 0%, #243e35 55%, #1c3329 100%);
    border: 1px solid rgba(222,213,190,.14);
    border-top-color: rgba(222,213,190,.28);
    border-radius: var(--mn-radius-xl);
    padding: 24px 20px;
    position: relative;
    overflow: hidden;
    color: rgba(222,213,190,.85); /* ensure text is visible inside widget wrappers */
}

/* Reset any block editor / Elementor inherited styles inside sidebar widgets */
.mn-sidebar-widget p,
.mn-sidebar-widget a,
.mn-sidebar-widget div {
    color: inherit;
}
.mn-sidebar-widget .mn-ad-overline { color: var(--mn-orange); }
.mn-sidebar-widget .mn-ad-title { color: var(--mn-linen); }
.mn-sidebar-widget .mn-ad-desc { color: rgba(222,213,190,.60); }
.mn-sidebar-widget .mn-ad-cta { color: #fff !important; }

/* Subtle top highlight */
.mn-ad-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(232,200,160,.35), transparent);
}

.mn-ad-icon {
    width: 44px;
    height: 44px;
    border-radius: var(--mn-radius-md);
    background: rgba(232,68,10,.12);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    color: var(--mn-orange);
}

.mn-ad-overline {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--mn-orange);
    margin-bottom: 6px;
}

.mn-ad-title {
    font-family: var(--mn-font-display);
    font-size: 17px;
    font-weight: 600;
    color: var(--mn-linen);
    line-height: 1.3;
    margin-bottom: 8px;
}

.mn-ad-desc {
    font-size: 13px;
    line-height: 1.55;
    color: rgba(222,213,190,.60);
    margin-bottom: 16px;
}

.mn-ad-cta {
    display: inline-flex;
    align-items: center;
    padding: 10px 18px;
    font-size: 13px;
    font-weight: 600;
    border-radius: var(--mn-radius-md);
    transition: all 0.18s;
    text-decoration: none;
    background: var(--mn-orange);
    color: #fff !important;
    box-shadow: 0 4px 16px rgba(232,68,10,.30);
}

.mn-ad-cta:hover {
    background: var(--mn-orange-hover);
    transform: translateY(-1px);
    box-shadow: 0 6px 24px rgba(232,68,10,.45);
}

.mn-ad-cta--ghost {
    background: transparent;
    color: var(--mn-linen) !important;
    border: 1px solid rgba(222,213,190,.35);
    box-shadow: none;
}

.mn-ad-cta--ghost:hover {
    background: rgba(222,213,190,.08);
    border-color: rgba(222,213,190,.55);
    transform: translateY(-1px);
}

/* ── Audit Hero Banner (taller sidebar CTA with image) ── */

.mn-ad-audit--hero {
    /* Audit-specific gradient: wider angle, deeper */
    background: linear-gradient(135deg, #2f5a49 0%, #1b3028 100%);
    border: 1px solid rgba(222,213,190,.18);
    border-top-color: rgba(222,213,190,.32);
    border-radius: var(--mn-radius-2xl, 24px);
    padding: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
}

/* Orange-accented top highlight (audit CTA variant per design system) */
.mn-ad-audit--hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(232,200,160,.5) 35%,
        rgba(232,68,10,.65) 65%,
        transparent 100%
    );
    z-index: 2;
}

/* Centered orange halo atmospheric lighting */
.mn-ad-audit--hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 90% 50% at 50% 30%, rgba(232,68,10,.06) 0%, transparent 65%);
    pointer-events: none;
    z-index: 0;
}

/* Content area */
.mn-ad-audit__content {
    position: relative;
    z-index: 1;
    padding: 28px 22px 20px;
}

/* Title — larger for the hero variant */
.mn-ad-audit--hero .mn-ad-audit__title {
    font-family: var(--mn-font-display, 'Newsreader', Georgia, serif);
    font-size: 20px;
    font-weight: 600;
    color: var(--mn-linen, #DED5BE);
    line-height: 1.25;
    margin-bottom: 16px;
    text-shadow: 0 2px 20px rgba(222,213,190,.15);
}

/* Checklist */
.mn-ad-audit__checklist {
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mn-ad-audit__checklist li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--mn-font-body, 'DM Sans', system-ui, sans-serif);
    font-size: 13px;
    line-height: 1.4;
    color: rgba(222,213,190,.78);
}

.mn-ad-audit__checklist svg {
    flex-shrink: 0;
    filter: drop-shadow(0 0 5px rgba(232,68,10,.4));
}

/* CTA button — full-width in sidebar */
.mn-ad-audit__cta {
    width: 100%;
    justify-content: center;
    padding: 12px 20px;
    font-size: 14px;
}

/* Image wrapper: clips the image to show top portion peeking up */
.mn-ad-audit__image-wrap {
    position: relative;
    z-index: 1;
    height: 160px;
    overflow: hidden;
    margin-top: auto;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    /* Soft fade at top so image blends into card */
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 25%);
    mask-image: linear-gradient(to bottom, transparent 0%, black 25%);
}

.mn-ad-audit__image {
    width: 75%;
    height: auto;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 -8px 24px rgba(0,0,0,.35));
    transform: translateY(8px);
    transition: transform 0.3s ease;
}

/* Hover: image peeks up slightly */
.mn-ad-audit--hero:hover .mn-ad-audit__image {
    transform: translateY(0);
}

/* ── Gutenberg: Paragraphs ── */
.mn-post-content p {
    margin-bottom: 1.5em;
    max-width: 68ch;
}

/* ── Gutenberg: Headings ── */

/* H2 — Major section heading (used in ToC)
   Newsreader, large, with a subtle decorative left border */
.mn-post-content h2,
.mn-post-content h2.wp-block-heading {
    font-family: var(--mn-font-display);
    font-size: clamp(1.6rem, 3vw, 2rem);
    font-weight: 600;
    line-height: 1.15;
    color: #DED5BE;
    margin-top: 2.8em;
    margin-bottom: 0.8em;
    padding-bottom: 0.5em;
    border-bottom: 1px solid rgba(222,213,190,.10);
    scroll-margin-top: 110px;
}

/* H3 — Sub-section heading
   DM Sans (body font), caps-like weight, smaller */
.mn-post-content h3,
.mn-post-content h3.wp-block-heading {
    font-family: var(--mn-font-body);
    font-size: clamp(1.1rem, 2vw, 1.3rem);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.01em;
    color: #DED5BE;
    margin-top: 2.2em;
    margin-bottom: 0.6em;
}

/* H4 — Minor heading / label
   DM Sans, uppercase overline style with orange accent */
.mn-post-content h4,
.mn-post-content h4.wp-block-heading {
    font-family: var(--mn-font-body);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--mn-orange);
    margin-top: 2em;
    margin-bottom: 0.5em;
}

/* H5 — Rare, inline label style */
.mn-post-content h5,
.mn-post-content h5.wp-block-heading {
    font-family: var(--mn-font-body);
    font-size: 14px;
    font-weight: 600;
    color: rgba(222,213,190,.70);
    margin-top: 1.5em;
    margin-bottom: 0.4em;
}

/* H6 — Smallest, caption-like */
.mn-post-content h6,
.mn-post-content h6.wp-block-heading {
    font-family: var(--mn-font-body);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.10em;
    color: rgba(222,213,190,.50);
    margin-top: 1.5em;
    margin-bottom: 0.4em;
}

/* Remove bold inside heading if editor doubled up */
.mn-post-content h2 strong,
.mn-post-content h3 strong,
.mn-post-content h4 strong {
    font-weight: inherit;
}

/* ── Gutenberg: Links ── */
.mn-post-content a {
    color: var(--mn-linen);
    text-decoration: underline;
    text-decoration-color: rgba(222,213,190,.35);
    text-underline-offset: 3px;
    transition: text-decoration-color 0.15s, color 0.15s;
}

.mn-post-content a:hover {
    text-decoration-color: var(--mn-orange);
    color: var(--mn-white);
}

/* ── Gutenberg: Images ── */
.mn-post-content .wp-block-image {
    margin: 2em 0;
}

.mn-post-content .wp-block-image img {
    border-radius: var(--mn-radius-lg);
    max-width: 100%;
    height: auto;
}

.mn-post-content .wp-block-image figcaption {
    font-size: 13px;
    color: rgba(222,213,190,.45);
    text-align: center;
    margin-top: 10px;
}

/* Keep images within reading column — sidebars on both sides */
.mn-post-content .wp-block-image.size-large,
.mn-post-content .wp-block-image.size-full {
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
}

.mn-post-content .wp-block-image.size-large img,
.mn-post-content .wp-block-image.size-full img {
    width: 100%;
}

/* ── Gutenberg: Embeds (YouTube, etc.) ── */
.mn-post-content .wp-block-embed {
    margin: 2em 0;
}

.mn-post-content .wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
    border-radius: var(--mn-radius-lg);
}

.mn-post-content .wp-block-embed__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.mn-post-content .wp-block-embed figcaption {
    font-size: 13px;
    color: rgba(222,213,190,.45);
    text-align: center;
    margin-top: 10px;
}

/* ── Gutenberg: Blockquotes ── */
.mn-post-content blockquote,
.mn-post-content .wp-block-quote {
    border-left: 3px solid var(--mn-orange);
    padding: 16px 24px;
    margin: 2em 0;
    font-family: var(--mn-font-display);
    font-style: italic;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.6;
    color: var(--mn-linen);
    background: rgba(222,213,190,.04);
    border-radius: 0 var(--mn-radius-md) var(--mn-radius-md) 0;
}

.mn-post-content blockquote p {
    margin-bottom: 0.5em;
}

.mn-post-content blockquote cite,
.mn-post-content .wp-block-quote cite {
    font-family: var(--mn-font-body);
    font-style: normal;
    font-size: 14px;
    color: rgba(222,213,190,.50);
    display: block;
    margin-top: 8px;
}

/* ── Gutenberg: Lists ── */
.mn-post-content ul,
.mn-post-content ol {
    padding-left: 1.5em;
    margin-bottom: 1.5em;
}

.mn-post-content ul { list-style: disc; }
.mn-post-content ol { list-style: decimal; }

.mn-post-content li {
    margin-bottom: 0.5em;
    line-height: 1.7;
}

.mn-post-content li::marker {
    color: var(--mn-orange);
}

/* ── Gutenberg: Separator / Divider ── */
.mn-post-content hr,
.mn-post-content .wp-block-separator {
    border: none;
    border-top: 1px solid rgba(222,213,190,.12);
    margin: 2.5em 0;
}

/* ── Gutenberg: Code / Preformatted ── */
.mn-post-content pre,
.mn-post-content code,
.mn-post-content .wp-block-code {
    font-family: 'JetBrains Mono', monospace;
    font-size: 13px;
    background: rgba(222,213,190,.06);
    border: 1px solid rgba(222,213,190,.10);
    border-radius: var(--mn-radius-md);
    color: rgba(222,213,190,.90);
}

.mn-post-content code {
    padding: 2px 6px;
    border-radius: var(--mn-radius-sm);
}

.mn-post-content pre {
    padding: 20px 24px;
    overflow-x: auto;
    margin: 2em 0;
}

.mn-post-content pre code {
    padding: 0;
    border: none;
    background: none;
}

/* ── Gutenberg: Table ── */
.mn-post-content table,
.mn-post-content .wp-block-table table {
    width: 100%;
    border-collapse: collapse;
    margin: 2em 0;
    font-size: 14px;
}

.mn-post-content table th {
    font-weight: 600;
    color: var(--mn-linen);
    text-align: left;
    padding: 12px 16px;
    border-bottom: 2px solid rgba(222,213,190,.18);
}

.mn-post-content table td {
    padding: 10px 16px;
    border-bottom: 1px solid rgba(222,213,190,.08);
    color: rgba(222,213,190,.78);
}

.mn-post-content table tr:hover td {
    background: rgba(222,213,190,.04);
}

/* ── Gutenberg: Gallery ── */
.mn-post-content .wp-block-gallery {
    margin: 2em 0;
    gap: 12px;
}

.mn-post-content .wp-block-gallery .wp-block-image img {
    border-radius: var(--mn-radius-md);
}

/* ── Gutenberg: Columns ── */
.mn-post-content .wp-block-columns {
    margin: 2em 0;
}

/* ── Gutenberg: Cover block ── */
.mn-post-content .wp-block-cover {
    border-radius: var(--mn-radius-xl);
    overflow: hidden;
    margin: 2em 0;
}

/* ── Post responsive ── */

/* Hide sidebars below 1200px — go single-column */
@media (max-width: 1200px) {
    .mn-post-layout {
        grid-template-columns: 1fr;
        max-width: 740px;
        margin: 0 auto;
    }

    .mn-toc-sidebar,
    .mn-ad-sidebar {
        display: none;
    }
}

@media (max-width: 768px) {
    .mn-post-hero { padding: 48px 0 40px; }
    .mn-post-title { font-size: 1.85rem; }
    .mn-post-body { padding: 40px 0 56px; }
    .mn-post-content { font-size: 16px; }
}


/* ═══════════════════════════════════════════════════════════════
   ELEMENTOR — AGGRESSIVE BACKGROUND OVERRIDE
   ──────────────────────────────────────────────────────────────
   Many legacy Elementor pages have non-green backgrounds set
   via inline styles (purple, white, light grey, etc.).
   These rules use high-specificity + !important to force them
   into the dark palette until each page is rebuilt.
   ═══════════════════════════════════════════════════════════════ */

/* Kill ALL non-dark section backgrounds on Elementor pages.
   This uses a broad selector: any section/container whose
   computed background is NOT in our green range gets overridden.
   We target the most common offenders by color value. */

/* Purple / blue (UICore secondary #532DF5 and neighbours) */
.elementor-section[style*="background-color: rgb(83, 45, 245)"],
.elementor-section[style*="background-color:#532DF5"],
.elementor-section[style*="background-color:#532df5"],
.e-con[style*="background-color: rgb(83, 45, 245)"],
.e-con[style*="background-color:#532DF5"],
.e-con[style*="background-color:#532df5"],
.elementor-element[style*="background-color: rgb(83, 45, 245)"],
.elementor-element[style*="background-color:#532DF5"],
.elementor-element[style*="background-color:#532df5"] {
    background-color: var(--mn-forest) !important;
}

/* Teal / green accent from UICore primary (#00C49A) */
.elementor-section[style*="background-color: rgb(0, 196, 154)"],
.elementor-section[style*="background-color:#00C49A"],
.elementor-section[style*="background-color:#00c49a"],
.e-con[style*="background-color: rgb(0, 196, 154)"],
.e-con[style*="background-color:#00C49A"],
.e-con[style*="background-color:#00c49a"] {
    background-color: var(--mn-sage) !important;
}

/* Red accent from UICore (#D1345B) */
.elementor-section[style*="background-color: rgb(209, 52, 91)"],
.elementor-section[style*="background-color:#D1345B"],
.elementor-section[style*="background-color:#d1345b"],
.e-con[style*="background-color: rgb(209, 52, 91)"],
.e-con[style*="background-color:#D1345B"],
.e-con[style*="background-color:#d1345b"] {
    background-color: var(--mn-forest-deep) !important;
}

/* White and near-white */
.elementor-section[style*="background-color: rgb(255, 255, 255)"],
.elementor-section[style*="background-color:#fff"],
.elementor-section[style*="background-color:#FFF"],
.elementor-section[style*="background-color: rgb(248, 252, 252)"],
.elementor-section[style*="background-color:#F8FCFC"],
.elementor-section[style*="background-color:#f8fcfc"],
.e-con[style*="background-color: rgb(255, 255, 255)"],
.e-con[style*="background-color:#fff"],
.e-con[style*="background-color:#FFF"],
.e-con[style*="background-color: rgb(248, 252, 252)"],
.e-con[style*="background-color:#F8FCFC"] {
    background-color: var(--mn-forest) !important;
}

/* Light grey variants */
.elementor-section[style*="background-color: rgb(245, 245, 245)"],
.elementor-section[style*="background-color: rgb(240, 240, 240)"],
.elementor-section[style*="background-color: rgb(250, 250, 250)"],
.elementor-section[style*="background-color:#f5f5f5"],
.elementor-section[style*="background-color:#f0f0f0"],
.elementor-section[style*="background-color:#fafafa"],
.e-con[style*="background-color: rgb(245, 245, 245)"],
.e-con[style*="background-color: rgb(240, 240, 240)"],
.e-con[style*="background-color: rgb(250, 250, 250)"] {
    background-color: var(--mn-forest-mid) !important;
}

/* Dark text overrides on flipped sections */
.elementor-section[style*="background-color: rgb(255, 255, 255)"] *,
.elementor-section[style*="background-color: rgb(248, 252, 252)"] *,
.elementor-section[style*="background-color: rgb(245, 245, 245)"] *,
.e-con[style*="background-color: rgb(255, 255, 255)"] *,
.e-con[style*="background-color: rgb(248, 252, 252)"] * {
    /* don't override images, buttons, icons — just text */
}

/* Black-text headings on white sections → linen */
.elementor-section[style*="color: rgb(7, 7, 7)"] .elementor-heading-title,
.elementor-section[style*="color: rgb(7, 7, 7)"] .elementor-widget-text-editor,
.e-con[style*="color: rgb(7, 7, 7)"] .elementor-heading-title,
.e-con[style*="color: rgb(7, 7, 7)"] .elementor-widget-text-editor {
    color: var(--mn-linen) !important;
}


/* ═══════════════════════════════════════════════════════════════
   PROCESS STEPS — "How It Works" (Header Badge)
   Number badge integrated into card top. Equal-height 4-col grid.
   Glass surface inherited from shared Liquid Glass block above.
   ═══════════════════════════════════════════════════════════════ */

.mn-stepA-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    align-items: stretch;
}

.mn-stepA-item {
    position: relative;
    display: flex;
}

/* Card — structure only (glass surface from Liquid Glass) */
.mn-stepA-card {
    padding: 32px 24px 28px;
    width: 100%;
    display: flex;
    flex-direction: column;
    border-radius: var(--mn-radius-xl);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    overflow: hidden;
}

/* Number Badge */
.mn-stepA-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: var(--mn-radius-lg);
    background: rgba(232,68,10,.10);
    border: 1.5px solid rgba(232,68,10,.30);
    font-family: var(--mn-font-body);
    font-size: 18px;
    font-weight: 700;
    color: var(--mn-orange);
    margin-bottom: 20px;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
    transition: background .3s, border-color .3s;
}

.mn-stepA-card:hover .mn-stepA-badge {
    background: rgba(232,68,10,.18);
    border-color: rgba(232,68,10,.50);
}

.mn-stepA-title {
    font-family: var(--mn-font-body);
    font-size: 18px;
    font-weight: 700;
    color: var(--mn-linen);
    line-height: 1.35;
    margin-bottom: 8px;
    position: relative;
    z-index: 2;
}

.mn-stepA-desc {
    font-family: var(--mn-font-body);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.65;
    color: rgba(222,213,190,.68);
    flex: 1;
    position: relative;
    z-index: 2;
}

/* ── Responsive — Process Steps ──────────────────────────────── */

@media (max-width: 960px) {
    .mn-stepA-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 600px) {
    .mn-stepA-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .mn-stepA-card {
        flex-direction: row;
        align-items: flex-start;
        gap: 16px;
        padding: 24px 20px;
    }
    .mn-stepA-badge {
        margin-bottom: 0;
        width: 42px;
        height: 42px;
        font-size: 16px;
    }
    .mn-stepA-content {
        flex: 1;
        min-width: 0;
    }
    .mn-stepA-title {
        font-size: 17px;
        margin-bottom: 4px;
    }
    .mn-stepA-desc {
        font-size: 14px;
        line-height: 1.55;
    }
}



/* ── Nuclear option for columns with inline backgrounds ──
   Elementor also sets bg on individual columns (.elementor-column)
   and on the new Flexbox containers (.e-con). */
.elementor-column[style*="background-color: rgb(83, 45, 245)"],
.elementor-column[style*="background-color:#532DF5"],
.elementor-column[style*="background-color:#532df5"] {
    background-color: var(--mn-forest-light) !important;
}

.elementor-column[style*="background-color: rgb(255, 255, 255)"],
.elementor-column[style*="background-color:#ffffff"],
.elementor-column[style*="background-color:#FFFFFF"] {
    background-color: var(--mn-forest) !important;
}

/* ── Elementor widget wrappers with inline bg ── */
.elementor-widget-wrap[style*="background-color: rgb(83, 45, 245)"],
.elementor-widget-wrap[style*="background-color:#532DF5"] {
    background-color: var(--mn-forest-light) !important;
}

.elementor-widget-wrap[style*="background-color: rgb(255, 255, 255)"],
.elementor-widget-wrap[style*="background-color:#ffffff"] {
    background-color: var(--mn-forest) !important;
}

/* ═══════════════════════════════════════════════════════════════
   FRONT PAGE (front-page.php)
   ═══════════════════════════════════════════════════════════════ */

/* ─── 3-Tier Button System ─────────────────────────────────── */
/*
 * Tier 1  .mn-btn--hero     — Orange + glow. Max 1 per viewport. Conversion magnet.
 * Tier 2  .mn-btn--primary  — Orange solid, no glow. Mid-page CTAs, sidebars.
 * Tier 3  .mn-btn--ghost    — Outline. Secondary actions (quiz, watch video, view all).
 *
 * All tiers share .mn-btn base.
 */
.mn-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--mn-font-body);
    font-size: 16px;
    font-weight: 600;
    padding: 15px 30px;
    border-radius: var(--mn-radius-md);
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .15s ease, box-shadow .25s ease;
    cursor: pointer;
    border: none;
    text-decoration: none !important;
    white-space: nowrap;
}

/* Beat Hello Elementor reset.css which sets button,[type=button] to
   background-color:transparent; border:1px solid #c36; color:#c36.
   [type=button] has specificity (0,1,0). button.mn-btn--* at (0,2,0)
   guarantees the override without clobbering tier backgrounds.       */
button.mn-btn {
    border: none;
    -webkit-appearance: none;
    appearance: none;
}
button.mn-btn--hero,
button.mn-btn--hero:hover,
button.mn-btn--hero:focus {
    background: var(--mn-orange);
    color: #fff !important;
    border: none;
}
button.mn-btn--hero:hover {
    background: var(--mn-orange-hover);
    box-shadow: 0 8px 32px rgba(232,68,10,.50);
    transform: translateY(-1px);
}
button.mn-btn--primary,
button.mn-btn--primary:hover,
button.mn-btn--primary:focus {
    background: var(--mn-orange);
    color: #fff !important;
    border: none;
}
button.mn-btn--primary:hover {
    background: var(--mn-orange-hover);
}
button.mn-btn--ghost,
button.mn-btn--ghost:hover,
button.mn-btn--ghost:focus {
    background: transparent;
    color: var(--mn-linen) !important;
}
button.mn-btn--ghost {
    border: 1px solid rgba(222,213,190,.3);
}
button.mn-btn--ghost:hover {
    border-color: rgba(222,213,190,.6);
    background: rgba(222,213,190,.08);
}

/* Tier 1 — Hero CTA (glow) */
.mn-btn--hero {
    background: var(--mn-orange);
    color: #fff !important;
    box-shadow: 0 4px 20px rgba(232,68,10,.35);
}
.mn-btn--hero:hover {
    background: var(--mn-orange-hover);
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 32px rgba(232,68,10,.50);
}

/* Tier 2 — Standard CTA (solid, no glow) */
.mn-btn--primary {
    background: var(--mn-orange);
    color: #fff !important;
}
.mn-btn--primary:hover {
    background: var(--mn-orange-hover);
    color: #fff !important;
}

/* Tier 3 — Ghost CTA (outline) */
.mn-btn--ghost {
    background: transparent;
    color: var(--mn-linen) !important;
    border: 1px solid rgba(222,213,190,.3);
}
.mn-btn--ghost:hover {
    border-color: rgba(222,213,190,.6);
    background: rgba(222,213,190,.08);
    color: var(--mn-linen) !important;
}

/* Compact variant for inline/header use */
.mn-btn--sm {
    height: 36px;
    padding: 0 16px;
    font-size: 14px;
}


/* ─── Section 1: Hero ──────────────────────────────────────── */
.mn-hp-hero {
    padding: 120px 0 80px;
    text-align: center;
}
.mn-hp-hero-inner {
    max-width: 1020px;
    margin: 0 auto;
}
.mn-hp-hero-heading {
    font-family: var(--mn-font-display);
    font-size: clamp(2.4rem, 5.5vw, 4rem);
    font-weight: 500;
    line-height: 1.2;
    color: var(--mn-linen);
    margin-bottom: 28px;
    text-shadow: 0 0 40px rgba(222,213,190,.15), 0 0 80px rgba(222,213,190,.08);
}
.mn-hp-hero-heading u {
    text-decoration-color: var(--mn-orange);
    text-underline-offset: 4px;
    text-decoration-thickness: 2px;
}
.mn-hp-hero-heading i {
    font-style: italic;
}
.mn-hp-hero-sub {
    font-size: clamp(1.1rem, 2.2vw, 1.3rem);
    line-height: 1.7;
    color: rgba(222,213,190,.75);
    margin-bottom: 40px;
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}
.mn-hp-hero-ctas {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 28px;
}
button.mn-hp-video-trigger {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: transparent;
    border: none;
    color: rgba(222,213,190,.7);
    font-family: var(--mn-font-body);
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: color .2s;
    padding: 8px 0;
    margin-bottom: 40px;
    box-shadow: none;
    border-radius: 0;
    text-transform: none;
    letter-spacing: normal;
    -webkit-appearance: none;
    appearance: none;
}
button.mn-hp-video-trigger:hover,
button.mn-hp-video-trigger:focus,
button.mn-hp-video-trigger:active {
    color: var(--mn-linen);
    background: transparent;
    border: none;
    box-shadow: none;
}
.mn-hp-video-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1.5px solid rgba(222,213,190,.35);
    background: rgba(222,213,190,.08);
    transition: all .2s;
}
/* When used inline (inside a flex CTA row), strip the standalone margin */
button.mn-hp-video-trigger--inline {
    margin-bottom: 0;
    padding: 0;
}
.mn-hp-video-trigger:hover .mn-hp-video-icon {
    border-color: rgba(222,213,190,.6);
    background: rgba(222,213,190,.15);
}
.mn-hp-video-icon svg {
    width: 16px;
    height: 16px;
    margin-left: 2px;
}

/* Social proof bar (front-page hero) */
.mn-hp-social-proof {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    margin-top: 12px;
}
.mn-hp-avatar-stack {
    display: flex;
    align-items: center;
}
.mn-hp-avatar-stack-img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid var(--mn-forest-deep);
    object-fit: cover;
    margin-left: -10px;
}
.mn-hp-avatar-stack-img:first-child {
    margin-left: 0;
}
.mn-hp-social-proof-text {
    font-size: 13px;
    color: rgba(222,213,190,.5);
    text-align: center;
}
.mn-hp-social-proof-strong {
    color: rgba(222,213,190,.7);
    font-weight: 600;
}

/* Salesforce Certification Badges (glass pill) */
.mn-nh-certs-wrap {
    display: flex;
    justify-content: center;
}
.mn-nh-certs-pill {
    display: inline-flex;
    align-items: center;
    gap: 22px;
    padding: 16px 32px 16px 26px;
    max-width: 100%;
    background: rgba(222,213,190,.06);
    border: 1px solid rgba(222,213,190,.10);
    border-radius: var(--mn-radius-full);
    backdrop-filter: blur(24px) saturate(1.4);
    -webkit-backdrop-filter: blur(24px) saturate(1.4);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), inset 0 -1px 0 rgba(0,0,0,.12), 0 4px 24px rgba(0,0,0,.15);
}
.mn-nh-cert-badges {
    flex-wrap: wrap;
    justify-content: center;
}
.mn-nh-certs-label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(222,213,190,.5);
    white-space: nowrap;
    padding-right: 14px;
    border-right: 1px solid rgba(222,213,190,.12);
}
.mn-nh-cert-badges {
    display: flex;
    align-items: center;
    gap: 14px;
}
.mn-nh-cert-badge {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    object-fit: contain;
    transition: transform 0.25s ease;
}
.mn-nh-cert-badge:hover {
    transform: scale(1.08) translateY(-2px);
}


/* ─── Section 2: Challenges ────────────────────────────────── */
.mn-hp-challenges {
    padding: 80px 0;
}
/* Section heading convention: .mn-overline (orange uppercase) + .mn-hp-section-heading (Newsreader) */
.mn-hp-section-overline {
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: var(--mn-linen);
    margin-bottom: 14px;
    display: block;
}
.mn-hp-section-overline::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 2px;
    background: var(--mn-orange);
    vertical-align: middle;
    margin-right: .65em;
    margin-top: -2px;
}
.mn-hp-section-heading {
    font-family: var(--mn-font-display);
    font-size: clamp(1.85rem, 3.8vw, 2.85rem);
    font-weight: 500;
    color: var(--mn-linen);
    margin-bottom: 40px;
}
.mn-hp-section-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 40px;
}
.mn-hp-section-header .mn-hp-section-heading {
    margin-bottom: 0;
}
.mn-hp-see-all {
    font-size: 15px;
    font-weight: 600;
    color: var(--mn-orange) !important;
    white-space: nowrap;
}
.mn-hp-see-all:hover {
    color: var(--mn-orange-hover) !important;
}

.mn-hp-challenge-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
/* Challenge card — glass surface inherited from Liquid Glass block */
.mn-hp-challenge-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 32px 28px 26px;
    border-radius: var(--mn-radius-xl);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    text-decoration: none !important;
}
/* hover lift handled by shared Liquid Glass block */
.mn-hp-challenge-top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 4px;
}
.mn-hp-challenge-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: var(--mn-radius-md);
    background: rgba(232,68,10,.14);
    color: var(--mn-orange);
    flex-shrink: 0;
}
.mn-hp-challenge-icon svg {
    width: 22px;
    height: 22px;
}
.mn-hp-challenge-service {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--mn-orange);
    opacity: .85;
}
.mn-hp-challenge-hook {
    font-family: var(--mn-font-body);
    font-size: clamp(1.3rem, 2.5vw, 1.55rem);
    font-weight: 600;
    color: var(--mn-linen);
    line-height: 1.3;
}
.mn-hp-challenge-desc {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(222,213,190,.62);
    flex: 1;
}
.mn-hp-challenge-cta {
    font-size: 14px;
    font-weight: 600;
    color: var(--mn-orange) !important;
    margin-top: 4px;
    transition: gap .2s ease;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.mn-hp-challenge-card:hover .mn-hp-challenge-cta {
    gap: 8px;
}


/* ─── Section 3: Mid CTA ──────────────────────────────────── */
/* Mid-CTA: full-width pause between challenges and content sections.
   Uses forest-deep bg with top/bottom borders for visual separation. */
.mn-hp-mid-cta {
    padding: 72px 0;
    background: var(--mn-forest-deep);
    border-top: 1px solid rgba(222,213,190,.08);
    border-bottom: 1px solid rgba(222,213,190,.08);
}
.mn-hp-mid-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
}
.mn-hp-mid-cta-content {
    flex: 1;
    min-width: 0;
}
.mn-hp-mid-cta-heading {
    font-family: var(--mn-font-display);
    font-size: clamp(1.85rem, 3.8vw, 2.85rem);
    font-weight: 500;
    color: var(--mn-linen);
    margin: 0 0 14px;
}
.mn-hp-mid-cta-desc {
    font-size: 17px;
    line-height: 1.7;
    color: rgba(222,213,190,.7);
    margin: 0;
    max-width: 60ch;
}
.mn-hp-mid-cta-btn {
    flex-shrink: 0;
    white-space: nowrap;
}


/* ─── Reusable Card Carousel (posts, cases, etc.) ─────────── */
.mn-carousel-section {
    padding: 80px 0;
    overflow: hidden;                      /* prevent horizontal page scroll     */
}
.mn-carousel-viewport {
    overflow: visible;
    clip-path: inset(-8px -20px -40px -20px);   /* T R B L — expand outward      */
    /* 20px horiz < 24px gap → 4th card hidden; 40px bottom for shadow + lift     */
}
.mn-carousel-track {
    display: flex;
    gap: 24px;
    transition: transform .45s cubic-bezier(.4,0,.2,1);
    will-change: transform;
    align-items: stretch;
}
.mn-carousel-slide {
    flex: 0 0 calc(33.333% - 16px);
    display: flex;
    min-width: 0;
}
.mn-carousel-slide .mn-blog-card {
    width: 100%;
    display: flex;
    flex-direction: column;
}
.mn-carousel-slide .mn-blog-card-thumb {
    aspect-ratio: 16/9;
    overflow: hidden;
}
.mn-carousel-slide .mn-blog-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* Controls row: dots + arrows left, "View all" right */
.mn-carousel-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 32px;
}
.mn-carousel-controls-left {
    display: flex;
    align-items: center;
    gap: 16px;
}
.mn-carousel-dots {
    display: flex;
    gap: 6px;
    align-items: center;
}
button.mn-carousel-dot {
    width: 7px !important;
    height: 7px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    border-radius: 50% !important;
    background: rgba(222,213,190,.2) !important;
    border: none !important;
    padding: 0 !important;
    margin: 0;
    cursor: pointer;
    transition: background .2s, transform .2s;
    font-size: 0 !important;
    line-height: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    outline: none;
}
button.mn-carousel-dot.active {
    background: var(--mn-orange) !important;
    transform: scale(1.3);
}
.mn-carousel-arrows {
    display: flex;
    gap: 8px;
}
button.mn-carousel-arrow {
    width: 40px;
    height: 40px;
    border: 1px solid rgba(222,213,190,.2);
    border-radius: var(--mn-radius-sm);
    background: rgba(222,213,190,.06);
    color: rgba(222,213,190,.7);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s, border-color .2s;
    box-shadow: none;
    padding: 0;
    font-size: 0;
    line-height: 0;
    -webkit-appearance: none;
    appearance: none;
}
.mn-carousel-arrow svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
button.mn-carousel-arrow:hover {
    background: rgba(222,213,190,.12);
    border-color: rgba(222,213,190,.3);
    color: var(--mn-linen);
    box-shadow: none;
}
button.mn-carousel-arrow:focus {
    outline: 2px solid var(--mn-orange);
    outline-offset: 2px;
    background: rgba(222,213,190,.06);
    box-shadow: none;
}
button.mn-carousel-arrow:active {
    background: rgba(222,213,190,.15);
    box-shadow: none;
}


/* ─── Section 6: Testimonials ──────────────────────────────── */
.mn-hp-testimonials {
    padding: 80px 0;
    overflow: hidden;
}
.mn-hp-testi-viewport {
    overflow: visible;
    clip-path: inset(-8px -20px -40px -20px);
}
.mn-hp-testi-track {
    display: flex;
    gap: 24px;
    transition: transform .45s cubic-bezier(.4,0,.2,1);
    will-change: transform;
    align-items: stretch;
}
.mn-hp-testi-card {
    flex: 0 0 calc(50% - 12px);
    display: flex;
    flex-direction: column;
    min-width: 0;
}
/* Testimonial bubble — glass surface inherited from Liquid Glass block */
.mn-hp-testi-bubble {
    border-radius: var(--mn-radius-xl);
    padding: 32px;
    flex: 1;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.mn-hp-testi-quote {
    font-family: Georgia, serif;
    font-size: 48px;
    line-height: 1;
    color: rgba(222,213,190,.3);
    display: block;
    margin-bottom: 10px;
}
.mn-hp-testi-text {
    font-size: 17px;
    line-height: 1.8;
    color: rgba(222,213,190,.9);
}
.mn-hp-testi-divider {
    height: 1px;
    background: rgba(222,213,190,.12);
    margin: 24px 0 20px;
}
.mn-hp-testi-person {
    display: flex;
    align-items: center;
    gap: 14px;
}
.mn-hp-testi-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(222,213,190,.2);
    flex-shrink: 0;
}
.mn-hp-testi-info {
    flex: 1;
    min-width: 0;
}
.mn-hp-testi-name {
    display: block;
    font-weight: 600;
    font-size: 16px;
    color: var(--mn-linen);
}
.mn-hp-testi-role {
    display: block;
    font-size: 14px;
    color: rgba(222,213,190,.55);
    margin-top: 2px;
}
.mn-hp-testi-links {
    display: flex;
    gap: 10px;
    margin-top: 14px;
    align-items: center;
    flex-wrap: wrap;
}
.mn-hp-testi-li-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 14px;
    color: rgba(222,213,190,.5) !important;
    transition: color .15s;
}
.mn-hp-testi-li-link:hover {
    color: var(--mn-linen) !important;
}
button.mn-hp-testi-video-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .04em;
    color: rgba(222,213,190,.7);
    background: rgba(222,213,190,.08);
    border: 1px solid rgba(222,213,190,.18);
    border-radius: 3px;
    padding: 3px 8px;
    transition: all .15s;
    cursor: pointer;
    box-shadow: none;
    text-transform: none;
    -webkit-appearance: none;
    appearance: none;
}
button.mn-hp-testi-video-link:hover,
button.mn-hp-testi-video-link:focus,
button.mn-hp-testi-video-link:active {
    background: rgba(222,213,190,.16);
    color: var(--mn-linen);
    border-color: rgba(222,213,190,.28);
    box-shadow: none;
}
.mn-hp-testi-video-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgba(222,213,190,.5);
}
.mn-hp-testi-cs-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--mn-orange) !important;
    background: rgba(232,68,10,.1);
    border: 1px solid rgba(232,68,10,.2);
    padding: 4px 10px;
    border-radius: var(--mn-radius-full);
    transition: background .15s, color .15s;
    text-decoration: none !important;
}
.mn-hp-testi-cs-link:hover {
    background: rgba(232,68,10,.18);
    border-color: rgba(232,68,10,.35);
    color: var(--mn-orange) !important;
}

/* Testimonial controls */
.mn-hp-testi-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 32px;
}
.mn-hp-testi-dots {
    display: flex;
    gap: 8px;
    align-items: center;
}
button.mn-hp-testi-dot {
    width: 7px !important;
    height: 7px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    border-radius: 50% !important;
    background: rgba(222,213,190,.2) !important;
    border: none !important;
    padding: 0 !important;
    margin: 0;
    cursor: pointer;
    transition: all .2s;
    font-size: 0 !important;
    line-height: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    outline: none;
}
button.mn-hp-testi-dot.active {
    background: var(--mn-linen) !important;
    width: 22px !important;
    border-radius: 4px !important;
}
.mn-hp-testi-arrows {
    display: flex;
    gap: 8px;
}
button.mn-hp-testi-arrow {
    width: 40px;
    height: 40px;
    border: 1px solid rgba(222,213,190,.2);
    border-radius: var(--mn-radius-sm);
    background: rgba(222,213,190,.06);
    color: rgba(222,213,190,.75);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .2s;
    box-shadow: none;
    padding: 0;
    font-size: 0;
    line-height: 0;
    -webkit-appearance: none;
    appearance: none;
}
button.mn-hp-testi-arrow:hover,
button.mn-hp-testi-arrow:focus,
button.mn-hp-testi-arrow:active {
    border-color: rgba(222,213,190,.45);
    background: rgba(222,213,190,.12);
    color: var(--mn-linen);
    box-shadow: none;
}
.mn-hp-testi-arrow svg {
    width: 16px;
    height: 16px;
    stroke: rgba(222,213,190,.75);
    fill: none;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* ─── Section 7: Audit CTA ────────────────────────────────── */
.mn-hp-audit {
    padding: 80px 0 0;
    overflow: hidden;
}
.mn-hp-audit-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start;
    max-width: 1100px;
    margin: 0 auto;
}
.mn-hp-audit-content {
    padding: 20px 0 80px;
}
.mn-hp-audit-heading {
    font-family: var(--mn-font-display);
    font-size: clamp(1.85rem, 3.8vw, 2.85rem);
    font-weight: 500;
    color: var(--mn-linen);
    margin-bottom: 18px;
}
.mn-hp-audit-desc {
    font-size: 17px;
    line-height: 1.7;
    color: rgba(222,213,190,.7);
    margin-bottom: 22px;
}
/* Bullet list */
.mn-hp-audit-bullets {
    list-style: none;
    padding: 0;
    margin: 0 0 28px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.mn-hp-audit-bullet {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 16px;
    color: rgba(222,213,190,.8);
    line-height: 1.6;
}
.mn-hp-audit-check {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}
/* Image: peeking from bottom of section */
/* Image peeks from bottom: the visual container overflows the section.
   Section has overflow:hidden so the bottom of the image is clipped at the section floor.
   Only the top ~60% of the report is visible — creating the "peeking" illusion. */
.mn-hp-audit-visual {
    position: relative;
    align-self: start;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    margin-top: 20px;
    /* Let the image overflow — the SECTION clips it */
    overflow: visible;
}
.mn-hp-audit-img {
    width: 80%;
    max-width: 380px;
    height: auto;
    display: block;
    filter: drop-shadow(0 8px 32px rgba(0,0,0,.35));
    /* Push image down so bottom hangs past section floor */
    margin-bottom: -220px;
    transition: transform .3s ease;
}
.mn-hp-audit-inner:hover .mn-hp-audit-img {
    transform: translateY(-12px);
}


/* ─── Video Modal ──────────────────────────────────────────── */
.mn-video-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
}
.mn-video-modal.is-open {
    opacity: 1;
    visibility: visible;
}
.mn-video-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.85);
}
.mn-video-modal-content {
    position: relative;
    width: 90vw;
    max-width: 960px;
    z-index: 1;
    transform: scale(.95);
    transition: transform .3s ease;
}
.mn-video-modal.is-open .mn-video-modal-content {
    transform: scale(1);
}
button.mn-video-modal-close {
    position: absolute;
    top: -44px;
    right: 0;
    width: 36px;
    height: 36px;
    background: none;
    border: none;
    color: rgba(255,255,255,.7);
    cursor: pointer;
    transition: color .2s;
    box-shadow: none;
    padding: 0;
    border-radius: 0;
    font-size: 0;
    line-height: 0;
    -webkit-appearance: none;
    appearance: none;
}
button.mn-video-modal-close:hover,
button.mn-video-modal-close:focus,
button.mn-video-modal-close:active {
    color: #fff;
    background: none;
    border: none;
    box-shadow: none;
}
.mn-video-modal-close svg {
    width: 24px;
    height: 24px;
}
.mn-video-modal-embed {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: var(--mn-radius-lg);
}
.mn-video-modal-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}


/* ─── Front Page Responsive ────────────────────────────────── */
@media (max-width: 1024px) {
    .mn-carousel-slide {
        flex: 0 0 calc(50% - 12px);
    }
    .mn-hp-challenge-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .mn-hp-audit-inner {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .mn-hp-audit-content {
        padding-bottom: 40px;
    }
    .mn-hp-audit-visual {
        margin: 0 auto;
        max-width: 320px;
    }
    .mn-hp-audit-img {
        margin-bottom: -80px;
    }
}

@media (max-width: 768px) {
    .mn-hp-hero {
        padding: 64px 0 48px;
    }
    .mn-hp-challenge-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .mn-hp-challenge-card {
        padding: 22px 20px 20px;
    }
    .mn-hp-challenge-desc {
        font-size: 13px;
    }
    .mn-carousel-slide {
        flex: 0 0 100%;
    }
    .mn-carousel-controls {
        flex-direction: column;
        gap: 16px;
        align-items: flex-start;
    }
    .mn-hp-testi-card {
        flex: 0 0 100%;
    }
    .mn-hp-mid-cta-inner {
        flex-direction: column;
        text-align: center;
        gap: 24px;
    }
    .mn-hp-mid-cta-desc {
        max-width: 100%;
    }
.mn-hp-hero-ctas {
        flex-direction: column;
        align-items: center;
    }
    /* cert badges responsive moved to dedicated block below */
    .mn-hp-hero-ctas .mn-btn {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .mn-hp-testi-bubble {
        padding: 22px;
    }
    .mn-hp-testi-text {
        font-size: 14px;
    }
}


/* ═══════════════════════════════════════════════════════════════
   SALES SYSTEM PAGE  (page-sales-system.php)
   ═══════════════════════════════════════════════════════════════ */

/* ── Hero ── */
.mn-ss-hero {
    padding: 120px 0 80px;
    text-align: center;
}
.mn-ss-hero-inner {
    max-width: 900px;
    margin: 0 auto;
}
.mn-ss-hero-heading {
    font-family: var(--mn-font-display);
    font-size: clamp(2.4rem, 5.5vw, 4rem);
    font-weight: 500;
    color: var(--mn-linen);
    line-height: 1.2;
    margin-bottom: 28px;
    text-shadow: 0 0 40px rgba(222,213,190,.15), 0 0 80px rgba(222,213,190,.08);
}
.mn-ss-hero-sub {
    font-size: clamp(1.1rem, 2.2vw, 1.3rem);
    line-height: 1.7;
    color: rgba(222,213,190,.75);
    margin-bottom: 40px;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}
.mn-ss-hero-ctas {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

/* ── Stat Bar (metrics above the fold) ── */
.mn-ss-stat-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-bottom: 40px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}
.mn-ss-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    flex: 1;
    padding: 0 24px;
}
.mn-ss-stat-num {
    font-family: var(--mn-font-display);
    font-size: clamp(2rem, 4vw, 2.8rem);
    font-weight: 500;
    color: var(--mn-linen);
    line-height: 1;
    text-shadow: 0 0 30px rgba(222,213,190,.12);
}
.mn-ss-stat-label {
    font-size: 13px;
    font-weight: 500;
    color: rgba(222,213,190,.50);
    letter-spacing: .02em;
    white-space: nowrap;
}
.mn-ss-stat-sep {
    width: 1px;
    height: 40px;
    background: rgba(222,213,190,.15);
    flex-shrink: 0;
}

/* ── Section Dividers (DS §1 — every boundary gets a border-top) ── */
.mn-ss-compare   { border-top: 1px solid rgba(222,213,190,.10); }
.mn-ss-fit       { border-top: 1px solid rgba(222,213,190,.10); }
.mn-ss-founder   { border-top: 1px solid rgba(222,213,190,.10); }
.mn-ss-steps     { border-top: 1px solid rgba(222,213,190,.10); }
.mn-ss-faq       { border-top: 1px solid rgba(222,213,190,.10); }
/* Action dividers — orange before CTA sections */
.mn-ss-final-cta { border-top: 1px solid rgba(232,68,10,.35); }
/* Shared partials on SS page (body.mn-page-dark) */
body.mn-page-dark .mn-hp-testimonials { border-top: 1px solid rgba(222,213,190,.10); }
body.mn-page-dark .mn-hp-audit        { border-top: 1px solid rgba(232,68,10,.35); }

/* ── Before/After Comparison (split screen) ── */
.mn-ss-compare {
    padding: 80px 0;
    text-align: center;
}
.mn-ss-compare .mn-hp-section-overline,
.mn-ss-compare .mn-hp-section-heading {
    text-align: center;
}

/* Centered split container */
.mn-ss-compare-split {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 0;
    margin-top: 40px;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}

/* Each side — glass surface with shared Liquid Glass hover/glow */
.mn-ss-compare-side {
    padding: 36px 32px 30px;
    border-radius: var(--mn-radius-xl);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    position: relative;
    text-align: left;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

/* Pain side — pale warm reddish glass */
.mn-ss-compare-side--pain {
    background:
        linear-gradient(170deg, rgba(180,100,80,.08) 0%, rgba(160,80,60,.03) 35%, transparent 60%),
        linear-gradient(145deg, rgba(55,75,66,.92) 0%, rgba(42,58,50,.88) 55%, rgba(34,48,42,.85) 100%);
    border: 1px solid rgba(200,140,120,.12);
    border-top-color: rgba(200,140,120,.22);
    border-left-color: rgba(200,140,120,.16);
    box-shadow:
        inset 0 1px 0 0 rgba(200,140,120,.08),
        0 2px 8px rgba(0,0,0,.18);
    border-radius: var(--mn-radius-xl) 0 0 var(--mn-radius-xl);
}

/* Gain side — standard green glass */
.mn-ss-compare-side--gain {
    background:
        linear-gradient(170deg, rgba(222,213,190,.10) 0%, rgba(222,213,190,.04) 30%, transparent 55%),
        linear-gradient(145deg, rgba(47,90,72,.92) 0%, rgba(36,62,53,.88) 55%, rgba(28,51,41,.85) 100%);
    border: 1px solid rgba(222,213,190,.14);
    border-top-color: rgba(222,213,190,.26);
    border-right-color: rgba(222,213,190,.20);
    box-shadow:
        inset 0 1px 0 0 rgba(222,213,190,.12),
        0 2px 8px rgba(0,0,0,.18);
    border-radius: 0 var(--mn-radius-xl) var(--mn-radius-xl) 0;
}

/* Pain side hover — brighten the warm-tinted borders (overrides shared Liquid Glass hover) */
.mn-ss-compare-side--pain:hover {
    border-color: rgba(200,140,120,.24);
    border-top-color: rgba(200,140,120,.36);
    box-shadow:
        inset 0  1px 0 0 rgba(200,140,120,.14),
        inset 1px 0  0 0 rgba(200,140,120,.06),
        0 8px 24px rgba(0,0,0,.40),
        0 0 0 1px rgba(200,140,120,.06);
}

/* Keep split border-radius on hover (shared hover doesn't know about split corners) */
.mn-ss-compare-side--pain,
.mn-ss-compare-side--pain:hover {
    border-radius: var(--mn-radius-xl) 0 0 var(--mn-radius-xl);
}
.mn-ss-compare-side--gain,
.mn-ss-compare-side--gain:hover {
    border-radius: 0 var(--mn-radius-xl) var(--mn-radius-xl) 0;
}

/* Center connector — vertical line + arrow */
.mn-ss-compare-connector {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 48px;
    position: relative;
    z-index: 2;
}
.mn-ss-compare-connector-line {
    flex: 1;
    width: 1px;
    background: linear-gradient(180deg,
        transparent 0%,
        rgba(222,213,190,.15) 30%,
        rgba(222,213,190,.15) 70%,
        transparent 100%
    );
}
.mn-ss-compare-connector-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(222,213,190,.08);
    border: 1px solid rgba(222,213,190,.12);
    color: rgba(222,213,190,.50);
    flex-shrink: 0;
}

/* Labels */
.mn-ss-compare-label {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 5px 14px;
    border-radius: var(--mn-radius-full);
    margin-bottom: 22px;
}
.mn-ss-compare-label--pain {
    background: rgba(200,100,80,.12);
    color: rgba(230,160,140,.80);
}
.mn-ss-compare-label--gain {
    background: rgba(100,180,140,.12);
    color: rgba(150,220,180,.80);
}

/* List items */
.mn-ss-compare-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    list-style: none;
    padding: 0;
}
.mn-ss-compare-list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    font-size: 16px;
    line-height: 1.65;
    color: rgba(222,213,190,.78);
    padding: 14px 0;
    border-bottom: 1px solid rgba(222,213,190,.06);
}
.mn-ss-compare-list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.mn-ss-compare-list li:first-child {
    padding-top: 0;
}

/* Icon circles */
.mn-ss-compare-list li::before {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 700;
    margin-top: 1px;
}
.mn-ss-compare-list--pain li::before {
    content: '\2715';
    background: rgba(200,100,80,.12);
    color: rgba(220,130,110,.65);
}
.mn-ss-compare-list--gain li::before {
    content: '\2713';
    background: rgba(100,180,140,.12);
    color: rgba(120,210,150,.70);
}

/* ── Who This Is For (self-qualification) — v2 two-panel glassmorphic ── */
.mn-ss-fit {
    padding: 80px 0;
}
.mn-ss-fit .mn-hp-section-overline,
.mn-ss-fit .mn-hp-section-heading {
    text-align: center;
}
.mn-ss-fit-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 44px auto 0;
    max-width: 1000px;
}

/* ── Individual panels ── */
.mn-ss-fit-panel {
    border-radius: var(--mn-radius-xl);
    padding: 36px 32px 32px;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    position: relative;
    /* Liquid Glass base inherited from .mn-ss-fit-col */
}

/* YES panel: warm accent — subtle orange inner glow */
.mn-ss-fit-panel--yes {
    background:
        linear-gradient(
            170deg,
            rgba(232,68,10,.06) 0%,
            rgba(222,213,190,.08) 20%,
            rgba(222,213,190,.03) 40%,
            transparent 60%
        ),
        linear-gradient(145deg,
            rgba(47,90,72,.94) 0%,
            rgba(36,62,53,.90) 55%,
            rgba(28,51,41,.88) 100%
        ) !important;
    border-color: rgba(232,68,10,.20) !important;
    border-top-color: rgba(232,68,10,.30) !important;
    border-left-color: rgba(232,68,10,.22) !important;
}
.mn-ss-fit-panel--yes:hover {
    border-color: rgba(232,68,10,.30) !important;
    border-top-color: rgba(232,68,10,.42) !important;
}

/* NO panel: muted, receding */
.mn-ss-fit-panel--no {
    background:
        linear-gradient(
            170deg,
            rgba(222,213,190,.06) 0%,
            rgba(222,213,190,.02) 30%,
            transparent 55%
        ),
        linear-gradient(145deg,
            rgba(38,68,58,.92) 0%,
            rgba(30,52,44,.88) 55%,
            rgba(24,42,35,.85) 100%
        ) !important;
}

/* ── Panel header / badge ── */
.mn-ss-fit-panel-header {
    margin-bottom: 24px;
}
.mn-ss-fit-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--mn-font-body);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    padding: 7px 16px;
    border-radius: var(--mn-radius-full, 9999px);
}
.mn-ss-fit-badge--yes {
    background: rgba(232,68,10,.14);
    border: 1px solid rgba(232,68,10,.28);
    color: #E8440A;
}
.mn-ss-fit-badge--no {
    background: rgba(222,213,190,.06);
    border: 1px solid rgba(222,213,190,.12);
    color: rgba(222,213,190,.55);
}

/* ── List rows ── */
.mn-ss-fit-list {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.mn-ss-fit-list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    font-size: 16px;
    line-height: 1.55;
    padding: 14px 0;
    border-bottom: 1px solid rgba(222,213,190,.07);
}
.mn-ss-fit-list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.mn-ss-fit-list li:first-child {
    padding-top: 0;
}

/* Yes list text: high contrast */
.mn-ss-fit-list--yes li {
    color: rgba(222,213,190,.92);
}
/* No list text: muted */
.mn-ss-fit-list--no li {
    color: rgba(222,213,190,.58);
}

/* ── Check / X icons ── */
.mn-ss-fit-check,
.mn-ss-fit-x {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    margin-top: 1px;
}
.mn-ss-fit-check {
    background: rgba(232,68,10,.14);
    border: 1px solid rgba(232,68,10,.25);
    color: #E8440A;
}
.mn-ss-fit-x {
    background: rgba(222,213,190,.05);
    border: 1px solid rgba(222,213,190,.10);
    color: rgba(222,213,190,.35);
}

/* Remove the old ::before pseudo-element bullets (overridden by inline SVGs) */
.mn-ss-fit-list li::before {
    display: none;
}

/* ── Founder Message — Skeuomorphic Envelope v3 (tactile realism) ──
   Five enhancements:
   1. SVG noise/grain texture on all paper surfaces
   2. Red margin line on letter paper
   3. Paper edge thickness (highlight + shadow)
   4. Subtle perspective warp on letter
   5. More visible envelope interior lining
   ────────────────────────────────────────────────────────────────── */

.mn-ss-founder {
    padding: 80px 0;
    overflow-x: clip;
}

/* ─ Layout wrapper ─ */
.mn-ss-founder-layout {
    position: relative;
    max-width: 780px;
    margin: 0 auto;
    transition: transform .45s cubic-bezier(.22,1,.36,1);
}
.mn-ss-founder-layout:hover {
    transform: translateY(-4px);
}

/* ─ Back envelope (address side, peeking behind) ─ */
.mn-ss-founder-back {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 82px;
    background:
        /* [TACTILE] Paper grain noise */
        url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E"),
        /* Fiber texture */
        repeating-linear-gradient(117deg, transparent 0px, transparent 2px, rgba(0,0,0,.012) 2px, rgba(0,0,0,.012) 3.5px),
        repeating-linear-gradient(63deg, transparent 0px, transparent 3px, rgba(255,255,255,.018) 3px, rgba(255,255,255,.018) 5px),
        /* Kraft gradient */
        linear-gradient(172deg, #d4b87a 0%, #c6a568 30%, #b8955a 60%, #ab8a50 100%);
    border-radius: 6px;
    box-shadow:
        0 18px 48px rgba(0,0,0,.38),
        0 4px 12px rgba(0,0,0,.20),
        inset 0 1px 0 rgba(255,255,255,.18),
        inset 0 -1px 0 rgba(0,0,0,.06);
    transform: translate(148px, -22px) rotate(4deg);
    transform-origin: 10% 90%;
    z-index: 0;
}

/* ─ Airmail stripes (red/blue chevron border) ─ */
.mn-ss-founder-airmail {
    position: absolute;
    left: 0;
    right: 0;
    height: 10px;
    background: repeating-linear-gradient(
        -60deg,
        #c8372d 0px,   #c8372d 10px,
        #faf8f2 10px,  #faf8f2 14px,
        #2955a3 14px,  #2955a3 24px,
        #faf8f2 24px,  #faf8f2 28px
    );
    opacity: .55;
}
.mn-ss-founder-airmail--top {
    top: 0;
    border-radius: 6px 6px 0 0;
}
.mn-ss-founder-airmail--bottom {
    bottom: 0;
    border-radius: 0 0 6px 6px;
}

/* ─ Postmark (circular stamp around photo) ─ */
.mn-ss-founder-postmark {
    position: absolute;
    top: 22px;
    right: 24px;
    width: 140px;
    height: 140px;
    transform: rotate(-3deg);
}

.mn-ss-founder-postmark-ring {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    filter: saturate(.7);
}

.mn-ss-founder-postmark-photo-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 72px;
    height: 72px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    overflow: hidden;
    border: 2.5px solid rgba(90,74,53,.35);
    box-shadow: 0 2px 8px rgba(0,0,0,.22);
    z-index: 1;
}
.mn-ss-founder-postmark-photo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    filter: sepia(.12) contrast(1.05);
}

/* Cancellation wavy lines through the stamp */
.mn-ss-founder-cancel-lines {
    position: absolute;
    top: 50%;
    left: -30px;
    right: -40px;
    height: 50px;
    transform: translateY(-50%) rotate(-5deg);
    z-index: 3;
    background:
        repeating-linear-gradient(
            0deg,
            transparent 0px,
            transparent 5px,
            rgba(90,74,53,.18) 5px,
            rgba(90,74,53,.18) 7px,
            transparent 7px,
            transparent 12px
        );
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 50'%3E%3Cpath d='M0 25 Q25 10 50 25 T100 25 T150 25 T200 25 V50 H0Z' fill='black'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 50'%3E%3Cpath d='M0 25 Q25 10 50 25 T100 25 T150 25 T200 25 V50 H0Z' fill='black'/%3E%3C/svg%3E");
    mask-size: 200px 50px;
    -webkit-mask-size: 200px 50px;
    mask-repeat: repeat-x;
    -webkit-mask-repeat: repeat-x;
    pointer-events: none;
    opacity: .7;
}

/* ─ Address text on the back ─ */
.mn-ss-founder-address {
    position: absolute;
    top: 50%;
    right: 28px;
    transform: translateY(-50%) rotate(-2deg);
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.mn-ss-founder-address-to,
.mn-ss-founder-address-line {
    font-family: var(--mn-font-display);
    font-style: italic;
    font-size: 20px;
    font-weight: 400;
    color: #5a4a35;
    letter-spacing: .02em;
    white-space: nowrap;
    text-shadow: 0 1px 0 rgba(255,255,255,.15);
}

/* ─ Front envelope (foreground, open) ─ */
.mn-ss-founder-envelope {
    position: relative;
    background:
        /* [TACTILE] Paper grain noise */
        url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E"),
        /* Fiber texture */
        repeating-linear-gradient(115deg, transparent 0px, transparent 2px, rgba(0,0,0,.014) 2px, rgba(0,0,0,.014) 3.5px),
        repeating-linear-gradient(155deg, transparent 0px, transparent 3px, rgba(255,255,255,.022) 3px, rgba(255,255,255,.022) 5px),
        /* Main kraft */
        linear-gradient(176deg, #c9ad78 0%, #bb9c66 40%, #b08e56 100%);
    border-radius: 3px 3px 7px 7px;
    padding: 14px;
    box-shadow:
        0 12px 32px rgba(0,0,0,.30),
        0 4px 12px rgba(0,0,0,.16),
        inset 0 1px 0 rgba(255,255,255,.18),
        inset 0 -1px 0 rgba(0,0,0,.08);
    margin-top: 56px;
    z-index: 1;
}

/* Triangular open flap */
.mn-ss-founder-envelope::before {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 0;
    right: 0;
    height: 56px;
    background:
        url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E"),
        repeating-linear-gradient(115deg, transparent 0px, transparent 2px, rgba(0,0,0,.01) 2px, rgba(0,0,0,.01) 3.5px),
        linear-gradient(180deg, #a68a54 0%, #bda06a 100%);
    clip-path: polygon(0% 100%, 50% 0%, 100% 100%);
    filter: brightness(.96);
}

/* Subtle shadow cast by the open flap onto the letter */
.mn-ss-founder-envelope::after {
    content: '';
    position: absolute;
    top: 0;
    left: 14px;
    right: 14px;
    height: 20px;
    background: linear-gradient(180deg, rgba(0,0,0,.06) 0%, transparent 100%);
    border-radius: 2px 2px 0 0;
    z-index: 2;
    pointer-events: none;
}

/* [TACTILE 5] Envelope interior lining — visible security crosshatch */
.mn-ss-founder-envelope-inner {
    position: absolute;
    inset: 5px;
    border-radius: 0 0 5px 5px;
    background:
        repeating-linear-gradient(
            45deg,
            rgba(110,70,35,.09) 0px, rgba(110,70,35,.09) 4px,
            transparent 4px, transparent 9px
        ),
        repeating-linear-gradient(
            -45deg,
            rgba(110,70,35,.09) 0px, rgba(110,70,35,.09) 4px,
            transparent 4px, transparent 9px
        ),
        rgba(185,145,95,.20);
    pointer-events: none;
    z-index: 0;
}

/* ─ Letter paper (baseline-aligned ruled lines + tactile enhancements) ─ */
.mn-ss-founder-letter {
    position: relative;
    z-index: 1;
    background:
        /* [TACTILE 1] Fine paper grain noise */
        url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E"),
        /* Ruled lines — 30px grid, line at baseline position */
        repeating-linear-gradient(
            0deg,
            transparent 0px,
            transparent 20px,
            rgba(175,165,145,.13) 20px,
            rgba(175,165,145,.13) 21px,
            transparent 21px,
            transparent 30px
        ),
        /* Paper fiber */
        repeating-linear-gradient(90deg, transparent 0px, transparent 3px, rgba(0,0,0,.004) 3px, rgba(0,0,0,.004) 5px),
        /* Base paper gradient */
        linear-gradient(180deg, #fbf8f0 0%, #f6f1e6 50%, #f2edd8 100%);
    background-position: 0 6px;
    border-radius: 2px;
    padding: 40px 44px 36px;
    /* [TACTILE 3] Paper edge thickness — light catches top/right, shadow on bottom/left */
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.55),
        inset -1px 0 0 rgba(255,255,255,.30),
        inset 0 -1px 0 rgba(0,0,0,.06),
        inset 1px 0 0 rgba(0,0,0,.04),
        0 2px 10px rgba(0,0,0,.10),
        0 0 0 1px rgba(0,0,0,.04),
        inset 0 0 28px rgba(0,0,0,.015);
    /* [TACTILE 4] Subtle warp — paper doesn't lay perfectly flat */
    transform: perspective(2400px) rotateX(0.4deg) rotate(-0.15deg);
    transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease;
}
.mn-ss-founder-layout:hover .mn-ss-founder-letter {
    transform: perspective(2400px) rotateX(0deg) rotate(0deg) translateY(-2px);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.55),
        inset -1px 0 0 rgba(255,255,255,.30),
        inset 0 -1px 0 rgba(0,0,0,.06),
        inset 1px 0 0 rgba(0,0,0,.04),
        0 6px 20px rgba(0,0,0,.14),
        0 0 0 1px rgba(0,0,0,.04),
        inset 0 0 28px rgba(0,0,0,.015);
}

/* [TACTILE 2] Red margin line (like real notebook paper) */
.mn-ss-founder-letter::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 38px;
    width: 1px;
    background: rgba(200,75,75,.16);
    z-index: 4;
    pointer-events: none;
}

/* ─ Letter typography (snapped to 30px baseline grid) ─ */
.mn-ss-founder-letter .mn-hp-section-overline {
    color: #b89860;
    font-size: 11px;
    letter-spacing: .16em;
    text-transform: uppercase;
    font-family: var(--mn-font-body);
    font-weight: 500;
    display: block;
    margin-bottom: 16px;
}

.mn-ss-founder-greeting {
    font-family: var(--mn-font-display);
    font-style: italic;
    font-size: 21px;
    font-weight: 400;
    color: #3e3a34;
    line-height: 30px;
    margin-bottom: 30px;
    margin-top: 0;
}

.mn-ss-founder-body p {
    color: #4a4540;
    font-family: var(--mn-font-body);
    font-size: 16px;
    line-height: 30px;
    margin-bottom: 30px;
}
.mn-ss-founder-body p:last-child {
    margin-bottom: 0;
}

/* ─ Signature block ─ */
.mn-ss-founder-sig {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-top: 30px;
}
.mn-ss-founder-signature {
    display: block;
    width: 150px;
    height: auto;
    filter: invert(1) brightness(.22);
    opacity: .85;
}
.mn-ss-founder-role {
    font-family: var(--mn-font-body);
    font-size: 13px;
    color: #9a9080;
    margin-top: 5px;
    letter-spacing: .02em;
}

/* ─ CTA below envelope ─ */
.mn-ss-founder-cta {
    text-align: center;
    margin-top: 48px;
}

/* ── How It Works (Steps) ── */
.mn-ss-steps {
    padding: 80px 0;
}
.mn-ss-steps-intro {
    font-size: 17px;
    line-height: 1.7;
    color: rgba(222,213,190,.68);
    margin-top: -24px;
    margin-bottom: 40px;
    max-width: 600px;
}
.mn-ss-steps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
/* Step card — glass surface inherited from Liquid Glass block */
.mn-ss-step-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 32px 28px 26px;
    border-radius: var(--mn-radius-xl);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
/* hover lift handled by shared Liquid Glass block */
.mn-ss-step-num {
    display: block;
    font-family: var(--mn-font-display);
    font-size: 32px;
    font-weight: 700;
    color: var(--mn-orange);
    opacity: .5;
    line-height: 1;
    margin-bottom: 10px;
}
.mn-ss-step-title {
    font-family: var(--mn-font-body);
    font-size: 18px;
    font-weight: 700;
    color: var(--mn-linen);
    margin-bottom: 4px;
}
.mn-ss-step-desc {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(222,213,190,.68);
}

/* ── FAQ Accordion ── */
.mn-ss-faq {
    padding: 80px 0;
}
.mn-ss-faq-list {
    max-width: 780px;
    margin-top: 32px;
}
.mn-ss-faq-item {
    border-bottom: 1px solid rgba(222,213,190,.10);
}
.mn-ss-faq-q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
    cursor: pointer;
    font-size: 17px;
    font-weight: 600;
    color: var(--mn-linen);
    list-style: none;
    transition: color .2s;
}
.mn-ss-faq-q::-webkit-details-marker { display: none; }
.mn-ss-faq-q::after {
    content: '+';
    font-size: 24px;
    font-weight: 300;
    color: rgba(222,213,190,.4);
    flex-shrink: 0;
    margin-left: 16px;
    transition: transform .25s;
}
.mn-ss-faq-item[open] .mn-ss-faq-q::after {
    content: '\2212'; /* minus */
    transform: rotate(0);
}
.mn-ss-faq-item[open] .mn-ss-faq-q {
    color: var(--mn-orange);
}
.mn-ss-faq-a {
    padding: 0 0 20px;
}
.mn-ss-faq-a p {
    font-size: 16px;
    line-height: 1.75;
    color: rgba(222,213,190,.72);
    max-width: 680px;
}

/* ── Final CTA ── */
.mn-ss-final-cta {
    padding: 80px 0;
    text-align: center;
}
.mn-ss-final-cta .mn-hp-section-heading {
    margin-bottom: 16px;
}
.mn-ss-final-cta-desc {
    font-size: 17px;
    line-height: 1.7;
    color: rgba(222,213,190,.72);
    margin-bottom: 32px;
    max-width: 600px;
    margin-inline: auto;
}
.mn-ss-final-cta-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
}
.mn-ss-final-cta-secondary {
    margin-top: 16px;
}
.mn-ss-final-cta-link {
    font-size: 15px;
    font-weight: 600;
    color: rgba(222,213,190,.55) !important;
    text-decoration: underline;
    text-decoration-color: rgba(222,213,190,.20);
    text-underline-offset: 3px;
    transition: color .2s, text-decoration-color .2s;
}
.mn-ss-final-cta-link:hover {
    color: var(--mn-orange) !important;
    text-decoration-color: var(--mn-orange);
}

/* ── Sales System — Responsive ── */
@media (max-width: 1024px) {
    .mn-ss-steps-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 768px) {
    .mn-ss-hero {
        padding: 64px 0 48px;
    }
    .mn-ss-compare-split {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .mn-ss-compare-side--pain {
        border-radius: var(--mn-radius-xl) var(--mn-radius-xl) 0 0;
    }
    .mn-ss-compare-side--gain {
        border-radius: 0 0 var(--mn-radius-xl) var(--mn-radius-xl);
    }
    .mn-ss-compare-connector {
        display: none;
    }
    .mn-ss-founder-back {
        position: relative;
        top: auto; left: auto; right: auto; bottom: auto;
        width: 100%;
        height: auto;
        min-height: 110px;
        padding: 22px 20px;
        transform: rotate(1.5deg);
        transform-origin: center center;
        margin-bottom: -16px;
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        justify-content: space-between;
    }
    .mn-ss-founder-postmark {
        position: static;
        width: 90px;
        height: 90px;
        transform: rotate(-1deg);
        flex-shrink: 0;
    }
    .mn-ss-founder-postmark-photo-wrap {
        width: 46px;
        height: 46px;
    }
    .mn-ss-founder-cancel-lines {
        left: -15px;
        right: -20px;
        height: 35px;
    }
    .mn-ss-founder-address {
        position: static;
        transform: rotate(-1deg);
    }
    .mn-ss-founder-address-to,
    .mn-ss-founder-address-line {
        font-size: 16px;
    }
    .mn-ss-founder-airmail {
        height: 7px;
    }
    .mn-ss-founder-envelope {
        padding: 10px;
        margin-top: 0;
    }
    .mn-ss-founder-envelope::before {
        height: 44px;
    }
    .mn-ss-founder-letter {
        padding: 28px 24px 26px;
        transform: none;
    }
    .mn-ss-founder-greeting {
        font-size: 18px;
    }
    .mn-ss-founder-sig {
        align-items: center;
    }
    .mn-ss-founder-signature {
        width: 110px;
    }
    .mn-ss-founder-cta {
        margin-top: 28px;
    }
    .mn-ss-steps-grid {
        grid-template-columns: 1fr;
    }
    .mn-ss-hero-ctas {
        flex-direction: column;
        align-items: center;
    }
    .mn-ss-stat-bar {
        flex-direction: column;
        gap: 20px;
        max-width: none;
    }
    .mn-ss-stat {
        flex-direction: row;
        gap: 12px;
        padding: 0;
    }
    .mn-ss-stat-sep {
        width: 40px;
        height: 1px;
    }
    .mn-ss-fit-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .mn-ss-fit-panel {
        padding: 28px 24px 24px;
    }
    .mn-ss-compare-side--pain,
    .mn-ss-compare-side--pain:hover {
        border-radius: var(--mn-radius-xl) var(--mn-radius-xl) 0 0;
    }
    .mn-ss-compare-side--gain,
    .mn-ss-compare-side--gain:hover {
        border-radius: 0 0 var(--mn-radius-xl) var(--mn-radius-xl);
    }
}


/* ── Catch-all: Elementor CSS classes generated from global colors ──
   Elementor generates classes like .elementor-element[data-settings]
   but also applies bg via its own CSS files referencing scheme colors.
   Override the UICore global color vars at the page level. */
.elementor-page .elementor-element {
    --e-global-color-uicore_primary: #325E55;
    --e-global-color-uicore_secondary: #213D36;
    --e-global-color-uicore_accent: #E8440A;
    --e-global-color-uicore_headline: #DED5BE;
    --e-global-color-uicore_body: rgba(222,213,190,.85);
    --e-global-color-uicore_dark: #14261F;
    --e-global-color-uicore_light: #213D36;
    --e-global-color-uicore_white: #DED5BE;
}


/* ═══════════════════════════════════════════════════════════
   Sales System — FAQ Section  (.mn-ss-faq-*)
   Full-width accordion · smooth animation · UICore-proof
   ═══════════════════════════════════════════════════════════ */

.mn-ss-faq {
    padding: 96px 0;
    position: relative;
    overflow: hidden;
}

.mn-ss-faq::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 55% 45% at 10% 20%, rgba(50,94,85,.22) 0%, transparent 55%),
        radial-gradient(ellipse 45% 35% at 90% 80%, rgba(232,68,10,.035) 0%, transparent 55%);
}

.mn-ss-faq .mn-hp-section-overline,
.mn-ss-faq .mn-hp-section-heading {
    text-align: center;
}

.mn-ss-faq .mn-hp-section-heading {
    margin-bottom: 56px;
}

.mn-ss-faq-list {
    max-width: 880px;
    margin: 0 auto;
}

.mn-ss-faq-item {
    border-bottom: 1px solid rgba(222,213,190,.10);
}

.mn-ss-faq-item:first-child {
    border-top: 1px solid rgba(222,213,190,.10);
}

/* ── Question button — UICore-proof with high specificity ── */
body .mn-ss-faq .mn-ss-faq-item button.mn-ss-faq-q,
body.elementor-page .mn-ss-faq .mn-ss-faq-item button.mn-ss-faq-q {
    all: unset !important;
    box-sizing: border-box !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    padding: 24px 0 !important;
    margin: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    cursor: pointer !important;
    text-align: left !important;
    font-family: var(--mn-font-body) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    color: rgba(222,213,190,.82) !important;
    line-height: 1.45 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    transition: color .2s ease !important;
    position: relative !important;
}

/* Kill ALL pseudo-elements within FAQ section */
body .mn-ss-faq button.mn-ss-faq-q::before,
body .mn-ss-faq button.mn-ss-faq-q::after,
body .mn-ss-faq .mn-ss-faq-item::before,
body .mn-ss-faq .mn-ss-faq-item::after,
body .mn-ss-faq .mn-ss-faq-q > *::before,
body .mn-ss-faq .mn-ss-faq-q > *::after {
    content: none !important;
    display: none !important;
    background: none !important;
    width: 0 !important;
    height: 0 !important;
}

body .mn-ss-faq button.mn-ss-faq-q:hover,
body .mn-ss-faq button.mn-ss-faq-q:focus,
body .mn-ss-faq button.mn-ss-faq-q:focus-visible,
body .mn-ss-faq button.mn-ss-faq-q:active {
    color: var(--mn-linen) !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
}

body .mn-ss-faq .mn-ss-faq-item.open button.mn-ss-faq-q {
    color: var(--mn-linen) !important;
    background: transparent !important;
}

/* Chevron icon */
.mn-ss-faq-icon {
    width: 30px;
    height: 30px;
    min-width: 30px;
    border-radius: 50%;
    border: 1.5px solid rgba(222,213,190,.18);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .25s ease, border-color .25s ease, transform .35s cubic-bezier(.4,0,.2,1);
    flex-shrink: 0;
    background: transparent;
}

.mn-ss-faq-icon svg {
    width: 12px;
    height: 12px;
    display: block;
}

body .mn-ss-faq button.mn-ss-faq-q:hover .mn-ss-faq-icon {
    border-color: rgba(222,213,190,.35);
}

body .mn-ss-faq .mn-ss-faq-item.open .mn-ss-faq-icon {
    background: var(--mn-orange) !important;
    border-color: var(--mn-orange) !important;
    transform: rotate(180deg);
}

body .mn-ss-faq .mn-ss-faq-item.open .mn-ss-faq-icon svg path {
    stroke: #fff;
}

/* Answer — smooth height via grid trick */
.mn-ss-faq-a {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .4s cubic-bezier(.4,0,.2,1);
}

.mn-ss-faq-item.open .mn-ss-faq-a {
    grid-template-rows: 1fr;
}

.mn-ss-faq-a-inner {
    overflow: hidden;
}

.mn-ss-faq-a-inner p {
    padding: 0 60px 28px 0;
    font-family: var(--mn-font-body);
    font-size: 16px;
    font-weight: 400;
    color: rgba(222,213,190,.60);
    line-height: 1.75;
    margin: 0;
    max-width: 65ch;
}

/* ── FAQ Responsive ── */
@media (max-width: 768px) {
    .mn-ss-faq {
        padding: 64px 0;
    }

    .mn-ss-faq .mn-hp-section-heading {
        margin-bottom: 36px;
    }

    body .mn-ss-faq button.mn-ss-faq-q {
        font-size: 16px !important;
        padding: 20px 0 !important;
        gap: 16px !important;
    }

    .mn-ss-faq-a-inner p {
        padding-right: 0;
        font-size: 15px;
    }
}


/* ─── Utility Classes ──────────────────────────────────────── */
/* Added April 2026: replace all inline style= attributes.
   Templates MUST NOT contain inline styles. Use these classes. */

/* Narrow container for attachment / single-content pages */
.mn-container--narrow    { max-width: 900px; }

/* No-results / empty-state block */
.mn-empty-state          { text-align: center; padding: 80px 0; }
.mn-empty-state p        { color: rgba(222,213,190,.65); font-size: 18px; margin-bottom: 24px; }

/* Attachment page figcaption */
.mn-attachment-caption   { color: rgba(222,213,190,.50); font-size: 14px; margin-top: 12px; text-align: center; }

/* Muted text (links, back-links, secondary copy) */
.mn-text-muted           { color: rgba(222,213,190,.50); }
.mn-text-muted-65        { color: rgba(222,213,190,.65); }

/* Accent link on dark bg */
.mn-link-accent          { color: var(--mn-orange); }
.mn-link-accent:hover    { color: var(--mn-orange-hover); }

/* Muted link on dark bg */
.mn-link-muted           { color: rgba(222,213,190,.50); }
.mn-link-muted:hover     { color: rgba(222,213,190,.75); }

/* Spacing utility */
.mn-mt-40                { margin-top: 40px; }

/* Full-width form (mobile drawer search) */
.mn-w-full               { width: 100%; }

/* ═══════════════════════════════════════════════════════════════
   NEW HOME PAGE (page-new-home.php)
   Slug: /new-home/
   ═══════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════
   NEW HOME PAGE (page-new-home.php)
   ═══════════════════════════════════════════════════════════════ */

/* ─── Hero ───────────────────────────────────────────────────────── */
.mn-nh-hero {
    padding: 120px 0 80px;
    text-align: center;
}
.mn-nh-hero-inner {
    max-width: 800px;
    margin: 0 auto 48px;
}
.mn-nh-hero-heading {
    font-family: var(--mn-font-display);
    font-size: clamp(2.2rem, 5vw, 3.6rem);
    font-weight: 500;
    line-height: 1.15;
    color: var(--mn-linen);
    margin-bottom: 24px;
}
.mn-nh-hero-sub {
    font-size: 1.1rem;
    line-height: 1.7;
    color: rgba(222,213,190,.85);
    max-width: 680px;
    margin: 0 auto 36px;
}
.mn-nh-hero-ctas {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.mn-nh-services {
    padding: 100px 0;
}
.mn-nh-services-intro {
    font-size: 17px;
    line-height: 1.7;
    color: rgba(222,213,190,.7);
    max-width: 900px;
    margin-bottom: 40px;
}

/* --- Tabbed Services Navigator -------------------------------- */
.mn-svc-nav {
    background:
        linear-gradient(170deg, rgba(222,213,190,.07) 0%, rgba(222,213,190,.02) 30%, transparent 55%),
        linear-gradient(145deg, rgba(47,90,72,.88) 0%, rgba(36,62,53,.82) 55%, rgba(28,51,41,.78) 100%);
    border: 1px solid rgba(222,213,190,.12);
    border-top-color: rgba(222,213,190,.22);
    border-left-color: rgba(222,213,190,.16);
    box-shadow:
        inset 0 1px 0 0 rgba(222,213,190,.10),
        inset 1px 0 0 0 rgba(222,213,190,.05),
        0 4px 32px rgba(0,0,0,.25);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border-radius: var(--mn-radius-xl);
    position: relative;
}
.mn-svc-nav::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(175deg, rgba(222,213,190,.06) 0%, rgba(222,213,190,.02) 20%, transparent 45%);
    pointer-events: none;
    z-index: 1;
}

.mn-svc-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 24px 24px 0;
    position: relative;
    z-index: 2;
}

.mn-svc-tab {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 22px;
    border: none;
    background: transparent;
    color: rgba(222,213,190,.6);
    font-family: var(--mn-font-body);
    font-size: 0.92rem;
    font-weight: 500;
    cursor: pointer;
    border-radius: var(--mn-radius-md) var(--mn-radius-md) 0 0;
    transition: color 0.25s ease, background 0.25s ease;
    position: relative;
    white-space: nowrap;
}
.mn-svc-tab:hover {
    color: rgba(222,213,190,.85);
    background: rgba(222,213,190,.04);
}
.mn-svc-tab[aria-selected="true"] {
    color: var(--mn-linen);
    background: rgba(222,213,190,.06);
}
.mn-svc-tab[aria-selected="true"]::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 16px;
    right: 16px;
    height: 2px;
    background: var(--mn-orange);
    border-radius: 2px 2px 0 0;
}

.mn-svc-tab-icon {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.7;
    transition: opacity 0.25s ease;
}
.mn-svc-tab[aria-selected="true"] .mn-svc-tab-icon {
    opacity: 1;
    color: var(--mn-orange);
}
.mn-svc-tab-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.mn-svc-tab-count {
    font-size: 0.72rem;
    font-weight: 600;
    color: rgba(222,213,190,.4);
    background: rgba(222,213,190,.06);
    padding: 2px 7px;
    border-radius: var(--mn-radius-full);
    transition: color 0.25s ease, background 0.25s ease;
}
.mn-svc-tab[aria-selected="true"] .mn-svc-tab-count {
    color: var(--mn-orange);
    background: rgba(232,68,10,.12);
}

.mn-svc-divider {
    height: 1px;
    background: linear-gradient(90deg, rgba(222,213,190,.12) 0%, rgba(222,213,190,.06) 70%, transparent 100%);
    margin: 0 24px;
    position: relative;
    z-index: 2;
}

.mn-svc-panels {
    padding: 28px 24px 32px;
    position: relative;
    z-index: 2;
    min-height: 200px;
}
/* Progressive enhancement: panels visible by default for SEO,
   hidden by JS when .js-tabs-ready is added */
.mn-svc-panel {
    animation: mnSvcFadeIn 0.3s ease;
}
.js-tabs-ready .mn-svc-panel {
    display: none;
}
.js-tabs-ready .mn-svc-panel[data-active="true"] {
    display: block;
}
@keyframes mnSvcFadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}

.mn-svc-links {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    list-style: none;
}
.mn-svc-link {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border-radius: var(--mn-radius-md);
    background: rgba(222,213,190,.03);
    border: 1px solid rgba(222,213,190,.06);
    color: rgba(222,213,190,.8) !important;
    text-decoration: none !important;
    transition: all 0.25s ease;
    position: relative;
    overflow: hidden;
}
.mn-svc-link::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(232,68,10,.06) 0%, transparent 60%);
    opacity: 0;
    transition: opacity 0.25s ease;
}
.mn-svc-link:hover {
    background: rgba(222,213,190,.07);
    border-color: rgba(222,213,190,.14);
    color: var(--mn-linen) !important;
    transform: translateX(4px);
}
.mn-svc-link:hover::before {
    opacity: 1;
}

.mn-svc-link-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(232,68,10,.5);
    flex-shrink: 0;
    transition: background 0.25s ease, transform 0.25s ease;
}
.mn-svc-link:hover .mn-svc-link-dot {
    background: var(--mn-orange);
    transform: scale(1.3);
}

.mn-svc-link-text {
    flex: 1;
    font-size: 0.95rem;
    font-weight: 500;
    position: relative;
    z-index: 1;
}

.mn-svc-link-arrow {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    opacity: 0;
    transform: translateX(-8px);
    transition: opacity 0.25s ease, transform 0.25s ease;
    color: var(--mn-orange);
    position: relative;
    z-index: 1;
}
.mn-svc-link:hover .mn-svc-link-arrow {
    opacity: 1;
    transform: translateX(0);
}

.mn-svc-tab:focus-visible {
    outline: 2px solid var(--mn-orange);
    outline-offset: -2px;
    border-radius: var(--mn-radius-md);
}
.mn-svc-link:focus-visible {
    outline: 2px solid var(--mn-orange);
    outline-offset: -2px;
}

/* ─── New Home Responsive ───────────────────────────────────────── */
@media (max-width: 700px) {
    .mn-svc-links {
        grid-template-columns: 1fr;
    }
    .mn-svc-tab {
        padding: 12px 16px;
        font-size: 0.85rem;
    }
    .mn-svc-tab-icon { display: none; }
    .mn-svc-panels {
        padding: 20px 16px;
    }
    .mn-svc-tabs {
        padding: 12px 16px 0;
    }
    .mn-svc-divider {
        margin: 0 16px;
    }
    .mn-svc-cta {
        flex-direction: column;
        align-items: flex-start;
        margin: 0 16px;
        padding: 24px 0;
        gap: 20px;
    }
}
@media (max-width: 900px) {
}
@media (max-width: 600px) {
    .mn-nh-hero {
        padding: 80px 0 50px;
    }
    .mn-nh-hero-heading {
        font-size: 2rem;
    }
    .mn-nh-hero-ctas {
        flex-direction: column;
    }
    .mn-nh-services {
        padding: 70px 0;
    }
}

/* Certification badges - responsive */
@media (max-width: 900px) {
    .mn-nh-cert-badge {
        width: 72px;
        height: 72px;
    }
    .mn-nh-cert-badges {
        gap: 10px;
    }
}
@media (max-width: 720px) {
    .mn-nh-certs-pill {
        flex-direction: column;
        gap: 12px;
        padding: 16px 22px;
        border-radius: 28px;
    }
    .mn-nh-certs-label {
        padding-right: 0;
        padding-bottom: 10px;
        border-right: 0;
        border-bottom: 1px solid rgba(222,213,190,.12);
        text-align: center;
    }
    .mn-nh-cert-badges {
        gap: 8px;
    }
    .mn-nh-cert-badge {
        width: 56px;
        height: 56px;
    }
}
@media (max-width: 420px) {
    .mn-nh-cert-badge {
        width: 48px;
        height: 48px;
    }
    .mn-nh-cert-badges {
        gap: 6px;
    }
    .mn-nh-certs-label {
        font-size: 11px;
        letter-spacing: 0.05em;
    }
}


/* ====================================================================
 * CONTACT PAGE (page-contact.php)
 * Prefix: .mn-cp-*
 * Single-screen split hero: pitch + trust + contact details / form
 * ==================================================================== */

.mn-cp-hero {
    padding: 56px 0;
    border-top: 1px solid rgba(222,213,190,.10);
    min-height: calc(100vh - var(--mn-header-h, 80px));
    display: flex;
    align-items: center;
}

.mn-cp-hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: center;
    width: 100%;
}

/* Left column */
.mn-cp-hero-pitch {
    max-width: 520px;
}

.mn-cp-hero-heading {
    font-family: var(--mn-font-display);
    font-size: clamp(2.1rem, 4.4vw, 3.2rem);
    font-weight: 500;
    line-height: 1.08;
    color: var(--mn-linen);
    margin: 0 0 18px;
    letter-spacing: -0.01em;
}

.mn-cp-hero-heading em {
    font-style: italic;
    font-weight: 400;
    color: var(--mn-orange);
}

.mn-cp-hero-sub {
    font-size: 1.02rem;
    line-height: 1.6;
    color: rgba(222,213,190,.78);
    margin: 0 0 28px;
}

/* Trust signals — compact */
.mn-cp-trust-list {
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.mn-cp-trust-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.mn-cp-trust-icon {
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    border-radius: var(--mn-radius-md);
    background: rgba(232,68,10,.10);
    border: 1px solid rgba(232,68,10,.22);
    color: var(--mn-orange);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.mn-cp-trust-icon svg {
    width: 16px;
    height: 16px;
}

.mn-cp-trust-body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.mn-cp-trust-strong {
    font-size: 14px;
    font-weight: 600;
    color: var(--mn-linen);
    line-height: 1.4;
}

.mn-cp-trust-text {
    font-size: 13px;
    line-height: 1.55;
    color: rgba(222,213,190,.60);
}

/* Contact details — inline list under trust signals */
.mn-cp-details {
    list-style: none;
    margin: 0;
    padding: 22px 0 0;
    border-top: 1px solid rgba(222,213,190,.12);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.mn-cp-detail {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    color: rgba(222,213,190,.80);
}

.mn-cp-detail-icon {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--mn-orange);
    opacity: .85;
}

.mn-cp-detail-icon svg {
    width: 15px;
    height: 15px;
}

.mn-cp-detail-link {
    color: var(--mn-linen) !important;
    text-decoration: none;
    transition: color .2s ease;
    font-weight: 500;
}

a.mn-cp-detail-link:hover {
    color: var(--mn-orange) !important;
}

.mn-cp-detail-meta {
    font-size: 12px;
    color: rgba(222,213,190,.45);
    padding-left: 6px;
    border-left: 1px solid rgba(222,213,190,.14);
    margin-left: 2px;
}

/* Form column — fill grid cell, compact padding */
.mn-cp-hero-form {
    width: 100%;
}

.mn-cp-hero-form .mn-form--embed {
    max-width: none;
    width: 100%;
    padding: 28px 26px;
}

/* Responsive */
@media (max-width: 980px) {
    .mn-cp-hero {
        padding: 48px 0 56px;
        min-height: 0;
        display: block;
    }
    .mn-cp-hero-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .mn-cp-hero-pitch {
        max-width: none;
    }
}

@media (max-width: 600px) {
    .mn-cp-hero {
        padding: 40px 0 48px;
        overflow: hidden;
    }
    .mn-cp-hero-grid {
        overflow: hidden;
    }
    .mn-cp-hero-pitch {
        overflow: hidden;
        word-wrap: break-word;
    }
    .mn-cp-hero-form {
        overflow: hidden;
    }
    .mn-cp-hero-form .mn-form--embed {
        padding: 22px 16px;
        max-width: 100%;
        box-sizing: border-box;
    }
    .mn-cp-trust-text {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .mn-cp-detail {
        font-size: 13px;
    }
}

/* ═══ RESOURCES PAGE ═══ */
/* ───────────────────────────────────────────────────────────
   Resources Page (page-resources.php)
   Palette: strict forest↔forest-deep alternation per DS §Section Shade.
   Components:
     - .mn-rp-feature  — large 2-column product card (linked page)
     - .mn-rp-card     — image-forward gated download tile (modal form)
     - .mn-rp-file     — row-style gated file card (modal form)
   ─────────────────────────────────────────────────────────── */

/* ── Section spacing — more breathing room than the site default ── */
.mn-rp-hero,
.mn-rp-assessments,
.mn-rp-library,
.mn-rp-files { padding: 120px 0; position: relative; }

/* Linen hairline dividers between sections (DS spec) */
.mn-rp-assessments,
.mn-rp-library,
.mn-rp-files {
    border-top: 1px solid rgba(222,213,190,0.10);
}

@media (max-width: 768px) {
    .mn-rp-hero,
    .mn-rp-assessments,
    .mn-rp-library,
    .mn-rp-files { padding: 72px 0; }
}

/* ── Hero ─────────────────────────────────────────────── */
.mn-rp-hero {
    padding-top: 140px;
    padding-bottom: 96px;
    background:
        radial-gradient(90% 60% at 85% 10%, rgba(232,68,10,0.08), transparent 60%),
        var(--mn-forest-deep);
}
.mn-rp-hero .mn-hp-section-overline { margin-bottom: 18px; }
.mn-rp-hero-heading {
    font-family: var(--mn-font-display);
    font-size: clamp(2.1rem, 4.4vw, 3.2rem);
    font-weight: 500;
    line-height: 1.08;
    color: var(--mn-linen);
    letter-spacing: -0.01em;
    margin: 0 0 18px;
    max-width: 860px;
}
.mn-rp-hero-sub {
    font-size: 1.02rem;
    color: rgba(222,213,190,0.72);
    max-width: 640px;
    margin: 0;
}
@media (max-width: 768px) {
    .mn-rp-hero { padding: 88px 0 64px; }
}

/* ── Section head ─────────────────────────────────────── */
.mn-rp-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin: 0 0 56px;
    flex-wrap: wrap;
}
.mn-rp-section-title {
    font-family: var(--mn-font-display);
    font-size: clamp(1.85rem, 3.8vw, 2.85rem);
    font-weight: 500;
    color: var(--mn-linen);
    margin: 0;
    letter-spacing: -0.01em;
}
.mn-rp-section-kicker {
    font-size: 0.95rem;
    color: rgba(222,213,190,0.58);
    margin: 0;
    max-width: 360px;
}

/* ═══════════════════════════════════════════════════════
   FEATURE CARDS — product assets (Tests & Assesments)
   ═══════════════════════════════════════════════════════ */
.mn-rp-assessments { background: var(--mn-forest); }

.mn-rp-feature-stack {
    display: grid;
    gap: 40px;
}

.mn-rp-feature {
    position: relative;
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    align-items: stretch;
    background: linear-gradient(145deg, #2f5a48 0%, #243e35 55%, #1c3329 100%);
    border: 1px solid rgba(222,213,190,0.14);
    border-radius: var(--mn-radius-xl);
    overflow: hidden;
    min-height: 460px;
    isolation: isolate;
    box-shadow: 0 30px 60px -30px rgba(0,0,0,0.45);
}
.mn-rp-feature::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(120% 80% at 85% 20%, rgba(232,68,10,0.16), transparent 55%);
    z-index: 0;
}

.mn-rp-feature--reverse { grid-template-columns: 1fr 1.05fr; }
.mn-rp-feature--reverse .mn-rp-feature-body { order: 2; }
.mn-rp-feature--reverse .mn-rp-feature-visual { order: 1; }
.mn-rp-feature--reverse::before {
    background: radial-gradient(120% 80% at 15% 20%, rgba(232,68,10,0.16), transparent 55%);
}

.mn-rp-feature-body {
    position: relative;
    z-index: 2;
    padding: 64px 56px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.mn-rp-feature-badge {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--mn-orange);
    margin-bottom: 18px;
}
.mn-rp-feature-badge-sep {
    margin: 0 8px;
    color: rgba(232,68,10,0.4);
}

.mn-rp-feature-title {
    font-family: var(--mn-font-display);
    font-size: clamp(1.9rem, 3.4vw, 2.6rem);
    font-weight: 500;
    line-height: 1.12;
    color: var(--mn-linen);
    margin: 0 0 10px;
    letter-spacing: -0.01em;
}
.mn-rp-feature-subtitle {
    font-family: var(--mn-font-display);
    font-style: italic;
    font-weight: 400;
    font-size: 1.3rem;
    color: rgba(222,213,190,0.70);
    margin: 0 0 20px;
}

.mn-rp-feature-desc {
    font-size: 1rem;
    line-height: 1.7;
    color: rgba(222,213,190,0.78);
    margin: 0 0 28px;
    max-width: 480px;
}

.mn-rp-feature-meta {
    list-style: none;
    padding: 0;
    margin: 0 0 34px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
}
.mn-rp-feature-meta li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: rgba(222,213,190,0.58);
}
.mn-rp-feature-meta svg {
    width: 14px;
    height: 14px;
    stroke: rgba(222,213,190,0.55);
    fill: none;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0;
}

.mn-rp-feature-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--mn-orange);
    color: #fff !important;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    padding: 16px 30px;
    border-radius: var(--mn-radius-sm);
    width: fit-content;
    transition: background .18s ease, transform .18s ease;
}
.mn-rp-feature-cta:hover {
    background: var(--mn-orange-hover);
    transform: translateY(-2px);
}
.mn-rp-feature-cta svg {
    width: 15px; height: 15px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2.2;
    stroke-linecap: round; stroke-linejoin: round;
    transition: transform .18s ease;
}
.mn-rp-feature-cta:hover svg { transform: translateX(3px); }

.mn-rp-feature-visual {
    position: relative;
    z-index: 1;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 32px;
    background:
        radial-gradient(60% 70% at 50% 60%, rgba(50,94,85,0.55), transparent 70%),
        linear-gradient(160deg, rgba(25,46,40,0.35), rgba(14,31,27,0.85));
}
.mn-rp-feature-visual img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 30px 50px rgba(0,0,0,0.55));
}

/* Audit card: make the report image feel like it's floating toward the viewer */
.mn-rp-feature--audit .mn-rp-feature-visual img {
    max-height: 460px;
    transform: translateY(6px) rotate(-1.5deg);
}

/* Quiz card: screen-cap, lighter drop shadow, slight tilt */
.mn-rp-feature--quiz .mn-rp-feature-visual img {
    max-height: 380px;
    border-radius: var(--mn-radius-md);
    filter: drop-shadow(0 22px 36px rgba(0,0,0,0.45));
    transform: translateY(4px);
}

@media (max-width: 960px) {
    .mn-rp-feature,
    .mn-rp-feature--reverse {
        grid-template-columns: 1fr;
        min-height: 0;
    }
    .mn-rp-feature-body { padding: 40px 32px 36px; }
    .mn-rp-feature-visual {
        order: 1 !important;
        padding: 32px 28px 8px;
        min-height: 320px;
    }
    .mn-rp-feature-body { order: 2 !important; }
    .mn-rp-feature--audit .mn-rp-feature-visual img,
    .mn-rp-feature--quiz .mn-rp-feature-visual img { max-height: 280px; transform: none; }
}

/* ═══════════════════════════════════════════════════════
   LIBRARY — Books & PDFs (gated downloads)
   Book covers own the tile. Soft gradient backdrop, hairline
   frame, large artwork, button flush with the bottom edge.
   ═══════════════════════════════════════════════════════ */
.mn-rp-library { background: var(--mn-forest-deep); }

.mn-rp-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 36px;
}

.mn-rp-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: linear-gradient(160deg, #2a4a44 0%, #1f3a34 55%, #14261f 100%);
    border: 1px solid rgba(222,213,190,0.14);
    border-radius: var(--mn-radius-lg);
    overflow: hidden;
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.mn-rp-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(80% 55% at 50% 25%, rgba(232,68,10,0.10), transparent 65%);
    z-index: 0;
}
.mn-rp-card:hover {
    transform: translateY(-6px);
    border-color: rgba(232,68,10,0.35);
    box-shadow: 0 30px 60px -20px rgba(0,0,0,0.60);
}

/* Cover area — taller aspect ratio, image fills most of the frame */
.mn-rp-card-cover {
    position: relative;
    aspect-ratio: 4 / 5;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 34px 30px 0;
    overflow: hidden;
    z-index: 1;
}
/* Soft shelf glow at the base of the book */
.mn-rp-card-cover::after {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    bottom: 0;
    height: 28px;
    background: radial-gradient(60% 100% at 50% 100%, rgba(0,0,0,0.65), transparent 75%);
    pointer-events: none;
    z-index: 1;
}
.mn-rp-card-cover img {
    width: auto;
    max-width: 100%;
    max-height: 100%;
    height: 100%;
    object-fit: contain;
    object-position: bottom center;
    filter: drop-shadow(-10px 28px 36px rgba(0,0,0,0.65));
    transition: transform .4s ease;
    position: relative;
    z-index: 2;
}
.mn-rp-card:hover .mn-rp-card-cover img {
    transform: translateY(-8px) scale(1.03);
}

/* Hairline inset that feels like a book frame */
.mn-rp-card-cover::before {
    content: "";
    position: absolute;
    inset: 18px 18px 14px 18px;
    border-radius: calc(var(--mn-radius-lg) - 4px);
    border: 1px solid rgba(222,213,190,0.05);
    pointer-events: none;
    z-index: 1;
}

.mn-rp-card-body {
    padding: 22px 22px 24px;
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}
.mn-rp-card-title {
    font-family: var(--mn-font-display);
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.25;
    color: var(--mn-linen);
    margin: 0;
    letter-spacing: -0.005em;
}
.mn-rp-card-desc {
    font-size: 0.92rem;
    line-height: 1.55;
    color: rgba(222,213,190,0.62);
    margin: 0;
    flex: 1;
}
.mn-rp-card-cta { margin-top: 6px; }

/* Re-skin the shortcode trigger inside resource cards */
.mn-rp-card-body .mn-asset-trigger,
.mn-rp-file-cta .mn-asset-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    background: var(--mn-orange);
    color: #fff !important;
    border: none;
    font-family: var(--mn-font-body);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.01em;
    padding: 14px 20px;
    border-radius: var(--mn-radius-sm);
    cursor: pointer;
    transition: background .18s ease, transform .18s ease;
}
.mn-rp-card-body .mn-asset-trigger svg,
.mn-rp-file-cta .mn-asset-trigger svg {
    margin-right: 0 !important;
    vertical-align: baseline !important;
    stroke: #fff;
    width: 14px; height: 14px;
    flex-shrink: 0;
}
.mn-rp-card-body .mn-asset-trigger:hover,
.mn-rp-file-cta .mn-asset-trigger:hover {
    background: var(--mn-orange-hover);
    transform: translateY(-1px);
}

@media (max-width: 600px) {
    .mn-rp-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 24px; }
    .mn-rp-card-cover { padding: 26px 22px 0; }
    .mn-rp-card-cover::before { inset: 12px 12px 10px 12px; }
}

/* ═══════════════════════════════════════════════════════
   FILES — row cards with gated download
   ═══════════════════════════════════════════════════════ */
.mn-rp-files { background: var(--mn-forest); }

.mn-rp-files-grid {
    display: grid;
    gap: 20px;
}

.mn-rp-file {
    display: grid;
    grid-template-columns: 64px 1fr auto;
    gap: 28px;
    align-items: center;
    background: linear-gradient(145deg, #2f5a48 0%, #243e35 55%, #1c3329 100%);
    border: 1px solid rgba(222,213,190,0.14);
    border-radius: var(--mn-radius-lg);
    padding: 26px 32px;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.mn-rp-file:hover {
    border-color: rgba(232,68,10,0.35);
    transform: translateY(-2px);
    box-shadow: 0 20px 44px -20px rgba(0,0,0,0.55);
}

.mn-rp-file-icon {
    width: 56px;
    height: 56px;
    border-radius: var(--mn-radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(232,68,10,0.14);
    color: var(--mn-orange);
    border: 1px solid rgba(232,68,10,0.28);
}
.mn-rp-file-icon svg { width: 26px; height: 26px; }

.mn-rp-file-body { min-width: 0; }
.mn-rp-file-title {
    font-family: var(--mn-font-display);
    font-size: 1.35rem;
    font-weight: 500;
    color: var(--mn-linen);
    margin: 0 0 6px;
    letter-spacing: -0.005em;
}
.mn-rp-file-desc {
    font-size: 0.95rem;
    line-height: 1.55;
    color: rgba(222,213,190,0.62);
    margin: 0;
}
.mn-rp-file-cta .mn-asset-trigger { width: auto; padding: 14px 26px; }

@media (max-width: 760px) {
    .mn-rp-file { grid-template-columns: 48px 1fr; padding: 22px 24px; gap: 18px; }
    .mn-rp-file-cta { grid-column: 1 / -1; justify-self: start; margin-top: 6px; }
    .mn-rp-file-cta .mn-asset-trigger { width: 100%; }
}

/* ═══ /RESOURCES PAGE ═══ */

/* ═══════════════════════════════════════════════════════════════
   Testimonials Page (page-testimonials.php)
   One section per testimonial, alternating left/right layout.
   The person-card photo slot doubles as the inline video poster —
   when a testimonial has a video, clicking the slot loads an
   autoplay Vimeo/YouTube iframe in place of the poster image.
   ═══════════════════════════════════════════════════════════════ */

/* Hero */
.mn-testi-hero {
    padding: clamp(80px, 12vw, 120px) 0 clamp(60px, 8vw, 80px);
    text-align: center;
    position: relative;
    border-bottom: 1px solid rgba(222,213,190,.12);
}
.mn-testi-hero .mn-hp-section-overline { margin-bottom: 18px; }
.mn-testi-hero-title {
    font-family: var(--mn-font-display);
    font-weight: 500;
    font-size: clamp(2.6rem, 6vw, 4.4rem);
    line-height: 1.05;
    color: var(--mn-linen);
    margin: 0 0 20px;
}
.mn-testi-hero-sub {
    max-width: 720px;
    margin: 0 auto;
    font-size: 19px;
    line-height: 1.7;
    color: rgba(222,213,190,.75);
}

/* Per-testimonial section */
.mn-testi-section {
    padding: clamp(64px, 9vw, 110px) 0;
    border-bottom: 1px solid rgba(222,213,190,.10);
}
.mn-testi-section:last-of-type { border-bottom: none; }

/* Row layout (no align-items: start — breaks sticky §12.1) */
.mn-testi-row {
    display: grid;
    grid-template-columns: minmax(0, 380px) minmax(0, 1fr);
    gap: clamp(32px, 5vw, 72px);
}
.mn-testi-row--reverse { grid-template-columns: minmax(0, 1fr) minmax(0, 380px); }
.mn-testi-row--reverse .mn-testi-person-col { order: 2; }
.mn-testi-row--reverse .mn-testi-quote-col  { order: 1; }
.mn-testi-quote-col { align-self: start; }

/* Person card */
.mn-testi-person-col { position: sticky; top: 100px; }
.mn-testi-person-card {
    background:
        linear-gradient(170deg, rgba(222,213,190,.10) 0%, rgba(222,213,190,.04) 30%, transparent 55%),
        linear-gradient(145deg, rgba(47,90,72,.92) 0%, rgba(36,62,53,.88) 55%, rgba(28,51,41,.85) 100%);
    border: 1px solid rgba(222,213,190,.14);
    border-top-color: rgba(222,213,190,.26);
    border-left-color: rgba(222,213,190,.20);
    border-radius: var(--mn-radius-xl);
    overflow: hidden;
    box-shadow: inset 0 1px 0 0 rgba(222,213,190,.12), 0 4px 18px rgba(0,0,0,.22);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

/* Photo / video slot — 1:1 for both so all cards line up */
.mn-testi-photo-wrap {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    position: relative;
    background: rgba(222,213,190,.05);
    border-bottom: 1px solid rgba(222,213,190,.12);
}
.mn-testi-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(.95) contrast(1.02);
}

/* Video hosted inside the photo-wrap */
.mn-testi-photo-wrap .mn-testi-video {
    position: absolute;
    inset: 0;
    background: #000;
}
.mn-testi-photo-wrap .mn-testi-video iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
button.mn-testi-video-poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    cursor: pointer;
    background: #000;
    display: block;
    overflow: hidden;
    -webkit-appearance: none;
    appearance: none;
}
.mn-testi-video-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease, filter .3s;
    filter: saturate(.95) brightness(.82);
}
.mn-testi-video-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(25,46,40,0) 0%, rgba(25,46,40,0) 50%, rgba(25,46,40,.65) 100%);
    pointer-events: none;
}
.mn-testi-video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: var(--mn-orange);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 30px rgba(0,0,0,.4), 0 0 0 6px rgba(232,68,10,.25);
    transition: transform .25s ease, box-shadow .25s ease, background .2s;
    padding-left: 4px;
}
.mn-testi-video-label {
    position: absolute;
    bottom: 14px;
    left: 14px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: rgba(255,255,255,.92);
    padding: 5px 11px;
    background: rgba(25,46,40,.55);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-radius: var(--mn-radius-full);
}
button.mn-testi-video-poster:hover .mn-testi-video-thumb,
button.mn-testi-video-poster:focus .mn-testi-video-thumb {
    transform: scale(1.04);
    filter: saturate(1.05) brightness(.92);
}
button.mn-testi-video-poster:hover .mn-testi-video-play,
button.mn-testi-video-poster:focus .mn-testi-video-play {
    transform: translate(-50%, -50%) scale(1.08);
    background: var(--mn-orange-hover);
    box-shadow: 0 14px 36px rgba(0,0,0,.5), 0 0 0 10px rgba(232,68,10,.28);
}

/* Person body */
.mn-testi-person-body { padding: 26px 28px 28px; }
.mn-testi-person-overline {
    display: block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--mn-orange);
    margin-bottom: 10px;
}
.mn-testi-person-name {
    font-family: var(--mn-font-display);
    font-weight: 500;
    font-size: 26px;
    line-height: 1.15;
    color: var(--mn-linen);
    margin: 0 0 6px;
}
.mn-testi-person-role {
    font-size: 15px;
    line-height: 1.5;
    color: rgba(222,213,190,.75);
    margin: 0 0 18px;
}
.mn-testi-person-sep { color: rgba(222,213,190,.45); margin: 0 2px; }
.mn-testi-person-company { color: rgba(222,213,190,.9); font-weight: 500; }
.mn-testi-person-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.mn-testi-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 500;
    border-radius: var(--mn-radius-full);
    text-decoration: none !important;
    transition: background .15s, color .15s, border-color .15s;
}
.mn-testi-link--linkedin,
.mn-testi-link--site {
    background: rgba(222,213,190,.08);
    border: 1px solid rgba(222,213,190,.18);
    color: rgba(222,213,190,.85) !important;
}
.mn-testi-link--linkedin:hover,
.mn-testi-link--site:hover {
    background: rgba(222,213,190,.16);
    border-color: rgba(222,213,190,.32);
    color: var(--mn-linen) !important;
}
.mn-testi-link--cs {
    background: rgba(232,68,10,.1);
    border: 1px solid rgba(232,68,10,.28);
    color: var(--mn-orange) !important;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .05em;
}
.mn-testi-link--cs:hover {
    background: rgba(232,68,10,.2);
    border-color: rgba(232,68,10,.45);
    color: var(--mn-orange) !important;
}

/* Quote column */
.mn-testi-quote-col { min-width: 0; }
.mn-testi-quote-block { position: relative; margin: 0; padding: 0; }
.mn-testi-quote-mark {
    font-family: Georgia, serif;
    font-size: clamp(84px, 12vw, 140px);
    line-height: .8;
    color: rgba(232,68,10,.5);
    display: block;
    margin: 0 0 -12px -6px;
    user-select: none;
}
.mn-testi-quote-body {
    font-family: var(--mn-font-display);
    font-weight: 400;
    font-size: clamp(1.3rem, 2.2vw, 1.7rem);
    line-height: 1.55;
    color: var(--mn-linen);
}
.mn-testi-quote-p { margin: 0 0 18px; }
.mn-testi-quote-p:last-child { margin-bottom: 0; }
.mn-testi-quote-attrib {
    margin-top: 22px;
    font-family: var(--mn-font-body);
    font-size: 14px;
    letter-spacing: .04em;
    color: rgba(222,213,190,.55);
    text-transform: uppercase;
}

/* Responsive */
@media (max-width: 900px) {
    .mn-testi-row,
    .mn-testi-row--reverse {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .mn-testi-row--reverse .mn-testi-person-col { order: 1; }
    .mn-testi-row--reverse .mn-testi-quote-col  { order: 2; }
    .mn-testi-person-col { position: static; max-width: 420px; }
    .mn-testi-video-play { width: 60px; height: 60px; }
}

@media (max-width: 600px) {
    .mn-testi-hero { padding: 72px 0 48px; }
    .mn-testi-person-body { padding: 22px 20px 22px; }
    .mn-testi-quote-body { font-size: 1.15rem; }
    .mn-testi-video-label { font-size: 11px; padding: 4px 9px; bottom: 10px; left: 10px; }
}


/* ═══════════════════════════════════════════════════════════════
   About Us page — sections: hero, team, expertise, vision, goal
   Class prefix: .mn-about-*
   Template: page-about-us.php  (slug: /about-us/)
   ═══════════════════════════════════════════════════════════════ */

/* Shared section head (reused across team, expertise) ----------- */
.mn-about-section-head {
    max-width: 760px;
    margin-bottom: 44px;
}
.mn-about-section-heading {
    font-family: var(--mn-font-display);
    font-size: clamp(1.7rem, 3.4vw, 2.4rem);
    font-weight: 500;
    color: var(--mn-linen);
    line-height: 1.2;
    letter-spacing: -0.005em;
}
.mn-about-section-heading u {
    text-decoration: none;
    background-image: linear-gradient(180deg, transparent 62%, rgba(232,68,10,.35) 62%, rgba(232,68,10,.35) 90%, transparent 90%);
    padding: 0 2px;
}
.mn-about-section-lead {
    margin-top: 16px;
    font-size: 15px;
    line-height: 1.65;
    color: rgba(222,213,190,.70);
    max-width: 620px;
}

/* Section dividers (DS section 1) ------------------------------- */
.mn-about-team      { border-top: 1px solid rgba(222,213,190,.10); }
.mn-about-expertise { border-top: 1px solid rgba(222,213,190,.10); }
.mn-about-vision    { border-top: 1px solid rgba(222,213,190,.10); }
.mn-about-goal      { border-top: 1px solid rgba(232,68,10,.35); }


/* ─── 1. HERO (windmill background, full-bleed) ─────────────── */
.mn-about-hero {
    position: relative;
    min-height: clamp(520px, 82vh, 760px);
    padding: 140px 0 100px;
    color: var(--mn-linen);
    overflow: hidden;
    isolation: isolate;
    display: flex;
    align-items: center;
}
.mn-about-hero-media {
    position: absolute;
    inset: 0;
    z-index: -2;
}
.mn-about-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 35%;
    transform: scale(1.04);
    filter: saturate(.85) contrast(1.02);
}
.mn-about-hero-scrim {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(ellipse at 30% 50%, rgba(25,46,40,.55) 0%, rgba(25,46,40,.85) 65%, rgba(20,38,31,.95) 100%),
        linear-gradient(180deg, rgba(25,46,40,.55) 0%, rgba(25,46,40,.35) 45%, rgba(25,46,40,.92) 100%),
        linear-gradient(90deg, rgba(33,61,54,.78) 0%, rgba(33,61,54,.35) 60%, rgba(33,61,54,.78) 100%);
}
.mn-about-hero-inner {
    position: relative;
    max-width: 920px;
}
.mn-about-hero-overline {
    display: inline-block;
    margin-bottom: 22px;
    padding: 6px 12px;
    background: rgba(232,68,10,.12);
    border: 1px solid rgba(232,68,10,.28);
    border-radius: var(--mn-radius-full);
    color: var(--mn-orange);
    font-size: 12px;
    letter-spacing: .14em;
}
.mn-about-hero-heading {
    font-family: var(--mn-font-display);
    font-weight: 500;
    color: var(--mn-linen);
    font-size: clamp(2.1rem, 4.8vw, 3.6rem);
    line-height: 1.15;
    letter-spacing: -0.01em;
    margin-bottom: 28px;
    text-shadow: 0 2px 30px rgba(0,0,0,.45), 0 0 80px rgba(0,0,0,.25);
}
.mn-about-hero-heading i {
    font-style: italic;
    color: rgba(222,213,190,.92);
}
.mn-about-hero-heading u {
    text-decoration: none;
    position: relative;
    padding: 0 3px;
    background-image: linear-gradient(180deg, transparent 65%, rgba(232,68,10,.45) 65%, rgba(232,68,10,.45) 92%, transparent 92%);
}
.mn-about-hero-sub {
    font-size: clamp(1.05rem, 2vw, 1.2rem);
    line-height: 1.6;
    color: rgba(222,213,190,.80);
    max-width: 620px;
    margin-bottom: 40px;
}
.mn-about-hero-ctas {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}
.mn-about-hero-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.mn-about-hero-cta-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(255,255,255,.14);
    transition: transform .25s ease;
}
.mn-about-hero-cta:hover .mn-about-hero-cta-arrow {
    transform: translateY(3px);
}

.mn-about-hero-scroll {
    position: absolute;
    left: 50%;
    bottom: 32px;
    transform: translateX(-50%);
    width: 1px;
    height: 48px;
    overflow: hidden;
    opacity: .55;
    pointer-events: none;
}
.mn-about-hero-scroll-line {
    display: block;
    width: 1px;
    height: 48px;
    background: linear-gradient(180deg, transparent, rgba(222,213,190,.9), transparent);
    animation: mn-about-hero-scroll 2.2s ease-in-out infinite;
}
@keyframes mn-about-hero-scroll {
    0%   { transform: translateY(-100%); }
    100% { transform: translateY(100%);  }
}


/* ─── 2. MEET THE TEAM ─────────────────────────────────────── */
.mn-about-team {
    padding: 80px 0 88px;
}
.mn-about-team-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}
.mn-about-team-card {
    display: flex;
    flex-direction: column;
    padding: 0;
    border-radius: var(--mn-radius-xl);
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.mn-about-team-photo {
    position: relative;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: rgba(20,38,31,.4);
    z-index: 2;
}
.mn-about-team-photo::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 35%;
    background: linear-gradient(180deg, transparent 0%, rgba(28,51,41,.55) 80%, rgba(28,51,41,.88) 100%);
    pointer-events: none;
}
.mn-about-team-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    filter: saturate(.9) contrast(1.02);
    transition: transform .6s ease;
}
.mn-about-team-card:hover .mn-about-team-photo img {
    transform: scale(1.03);
}
.mn-about-team-body {
    position: relative;
    padding: 18px 20px 20px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    z-index: 2;
}
.mn-about-team-role {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--mn-orange);
}
.mn-about-team-name {
    font-family: var(--mn-font-display);
    font-size: 19px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--mn-linen);
    margin: 0;
}
.mn-about-team-bio {
    font-size: 13.5px;
    line-height: 1.55;
    color: rgba(222,213,190,.72);
    margin: 2px 0 2px;
}
.mn-about-team-links {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
    padding-top: 14px;
    border-top: 1px solid rgba(222,213,190,.10);
}
.mn-about-team-links li { list-style: none; }
.mn-about-team-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(222,213,190,.05);
    border: 1px solid rgba(222,213,190,.12);
    color: rgba(222,213,190,.72);
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
    overflow: visible;
}
.mn-about-team-links a svg {
    width: 14px;
    height: 14px;
    display: block;
    flex-shrink: 0;
}
.mn-about-team-links a:hover,
.mn-about-team-links a:focus-visible {
    background: rgba(232,68,10,.14);
    border-color: rgba(232,68,10,.45);
    color: var(--mn-orange) !important;
    transform: translateY(-2px);
}


/* ─── 3. OUR EXPERTISE (3 pillars with images) ─────────────── */
.mn-about-expertise {
    padding: 80px 0 88px;
}
.mn-about-pillars {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.mn-about-pillar {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: var(--mn-radius-xl);
    overflow: hidden;
    background:
        linear-gradient(170deg, rgba(222,213,190,.08) 0%, rgba(222,213,190,.03) 30%, transparent 55%),
        linear-gradient(145deg, rgba(47,90,72,.70) 0%, rgba(36,62,53,.72) 55%, rgba(28,51,41,.78) 100%);
    border: 1px solid rgba(222,213,190,.12);
    border-top-color: rgba(222,213,190,.22);
    box-shadow:
        inset 0 1px 0 0 rgba(222,213,190,.10),
        0 2px 8px rgba(0,0,0,.18);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.mn-about-pillar:hover {
    transform: translateY(-4px);
    border-color: rgba(222,213,190,.24);
    border-top-color: rgba(222,213,190,.36);
    box-shadow:
        inset 0 1px 0 0 rgba(222,213,190,.14),
        0 12px 32px rgba(0,0,0,.40);
}
.mn-about-pillar-media {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}
.mn-about-pillar-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.85) contrast(1.02) brightness(.88);
    transition: transform .6s ease, filter .4s ease;
}
.mn-about-pillar:hover .mn-about-pillar-media img {
    transform: scale(1.04);
    filter: saturate(1) contrast(1.04) brightness(.95);
}
.mn-about-pillar-media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(25,46,40,.0) 40%, rgba(25,46,40,.78) 100%);
    pointer-events: none;
}
.mn-about-pillar-num {
    position: absolute;
    left: 22px;
    bottom: 16px;
    font-family: var(--mn-font-display);
    font-size: 34px;
    font-weight: 400;
    font-style: italic;
    color: rgba(232,68,10,.95);
    text-shadow: 0 2px 14px rgba(0,0,0,.55);
    z-index: 2;
    line-height: 1;
}
.mn-about-pillar-body {
    padding: 22px 24px 26px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}
.mn-about-pillar-title {
    font-family: var(--mn-font-display);
    font-size: 21px;
    font-weight: 500;
    color: var(--mn-linen);
    line-height: 1.25;
}
.mn-about-pillar-desc {
    font-size: 14px;
    line-height: 1.65;
    color: rgba(222,213,190,.72);
}


/* ─── 4. VISION (full-bleed image + overlaid statement) ─────── */
.mn-about-vision {
    padding: 0;
    position: relative;
}
.mn-about-vision-inner {
    position: relative;
    min-height: clamp(420px, 55vh, 560px);
    display: flex;
    align-items: center;
    overflow: hidden;
}
.mn-about-vision-media {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.mn-about-vision-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    filter: saturate(.8) contrast(1.04);
}
.mn-about-vision-scrim {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(20,38,31,.70) 0%, rgba(20,38,31,.80) 50%, rgba(20,38,31,.70) 100%),
        linear-gradient(90deg, rgba(20,38,31,.55) 0%, rgba(25,46,40,.45) 50%, rgba(20,38,31,.55) 100%);
}
.mn-about-vision-content {
    position: relative;
    z-index: 2;
    padding: 96px 0;
    text-align: center;
}
.mn-about-vision-heading {
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}
.mn-about-vision-content .mn-hp-section-overline {
    display: inline-block;
}
.mn-about-vision-content .mn-hp-section-overline {
    margin-bottom: 18px;
}
.mn-about-vision-heading {
    font-family: var(--mn-font-display);
    font-weight: 500;
    font-size: clamp(1.55rem, 3.2vw, 2.25rem);
    line-height: 1.35;
    color: var(--mn-linen);
    max-width: 840px;
    letter-spacing: -0.005em;
    text-shadow: 0 2px 30px rgba(0,0,0,.4);
}


/* ─── 5. OUR GOAL (closing commitment, standalone) ─────────── */
.mn-about-goal {
    padding: 80px 0 72px;
}
.mn-about-goal-inner {
    max-width: 840px;
    margin: 0 auto;
    text-align: center;
}
.mn-about-goal-promise {
    text-align: left;
    margin-left: auto;
    margin-right: auto;
}
.mn-about-goal-inner .mn-hp-section-overline {
    display: inline-block;
}
.mn-about-goal-inner .mn-hp-section-overline {
    display: inline-block;
    margin-bottom: 16px;
}
.mn-about-goal-promise {
    font-family: var(--mn-font-display);
    font-size: clamp(1.55rem, 3.2vw, 2.25rem);
    font-weight: 500;
    line-height: 1.35;
    color: var(--mn-linen);
    max-width: 840px;
    letter-spacing: -0.005em;
}

/* ─── 6. FINAL CTA (distinct standalone block) ─────────────── */
/* ═══════════════════════════════════════════════════════════════
   Feature CTA (reusable)  — partials/section-cta-feature.php
   Centered glass-and-glow close-out card. Used on About, and any
   other page that needs a matching closing CTA.
   ═══════════════════════════════════════════════════════════════ */
.mn-cta-feature {
    padding: clamp(56px, 7vw, 88px) 0 clamp(72px, 9vw, 112px);
}
.mn-cta-feature-card {
    position: relative;
    max-width: 960px;
    margin: 0 auto;
    padding: clamp(44px, 6vw, 72px) clamp(28px, 5vw, 64px);
    border-radius: var(--mn-radius-xl);
    background:
        linear-gradient(170deg, rgba(232,68,10,.14) 0%, rgba(232,68,10,.05) 35%, transparent 65%),
        linear-gradient(145deg, rgba(47,90,72,.80) 0%, rgba(36,62,53,.85) 55%, rgba(28,51,41,.90) 100%);
    border: 1px solid rgba(232,68,10,.30);
    border-top-color: rgba(232,68,10,.48);
    box-shadow:
        inset 0 1px 0 0 rgba(232,68,10,.22),
        0 16px 44px rgba(0,0,0,.38);
    overflow: hidden;
    isolation: isolate;
    text-align: center;
}
.mn-cta-feature-glow {
    position: absolute;
    top: -35%;
    left: 50%;
    transform: translateX(-50%);
    width: 620px;
    height: 620px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(232,68,10,.32) 0%, rgba(232,68,10,.08) 45%, transparent 70%);
    filter: blur(32px);
    pointer-events: none;
    z-index: 0;
}
.mn-cta-feature-inner {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}
.mn-cta-feature-overline {
    margin: 0 0 16px;
    display: inline-block;
}
.mn-cta-feature-heading {
    font-family: var(--mn-font-display);
    font-size: clamp(1.7rem, 3.1vw, 2.4rem);
    font-weight: 500;
    line-height: 1.2;
    color: var(--mn-linen);
    margin: 0 0 28px;
    letter-spacing: -0.005em;
}
.mn-cta-feature-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: center;
}

@media (max-width: 600px) {
    .mn-cta-feature-actions .mn-btn {
        width: 100%;
    }
}
@media (max-width: 1024px) {
    .mn-about-team-grid   { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }

@media (max-width: 768px) {
    .mn-about-team-grid      { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
    .mn-about-team-body      { padding: 18px 18px 20px; }
}
    .mn-about-pillars     { grid-template-columns: 1fr; gap: 22px; }
    .mn-about-pillar-media { aspect-ratio: 16 / 9; }
    .mn-about-goal-grid   { grid-template-columns: 1fr; gap: 36px; }
    .mn-about-hero        { padding: 110px 0 80px; min-height: clamp(460px, 70vh, 640px); }
}

/* ─── Responsive (mobile) ─────────────────────────────────── */
@media (max-width: 720px) {
    .mn-about-hero {
        padding: 96px 0 72px;
        min-height: 540px;
        align-items: flex-end;
    }
    .mn-about-hero-media img { object-position: center center; }
    .mn-about-hero-scroll    { display: none; }
    .mn-about-section-head   { margin-bottom: 36px; }
    .mn-about-team           { padding: 72px 0 80px; }
    .mn-about-team-grid      { grid-template-columns: 1fr; gap: 20px; }
    .mn-about-team-photo     { aspect-ratio: 5 / 4; }
    .mn-about-expertise      { padding: 72px 0 80px; }
    .mn-about-vision-inner   { min-height: 400px; }
    .mn-about-vision-scrim   {
        background: linear-gradient(180deg, rgba(20,38,31,.94) 0%, rgba(25,46,40,.82) 50%, rgba(25,46,40,.94) 100%);
    }
    .mn-about-vision-content { padding: 70px var(--mn-gutter); }
    .mn-about-goal           { padding: 72px 0 80px; }
    .mn-about-goal-grid      { margin-bottom: 56px; }
    .mn-about-goal-callout   { padding: 28px 26px; }
}



/* ────────────────────────────────────────────────────────────────
 * Case Study Landing (single-case_studies.php) — v5 layout
 * Editorial teaser + email-gate. Sections: hero, metrics strip,
 * facts strip, reasons card, pull-quote, minimal centered gate.
 * All colour, typography, radius, container values come from the
 * existing --mn-* tokens. No hardcoded colours or fonts.
 * ──────────────────────────────────────────────────────────────── */

.mn-cs-landing { background: var(--mn-forest-deep); color: var(--mn-linen); }

.mn-cs-landing .mn-cs-eyebrow,
.mn-cs-landing .mn-cs-overline,
.mn-cs-landing .mn-cs-quote-eyebrow,
.mn-cs-landing .mn-cs-gate-eyebrow,
.mn-cs-landing .mn-cs-hero-micro {
    font-family: var(--mn-font-body);
}
.mn-cs-landing .mn-cs-eyebrow {
    color: var(--mn-orange);
    font-size: 12px; font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .22em;
    margin: 0 0 14px;
    display: inline-flex; align-items: center; gap: 10px;
}
.mn-cs-landing .mn-cs-eyebrow::before {
    content: ""; display: inline-block;
    width: 24px; height: 2px; background: var(--mn-orange);
}

/* ═════════════════ HERO ═════════════════ */
.mn-cs-hero {
    position: relative;
    padding: 84px 0 72px;
    background:
        radial-gradient(1200px 520px at 85% -10%, rgba(232,68,10,.12), transparent 60%),
        var(--mn-forest-deep);
    overflow: hidden;
}
.mn-cs-hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: 72px;
    align-items: center;
}
.mn-cs-hero-micro {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 6px 14px 6px 10px;
    background: rgba(232,68,10,.12);
    border: 1px solid rgba(232,68,10,.32);
    border-radius: var(--mn-radius-full);
    color: var(--mn-orange);
    font-size: 12px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .14em;
    margin: 0 0 22px;
}
.mn-cs-hero-micro::before {
    content: ""; width: 7px; height: 7px; border-radius: 50%;
    background: var(--mn-orange);
    box-shadow: 0 0 0 3px rgba(232,68,10,.22);
}
.mn-cs-overline {
    color: rgba(222,213,190,.5);
    text-transform: uppercase; letter-spacing: .18em;
    font-size: 12px; font-weight: 600;
    margin: 0 0 16px;
}
.mn-cs-title {
    font-family: var(--mn-font-display);
    color: var(--mn-linen);
    font-size: clamp(40px, 5vw, 64px);
    line-height: 1.02;
    letter-spacing: -.015em;
    margin: 0 0 24px;
    font-weight: 500;
}
.mn-cs-title em { font-style: italic; color: var(--mn-orange); font-weight: 500; }
.mn-cs-teaser {
    color: rgba(222,213,190,.86);
    font-size: 19px; line-height: 1.6;
    margin: 0 0 32px;
    max-width: 560px;
}
.mn-cs-teaser p { margin: 0 0 12px; }
.mn-cs-teaser p:last-child { margin: 0; }
.mn-cs-hero-cta {
    display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
}
.mn-cs-hero-meta {
    display: inline-flex; align-items: center; gap: 10px;
    color: rgba(222,213,190,.68); font-size: 13px;
}
.mn-cs-hero-meta svg { color: var(--mn-orange); flex-shrink: 0; }

.mn-cs-hero-media { position: relative; align-self: stretch; }
.mn-cs-hero-media::before {
    content: ""; position: absolute;
    inset: -40px -30px -40px 0;
    background: radial-gradient(60% 60% at 60% 40%, rgba(232,68,10,.22), transparent 70%);
    filter: blur(55px);
    z-index: 0;
}
.mn-cs-hero-img {
    position: relative; z-index: 1;
    border-radius: var(--mn-radius-xl);
    overflow: hidden;
    box-shadow: 0 40px 80px rgba(0,0,0,.5);
    aspect-ratio: 5 / 4;
    margin: 0;
}
.mn-cs-hero-img img {
    width: 100%; height: 100%; object-fit: cover;
    display: block;
}

/* ═════════════════ METRICS STRIP (glass tiles, V3) ═════════════════ */
.mn-cs-metrics {
    position: relative;
    background:
        radial-gradient(900px 240px at 20% 100%, rgba(232,68,10,.12), transparent 60%),
        radial-gradient(700px 240px at 85% 0%,   rgba(232,68,10,.08), transparent 60%),
        var(--mn-forest-darkest);
    border-top: 1px solid rgba(222,213,190,.08);
    border-bottom: 1px solid rgba(222,213,190,.08);
    overflow: hidden;
}
.mn-cs-metrics::before,
.mn-cs-metrics::after {
    content: ""; position: absolute; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(232,68,10,.35), transparent);
}
.mn-cs-metrics::before { top: -1px; }
.mn-cs-metrics::after  { bottom: -1px; }
.mn-cs-metrics-inner {
    padding: 48px 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.mn-cs-metric {
    position: relative;
    padding: 26px 28px 24px;
    border: 1px solid rgba(222,213,190,.18);
    border-radius: var(--mn-radius-xl);
    background: linear-gradient(180deg, rgba(222,213,190,.08) 0%, rgba(222,213,190,.03) 100%);
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    box-shadow:
        0 20px 40px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(222,213,190,.14);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.mn-cs-metric::before {
    content: ""; position: absolute;
    inset: -30% -30% auto auto;
    width: 160px; height: 160px;
    background: radial-gradient(closest-side, rgba(232,68,10,.22), transparent 70%);
    pointer-events: none;
}
.mn-cs-metric::after {
    content: ""; position: absolute;
    top: 0; left: 18%; right: 18%; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(222,213,190,.35), transparent);
}
.mn-cs-metric:hover {
    transform: translateY(-2px);
    border-color: rgba(232,68,10,.35);
    box-shadow: 0 26px 50px rgba(0,0,0,.35), inset 0 1px 0 rgba(222,213,190,.18);
}
/* Value — Newsreader roman 500, linen; unit in orange */
.mn-cs-metric-value {
    font-family: var(--mn-font-display);
    font-style: normal;
    font-weight: 500;
    font-size: clamp(36px, 3.8vw, 50px);
    line-height: 1;
    color: var(--mn-linen);
    letter-spacing: -.025em;
    margin: 0 0 14px;
    position: relative;
}
.mn-cs-metric-unit {
    color: var(--mn-orange);
    font-weight: 500;
    margin-left: 1px;
}
/* Short orange rule between value and label */
.mn-cs-metric-rule {
    display: block;
    width: 32px; height: 2px;
    background: var(--mn-orange);
    opacity: .85;
    border-radius: 2px;
    margin: 0 0 12px;
    position: relative;
}
.mn-cs-metric-label {
    color: var(--mn-linen);
    font-weight: 600;
    font-size: 15px;
    line-height: 1.3;
    letter-spacing: -.005em;
    position: relative;
}

/* ═════════════════ FACTS STRIP ═════════════════ */
.mn-cs-facts { background: var(--mn-forest); }
.mn-cs-facts-inner {
    padding: 26px 0;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 32px;
    align-items: center;
}
.mn-cs-facts-list {
    margin: 0; padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px 40px;
}
.mn-cs-fact { margin: 0; }
.mn-cs-fact dt {
    font-size: 11px;
    text-transform: uppercase; letter-spacing: .16em;
    color: rgba(222,213,190,.5);
    font-weight: 600;
    margin: 0 0 6px;
}
.mn-cs-fact dd {
    margin: 0;
    color: var(--mn-linen);
    font-size: 16px; font-weight: 500; line-height: 1.35;
}
.mn-cs-logo-card {
    display: inline-flex; align-items: center; justify-content: center;
    background: #fff;
    padding: 14px 24px;
    border-radius: var(--mn-radius-md);
    min-height: 68px; min-width: 170px;
    box-shadow: 0 6px 18px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.6);
}
.mn-cs-logo-card img,
.mn-cs-client-logo { max-width: 190px; max-height: 44px; object-fit: contain; display: block; }

/* ═════════════════ REASONS ═════════════════ */
.mn-cs-main {
    padding: 96px 0 40px;
    background: var(--mn-forest-deep);
}
.mn-cs-main-inner { max-width: 880px; margin: 0 auto; }

.mn-cs-reasons {
    background:
        radial-gradient(500px 200px at 85% 0%, rgba(232,68,10,.06), transparent 70%),
        linear-gradient(180deg, var(--mn-forest) 0%, var(--mn-forest-mid) 100%);
    border: 1px solid rgba(222,213,190,.10);
    border-radius: var(--mn-radius-xl);
    padding: 52px clamp(28px, 5vw, 60px) 44px;
}
.mn-cs-reasons-header { max-width: 600px; margin: 0 0 36px; }
.mn-cs-reasons-title {
    font-family: var(--mn-font-display);
    color: var(--mn-linen);
    font-weight: 500;
    font-size: clamp(30px, 3.2vw, 40px);
    line-height: 1.1;
    letter-spacing: -.015em;
    margin: 0 0 14px;
}
.mn-cs-reasons-title em { font-style: italic; color: var(--mn-orange); }
.mn-cs-reasons-intro {
    color: rgba(222,213,190,.86);
    font-size: 17px; line-height: 1.65;
    margin: 0;
}
.mn-cs-reasons-list {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column;
}
.mn-cs-reason {
    position: relative;
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 24px;
    align-items: start;
    padding: 26px 20px 26px 16px;
    border-radius: var(--mn-radius-md);
    transition: background .2s ease;
}
.mn-cs-reason + .mn-cs-reason::before {
    content: ""; position: absolute;
    top: 0; left: 16px; right: 20px; height: 1px;
    background: linear-gradient(90deg, rgba(222,213,190,.14), rgba(222,213,190,.02));
}
.mn-cs-reason:hover { background: rgba(232,68,10,.05); }
.mn-cs-reason:hover .mn-cs-reason-num { color: var(--mn-orange); }
.mn-cs-reason-num {
    font-family: var(--mn-font-display);
    font-style: italic; font-weight: 400;
    font-size: 56px; line-height: 1;
    color: rgba(232,68,10,.7);
    text-align: center;
    padding-top: 4px;
    letter-spacing: -.04em;
    transition: color .2s ease;
}
.mn-cs-reason-label {
    display: block;
    color: var(--mn-linen);
    font-weight: 600; font-size: 20px; line-height: 1.3;
    margin: 4px 0 10px;
    letter-spacing: -.01em;
}
.mn-cs-reason-desc {
    display: block;
    color: rgba(222,213,190,.86);
    font-size: 16px; line-height: 1.65;
    max-width: 62ch;
}

/* ═════════════════ TESTIMONIAL ═════════════════ */
.mn-cs-quote {
    padding: 88px 0 72px;
    position: relative;
    background: var(--mn-forest-deep);
}
.mn-cs-quote-inner {
    max-width: 820px; margin: 0 auto;
    position: relative;
}
.mn-cs-quote-mark {
    font-family: var(--mn-font-display);
    font-style: italic;
    font-size: 160px; line-height: .7;
    color: var(--mn-orange);
    opacity: .22;
    position: absolute; top: -28px; left: -8px;
    pointer-events: none;
}
.mn-cs-quote-eyebrow {
    color: var(--mn-orange);
    font-size: 12px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .22em;
    margin: 0 0 20px;
    position: relative;
}
.mn-cs-quote-text {
    font-family: var(--mn-font-display);
    font-style: italic; font-weight: 400;
    color: var(--mn-linen);
    font-size: clamp(26px, 3.4vw, 40px);
    line-height: 1.25;
    letter-spacing: -.01em;
    margin: 0 0 32px;
    position: relative;
}
.mn-cs-quote-text em { color: var(--mn-orange); font-style: italic; }
.mn-cs-quote-attr {
    display: flex; align-items: center; gap: 14px;
    font-size: 14px;
    color: rgba(222,213,190,.68);
    letter-spacing: .02em;
    position: relative;
    margin: 0;
}
.mn-cs-quote-attr::before {
    content: ""; display: inline-block;
    width: 40px; height: 1px; background: var(--mn-orange);
}
.mn-cs-quote-attr b {
    color: var(--mn-linen);
    font-weight: 600;
    text-transform: uppercase; letter-spacing: .14em;
    font-size: 13px;
}

/* ═════════════════ GATE (minimal centered form) ═════════════════ */
.mn-cs-gate {
    position: relative;
    padding: 72px 0 120px;
    background:
        radial-gradient(700px 400px at 50% 0%, rgba(232,68,10,.10), transparent 70%),
        var(--mn-forest-darkest);
    border-top: 1px solid rgba(222,213,190,.10);
    overflow: hidden;
}
.mn-cs-gate::after {
    content: ""; position: absolute;
    left: 50%; top: -1px;
    transform: translateX(-50%);
    width: 160px; height: 3px;
    background: linear-gradient(90deg, transparent, var(--mn-orange), transparent);
}
.mn-cs-gate-inner {
    max-width: 560px;
    margin: 0 auto;
    text-align: center;
}
.mn-cs-gate-eyebrow {
    color: var(--mn-orange);
    font-size: 12px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .22em;
    margin: 0 0 16px;
}
.mn-cs-gate-title {
    font-family: var(--mn-font-display);
    color: var(--mn-linen);
    font-weight: 500;
    font-size: clamp(32px, 3.8vw, 48px);
    line-height: 1.08;
    letter-spacing: -.02em;
    margin: 0 0 18px;
}
.mn-cs-gate-title em { font-style: italic; color: var(--mn-orange); }

/* The inline form ships from the muncly-forms plugin. We only adjust
   alignment and width inside the centered gate. */
.mn-cs-gate .mn-form--embed { max-width: 480px; margin: 18px auto 0; text-align: left; }
.mn-cs-gate .mn-form-step-header { text-align: center; }
.mn-cs-gate .mn-form-step-header--center { text-align: center; }

/* ═════════════════ Prev / Next (shared with v1) ═════════════════ */
.mn-cs-nav { border-top: 1px solid rgba(222,213,190,.10); background: var(--mn-forest-deep); padding: 28px 0; }
.mn-cs-nav-inner { display: flex; gap: 24px; justify-content: space-between; align-items: center; }

/* ═════════════════ Responsive ═════════════════ */
@media (max-width: 960px) {
    .mn-cs-hero { padding: 56px 0 48px; }
    .mn-cs-hero-inner { grid-template-columns: 1fr; gap: 40px; }
    .mn-cs-hero-img { aspect-ratio: 16 / 10; }
    .mn-cs-metrics-inner { padding: 36px 0; gap: 20px; }
    .mn-cs-metric { padding: 22px 22px 22px; }
    .mn-cs-facts-inner { grid-template-columns: 1fr; gap: 22px; }
    .mn-cs-facts-list { grid-template-columns: repeat(2, 1fr); gap: 16px 28px; }
    .mn-cs-logo-card { justify-self: start; }
    .mn-cs-main { padding: 64px 0 32px; }
    .mn-cs-reasons { padding: 40px 28px 32px; }
    .mn-cs-quote { padding: 64px 0 52px; }
    .mn-cs-gate { padding: 56px 0 96px; }
}
@media (max-width: 640px) {
    .mn-cs-metrics-inner { grid-template-columns: 1fr; gap: 12px; padding: 32px 0; }
    .mn-cs-metric { padding: 22px 22px; flex-direction: column; align-items: flex-start; gap: 0; }
    
    .mn-cs-metric-value { font-size: 38px; margin: 0 0 12px; }
    .mn-cs-metric-label { margin: 0; }
    .mn-cs-reason { grid-template-columns: 52px 1fr; gap: 16px; padding: 22px 12px 22px 8px; }
    .mn-cs-reason-num { font-size: 44px; }
    .mn-cs-reason-label { font-size: 18px; }
    .mn-cs-reason-desc { font-size: 15.5px; }
    .mn-cs-facts-list { grid-template-columns: 1fr 1fr; }
    .mn-cs-quote-mark { font-size: 110px; top: -14px; }
}


/* ============================================================
   Case Study Landing v10 — editorial hero + glassmorphic plays
   tile + avatar pull-quote + Offer Banner Tile gate.
   Appended 2026-04-14.
   ============================================================ */

/* Hero --- two column editorial */
.mn-cs-hero { padding: 80px 0 96px; background: var(--mn-forest-deep); position: relative; overflow: hidden; }
.mn-cs-hero::before { content: ""; position: absolute; top: -30%; right: -10%; width: 640px; height: 640px; background: radial-gradient(circle, rgba(232,68,10,.09), transparent 60%); pointer-events: none; z-index: 0; }
.mn-cs-hero-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 72px; align-items: center; position: relative; z-index: 1; }
.mn-cs-hero-copy { min-width: 0; }
.mn-cs-hero .mn-cs-overline { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--mn-orange); margin: 0 0 24px; }
.mn-cs-hero .mn-cs-title { font-family: var(--mn-font-display); font-weight: 500; font-size: clamp(2.8rem, 5.6vw, 4.6rem); line-height: 1.05; color: var(--mn-linen); letter-spacing: -0.01em; margin: 0 0 28px; max-width: 14ch; text-shadow: 0 0 40px rgba(222,213,190,.12), 0 0 80px rgba(222,213,190,.06); }
.mn-cs-hero .mn-cs-title .mn-cs-stat { font-family: var(--mn-font-display); font-style: normal; font-weight: 500; color: var(--mn-orange); font-variant-numeric: tabular-nums; white-space: nowrap; }
.mn-cs-hero .mn-cs-teaser { font-size: 19px; line-height: 1.6; color: rgba(222,213,190,.82); max-width: 44ch; margin: 0 0 36px; }
.mn-cs-hero .mn-cs-teaser p { margin: 0 0 12px; }
.mn-cs-hero .mn-cs-teaser p:last-child { margin-bottom: 0; }

.mn-cs-hero-cta { display: inline-flex; align-items: center; gap: 22px; margin-bottom: 40px; flex-wrap: wrap; }
.mn-cs-reading-time { font-size: 13.5px; color: rgba(222,213,190,.60); display: inline-flex; align-items: center; gap: 8px; }
.mn-cs-reading-time svg { color: var(--mn-orange); }

.mn-cs-facts-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, max-content)); gap: 24px 36px; padding-top: 28px; margin: 0; border-top: 1px solid rgba(222,213,190,.10); }
.mn-cs-facts-row div { min-width: 0; }
.mn-cs-facts-row dt { font-size: 10.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .18em; color: rgba(222,213,190,.60); margin-bottom: 4px; }
.mn-cs-facts-row dd { margin: 0; font-size: 14.5px; color: var(--mn-linen); font-weight: 500; }

/* Hero figure */
.mn-cs-hero-figure { position: relative; border-radius: 14px; overflow: hidden; aspect-ratio: 4 / 5; background: var(--mn-forest); border: 1px solid rgba(222,213,190,.18); box-shadow: 0 30px 70px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.06); margin: 0; }
.mn-cs-hero-figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mn-cs-hero-figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(200deg, transparent 60%, rgba(25,46,40,.4)); pointer-events: none; }
.mn-cs-hero-badge { position: absolute; left: 18px; bottom: 18px; background: rgba(20,38,31,.78); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border: 1px solid rgba(222,213,190,.18); padding: 12px 16px; border-radius: 10px; display: inline-flex; align-items: center; gap: 14px; z-index: 1; }
.mn-cs-hero-badge-value { font-family: var(--mn-font-body); font-weight: 700; font-size: 26px; line-height: 1; color: var(--mn-orange); letter-spacing: -0.01em; font-variant-numeric: tabular-nums; flex-shrink: 0; }
.mn-cs-hero-badge-divider { width: 1px; height: 26px; background: rgba(222,213,190,.18); flex-shrink: 0; }
.mn-cs-hero-badge-label { font-size: 12.5px; line-height: 1.35; color: rgba(222,213,190,.82); max-width: 16ch; }

/* Plays tile --- glassmorphic single panel with vertical bullets */
.mn-cs-plays { padding: 104px 0 112px; background: var(--mn-forest); border-top: 1px solid rgba(222,213,190,.10); border-bottom: 1px solid rgba(222,213,190,.10); position: relative; overflow: hidden; }
.mn-cs-plays::before { content: ""; position: absolute; top: -30%; left: 50%; transform: translateX(-50%); width: 900px; height: 600px; background: radial-gradient(ellipse, rgba(232,68,10,.08), transparent 65%); pointer-events: none; }
.mn-cs-plays-head { max-width: 680px; margin: 0 auto 48px; text-align: center; position: relative; }
.mn-cs-plays-head .mn-cs-overline { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--mn-orange); margin: 0 0 18px; display: inline-block; }
.mn-cs-plays-title { font-family: var(--mn-font-display); font-weight: 500; font-size: clamp(2rem, 3.4vw, 2.7rem); line-height: 1.15; color: var(--mn-linen); letter-spacing: -0.01em; margin: 0 0 16px; }
.mn-cs-plays-title em { font-style: italic; font-weight: 400; color: var(--mn-orange); }
.mn-cs-plays-lede { font-size: 16px; line-height: 1.6; color: rgba(222,213,190,.82); margin: 0 auto; }

.mn-cs-plays-tile { position: relative; max-width: 780px; margin: 0 auto; padding: 52px 60px; background: linear-gradient(180deg, rgba(222,213,190,.06), rgba(222,213,190,.015)), linear-gradient(180deg, rgba(46,82,72,.30), rgba(33,61,54,.14)); -webkit-backdrop-filter: blur(32px) saturate(1.35); backdrop-filter: blur(32px) saturate(1.35); border: 1px solid rgba(222,213,190,.18); border-radius: 22px; box-shadow: 0 40px 100px rgba(0,0,0,.42), 0 8px 24px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.16), inset 0 -1px 0 rgba(0,0,0,.18), inset 1px 0 0 rgba(255,255,255,.06), inset -1px 0 0 rgba(0,0,0,.06); }
.mn-cs-plays-tile::before { content: ""; position: absolute; inset: 0; border-radius: 22px; background: radial-gradient(circle at 12% -10%, rgba(232,68,10,.18), transparent 40%), radial-gradient(circle at 110% 110%, rgba(222,213,190,.08), transparent 50%); pointer-events: none; }
.mn-cs-plays-tile::after { content: ""; position: absolute; inset: 1px; border-radius: 21px; background: linear-gradient(180deg, rgba(255,255,255,.05) 0%, transparent 12%); pointer-events: none; }

.mn-cs-plays-list { list-style: none; margin: 0; padding: 0; position: relative; }
.mn-cs-play { display: grid; grid-template-columns: 44px 1fr; column-gap: 20px; padding: 24px 0; border-top: 1px solid rgba(222,213,190,.10); align-items: start; }
.mn-cs-play:first-child { border-top: 0; padding-top: 4px; }
.mn-cs-play:last-child { padding-bottom: 4px; }
.mn-cs-play-num { width: 36px; height: 36px; border-radius: 50%; background: var(--mn-orange); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-family: var(--mn-font-body); font-weight: 700; font-size: 15px; line-height: 1; flex-shrink: 0; margin-top: 2px; box-shadow: 0 4px 12px rgba(232,68,10,.4); font-variant-numeric: tabular-nums; }
.mn-cs-play-body { max-width: 52ch; min-width: 0; }
.mn-cs-play-label { font-family: var(--mn-font-display); font-weight: 500; font-size: 22px; line-height: 1.25; color: var(--mn-linen); margin: 0 0 8px; }
.mn-cs-play-desc { font-size: 15.5px; line-height: 1.6; color: rgba(222,213,190,.82); margin: 0; }

/* Pull quote --- editorial with circular avatar */
.mn-cs-quote { padding: 96px 0; background: var(--mn-forest-deep); text-align: center; }
.mn-cs-quote-inner { max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 28px; }
.mn-cs-quote-text { font-family: var(--mn-font-display); font-size: clamp(1.6rem, 2.8vw, 2.1rem); line-height: 1.4; font-style: italic; font-weight: 400; color: var(--mn-linen); max-width: 40ch; margin: 0; }
.mn-cs-quote-text em { font-style: italic; color: var(--mn-orange); }
.mn-cs-quote-attribution { display: flex; align-items: center; gap: 16px; }
.mn-cs-quote-avatar { width: 52px; height: 52px; border-radius: 50%; overflow: hidden; background: var(--mn-forest-light); border: 2px solid rgba(232,68,10,.4); flex-shrink: 0; box-shadow: 0 6px 18px rgba(0,0,0,.3); display: inline-flex; align-items: center; justify-content: center; }
.mn-cs-quote-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mn-cs-quote-avatar-fallback { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-family: var(--mn-font-display); font-weight: 500; font-size: 22px; color: var(--mn-orange); background: linear-gradient(180deg, rgba(232,68,10,.18), rgba(232,68,10,.06)); }
.mn-cs-quote-meta { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.mn-cs-quote-name { font-family: var(--mn-font-body); font-weight: 600; font-size: 15px; color: var(--mn-linen); letter-spacing: .02em; }
.mn-cs-quote-role { font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; color: rgba(222,213,190,.60); font-weight: 500; }

/* Offer Banner Tile (shared component, see design system §5.1) */
.mn-cs-gate { padding: 104px 0 120px; background: var(--mn-forest-darkest); border-top: 1px solid rgba(232,68,10,.3); position: relative; overflow: hidden; }
.mn-cs-gate::before { content: ""; position: absolute; top: -40%; left: 50%; transform: translateX(-50%); width: 900px; height: 600px; background: radial-gradient(ellipse, rgba(232,68,10,.14), transparent 65%); pointer-events: none; }
.mn-offer-tile { position: relative; max-width: 540px; margin: 0 auto; padding: 44px 44px 40px; background: linear-gradient(180deg, rgba(222,213,190,.05), rgba(222,213,190,.01)), linear-gradient(180deg, rgba(46,82,72,.40), rgba(33,61,54,.18)); -webkit-backdrop-filter: blur(28px) saturate(1.3); backdrop-filter: blur(28px) saturate(1.3); border: 1px solid rgba(222,213,190,.18); border-radius: 22px; box-shadow: 0 40px 90px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.14), inset 0 -1px 0 rgba(0,0,0,.15); z-index: 1; }
.mn-offer-tile::before { content: ""; position: absolute; inset: 0; border-radius: 22px; background: radial-gradient(circle at 20% -10%, rgba(232,68,10,.14), transparent 45%); pointer-events: none; }
.mn-offer-tile .mn-cs-overline { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--mn-orange); margin: 0 0 14px; display: inline-block; position: relative; }
.mn-offer-title { font-family: var(--mn-font-display); font-weight: 500; font-size: clamp(1.7rem, 3vw, 2.1rem); line-height: 1.2; color: var(--mn-linen); margin: 0 0 24px; position: relative; }
.mn-offer-title em { font-style: italic; font-weight: 400; color: var(--mn-orange); }
.mn-offer-bullets { list-style: none; padding: 0; margin: 0 0 28px; display: grid; gap: 14px; position: relative; }
.mn-offer-bullet { display: flex; align-items: center; gap: 12px; font-size: 15.5px; color: rgba(222,213,190,.82); font-weight: 400; }
.mn-offer-check { width: 22px; height: 22px; border-radius: 50%; background: var(--mn-orange); display: inline-flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(232,68,10,.35); }
.mn-offer-check svg { width: 11px; height: 11px; }
.mn-offer-form-wrap { position: relative; }
/* Strip the shortcode form’s own overline/heading/desc (we render our own above) */
.mn-offer-tile .mn-form-step-header { display: none; }
.mn-offer-tile .mn-form--embed { padding: 0; background: none; border: 0; box-shadow: none; }
.mn-offer-tile .mn-form-input { padding: 15px 16px; background: rgba(20,38,31,.55); border: 1px solid rgba(222,213,190,.18); border-radius: 8px; color: var(--mn-linen); font-family: var(--mn-font-body); font-size: 15px; transition: border-color .15s ease, background .15s ease; }
.mn-offer-tile .mn-form-input:focus { outline: 0; border-color: var(--mn-orange); background: rgba(20,38,31,.8); }
.mn-offer-tile .mn-form-btn--primary { width: 100%; padding: 18px 24px; font-size: 16px; font-weight: 600; border-radius: 8px; background: var(--mn-orange); color: #fff; border: 0; box-shadow: 0 10px 28px rgba(232,68,10,.35); transition: background .18s ease, transform .18s ease, box-shadow .18s ease; }
.mn-offer-tile .mn-form-btn--primary:hover { background: var(--mn-orange-hover); transform: translateY(-1px); box-shadow: 0 14px 34px rgba(232,68,10,.45); }
.mn-offer-tile .mn-form-consent { font-size: 12px; line-height: 1.5; color: rgba(222,213,190,.40); text-align: center; margin: 10px 0 0; }
.mn-offer-tile .mn-form-label { font-size: 12.5px; color: rgba(222,213,190,.60); font-weight: 500; margin-bottom: 6px; }

/* Responsive */
@media (max-width: 1024px) { .mn-cs-hero-grid { gap: 48px; } }
@media (max-width: 820px) {
    .mn-cs-hero { padding: 56px 0 72px; }
    .mn-cs-hero-grid { grid-template-columns: 1fr; gap: 44px; }
    .mn-cs-hero-figure { aspect-ratio: 4 / 3; max-width: 520px; }
    .mn-cs-facts-row { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px 36px; }
    .mn-cs-plays { padding: 72px 0 84px; }
    .mn-cs-plays-head { margin-bottom: 36px; }
    .mn-cs-plays-tile { padding: 34px 28px; border-radius: 18px; }
    .mn-cs-play { grid-template-columns: 36px 1fr; column-gap: 16px; padding: 20px 0; }
    .mn-cs-play-label { font-size: 20px; }
    .mn-cs-quote { padding: 72px 0; }
    .mn-cs-gate { padding: 72px 0 88px; }
}
@media (max-width: 540px) {
    .mn-cs-hero .mn-cs-title { font-size: 2.3rem; }
    .mn-cs-hero .mn-cs-teaser { font-size: 17px; }
    .mn-cs-facts-row { grid-template-columns: 1fr 1fr; gap: 18px 24px; }
    .mn-cs-hero-badge { left: 14px; bottom: 14px; padding: 10px 14px; }
    .mn-cs-hero-badge-value { font-size: 24px; }
    .mn-cs-hero-badge-label { font-size: 11.5px; }
    .mn-cs-plays-tile { padding: 28px 22px; }
    .mn-cs-play { grid-template-columns: 32px 1fr; column-gap: 14px; padding: 18px 0; }
    .mn-cs-play-label { font-size: 18px; }
    .mn-offer-tile { padding: 32px 26px 28px; }
}


/* ============================================================
   Secret Case Study — no-image "Schedule a call" CTA card.
   Variant of .mn-ad-audit without the product image.
   Appended 2026-04-14.
   ============================================================ */

.mn-ad-call {
    background:
        linear-gradient(180deg, rgba(222,213,190,.05), rgba(222,213,190,.01)),
        linear-gradient(180deg, rgba(46,82,72,.40), rgba(33,61,54,.18));
    -webkit-backdrop-filter: blur(24px) saturate(1.25);
    backdrop-filter: blur(24px) saturate(1.25);
    border: 1px solid rgba(222,213,190,.18);
    border-radius: 18px;
    padding: 26px 24px 22px;
    box-shadow:
        0 24px 60px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.14),
        inset 0 -1px 0 rgba(0,0,0,.15);
    position: relative;
    overflow: hidden;
}
.mn-ad-call::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 18px;
    background: radial-gradient(circle at 18% -10%, rgba(232,68,10,.18), transparent 45%);
    pointer-events: none;
}
.mn-ad-call .mn-ad-overline {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: var(--mn-orange);
    margin: 0 0 8px;
    position: relative;
}
.mn-ad-call .mn-ad-title {
    font-family: var(--mn-font-display);
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    color: var(--mn-linen);
    margin: 0 0 10px;
    position: relative;
}
.mn-ad-call .mn-ad-desc {
    font-size: 14px;
    line-height: 1.5;
    color: rgba(222,213,190,.78);
    margin: 0 0 16px;
    position: relative;
}
.mn-ad-call .mn-ad-audit__checklist {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
    display: grid;
    gap: 10px;
    position: relative;
}
.mn-ad-call .mn-ad-audit__checklist li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
    line-height: 1.4;
    color: rgba(222,213,190,.82);
}
.mn-ad-call .mn-ad-audit__checklist svg { flex-shrink: 0; }
.mn-ad-call .mn-ad-cta {
    display: block;
    text-align: center;
    width: 100%;
    padding: 14px 18px;
    font-size: 14.5px;
    font-weight: 600;
    border-radius: 8px;
    background: var(--mn-orange);
    color: #fff;
    text-decoration: none;
    box-shadow: 0 8px 22px rgba(232,68,10,.32);
    transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
    position: relative;
}
.mn-ad-call .mn-ad-cta:hover {
    background: var(--mn-orange-hover);
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(232,68,10,.42);
}

/* Hero polish on secret case study (uses same .mn-post-hero pattern as blog) */
.mn-secret-cs .mn-post-hero .mn-overline {
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: var(--mn-orange);
    margin: 0 0 14px;
}


/* Secret Case Study — content image treatment */
.mn-secret-cs .mn-post-content img,
.mn-secret-cs .mn-post-content figure img {
    max-width: 78%;
    height: auto;
    display: block;
    margin: 28px auto;
    border-radius: 14px;
    box-shadow: 0 16px 40px rgba(0,0,0,.35), 0 2px 8px rgba(0,0,0,.2);
    border: 1px solid rgba(222,213,190,.12);
}
.mn-secret-cs .mn-post-content figure {
    margin: 28px auto;
    max-width: 78%;
}
.mn-secret-cs .mn-post-content figure img { margin: 0 auto; max-width: 100%; }
.mn-secret-cs .mn-post-content figcaption {
    text-align: center;
    font-size: 13px;
    color: rgba(222,213,190,.6);
    margin-top: 10px;
    font-style: italic;
}

@media (max-width: 720px) {
    .mn-secret-cs .mn-post-content img,
    .mn-secret-cs .mn-post-content figure { max-width: 100%; }
}


/* ============================================================
   Secret Case Study — readability pass (P2 pull-quote,
   P3 lede/section/list, P4 column cap). Appended 2026-04-14.
   ============================================================ */

/* Column cap — keep lines short (~65ch) for eye-tracking comfort. */
.mn-secret-cs .mn-post-content {
    max-width: 68ch;
    margin: 0 auto;
}

/* Lede — first paragraph after the hero reads larger, like a magazine intro. */
.mn-secret-cs .mn-post-content > p:first-of-type {
    font-size: 20px;
    line-height: 1.65;
    color: var(--mn-linen);
    margin-bottom: 28px;
}

/* H2 section markers — new beat: generous top space + thin divider. */
.mn-secret-cs .mn-post-content h2 {
    font-family: var(--mn-font-display);
    font-weight: 500;
    font-size: clamp(1.6rem, 2.6vw, 2rem);
    line-height: 1.2;
    color: var(--mn-linen);
    margin: 3.2em 0 0.9em;
    padding-top: 1.6em;
    border-top: 1px solid rgba(222,213,190,.12);
    letter-spacing: -0.01em;
}
.mn-secret-cs .mn-post-content h2:first-of-type,
.mn-secret-cs .mn-post-content > h2:first-child {
    margin-top: 1.4em;
    padding-top: 0;
    border-top: 0;
}

/* P3 · list polish — orange bullets, proper indent, breathing room. */
.mn-secret-cs .mn-post-content ul,
.mn-secret-cs .mn-post-content ol {
    padding-left: 1.4em;
    margin: 1.2em 0 1.6em;
}
.mn-secret-cs .mn-post-content ul li,
.mn-secret-cs .mn-post-content ol li {
    margin-bottom: 10px;
    line-height: 1.65;
}
.mn-secret-cs .mn-post-content ul li::marker {
    color: var(--mn-orange);
}

/* P2 · pull-quote treatment for blockquote. */
.mn-secret-cs .mn-post-content blockquote {
    margin: 40px 0;
    padding: 8px 0 8px 28px;
    border-left: 3px solid var(--mn-orange);
    font-family: var(--mn-font-display);
    font-style: italic;
    font-weight: 400;
    font-size: clamp(1.25rem, 2vw, 1.55rem);
    line-height: 1.45;
    color: var(--mn-linen);
    background: none;
}
.mn-secret-cs .mn-post-content blockquote p {
    margin: 0;
    font-family: inherit;
    font-style: inherit;
    font-size: inherit;
    line-height: inherit;
}
.mn-secret-cs .mn-post-content blockquote em,
.mn-secret-cs .mn-post-content blockquote b,
.mn-secret-cs .mn-post-content blockquote strong {
    color: var(--mn-orange);
    font-style: italic;
    font-weight: 400;
}

/* Short "punch" paragraphs — one-line beats need air to feel deliberate. */
.mn-secret-cs .mn-post-content p {
    margin-bottom: 1.1em;
}

/* Inline <b> — subtle orange tint so emphasis registers without shouting. */
.mn-secret-cs .mn-post-content p b,
.mn-secret-cs .mn-post-content li b,
.mn-secret-cs .mn-post-content p strong,
.mn-secret-cs .mn-post-content li strong {
    color: var(--mn-linen);
    font-weight: 600;
}

/* =========================================================
   ▓▓▓ SALESFORCE SERVICES (.mn-sfs-*) ▓▓▓
   Reusable pattern for Salesforce service landing pages.
   First consumer: page-salesforce-implementation.php
   Sections: hero, intro split, alternating rows, mid CTA,
   process timeline, onboarding cards, contact.
   ========================================================= */

/* Shared — hero */
.mn-sfs-hero {
  padding: 96px 0 88px;
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(222,213,190,.10);
}
.mn-sfs-hero::before {
  content: ""; position: absolute;
  top: -20%; right: -12%;
  width: 680px; height: 680px;
  background: radial-gradient(circle, rgba(232,68,10,.10), transparent 60%);
  pointer-events: none;
}
.mn-sfs-hero::after {
  content: ""; position: absolute;
  bottom: -40%; left: -10%;
  width: 620px; height: 620px;
  background: radial-gradient(circle, rgba(222,213,190,.06), transparent 60%);
  pointer-events: none;
}
.mn-sfs-hero-inner {
  position: relative;
  text-align: center;
  max-width: 800px;
  margin: 0 auto 48px;
}
.mn-sfs-hero-heading {
  font-family: var(--mn-font-display);
  font-size: clamp(2.4rem, 5.5vw, 4rem);
  line-height: 1.2;
  font-weight: 500;
  color: var(--mn-linen);
  margin: 0 0 24px;
  letter-spacing: -0.01em;
  text-shadow: 0 0 40px rgba(222,213,190,.14), 0 0 80px rgba(222,213,190,.07);
}
.mn-sfs-hero-sub {
  font-size: clamp(1.1rem, 2.2vw, 1.3rem);
  line-height: 1.7;
  color: rgba(222,213,190,.82);
  margin: 0 auto 40px;
  max-width: 62ch;
}
.mn-sfs-hero-ctas {
  display: flex; gap: 20px;
  justify-content: center; align-items: center;
  flex-wrap: wrap;
  margin-bottom: 64px;
}

/* Alternating row pattern used by intro + services */
.mn-sfs-intro { padding: 112px 0; border-top: 1px solid rgba(222,213,190,.10); position: relative; overflow: hidden; }
.mn-sfs-intro::before {
  content: ""; position: absolute;
  top: 10%; right: -15%;
  width: 560px; height: 560px;
  background: radial-gradient(circle, rgba(232,68,10,.07), transparent 60%);
  pointer-events: none;
}
.mn-sfs-services {
  padding: 24px 0 40px;
  border-top: 1px solid rgba(222,213,190,.10);
  position: relative; overflow: hidden;
}
.mn-sfs-services::before {
  content: ""; position: absolute;
  top: 4%; left: -15%;
  width: 560px; height: 560px;
  background: radial-gradient(circle, rgba(232,68,10,.07), transparent 60%);
  pointer-events: none;
}
.mn-sfs-services::after {
  content: ""; position: absolute;
  bottom: 6%; right: -14%;
  width: 520px; height: 520px;
  background: radial-gradient(circle, rgba(222,213,190,.055), transparent 60%);
  pointer-events: none;
}
.mn-sfs-services-header {
  max-width: 820px;
  margin: 80px auto 56px;
  text-align: center;
  position: relative;
}
.mn-sfs-services-header h2 {
  font-family: var(--mn-font-display);
  font-size: clamp(1.85rem, 3.8vw, 2.85rem);
  line-height: 1.2;
  color: var(--mn-linen);
  font-weight: 500;
}

.mn-sfs-row {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 80px;
  align-items: center;
  padding: 72px 0;
  position: relative;
}
.mn-sfs-row + .mn-sfs-row { border-top: 1px solid rgba(222,213,190,.10); }
.mn-sfs-row .mn-sfs-row-media { order: 1; }
.mn-sfs-row .mn-sfs-row-copy  { order: 2; }
.mn-sfs-row:nth-of-type(even) .mn-sfs-row-media { order: 2; }
.mn-sfs-row:nth-of-type(even) .mn-sfs-row-copy  { order: 1; }

.mn-sfs-row--intro { padding: 0; }
.mn-sfs-row--intro .mn-sfs-row-media { order: 2; }
.mn-sfs-row--intro .mn-sfs-row-copy  { order: 1; }

.mn-sfs-row-media {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 28px 80px rgba(0,0,0,.42), 0 0 0 1px rgba(222,213,190,.18);
  align-self: center;
}
.mn-sfs-row-media img {
  width: 100%; height: auto; display: block;
  transition: transform .8s ease;
}
.mn-sfs-row-media:hover img { transform: scale(1.02); }
.mn-sfs-row-media::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(160deg, transparent 55%, rgba(20,38,31,.4));
  pointer-events: none;
}
.mn-sfs-row-media-tag {
  position: absolute; left: 20px; bottom: 20px;
  padding: 8px 14px;
  background: rgba(25, 46, 40, .75);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(222,213,190,.18);
  border-radius: 999px;
  font-size: 12px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase;
  color: rgba(222,213,190,.82);
  display: inline-flex; align-items: center; gap: 8px;
  z-index: 2;
}
.mn-sfs-row-media-tag::before {
  content: ""; width: 7px; height: 7px; border-radius: 50%;
  background: var(--mn-orange);
  box-shadow: 0 0 0 3px rgba(232,68,10,.22);
}
.mn-sfs-row-copy { align-self: center; }
.mn-sfs-row-title {
  display: flex; align-items: center; gap: 18px;
  margin-bottom: 18px;
}
.mn-sfs-row-num {
  flex: 0 0 auto;
  width: 44px; height: 44px; border-radius: 50%;
  background: rgba(232,68,10,.12);
  border: 1px solid rgba(232,68,10,.45);
  color: var(--mn-orange);
  font-family: var(--mn-font-body);
  font-size: 14px; font-weight: 700; letter-spacing: .04em;
  display: inline-flex; align-items: center; justify-content: center;
}
.mn-sfs-row-title h3 {
  font-family: var(--mn-font-display);
  font-size: clamp(24px, 3.2vw, 36px);
  line-height: 1.25;
  color: var(--mn-linen);
  margin: 0;
  font-weight: 600;
}
.mn-sfs-row-copy h2 {
  font-family: var(--mn-font-display);
  font-size: clamp(1.85rem, 3.8vw, 2.85rem);
  line-height: 1.2;
  color: var(--mn-linen);
  margin: 0 0 18px;
  font-weight: 500;
}
.mn-sfs-row-copy p {
  font-size: 17px;
  line-height: 1.75;
  color: rgba(222,213,190,.82);
  max-width: 56ch;
}

/* Mid CTA panel */
.mn-sfs-midcta {
  padding: 72px 0;
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(222,213,190,.10);
}
.mn-sfs-midcta-panel {
  position: relative;
  max-width: 1080px;
  margin: 0 auto;
  padding: 64px 48px;
  border-radius: 24px;
  background:
    radial-gradient(ellipse at 20% 0%, rgba(232,68,10,.18), transparent 55%),
    radial-gradient(ellipse at 100% 100%, rgba(222,213,190,.08), transparent 55%),
    linear-gradient(135deg, rgba(46,82,72,.6), rgba(25,46,40,.85));
  border: 1px solid rgba(222,213,190,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), inset 0 -1px 0 rgba(0,0,0,.2), 0 30px 80px rgba(0,0,0,.35);
  text-align: center;
  overflow: hidden;
}
.mn-sfs-midcta-panel::before {
  content: ""; position: absolute;
  top: 0; left: 50%; transform: translateX(-50%);
  width: 180px; height: 2px;
  background: linear-gradient(90deg, transparent, var(--mn-orange), transparent);
  opacity: .9;
}
.mn-sfs-midcta-panel::after {
  content: ""; position: absolute;
  bottom: -60%; left: -10%;
  width: 520px; height: 520px;
  background: radial-gradient(circle, rgba(232,68,10,.12), transparent 60%);
  pointer-events: none;
}
.mn-sfs-midcta-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 12.5px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--mn-orange);
  margin-bottom: 18px;
}
.mn-sfs-midcta-eyebrow::before,
.mn-sfs-midcta-eyebrow::after {
  content: ""; width: 28px; height: 1px;
  background: var(--mn-orange); opacity: .6;
}
.mn-sfs-midcta-panel h2 {
  font-family: var(--mn-font-display);
  font-size: clamp(1.9rem, 3.8vw, 2.6rem);
  line-height: 1.2;
  color: var(--mn-linen);
  font-weight: 500;
  margin: 0 0 14px;
}
.mn-sfs-midcta-lede {
  color: rgba(222,213,190,.82);
  font-size: 16.5px; line-height: 1.65;
  max-width: 60ch;
  margin: 0 auto 32px;
}
.mn-sfs-midcta-ctas {
  display: flex; justify-content: center; align-items: center;
  gap: 24px; flex-wrap: wrap;
}
.mn-sfs-midcta-note {
  display: inline-flex; align-items: center; gap: 8px;
  color: rgba(222,213,190,.62); font-size: 14px;
}
.mn-sfs-midcta-note svg {
  width: 16px; height: 16px;
  color: var(--mn-orange); flex-shrink: 0;
}

/* Process section */
.mn-sfs-process {
  padding: 112px 0 120px;
  border-top: 1px solid rgba(222,213,190,.10);
  position: relative;
  overflow: hidden;
}
.mn-sfs-process::before {
  content: ""; position: absolute;
  top: 0; right: -12%;
  width: 620px; height: 620px;
  background: radial-gradient(circle, rgba(232,68,10,.08), transparent 60%);
  pointer-events: none;
}
.mn-sfs-process::after {
  content: ""; position: absolute;
  bottom: -20%; left: -10%;
  width: 560px; height: 560px;
  background: radial-gradient(circle, rgba(222,213,190,.06), transparent 60%);
  pointer-events: none;
}
.mn-sfs-process-header {
  max-width: 820px;
  margin: 0 auto 56px;
  text-align: center;
  position: relative;
}
.mn-sfs-process-header h2 {
  font-family: var(--mn-font-display);
  font-size: clamp(1.85rem, 3.8vw, 2.85rem);
  line-height: 1.2;
  color: var(--mn-linen);
  margin: 0 0 18px;
  font-weight: 500;
}
.mn-sfs-process-header p {
  color: rgba(222,213,190,.82);
  font-size: 17px;
  line-height: 1.7;
}
.mn-sfs-process-banner {
  position: relative;
  height: clamp(220px, 28vw, 340px);
  border-radius: 20px;
  overflow: hidden;
  margin: 0 0 72px;
  box-shadow: 0 28px 80px rgba(0,0,0,.45), 0 0 0 1px rgba(222,213,190,.18);
}
.mn-sfs-process-banner img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center 40%;
  display: block;
}
.mn-sfs-process-banner::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(100deg, rgba(25,46,40,.75) 0%, rgba(25,46,40,.35) 45%, rgba(25,46,40,.7) 100%),
    linear-gradient(180deg, transparent 60%, rgba(20,38,31,.55));
  pointer-events: none;
}
.mn-sfs-process-banner-tag {
  position: absolute; left: 24px; bottom: 24px;
  padding: 10px 16px;
  background: rgba(25, 46, 40, .75);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(222,213,190,.18);
  border-radius: 999px;
  font-size: 12px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase;
  color: rgba(222,213,190,.85);
  display: inline-flex; align-items: center; gap: 10px;
  z-index: 2;
}
.mn-sfs-process-banner-tag::before {
  content: ""; width: 7px; height: 7px; border-radius: 50%;
  background: var(--mn-orange);
  box-shadow: 0 0 0 3px rgba(232,68,10,.22);
}
.mn-sfs-process-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 28px;
  padding-top: 34px;
}
.mn-sfs-process-steps::before {
  content: ""; position: absolute;
  top: 22px; left: 8%; right: 8%;
  height: 1px;
  background: linear-gradient(90deg,
    rgba(232,68,10,.55), rgba(222,213,190,.2) 20%,
    rgba(222,213,190,.2) 80%, rgba(232,68,10,.25));
}
.mn-sfs-step {
  position: relative;
  display: flex;
  flex-direction: column;
}
.mn-sfs-step-num {
  position: absolute;
  top: -34px;
  left: 50%;
  transform: translateX(-50%);
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--mn-forest);
  border: 1px solid rgba(232,68,10,.5);
  color: var(--mn-orange);
  font-family: var(--mn-font-body);
  font-size: 14px; font-weight: 700; letter-spacing: .04em;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 0 0 6px var(--mn-forest), 0 0 24px rgba(232,68,10,.25);
  z-index: 2;
}
.mn-sfs-step-body {
  flex: 1;
  background: var(--mn-forest-light, #2E5248);
  border: 1px solid rgba(222,213,190,.18);
  border-radius: 16px;
  padding: 40px 28px 28px;
  text-align: left;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.mn-sfs-step-body:hover {
  transform: translateY(-3px);
  border-color: rgba(232,68,10,.45);
  box-shadow: 0 18px 44px rgba(0,0,0,.32);
}
.mn-sfs-step-body h3 {
  font-family: var(--mn-font-display);
  font-size: clamp(1.3rem, 2vw, 1.55rem);
  line-height: 1.25;
  color: var(--mn-linen);
  margin: 0 0 12px;
  font-weight: 500;
}
.mn-sfs-step-body p {
  color: rgba(222,213,190,.82);
  font-size: 15.5px;
  line-height: 1.7;
}

/* How to start */
.mn-sfs-start {
  padding: 112px 0;
  border-top: 1px solid rgba(222,213,190,.10);
  position: relative;
  overflow: hidden;
}
.mn-sfs-start::before {
  content: ""; position: absolute;
  top: 0; left: -12%;
  width: 560px; height: 560px;
  background: radial-gradient(circle, rgba(232,68,10,.08), transparent 60%);
  pointer-events: none;
}
.mn-sfs-start::after {
  content: ""; position: absolute;
  bottom: -30%; right: -12%;
  width: 620px; height: 620px;
  background: radial-gradient(circle, rgba(222,213,190,.06), transparent 60%);
  pointer-events: none;
}
.mn-sfs-start-header {
  max-width: 820px;
  margin: 0 auto 64px;
  text-align: center;
  position: relative;
}
.mn-sfs-start-header h2 {
  font-family: var(--mn-font-display);
  font-size: clamp(1.85rem, 3.8vw, 2.85rem);
  line-height: 1.2;
  color: var(--mn-linen);
  margin: 0 0 18px;
  font-weight: 500;
}
.mn-sfs-start-header p {
  color: rgba(222,213,190,.82);
  font-size: 17px;
  line-height: 1.7;
}
.mn-sfs-start-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 28px;
  position: relative;
}
.mn-sfs-start-card {
  position: relative;
  background: var(--mn-forest-light, #2E5248);
  border: 1px solid rgba(222,213,190,.18);
  border-radius: 20px;
  padding: 36px 32px 32px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  overflow: hidden;
}
.mn-sfs-start-card:hover {
  transform: translateY(-4px);
  border-color: rgba(232,68,10,.45);
  box-shadow: 0 24px 60px rgba(0,0,0,.35);
}
.mn-sfs-start-card::before {
  content: ""; position: absolute;
  top: -40%; right: -30%;
  width: 240px; height: 240px;
  background: radial-gradient(circle, rgba(232,68,10,.14), transparent 60%);
  pointer-events: none;
  opacity: 0;
  transition: opacity .25s ease;
}
.mn-sfs-start-card:hover::before { opacity: 1; }
.mn-sfs-start-stepmark {
  position: absolute;
  top: 12px; right: 24px;
  font-family: var(--mn-font-display);
  font-size: 120px; font-weight: 500;
  line-height: 1;
  color: rgba(222,213,190,.06);
  letter-spacing: -0.04em;
  pointer-events: none;
  z-index: 0;
}
.mn-sfs-start-step {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 12.5px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--mn-orange);
  position: relative; z-index: 1;
}
.mn-sfs-start-step::before {
  content: ""; width: 24px; height: 1px;
  background: var(--mn-orange); opacity: .7;
}
.mn-sfs-start-card h3 {
  font-family: var(--mn-font-display);
  font-size: 1.45rem;
  line-height: 1.25;
  color: var(--mn-linen);
  margin: 0;
  font-weight: 500;
  position: relative; z-index: 1;
}
.mn-sfs-start-card p {
  color: rgba(222,213,190,.82);
  font-size: 15.5px;
  line-height: 1.7;
  position: relative; z-index: 1;
}
.mn-sfs-start-foot {
  margin-top: 56px;
  display: flex; justify-content: center; align-items: center;
  gap: 22px; flex-wrap: wrap;
}
.mn-sfs-start-note {
  display: inline-flex; align-items: center; gap: 8px;
  color: rgba(222,213,190,.62); font-size: 14px;
}
.mn-sfs-start-note svg {
  width: 16px; height: 16px;
  color: var(--mn-orange); flex-shrink: 0;
}

/* Contact */
.mn-sfs-contact {
  padding: 120px 0 128px;
  border-top: 1px solid rgba(232,68,10,.35);
  position: relative;
  overflow: hidden;
}
.mn-sfs-contact::before {
  content: ""; position: absolute;
  top: -25%; left: 50%; transform: translateX(-50%);
  width: 900px; height: 540px;
  background: radial-gradient(ellipse, rgba(232,68,10,.13), transparent 60%);
  pointer-events: none;
}
.mn-sfs-contact::after {
  content: ""; position: absolute;
  bottom: -30%; left: 50%; transform: translateX(-50%);
  width: 780px; height: 500px;
  background: radial-gradient(ellipse, rgba(222,213,190,.05), transparent 60%);
  pointer-events: none;
}
.mn-sfs-contact-inner {
  position: relative;
  max-width: 780px;
  margin: 0 auto;
  text-align: center;
}
.mn-sfs-contact-heading {
  font-family: var(--mn-font-display);
  font-size: clamp(2.2rem, 4.2vw, 3.2rem);
  font-weight: 600;
  line-height: 1.15;
  color: var(--mn-linen);
  margin: 0 0 22px;
  letter-spacing: -0.01em;
}
.mn-sfs-contact-heading em {
  font-style: italic;
  font-weight: 400;
  color: var(--mn-orange);
}
.mn-sfs-contact-sub {
  font-size: 1.05rem;
  line-height: 1.7;
  color: rgba(222,213,190,.82);
  margin: 0 auto 14px;
  max-width: 60ch;
}
.mn-sfs-contact-sub:last-of-type { margin-bottom: 52px; }
.mn-sfs-trust-list {
  list-style: none;
  margin: 0 auto 44px;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  max-width: 640px;
}
.mn-sfs-trust-item {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 18px 20px;
  background: rgba(222,213,190,.04);
  border: 1px solid rgba(222,213,190,.12);
  border-radius: 14px;
  text-align: left;
  transition: border-color .25s ease, background .25s ease, transform .25s ease;
}
.mn-sfs-trust-item:hover {
  border-color: rgba(232,68,10,.35);
  background: rgba(232,68,10,.04);
  transform: translateY(-2px);
}
.mn-sfs-trust-icon {
  flex: 0 0 auto;
  width: 40px; height: 40px;
  border-radius: 10px;
  background: rgba(232,68,10,.12);
  border: 1px solid rgba(232,68,10,.24);
  color: var(--mn-orange);
  display: inline-flex; align-items: center; justify-content: center;
}
.mn-sfs-trust-icon svg { width: 18px; height: 18px; }
.mn-sfs-trust-body { display: flex; flex-direction: column; gap: 3px; }
.mn-sfs-trust-strong {
  font-size: 14.5px; font-weight: 600;
  color: var(--mn-linen); line-height: 1.35;
}
.mn-sfs-trust-text {
  font-size: 13px; line-height: 1.55;
  color: rgba(222,213,190,.6);
}

/* Responsive */
@media (max-width: 1024px) {
  .mn-sfs-row { grid-template-columns: 1fr; gap: 40px; padding: 56px 0; }
  .mn-sfs-row .mn-sfs-row-media,
  .mn-sfs-row:nth-of-type(even) .mn-sfs-row-media,
  .mn-sfs-row--intro .mn-sfs-row-media { order: 1; }
  .mn-sfs-row .mn-sfs-row-copy,
  .mn-sfs-row:nth-of-type(even) .mn-sfs-row-copy,
  .mn-sfs-row--intro .mn-sfs-row-copy { order: 2; }
}
@media (max-width: 880px) {
  .mn-sfs-hero { padding: 72px 0 64px; }
  .mn-sfs-hero-ctas { flex-direction: column; gap: 16px; margin-bottom: 48px; }
}
@media (max-width: 860px) {
  .mn-sfs-process { padding: 80px 0 88px; }
  .mn-sfs-process-banner { margin-bottom: 56px; height: clamp(180px, 45vw, 260px); }
  .mn-sfs-process-steps { grid-template-columns: 1fr; gap: 56px; padding-top: 0; }
  .mn-sfs-process-steps::before { display: none; }
  .mn-sfs-step-num {
    position: relative; top: 0; left: 0;
    transform: none;
    margin: 0 0 -22px 20px;
  }
  .mn-sfs-step-body { padding-top: 36px; }
}
@media (max-width: 720px) {
  .mn-sfs-intro, .mn-sfs-services, .mn-sfs-start, .mn-sfs-contact { padding: 72px 0; }
  .mn-sfs-midcta { padding: 56px 0; }
  .mn-sfs-midcta-panel { padding: 48px 24px; border-radius: 20px; }
  .mn-sfs-midcta-ctas { flex-direction: column; gap: 16px; }
  .mn-sfs-start-grid { grid-template-columns: 1fr; gap: 20px; }
  .mn-sfs-start-card { padding: 32px 24px; }
  .mn-sfs-start-stepmark { font-size: 90px; }
  .mn-sfs-services-header { margin: 48px auto 32px; }
}
@media (max-width: 640px) {
  .mn-sfs-trust-list { grid-template-columns: 1fr; gap: 10px; max-width: 420px; }
}
@media (max-width: 540px) {
  .mn-sfs-row-media-tag, .mn-sfs-process-banner-tag { left: 12px; bottom: 12px; font-size: 11px; padding: 7px 12px; }
}
/* ▓▓▓ END SALESFORCE SERVICES ▓▓▓ */
/* =========================================================
   ▓▓▓ SF SMALL BUSINESS — KEY FEATURES TABS ▓▓▓
   Used on: page-salesforce-for-small-business.php
   Left rail of compact feature tabs + right content panel.
   ========================================================= */
.mn-sfs-features-tabs {
  background: var(--mn-forest-deep, #192E28);
  padding: 80px 0;
  border-top: 1px solid rgba(222,213,190,.10);
  position: relative;
  overflow: hidden;
}
.mn-sfs-features-tabs::before {
  content: ""; position: absolute;
  top: 0; left: 50%; transform: translateX(-50%);
  width: 900px; height: 520px;
  background: radial-gradient(ellipse, rgba(232,68,10,.08), transparent 60%);
  pointer-events: none;
}
.mn-sfs-features-tabs-header {
  max-width: 820px;
  margin: 0 auto 44px;
  text-align: center;
  position: relative;
}
.mn-sfs-features-tabs-header h3 {
  font-family: var(--mn-font-display);
  font-size: clamp(1.75rem, 3.4vw, 2.4rem);
  line-height: 1.2;
  font-weight: 500;
  color: var(--mn-linen);
  margin: 0;
  letter-spacing: -0.01em;
}
.mn-sfs-features-tabs-grid {
  display: grid;
  grid-template-columns: 290px 1fr;
  gap: 28px;
  align-items: start;
  position: relative;
}
.mn-sfs-features-tabs-nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
  position: sticky;
  top: 96px;
}
.mn-sfs-features-tabs-nav button {
  all: unset;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 10px;
  background: transparent;
  border: 1px solid transparent;
  transition: background .18s ease, border-color .18s ease;
  text-align: left;
  position: relative;
}
.mn-sfs-features-tabs-nav button::before {
  content: "";
  position: absolute;
  left: 0; top: 20%; bottom: 20%;
  width: 2px;
  background: var(--mn-orange);
  opacity: 0;
  transition: opacity .18s ease;
  border-radius: 1px;
}
.mn-sfs-features-tabs-nav button:hover { background: rgba(222,213,190,.04); }
.mn-sfs-features-tabs-nav button[aria-selected="true"] { background: rgba(232,68,10,.08); }
.mn-sfs-features-tabs-nav button[aria-selected="true"]::before { opacity: 1; }
.mn-sfs-features-tab-icon {
  flex: 0 0 auto;
  width: 30px; height: 30px;
  border-radius: 8px;
  background: rgba(222,213,190,.05);
  border: 1px solid rgba(222,213,190,.10);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(222,213,190,.65);
  transition: border-color .18s ease, color .18s ease, background .18s ease;
}
.mn-sfs-features-tabs-nav button:hover .mn-sfs-features-tab-icon {
  color: var(--mn-linen);
  border-color: rgba(222,213,190,.22);
}
.mn-sfs-features-tabs-nav button[aria-selected="true"] .mn-sfs-features-tab-icon {
  background: rgba(232,68,10,.14);
  border-color: rgba(232,68,10,.45);
  color: var(--mn-orange);
}
.mn-sfs-features-tab-icon svg { width: 14px; height: 14px; }
.mn-sfs-features-tab-title {
  font-family: var(--mn-font-body);
  font-size: 13.5px;
  font-weight: 600;
  color: rgba(222,213,190,.78);
  line-height: 1.3;
  letter-spacing: -0.005em;
  transition: color .18s ease;
  min-width: 0;
}
.mn-sfs-features-tabs-nav button:hover .mn-sfs-features-tab-title,
.mn-sfs-features-tabs-nav button[aria-selected="true"] .mn-sfs-features-tab-title {
  color: var(--mn-linen);
}
.mn-sfs-features-tabs-panels {
  background: var(--mn-forest-light, #2E5248);
  border: 1px solid rgba(222,213,190,.18);
  border-radius: 16px;
  padding: 30px 34px;
  position: relative;
  overflow: hidden;
}
.mn-sfs-features-tabs-panels::before {
  content: "";
  position: absolute;
  top: -40%; right: -20%;
  width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(232,68,10,.08), transparent 60%);
  pointer-events: none;
}
.mn-sfs-features-tab-panel {
  display: none;
  position: relative;
  animation: mnSfsTabFade .3s ease both;
}
.mn-sfs-features-tab-panel[data-active] { display: block; }
@keyframes mnSfsTabFade {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.mn-sfs-features-tab-panel-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.mn-sfs-features-tab-plate {
  flex: 0 0 auto;
  width: 40px; height: 40px;
  border-radius: 10px;
  background: rgba(232,68,10,.12);
  border: 1px solid rgba(232,68,10,.45);
  color: var(--mn-orange);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.mn-sfs-features-tab-plate svg { width: 18px; height: 18px; }
.mn-sfs-features-tab-panel h4 {
  font-family: var(--mn-font-body);
  font-size: clamp(1.1rem, 1.7vw, 1.3rem);
  line-height: 1.25;
  color: var(--mn-linen);
  font-weight: 600;
  letter-spacing: -0.01em;
  margin: 0;
}
.mn-sfs-features-tab-panel p {
  color: rgba(222,213,190,.78);
  font-size: 15.5px;
  line-height: 1.7;
  max-width: 68ch;
  margin: 0;
}
@media (max-width: 960px) {
  .mn-sfs-features-tabs { padding: 64px 0; }
  .mn-sfs-features-tabs-grid { grid-template-columns: 1fr; gap: 18px; }
  .mn-sfs-features-tabs-nav {
    position: static;
    flex-direction: row;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 8px;
    gap: 6px;
  }
  .mn-sfs-features-tabs-nav::-webkit-scrollbar { height: 3px; }
  .mn-sfs-features-tabs-nav::-webkit-scrollbar-thumb { background: rgba(222,213,190,.18); border-radius: 3px; }
  .mn-sfs-features-tabs-nav button {
    flex: 0 0 auto;
    scroll-snap-align: start;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(222,213,190,.04);
    border-color: rgba(222,213,190,.12);
  }
  .mn-sfs-features-tabs-nav button::before { display: none; }
  .mn-sfs-features-tabs-nav button[aria-selected="true"] {
    background: rgba(232,68,10,.12);
    border-color: rgba(232,68,10,.4);
  }
  .mn-sfs-features-tab-icon { display: none; }
  .mn-sfs-features-tab-title { font-size: 13px; white-space: nowrap; }
  .mn-sfs-features-tabs-panels { padding: 22px 20px; border-radius: 14px; }
}
/* ▓▓▓ END SF SMALL BUSINESS KEY FEATURES TABS ▓▓▓ */


/* ════════════════════════════════════════════════════════════
   ASSET LANDING PAGE (mn-alp-*)
   Used by page-crafting-winning-b2b-commerce-strategy.php and
   future single-asset lead-magnet landing pages. Structure:
   hero (split) → trust bar → benefit cards → download (split).
   ════════════════════════════════════════════════════════════ */

/* ── Shared button ───────────────────────────────────────── */
.mn-alp-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 28px;
    border-radius: 999px;
    font-family: var(--mn-font-body);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .02em;
    text-decoration: none !important;
    border: 1px solid transparent;
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
    cursor: pointer;
}
.mn-alp-btn svg { width: 16px; height: 16px; flex-shrink: 0; }
.mn-alp-btn--primary {
    background: var(--mn-orange);
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(232,68,10,.32);
}
.mn-alp-btn--primary:hover {
    background: var(--mn-orange-hover);
    transform: translateY(-1px);
    box-shadow: 0 14px 30px rgba(232,68,10,.42);
}

/* ── 1. HERO ─────────────────────────────────────────────── */
.mn-alp-hero {
    position: relative;
    overflow: hidden;
    padding: 90px 0 70px;
}
.mn-alp-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(1100px 600px at 85% 30%, rgba(232,68,10,.14), transparent 60%),
        radial-gradient(900px 500px at 10% 85%, rgba(222,213,190,.05), transparent 60%);
    pointer-events: none;
}
.mn-alp-hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 72px;
    align-items: center;
}
.mn-alp-hero-body { max-width: 640px; }
.mn-alp-hero-kicker {
    font-family: var(--mn-font-body);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(222,213,190,.72);
    margin: 14px 0 18px;
}
.mn-alp-hero-title {
    font-family: var(--mn-font-display);
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1.08;
    font-weight: 500;
    color: var(--mn-linen);
    margin: 0 0 20px;
    letter-spacing: -.01em;
}
.mn-alp-hero-sub {
    font-family: var(--mn-font-body);
    font-size: 19px;
    line-height: 1.55;
    color: rgba(222,213,190,.82);
    margin: 0 0 28px;
    max-width: 560px;
}
.mn-alp-hero-hl {
    color: var(--mn-linen);
    font-weight: 600;
    background: linear-gradient(transparent 65%, rgba(232,68,10,.35) 65%);
    padding: 0 2px;
}
.mn-alp-hero-bullets {
    list-style: none;
    padding: 0;
    margin: 0 0 36px;
    display: grid;
    gap: 12px;
}
.mn-alp-hero-bullets li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-family: var(--mn-font-body);
    font-size: 16px;
    line-height: 1.5;
    color: rgba(222,213,190,.88);
}
.mn-alp-hero-bullets svg {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin-top: 2px;
    color: var(--mn-orange);
    background: rgba(232,68,10,.12);
    border-radius: 50%;
    padding: 3px;
    box-sizing: border-box;
}
.mn-alp-hero-cta {
    display: flex;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
}
.mn-alp-hero-meta {
    font-family: var(--mn-font-body);
    font-size: 13px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(222,213,190,.55);
}

/* Visual — book cover */
.mn-alp-hero-visual {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 520px;
}
.mn-alp-cover {
    position: relative;
    width: min(360px, 90%);
    aspect-ratio: 724 / 1024;
    border-radius: 6px 12px 12px 6px;
    overflow: hidden;
    transform: rotate(-3.5deg) translateY(-6px);
    box-shadow:
        0 40px 80px -20px rgba(0,0,0,.55),
        0 20px 40px -20px rgba(0,0,0,.45),
        inset 4px 0 0 rgba(0,0,0,.18),
        inset 10px 0 18px -10px rgba(0,0,0,.28);
    transition: transform .4s ease;
}
.mn-alp-cover:hover { transform: rotate(-1.5deg) translateY(-10px); }
.mn-alp-cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mn-alp-cover-glow {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 70%;
    height: 28px;
    transform: translateX(-50%);
    background: radial-gradient(ellipse at center, rgba(0,0,0,.6), transparent 70%);
    filter: blur(10px);
    z-index: -1;
    pointer-events: none;
}

/* ── 2. TRUST BAR ────────────────────────────────────────── */
.mn-alp-trust { padding: 50px 0; }
.mn-alp-trust-label {
    display: block;
    text-align: center;
    font-family: var(--mn-font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(222,213,190,.52);
    margin-bottom: 28px;
}
.mn-alp-trust-logos {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 44px 64px;
}
.mn-alp-trust-logos li { display: flex; align-items: center; justify-content: center; }
.mn-alp-trust-logos img {
    max-height: 46px;
    width: auto;
    opacity: .58;
    filter: grayscale(1) brightness(1.4);
    transition: opacity .2s ease, filter .2s ease;
}
.mn-alp-trust-logos img:hover { opacity: 1; filter: grayscale(0) brightness(1); }

/* ── 3. INSIDE THE GUIDE ─────────────────────────────────── */
.mn-alp-inside { padding: 90px 0; }
.mn-alp-section-head { text-align: center; margin-bottom: 56px; }
.mn-alp-section-head .mn-hp-section-overline { justify-content: center; }
.mn-alp-section-title {
    font-family: var(--mn-font-display);
    font-size: clamp(32px, 3.5vw, 48px);
    line-height: 1.15;
    font-weight: 500;
    color: var(--mn-linen);
    margin: 14px 0 0;
    letter-spacing: -.01em;
}
.mn-alp-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.mn-alp-card {
    padding: 36px 30px;
    background: rgba(222,213,190,.03);
    border: 1px solid rgba(222,213,190,.1);
    border-radius: 18px;
    transition: transform .25s ease, border-color .25s ease, background .25s ease;
}
.mn-alp-card:hover {
    transform: translateY(-4px);
    border-color: rgba(232,68,10,.45);
    background: rgba(222,213,190,.05);
}
.mn-alp-card-icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(232,68,10,.12);
    color: var(--mn-orange);
    margin-bottom: 22px;
}
.mn-alp-card-icon svg { width: 28px; height: 28px; }
.mn-alp-card-title {
    font-family: var(--mn-font-display);
    font-size: 22px;
    line-height: 1.25;
    font-weight: 500;
    color: var(--mn-linen);
    margin: 0 0 12px;
}
.mn-alp-card-desc {
    font-family: var(--mn-font-body);
    font-size: 15px;
    line-height: 1.6;
    color: rgba(222,213,190,.74);
    margin: 0;
}

/* ── 4. DOWNLOAD ─────────────────────────────────────────── */
.mn-alp-download {
    padding: 90px 0;
    position: relative;
    overflow: hidden;
    scroll-margin-top: 80px;
}
.mn-alp-download::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(900px 500px at 20% 30%, rgba(232,68,10,.1), transparent 60%);
    pointer-events: none;
}
.mn-alp-download-grid {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: center;
}
.mn-alp-download-body {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 32px;
    align-items: center;
}
.mn-alp-download-cover {
    aspect-ratio: 724 / 1024;
    border-radius: 4px 8px 8px 4px;
    overflow: hidden;
    box-shadow:
        0 30px 60px -15px rgba(0,0,0,.55),
        inset 3px 0 0 rgba(0,0,0,.18);
    transform: rotate(-2deg);
}
.mn-alp-download-cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mn-alp-download-title {
    font-family: var(--mn-font-display);
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.15;
    font-weight: 500;
    color: var(--mn-linen);
    margin: 14px 0 16px;
    letter-spacing: -.01em;
}
.mn-alp-download-desc {
    font-family: var(--mn-font-body);
    font-size: 16px;
    line-height: 1.6;
    color: rgba(222,213,190,.78);
    margin: 0;
}

/* Form card — embed inside the right column */
.mn-alp-download-form .mn-form--embed {
    background: rgba(25, 46, 40, .7);
    border: 1px solid rgba(222,213,190,.14);
    border-radius: 22px;
    padding: 36px 32px;
    box-shadow: 0 30px 60px -25px rgba(0,0,0,.5);
    backdrop-filter: blur(10px);
}

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 1024px) {
    .mn-alp-hero { padding: 70px 0 50px; }
    .mn-alp-hero-grid { grid-template-columns: 1fr; gap: 48px; }
    .mn-alp-hero-body { max-width: none; }
    .mn-alp-hero-visual { min-height: 400px; order: -1; }
    .mn-alp-cover { width: 260px; }
    .mn-alp-cards { grid-template-columns: 1fr; gap: 18px; }
    .mn-alp-inside { padding: 70px 0; }
    .mn-alp-download { padding: 70px 0; }
    .mn-alp-download-grid { grid-template-columns: 1fr; gap: 48px; }
    .mn-alp-download-body { grid-template-columns: 140px 1fr; gap: 24px; }
}
@media (max-width: 640px) {
    .mn-alp-hero { padding: 56px 0 40px; }
    .mn-alp-hero-visual { min-height: 340px; }
    .mn-alp-cover { width: 220px; }
    .mn-alp-hero-cta { gap: 14px; }
    .mn-alp-hero-meta { font-size: 12px; }
    .mn-alp-trust-logos { gap: 28px 36px; }
    .mn-alp-trust-logos img { max-height: 36px; }
    .mn-alp-card { padding: 28px 22px; }
    .mn-alp-download-body { grid-template-columns: 1fr; text-align: center; }
    .mn-alp-download-cover { width: 180px; margin: 0 auto; }
    .mn-alp-download-form .mn-form--embed { padding: 28px 22px; }
}
/* end .mn-alp-* */


/* ═══════════════════════════════════════════════════════════════════
   GLASS CARD PATTERN — documented system surface used by pain/gain
   and fit components. Reuse .mn-glass-card for any future card that
   wants translucent glass treatment over the section background.
   Variants (.mn-pg-card--pain, .mn-fit-card--yes, etc.) supply the
   tint and the rim accent colour.
   ═══════════════════════════════════════════════════════════════════ */
.mn-glass-card {
    position: relative;
    border-radius: 22px;
    backdrop-filter: blur(28px) saturate(145%);
    -webkit-backdrop-filter: blur(28px) saturate(145%);
    overflow: hidden;
    isolation: isolate;
    display: flex;
    flex-direction: column;
}
.mn-glass-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 18%, rgba(255,255,255,0) 85%, rgba(255,255,255,.03) 100%),
        linear-gradient(115deg, rgba(255,255,255,.07) 0%, rgba(255,255,255,0) 35%);
    z-index: 1;
    mix-blend-mode: screen;
}
.mn-glass-card > * { position: relative; z-index: 2; }

/* Shared section kicker used by .mn-pg and .mn-fit */
.mn-section-kicker { text-align: center; margin-bottom: 40px; }
.mn-section-kicker .mn-hp-section-heading {
    max-width: 820px;
    margin-inline: auto;
    text-wrap: balance;
}
.mn-section-kicker .mn-hp-section-heading em { white-space: nowrap; }

/* ═══════════════════════════════════════════════════════════════════
   PAIN / GAIN diptych (.mn-pg-*)
   ═══════════════════════════════════════════════════════════════════ */
.mn-pg, .mn-fit { padding: 80px 0; }
.mn-pg + .mn-fit { border-top: 1px solid rgba(222,213,190,.10); }

.mn-pg-header {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: clamp(16px, 2.5vw, 40px);
    margin-bottom: 28px;
}
.mn-pg-header-side {
    font-family: var(--mn-font-display);
    font-weight: 500;
    font-size: clamp(1.5rem, 3vw, 2.1rem);
    line-height: 1.2;
    letter-spacing: -.01em;
}
.mn-pg-header-side--now { color: var(--mn-linen-soft); text-align: right; padding-right: 6px; }
.mn-pg-header-side--after { color: var(--mn-linen-warm); text-align: left; padding-left: 6px; }
.mn-pg-header-side--after em { font-style: italic; color: var(--mn-orange); font-weight: 400; }

.mn-pg-header-arrow {
    width: 48px; height: 48px; border-radius: 999px;
    border: 1px solid rgba(232, 68, 10, .35);
    background: radial-gradient(60% 60% at 50% 50%, rgba(232, 68, 10, .22) 0%, rgba(232, 68, 10, 0) 70%);
    display: grid; place-items: center; flex-shrink: 0;
}
.mn-pg-header-arrow svg { width: 22px; height: 22px; color: var(--mn-orange); }

.mn-pg-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.mn-pg-card { padding: 36px 34px 30px; }

.mn-pg-card--pain {
    background:
        radial-gradient(90% 70% at 0% 0%, rgba(210, 70, 50, .32) 0%, rgba(210, 70, 50, 0) 55%),
        radial-gradient(70% 60% at 100% 100%, rgba(80, 20, 10, .28) 0%, rgba(80, 20, 10, 0) 60%),
        linear-gradient(155deg, rgba(58, 36, 32, .55) 0%, rgba(30, 38, 36, .52) 45%, rgba(20, 40, 36, .52) 100%);
    border: 1px solid rgba(232, 100, 80, .25);
    box-shadow:
        inset 0 1px 0 rgba(255, 180, 150, .12),
        0 24px 60px -24px rgba(0, 0, 0, .5);
}
.mn-pg-card--gain {
    background:
        radial-gradient(90% 70% at 100% 0%, rgba(232, 68, 10, .38) 0%, rgba(232, 68, 10, 0) 55%),
        radial-gradient(70% 60% at 0% 100%, rgba(42, 74, 68, .4) 0%, rgba(42, 74, 68, 0) 60%),
        linear-gradient(155deg, rgba(33, 61, 54, .5) 0%, rgba(42, 74, 68, .55) 50%, rgba(90, 50, 20, .3) 100%);
    border: 1px solid rgba(232, 68, 10, .3);
    box-shadow:
        inset 0 1px 0 rgba(255, 180, 130, .15),
        0 24px 60px -24px rgba(0, 0, 0, .5);
}

.mn-pg-title {
    display: flex; align-items: center; gap: 14px;
    margin: 0 0 22px; padding-bottom: 18px;
    border-bottom: 1px solid rgba(222, 213, 190, .14);
}
.mn-pg-title-icon {
    width: 40px; height: 40px; border-radius: 999px;
    display: grid; place-items: center; flex-shrink: 0;
}
.mn-pg-title-icon svg { width: 20px; height: 20px; }
.mn-pg-card--pain .mn-pg-title-icon {
    background: rgba(232, 68, 10, .26);
    border: 1px solid rgba(232, 68, 10, .55);
    box-shadow: 0 0 20px rgba(232, 68, 10, .18);
    color: #FFB08A;
}
.mn-pg-card--gain .mn-pg-title-icon {
    background: rgba(180, 230, 170, .2);
    border: 1px solid rgba(180, 230, 170, .55);
    box-shadow: 0 0 20px rgba(170, 220, 160, .14);
    color: #D6F0CC;
}

.mn-pg-title-text {
    font-family: var(--mn-font-display); font-weight: 500;
    font-size: clamp(1.4rem, 2.4vw, 1.7rem); line-height: 1.2;
    color: var(--mn-linen-warm);
}
.mn-pg-title-sub {
    display: block; font-family: var(--mn-font-body);
    font-size: 13px; font-weight: 600; text-transform: uppercase;
    letter-spacing: .14em; color: rgba(222, 213, 190, .8); margin-top: 6px;
}

.mn-pg-list { list-style: none; margin: 0; padding: 0; }
.mn-pg-list li {
    display: grid; grid-template-columns: 28px 1fr; gap: 14px;
    padding: 16px 0; align-items: start;
    border-top: 1px solid rgba(222, 213, 190, .14);
}
.mn-pg-list li:first-child { border-top: 0; padding-top: 4px; }
.mn-pg-list-bullet {
    width: 22px; height: 22px; border-radius: 999px;
    display: grid; place-items: center; margin-top: 3px;
}
.mn-pg-list-bullet svg { width: 12px; height: 12px; }
.mn-pg-card--pain .mn-pg-list-bullet {
    background: rgba(232, 68, 10, .22);
    border: 1px solid rgba(232, 68, 10, .5);
    color: #FFB08A;
}
.mn-pg-card--gain .mn-pg-list-bullet {
    background: rgba(180, 230, 170, .16);
    border: 1px solid rgba(180, 230, 170, .45);
    color: #D6F0CC;
}
.mn-pg-list-text { font-size: 17px; line-height: 1.55; color: var(--mn-linen-warm); }

@media (max-width: 880px) {
    .mn-pg-grid { grid-template-columns: 1fr; gap: 18px; }
    .mn-pg, .mn-fit { padding: 80px 0; }
.mn-pg + .mn-fit { border-top: 1px solid rgba(222,213,190,.10); }

.mn-pg-header {
        grid-template-columns: 1fr; gap: 8px;
        text-align: center; margin-bottom: 22px;
    }
    .mn-pg-header-side--now, .mn-pg-header-side--after { text-align: center; padding: 0; }
    .mn-pg-header-arrow { transform: rotate(90deg); margin: 2px auto; }
    .mn-pg-card { padding: 30px 24px 24px; }
}

/* ═══════════════════════════════════════════════════════════════════
   FIT PAIR (.mn-fit-*)
   ═══════════════════════════════════════════════════════════════════ */
.mn-fit-grid {
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    gap: 28px;
    align-items: stretch;
}
.mn-fit-card { padding: 34px 34px 30px; }

.mn-fit-card--yes {
    background:
        radial-gradient(85% 65% at 0% 0%, rgba(232, 68, 10, .24) 0%, rgba(232, 68, 10, 0) 55%),
        radial-gradient(70% 60% at 100% 100%, rgba(232, 68, 10, .14) 0%, rgba(232, 68, 10, 0) 60%),
        linear-gradient(155deg, rgba(60, 36, 22, .4) 0%, rgba(42, 58, 50, .5) 45%, rgba(33, 61, 54, .55) 100%);
    border: 1px solid rgba(232, 68, 10, .3);
    box-shadow:
        inset 0 1px 0 rgba(255, 180, 130, .12),
        0 22px 50px -26px rgba(232, 68, 10, .18),
        0 24px 60px -24px rgba(0, 0, 0, .5);
}
.mn-fit-card--yes::after {
    content: "";
    position: absolute; inset: -1px;
    border-radius: inherit; pointer-events: none;
    background: radial-gradient(60% 50% at 50% 0%, rgba(232, 68, 10, .1) 0%, rgba(232, 68, 10, 0) 70%);
    z-index: -1;
}
.mn-fit-card--no {
    background:
        radial-gradient(85% 65% at 100% 0%, rgba(72, 110, 100, .32) 0%, rgba(72, 110, 100, 0) 55%),
        radial-gradient(60% 50% at 0% 100%, rgba(25, 46, 40, .3) 0%, rgba(25, 46, 40, 0) 60%),
        linear-gradient(155deg, rgba(33, 61, 54, .5) 0%, rgba(25, 46, 40, .55) 100%);
    border: 1px solid rgba(222, 213, 190, .14);
    box-shadow:
        inset 0 1px 0 rgba(222, 213, 190, .12),
        0 24px 60px -24px rgba(0, 0, 0, .5);
}

.mn-fit-title {
    display: flex; align-items: center; gap: 14px;
    margin: 0 0 22px; padding-bottom: 20px;
    border-bottom: 1px solid rgba(222, 213, 190, .16);
}
.mn-fit-title-icon {
    width: 44px; height: 44px; border-radius: 999px;
    display: grid; place-items: center; flex-shrink: 0;
}
.mn-fit-title-icon svg { width: 22px; height: 22px; }
.mn-fit-card--yes .mn-fit-title-icon {
    background: rgba(232, 68, 10, .26);
    border: 1px solid rgba(232, 68, 10, .6);
    box-shadow: 0 0 16px rgba(232, 68, 10, .18);
    color: var(--mn-linen-warm);
}
.mn-fit-card--no .mn-fit-title-icon {
    background: rgba(222, 213, 190, .1);
    border: 1px solid rgba(222, 213, 190, .3);
    color: var(--mn-linen);
}

.mn-fit-title-text {
    font-family: var(--mn-font-display); font-weight: 500;
    font-size: clamp(1.45rem, 2.5vw, 1.75rem); line-height: 1.2;
    color: var(--mn-linen-warm); display: block;
}
.mn-fit-title-sub {
    display: block; font-family: var(--mn-font-body);
    font-size: 13px; font-weight: 600; text-transform: uppercase;
    letter-spacing: .14em; color: rgba(222, 213, 190, .85); margin-top: 6px;
}
.mn-fit-card--yes .mn-fit-title-sub { color: var(--mn-linen-soft); }

.mn-fit-list { list-style: none; margin: 0; padding: 0; flex: 1; }
.mn-fit-list li {
    display: grid; grid-template-columns: 32px 1fr; gap: 16px;
    padding: 18px 0; align-items: start;
    border-top: 1px solid rgba(222, 213, 190, .14);
}
.mn-fit-list li:first-child { border-top: 0; padding-top: 4px; }
.mn-fit-list-bullet {
    width: 26px; height: 26px; border-radius: 999px;
    display: grid; place-items: center; margin-top: 2px;
}
.mn-fit-list-bullet svg { width: 13px; height: 13px; }
.mn-fit-card--yes .mn-fit-list-bullet {
    background: rgba(232, 68, 10, .26);
    border: 1px solid rgba(232, 68, 10, .65);
    color: var(--mn-linen-warm);
}
.mn-fit-card--no .mn-fit-list-bullet {
    background: rgba(222, 213, 190, .08);
    border: 1px solid rgba(222, 213, 190, .3);
    color: rgba(222, 213, 190, .75);
}

.mn-fit-list-text { font-size: 17px; line-height: 1.55; }
.mn-fit-card--yes .mn-fit-list-text { color: var(--mn-linen-warm); font-weight: 500; }
.mn-fit-card--no .mn-fit-list-text { color: rgba(222, 213, 190, .85); }

.mn-fit-footer {
    margin-top: 28px; padding-top: 24px;
    border-top: 1px solid rgba(222, 213, 190, .18);
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px; flex-wrap: wrap;
}
.mn-fit-footer-label {
    font-family: var(--mn-font-body); font-weight: 500;
    font-size: 15px; color: var(--mn-linen-soft);
}
.mn-fit-btn { display: inline-flex; align-items: center; gap: 10px; }
.mn-fit-btn svg { flex-shrink: 0; }

.mn-fit-footer-soft {
    margin-top: 28px; padding-top: 20px;
    border-top: 1px solid rgba(222, 213, 190, .12);
    font-size: 14px; color: rgba(222, 213, 190, .7); line-height: 1.5;
}
.mn-fit-footer-soft a {
    color: var(--mn-orange-soft);
    text-decoration: underline; text-underline-offset: 3px;
}

@media (max-width: 960px) {
    .mn-fit-grid { grid-template-columns: 1fr; gap: 20px; }
    .mn-fit-card { padding: 28px 24px 24px; }
}


/* ============================================================
   MUNCLY • Quiz Outcome (Universal Template) — .mn-qo-*
   Used by: template-quiz-outcome.php
   Source of truth: MUNCLY-DESIGN-SYSTEM.md (v1.4, post 30371)
   ============================================================ */

.mn-qo-page { color: var(--mn-linen); }

/* Page-scoped section shells.
   .mn-section-* in main.css only sets bg + base color; each page
   owns its vertical rhythm, dividers, and atmospheric containment. */
.mn-qo-page .mn-section-dark,
.mn-qo-page .mn-section-deep {
    position: relative;
    overflow: hidden;
    padding: 88px 0;
    border-top: 1px solid rgba(222, 213, 190, .10);
}
.mn-qo-page .mn-qo-hero { border-top: 0; }

@media (max-width: 768px) {
    .mn-qo-page .mn-section-dark,
    .mn-qo-page .mn-section-deep { padding: 56px 0; }
}

/* --- Hero ---------------------------------------------------- */
.mn-qo-hero {
    padding-top: 96px;
    padding-bottom: 88px;
    background: var(--mn-forest-deep);
}
.mn-qo-hero-glow {
    position: absolute; inset: 0; pointer-events: none;
    background:
        radial-gradient(ellipse 70% 50% at 50% -10%, rgba(232, 68, 10, .08) 0%, transparent 60%),
        radial-gradient(ellipse 40% 30% at 10% 110%, rgba(60, 100, 88, .25) 0%, transparent 65%);
}
.mn-qo-hero-inner {
    position: relative; z-index: 1;
    text-align: center;
    max-width: 960px;
}

.mn-qo-overline {
    display: inline-block;
    margin-bottom: 22px;
    color: var(--mn-linen);
}

.mn-qo-heading {
    font-family: var(--mn-font-display);
    font-weight: 500;
    font-size: clamp(2.2rem, 5.2vw, 3.75rem);
    line-height: 1.15;
    color: var(--mn-linen);
    margin: 0 auto 20px;
    max-width: 18ch;
    text-wrap: balance;
    text-shadow: 0 0 40px rgba(222, 213, 190, .15), 0 0 80px rgba(222, 213, 190, .08);
}

.mn-qo-sub {
    font-family: var(--mn-font-body);
    font-size: clamp(1.05rem, 2vw, 1.2rem);
    line-height: 1.6;
    color: rgba(222, 213, 190, .78);
    max-width: 620px;
    margin: 0 auto 44px;
}

/* Video frame: glass border around a 16:9 responsive embed. */
.mn-qo-video-frame {
    position: relative;
    max-width: 960px;
    margin: 0 auto;
    border-radius: var(--mn-radius-xl, 16px);
    padding: 8px;
    background:
        linear-gradient(170deg, rgba(222, 213, 190, .12) 0%, rgba(222, 213, 190, .04) 40%, transparent 70%),
        linear-gradient(145deg, rgba(47, 90, 72, .55) 0%, rgba(28, 51, 41, .55) 100%);
    border: 1px solid rgba(222, 213, 190, .18);
    box-shadow:
        0 20px 60px rgba(0, 0, 0, .45),
        inset 0 1px 0 rgba(222, 213, 190, .14);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.mn-qo-video-aspect {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 10px;
    overflow: hidden;
    background: #000;
}
.mn-qo-video-aspect iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* Secondary CTA row under the video. */
.mn-qo-cta-row {
    margin-top: 32px;
    display: flex;
    justify-content: center;
}
.mn-qo-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 26px;
    font-size: 15px;
    font-weight: 600;
}
.mn-qo-cta-icon {
    color: #fff;
    flex-shrink: 0;
}

/* --- Reason -------------------------------------------------- */
.mn-qo-reason { background: var(--mn-forest); }
.mn-qo-reason-inner { max-width: 860px; }

.mn-qo-reason-card {
    padding: 48px clamp(24px, 4vw, 56px);
    border-radius: var(--mn-radius-xl, 16px);
    text-align: left;
}

.mn-qo-reason-overline {
    display: inline-block;
    margin-bottom: 18px;
}

.mn-qo-reason-heading {
    font-family: var(--mn-font-display);
    font-weight: 500;
    font-size: clamp(1.75rem, 3.8vw, 2.6rem);
    line-height: 1.2;
    color: var(--mn-linen);
    margin: 0 0 28px;
    text-wrap: balance;
}

.mn-qo-reason-body {
    font-family: var(--mn-font-body);
    font-size: 17px;
    line-height: 1.75;
    color: rgba(222, 213, 190, .85);
    max-width: 68ch;
}
.mn-qo-reason-body p { margin: 0 0 18px; }
.mn-qo-reason-body p:last-child { margin-bottom: 0; }
.mn-qo-reason-body strong {
    color: var(--mn-linen-warm, #F4ECD8);
    font-weight: 600;
}
.mn-qo-reason-body a {
    color: var(--mn-orange-soft, #F0A881);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: rgba(240, 168, 129, .45);
    transition: text-decoration-color .15s ease, color .15s ease;
}
.mn-qo-reason-body a:hover {
    color: var(--mn-linen);
    text-decoration-color: var(--mn-linen);
}

/* --- Related articles --------------------------------------- */
.mn-qo-articles { background: var(--mn-forest-deep); }
.mn-qo-articles-head {
    text-align: center;
    max-width: 740px;
    margin: 0 auto 44px;
}
.mn-qo-articles-overline {
    display: inline-block;
    margin-bottom: 14px;
}
.mn-qo-articles-heading {
    font-family: var(--mn-font-display);
    font-weight: 500;
    font-size: clamp(1.6rem, 3.4vw, 2.25rem);
    line-height: 1.25;
    color: var(--mn-linen);
    margin: 0;
    text-wrap: balance;
}

.mn-qo-articles-grid {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 1000px;
    margin: 0 auto;
}
.mn-qo-articles-grid[data-count="1"] {
    grid-template-columns: minmax(0, 560px);
    justify-content: center;
}
.mn-qo-articles-grid[data-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 768px) {
    .mn-qo-articles-grid,
    .mn-qo-articles-grid[data-count="3"] {
        grid-template-columns: 1fr;
    }
}


/* ═══════════════════════════════════════════════════════════════
   WTF BOOK LANDING PAGE (page-wtf-book.php)
   ───────────────────────────────────────────────────────────────
   Sections:
     1. Hero              .mn-wtf-hero
     2. Features          .mn-wtf-features    (3 Liquid Glass cards)
     3. Trust logos       .mn-wtf-trust
     4. Promise           .mn-wtf-promise     (big centered statement)
     5. Testimonial       .mn-wtf-testi       (single glass card)
     6. Inside the Book   .mn-wtf-inside
     7. Final CTA         .mn-wtf-final       (orange glow)
   ═══════════════════════════════════════════════════════════════ */

.mn-wtf-hero,
.mn-wtf-features,
.mn-wtf-trust,
.mn-wtf-promise,
.mn-wtf-testi,
.mn-wtf-inside,
.mn-wtf-final {
    padding: 96px 0;
}
@media (max-width: 768px) {
    .mn-wtf-hero,
    .mn-wtf-features,
    .mn-wtf-trust,
    .mn-wtf-promise,
    .mn-wtf-testi,
    .mn-wtf-inside,
    .mn-wtf-final { padding: 64px 0; }
}

/* Shared section head (overline + heading pairing) */
.mn-wtf-section-head {
    max-width: 720px;
    margin: 0 auto 56px;
}
.mn-wtf-section-head--center {
    text-align: center;
}
.mn-wtf-section-head--center .mn-hp-section-overline::before {
    display: none;
}
.mn-wtf-section-heading {
    font-family: var(--mn-font-display);
    font-weight: 500;
    font-size: clamp(1.85rem, 3.8vw, 2.85rem);
    line-height: 1.2;
    color: var(--mn-linen);
    margin: 0;
    text-wrap: balance;
}

/* ─── 1. HERO ──────────────────────────────────────────────── */
.mn-wtf-hero {
    position: relative;
    overflow: hidden;
}
.mn-wtf-hero-inner {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    align-items: center;
    gap: 72px;
}
.mn-wtf-hero-copy {
    max-width: 600px;
}
.mn-wtf-hero-copy .mn-hp-section-overline {
    margin-bottom: 22px;
}
.mn-wtf-hero-heading {
    font-family: var(--mn-font-display);
    font-weight: 500;
    font-size: clamp(2.2rem, 5.2vw, 4rem);
    line-height: 1.1;
    color: var(--mn-linen);
    margin: 0 0 28px;
    text-wrap: balance;
}
.mn-wtf-hero-heading i {
    font-style: italic;
    color: var(--mn-orange);
}
.mn-wtf-hero-sub {
    font-family: var(--mn-font-body);
    font-size: 19px;
    line-height: 1.55;
    color: rgba(222,213,190,.78);
    margin: 0 0 40px;
    max-width: 520px;
}
.mn-wtf-hero-sub u {
    text-decoration-color: rgba(232,68,10,.55);
    text-underline-offset: 4px;
}
.mn-wtf-hero-ctas {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}
.mn-wtf-hero-book {
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}
.mn-wtf-hero-book::before {
    content: '';
    position: absolute;
    inset: -20% -10% -20% -10%;
    background: radial-gradient(closest-side, rgba(232,68,10,.22), transparent 70%);
    filter: blur(40px);
    z-index: 0;
    pointer-events: none;
}
.mn-wtf-hero-book img {
    position: relative;
    z-index: 1;
    max-width: 480px;
    width: 100%;
    height: auto;
    filter: drop-shadow(0 30px 60px rgba(0,0,0,.45));
    transform: rotate(-2deg);
    transition: transform .6s ease;
}
.mn-wtf-hero-book:hover img {
    transform: rotate(0deg) translateY(-4px);
}
@media (max-width: 900px) {
    .mn-wtf-hero-inner {
        grid-template-columns: 1fr;
        gap: 48px;
        text-align: center;
    }
    .mn-wtf-hero-copy {
        max-width: none;
    }
    .mn-wtf-hero-sub {
        margin-left: auto;
        margin-right: auto;
    }
    .mn-wtf-hero-ctas {
        justify-content: center;
    }
    .mn-wtf-hero-book img {
        max-width: 320px;
    }
}

/* ─── 2. FEATURES ──────────────────────────────────────────── */
.mn-wtf-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}
@media (max-width: 900px) {
    .mn-wtf-feature-grid { grid-template-columns: 1fr; }
}
.mn-wtf-feature-card {
    padding: 40px 32px 36px;
    border-radius: 20px;
    transition: transform .25s ease, border-color .25s ease, box-shadow .3s ease;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.mn-wtf-feature-num {
    font-family: var(--mn-font-display);
    font-style: italic;
    font-size: 32px;
    font-weight: 500;
    color: var(--mn-orange);
    line-height: 1;
    opacity: .85;
}
.mn-wtf-feature-title {
    font-family: var(--mn-font-display);
    font-weight: 500;
    font-size: 24px;
    line-height: 1.25;
    color: var(--mn-linen);
    margin: 0;
}
.mn-wtf-feature-desc {
    font-family: var(--mn-font-body);
    font-size: 16px;
    line-height: 1.6;
    color: rgba(222,213,190,.72);
    margin: 0;
}

/* ─── 3. TRUST LOGOS ──────────────────────────────────────── */
.mn-wtf-trust { padding: 64px 0; }
.mn-wtf-trust-label {
    text-align: center;
    font-family: var(--mn-font-body);
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .18em;
    color: rgba(222,213,190,.55);
    margin: 0 0 32px;
}
.mn-wtf-trust-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 48px 64px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.mn-wtf-trust-logos li { display: flex; align-items: center; }
.mn-wtf-trust-logos img {
    max-height: 48px;
    width: auto;
    opacity: .75;
    filter: brightness(0) invert(1);
    transition: opacity .2s ease;
}
.mn-wtf-trust-logos img:hover { opacity: 1; }
@media (max-width: 600px) {
    .mn-wtf-trust-logos { gap: 32px 40px; }
    .mn-wtf-trust-logos img { max-height: 36px; }
}

/* ─── 4. PROMISE ──────────────────────────────────────────── */
.mn-wtf-promise-inner {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}
.mn-wtf-promise-inner .mn-hp-section-overline::before { display: none; }
.mn-wtf-promise-heading {
    font-family: var(--mn-font-display);
    font-weight: 500;
    font-size: clamp(2rem, 4.8vw, 3.4rem);
    line-height: 1.15;
    color: var(--mn-linen);
    margin: 16px 0 24px;
    text-wrap: balance;
}
.mn-wtf-promise-heading i {
    font-style: italic;
    color: var(--mn-orange);
}
.mn-wtf-promise-sub {
    font-family: var(--mn-font-body);
    font-size: 19px;
    line-height: 1.6;
    color: rgba(222,213,190,.78);
    margin: 0 auto;
    max-width: 640px;
}

/* ─── 5. TESTIMONIAL ──────────────────────────────────────── */
.mn-wtf-testi-card {
    max-width: 780px;
    margin: 0 auto;
    padding: 56px 48px;
    border-radius: 22px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}
.mn-wtf-testi-photo {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(222,213,190,.22);
    box-shadow: 0 8px 24px rgba(0,0,0,.3);
    position: relative;
    z-index: 2;
}
.mn-wtf-testi-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.mn-wtf-testi-quote {
    font-family: var(--mn-font-display);
    font-style: italic;
    font-weight: 400;
    font-size: clamp(1.3rem, 2.8vw, 1.8rem);
    line-height: 1.4;
    color: var(--mn-linen);
    margin: 0;
    max-width: 620px;
    position: relative;
    z-index: 2;
}
.mn-wtf-testi-attr {
    font-family: var(--mn-font-body);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: rgba(222,213,190,.7);
    position: relative;
    z-index: 2;
}
.mn-wtf-testi-cta {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}
@media (max-width: 600px) {
    .mn-wtf-testi-card { padding: 40px 24px; }
}

/* ─── 6. INSIDE THE BOOK ──────────────────────────────────── */
.mn-wtf-inside-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 72px;
}
.mn-wtf-inside-media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 420px;
}
.mn-wtf-inside-toc {
    margin: 0;
    position: relative;
    z-index: 2;
    max-width: 100%;
}
.mn-wtf-inside-toc img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 24px 50px rgba(0,0,0,.45);
    border: 1px solid rgba(222,213,190,.14);
}
.mn-wtf-inside-back {
    position: absolute;
    right: -30px;
    bottom: -40px;
    margin: 0;
    width: 160px;
    z-index: 1;
    opacity: .85;
    transform: rotate(6deg);
    filter: drop-shadow(0 20px 40px rgba(0,0,0,.4));
}
.mn-wtf-inside-back img {
    width: 100%;
    height: auto;
}
.mn-wtf-inside-copy {
    max-width: 520px;
}
.mn-wtf-inside-heading {
    font-family: var(--mn-font-display);
    font-weight: 500;
    font-size: clamp(1.85rem, 3.8vw, 2.85rem);
    line-height: 1.2;
    color: var(--mn-linen);
    margin: 16px 0 20px;
    text-wrap: balance;
}
.mn-wtf-inside-sub {
    font-family: var(--mn-font-body);
    font-size: 18px;
    line-height: 1.6;
    color: rgba(222,213,190,.78);
    margin: 0 0 32px;
}
.mn-wtf-inside-cta {
    display: flex;
}
@media (max-width: 900px) {
    .mn-wtf-inside-inner {
        grid-template-columns: 1fr;
        gap: 56px;
    }
    .mn-wtf-inside-back {
        right: 0;
        bottom: -30px;
        width: 120px;
    }
    .mn-wtf-inside-copy { max-width: none; }
}

/* ─── 7. FINAL CTA ────────────────────────────────────────── */
.mn-wtf-final {
    position: relative;
    overflow: hidden;
    text-align: center;
}
.mn-wtf-final-glow {
    position: absolute;
    inset: auto 0 -40% 0;
    height: 80%;
    background: radial-gradient(ellipse at center, rgba(232,68,10,.28), transparent 60%);
    filter: blur(40px);
    pointer-events: none;
    z-index: 0;
}
.mn-wtf-final-inner {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 0 auto;
}
.mn-wtf-final-inner .mn-hp-section-overline::before { display: none; }
.mn-wtf-final-heading {
    font-family: var(--mn-font-display);
    font-weight: 500;
    font-size: clamp(2.4rem, 6vw, 4.5rem);
    line-height: 1.05;
    color: var(--mn-linen);
    margin: 16px 0 24px;
    text-wrap: balance;
}
.mn-wtf-final-sub {
    font-family: var(--mn-font-body);
    font-size: 18px;
    line-height: 1.6;
    color: rgba(222,213,190,.78);
    margin: 0 auto 36px;
    max-width: 560px;
}
.mn-wtf-final-cta {
    display: flex;
    justify-content: center;
}



/* ==========================================================================
   Sitemap page (page-users-sitemap.php)
   HTML sitemap for humans and search engines. Auto-generated list of every
   indexable URL on the site.
   ========================================================================== */
.mn-sitemap {
    background: var(--mn-forest-deep);
    color: var(--mn-linen);
    padding: clamp(80px, 10vw, 140px) var(--mn-gutter) clamp(60px, 8vw, 120px);
}
.mn-sitemap-inner {
    max-width: var(--mn-container);
    margin: 0 auto;
}

/* Hero */
.mn-sitemap-hero {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 64px;
}
.mn-sitemap-overline {
    font-family: var(--mn-font-body);
    font-size: 12px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--mn-orange);
    margin: 0 0 16px;
}
.mn-sitemap-title {
    font-family: var(--mn-font-display);
    font-size: clamp(2.4rem, 5vw, 3.6rem);
    line-height: 1.1;
    color: var(--mn-linen);
    margin: 0 0 20px;
    font-weight: 500;
}
.mn-sitemap-intro {
    font-family: var(--mn-font-body);
    font-size: 17px;
    line-height: 1.6;
    color: rgba(222,213,190,.78);
    margin: 0 0 32px;
}
.mn-sitemap-intro strong {
    color: var(--mn-linen);
    font-weight: 600;
}

/* Jump nav */
.mn-sitemap-jump {
    margin-top: 24px;
}
.mn-sitemap-jump-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 16px;
}
.mn-sitemap-jump-list li {
    margin: 0;
}
.mn-sitemap-jump-list a {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    padding: 8px 16px;
    border-radius: var(--mn-radius-full);
    border: 1px solid rgba(222,213,190,.18);
    color: var(--mn-linen) !important;
    font-family: var(--mn-font-body);
    font-size: 13.5px;
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease;
}
.mn-sitemap-jump-list a:hover,
.mn-sitemap-jump-list a:focus-visible {
    background: rgba(232,68,10,.10);
    border-color: rgba(232,68,10,.45);
    color: var(--mn-linen) !important;
}
.mn-sitemap-jump-count {
    color: rgba(222,213,190,.55);
    font-size: 12px;
}

/* Sections */
.mn-sitemap-section {
    margin: 0 0 56px;
    padding: 32px 0 0;
    border-top: 1px solid rgba(222,213,190,.12);
    scroll-margin-top: 100px;
}
.mn-sitemap-section-title {
    font-family: var(--mn-font-display);
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    line-height: 1.2;
    color: var(--mn-linen);
    margin: 0 0 24px;
    font-weight: 500;
    display: flex;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
}
.mn-sitemap-section-count {
    font-family: var(--mn-font-body);
    font-size: 13px;
    color: rgba(222,213,190,.55);
    font-weight: 400;
    padding: 2px 10px;
    border-radius: var(--mn-radius-full);
    background: rgba(222,213,190,.08);
}

/* List (multi-column) */
.mn-sitemap-list {
    list-style: none;
    margin: 0;
    padding: 0;
    columns: 2;
    column-gap: 32px;
}
@media (min-width: 900px) {
    .mn-sitemap-list {
        columns: 3;
        column-gap: 40px;
    }
}
@media (max-width: 600px) {
    .mn-sitemap-list {
        columns: 1;
    }
}
.mn-sitemap-item {
    break-inside: avoid;
    padding: 6px 0;
    margin: 0;
    display: block;
    font-family: var(--mn-font-body);
}
.mn-sitemap-link {
    color: var(--mn-linen) !important;
    text-decoration: none;
    font-size: 14.5px;
    line-height: 1.45;
    border-bottom: 1px solid transparent;
    padding-bottom: 2px;
    transition: color .2s ease, border-color .2s ease;
    display: inline;
}
.mn-sitemap-link:hover,
.mn-sitemap-link:focus-visible {
    color: var(--mn-orange) !important;
    border-bottom-color: var(--mn-orange);
}
.mn-sitemap-date {
    display: block;
    font-size: 11.5px;
    color: rgba(222,213,190,.45);
    margin-top: 2px;
}

/* Footer */
.mn-sitemap-footer {
    margin-top: 48px;
    padding: 24px 0 0;
    border-top: 1px solid rgba(222,213,190,.12);
    text-align: center;
}
.mn-sitemap-meta {
    font-family: var(--mn-font-body);
    font-size: 13px;
    color: rgba(222,213,190,.55);
    margin: 0;
    line-height: 1.7;
}
.mn-sitemap-meta a {
    color: var(--mn-orange) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.mn-sitemap-meta a:hover,
.mn-sitemap-meta a:focus-visible {
    color: var(--mn-orange-hover) !important;
}
/* End sitemap page */

/* ==========================================================================
   LEGAL PAGES (Privacy Policy, Terms of Service, Cookie Policy)
   Two-column layout: sticky TOC + reading column. Reuses .mn-post-content
   typography and .mn-toc-* sidebar from the blog single template.
   ========================================================================== */

.mn-legal {
    background: var(--mn-forest);
    color: var(--mn-linen);
}

/* Hero */
.mn-legal-hero {
    padding: 96px 0 72px;
    border-bottom: 1px solid rgba(222,213,190,.10);
}

.mn-legal-hero-inner {
    max-width: 820px;
}



.mn-legal-title {
    font-family: var(--mn-font-display);
    font-weight: 500;
    font-size: clamp(2.2rem, 4.5vw, 3.5rem);
    line-height: 1.08;
    letter-spacing: -0.015em;
    color: var(--mn-linen);
    margin: 0 0 20px;
}

.mn-legal-meta {
    font-family: var(--mn-font-body);
    font-size: 14px;
    color: rgba(222,213,190,.55);
    margin: 0;
}

/* Body + grid */
.mn-legal-body {
    padding: 64px 0 120px;
}

.mn-legal-layout {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 64px;
    max-width: 1120px;
}

.mn-legal-toc {
    /* inherits .mn-toc-sidebar behavior */
}

.mn-legal-content {
    max-width: 760px;
}

/* Leading paragraph sits closer to the hero and reads like a summary */
.mn-legal-content > p:first-of-type {
    font-size: 19px;
    line-height: 1.7;
    color: var(--mn-linen);
    margin-bottom: 28px;
}

/* First H2 should not push content too far down on legal pages */
.mn-legal-content > h2:first-child {
    margin-top: 0.4em;
    padding-top: 0;
    border-top: 0;
}

/* Contact card (rendered as a Gutenberg group block at the bottom of the doc) */
.mn-legal-content .mn-legal-contact {
    margin: 48px 0 0;
    padding: 28px 32px;
    border: 1px solid rgba(222,213,190,.15);
    border-radius: var(--mn-radius-lg);
    background: linear-gradient(180deg, rgba(222,213,190,.04) 0%, rgba(222,213,190,.01) 100%);
}

.mn-legal-content .mn-legal-contact h3 {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    font-family: var(--mn-font-body);
    font-size: 14px !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--mn-orange);
}

.mn-legal-content .mn-legal-contact p {
    margin-bottom: 8px;
    font-size: 15px;
    line-height: 1.6;
}

.mn-legal-content .mn-legal-contact p:last-child {
    margin-bottom: 0;
}

.mn-legal-content .mn-legal-contact strong {
    color: var(--mn-linen);
}

@media (max-width: 960px) {
    .mn-legal-hero { padding: 64px 0 48px; }
    .mn-legal-body { padding: 48px 0 80px; }
    .mn-legal-layout {
        grid-template-columns: 1fr;
        gap: 32px;
        max-width: 760px;
        margin: 0 auto;
    }
    .mn-legal-toc { display: none; }
    .mn-legal-content { max-width: 100%; font-size: 16px; }
}


/* ── Asset LP: 4-column feature grid modifier ── */
.mn-wtf-feature-grid--4col {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 1100px) {
    .mn-wtf-feature-grid--4col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .mn-wtf-feature-grid--4col { grid-template-columns: 1fr; }
}

/* ── Asset LP: CF7 form inside final CTA section ── */
.mn-wtf-final-form {
    max-width: 480px;
    margin: 0 auto;
}
.mn-wtf-final-form .wpcf7-form {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    align-items: stretch;
}
.mn-wtf-final-form input[type=\"email\"],
.mn-wtf-final-form input[type=\"text\"] {
    flex: 1 1 240px;
    background: rgba(222,213,190,.08);
    border: 1px solid rgba(222,213,190,.22);
    border-radius: var(--mn-radius-md);
    padding: 14px 18px;
    font-family: var(--mn-font-body);
    font-size: 15px;
    color: var(--mn-linen);
    outline: none;
    transition: border-color .2s ease;
}
.mn-wtf-final-form input[type=\"email\"]:focus,
.mn-wtf-final-form input[type=\"text\"]:focus {
    border-color: var(--mn-orange);
}
.mn-wtf-final-form input[type=\"email\"]::placeholder,
.mn-wtf-final-form input[type=\"text\"]::placeholder {
    color: rgba(222,213,190,.40);
}
.mn-wtf-final-form input[type=\"submit\"] {
    background: var(--mn-orange);
    color: #fff;
    font-family: var(--mn-font-body);
    font-size: 15px;
    font-weight: 600;
    border: none;
    border-radius: var(--mn-radius-md);
    padding: 14px 28px;
    cursor: pointer;
    transition: background .2s ease, transform .15s ease, box-shadow .25s ease;
    box-shadow: 0 4px 20px rgba(232,68,10,.35);
    white-space: nowrap;
}
.mn-wtf-final-form input[type=\"submit\"]:hover {
    background: var(--mn-orange-hover);
    transform: translateY(-1px);
    box-shadow: 0 8px 32px rgba(232,68,10,.50);
}
.mn-wtf-final-form p[style] {
    flex-basis: 100%;
    text-align: center;
    font-size: 11px;
    color: rgba(222,213,190,.45);
    line-height: 1.5;
    margin-top: 8px;
}



/* ═══════════════════════════════════════════════════════════════
   RESOURCE TEMPLATE — optional sections (template-resource.php)
   Card numbering, testimonial, centered section head, download CTA
   ═══════════════════════════════════════════════════════════════ */

/* Card numbering variant (used when cards_numbered = true) */
.mn-alp-card-num {
    display: block;
    font-family: var(--mn-font-display);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 600;
    color: rgba(222,213,190,.15);
    line-height: 1;
    margin-bottom: 12px;
}

/* Hero button tier variant (hero glow) */
.mn-alp-btn--hero {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 30px;
    background: var(--mn-orange);
    color: #fff;
    font-family: var(--mn-font-body);
    font-size: 16px;
    font-weight: 600;
    border: none;
    border-radius: var(--mn-radius-md);
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 0 24px rgba(232,68,10,.35), 0 4px 12px rgba(0,0,0,.25);
    transition: background .2s, transform .2s, box-shadow .2s;
}
.mn-alp-btn--hero:hover {
    background: var(--mn-orange-hover);
    transform: translateY(-2px);
    box-shadow: 0 0 32px rgba(232,68,10,.45), 0 6px 16px rgba(0,0,0,.30);
}
.mn-alp-btn--hero svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

/* Centered section head variant */
.mn-alp-section-head--center {
    text-align: center;
}
.mn-alp-section-head--center .mn-hp-section-overline::before {
    display: none;
}

/* Testimonial section */
.mn-alp-testi {
    padding: 60px 0;
}
.mn-alp-testi-card {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
    padding: 40px 32px;
    background: linear-gradient(145deg,
        rgba(47,90,72,.92),
        rgba(36,62,53,.88),
        rgba(28,51,41,.85));
    border: 1px solid rgba(222,213,190,.14);
    border-top-color: rgba(222,213,190,.26);
    border-left-color: rgba(222,213,190,.20);
    border-radius: var(--mn-radius-xl);
    box-shadow:
        inset 0 1px 0 0 rgba(222,213,190,.12),
        inset 1px 0 0 0 rgba(222,213,190,.06),
        0 2px 8px rgba(0,0,0,.18);
    backdrop-filter: blur(18px);
}
.mn-alp-testi-photo {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(222,213,190,.25);
}
.mn-alp-testi-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mn-alp-testi-quote {
    font-family: var(--mn-font-body);
    font-size: 17px;
    font-weight: 400;
    font-style: italic;
    color: rgba(222,213,190,.85);
    line-height: 1.7;
    margin: 0 0 16px;
}
.mn-alp-testi-attr {
    font-family: var(--mn-font-body);
    font-size: 14px;
    font-weight: 600;
    color: rgba(222,213,190,.65);
}

/* Download CTA variant (no form, just a button) */
.mn-alp-download-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
}



/* ══════════════════════════════════════════════════════════════
   BENTO GLASS SERVICES  (Section 2 front-page — bento variant)
   ══════════════════════════════════════════════════════════════
   6-column bento: hero (3x2) + 2 medium (3x1) + 3 small (2x1).
   Layered over the Liquid Glass card surface already inherited
   by .mn-hp-challenge-card (see Liquid Glass block earlier). */

.mn-hp-challenge-grid--bento {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-auto-flow: dense;
    gap: 20px;
    align-items: stretch;
}

/* Size modifiers — grid span only; visuals come from card base. */
.mn-hp-challenge-card--small {
    grid-column: span 2;
    min-height: 240px;
}
.mn-hp-challenge-card--medium {
    grid-column: span 3;
    min-height: 280px;
}
.mn-hp-challenge-card--hero {
    grid-column: span 3;
    grid-row: span 2;
    min-height: 540px;
    position: relative;
    overflow: hidden;
}

/* Hero accents: orange top line + radial bloom behind content. */
.mn-hp-challenge-card--hero::before {
    content: "";
    position: absolute;
    top: 0;
    left: 24px;
    right: 24px;
    height: 2px;
    background: linear-gradient(90deg,
        rgba(232,68,10,0) 0%,
        rgba(232,68,10,.9) 35%,
        rgba(232,68,10,.9) 65%,
        rgba(232,68,10,0) 100%);
    pointer-events: none;
    z-index: 2;
}
.mn-hp-challenge-card--hero::after {
    content: "";
    position: absolute;
    top: -40%;
    right: -30%;
    width: 70%;
    height: 80%;
    background: radial-gradient(circle,
        rgba(232,68,10,.18) 0%,
        rgba(232,68,10,.06) 35%,
        rgba(232,68,10,0) 70%);
    pointer-events: none;
    z-index: 0;
}
.mn-hp-challenge-card--hero > * {
    position: relative;
    z-index: 1;
}
.mn-hp-challenge-card--hero .mn-hp-challenge-hook {
    font-size: clamp(1.55rem, 2.7vw, 2rem);
    max-width: 24ch;
}

/* Outcome pill — subtle linen-on-forest chip. */
.mn-hp-challenge-outcome {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    font-family: var(--mn-font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .03em;
    color: rgba(222,213,190,.85);
    background: rgba(222,213,190,.08);
    border: 1px solid rgba(222,213,190,.16);
    border-radius: var(--mn-radius-full, 999px);
    margin-top: 8px;
}
.mn-hp-challenge-outcome::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--mn-orange);
    box-shadow: 0 0 8px rgba(232,68,10,.6);
}

/* Metric strip — 3 values side by side. */
.mn-hp-challenge-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    padding: 14px 0 4px;
    border-top: 1px solid rgba(222,213,190,.1);
    margin-top: 4px;
}
.mn-hp-challenge-metric {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.mn-hp-challenge-metric-num {
    font-family: var(--mn-font-body);
    font-weight: 600;
    font-size: clamp(1.25rem, 2vw, 1.55rem);
    line-height: 1.1;
    color: var(--mn-linen);
    letter-spacing: -.01em;
}
.mn-hp-challenge-metric-label {
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(222,213,190,.55);
}

/* Pipeline mini-mock — 5 vertical bars with Proposal active. */
.mn-hp-challenge-pipeline {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    align-items: end;
    padding: 18px 0 8px;
    margin-top: auto;
    border-top: 1px solid rgba(222,213,190,.08);
}
.mn-hp-challenge-pipeline-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    min-height: 90px;
    justify-content: flex-end;
    padding: 8px 6px 6px;
    border-radius: var(--mn-radius-sm, 8px);
    background: rgba(222,213,190,.03);
    transition: background .2s ease, transform .2s ease;
}
.mn-hp-challenge-pipeline-col.is-active {
    background: rgba(232,68,10,.1);
    box-shadow: inset 0 0 0 1px rgba(232,68,10,.22);
}
.mn-hp-challenge-pipeline-count {
    font-family: var(--mn-font-body);
    font-weight: 700;
    font-size: 13px;
    color: rgba(222,213,190,.7);
}
.mn-hp-challenge-pipeline-col.is-active .mn-hp-challenge-pipeline-count {
    color: var(--mn-orange);
}
.mn-hp-challenge-pipeline-bar {
    width: 14px;
    border-radius: 3px;
    background: linear-gradient(180deg,
        rgba(222,213,190,.28) 0%,
        rgba(222,213,190,.12) 100%);
    transition: background .2s ease;
}
.mn-hp-challenge-pipeline-col.is-active .mn-hp-challenge-pipeline-bar {
    background: linear-gradient(180deg,
        rgba(232,68,10,.95) 0%,
        rgba(232,68,10,.5) 100%);
    box-shadow: 0 0 12px rgba(232,68,10,.35);
}
.mn-hp-challenge-pipeline-label {
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgba(222,213,190,.45);
    text-align: center;
}
.mn-hp-challenge-pipeline-col.is-active .mn-hp-challenge-pipeline-label {
    color: rgba(232,68,10,.85);
}

/* Responsive breakpoints for bento. */
@media (max-width: 1024px) {
    .mn-hp-challenge-grid--bento {
        grid-template-columns: repeat(4, 1fr);
        gap: 16px;
    }
    .mn-hp-challenge-card--hero {
        grid-column: span 4;
        grid-row: span 1;
        min-height: auto;
    }
    .mn-hp-challenge-card--medium {
        grid-column: span 2;
        min-height: 260px;
    }
    .mn-hp-challenge-card--small {
        grid-column: span 2;
        min-height: 220px;
    }
}

@media (max-width: 768px) {
    .mn-hp-challenge-grid--bento {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .mn-hp-challenge-card--hero,
    .mn-hp-challenge-card--medium,
    .mn-hp-challenge-card--small {
        grid-column: span 1;
        grid-row: auto;
        min-height: auto;
    }
    .mn-hp-challenge-card--hero .mn-hp-challenge-hook {
        font-size: 1.35rem;
    }
    .mn-hp-challenge-pipeline {
        gap: 6px;
    }
    .mn-hp-challenge-pipeline-col {
        min-height: 72px;
        padding: 6px 4px 4px;
    }
    .mn-hp-challenge-metrics {
        gap: 10px;
    }
}


/* ============================================================
   Thank You Page (page-thank-you-page.php)
   Scope: .mn-ty-*
   Shown after form submissions. Hero with video + Subscribe CTA,
   followed by a YouTube social-proof band. Reuses the glass video
   frame pattern established by the Quiz Outcome template.
   ============================================================ */

.mn-ty-page { color: var(--mn-linen); }

.mn-ty-page .mn-section-dark,
.mn-ty-page .mn-section-deep {
    position: relative;
    overflow: hidden;
    padding: 88px 0;
    border-top: 1px solid rgba(222, 213, 190, .10);
}
.mn-ty-page .mn-ty-hero { border-top: 0; }

@media (max-width: 768px) {
    .mn-ty-page .mn-section-dark,
    .mn-ty-page .mn-section-deep { padding: 56px 0; }
}

/* --- Hero ---------------------------------------------------- */
.mn-ty-hero {
    padding-top: 96px;
    padding-bottom: 88px;
    background: var(--mn-forest-deep);
}
.mn-ty-hero-glow {
    position: absolute; inset: 0; pointer-events: none;
    background:
        radial-gradient(ellipse 70% 50% at 50% -10%, rgba(232, 68, 10, .08) 0%, transparent 60%),
        radial-gradient(ellipse 40% 30% at 10% 110%, rgba(60, 100, 88, .25) 0%, transparent 65%);
}
.mn-ty-hero-inner {
    position: relative; z-index: 1;
    text-align: center;
    max-width: 960px;
}

.mn-ty-greeting {
    font-family: var(--mn-font-body);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--mn-linen);
    margin: 0 0 22px;
}
.mn-ty-greeting::before {
    content: '';
    display: inline-block;
    width: 14px; height: 2px;
    background: var(--mn-orange);
    margin-right: .65em;
    vertical-align: middle;
    margin-top: -2px;
}

.mn-ty-heading {
    font-family: var(--mn-font-display);
    font-weight: 500;
    font-size: clamp(2.2rem, 5.2vw, 3.75rem);
    line-height: 1.15;
    color: var(--mn-linen);
    margin: 0 auto 44px;
    max-width: 20ch;
    text-wrap: balance;
    text-shadow: 0 0 40px rgba(222, 213, 190, .15), 0 0 80px rgba(222, 213, 190, .08);
}
.mn-ty-heading u {
    text-decoration: underline;
    text-decoration-color: var(--mn-orange);
    text-decoration-thickness: 3px;
    text-underline-offset: 6px;
}

/* Video frame: glass border around a 16:9 responsive embed. */
.mn-ty-video-frame {
    position: relative;
    max-width: 960px;
    margin: 0 auto;
    border-radius: var(--mn-radius-xl, 16px);
    padding: 8px;
    background:
        linear-gradient(170deg, rgba(222, 213, 190, .12) 0%, rgba(222, 213, 190, .04) 40%, transparent 70%),
        linear-gradient(145deg, rgba(47, 90, 72, .55) 0%, rgba(28, 51, 41, .55) 100%);
    border: 1px solid rgba(222, 213, 190, .18);
    box-shadow:
        0 20px 60px rgba(0, 0, 0, .45),
        inset 0 1px 0 rgba(222, 213, 190, .14);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.mn-ty-video-aspect {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 10px;
    overflow: hidden;
    background: #000;
}
.mn-ty-video-aspect iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* Secondary CTA row under the video. */
.mn-ty-cta-row {
    margin-top: 32px;
    display: flex;
    justify-content: center;
}
.mn-ty-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 26px;
    font-size: 15px;
    font-weight: 600;
}
.mn-ty-cta-icon {
    color: #fff;
    flex-shrink: 0;
}

/* --- Social proof band -------------------------------------- */
.mn-ty-social { background: var(--mn-forest); }
.mn-ty-social-inner {
    max-width: 720px;
    text-align: center;
}

.mn-ty-social-logo-link {
    display: inline-block;
    margin: 0 auto 24px;
    transition: transform .25s ease, opacity .25s ease;
}
.mn-ty-social-logo-link:hover,
.mn-ty-social-logo-link:focus {
    transform: translateY(-2px);
    opacity: .9;
}
.mn-ty-social-logo {
    display: block;
    width: clamp(180px, 32vw, 280px);
    height: auto;
    filter: brightness(0) invert(1) opacity(.85);
}

.mn-ty-social-heading {
    font-family: var(--mn-font-display);
    font-weight: 500;
    font-size: clamp(1.6rem, 3.6vw, 2.4rem);
    line-height: 1.25;
    color: var(--mn-linen);
    max-width: 22ch;
    margin: 0 auto;
    text-wrap: balance;
}

@media (max-width: 768px) {
    .mn-ty-hero {
        padding-top: 72px;
        padding-bottom: 64px;
    }
    .mn-ty-heading { margin-bottom: 32px; }
    .mn-ty-cta-row { margin-top: 24px; }
}
