/* css/manufacturers.css: styles for the /manufacturers/ section only.
   Loaded by includes/mfg.php through page_head()'s head_extra as manufacturers.N.css.
   After ANY change here, bump MFG_CSS_VER in includes/mfg.php. Builds on the main.css tokens (--navy, --orange,
   --g200 ...); every rule is scoped to .mfg or an mfg-* class. */
.mfg { --mfg-mono: ui-monospace, 'SFMono-Regular', Menlo, Consolas, 'Liberation Mono', monospace; --mfg-ink: #0b1526; --mfg-line: #dfe3ea; --mfg-paper: #f6f8fb; }
.mfg-hero { background-color: var(--navy); background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 28px 28px; border-bottom: 4px solid var(--orange); }
.mfg-hero h1 { max-width: 20ch; }
.mfg-hero .lead { color: rgba(255,255,255,.78); max-width: 680px; }
.mfg-label { display: block; font-family: var(--mfg-mono); font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--orange); margin: 0 0 10px; }

/* section menu */
.mfg-subnav { background: #fff; border-bottom: 1px solid var(--mfg-line); padding: 0; position: relative; z-index: 2; }
.mfg-subnav ul { list-style: none; display: flex; gap: 4px; margin: 0; padding: 10px 0; overflow-x: auto; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.mfg-subnav li { flex: 0 0 auto; }
.mfg-subnav a { display: block; padding: 8px 12px; border-radius: var(--r-pill); font-size: .84rem; font-weight: 600; color: var(--g700); text-decoration: none; white-space: nowrap; }
.mfg-subnav a:hover, .mfg-subnav a:focus-visible { background: var(--g100); color: var(--navy); }
.mfg-subnav a.on { background: var(--navy); color: #fff; }

/* the AI answer illustration */
.mfg-chat { max-width: 640px; margin: 0 auto; }
.mfg-chat-q { margin-left: auto; max-width: 88%; background: var(--mfg-ink); color: #fff; border-radius: 16px 16px 4px 16px; padding: 16px 20px; font-size: 1rem; line-height: 1.55; }
.mfg-chat-a { margin-top: 14px; background: #fff; border: 1.5px solid var(--mfg-line); border-radius: 16px; padding: 18px 22px; box-shadow: var(--sh-sm); }
.mfg-chat-a > p { margin: 0 0 10px; color: var(--g700); }
.mfg-chat-a ol { list-style: none; margin: 0; padding: 0; }
.mfg-chat-a li { display: grid; grid-template-columns: 34px 1fr; gap: 4px 10px; padding: 12px 0; border-top: 1px solid var(--g200); }
.mfg-chat-a li b { font-family: var(--mfg-mono); color: var(--blue); font-size: .85rem; padding-top: 2px; }
.mfg-chat-a li span { color: var(--g600); font-size: .92rem; grid-column: 2; }
.mfg-chat-miss { margin-top: 12px; display: flex; align-items: center; gap: 10px; background: #fff5ec; border: 1.5px solid #f7b68f; border-radius: 10px; padding: 12px 16px; font-size: .96rem; }
.mfg-chat-miss::before { content: ''; width: 10px; height: 10px; border-radius: 50%; background: var(--orange); flex-shrink: 0; }
.mfg-caption { font-size: .85rem; color: var(--g600); margin-top: 12px; text-align: center; }

/* comparison table */
.mfg-table { width: 100%; border-collapse: collapse; font-size: .95rem; min-width: 640px; background: #fff; }
.mfg-table th { text-align: left; font-family: var(--mfg-mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--g600); padding: 14px 16px; border-bottom: 2px solid var(--mfg-ink); background: #fff; }
.mfg-table th.mfg-after { background: var(--mfg-ink); color: #fff; }
.mfg-table td { padding: 14px 16px; border-bottom: 1px solid var(--g200); vertical-align: top; line-height: 1.55; }
.mfg-table td:first-child { font-weight: 600; color: var(--text); width: 26%; }
.mfg-table td.mfg-before { color: var(--g600); }
.mfg-table td.mfg-after { background: #eef3fa; color: var(--text); }
.mfg-table tbody tr:last-child td { border-bottom: 0; }

/* big figure */
.mfg-figure { display: grid; grid-template-columns: auto 1fr; gap: 28px; align-items: center; background: var(--mfg-ink); color: #fff; border-radius: var(--r-lg); padding: 30px 34px; margin-top: 32px; }
.mfg-figure .n { font-family: var(--ff-head); font-size: clamp(2.6rem, 6vw, 4rem); line-height: 1; color: var(--orange); white-space: nowrap; }
.mfg-figure .n small { display: block; font-family: var(--mfg-mono); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.7); margin-top: 10px; }
.mfg-figure p { margin: 0; color: rgba(255,255,255,.86); line-height: 1.65; }
.mfg-figure a { color: #ffb48a; }
.mfg-pull { font-family: var(--ff-head); font-size: clamp(1.25rem, 2.2vw, 1.6rem); line-height: 1.35; color: var(--text); border-top: 4px solid var(--orange); padding-top: 18px; margin-top: 34px; max-width: 760px; }

/* problem cards */
.mfg-group { margin-top: 38px; }
.mfg-group:first-of-type { margin-top: 10px; }
.mfg-group > h3 { font-family: var(--ff-head); font-weight: 400; font-size: 1.35rem; margin: 0 0 4px; }
.mfg-group > p { color: var(--g600); margin: 0 0 16px; }
.mfg-pgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.mfg-pcard { display: flex; flex-direction: column; gap: 8px; background: #fff; border: 1.5px solid var(--g200); border-radius: var(--r-lg); padding: 20px 20px 18px; text-decoration: none; color: var(--text); transition: border-color .2s var(--ease), box-shadow .2s var(--ease), transform .2s var(--ease); }
.mfg-pcard:hover, .mfg-pcard:focus-visible { border-color: var(--navy); box-shadow: var(--sh-md); transform: translateY(-2px); }
.mfg-pcard strong { font-size: 1.04rem; line-height: 1.35; }
.mfg-pcard span { color: var(--g600); font-size: .92rem; line-height: 1.55; }
.mfg-pcard em { font-style: normal; font-weight: 600; color: var(--orange); font-size: .88rem; margin-top: auto; padding-top: 4px; }
.mfg-chip { align-self: flex-start; font-family: var(--mfg-mono); font-size: .78rem; font-weight: 700; color: var(--navy) !important; background: #eef3fa; border-radius: 6px; padding: 4px 8px; }
.mfg-chip small { display: block; font-weight: 500; color: var(--g600); font-size: .72rem; letter-spacing: 0; margin-top: 1px; }

/* four changes / numbered cards */
.mfg-four { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.mfg-four > div { background: var(--mfg-paper); border-radius: var(--r-lg); padding: 24px 24px 22px; border: 1px solid var(--mfg-line); }
.mfg-four b { display: inline-block; font-family: var(--mfg-mono); font-size: .8rem; color: var(--navy); border-bottom: 3px solid var(--orange); margin-bottom: 12px; }
.mfg-four h3 { font-size: 1.12rem; margin: 0 0 8px; }
.mfg-four p { margin: 0; color: var(--g700); line-height: 1.65; }
.mfg-results { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 32px; margin-top: 8px; }
.mfg-results > div { border-top: 3px solid var(--mfg-ink); padding: 16px 0 20px; }
.mfg-results h3 { font-size: 1.05rem; margin: 0 0 6px; }
.mfg-results p { margin: 0; color: var(--g700); }

/* numbered steps */
.mfg-steps { list-style: none; counter-reset: s; margin: 0; padding: 0; border-top: 2px solid var(--mfg-ink); }
.mfg-steps li { counter-increment: s; display: grid; grid-template-columns: 52px 1fr; gap: 6px 10px; padding: 16px 0; border-bottom: 1px solid var(--g200); }
.mfg-steps li::before { content: counter(s, decimal-leading-zero); font-family: var(--mfg-mono); font-weight: 700; color: var(--blue); font-size: .95rem; padding-top: 2px; }
.mfg-steps li > div { grid-column: 2; }
.mfg-steps h3 { font-size: 1.02rem; margin: 0 0 4px; }
.mfg-steps p { margin: 0; color: var(--g700); line-height: 1.6; }

/* deliverables and small tiles */
.mfg-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.mfg-tiles > div { background: var(--mfg-paper); border: 1px solid var(--mfg-line); border-radius: var(--r); padding: 18px 18px 16px; }
.mfg-tiles h3 { font-size: .98rem; margin: 0 0 6px; }
.mfg-tiles p { margin: 0; font-size: .92rem; color: var(--g700); }

/* dark panel */
.mfg-dark { background: var(--mfg-ink); color: #fff; border-radius: var(--r-lg); padding: 30px 32px; }
.mfg-dark h3 { color: #fff; font-family: var(--ff-head); font-weight: 400; font-size: 1.4rem; margin: 0 0 14px; }
.mfg-dark p, .mfg-dark li { color: rgba(255,255,255,.84); line-height: 1.65; }
.mfg-dark strong { color: #fff; }
.mfg-dark .mfg-2col { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 32px; }
.mfg-dark .mfg-2col p { margin: 0; }
.mfg-dark hr { border: 0; border-top: 1px solid rgba(255,255,255,.18); margin: 20px 0 16px; }

/* stats row */
.mfg-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 24px; }
.mfg-stats > div { border-top: 3px solid var(--mfg-ink); padding-top: 14px; }
.mfg-stats .n { font-family: var(--ff-head); font-size: clamp(2rem, 4vw, 2.8rem); line-height: 1; color: var(--blue); }
.mfg-stats p { margin: 8px 0 0; font-size: .92rem; color: var(--g700); line-height: 1.5; }

/* before / after */
.mfg-ba { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.mfg-ba > div { border-radius: var(--r-lg); overflow: hidden; border: 1.5px solid var(--g200); background: #fff; }
.mfg-ba > div.after { border-color: var(--mfg-ink); }
.mfg-ba h3 { margin: 0; padding: 12px 18px; font-family: var(--mfg-mono); font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; background: var(--g100); color: var(--g700); }
.mfg-ba .after h3 { background: var(--mfg-ink); color: #fff; }
.mfg-ba ul { list-style: none; margin: 0; padding: 0; }
.mfg-ba li { padding: 13px 18px; border-top: 1px solid var(--g200); line-height: 1.55; }
.mfg-ba .before li { color: var(--g600); }

/* timeline */
.mfg-timeline { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.mfg-timeline > div { border-top: 3px solid rgba(255,255,255,.35); padding-top: 12px; }
.mfg-timeline > div.now { border-top-color: var(--orange); }
.mfg-timeline b { display: block; font-family: var(--mfg-mono); font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.7); margin-bottom: 6px; }
.mfg-timeline > div.now b { color: var(--orange); }

/* site plan diagram */
.mfg-plan { background: var(--mfg-paper); border: 1px solid var(--mfg-line); border-radius: var(--r-lg); padding: 22px; }
.mfg-plan-home { background: var(--mfg-ink); color: #fff; text-align: center; font-weight: 600; border-radius: var(--r); padding: 14px; }
.mfg-plan-cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 14px; }
.mfg-plan-cols > div { background: #fff; border: 1.5px solid var(--mfg-ink); border-radius: var(--r); padding: 14px 16px; }
.mfg-plan-cols h4 { margin: 0 0 8px; padding-bottom: 8px; border-bottom: 2px solid var(--orange); font-size: 1rem; }
.mfg-plan-cols ul { list-style: none; margin: 0; padding: 0; font-size: .9rem; color: var(--g700); line-height: 1.9; }
.mfg-plan-buyers { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 14px; }
.mfg-plan-buyers > div { background: var(--blue); color: #fff; border-radius: var(--r); padding: 12px 14px; font-size: .88rem; line-height: 1.45; }
.mfg-plan-buyers b { display: block; font-size: .94rem; }
.mfg-plan-quote { margin-top: 14px; background: var(--orange); color: #fff; text-align: center; font-weight: 700; border-radius: var(--r); padding: 13px; }
.mfg-plan .mfg-label { color: var(--g600); margin: 16px 0 0; }

/* product page anatomy mock */
.mfg-mock { border: 1.5px solid var(--g300); border-radius: var(--r-lg); overflow: hidden; background: #fff; box-shadow: var(--sh-md); }
.mfg-mock-url { background: var(--g100); padding: 10px 16px; font-size: .86rem; color: var(--g700); display: flex; gap: 10px; align-items: center; border-bottom: 1px solid var(--g200); }
.mfg-mock-bar { background: var(--mfg-ink); color: #fff; display: flex; align-items: center; gap: 18px; padding: 12px 16px; font-size: .86rem; flex-wrap: wrap; }
.mfg-mock-bar b { font-family: var(--ff-head); font-weight: 400; font-size: 1.05rem; }
.mfg-mock-bar span { opacity: .8; }
.mfg-mock-bar i { margin-left: auto; font-style: normal; background: var(--orange); border-radius: 6px; padding: 5px 10px; font-weight: 700; }
.mfg-mock-body { display: grid; grid-template-columns: 5fr 7fr; gap: 22px; padding: 22px; }
.mfg-mock-draw { background-color: #eef3fa; background-image: linear-gradient(rgba(34,86,168,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(34,86,168,.1) 1px, transparent 1px); background-size: 16px 16px; border-radius: var(--r); min-height: 190px; position: relative; display: flex; align-items: center; justify-content: center; }
.mfg-mock-draw svg { width: 82%; height: auto; }
.mfg-mock-thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 8px; }
.mfg-mock-thumbs span { background: var(--g100); border-radius: 8px; font-size: .74rem; text-align: center; padding: 14px 4px; color: var(--g700); }
.mfg-mock h4 { margin: 0; font-size: 1.15rem; }
.mfg-mock-sub { color: var(--g600); font-size: .88rem; margin: 2px 0 10px; }
.mfg-mock-spec { width: 100%; border-collapse: collapse; font-size: .86rem; }
.mfg-mock-spec td { padding: 7px 0; border-top: 1px solid var(--g200); }
.mfg-mock-spec td + td { font-family: var(--mfg-mono); color: var(--g600); font-size: .8rem; }
.mfg-mock-btns { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 8px; margin-top: 12px; }
.mfg-mock-btns span { border-radius: 8px; padding: 9px 6px; text-align: center; font-weight: 700; font-size: .84rem; border: 1.5px solid var(--mfg-ink); }
.mfg-mock-btns span:first-child { background: var(--orange); border-color: var(--orange); color: #fff; }
.mfg-mock-btns span:nth-child(2) { background: var(--mfg-ink); color: #fff; }
.mfg-mock-dl { color: var(--blue); font-weight: 600; font-size: .86rem; margin-top: 10px; }
.mfg-mock-foot { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 0 22px 22px; }
.mfg-mock-foot span { border: 1.5px dashed var(--g300); border-radius: 8px; padding: 10px 12px; font-size: .84rem; font-weight: 600; }
.mfg-pin { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: var(--mfg-ink); color: #fff; font-size: .74rem; font-weight: 700; font-style: normal; flex-shrink: 0; vertical-align: middle; margin-right: 6px; }
.mfg-mock-draw .mfg-pin { position: absolute; top: 10px; left: 10px; }
.mfg-keys { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; margin-top: 26px; }
.mfg-keys > div { display: grid; grid-template-columns: 30px 1fr; gap: 10px; padding: 14px 0; border-top: 1px solid var(--g200); }
.mfg-keys p { margin: 0; color: var(--g700); line-height: 1.6; }
.mfg-keys strong { color: var(--text); }

/* long-form reading pages */
.mfg-prose { max-width: 760px; }
.mfg-prose h2 { font-family: var(--ff-head); font-weight: 400; font-size: clamp(1.45rem, 2.4vw, 1.9rem); line-height: 1.25; margin: 44px 0 12px; color: var(--text); }
.mfg-prose h2:first-child { margin-top: 0; }
.mfg-prose h3 { font-size: 1.1rem; margin: 26px 0 8px; }
.mfg-prose p, .mfg-prose li { font-size: 1.04rem; line-height: 1.78; color: var(--g800); }
.mfg-prose p { margin: 0 0 16px; }
.mfg-prose ul, .mfg-prose ol { margin: 0 0 18px 1.2em; padding: 0; }
.mfg-prose li { margin-bottom: 8px; }
.mfg-prose a { color: var(--blue); }
.mfg-answer { background: var(--mfg-paper); border-left: 4px solid var(--orange); border-radius: 0 var(--r) var(--r) 0; padding: 18px 22px; margin: 0 0 28px; }
.mfg-answer p { margin: 0; font-size: 1.08rem; }
.mfg-box { border: 1.5px solid var(--g200); border-radius: var(--r-lg); padding: 22px 24px; margin: 26px 0; background: #fff; }
.mfg-box > h3:first-child, .mfg-box > h2:first-child { margin-top: 0; }
.mfg-box.good { border-color: #9ad0b2; background: #f3fbf6; }
.mfg-check { list-style: none; margin: 0 !important; padding: 0; counter-reset: c; }
.mfg-check li { counter-increment: c; position: relative; padding-left: 40px; margin-bottom: 12px; }
.mfg-check li::before { content: counter(c); position: absolute; left: 0; top: 2px; width: 26px; height: 26px; border-radius: 50%; background: var(--navy); color: #fff; font-size: .8rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.mfg-good { list-style: none; margin: 0 !important; padding: 0; }
.mfg-good li { position: relative; padding-left: 28px; }
.mfg-good li::before { content: '✓'; position: absolute; left: 0; color: var(--green); font-weight: 800; }
.mfg-side { display: grid; grid-template-columns: minmax(0, 760px) 300px; gap: 48px; align-items: start; }
.mfg-aside { position: sticky; top: calc(var(--nav-total) + 70px); display: flex; flex-direction: column; gap: 14px; }
.mfg-aside .mfg-figure { grid-template-columns: 1fr; gap: 10px; margin: 0; padding: 22px; }
.mfg-aside .mfg-figure .n { font-size: 2.6rem; }
.mfg-aside-card { border: 1.5px solid var(--g200); border-radius: var(--r-lg); padding: 18px 20px; background: #fff; }
.mfg-aside-card p { margin: 0 0 12px; font-size: .94rem; color: var(--g700); }
.mfg-aside-card .btn { width: 100%; justify-content: center; }
.mfg-related { margin-top: 10px; }

/* books */
.mfg-books { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.mfg-book { display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: var(--text); background: #fff; border: 1.5px solid var(--g200); border-left: 5px solid var(--navy); border-radius: var(--r); padding: 18px 20px; }
.mfg-book:hover, .mfg-book:focus-visible { border-color: var(--navy); }
.mfg-book strong { font-family: var(--ff-head); font-weight: 400; font-size: 1.25rem; }
.mfg-book span:last-child { color: var(--g600); font-size: .92rem; }

/* study results */
.mfg-bars { width: 100%; border-collapse: collapse; font-size: .94rem; min-width: 620px; background: #fff; }
.mfg-bars th { text-align: left; font-family: var(--mfg-mono); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--g600); padding: 12px 14px; border-bottom: 2px solid var(--mfg-ink); }
.mfg-bars td { padding: 11px 14px; border-bottom: 1px solid var(--g200); vertical-align: middle; }
.mfg-bars td.num { font-family: var(--mfg-mono); text-align: right; white-space: nowrap; width: 60px; }
.mfg-bar { position: relative; height: 12px; border-radius: 6px; background: var(--g100); min-width: 140px; overflow: hidden; }
.mfg-bar i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 6px; background: var(--blue); }
.mfg-bar i + i { background: var(--g300); border-radius: 0 6px 6px 0; }
.mfg-legend { display: flex; flex-wrap: wrap; gap: 16px; font-size: .85rem; color: var(--g600); margin: 10px 0 0; }
.mfg-legend span::before { content: ''; display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; background: var(--blue); }
.mfg-legend span.u::before { background: var(--g300); }
.mfg-legend span.n::before { background: var(--g100); border: 1px solid var(--g300); }

/* self-check */
.mfg-q { border: 1.5px solid var(--g200); border-radius: var(--r-lg); padding: 18px 20px; margin-bottom: 12px; background: #fff; }
.mfg-q legend { float: left; width: 100%; padding: 0; font-weight: 600; font-size: 1.02rem; line-height: 1.5; margin-bottom: 4px; }
.mfg-q legend b { font-family: var(--mfg-mono); color: var(--blue); margin-right: 8px; }
.mfg-q .hint { clear: both; color: var(--g600); font-size: .9rem; margin: 0 0 12px; }
.mfg-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.mfg-opts label { position: relative; }
.mfg-opts input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.mfg-opts span { display: inline-block; padding: 9px 16px; border: 1.5px solid var(--g300); border-radius: var(--r-pill); font-size: .9rem; font-weight: 600; cursor: pointer; background: #fff; }
.mfg-opts input:checked + span { background: var(--navy); border-color: var(--navy); color: #fff; }
.mfg-opts input:focus-visible + span { outline: 3px solid var(--orange); outline-offset: 2px; }
.mfg-q.mfg-unanswered { border-color: var(--orange); }
.mfg-score { display: grid; grid-template-columns: auto 1fr; gap: 26px; align-items: center; background: var(--mfg-ink); color: #fff; border-radius: var(--r-lg); padding: 28px 30px; margin-bottom: 26px; }
.mfg-score .n { font-family: var(--ff-head); font-size: 4rem; line-height: 1; color: var(--orange); }
.mfg-score .n small { font-size: 1.4rem; color: rgba(255,255,255,.7); }
.mfg-score h2 { color: #fff; font-family: var(--ff-head); font-weight: 400; margin: 0 0 6px; font-size: 1.5rem; }
.mfg-score p { margin: 0; color: rgba(255,255,255,.84); }
.mfg-gaps { list-style: none; margin: 0; padding: 0; }
.mfg-gaps li { border-top: 1px solid var(--g200); padding: 14px 0; display: grid; grid-template-columns: 36px 1fr; gap: 8px; }
.mfg-gaps li b { font-family: var(--mfg-mono); color: var(--blue); }
.mfg-gaps a { font-weight: 600; color: var(--blue); }
.mfg-gaps p { margin: 4px 0 0; color: var(--g600); font-size: .94rem; }

/* CTA band */
.mfg-cta { background: var(--mfg-ink); color: #fff; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 28px 28px; border-top: 4px solid var(--orange); }
.mfg-cta-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 48px; align-items: center; }
.mfg-cta h2 { color: #fff; font-family: var(--ff-head); font-weight: 400; font-size: clamp(1.6rem, 2.8vw, 2.2rem); line-height: 1.2; margin: 0 0 14px; }
.mfg-cta p { color: rgba(255,255,255,.82); line-height: 1.7; }
.mfg-cta-facts { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 0; padding: 0; }
.mfg-cta-facts li { border: 1px solid rgba(255,255,255,.25); border-radius: var(--r-pill); padding: 8px 14px; font-size: .9rem; color: rgba(255,255,255,.85); }
.mfg-cta-facts strong { color: #fff; }
.mfg-cta-act { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); border-radius: var(--r-lg); padding: 24px; }
.mfg-cta-act p { font-size: .92rem; margin: 14px 0 12px; }
.mfg-cta-alt { color: #ffb48a; font-weight: 600; font-size: .94rem; }

.mfg-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* forms */
.mfg-form-error { background: #fff4ef; border: 1.5px solid var(--orange); color: #8a3412; border-radius: var(--r); padding: 12px 14px; font-size: .94rem; margin: 0 0 14px; }
.mfg-invalid { border-color: var(--orange) !important; box-shadow: 0 0 0 3px rgba(244,98,31,.18) !important; }
.mfg-form-alt { margin-top: 18px; font-size: .92rem; color: var(--g600); }

.mfg .section-head + .table-wrap { margin-top: 8px; }
.mfg .table-wrap { position: relative; }
.mfg-center-link { text-align: center; margin-top: 26px; }
.mfg-center-link a { font-weight: 600; color: var(--blue); }
.mfg-about { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 24px; }
.mfg-about > div { border-top: 3px solid var(--orange); padding-top: 12px; }
.mfg-about .n { font-family: var(--ff-head); font-size: 2.2rem; line-height: 1; }
.mfg-about p { margin: 6px 0 0; color: var(--g600); font-size: .9rem; }

@media (max-width: 1024px) {
  .mfg-side { grid-template-columns: 1fr; }
  .mfg-aside { position: static; }
  .mfg-plan-cols, .mfg-plan-buyers { grid-template-columns: repeat(2, 1fr); }
  .mfg-cta-grid { grid-template-columns: 1fr; gap: 26px; }
  .mfg-tiles { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .mfg-four, .mfg-results, .mfg-ba, .mfg-keys, .mfg-dark .mfg-2col { grid-template-columns: 1fr; }
  .mfg-stats, .mfg-about { grid-template-columns: repeat(2, 1fr); gap: 20px 18px; }
  .mfg-figure { grid-template-columns: 1fr; gap: 12px; padding: 24px; }
  .mfg-timeline { grid-template-columns: 1fr; }
  .mfg-mock-body { grid-template-columns: 1fr; padding: 16px; }
  .mfg-mock-foot { grid-template-columns: 1fr; padding: 0 16px 16px; }
  .mfg-mock-bar span { display: none; }
  .mfg-score { grid-template-columns: 1fr; gap: 10px; padding: 22px; }
  .mfg-dark { padding: 24px 20px; }
}
@media (max-width: 480px) {
  .mfg-plan-cols, .mfg-plan-buyers, .mfg-tiles { grid-template-columns: 1fr; }
  .mfg-pgrid { grid-template-columns: 1fr; }
  .mfg-chat-a { padding: 14px 16px; }
  .mfg-mock-btns { grid-template-columns: 1fr; }
}
@media print {
  .mfg-subnav, .mfg-cta, #enquire { display: none; }
}

/* value calculator */
.mfg-calc { display: grid; grid-template-columns: 1.3fr 1fr; border-radius: var(--r-lg); overflow: hidden; border: 1.5px solid var(--mfg-ink); margin-top: 34px; }
.mfg-calc-in { background: #fff; padding: 26px 28px; }
.mfg-calc-in h3 { font-family: var(--ff-head); font-weight: 400; font-size: 1.45rem; margin: 0 0 6px; }
.mfg-calc-in > p { color: var(--g600); margin: 0 0 16px; font-size: .94rem; }
.mfg-calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mfg-calc-grid label { display: flex; flex-direction: column; gap: 6px; font-size: .86rem; font-weight: 600; color: var(--g700); }
.mfg-calc-grid input { font: inherit; font-size: 1rem; font-weight: 600; padding: 10px 12px; border: 1.5px solid var(--g300); border-radius: 8px; color: var(--text); width: 100%; }
.mfg-calc-grid input:focus { outline: 3px solid rgba(244,98,31,.3); border-color: var(--orange); }
.mfg-calc-out { background: var(--mfg-ink); color: #fff; padding: 26px 28px; display: flex; flex-direction: column; justify-content: center; }
.mfg-calc-out .n { font-family: var(--ff-head); font-size: clamp(2rem, 4vw, 2.8rem); color: var(--orange); line-height: 1.1; margin: 4px 0 10px; }
.mfg-calc-out p { color: rgba(255,255,255,.84); margin: 0; line-height: 1.6; }

/* symptoms */
.mfg-symptoms { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.mfg-symptom { background: #fff; border: 1.5px solid var(--g200); border-left: 5px solid var(--orange); border-radius: var(--r); padding: 18px 20px; }
.mfg-symptom > strong { display: block; font-size: 1.04rem; line-height: 1.45; color: var(--text); }
.mfg-symptom p { margin: 8px 0 8px; color: var(--g700); font-size: .93rem; line-height: 1.6; }
.mfg-symptom p b { color: var(--navy); }
.mfg-symptom a { font-size: .88rem; font-weight: 600; color: var(--blue); margin-right: 12px; display: inline-block; }
.mfg-symptom-box { background: #fff7f1; border: 1.5px solid #f7c4a5; border-radius: var(--r-lg); padding: 20px 22px; margin: 0 0 30px; }
.mfg-symptom-box h2 { margin-top: 0 !important; font-size: 1.35rem !important; }
.mfg-symptom-box ul { list-style: none; margin: 0 !important; padding: 0; }
.mfg-symptom-box li { padding: 10px 0 10px 26px; position: relative; border-top: 1px solid #f3d6c4; margin: 0 !important; }
.mfg-symptom-box li:first-child { border-top: 0; }
.mfg-symptom-box li::before { content: ''; position: absolute; left: 4px; top: 19px; width: 9px; height: 9px; border-radius: 50%; background: var(--orange); }
.mfg-symptom-box li span { display: block; font-size: .94rem; color: var(--g700); }

/* buyer questions */
.mfg-qlist { margin: 0; padding: 0; list-style: none; }
.mfg-qlist > li { border-top: 1px solid var(--g200); padding: 18px 0; }
.mfg-qlist h3, .mfg-qlist .q { font-size: 1.06rem; margin: 0 0 8px; color: var(--text); font-weight: 700; line-height: 1.45; }
.mfg-qlist p { margin: 0 0 6px !important; font-size: .98rem !important; line-height: 1.65 !important; color: var(--g700) !important; }
.mfg-qlist p b { font-family: var(--mfg-mono); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--blue); margin-right: 6px; }
.mfg-qlist a.more { font-size: .88rem; font-weight: 600; color: var(--orange); }
.mfg-qgroup { margin-top: 46px; scroll-margin-top: calc(var(--nav-total) + 20px); }
.mfg-qgroup:first-of-type { margin-top: 0; }
.mfg-qgroup > h2 { font-family: var(--ff-head); font-weight: 400; font-size: clamp(1.45rem, 2.4vw, 1.9rem); margin: 0 0 4px; }
.mfg-qgroup > .who { font-family: var(--mfg-mono); font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: var(--g600); margin: 0 0 8px; }
.mfg-qgroup > .intro { color: var(--g700); margin: 0 0 12px; max-width: 720px; }
.mfg-jump { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 34px; padding: 0; list-style: none; }
.mfg-jump a { display: inline-block; padding: 8px 14px; border: 1.5px solid var(--g300); border-radius: var(--r-pill); font-size: .86rem; font-weight: 600; color: var(--navy); text-decoration: none; background: #fff; }
.mfg-jump a:hover { border-color: var(--navy); }
.mfg-fix { background: var(--mfg-paper); border: 1.5px solid var(--mfg-ink); border-radius: var(--r-lg); padding: 22px 24px; margin: 26px 0; }
.mfg-fix h2 { margin-top: 0 !important; }
.mfg-fix .btn-row { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 768px) {
  .mfg-calc { grid-template-columns: 1fr; }
  .mfg-symptoms { grid-template-columns: 1fr; }
}
@media (max-width: 480px) { .mfg-calc-grid { grid-template-columns: 1fr; } .mfg-calc-in, .mfg-calc-out { padding: 22px 18px; } }

/* three ways to start */
.mfg-path-sec { background: var(--mfg-paper); border-top: 1px solid var(--mfg-line); }
.mfg-path { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1.25fr 1fr; gap: 16px; align-items: stretch; counter-reset: p; }
.mfg-path li { counter-increment: p; background: #fff; border: 1.5px solid var(--g200); border-radius: var(--r-lg); padding: 24px 22px; display: flex; flex-direction: column; gap: 10px; position: relative; }
.mfg-path li::before { content: counter(p); position: absolute; top: -14px; left: 20px; width: 28px; height: 28px; border-radius: 50%; background: var(--mfg-ink); color: #fff; font-weight: 700; font-size: .85rem; display: flex; align-items: center; justify-content: center; }
.mfg-path li.mfg-path-main { border: 2px solid var(--orange); box-shadow: var(--sh-md); }
.mfg-path li.mfg-path-main::before { background: var(--orange); }
.mfg-path h3 { margin: 0; font-family: var(--ff-head); font-weight: 400; font-size: 1.35rem; }
.mfg-path p { margin: 0; color: var(--g700); line-height: 1.65; font-size: .95rem; flex: 1; }
.mfg-path .btn { align-self: flex-start; }
.mfg-path-tag { font-family: var(--mfg-mono); font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--blue); }
.mfg-calc-loss { margin-top: 10px !important; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.2); font-size: .94rem; }
@media (max-width: 900px) { .mfg-path { grid-template-columns: 1fr; gap: 24px; } }

/* printing (used by the self-check scorecard; harmless elsewhere) */
.mfg-print-only { display: none; }
@media print {
  .navbar, footer.footer, .mobile-bar, .wa-float, .mfg-subnav, .mfg-cta, .mfg-path-sec, #enquire, .faq-list, .mfg-no-print, .mfg-print-btn, .skip-link { display: none !important; }
  .mfg-print-only { display: block; }
  .mfg-print-head { font-size: 11pt; font-weight: 700; border-bottom: 2px solid #000; padding-bottom: 6px; margin-bottom: 14px; }
  .mfg:has(#result .mfg-score) .page-hero { display: none !important; }
  .mfg .page-hero { padding: 0 !important; background: none !important; color: #000 !important; border: 0 !important; }
  .mfg .page-hero .btn-row, .mfg .page-hero .ph-orb, .mfg .page-hero .breadcrumbs { display: none !important; }
  .mfg .page-hero h1, .mfg .page-hero .lead, .mfg .page-hero .eyebrow { color: #000 !important; }
  .mfg section { padding: 12px 0 !important; }
  .mfg .sr { opacity: 1 !important; transform: none !important; }
  .mfg-score { background: none !important; color: #000 !important; border: 2px solid #000; }
  .mfg-score h2, .mfg-score p, .mfg-score .n small { color: #000 !important; }
  .mfg-q { break-inside: avoid; padding: 8px 12px !important; margin-bottom: 6px !important; }
  .mfg-opts span { border-color: #bbb !important; padding: 3px 10px !important; }
  .mfg-opts input:checked + span { background: #000 !important; color: #fff !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .mfg-aside-card .btn-row { display: none !important; }
  a[href]::after { content: none !important; }
}

/* Contrast (30 Oct 2026, from a Lighthouse pass on the live pages). The brand orange
   #f4621f is 3.2:1 on white: fine for large type, too light for small labels and links.
   Small orange text on light backgrounds uses a darker orange; on the dark panels the
   brand orange stays. */
.mfg .mfg-label, .mfg .mfg-pcard em { color: #b8430f; }
.mfg .mfg-figure .mfg-label, .mfg .mfg-dark .mfg-label, .mfg .mfg-cta .mfg-label, .mfg .mfg-calc-out .mfg-label, .mfg .mfg-timeline b { color: var(--orange); }
.mfg .mfg-plan .mfg-label { color: var(--g700); }
.mfg .mfg-chip small { color: #4b5563; }
.mfg .mfg-prose a { text-decoration: underline; text-underline-offset: 2px; }
.mfg .mfg-prose .mfg-fix a.btn, .mfg .mfg-prose .btn { text-decoration: none; }
