/* Shared visual identity for the complete public site. */
.commercial-shell {
  --cm-ink: #14253a;
  --cm-muted: #5e6775;
  --cm-paper: #faf8f1;
  --cm-line: #dddfe1;
  --cm-purple: #5140c5;
  --cm-green: #2d6958;
  --cm-yellow: #ffe298;
  --navy: #14253a;
  --violet: #5140c5;
  --violet-dark: #3b2e9e;
  --yellow: #ffe298;
  --cream: #faf8f1;
  --paper: #fffdf8;
  --pink: #f4f0e8;
  --blue: #eeecf6;
  --mint: #edf4e9;
  --ink: #14253a;
  --muted: #5e6775;
  --line: #dddfe1;
  background: var(--cm-paper);
  color: var(--cm-ink);
}
.commercial-shell [hidden] { display: none !important; }
.commercial-shell .container { width: min(1180px, calc(100% - 64px)); }
.commercial-shell .cm-header { background: rgba(250,248,241,.96); border-bottom: 1px solid #e4e3dc; }
.commercial-shell .nav-shell { min-height: 82px; }
.commercial-shell .nav-links { gap: clamp(8px, 1vw, 15px); }
.commercial-shell .nav-links a { font-size: 12px; }
.commercial-shell .nav-pricing { border-radius: 8px; background: var(--cm-yellow); }
.commercial-shell .nav-access { padding: 10px 14px; border-color: #c2c8cb; border-radius: 8px; }
.commercial-shell .nav-mobile-cta { background: var(--cm-purple); border-radius: 8px; }
.commercial-shell .nav-toggle { min-width: 44px; min-height: 44px; }
.commercial-shell .brand-word { font-size: 16px; }
.commercial-shell .brand-symbol { width: 42px; height: 34px; }
.commercial-page { overflow: clip; }
.commercial-page svg { width: 22px; height: 22px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.commercial-page a, .cm-header a { text-underline-offset: 4px; }
.commercial-shell a:focus-visible, .commercial-page button:focus-visible, .commercial-page summary:focus-visible, .commercial-page [tabindex]:focus-visible { outline: 3px solid var(--cm-purple); outline-offset: 5px; }
.commercial-page .cm-eyebrow { margin: 0 0 20px; display: flex; align-items: center; gap: 10px; font-size: 10px; line-height: 1.6; font-weight: 800; letter-spacing: .13em; }
.cm-eyebrow > span { height: 7px; width: 7px; border-radius: 50%; background: var(--cm-purple); }
.cm-hero { padding: 80px 0 74px; }
.cm-hero-grid { display: grid; grid-template-columns: 1.07fr 1fr; align-items: center; gap: 74px; }
.cm-hero h1 { font-size: clamp(46px, 4.8vw, 67px); line-height: 1.08; font-weight: 800; letter-spacing: -.054em; margin: 0 0 27px; text-wrap: balance; }
.cm-hero h1 em { font-style: normal; color: var(--cm-purple); }
.cm-hero--niche h1 { font-size: clamp(44px, 4vw, 58px); }
.cm-hero .cm-lead { font-size: 17px; line-height: 1.8; color: var(--cm-muted); max-width: 540px; margin: 0 0 16px; }
.cm-audience { font-size: 13px; font-weight: 700; line-height: 1.7; max-width: 430px; margin: 0; }
.cm-actions { display: flex; align-items: flex-start; flex-direction: column; gap: 20px; margin: 30px 0 23px; }
.cm-button { min-height: 52px; padding: 14px 20px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; border-radius: 8px; border: 1px solid transparent; text-decoration: none; font-size: 13px; font-weight: 800; line-height: 1.5; transition: background .16s, box-shadow .16s, transform .16s; cursor: pointer; }
.cm-button svg { width: 18px; height: 18px; }
.cm-button--primary { background: var(--cm-purple); color: white; box-shadow: 0 5px 14px #33218817; }
.cm-button--primary:hover { background: #3b2e9e; box-shadow: 0 7px 19px #33218828; transform: translateY(-1px); }
.cm-button--outline { color: var(--cm-ink); border-color: #b3bbc2; background: transparent; }
.cm-button--outline:hover { background: white; border-color: var(--cm-ink); }
.cm-link { display: inline-flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 800; text-decoration: none; border-bottom: 1px solid #c0bdce; padding-bottom: 4px; }
.cm-link svg { width: 15px; height: 15px; }
.cm-link:hover { color: var(--cm-purple); }
.cm-hero-note { color: var(--cm-muted); font-size: 11px; line-height: 1.7; display: flex; gap: 7px; max-width: 450px; }
.cm-hero-note svg { height: 16px; width: 16px; margin-top: 2px; }
.cm-hero-visual { padding: 22px 22px 16px; border: 1px solid #dddbe7; border-radius: 20px; background: #eeecf6; position: relative; }
.cm-visual-topline { display: flex; align-items: center; gap: 6px; font-size: 8px; font-weight: 800; letter-spacing: .055em; margin: 0 0 19px; flex-wrap: wrap; }
.cm-status-dot { width: 6px; height: 6px; border-radius: 50%; background: #378566; flex: 0 0 auto; }
.cm-example { margin-left: auto; font-size: 9px; font-weight: 500; color: var(--cm-muted); letter-spacing: 0; }
.cm-mini-chat { background: #fff; border: 1px solid #dcdbe5; border-radius: 10px; padding: 14px; display: flex; gap: 12px; align-items: center; margin: 0 17px; box-shadow: 0 3px 10px #18263404; }
.cm-avatar { width: 37px; height: 37px; border-radius: 50%; background: #efe8dc; display: grid; place-items: center; font-size: 11px; font-weight: 800; flex: 0 0 auto; color: #5b4832; }
.cm-avatar--client { background: #e0e8e4; color: #285f4e; }
.cm-mini-chat > div > span { color: var(--cm-muted); font-size: 8px; font-weight: 800; letter-spacing: .075em; }
.cm-mini-chat p { margin: 3px 0 0; font-size: 12px; line-height: 1.6; }
.cm-connector { display: flex; align-items: center; flex-direction: column; margin: 0; color: #656081; }
.cm-connector > span { width: 1px; height: 12px; background: #b2aacd; }
.cm-connector > div { display: flex; gap: 7px; align-items: center; font-size: 9px; font-weight: 700; }
.cm-connector svg { width: 13px; height: 13px; }
.cm-brief { background: #fff; border: 1px solid #d8dfe0; border-radius: 14px; padding: 24px; box-shadow: 0 10px 26px #14253a09; }
.cm-brief__eyebrow { color: var(--cm-muted); display: flex; align-items: center; gap: 6px; font-size: 9px; letter-spacing: .06em; font-weight: 800; }
.cm-brief__eyebrow svg { width: 16px; height: 16px; color: var(--cm-purple); }
.cm-brief__time { margin-left: auto; font-size: 10px; letter-spacing: 0; font-weight: 500; }
.cm-brief h3 { font-size: 23px; line-height: 1.28; letter-spacing: -.035em; margin: 16px 0 20px; }
.cm-contact { display: flex; gap: 10px; align-items: center; margin-bottom: 19px; }
.cm-contact > div { display: grid; gap: 3px; }
.cm-contact strong { font-size: 12px; }
.cm-contact > div > span { color: var(--cm-muted); font-size: 9px; line-height: 1.5; }
.cm-tag { font-size: 9px; font-weight: 700; border-radius: 5px; padding: 5px 7px; white-space: nowrap; }
.cm-tag--green { background: #e9f3ec; color: #326047; margin-left: auto; }
.cm-brief__facts { margin: 0; }
.cm-brief__facts > div { display: grid; grid-template-columns: .82fr 1fr; gap: 12px; border-top: 1px solid #ebedf0; padding: 10px 0; }
.cm-brief__facts dt { font-size: 10px; line-height: 1.6; color: var(--cm-muted); }
.cm-brief__facts dd { margin: 0; font-size: 11px; font-weight: 600; line-height: 1.6; }
.cm-question { background: #f7f7fb; border-left: 2px solid #bcb3f0; padding: 11px 13px; border-radius: 0 5px 5px 0; margin-top: 8px; }
.cm-question > span { font-size: 8px; font-weight: 800; letter-spacing: .05em; color: #655893; }
.cm-question p { font-size: 11px; line-height: 1.6; margin: 4px 0 0; }
.cm-brief__footer { display: flex; align-items: center; gap: 6px; color: var(--cm-muted); font-size: 10px; margin-top: 16px; }
.cm-brief__footer svg { height: 14px; width: 14px; }
.cm-brief--small { padding: 18px 20px; }
.cm-brief--small h3 { font-size: 21px; margin: 12px 0 17px; }
.cm-brief--small .cm-brief__facts > div { padding: 8px 0; }
.cm-brief--small .cm-contact { margin-bottom: 13px; }
.cm-visual-note { font-size: 9px; text-align: center; line-height: 1.6; color: #686476; margin: 12px 4px 0; }
.cm-flow-strip { border-top: 1px solid #dfded8; border-bottom: 1px solid #dfded8; background: #f2f0e9; }
.cm-flow-strip > .container { display: flex; gap: 36px; justify-content: space-between; align-items: center; padding-top: 25px; padding-bottom: 25px; }
.cm-flow-strip p { margin: 0; font-size: 12px; line-height: 1.7; color: var(--cm-muted); }
.cm-flow-strip strong { color: var(--cm-ink); font-weight: 700; }
.cm-flow-strip ol { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; gap: 30px; }
.cm-flow-strip li { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; }
.cm-flow-strip svg { width: 18px; height: 18px; color: #747886; }
.cm-section { padding: 95px 0; }
.cm-heading { max-width: 700px; margin-bottom: 42px; }
.commercial-page h2 { font-size: clamp(30px,3.4vw,43px); line-height: 1.18; letter-spacing: -.043em; margin: 0; font-weight: 800; text-wrap: pretty; }
.cm-heading p:not(.cm-eyebrow), .cm-section-lead { font-size: 15px; line-height: 1.85; color: var(--cm-muted); margin: 23px 0 0; }
.cm-heading--split { display: grid; grid-template-columns: 1.3fr 1fr; gap: 90px; max-width: none; align-items: end; }
.cm-heading--split > p { padding-bottom: 3px; margin: 0 !important; }
.cm-value-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.cm-value-card { padding: 28px; background: white; border: 1px solid var(--cm-line); border-radius: 12px; position: relative; }
.cm-icon-box { display: grid; place-items: center; height: 42px; width: 42px; background: #eeebf9; color: var(--cm-purple); border-radius: 10px; }
.cm-card-number { position: absolute; right: 25px; top: 32px; font-size: 11px; color: #838795; font-weight: 600; }
.cm-value-card h3 { font-size: 19px; letter-spacing: -.035em; line-height: 1.35; margin: 24px 0 12px; max-width: 250px; }
.cm-value-card p { font-size: 13px; line-height: 1.85; color: var(--cm-muted); margin: 0; }
.cm-section-note { font-size: 10px; color: var(--cm-muted); margin: 18px 0 0; line-height: 1.7; }
.cm-rule-note { display: flex; gap: 14px; padding: 21px; border-left: 3px solid var(--cm-purple); background: #efedf6; margin-top: 32px; border-radius: 0 8px 8px 0; }
.cm-rule-note svg { margin-top: 2px; }
.cm-rule-note p { margin: 0; font-size: 13px; line-height: 1.8; }
.cm-rule-note strong { display: block; }
.cm-demo-section { background: #eeedf3; border-block: 1px solid #dedde5; position: relative; }
.cm-anchor { position: absolute; top: 0; }
.cm-demo-section .cm-heading { max-width: 690px; }
.cm-demo-section .cm-heading > p:not(.cm-eyebrow) { font-size: 14px; }
.cm-demo-section .cm-heading strong { font-weight: 500; }
.cm-demo { border: 1px solid #d7d7e0; border-radius: 14px; overflow: hidden; background: var(--cm-paper); }
.cm-tabs { display: flex; border-bottom: 1px solid #d7d7e0; padding: 7px; background: #f9f9fc; gap: 8px; }
.cm-tabs button { display: flex; align-items: center; gap: 9px; padding: 14px 16px; border: 0; border-radius: 7px; flex: 1 1 0; background: transparent; cursor: pointer; color: #737788; font-size: 11px; font-weight: 600; }
.cm-tabs button span { font-size: 12px; font-weight: 800; }
.cm-tabs button[aria-selected=true] { background: var(--cm-ink); color: white; }
.cm-tabs button:hover:not([aria-selected=true]) { background: #eae8f2; color: var(--cm-ink); }
.cm-demo-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 54px; padding: 38px; min-height: 582px; }
.cm-demo-copy { display: flex; flex-direction: column; padding: 15px 0; }
.cm-kicker { font-size: 9px; font-weight: 800; color: #6f628f; letter-spacing: .1em; line-height: 1.7; }
.cm-demo-copy h3 { font-size: 29px; line-height: 1.23; letter-spacing: -.035em; margin: 17px 0; max-width: 370px; }
.cm-demo-copy > p { font-size: 13px; line-height: 1.85; color: var(--cm-muted); margin: 0 0 15px; }
.cm-checks { padding: 0; margin: 20px 0; list-style: none; display: grid; gap: 14px; }
.cm-checks li { display: flex; align-items: flex-start; gap: 9px; font-size: 12px; line-height: 1.7; }
.cm-checks svg { width: 15px; height: 15px; margin-top: 3px; color: var(--cm-green); }
.cm-demo-result { display: flex; align-items: center; gap: 11px; margin-top: auto; background: #e9eeea; border: 1px solid #d6e0d7; padding: 15px; border-radius: 8px; }
.cm-demo-result svg { color: var(--cm-green); }
.cm-demo-result > div { display: grid; gap: 4px; }
.cm-demo-result strong { font-size: 12px; }
.cm-demo-result span { font-size: 10px; color: #5c6b61; line-height: 1.6; }
.cm-chat { background: #e9eeeb; border: 1px solid #d8ddda; border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; }
.cm-chat__head { padding: 14px 16px; display: flex; align-items: center; gap: 10px; background: #fdfefd; border-bottom: 1px solid #dae2dc; }
.cm-avatar--assistant { background: #e9e6fa; color: var(--cm-purple); }
.cm-chat__head > div { display: grid; gap: 3px; }
.cm-chat__head strong { font-size: 12px; }
.cm-chat__head > div > span { font-size: 9px; color: var(--cm-muted); }
.cm-chat__head > .cm-status-dot { margin-left: auto; }
.cm-chat__messages { display: flex; flex-direction: column; gap: 10px; padding: 16px; flex: 1; }
.cm-bubble { border-radius: 9px; max-width: 93%; padding: 10px 12px; border: 1px solid #d8e1da; box-shadow: 0 1px 2px #17351e03; }
.cm-bubble--assistant { align-self: flex-start; background: white; border-top-left-radius: 2px; }
.cm-bubble--human { align-self: flex-start; background: #f6f0ff; border-color: #dfd1f0; border-top-left-radius: 2px; }
.cm-bubble--client { align-self: flex-end; background: #dcebdd; border-color: #c8ddcc; border-top-right-radius: 2px; }
.cm-bubble small { font-size: 7px; font-weight: 800; letter-spacing: .07em; color: #66766c; }
.cm-bubble p { font-size: 11px; line-height: 1.75; margin: 4px 0 0; }
.cm-vertical-demo__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.cm-vertical-demo .cm-chat { max-width: 560px; width: 100%; }
.cm-vertical-demo .cm-chat__head strong { font-size: 12px; }
.cm-vertical-demo .cm-bubble { max-width: 82%; }
.cm-chat-system { display: flex; align-items: center; justify-content: center; gap: 5px; color: #5b695f; font-size: 9px; text-align: center; }
.cm-chat-system svg { width: 13px; height: 13px; }
.cm-chat__end { font-size: 8px; text-align: center; color: #69796e; padding: 11px; border-top: 1px solid #d7e1d9; }
.cm-under-demo { display: flex; justify-content: space-between; gap: 22px; align-items: center; margin-top: 27px; }
.cm-under-demo p { font-size: 12px; font-weight: 600; }
.cm-under-demo .cm-button { font-size: 12px; min-height: 47px; }
.cm-summary-section { background: var(--cm-ink); color: white; }
.cm-summary-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 110px; align-items: center; }
.cm-summary-section .cm-eyebrow { color: var(--cm-yellow); }
.cm-summary-section .cm-section-lead { color: #c1cad4; font-size: 14px; max-width: 500px; }
.cm-summary-section .cm-checks { margin: 26px 0; }
.cm-summary-section .cm-checks li { color: #e4e9ef; font-size: 12px; }
.cm-summary-section .cm-checks svg { color: #bcb2ff; }
.cm-small-note { font-size: 11px; line-height: 1.85; color: var(--cm-muted); }
.cm-summary-section .cm-small-note { color: #aebac8; max-width: 490px; }
.cm-summary-section .cm-brief { color: var(--cm-ink); box-shadow: 14px 14px 0 #ffffff0c; }
.cm-summary-section .cm-brief h3 { font-size: 26px; }
.cm-xray-section { background: #fff4d7; }
.cm-xray-top { display: flex; justify-content: space-between; align-items: center; gap: 60px; }
.cm-xray-top .cm-heading { max-width: 700px; }
.cm-xray-top h2 em { font-style: normal; color: #796017; }
.cm-days { padding: 25px 30px; width: 165px; border: 1px solid #d8c89c; border-radius: 12px; display: grid; text-align: center; justify-items: center; transform: rotate(4deg); background: #ffe8a8; }
.cm-days strong { font-size: 66px; line-height: 1; letter-spacing: -.05em; }
.cm-days > span { font-size: 10px; line-height: 1.65; font-weight: 800; letter-spacing: .08em; margin: 9px 0 13px; }
.cm-days b { font-size: 10px; background: var(--cm-ink); color: #fff; border-radius: 5px; padding: 5px 12px; }
.cm-xray-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.cm-report { border-radius: 12px; background: #fffcf5; border: 1px solid #e0d4b5; padding: 25px; }
.cm-report header { display: flex; align-items: center; gap: 11px; margin-bottom: 15px; }
.cm-report header svg { width: 27px; height: 27px; color: #806f49; }
.cm-report header > div { display: grid; gap: 4px; }
.cm-report header strong { font-size: 15px; }
.cm-report header span { font-size: 10px; color: #706d66; }
.cm-report > div { border-top: 1px solid #e7e0d3; padding: 15px 0; display: flex; gap: 11px; align-items: center; }
.cm-report-dot { width: 8px; height: 8px; background: #bf9850; border-radius: 50%; }
.cm-report p { margin: 0; display: grid; gap: 6px; }
.cm-report p strong { font-size: 12px; }
.cm-report p span { font-size: 11px; color: var(--cm-muted); line-height: 1.6; }
.cm-report footer { border-top: 1px solid #e7e0d3; color: #796b51; font-size: 10px; line-height: 1.65; padding-top: 14px; }
.cm-xray-copy h3 { font-size: 24px; line-height: 1.35; letter-spacing: -.03em; margin: 0 0 15px; }
.cm-xray-copy > p:not(.cm-small-note) { font-size: 13px; line-height: 1.85; color: #696450; }
.cm-xray-copy .cm-small-note { margin-bottom: 0; }
.cm-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; margin: 0; padding: 0; list-style: none; }
.cm-steps li { border-top: 1px solid #c5c9d2; padding: 22px 0 0; }
.cm-steps li > span { font-size: 12px; font-weight: 800; color: var(--cm-purple); }
.cm-steps h3 { font-size: 21px; letter-spacing: -.03em; margin: 20px 0 10px; }
.cm-steps p { font-size: 12px; line-height: 1.85; margin: 0; color: var(--cm-muted); }
.cm-boundary { display: flex; align-items: flex-start; gap: 16px; padding: 22px 26px; border: 1px solid #dce0df; border-radius: 10px; margin-top: 38px; background: #f1f3ee; }
.cm-boundary svg { color: var(--cm-green); }
.cm-boundary strong { font-size: 13px; }
.cm-boundary p { font-size: 12px; line-height: 1.8; margin: 5px 0 0; color: var(--cm-muted); }
.cm-fit-section { background: #f0eee9; border-block: 1px solid #deddd5; }
.cm-fit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.cm-fit-grid h2 { max-width: 410px; }
.cm-fit-grid .cm-section-lead { font-size: 14px; }
.cm-text-link { display: inline-flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 800; margin-top: 24px; color: var(--cm-purple); }
.cm-text-link svg { width: 18px; height: 18px; }
.cm-fit-list { display: grid; gap: 0; }
.cm-fit-list > div { display: flex; gap: 17px; padding: 20px 0; border-bottom: 1px solid #d5d6d2; }
.cm-fit-list > div:last-child { border-bottom: 0; }
.cm-fit-list svg { width: 23px; height: 23px; color: var(--cm-purple); margin-top: 3px; }
.cm-fit-list p { display: grid; gap: 5px; margin: 0; }
.cm-fit-list strong { font-size: 14px; }
.cm-fit-list p > span { font-size: 12px; line-height: 1.8; color: var(--cm-muted); }
.cm-use-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 34px; }
.cm-use-grid article { background: #fff; border: 1px solid #deddd5; border-radius: 12px; padding: 25px; }
.cm-use-grid article > span { color: var(--cm-purple); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.cm-use-grid h3 { font-size: 21px; line-height: 1.25; margin: 15px 0 10px; }
.cm-use-grid p { color: var(--cm-muted); font-size: 12px; line-height: 1.8; margin: 0; }
.cm-fit-section .cm-section-note { margin-top: 22px; }
.cm-fit-section .cm-text-link + .cm-text-link { margin-left: 24px; }
.cm-reminders { padding: 58px 0 0; }
.cm-reminders-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 25px; padding: 30px; border: 1px solid #dce0db; border-radius: 12px; background: #f1f6ef; }
.cm-reminders-icon { height: 52px; width: 52px; display: grid; place-items: center; background: #e3edde; border-radius: 12px; color: var(--cm-green); }
.cm-reminders-card .cm-eyebrow { font-size: 8px; color: #506b56; margin-bottom: 10px; }
.cm-reminders-card h2 { font-size: 23px; }
.cm-reminders-card p:not(.cm-eyebrow) { font-size: 12px; line-height: 1.8; color: var(--cm-muted); margin-bottom: 0; max-width: 640px; }
.cm-reminders-card .cm-button { font-size: 12px; white-space: nowrap; }
.cm-faq-grid { display: grid; grid-template-columns: .85fr 1.3fr; gap: 100px; }
.cm-faq-grid > div:first-child p:not(.cm-eyebrow) { font-size: 14px; color: var(--cm-muted); line-height: 1.8; }
.cm-faq-grid .cm-text-link { font-size: 11px; line-height: 1.8; }
.cm-faq-list details { border-top: 1px solid #d6d8dc; }
.cm-faq-list details:last-child { border-bottom: 1px solid #d6d8dc; }
.cm-faq-list summary { cursor: pointer; display: flex; gap: 20px; justify-content: space-between; padding: 22px 0; align-items: flex-start; font-size: 13px; font-weight: 800; line-height: 1.6; list-style: none; }
.cm-faq-list summary::-webkit-details-marker { display: none; }
.cm-faq-list summary > span { font-size: 23px; font-weight: 400; color: #7c7990; line-height: 1; flex: 0 0 auto; }
.cm-faq-list details[open] summary > span { transform: rotate(45deg); }
.cm-faq-list details p { margin: -5px 0 22px; font-size: 12px; line-height: 1.9; color: var(--cm-muted); }
.cm-closing { padding: 83px 0 78px; background: var(--cm-ink); color: white; text-align: center; position: relative; }
.cm-closing-label { display: block; font-size: 9px; letter-spacing: .11em; font-weight: 800; color: #cac5f1; margin-bottom: 24px; }
.cm-closing h2 { font-size: clamp(32px,4vw,51px); }
.cm-closing p { font-size: 14px; line-height: 1.85; color: #c0c9d4; margin: 22px 0 28px; }
.cm-closing .cm-button--primary { background: var(--cm-yellow); color: var(--cm-ink); }
.cm-closing .cm-button--primary:hover { background: #ffd575; }
.cm-closing-note { display: block; font-size: 10px; line-height: 1.8; color: #aeb7c8; margin-top: 20px; }
.commercial-shell .site-footer { background: #102032; padding-top: 60px; }
.commercial-shell .footer-grid { gap: 42px; }
.commercial-shell .footer-col p { font-size: 12px; line-height: 1.85; color: #b5c2d1; }
.commercial-shell .footer-col a:not(.footer-brand) { font-size: 11px; line-height: 1.7; color: #ccd5de; }
.commercial-shell .footer-col h2 { color: #f2f3f5; font-size: 12px; }
.commercial-shell .footer-bottom { font-size: 10px; border-color: #ffffff1a; color: #b5c1cc; }
@media (min-width: 1400px) { .cm-hero { padding-top: 95px; padding-bottom: 90px; } }
@media (max-width: 1100px) {
  .commercial-shell .container { width: calc(100% - 48px); }
  .commercial-shell .nav-links { gap: 16px; }
  .commercial-shell .nav-links a { font-size: 11px; }
  .cm-hero-grid { gap: 38px; }
  .cm-hero h1 { font-size: 54px; }
  .cm-hero--niche h1 { font-size: 47px; }
  .cm-hero .cm-lead { font-size: 15px; }
  .cm-hero-visual { padding: 17px; }
  .cm-visual-topline { font-size: 7px; }
  .cm-example { font-size: 8px; }
  .cm-mini-chat { margin-inline: 2px; }
  .cm-flow-strip ol { gap: 20px; }
  .cm-heading--split, .cm-summary-grid, .cm-fit-grid, .cm-faq-grid { gap: 55px; }
  .cm-demo-panel { padding: 30px; gap: 32px; }
  .cm-value-card { padding: 22px; }
  .cm-reminders-card { gap: 20px; padding: 24px; }
  .cm-reminders-card .cm-button { font-size: 11px; padding-inline: 14px; }
}
@media (max-width: 900px) {
  .commercial-shell .nav-shell { min-height: 74px; }
  .commercial-shell .mobile-nav-actions { display: flex; }
  .commercial-shell .nav-toggle { display: block; }
  .commercial-shell .nav-links { display: none; position: absolute; inset: 74px 0 auto; padding: 22px 24px; background: var(--cm-paper); border-bottom: 1px solid #d7d9df; box-shadow: 0 15px 25px #14253a08; }
  .commercial-shell .nav-links.is-open { display: flex; align-items: stretch; flex-direction: column; gap: 3px; }
  .commercial-shell .nav-links a { padding: 14px; font-size: 14px; }
  .commercial-shell .nav-links .nav-access { margin-top: 5px; text-align: center; }
  .commercial-shell .nav-links .nav-cta { text-align: center; margin-top: 8px; }
  .cm-hero { padding: 55px 0 58px; }
  .cm-hero-grid { grid-template-columns: 1fr 1fr; gap: 26px; }
  .cm-hero h1 { font-size: 44px; }
  .cm-hero--niche h1 { font-size: 40px; }
  .cm-hero .cm-eyebrow { font-size: 9px; }
  .cm-hero .cm-lead { font-size: 14px; }
  .cm-button { font-size: 12px; padding-inline: 16px; }
  .cm-brief--small { padding: 16px; }
  .cm-brief--small h3 { font-size: 20px; }
  .cm-brief--small .cm-contact { gap: 7px; flex-wrap: wrap; }
  .cm-brief--small .cm-avatar { width: 30px; height: 30px; font-size: 9px; }
  .cm-brief--small .cm-tag { font-size: 8px; }
  .cm-brief__facts > div { grid-template-columns: .8fr 1fr; }
  .cm-flow-strip > .container { flex-direction: column; gap: 17px; align-items: flex-start; }
  .cm-flow-strip p br { display: none; }
  .cm-flow-strip ol { justify-content: space-between; width: 100%; }
  .cm-section { padding: 74px 0; }
  .cm-value-card h3 { font-size: 17px; }
  .cm-heading--split { gap: 30px; }
  .cm-demo-panel { padding: 25px; gap: 25px; }
  .cm-demo-copy h3 { font-size: 25px; }
  .cm-under-demo p { max-width: 320px; line-height: 1.8; }
  .cm-summary-grid { gap: 35px; }
  .cm-summary-section h2 { font-size: 33px; }
  .cm-xray-grid { gap: 35px; }
  .cm-steps { gap: 18px; }
  .cm-steps h3 { font-size: 19px; }
  .cm-fit-grid, .cm-faq-grid { gap: 45px; }
  .cm-reminders-card { grid-template-columns: auto 1fr; }
  .cm-reminders-card > .cm-button { grid-column: 2; justify-self: start; }
}
@media (max-width: 680px) {
  .cm-vertical-demo__grid { grid-template-columns: 1fr; gap: 26px; }
  .commercial-shell .container { width: calc(100% - 36px); }
  .commercial-shell .brand-word { font-size: 15px; }
  .commercial-shell .brand-symbol { width: 38px; height: 32px; }
  .commercial-shell .brand { gap: 8px; }
  .commercial-shell .nav-shell { gap: 10px; }
  .commercial-shell .nav-mobile-cta { font-size: 10px; padding-inline: 11px; min-height: 37px; }
  .cm-hero { padding: 41px 0 40px; }
  .cm-hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .cm-hero h1 { font-size: clamp(39px,9.6vw,56px); line-height: 1.1; max-width: 540px; margin-bottom: 23px; }
  .cm-hero--niche h1 { font-size: clamp(35px,8.6vw,49px); }
  .cm-hero .cm-lead { font-size: 15px; line-height: 1.8; }
  .cm-hero .cm-eyebrow { font-size: 9px; margin-bottom: 20px; }
  .cm-audience { font-size: 12px; }
  .cm-actions { gap: 18px; margin: 25px 0 20px; }
  .cm-actions > .cm-button { width: 100%; }
  .cm-button { min-height: 52px; }
  .cm-hero-note { font-size: 10px; }
  .cm-hero-visual { max-width: 490px; justify-self: center; width: 100%; padding: 16px; }
  .cm-visual-topline { font-size: 7px; gap: 5px; margin-bottom: 15px; }
  .cm-brief--small .cm-contact { flex-wrap: nowrap; }
  .cm-brief--small h3 { font-size: 23px; }
  .cm-brief--small .cm-tag { font-size: 9px; }
  .cm-brief--small .cm-avatar { width: 34px; height: 34px; font-size: 10px; }
  .cm-brief__facts dt { font-size: 10px; }
  .cm-brief__facts dd { font-size: 11px; }
  .cm-question p { font-size: 11px; }
  .cm-flow-strip > .container { padding-block: 21px; }
  .cm-flow-strip p { font-size: 11px; }
  .cm-flow-strip ol { gap: 12px; flex-wrap: wrap; justify-content: flex-start; }
  .cm-flow-strip li { font-size: 10px; gap: 5px; padding-right: 4px; }
  .cm-flow-strip svg { width: 16px; height: 16px; }
  .cm-section { padding: 59px 0; }
  .commercial-page h2 { font-size: 31px; line-height: 1.22; letter-spacing: -.043em; }
  .commercial-page .cm-eyebrow { font-size: 9px; margin-bottom: 16px; }
  .cm-heading { margin-bottom: 30px; }
  .cm-heading--split { grid-template-columns: 1fr; gap: 22px; }
  .cm-heading p:not(.cm-eyebrow), .cm-section-lead { font-size: 14px; line-height: 1.8; }
  .cm-heading--split h2 br { display: none; }
  .cm-value-grid { grid-template-columns: 1fr; gap: 12px; }
  .cm-value-card { padding: 24px; }
  .cm-value-card h3 { font-size: 21px; margin: 18px 0 10px; max-width: none; }
  .cm-value-card p { font-size: 13px; }
  .cm-card-number { top: 31px; }
  .cm-section-note { font-size: 10px; }
  .cm-tabs { gap: 3px; padding: 5px; }
  .cm-tabs button { justify-content: center; gap: 4px; padding: 13px 5px; font-size: 9px; flex-direction: column; }
  .cm-tabs button span { font-size: 10px; line-height: 1.4; }
  .cm-demo-panel { grid-template-columns: 1fr; padding: 22px 16px; gap: 25px; min-height: unset; }
  .cm-demo-copy { padding: 0; }
  .cm-demo-copy h3 { font-size: 27px; }
  .cm-demo-copy > p { font-size: 13px; }
  .cm-demo-result { margin-top: 7px; }
  .cm-chat__head { padding: 13px; }
  .cm-chat__messages { padding: 14px; gap: 12px; }
  .cm-bubble p { font-size: 12px; line-height: 1.75; }
  .cm-bubble small { font-size: 8px; }
  .cm-chat__end { font-size: 9px; }
  .cm-under-demo { flex-direction: column; align-items: flex-start; gap: 10px; }
  .cm-under-demo p { max-width: none; margin: 0; font-size: 12px; }
  .cm-under-demo .cm-button { width: 100%; }
  .cm-summary-grid, .cm-xray-grid, .cm-fit-grid, .cm-faq-grid { grid-template-columns: 1fr; gap: 34px; }
  .cm-summary-section h2 { font-size: 32px; }
  .cm-summary-section .cm-brief { padding: 22px; }
  .cm-summary-section .cm-brief h3 { font-size: 25px; }
  .cm-summary-section .cm-small-note { font-size: 11px; }
  .cm-xray-top { gap: 15px; align-items: flex-start; position: relative; }
  .cm-xray-top .cm-heading { max-width: none; }
  .cm-xray-top h2 { max-width: 275px; }
  .cm-days { position: absolute; top: 41px; right: 0; width: 69px; padding: 10px 5px; border-radius: 8px; }
  .cm-days strong { font-size: 34px; }
  .cm-days > span { font-size: 6px; margin: 4px 0 7px; }
  .cm-days b { font-size: 6px; padding: 3px 7px; }
  .cm-xray-top .cm-heading > p:not(.cm-eyebrow) { margin-top: 25px; }
  .cm-report { padding: 22px; }
  .cm-xray-copy h3 { font-size: 23px; }
  .cm-xray-copy .cm-button { width: 100%; }
  .cm-steps { grid-template-columns: 1fr 1fr; gap: 29px 23px; }
  .cm-steps h3 { font-size: 21px; margin: 14px 0 9px; }
  .cm-steps p { font-size: 12px; }
  .cm-boundary { padding: 19px; gap: 12px; margin-top: 29px; }
  .cm-boundary p { font-size: 11px; }
  .cm-fit-list > div { padding: 17px 0; }
  .cm-use-grid { grid-template-columns: 1fr; gap: 12px; }
  .cm-use-grid article { padding: 21px; }
  .cm-fit-section .cm-text-link + .cm-text-link { margin-left: 0; display: flex; }
  .cm-fit-grid h2 { max-width: 360px; }
  .cm-fit-grid .cm-text-link { font-size: 12px; }
  .cm-reminders { padding: 35px 0 0; }
  .cm-reminders-card { display: flex; flex-direction: column; align-items: flex-start; gap: 19px; padding: 23px; }
  .cm-reminders-card .cm-eyebrow { font-size: 8px; }
  .cm-reminders-card h2 { font-size: 25px; }
  .cm-reminders-card > .cm-button { width: 100%; }
  .cm-faq-grid { gap: 30px; }
  .cm-faq-grid .cm-text-link { margin-top: 6px; font-size: 11px; }
  .cm-faq-list summary { font-size: 13px; padding-block: 20px; }
  .cm-faq-list details p { font-size: 12px; }
  .cm-closing { padding: 59px 0; }
  .cm-closing-label { font-size: 8px; line-height: 1.8; letter-spacing: .07em; }
  .cm-closing h2 { font-size: 32px; }
  .cm-closing p { font-size: 13px; }
  .cm-closing p br { display: none; }
  .cm-closing .cm-button { width: 100%; font-size: 12px; gap: 9px; }
  .cm-closing-note { font-size: 10px; }
  .commercial-shell .site-footer { padding-top: 44px; }
  .commercial-shell .footer-grid { gap: 28px; }
  .commercial-shell .footer-col a:not(.footer-brand) { font-size: 12px; }
}
@media (max-width: 380px) {
  .commercial-shell .container { width: calc(100% - 28px); }
  .commercial-shell .brand-word { font-size: 13px; }
  .commercial-shell .brand-symbol { width: 32px; height: 29px; }
  .commercial-shell .brand-symbol::after { left: 10px; top: 8px; }
  .cm-hero h1 { font-size: 39px; }
  .cm-hero--niche h1 { font-size: 35px; }
  .cm-visual-topline .cm-example { margin-left: 11px; }
  .cm-brief--small { padding: 14px; }
  .cm-contact { gap: 7px; }
  .cm-contact > div > span { font-size: 8px; }
  .cm-contact strong { font-size: 11px; }
  .cm-tag { font-size: 8px; padding: 5px; }
  .cm-days { position: static; align-self: flex-start; margin-top: 34px; display: none; }
  .cm-xray-top h2 { max-width: none; }
  .cm-tabs button span { font-size: 9px; }
  .cm-reminders-card .cm-button { padding-inline: 10px; }
  .cm-closing .cm-button { padding-inline: 10px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .commercial-page *:not(.wa-phone, .wa-phone *), .commercial-page *:not(.wa-phone *)::before, .commercial-page *:not(.wa-phone *)::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* The two offers share one visual and navigational frame. */
.cm-products { padding: 86px 0 0; background: #fffdf8; }
.cm-products > .container > .cm-heading { max-width: 790px; margin-bottom: 36px; }
.cm-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.cm-product-card { display: flex; flex-direction: column; align-items: flex-start; padding: 32px; border: 1px solid #d8dfe0; border-radius: 16px; background: #fff; box-shadow: 0 10px 26px #14253a09; }
.cm-product-card--reminders { background: #f1f6ef; }
.cm-product-icon { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 23px; border-radius: 12px; background: #eeecf6; color: var(--cm-purple); }
.cm-product-card--reminders .cm-product-icon { background: #e3edde; color: var(--cm-green); }
.cm-product-card .cm-eyebrow { margin-bottom: 9px; color: var(--cm-purple); }
.cm-product-card h3 { margin: 0 0 15px; font-size: clamp(23px, 2.3vw, 32px); line-height: 1.2; letter-spacing: -.035em; }
.cm-product-card > p:not(.cm-eyebrow) { margin: 0 0 17px; color: var(--cm-muted); font-size: 13px; line-height: 1.75; }
.cm-product-card .cm-product-price { color: var(--cm-ink) !important; font-size: 13px !important; }
.cm-product-price strong { display: block; font-size: 23px; letter-spacing: -.035em; }
.cm-product-card .cm-product-note { font-size: 12px !important; }
.cm-product-card .cm-product-phase { padding: 15px 16px; border-left: 3px solid var(--cm-purple); background: #f7f6fc; color: var(--cm-ink) !important; }
.cm-product-card .cm-button { margin-top: auto; }
.cm-products > .cm-xray-section { margin-top: 80px; }
.cm-products > #fases { border-bottom: 1px solid var(--cm-line); }

/* Legacy content pages use the home palette, typography and card shape. */
.commercial-shell .page-hero { padding: 72px 0 80px; background: var(--cm-paper); }
.commercial-shell .page-hero::after { background: #eeecf6; opacity: .9; }
.commercial-shell .page-hero h1, .commercial-shell .reminder-hero__copy h1 { font-size: clamp(40px, 5vw, 66px); line-height: 1.08; font-weight: 800; letter-spacing: -.054em; }
.commercial-shell .page-hero h1 em { color: var(--cm-purple); font-weight: 800; }
.commercial-shell .page-hero__lead { color: var(--cm-muted); font-size: 16px; }
.commercial-shell .page-hero__card { min-height: 340px; border: 1px solid #dddbe7; border-radius: 20px; background: #eeecf6; box-shadow: none; color: var(--cm-ink); }
.commercial-shell .page-hero__card strong { font: 800 clamp(25px, 2.7vw, 37px)/1.2 Manrope, system-ui, sans-serif; letter-spacing: -.035em; }
.commercial-shell .page-hero__card ul { border-top: 1px solid #ccc8d9; }
.commercial-shell .section--pink, .commercial-shell .section--soft { background: #f4f0e8; }
.commercial-shell .section--blue { background: #eeecf6; }
.commercial-shell .section--mint { background: #edf4e9; }
.commercial-shell .section--yellow { background: #fff4d7; }
.commercial-shell .section--coral, .commercial-shell .final-cta { background: #fff4d7; }
.commercial-shell .feature-card, .commercial-shell .feature-card:nth-child(2), .commercial-shell .feature-card:nth-child(3) { min-height: 260px; border: 1px solid #dddfe1; border-radius: 12px; background: #fff; }
.commercial-shell .feature-card h3 { margin-top: 42px; }
.commercial-shell .feature-card p { color: var(--cm-muted); }
.commercial-shell .flow-track { border: 1px solid #dddfe1; border-radius: 12px; overflow: hidden; }
.commercial-shell .flow-step, .commercial-shell .flow-step:last-child { min-height: 220px; border-color: #dddfe1; border-width: 1px; background: #fff; }
.commercial-shell .flow-step:last-child { background: #f1f6ef; }
.commercial-shell .flow-step h3 { margin-top: 38px; }
.commercial-shell .comparison-table, .commercial-shell .followup-steps, .commercial-shell .support-link { border: 1px solid #dddfe1; border-radius: 12px; box-shadow: none; }
.commercial-shell .support-link:nth-child(2), .commercial-shell .support-link:nth-child(3) { background: #fff; }
.commercial-shell .btn { border-radius: 8px; }
.commercial-shell .btn-primary { background: var(--cm-purple); }
.commercial-shell .btn-dark { background: var(--cm-ink); }
.commercial-shell .site-footer { background: #102032; }

@media (max-width: 900px) {
  .cm-product-grid { grid-template-columns: 1fr; }
  .cm-products { padding-top: 70px; }
  .commercial-shell .page-hero__grid { gap: 32px; }
}
@media (max-width: 680px) {
  .cm-products { padding-top: 54px; }
  .cm-product-card { padding: 24px; }
  .cm-products > .cm-xray-section { margin-top: 54px; }
  .commercial-shell .page-hero { padding: 45px 0 55px; }
  .commercial-shell .page-hero h1 { font-size: clamp(36px, 9vw, 51px); }
  .commercial-shell .page-hero__card { min-height: 270px; }
  .commercial-shell .flow-step { min-height: 170px; }
}
@media print {
  .cm-header, .site-footer, .cm-actions, .cm-under-demo, .cm-closing, .cm-tabs, .cm-button { display: none !important; }
  .commercial-shell { background: white; }
  .cm-section { padding: 28px 0; }
  .cm-demo-panel[hidden] { display: block !important; }
  .cm-summary-section { color: #14253a; background: white; }
  .cm-summary-section p, .cm-summary-section li { color: #14253a !important; }
}

/* Personalized AI assistant: two entry paths, guarantee and segment cards. */
.cm-actions--paths { margin-bottom: 18px; }
.cm-actions--paths .cm-button { width: 100%; max-width: 440px; justify-content: space-between; }
.cm-hero-copy > .cm-link { margin-bottom: 22px; }
.cm-paths { background: #fffdf8; border-bottom: 1px solid var(--cm-line); }
.cm-paths .cm-heading { max-width: 780px; margin-bottom: 36px; }
.cm-path-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.cm-path-card { display: flex; flex-direction: column; align-items: flex-start; padding: 32px; border: 1px solid #e5d9ae; border-radius: 16px; background: #fff8e3; box-shadow: 0 10px 26px #14253a09; }
.cm-path-card--form { background: #f4f2fc; border-color: #d9d4f1; }
.cm-path-card .cm-product-icon { background: #ffe8a8; color: #6b5313; }
.cm-path-card--form .cm-product-icon { background: #e6e2f8; color: var(--cm-purple); }
.cm-path-card .cm-eyebrow { margin-bottom: 9px; color: var(--cm-ink); }
.cm-path-card h3 { margin: 0 0 14px; font-size: clamp(23px, 2.3vw, 30px); line-height: 1.2; letter-spacing: -.035em; }
.cm-path-card > p:not(.cm-eyebrow) { margin: 0 0 18px; color: var(--cm-muted); font-size: 13px; line-height: 1.75; }
.cm-path-card > p strong { color: var(--cm-ink); }
.cm-path-steps { list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 11px; }
.cm-path-steps li { display: flex; gap: 12px; align-items: flex-start; font-size: 13px; line-height: 1.65; }
.cm-path-steps li > span { flex: 0 0 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--cm-ink); color: #fff; font-size: 11px; font-weight: 800; }
.cm-path-card .cm-button { margin-top: auto; }
.cm-guarantee { display: flex; gap: 16px; align-items: flex-start; margin-top: 22px; padding: 22px 26px; border-radius: 12px; background: #e8f2ec; border: 1px solid #c7ddd0; }
.cm-guarantee > svg { flex: 0 0 26px; width: 26px; height: 26px; color: var(--cm-green); }
.cm-guarantee strong { font-size: 15px; }
.cm-guarantee p { margin: 6px 0 0; font-size: 12px; line-height: 1.8; color: var(--cm-muted); }
.cm-use-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #deddd5; border-radius: 12px; padding: 25px; text-decoration: none; color: inherit; transition: border-color .16s, box-shadow .16s, transform .16s; }
.cm-use-card:hover { border-color: var(--cm-purple); box-shadow: 0 8px 22px #14253a12; transform: translateY(-2px); }
.cm-use-card > span { color: var(--cm-purple); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.cm-use-card h3 { font-size: 21px; line-height: 1.25; margin: 15px 0 10px; }
.cm-use-card p { color: var(--cm-muted); font-size: 12px; line-height: 1.8; margin: 0 0 18px; }
.cm-use-card strong { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; font-size: 12px; color: var(--cm-purple); }
.cm-use-card strong svg { width: 16px; height: 16px; }
.cm-closing-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.cm-closing .cm-button--outline { color: #fff; border-color: #ffffff66; }
.cm-closing .cm-button--outline:hover { background: #ffffff14; border-color: #fff; }
@media (max-width: 900px) {
  .cm-path-grid { grid-template-columns: 1fr; }
  .cm-value-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .cm-path-card { padding: 24px; }
  .cm-path-card .cm-button, .cm-actions--paths .cm-button { width: 100%; max-width: none; font-size: 12px; }
  .cm-guarantee { padding: 19px; gap: 12px; }
  .cm-value-grid { grid-template-columns: 1fr; }
  .cm-closing-actions { flex-direction: column; }
  .cm-closing-actions .cm-button { width: 100%; }
}
@media print { .cm-closing-actions, .cm-path-card .cm-button { display: none !important; } }

/* ---------- Hero: shorter heading, trust chips and phone visual ---------- */
.cm-hero-grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 64px; }
.cm-hero h1 { font-size: clamp(40px, 3.9vw, 56px); line-height: 1.07; }
.cm-hero--niche h1 { font-size: clamp(38px, 3.5vw, 50px); }
.cm-hero .cm-lead { max-width: 600px; }
.cm-trust { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.cm-trust li { display: flex; align-items: center; gap: 10px; padding: 10px 14px 10px 11px; border-radius: 12px; background: #fff; border: 1px solid #dfe5df; box-shadow: 0 4px 12px #14253a0a; }
.cm-trust li > svg { width: 30px; height: 30px; padding: 6px; border-radius: 9px; background: #e8f2ec; color: var(--cm-green); }
.cm-trust li:first-child > svg { background: #fff1c9; color: #6b5313; }
.cm-trust span { display: grid; gap: 1px; font-size: 12px; line-height: 1.45; color: var(--cm-muted); }
.cm-trust strong { font-size: 13px; color: var(--cm-ink); }
.cm-hero-phone { position: relative; justify-self: center; width: 100%; max-width: 360px; padding: 0 0 8px; }
.cm-hero-phone::before { content: ""; position: absolute; inset: 8% -18% 12%; border-radius: 50%; background: radial-gradient(closest-side, #d9d3f6, #eeecf600); z-index: 0; }
.cm-hero-phone > * { position: relative; z-index: 1; }
.cm-hero-phone__label { display: flex; align-items: center; justify-content: center; gap: 7px; margin-bottom: 12px; font-size: 11px; font-weight: 700; color: var(--cm-muted); }

/* ---------- WhatsApp phone frame (scripts/whatsapp-phone.mjs + assets/js/site.js) ---------- */
.wa-phone { --wa-green: #008069; --wa-accent: #00a884; margin: 0 auto; width: 100%; max-width: 340px; position: relative; font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.wa-phone svg { width: 20px; height: 20px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.wa-phone__screen { height: 610px; display: flex; flex-direction: column; overflow: hidden; border: 11px solid #0f1317; border-radius: 46px; background: #efeae2; box-shadow: 0 0 0 1.5px #3a4048, 0 34px 60px -22px #14253a66, 0 12px 24px -12px #14253a40; }
.wa-phone--compact .wa-phone__screen { height: 560px; }
.wa-phone__status { position: relative; display: flex; justify-content: space-between; align-items: center; padding: 9px 20px 5px; background: var(--wa-green); color: #fff; font-size: 12px; font-weight: 600; }
.wa-phone__island { position: absolute; left: 50%; top: 6px; width: 84px; height: 22px; transform: translateX(-50%); border-radius: 20px; background: #0f1317; }
.wa-phone__signal { display: flex; align-items: flex-end; gap: 2px; height: 11px; }
.wa-phone__signal i { width: 3px; border-radius: 1px; background: #fff; }
.wa-phone__signal i:nth-child(1) { height: 5px; }
.wa-phone__signal i:nth-child(2) { height: 8px; }
.wa-phone__signal i:nth-child(3) { height: 11px; }
.wa-phone__signal b { width: 20px; height: 10px; margin-left: 5px; border: 1.5px solid #fff; border-radius: 3px; background: linear-gradient(90deg, #fff 70%, transparent 70%) content-box; padding: 1px; }
.wa-phone__header { display: flex; align-items: center; gap: 9px; padding: 7px 12px 10px 6px; background: var(--wa-green); color: #fff; }
.wa-phone__header > svg { width: 19px; height: 19px; opacity: .95; }
.wa-phone__header > svg:first-child { width: 22px; height: 22px; }
.wa-phone__avatar { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border-radius: 50%; background: #d9fdd3; color: var(--wa-green); }
.wa-phone__avatar svg { width: 19px; height: 19px; }
.wa-phone__who { display: grid; min-width: 0; flex: 1; line-height: 1.25; }
.wa-phone__who strong { font-size: 13.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wa-phone__who span { font-size: 11.5px; opacity: .88; transition: opacity .2s; }
.wa-phone__who span.is-typing { font-style: italic; opacity: 1; color: #d9fdd3; }
.wa-phone__body { flex: 1; display: flex; flex-direction: column; gap: 5px; padding: 12px 10px 14px; overflow-y: auto; scrollbar-width: none; overscroll-behavior: contain; background-color: #efeae2; background-image: radial-gradient(#d8d2c6 1px, transparent 1.2px), radial-gradient(#e2dccf 1px, transparent 1.2px); background-size: 22px 22px, 22px 22px; background-position: 0 0, 11px 11px; }
.wa-phone__body::-webkit-scrollbar { display: none; }
.wa-day { align-self: center; margin: 0 0 6px; padding: 4px 10px; border-radius: 7px; background: #fff; color: #54656f; font-size: 10.5px; font-weight: 600; letter-spacing: .04em; box-shadow: 0 1px .5px #0b141a1a; }
.wa-msg { position: relative; max-width: 84%; padding: 6px 8px 5px 9px; border-radius: 9px; color: #111b21; font-size: 13.5px; line-height: 1.42; box-shadow: 0 1px .5px #0b141a24; margin-bottom: 3px; }
.wa-msg p { margin: 0; display: inline; }
.wa-msg--in { align-self: flex-start; background: #fff; border-top-left-radius: 0; }
.wa-msg--out { align-self: flex-end; background: #d9fdd3; border-top-right-radius: 0; }
.wa-msg--in::before, .wa-msg--out::before { content: ""; position: absolute; top: 0; width: 8px; height: 10px; }
.wa-msg--in::before { left: -7px; background: linear-gradient(225deg, #fff 50%, transparent 50%); }
.wa-msg--out::before { right: -7px; background: linear-gradient(135deg, #d9fdd3 50%, transparent 50%); }
.wa-msg--human { background: #f3efff; }
.wa-msg--human::before { background: linear-gradient(225deg, #f3efff 50%, transparent 50%); }
.wa-msg__author { display: block; margin-bottom: 2px; font-size: 12px; font-weight: 700; color: #5140c5; }
.wa-msg__meta { float: right; display: inline-flex; align-items: center; gap: 3px; margin: 7px 0 -3px 10px; font-size: 10.5px; color: #667781; line-height: 1; }
.wa-phone .wa-ticks { width: 17px; height: 11px; stroke: #8696a0; stroke-width: 1.6; transition: stroke .3s; }
.wa-phone .wa-msg.is-read .wa-ticks { stroke: #53bdeb; }
.wa-msg.is-sent:not(.is-read) .wa-ticks path { stroke-dasharray: 30; }
.wa-photos { display: grid; gap: 3px; margin: -2px -4px 6px; }
.wa-photos--2 { grid-template-columns: 1fr 1fr; }
.wa-photos--3 { grid-template-columns: 1fr 1fr 1fr; }
.wa-photos span { height: 74px; min-width: 96px; display: grid; place-items: center; border-radius: 6px; color: #ffffffd9; background: linear-gradient(135deg, #b9a58b, #8a735a 55%, #6d5a47); }
.wa-photos--2 span:nth-child(2) { background: linear-gradient(135deg, #a8b3b8, #7f8c93 55%, #5f6b72); }
.wa-audio { display: flex; align-items: center; gap: 8px; min-width: 210px; padding: 2px 0 4px; }
.wa-audio__play { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: #54656f; }
.wa-phone .wa-audio__play svg { fill: currentColor; width: 18px; height: 18px; }
.wa-audio__wave { flex: 1; height: 24px; display: flex; align-items: center; gap: 2px; }
.wa-audio__wave i { flex: 1; height: var(--h); min-height: 3px; border-radius: 2px; background: #8fb3a3; }
.wa-msg.wa-show .wa-audio__wave i { animation: wa-wave 1.4s ease-in-out 2; }
.wa-audio__time { font-size: 11px; color: #667781; }
.wa-msg .wa-msg__transcript { display: block; margin-top: 4px; padding: 6px 8px; border-radius: 6px; background: #c7f0bf80; font-size: 12.5px; font-style: italic; }
.wa-msg__transcript small { display: block; font-style: normal; font-size: 10px; font-weight: 700; letter-spacing: .03em; color: #3b6e4f; margin-bottom: 2px; }
.wa-slots { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 2px; }
.wa-slots span { padding: 6px 10px; border-radius: 16px; border: 1px solid #00a88466; color: #027a61; font-size: 12px; font-weight: 600; background: #f0fbf7; transition: background .2s, color .2s; }
.wa-slots span.is-picked { background: var(--wa-accent); color: #fff; border-color: var(--wa-accent); }
.wa-system { align-self: center; display: flex; align-items: center; gap: 6px; margin: 6px 0; padding: 5px 10px; border-radius: 8px; background: #ffeecd; color: #54656f; font-size: 11.5px; text-align: center; box-shadow: 0 1px .5px #0b141a1a; }
.wa-phone .wa-system svg { width: 14px; height: 14px; }
.wa-event { align-self: center; display: flex; align-items: center; gap: 10px; width: 92%; margin: 8px 0 2px; padding: 10px 12px; border-radius: 12px; background: #fff; border: 1px solid #bfe8d6; box-shadow: 0 6px 14px -6px #00805955; }
.wa-event__icon { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; border-radius: 50%; background: var(--wa-accent); color: #fff; }
.wa-phone .wa-event__icon svg { width: 17px; height: 17px; stroke-width: 2.4; }
.wa-event div { display: grid; flex: 1; }
.wa-event small { font-size: 9.5px; font-weight: 800; letter-spacing: .07em; color: #027a61; }
.wa-event strong { font-size: 13px; color: #111b21; }
.wa-event__calendar { color: #8696a0; }
.wa-list { margin: 4px 0 2px; padding: 0; list-style: none; display: grid; gap: 3px; }
.wa-list li { position: relative; padding-left: 14px; }
.wa-list li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 6px; height: 6px; border-radius: 2px; background: var(--wa-accent); transform: rotate(45deg); }
.wa-pix { display: flex; align-items: center; gap: 11px; margin: 8px 0 2px; padding: 9px; border-radius: 8px; background: #f5f7f6; border: 1px solid #dfe5e2; }
.wa-phone svg.wa-pix__qr { width: 74px; height: 74px; flex: 0 0 74px; padding: 4px; border-radius: 6px; background: #fff; fill: #111b21; stroke: none; }
.wa-pix__info { display: grid; gap: 1px; min-width: 0; }
.wa-pix__info small { font-size: 9.5px; font-weight: 800; letter-spacing: .07em; color: #027a61; }
.wa-pix__info strong { font-size: 17px; line-height: 1.2; color: #111b21; }
.wa-pix__info span { font-size: 11px; color: #667781; }
.wa-msg--actions { min-width: 72%; padding-bottom: 0; }
.wa-msg--actions .wa-msg__meta { margin-bottom: 5px; }
.wa-buttons { clear: both; display: grid; margin: 6px -8px 0 -9px; }
.wa-buttons span { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 9px 8px; border-top: 1px solid #e9edef; color: var(--wa-green); font-size: 13px; font-weight: 600; }
.wa-phone .wa-buttons svg { width: 16px; height: 16px; }
.wa-event--payment { border-color: #bfe0f3; }
.wa-event--payment .wa-event__icon { background: #009ee3; }
.wa-event--payment small { color: #0077b6; }
.wa-event--payment .wa-event__calendar { color: #32bcad; }
.wa-typing { align-self: flex-start; display: inline-flex; gap: 4px; padding: 11px 13px; border-radius: 9px; border-top-left-radius: 0; background: #fff; box-shadow: 0 1px .5px #0b141a24; position: relative; animation: wa-pop .25s ease-out; }
.wa-typing::before { content: ""; position: absolute; left: -7px; top: 0; width: 8px; height: 10px; background: linear-gradient(225deg, #fff 50%, transparent 50%); }
.wa-typing i { width: 7px; height: 7px; border-radius: 50%; background: #8696a0; animation: wa-dot 1.1s infinite ease-in-out; }
.wa-typing i:nth-child(2) { animation-delay: .15s; }
.wa-typing i:nth-child(3) { animation-delay: .3s; }
.wa-phone__composer { display: flex; align-items: center; gap: 7px; padding: 7px 8px 12px; background: #f0f2f5; color: #54656f; }
.wa-phone .wa-phone__plus { width: 22px; height: 22px; }
.wa-phone__field { flex: 1; min-width: 0; min-height: 38px; display: flex; align-items: center; padding: 8px 14px; border-radius: 20px; background: #fff; color: #8696a0; font-size: 13.5px; line-height: 1.35; }
.wa-phone__field span { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.wa-phone__field.is-typing { color: #111b21; }
.wa-phone__field.is-typing span::after { content: ""; display: inline-block; width: 1.5px; height: 1em; margin-left: 1px; vertical-align: -2px; background: var(--wa-accent); animation: wa-caret .8s steps(1) infinite; }
.wa-phone__field.is-recording { color: #ea0038; font-weight: 600; }
.wa-phone__send { width: 40px; height: 40px; flex: 0 0 40px; display: grid; place-items: center; border-radius: 50%; background: var(--wa-accent); color: #fff; transition: transform .15s, background .2s; }
.wa-phone .wa-phone__send svg { grid-area: 1 / 1; width: 19px; height: 19px; transition: opacity .15s, transform .2s; }
.wa-phone .wa-phone__send .wa-icon-send { opacity: 0; transform: scale(.5) rotate(-30deg); fill: currentColor; stroke-width: 1.2; }
.wa-phone .wa-phone__send.is-ready .wa-icon-send { opacity: 1; transform: none; }
.wa-phone .wa-phone__send.is-ready .wa-icon-mic { opacity: 0; transform: scale(.5); }
.wa-phone__send.is-recording { background: #ea0038; animation: wa-pulse 1s infinite; }
.wa-phone__send.is-sending { animation: wa-press .32s ease-out; }
.wa-phone figcaption { margin-top: 12px; text-align: center; font-size: 11.5px; line-height: 1.6; color: var(--cm-muted, #5e6775); }
.wa-phone__replay { display: block; margin: 8px auto 0; padding: 7px 14px; border: 1px solid #b9c4bf; border-radius: 20px; background: #fff; color: #14253a; font: 700 12px/1.2 inherit; cursor: pointer; transition: background .15s, border-color .15s; }
.wa-phone__replay:hover { border-color: var(--wa-accent); background: #f0fbf7; }
.wa-phone__replay[hidden] { display: none; }
.wa-phone.is-animating [data-wa-msg].wa-pending { display: none; }
.wa-show { animation: wa-pop .34s cubic-bezier(.2, .9, .3, 1.25) both; }
.wa-msg--out.wa-show { transform-origin: bottom right; }
.wa-msg--in.wa-show { transform-origin: top left; }
.wa-event.wa-show { animation: wa-pop-big .5s cubic-bezier(.2, .9, .3, 1.35) both; }
.wa-toast { position: relative; z-index: 3; display: flex; align-items: center; gap: 10px; width: max-content; max-width: 100%; margin: 16px auto 0; padding: 11px 13px; border-radius: 14px; background: #fff; border: 1px solid #dcd8ef; box-shadow: 0 18px 34px -14px #14253a55; transition: opacity .35s, transform .45s cubic-bezier(.2, .9, .3, 1.3); }
.wa-toast__icon { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border-radius: 10px; background: #eeebf9; color: var(--cm-purple); }
.commercial-page .wa-toast__icon svg { width: 18px; height: 18px; }
.wa-toast div { display: grid; gap: 2px; }
.wa-toast strong { font-size: 12.5px; color: var(--cm-ink); }
.wa-toast div > span { font-size: 11px; line-height: 1.4; color: var(--cm-muted); }
.cm-demo-result { transition: opacity .35s, transform .45s cubic-bezier(.2, .9, .3, 1.3); }
.wa-finale-wait { opacity: 0; transform: translateY(14px) scale(.94); }
@keyframes wa-pop { from { opacity: 0; transform: translateY(10px) scale(.94); } to { opacity: 1; transform: none; } }
@keyframes wa-pop-big { 0% { opacity: 0; transform: scale(.7); } 70% { opacity: 1; transform: scale(1.04); } 100% { transform: none; } }
@keyframes wa-dot { 0%, 60%, 100% { transform: translateY(0); opacity: .5; } 30% { transform: translateY(-4px); opacity: 1; } }
@keyframes wa-caret { 50% { opacity: 0; } }
@keyframes wa-press { 0% { transform: scale(1); } 40% { transform: scale(.82); } 100% { transform: scale(1); } }
@keyframes wa-pulse { 0%, 100% { box-shadow: 0 0 0 0 #ea003855; } 50% { box-shadow: 0 0 0 8px #ea003800; } }
@keyframes wa-wave { 50% { transform: scaleY(.45); } }

/* Phone placement in demos */
.cm-demo-panel { grid-template-columns: minmax(0, 1fr) minmax(0, 380px); align-items: center; }
.cm-vertical-demo__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 380px); }
.appointment-demo__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 380px); }
.appointment-phone { width: 100%; }

/* ---------- Two paths: distinct button for the form ---------- */
.cm-path-card--form .cm-button--primary { background: var(--cm-ink); box-shadow: 0 5px 14px #14253a24; }
.cm-path-card--form .cm-button--primary:hover { background: #0a1522; }

/* ---------- Readability: minimum sizes for running text ---------- */
.cm-section-note, .cm-small-note, .cm-closing-note { font-size: 12px; }
.cm-value-card p, .cm-path-card > p:not(.cm-eyebrow), .cm-path-steps li, .cm-demo-copy > p { font-size: 14px; }
.cm-product-card > p:not(.cm-eyebrow) { font-size: 14px; }
.cm-product-card .cm-product-note { font-size: 13px !important; }
.cm-use-card p, .cm-use-grid p, .cm-fit-list p > span, .cm-steps p, .cm-boundary p, .cm-guarantee p, .cm-xray-copy > p:not(.cm-small-note), .cm-checks li { font-size: 13.5px; }
.cm-faq-list summary { font-size: 14.5px; }
.cm-faq-list details p { font-size: 14px; }
.cm-under-demo p, .cm-flow-strip p { font-size: 13px; }
.commercial-page .cm-eyebrow { font-size: 11px; }
.cm-kicker, .cm-brief__facts dt, .cm-brief__eyebrow, .cm-use-card > span { font-size: 11px; }
.cm-brief__facts dd, .cm-question p { font-size: 13px; }
.commercial-shell .footer-col a:not(.footer-brand) { font-size: 12.5px; }
.commercial-shell .footer-col p { font-size: 13px; }
.commercial-shell .footer-bottom { font-size: 11.5px; }

@media (max-width: 1100px) {
  .cm-hero h1 { font-size: 46px; }
  .cm-hero--niche h1 { font-size: 42px; }
}
@media (max-width: 900px) {
  .cm-hero-grid { grid-template-columns: 1fr; }
  .cm-hero-phone { max-width: 340px; }
  .cm-demo-panel, .cm-vertical-demo__grid, .appointment-demo__grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .cm-hero h1 { font-size: clamp(34px, 9vw, 44px); }
  .cm-hero--niche h1 { font-size: clamp(31px, 8.2vw, 40px); }
  .cm-trust { flex-direction: column; }
  .wa-phone { max-width: 320px; }
  .wa-phone__screen { height: 560px; border-width: 9px; border-radius: 40px; }
  .wa-phone--compact .wa-phone__screen { height: 520px; }
  .commercial-page .cm-eyebrow { font-size: 10.5px; }
}
@media print {
  .wa-phone.is-animating [data-wa-msg].wa-pending { display: block; }
  .wa-phone__replay, .wa-phone__composer { display: none !important; }
}

/* Segment page hero: shorter phone and flow chips in the text column */
.page-hero__phone { display: grid; justify-items: center; }
.page-hero__phone .wa-phone--compact .wa-phone__screen { height: 480px; }
.page-hero__phone .wa-phone figcaption { margin-top: 8px; }
.page-hero__phone .wa-toast { margin-top: 12px; }
.page-hero__flow { margin-top: 24px; }
.page-hero__flow strong { display: block; margin-bottom: 9px; font-size: 13px; font-weight: 700; color: var(--cm-muted); }
.page-hero__flow ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.page-hero__flow li { padding: 6px 12px; border-radius: 20px; background: #fff; border: 1px solid #dcd9e8; font-size: 12.5px; font-weight: 600; color: var(--cm-ink); }
@media (max-width: 680px) { .page-hero__phone .wa-phone--compact .wa-phone__screen { height: 460px; } }

/* Sender label on assistant bubbles */
.wa-msg__author--assistant { display: flex; align-items: center; gap: 4px; color: #027a61; }
.wa-phone .wa-msg__author--assistant svg { width: 14px; height: 14px; stroke-width: 2; }

/* Automatic reminder bubbles (reminders product, no AI conversation) */
.wa-msg__author--reminder { display: flex; align-items: center; gap: 4px; color: #a15c00; }
.wa-phone .wa-msg__author--reminder svg { width: 14px; height: 14px; stroke-width: 2; }
.wa-phone__replay[hidden] { display: block; visibility: hidden; }
