/**
 * FoodMaster landing-page design system.
 *
 * Extracted from the FoodMaster template so the same look applies whether the
 * page renders from that template or from the Gutenberg block pattern under a
 * different one.
 *
 * Scoping relies on the fm- class prefix rather than an ancestor wrapper: the
 * block editor renders sections without the .fm-landing wrapper, so anything
 * that needed it would go unstyled there. Only element-level resets and the
 * palette need a host, and they accept the template wrapper or any section
 * root, which is what the pattern's top-level blocks carry.
 */

  :is(.fm-landing,.fm-hero,.fm-trustbar,.fm-section,.wp-block-wpslash-product-payment),
  :is(.fm-landing,.fm-hero,.fm-trustbar,.fm-section,.wp-block-wpslash-product-payment) *,
  :is(.fm-landing,.fm-hero,.fm-trustbar,.fm-section,.wp-block-wpslash-product-payment) *::before,
  :is(.fm-landing,.fm-hero,.fm-trustbar,.fm-section,.wp-block-wpslash-product-payment) *::after { box-sizing: border-box }

  .fm-landing { background: #ffffff; overflow-x: hidden; margin: 0; padding: 0 }

  :is(.fm-landing,.fm-hero,.fm-trustbar,.fm-section,.wp-block-wpslash-product-payment) {
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    color: #475569;
    line-height: 1.6;

    /* Warm hybrid palette */
    --bg: #ffffff;
    --bg2: #fbfaf8;
    --bg3: #f4f1ec;
    --bg4: #e7e2d9;
    --accent: #ee4f4f;        /* warm CTA / appetite */
    --accent-hover: #ed3a3a;
    --accent-soft: #ffeaea;
    --accent-glow: rgba(255, 90, 31, 0.10);
    --money: #12b76a;         /* savings / "keep 100%" */
    --money-soft: #e7f8f0;
    --ink: #0f172a;
    --text: #0f172a;
    --text2: #334155;
    --text3: #64748b;
    --text4: #94a3b8;
    --border: #ecece6;
    --error: #ef4444;
    --warning: #f59e0b;
    --max-w: 1180px;
    --radius: 12px;
    --radius-lg: 16px;
    --radius-xl: 22px;
  }

  :is(.fm-landing,.fm-hero,.fm-trustbar,.fm-section,.wp-block-wpslash-product-payment) img { max-width: 100%; height: auto; display: block }
  :is(.fm-landing,.fm-hero,.fm-trustbar,.fm-section,.wp-block-wpslash-product-payment) a { text-decoration: none; color: inherit }
  :is(.fm-landing,.fm-hero,.fm-trustbar,.fm-section,.wp-block-wpslash-product-payment) ul { list-style: none; margin: 0; padding: 0 }
  :is(.fm-landing,.fm-hero,.fm-trustbar,.fm-section,.wp-block-wpslash-product-payment) :is(h1,h2,h3,h4,p) { margin: 0; padding: 0 }

  /* Utilities */
  .fm-container { max-width: var(--max-w); margin: 0 auto; padding: 0 24px }
  .fm-section { padding: 92px 0 }
  .fm-section-label {
    display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: 0.05em;
    text-transform: uppercase; color: var(--text4); margin-bottom: 14px;
  }
  .fm-section-title {
    font-size: clamp(28px, 4vw, 44px); font-weight: 900; color: var(--text);
    line-height: 1.12; margin-bottom: 16px; letter-spacing: -0.03em
  }
  .fm-section-subtitle { font-size: 18px; color: var(--text3); max-width: 640px; line-height: 1.7 }
  .fm-text-center { text-align: center }
  .fm-mx-auto { margin-left: auto; margin-right: auto }

  /* Reveal animation */
  .fm-reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease }
  .fm-reveal.fm-visible { opacity: 1; transform: translateY(0) }
  .fm-reveal-delay-1 { transition-delay: .1s }
  .fm-reveal-delay-2 { transition-delay: .2s }
  .fm-reveal-delay-3 { transition-delay: .3s }

  /* Buttons */
  .fm-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    font-family: inherit; font-size: 16px; font-weight: 700; padding: 15px 32px;
    border-radius: var(--radius); border: none; cursor: pointer;
    transition: all .2s ease; white-space: nowrap
  }
  .fm-btn-primary {
    background: var(--accent); color: #fff;
    box-shadow: 0 8px 22px rgba(255,90,31,.28)
  }
  .fm-btn-primary:hover {
    background: var(--accent-hover); transform: translateY(-2px);
    box-shadow: 0 12px 34px rgba(255,90,31,.36)
  }
  .fm-btn-outline {
    background: #fff; color: var(--text); border: 2px solid var(--bg4)
  }
  .fm-btn-outline:hover { border-color: var(--accent); color: var(--accent); transform: translateY(-2px) }
  .fm-btn-large { font-size: 18px; padding: 18px 40px; border-radius: var(--radius-lg) }
  .fm-btn-block { width: 100%; }

  /* Micro reassurance under CTAs */
  .fm-cta-micro {
    font-size: 13px; color: var(--text4); margin-top: 12px;
    display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap
  }
  .fm-cta-micro svg { width: 15px; height: 15px; color: var(--money) }

  /* ── STICKY SECTION NAV ── */
  .fm-section-nav {
    position: fixed; top: -64px; left: 0; right: 0; z-index: 999;
    background: rgba(255,255,255,.98); border-bottom: 1px solid var(--border);
    transition: top .35s cubic-bezier(.4,0,.2,1); font-family: 'Inter', system-ui, sans-serif;
    backdrop-filter: saturate(180%) blur(8px)
  }
  .fm-section-nav.fm-visible { top: 0 }
  .fm-section-nav-inner {
    display: flex; align-items: center; justify-content: center; gap: 6px;
    max-width: var(--max-w); margin: 0 auto; padding: 0 24px; height: 52px;
    overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none
  }
  .fm-section-nav-inner::-webkit-scrollbar { display: none }
  .fm-section-nav-brand { font-weight: 900; color: var(--ink); font-size: 15px; margin-right: auto; letter-spacing: -.02em }
  .fm-section-nav-inner a {
    font-size: 13px; font-weight: 600; color: var(--text3); text-decoration: none;
    padding: 8px 14px; border-radius: 8px; white-space: nowrap; transition: color .2s, background .2s
  }
  .fm-section-nav-inner a:hover { color: var(--text); background: rgba(0,0,0,.04) }
  .fm-section-nav-inner a.fm-active { color: var(--accent) }
  .fm-section-nav-inner .fm-snav-cta {
    margin-left: 8px; font-weight: 700; color: #fff; background: var(--accent);
    padding: 9px 20px; border-radius: 9px; transition: background .2s, transform .2s;
    box-shadow: 0 6px 16px rgba(255,90,31,.28)
  }
  .fm-section-nav-inner .fm-snav-cta:hover { background: var(--accent-hover); transform: translateY(-1px) }
  @media(max-width:768px){
    .fm-section-nav-brand { display: none }
    .fm-section-nav-inner { justify-content: flex-start; gap: 4px; padding: 0 16px }
    .fm-section-nav-inner a { font-size: 12px; padding: 6px 12px }
  }

  /* ── HERO ── */
  .fm-hero { padding: 72px 0 64px; position: relative; overflow: hidden }
  .fm-hero::before {
    content: ''; position: absolute; top: -240px; right: -120px; width: 720px; height: 720px;
    background: radial-gradient(circle, rgba(255,90,31,.06) 0%, transparent 70%); pointer-events: none
  }
  .fm-hero::after {
    content: ''; position: absolute; bottom: -260px; left: -140px; width: 640px; height: 640px;
    background: radial-gradient(circle, rgba(18,183,106,.05) 0%, transparent 70%); pointer-events: none
  }
  .fm-hero-grid {
    position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr .95fr;
    gap: 56px; align-items: center
  }
  .fm-hero-badge {
    display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600;
    color: var(--text4); letter-spacing: .04em; text-transform: uppercase; margin-bottom: 18px
  }
  .fm-hero-badge span { display: none }
  .fm-hero h1 {
    font-size: clamp(34px, 4.6vw, 56px); font-weight: 900; color: var(--text);
    line-height: 1.06; letter-spacing: -0.035em; margin-bottom: 20px
  }
  .fm-hero h1 .fm-hl {
    color: var(--accent);
    background: linear-gradient(180deg, transparent 62%, var(--accent-soft) 62%);
  }
  .fm-hero p.fm-hero-sub { font-size: clamp(16px,1.6vw,19px); color: var(--text3); margin-bottom: 28px; max-width: 540px; line-height: 1.7 }
  .fm-hero-ctas { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 20px }
  .fm-hero-checks { display: flex; flex-direction: column; gap: 10px; margin-top: 24px }
  .fm-hero-check { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--text2); font-weight: 500 }
  .fm-hero-check svg { width: 20px; height: 20px; color: var(--money); flex-shrink: 0 }

  /* Hero visual */
  .fm-hero-visual { position: relative }
  .fm-hero-screenshot-inner {
    background: var(--bg2); border: 1px solid var(--border); border-radius: var(--radius-xl);
    overflow: hidden; box-shadow: 0 30px 80px rgba(15,23,42,.14);
    aspect-ratio: 16/10; display: flex; align-items: center; justify-content: center
  }
  .fm-hero-screenshot-inner img { width: 100%; height: 100%; object-fit: cover }
  .fm-hero-screenshot-inner .fm-placeholder { color: var(--text4); font-size: 13px; padding: 24px; text-align: center }
  .fm-hero-float {
    position: absolute; background: #fff; border: 1px solid var(--border); border-radius: 14px;
    box-shadow: 0 16px 40px rgba(15,23,42,.14); padding: 14px 18px; display: flex; align-items: center; gap: 12px
  }
  .fm-hero-float-icon { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center }
  .fm-hero-float-icon svg { width: 22px; height: 22px }
  .fm-hero-float small { display: block; font-size: 12px; color: var(--text4); font-weight: 600 }
  .fm-hero-float strong { font-size: 16px; color: var(--ink); font-weight: 800 }
  .fm-hero-float-1 { top: -18px; left: -24px }
  .fm-hero-float-1 .fm-hero-float-icon { background: var(--money-soft); color: var(--money) }
  .fm-hero-float-2 { bottom: -20px; right: -18px }
  .fm-hero-float-2 .fm-hero-float-icon { background: var(--accent-soft); color: var(--accent) }
  @media(max-width:900px){
    .fm-hero-grid { grid-template-columns: 1fr; gap: 44px; text-align: center }
    .fm-hero p.fm-hero-sub, .fm-hero-checks { margin-left: auto; margin-right: auto }
    .fm-hero-ctas { justify-content: center }
    .fm-hero-check { justify-content: center }
    .fm-hero-float-1 { left: 8px }
    .fm-hero-float-2 { right: 8px }
  }

  /* ── TRUST BAR ── */
  .fm-trustbar { border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); background: var(--bg2) }
  .fm-trustbar-inner {
    display: flex; align-items: center; justify-content: center; gap: 44px; flex-wrap: wrap; padding: 26px 0
  }
  .fm-trust-item { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--text3) }
  .fm-trust-item strong { color: var(--ink); font-weight: 800 }
  .fm-trust-item svg { width: 20px; height: 20px; color: var(--accent) }
  .fm-trust-stars svg { width: 16px; height: 16px; color: var(--warning) }

  /* ── STATS ── */
  .fm-stats-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 32px; text-align: center }
  .fm-stat-number { font-size: clamp(30px,3.2vw,44px); font-weight: 900; color: var(--ink); letter-spacing: -.02em }
  .fm-stat-number.fm-money { color: var(--money) }
  .fm-stat-label { font-size: 14px; color: var(--text4); margin-top: 4px }
  @media(max-width:768px){ .fm-stats-grid { grid-template-columns: repeat(2,1fr); gap: 28px } }

  /* ── ROI CALCULATOR ── */
  .fm-roi { background: var(--ink); color: #e2e8f0; position: relative; overflow: hidden }
  .fm-roi::before {
    content: ''; position: absolute; top: -160px; left: 50%; transform: translateX(-50%);
    width: 700px; height: 700px; background: radial-gradient(circle, rgba(255,90,31,.18) 0%, transparent 70%)
  }
  .fm-roi .fm-section-label { color: #94a3b8 }
  .fm-roi .fm-section-title { color: #fff }
  .fm-roi .fm-section-subtitle { color: #94a3b8 }
  .fm-roi-card {
    position: relative; z-index: 1; margin-top: 44px; background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.1); border-radius: var(--radius-xl); padding: 40px;
    display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center
  }
  .fm-roi-field { margin-bottom: 26px }
  .fm-roi-field label { display: block; font-size: 14px; font-weight: 600; color: #cbd5e1; margin-bottom: 10px }
  .fm-roi-field .fm-roi-val { float: right; color: var(--accent); font-weight: 800 }
  .fm-roi-field input[type=range] { width: 100%; accent-color: var(--accent); height: 6px; cursor: pointer }
  .fm-roi-result { text-align: center; background: rgba(255,90,31,.1); border: 1px solid rgba(255,90,31,.3); border-radius: var(--radius-lg); padding: 34px 28px }
  .fm-roi-result .fm-roi-kicker { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: #ffb599 }
  .fm-roi-result .fm-roi-big { font-size: clamp(40px,6vw,60px); font-weight: 900; color: #fff; line-height: 1.05; margin: 10px 0; letter-spacing: -.03em }
  .fm-roi-result .fm-roi-sub { font-size: 15px; color: #cbd5e1; line-height: 1.6 }
  .fm-roi-result .fm-roi-pill {
    display: inline-block; margin-top: 18px; background: var(--money); color: #04371f; font-weight: 800;
    font-size: 14px; padding: 8px 16px; border-radius: 100px
  }
  .fm-roi-cta { margin-top: 30px; text-align: center; position: relative; z-index: 1 }
  @media(max-width:820px){ .fm-roi-card { grid-template-columns: 1fr; gap: 32px; padding: 30px } }

  /* ── STEPS ── */
  .fm-steps-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; margin-top: 48px }
  .fm-step-card { position: relative; padding: 34px 26px; background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius-lg) }
  .fm-step-number {
    width: 52px; height: 52px; border-radius: 14px; background: var(--accent-soft);
    display: flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 900;
    color: var(--accent); margin-bottom: 20px
  }
  .fm-step-card h3 { font-size: 19px; font-weight: 800; color: var(--text); margin-bottom: 10px }
  .fm-step-card p { font-size: 15px; color: var(--text3); line-height: 1.7 }
  @media(max-width:768px){ .fm-steps-grid { grid-template-columns: 1fr; gap: 16px } }

  /* ── FEATURES ── */
  .fm-features-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 48px }
  .fm-feature-card {
    background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius-lg);
    padding: 30px; transition: all .3s ease
  }
  .fm-feature-card:hover { border-color: rgba(255,90,31,.3); transform: translateY(-4px); box-shadow: 0 14px 40px rgba(15,23,42,.08) }
  .fm-feature-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--accent-soft); display: flex; align-items: center; justify-content: center; margin-bottom: 18px }
  .fm-feature-icon svg { width: 24px; height: 24px; color: var(--accent) }
  .fm-feature-card h3 { font-size: 18px; font-weight: 800; color: var(--text); margin-bottom: 10px }
  .fm-feature-card p { font-size: 14px; color: var(--text3); line-height: 1.7 }
  @media(max-width:992px){ .fm-features-grid { grid-template-columns: repeat(2,1fr) } }
  @media(max-width:600px){ .fm-features-grid { grid-template-columns: 1fr } }

  /* ── SCREENSHOTS ── */
  .fm-screenshots-tabs { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-bottom: 28px }
  .fm-screenshots-tabs button {
    font-family: inherit; font-size: 14px; font-weight: 700; padding: 10px 20px; border-radius: 100px;
    border: 1px solid var(--border); background: #fff; color: var(--text3); cursor: pointer; transition: all .2s
  }
  .fm-screenshots-tabs button.fm-active, .fm-screenshots-tabs button:hover {
    background: var(--accent); border-color: var(--accent); color: #fff
  }
  .fm-screenshot-panel { display: none }
  .fm-screenshot-panel.fm-active { display: block }
  .fm-screenshot-panel .fm-placeholder {
    color: var(--text4); font-size: 14px; text-align: center; padding: 40px; background: var(--bg2);
    border: 1px solid var(--border); border-radius: var(--radius-xl); aspect-ratio: 16/9;
    display: flex; align-items: center; justify-content: center
  }
  .fm-gallery-main {
    background: var(--bg2); border: 1px solid var(--border); border-radius: var(--radius-xl);
    overflow: hidden; aspect-ratio: 16/9; display: flex; align-items: center; justify-content: center; margin-bottom: 16px
  }
  .fm-gallery-main img { width: 100%; height: 100%; object-fit: contain; transition: opacity .3s ease }
  .fm-gallery-thumbs { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center }
  .fm-gallery-thumb {
    width: 80px; height: 80px; border-radius: 10px; overflow: hidden; cursor: pointer;
    border: 2px solid var(--border); transition: all .2s ease; flex-shrink: 0
  }
  .fm-gallery-thumb:hover { border-color: var(--accent); transform: scale(1.05) }
  .fm-gallery-thumb.fm-thumb-active { border-color: var(--accent); box-shadow: 0 0 0 2px rgba(255,90,31,.3); transform: scale(1.08) }
  .fm-gallery-thumb img { width: 100%; height: 100%; object-fit: cover }
  @media(max-width:600px){ .fm-gallery-thumb { width: 60px; height: 60px; border-radius: 8px } }

  /* ── COMPARISON ── */
  .fm-comparison-grid { display: grid; grid-template-columns: 1fr 72px 1fr; gap: 0; align-items: stretch; margin-top: 48px }
  .fm-comparison-card { padding: 38px; border-radius: var(--radius-lg); border: 1px solid var(--border) }
  .fm-comparison-card.fm-bad { background: #fff6f5; border-color: rgba(239,68,68,.2) }
  .fm-comparison-card.fm-good { background: var(--money-soft); border-color: rgba(18,183,106,.3) }
  .fm-comparison-card h3 { font-size: 20px; font-weight: 800; color: var(--text); margin-bottom: 22px }
  .fm-comparison-card.fm-bad h3 { color: var(--error) }
  .fm-comparison-card.fm-good h3 { color: var(--money) }
  .fm-comparison-vs { display: flex; align-items: center; justify-content: center }
  .fm-comparison-vs span {
    display: flex; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: 50%;
    background: #fff; border: 2px solid var(--bg4); font-size: 14px; font-weight: 900; color: var(--text4)
  }
  .fm-comparison-item { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 15px; font-size: 15px; color: var(--text2); line-height: 1.5 }
  .fm-comparison-item svg { width: 20px; height: 20px; flex-shrink: 0; margin-top: 2px }
  .fm-comparison-card.fm-bad .fm-comparison-item svg { color: var(--error) }
  .fm-comparison-card.fm-good .fm-comparison-item svg { color: var(--money) }
  @media(max-width:768px){
    .fm-comparison-grid { grid-template-columns: 1fr; gap: 20px }
    .fm-comparison-vs { padding: 4px 0 }
  }

  /* ── REVIEWS ── */
  .fm-reviews-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 48px }
  .fm-review-card { background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 30px; transition: all .3s ease }
  .fm-review-card:hover { border-color: rgba(255,90,31,.3); box-shadow: 0 12px 34px rgba(15,23,42,.06) }
  .fm-review-stars { display: flex; gap: 2px; margin-bottom: 16px }
  .fm-review-stars svg { width: 18px; height: 18px; color: var(--warning) }
  .fm-review-text { font-size: 15px; color: var(--text2); line-height: 1.7; margin-bottom: 20px }
  .fm-review-author { display: flex; align-items: center; gap: 12px }
  .fm-review-avatar { width: 42px; height: 42px; border-radius: 50%; background: var(--accent-soft); display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 800; color: var(--accent) }
  .fm-review-name { font-size: 14px; font-weight: 700; color: var(--text) }
  .fm-review-role { font-size: 12px; color: var(--text4) }
  @media(max-width:768px){ .fm-reviews-grid { grid-template-columns: 1fr } }

  /* ── PRICING ── */
  .fm-pricing { background: var(--bg2); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border) }
  .fm-pricing-cards { display: flex; flex-wrap: wrap; justify-content: center; gap: 32px; margin-top: 48px }
  .fm-pricing-card {
    flex: 1; min-width: 300px; max-width: 460px; background: #fff; border: 2px solid var(--border);
    border-radius: var(--radius-xl); padding: 44px; position: relative; overflow: hidden; transition: all .3s ease
  }
  .fm-pricing-card.fm-popular { border-color: var(--accent); box-shadow: 0 20px 60px rgba(255,90,31,.14) }
  .fm-pricing-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: linear-gradient(90deg,var(--accent),#ffb083) }
  .fm-pricing-popular { display: inline-block; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: #fff; background: var(--accent); padding: 6px 16px; border-radius: 100px; margin-bottom: 20px }
  .fm-pricing-anchor { font-size: 14px; color: var(--money); font-weight: 700; margin-bottom: 8px }
  .fm-pricing-price { display: flex; align-items: baseline; gap: 4px; margin-bottom: 6px }
  .fm-pricing-price .fm-currency { font-size: 30px; font-weight: 800; color: var(--text3) }
  .fm-pricing-price .fm-amount { font-size: 66px; font-weight: 900; color: var(--ink); letter-spacing: -.04em; line-height: 1 }
  .fm-pricing-price .fm-period { font-size: 16px; color: var(--text4); margin-left: 4px }
  .fm-pricing-desc { font-size: 15px; color: var(--text3); margin-bottom: 28px }
  .fm-pricing-features { margin-bottom: 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 2px 20px }
  .fm-pricing-feature { display: flex; align-items: center; gap: 10px; padding: 8px 0; font-size: 14px; color: var(--text2) }
  .fm-pricing-feature svg { width: 18px; height: 18px; color: var(--money); flex-shrink: 0 }
  .fm-pricing-trust { display: flex; align-items: center; justify-content: center; gap: 22px; margin-top: 26px; flex-wrap: wrap }
  .fm-pricing-trust-item { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--text3); font-weight: 500 }
  .fm-pricing-trust-item svg { width: 16px; height: 16px; color: var(--money) }
  @media(max-width:560px){ .fm-pricing-features { grid-template-columns: 1fr } .fm-pricing-card { padding: 32px 26px } }

  /* Guarantee callout */
  .fm-guarantee {
    display: flex; align-items: center; gap: 20px; max-width: 720px; margin: 40px auto 0;
    background: var(--money-soft); border: 1px solid rgba(18,183,106,.25); border-radius: var(--radius-lg); padding: 24px 28px
  }
  .fm-guarantee-badge { flex-shrink: 0; width: 64px; height: 64px; border-radius: 50%; background: var(--money); color: #fff; display: flex; align-items: center; justify-content: center }
  .fm-guarantee-badge svg { width: 32px; height: 32px }
  .fm-guarantee h4 { font-size: 17px; font-weight: 800; color: var(--ink); margin-bottom: 4px }
  .fm-guarantee p { font-size: 14px; color: var(--text2); line-height: 1.6 }
  @media(max-width:560px){ .fm-guarantee { flex-direction: column; text-align: center } }

  /* ── FAQ ── */
  .fm-faq-list { max-width: 780px; margin: 44px auto 0 }
  .fm-faq-item { border: 1px solid var(--border); border-radius: var(--radius); margin-bottom: 12px; overflow: hidden; transition: border-color .3s; background: #fff }
  .fm-faq-item.fm-open { border-color: rgba(255,90,31,.35) }
  .fm-faq-question {
    display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; cursor: pointer;
    font-size: 16px; font-weight: 700; color: var(--text); background: #fff; transition: background .2s; gap: 16px;
    border: none; width: 100%; text-align: left; font-family: inherit
  }
  .fm-faq-question:hover { background: var(--bg2) }
  .fm-faq-question svg { width: 20px; height: 20px; color: var(--text4); flex-shrink: 0; transition: transform .3s }
  .fm-faq-item.fm-open .fm-faq-question svg { transform: rotate(180deg); color: var(--accent) }
  .fm-faq-answer { max-height: 0; overflow: hidden; transition: max-height .4s ease }
  .fm-faq-answer-inner { padding: 0 24px 20px; font-size: 15px; color: var(--text3); line-height: 1.7 }

  /* ── FINAL CTA ── */
  .fm-final-cta { text-align: center; position: relative; overflow: hidden; background: var(--bg2); border-top: 1px solid var(--border) }
  .fm-final-cta::before {
    content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
    width: 620px; height: 620px; background: radial-gradient(circle, rgba(255,90,31,.1) 0%, transparent 70%); pointer-events: none
  }
  .fm-final-cta .fm-section-title { max-width: 640px; margin-left: auto; margin-right: auto }
  .fm-final-cta-badges { display: flex; align-items: center; justify-content: center; gap: 24px; margin-top: 24px; flex-wrap: wrap }
  .fm-final-cta-badge { display: flex; align-items: center; gap: 6px; font-size: 14px; color: var(--text3) }
  .fm-final-cta-badge svg { width: 18px; height: 18px; color: var(--money) }

  /* ── STICKY MOBILE BUY BAR ── */
  .fm-buybar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 998; display: none;
    background: rgba(255,255,255,.98); border-top: 1px solid var(--border);
    box-shadow: 0 -8px 24px rgba(15,23,42,.1); padding: 12px 16px;
    align-items: center; justify-content: space-between; gap: 14px;
    backdrop-filter: saturate(180%) blur(8px); font-family: 'Inter', system-ui, sans-serif
  }
  .fm-buybar-price { line-height: 1.15 }
  .fm-buybar-price strong { display: block; font-size: 18px; font-weight: 900; color: var(--ink) }
  .fm-buybar-price small { font-size: 12px; color: var(--money); font-weight: 700 }
  .fm-buybar a {
    background-color: #ee4f4f;
color: #fff;
font-weight: 800;
font-size: 15px;
padding: 13px 22px;
border-radius: 10px;
white-space: nowrap;
box-shadow: 0 6px 16px rgba(255,90,31,.3);
  }
  .fm-buybar.fm-visible { display: flex }
  @media(min-width:900px){ .fm-buybar.fm-visible { display: none } }

  /* ── WHAT'S INCLUDED (value stack) ── */
.fm-included { border-top: 1px solid var(--border) }
.fm-included-list {
  max-width: 940px; margin: 46px auto 0; border: 1px solid var(--border);
  border-radius: var(--radius-xl); overflow: hidden; background: #fff;
  box-shadow: 0 14px 44px rgba(15,23,42,.05)
}
.fm-included-row {
  display: grid; grid-template-columns: 58px 1fr auto; gap: 22px; align-items: center;
  padding: 26px 30px; border-bottom: 1px solid var(--border)
}
.fm-included-row:last-child { border-bottom: none }
.fm-included-icon {
  width: 56px; height: 56px; border-radius: 14px; background: var(--accent-soft);
  display: flex; align-items: center; justify-content: center; color: var(--accent)
}
.fm-included-icon svg { width: 28px; height: 28px }
.fm-included-title { font-size: 17px; font-weight: 800; color: var(--ink); margin-bottom: 4px }
.fm-included-desc { font-size: 14px; color: var(--text3); line-height: 1.6 }
.fm-platforms { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end }
.fm-platform {
  display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600;
  color: var(--text2); border: 1px solid var(--border); border-radius: 8px; padding: 5px 11px; background: var(--bg2); white-space: nowrap
}
.fm-platform svg { width: 14px; height: 14px; color: var(--text3) }
.fm-included-note {
  max-width: 940px; margin: 22px auto 0; text-align: center; font-size: 14px; color: var(--text3)
}
.fm-included-note strong { color: var(--money) }
.fm-included-cta { text-align: center; margin-top: 30px }
@media(max-width:720px){
  .fm-included-row { grid-template-columns: 48px 1fr; gap: 16px; padding: 22px 20px }
  .fm-included-icon { width: 48px; height: 48px }
  .fm-included-icon svg { width: 24px; height: 24px }
  .fm-platforms { grid-column: 1 / -1; justify-content: flex-start; margin-top: 6px }
}
