/* CMS WorkOS campaign pages. Platform shells vary; the WorkOS contract stays shared. */

.cms-landing {
  --bg: #fff;
  --bg-deep: #f5f6f8;
  --surface: #fff;
  --surface-soft: #f5f6f8;
  --ink: #20242a;
  --ink-soft: #353c44;
  --muted: #5b626b;
  --faint: #606873;
  --line: #e2e5e9;
  --line-strong: #d0d5db;
  --sans: "Helvetica Neue", Arial, sans-serif;
  --r-sm: 3px;
  --r-md: 3px;
  overflow-x: hidden;
  font-family: var(--sans);
}
.cms-landing h1, .cms-landing h2 { font-weight: 600; }
.cms-landing .eyebrow, .cms-intro-label, .cms-form-head > span { color: var(--muted); font: 400 .9rem/1.5 var(--sans); letter-spacing: 0; text-transform: none; }
.cms-landing .btn--primary { min-height: 48px; background: #1d4e89; color: #fff; }
.cms-landing .btn--primary:hover { background: #153d6d; transform: none; box-shadow: none; }
.cms-text-link { display: inline-flex; align-items: center; min-height: 44px; color: #1d4e89; font-size: .95rem; text-decoration: underline; text-underline-offset: .25em; }
.cms-landing .nav__cta { padding-inline: 0; }
.cms-landing main [id] { scroll-margin-top: 90px; }
.cms-landing [hidden] { display: none !important; }
.cms-icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.ui-icon { width: 1em; height: 1em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: .65rem .9rem; transform: translateY(-150%); border-radius: var(--r-sm); background: var(--ink); color: #fff; text-decoration: none; }
.skip-link:focus { transform: translateY(0); }
.cms-landing :focus-visible { outline: 3px solid color-mix(in srgb, var(--cms-accent, var(--ink)) 55%, #fff); outline-offset: 3px; }
.cms-landing .nav { background: #fff; border-color: var(--line); backdrop-filter: none; -webkit-backdrop-filter: none; }
.cms-mobile-nav-cta { display: none; }
.cms-landing .section { padding: clamp(3.5rem, 5vw, 5rem) 0; }

.cms-platform-mark { display: inline-block; width: 30px; height: 24px; flex: none; background: var(--cms-logo-color, var(--cms-accent, #344557)); -webkit-mask: var(--cms-logo) center / contain no-repeat; mask: var(--cms-logo) center / contain no-repeat; }
.cms-platform-mark--redaxo { --cms-logo: url('/assets/cms-logos/redaxo.svg'); --cms-logo-color: #4d9bd3; width: 104px; }
.cms-platform-mark--contao { --cms-logo: url('/assets/cms-logos/contao.svg'); --cms-logo-color: #f47c20; }
.cms-platform-mark--typo3 { --cms-logo: url('/assets/cms-logos/typo3.svg'); --cms-logo-color: #f49700; }
.cms-platform-mark--shopware { --cms-logo: url('/assets/cms-logos/shopware.svg'); --cms-logo-color: #0870d1; }
.cms-platform-mark--jtl { --cms-logo: url('/assets/cms-logos/jtl.svg'); --cms-logo-color: #125f96; width: 34px; }
.cms-platform-mark--plentyone { --cms-logo: url('/assets/cms-logos/plentyone.svg'); --cms-logo-color: #174c9f; width: 112px; }
.cms-platform-mark--gambio { --cms-logo: url('/assets/cms-logos/gambio.svg'); --cms-logo-color: #005d78; width: 90px; }
.cms-platform-mark--odoo { --cms-logo: url('/assets/cms-logos/odoo.svg'); --cms-logo-color: #714b67; width: 48px; }
.cms-platform-mark--woocommerce { --cms-logo: url('/assets/cms-logos/woocommerce.svg'); --cms-logo-color: #96588a; width: 88px; }
.cms-platform-mark--wordpress { --cms-logo: url('/assets/cms-logos/wordpress.svg'); --cms-logo-color: #21759b; }
.cms-platform-mark--werbas { --cms-logo: url('/assets/cms-logos/werbas.svg'); --cms-logo-color: #d31d36; width: 108px; }
.cms-platform-mark--vetera { width: 100px; background: transparent url('/assets/cms-logos/vetera.png') center / contain no-repeat; -webkit-mask: none; mask: none; }
.cms-platform-mark--amparex { width: 112px; background: transparent url('/assets/cms-logos/amparex.png') center / contain no-repeat; -webkit-mask: none; mask: none; }
.cms-platform-mark--ds-win { width: 108px; background: transparent url('/assets/cms-logos/ds-win.svg') center / contain no-repeat; -webkit-mask: none; mask: none; }
.cms-platform-id { display: flex; align-items: center; gap: 1rem; min-height: 52px; }
.cms-platform-id .cms-platform-mark { width: 52px; height: 44px; }
.cms-platform-id .cms-platform-mark--redaxo, .cms-platform-id .cms-platform-mark--plentyone { width: 162px; }
.cms-platform-id .cms-platform-mark--gambio { width: 138px; }
.cms-platform-id .cms-platform-mark--odoo { width: 92px; }
.cms-platform-id .cms-platform-mark--woocommerce { width: 138px; }
.cms-platform-id .cms-platform-mark--werbas { width: 178px; }
.cms-platform-id .cms-platform-mark--vetera { width: 166px; }
.cms-platform-id .cms-platform-mark--amparex { width: 188px; }
.cms-platform-id .cms-platform-mark--ds-win { width: 178px; }
.cms-platform-id .cms-intro-label { color: var(--ink); font-size: 1rem; font-weight: 600; }

.cms-hero { padding: clamp(3.5rem, 5vw, 5rem) 0 clamp(3rem, 4vw, 4.5rem); }
.cms-hero__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(330px, 1fr); gap: clamp(2.5rem, 5vw, 4.5rem); align-items: center; min-width: 0; }
.cms-hero__grid > * { min-width: 0; }
.cms-hero h1 { max-width: 850px; margin-top: 1.25rem; overflow-wrap: break-word; font-size: clamp(2.8rem, 4.2vw, 3.7rem); line-height: 1.08; }
.cms-hero__grid > div > p { max-width: 62ch; margin-top: 1.5rem; color: var(--muted); font-size: 1.16rem; }
.cms-hero__actions { display: flex; flex-wrap: wrap; gap: 1.25rem; margin-top: 2rem; }
.cms-hero__direct { margin-top: 1rem !important; color: var(--faint) !important; font-size: .9rem !important; }
.cms-hero__direct a { color: var(--ink); font-weight: 650; }

.cms-founder { min-width: 0; width: 100%; align-self: start; }
.cms-founder__portrait { position: relative; aspect-ratio: 1 / 1.06; overflow: hidden; isolation: isolate; border-radius: 4px; background: #6d6c63; }
.cms-founder__portrait::before { position: absolute; z-index: -1; inset: -30px; background: url('/assets/harry-trippel-consultant.jpg') center / cover; filter: blur(22px); content: ''; }
.cms-founder__portrait > img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; mask-image: linear-gradient(transparent, #000 5%, #000 95%, transparent), linear-gradient(to right, transparent, #000 5%, #000 95%, transparent); mask-composite: intersect; }
.cms-founder__portrait::after { position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, #171b16ed); content: ''; pointer-events: none; }
.cms-founder__greeting { position: absolute; z-index: 1; bottom: 0; padding: 1.6rem; color: #fff; }
.cms-founder__greeting h2 { margin: 0; color: #fff; font-size: clamp(1.75rem, 2.5vw, 2.35rem); letter-spacing: -.02em; }
.cms-founder__greeting p { margin-top: .3rem; color: #f0f2ed; font-size: .94rem; line-height: 1.45; }
.cms-founder__caption { margin-top: .65rem; color: var(--muted); font-size: .86rem; line-height: 1.5; }
.cms-founder__personal { padding-top: 1.4rem; }
.cms-founder__personal p { max-width: 40ch; font-size: 1rem; }
.cms-founder__personal > a { display: inline-flex; flex-direction: column; gap: .15rem; margin-top: 1.15rem; color: inherit; font-size: 1.4rem; font-weight: 600; text-decoration: none; }
.cms-founder__personal > a span { color: var(--muted); font-size: .86rem; font-weight: 400; }


.cms-platform-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; border: 1px solid var(--line); }
.cms-platform-nav a { display: flex; align-items: center; gap: .55rem; min-height: 64px; padding: .7rem .8rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: .86rem; text-decoration: none; }
.cms-platform-nav a:nth-child(5n) { border-right: 0; }
.cms-platform-nav a:nth-last-child(-n + 5) { border-bottom: 0; }
.cms-platform-nav .cms-platform-mark { width: 22px; height: 18px; }
.cms-platform-nav .cms-platform-mark--redaxo, .cms-platform-nav .cms-platform-mark--plentyone { width: 54px; }
.cms-platform-nav .cms-platform-mark--gambio { width: 46px; }
.cms-platform-nav .cms-platform-mark--odoo { width: 38px; }
.cms-platform-nav .cms-platform-mark--woocommerce { width: 54px; }
.cms-platform-nav .cms-platform-mark--werbas { width: 66px; }
.cms-platform-nav .cms-platform-mark--vetera { width: 62px; }
.cms-platform-nav .cms-platform-mark--amparex { width: 68px; }
.cms-platform-nav .cms-platform-mark--ds-win { width: 66px; }
.cms-platform-nav a:hover, .cms-platform-nav a[aria-current="page"] { color: var(--ink); text-decoration: underline; text-underline-offset: .25em; }
.cms-platform-nav a[aria-current="page"] { font-weight: 600; }

.cms-section-intro, .cms-contact-head { max-width: 760px; margin-bottom: 2.5rem; }
.cms-section-intro h2, .cms-contact-head h2 { margin-top: .65rem; font-size: clamp(2rem, 4vw, 3rem); }
.cms-section-intro p, .cms-contact-head p { max-width: 62ch; margin-top: 1rem; color: var(--muted); }
.cms-services__layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.cms-services__intro h2 { margin-top: 1rem; font-size: clamp(2.2rem, 3vw, 2.6rem); line-height: 1.12; }
.cms-services__intro > p { margin-top: 1.25rem; color: var(--muted); font-size: 1rem; }
.cms-services__intro .cms-services__implementation { margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--line); font-size: .88rem; }
.cms-services__implementation strong { display: block; margin-bottom: .35rem; color: var(--ink); }
.cms-service-examples article { padding: 1.5rem 0; border-top: 1px solid var(--line-strong); }
.cms-service-examples h3 { font-size: 1.15rem; font-weight: 500; line-height: 1.5; }
.cms-service-examples p { margin-top: .7rem; color: var(--muted); font-size: 1rem; }
.cms-service-examples article:first-child { padding-top: 0; border-top: 0; }

.cms-demo-section { padding: clamp(3.5rem, 5vw, 5rem) 0; background: var(--bg-deep); }
.cms-demo-intro { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 1.5rem; }
.cms-demo-intro h2 { max-width: 720px; margin-top: .55rem; font-size: clamp(2rem, 4vw, 3rem); }
.cms-demo-intro p { max-width: 650px; margin-top: .75rem; color: var(--muted); }
.demo-steps { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 1rem; }
.demo-steps button { min-height: 44px; padding: .5rem 0; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); font: 500 .85rem var(--sans); cursor: pointer; }
.demo-steps button:hover { color: var(--ink); }
.demo-steps button.is-active { border-bottom-color: var(--ink); color: var(--ink); }

.cms-landing {
  --cms-accent: #4d9bd3;
  --cms-accent-text: #fff;
  --cms-topbar: var(--cms-accent);
  --cms-topbar-text: var(--cms-accent-text);
  --cms-sidebar: #334154;
  --cms-sidebar-text: #dfe8f0;
  --cms-canvas: #eef3f8;
  --cms-radius: 4px;
}
.cms-window {
  overflow: hidden;
  min-height: 690px;
  border: 1px solid #cfd7de;
  border-radius: var(--cms-radius);
  background: #fff;
  color: #334155;
  box-shadow: 0 24px 70px rgba(20, 19, 15, .13);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  line-height: 1.45;
  text-align: left;
}
.cms-window button, .cms-window input, .cms-window textarea, .cms-window select { font: inherit; }
.platform-topbar { display: flex; align-items: center; gap: 2rem; min-height: 45px; padding: 0 16px; background: var(--cms-topbar); color: var(--cms-topbar-text); }
.platform-topbar > span:last-child { margin-left: auto; font-size: 11px; opacity: .8; }
.platform-wordmark { display: inline-flex; align-items: center; gap: 7px; color: inherit; font-size: 18px; letter-spacing: -.02em; }
.platform-wordmark .cms-platform-mark { width: 22px; height: 22px; background: currentColor; }
.platform-wordmark .cms-platform-mark--redaxo { width: 96px; }
.platform-wordmark .cms-platform-mark--plentyone { width: 112px; }
.platform-wordmark .cms-platform-mark--gambio { width: 82px; }
.platform-wordmark .cms-platform-mark--odoo { width: 68px; }
.platform-wordmark .cms-platform-mark--woocommerce { width: 94px; }
.platform-wordmark .cms-platform-mark--werbas { width: 108px; }
.platform-wordmark .cms-platform-mark--vetera { width: 96px; }
.platform-wordmark .cms-platform-mark--amparex { width: 108px; }
.platform-wordmark .cms-platform-mark--ds-win { width: 108px; }
.platform-topbar nav { display: none; align-self: stretch; align-items: stretch; }
.platform-topbar nav span { display: flex; align-items: center; gap: 6px; padding: 0 12px; font-size: 12px; opacity: .78; }
.platform-topbar nav .ui-icon { width: 13px; height: 13px; }
.platform-topbar nav span.is-active { background: rgba(255, 255, 255, .16); opacity: 1; }
.platform-demo-badge { margin-left: auto; padding: 3px 6px; border: 1px solid currentColor; border-radius: 999px; font-size: 8px !important; letter-spacing: .06em; text-transform: uppercase; }
.platform-demo-badge + span { margin-left: 0 !important; }
.platform-ribbon { display: flex; align-items: center; gap: 1.5rem; min-height: 54px; padding: 0 18px; border-bottom: 1px solid #c8d0d7; background: #f9fafb; color: #425466; }
.platform-ribbon b, .platform-ribbon span { display: inline-flex; align-items: center; gap: 5px; }
.platform-ribbon b { color: var(--cms-accent); font-size: 14px; }
.platform-ribbon span { font-size: 11px; }
.platform-body { display: grid; grid-template-columns: 160px minmax(0, 1fr); min-height: 645px; }
.platform-sidebar { padding: 20px 10px; background: var(--cms-sidebar); color: var(--cms-sidebar-text); }
.platform-sidebar > strong { display: block; padding: 0 9px 16px; color: inherit; font-size: 13px; }
.platform-sidebar nav { display: grid; gap: 3px; }
.platform-sidebar nav span { display: flex; align-items: center; gap: 8px; padding: 8px 9px; border-radius: calc(var(--cms-radius) - 1px); color: inherit; font-size: 12px; opacity: .72; }
.platform-sidebar nav span .ui-icon { width: 14px; height: 14px; opacity: .85; }
.platform-sidebar nav span.is-active { background: var(--cms-accent); opacity: 1; }
.platform-sidebar nav span.is-active { color: var(--cms-accent-text); }
.platform-workspace { min-width: 0; padding: 18px; background: var(--cms-canvas); }
.workos-header { display: flex; justify-content: space-between; gap: 1rem; align-items: end; margin-bottom: 12px; }
.workos-header small { color: #8290a0; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.workos-header h3 { margin: 4px 0 0; color: #334155; font: 600 24px/1.1 Arial, sans-serif; }
.workos-header p { margin: 3px 0 0; color: #778697; }
.workos-header > span { color: var(--cms-accent); font-size: 11px; }
.workos-tabs { display: flex; gap: 5px; margin-bottom: 10px; }
.workos-tabs > span { padding: 5px 9px; border: 1px solid #cfd7de; background: #fff; color: #586a7b; font-size: 11px; }
.workos-tabs > span.is-active { border-color: var(--cms-accent); color: var(--cms-accent); }
.workos-tabs b { display: inline-grid; place-items: center; min-width: 16px; height: 16px; margin-left: 3px; border-radius: 999px; background: #425466; color: #fff; font-size: 9px; }

.workos-layout { display: grid; grid-template-columns: minmax(225px, 31%) minmax(0, 1fr); min-height: 535px; overflow: hidden; border: 1px solid #d3dae1; background: #fff; }
.conversation-list { border-right: 1px solid #d3dae1; background: #fff; }
.new-chat { display: flex; align-items: center; justify-content: center; gap: 6px; width: calc(100% - 22px); margin: 11px; padding: 8px; border: 1px solid #c9d2db; background: #fff; color: #425466; cursor: pointer; }
.conversation-search { display: flex; align-items: center; gap: 6px; margin: 0 11px 10px; padding: 8px; overflow: hidden; border: 1px solid #d6dde3; background: #f8fafb; color: #728293; font-size: 11px; white-space: nowrap; }
.conversation-search span { overflow: hidden; text-overflow: ellipsis; }
.conversation-list__label { display: flex; justify-content: space-between; padding: 9px 11px; border-block: 1px solid #d6dde3; color: #788796; font-size: 10px; }
.conversation-item { position: relative; padding: 11px; border-bottom: 1px solid #d9dfe4; color: #526170; }
.conversation-item.is-selected { background: color-mix(in srgb, var(--cms-accent) 9%, #fff); }
.conversation-item.is-selected::before { position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--cms-accent); content: ""; }
.conversation-item > div { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.conversation-item__icon { display: grid; place-items: center; width: 18px; height: 18px; flex: none; border-radius: 4px; background: color-mix(in srgb, var(--cms-accent) 10%, #fff); color: color-mix(in srgb, var(--cms-accent) 70%, #263746); }
.conversation-item__icon .ui-icon { width: 12px; height: 12px; }
.conversation-item b { flex: 1; overflow: hidden; color: #405163; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.conversation-item time { flex: none; color: #8290a0; font-size: 9px; }
.conversation-item p { display: -webkit-box; overflow: hidden; margin: 6px 0; font-size: 11px; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.conversation-item small { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; color: #697b8c; font-size: 9px; }
.conversation-item em { padding: 2px 5px; background: #f7dd91; color: #765b00; font-style: normal; }

.thread { display: flex; min-width: 0; flex-direction: column; background: #f3f6f9; }
.thread__head { display: flex; justify-content: space-between; gap: 1rem; padding: 12px 14px; border-bottom: 1px solid #d3dae1; background: #fff; }
.thread__head small { display: flex; align-items: center; gap: 5px; color: #748394; font-size: 9px; }
.thread__head h4 { margin-top: 4px; color: #344557; font: 600 14px/1.3 Arial, sans-serif; }
.thread__head > span { align-self: start; padding: 3px 6px; background: #eef1f4; color: #667788; font-size: 9px; }
.thread__classification { display: flex; align-items: center; gap: 5px; padding: 7px 14px; border-bottom: 1px solid #d3dae1; background: #fff; color: #728192; font-size: 9px; }
.thread__classification b { padding: 3px 6px; background: var(--cms-accent); color: var(--cms-accent-text); font-weight: 600; }
.thread__classification b:last-child { background: #5d6874; color: #fff; }
.chat-history { flex: 1; padding: 14px; }
.chat-message { margin-bottom: 13px; }
.chat-message--inbound { padding: 12px; border: 1px solid #d6dde3; border-radius: 8px; background: #fff; }
.chat-message--inbound header { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 8px; }
.chat-message--inbound header b { color: #425568; font-size: 10px; }
.chat-message--inbound time { color: #8995a1; font-size: 9px; }
.chat-message--inbound p { color: #425466; font-size: 11px; white-space: normal; }
.chat-message--agent { display: grid; grid-template-columns: 27px minmax(0, 1fr); gap: 8px; align-items: start; }
.chat-message--agent > div { max-width: 92%; padding: 10px 11px; border: 1px solid #d6dde3; border-radius: 0 8px 8px 8px; background: #fff; }
.chat-message--agent b { color: var(--cms-accent); font-size: 10px; }
.chat-message--agent p { margin-top: 3px; color: #425466; font-size: 11px; }
.agent-mark { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: color-mix(in srgb, var(--cms-accent) 12%, #fff); color: var(--cms-accent); }
.chat-message--result > div { border-color: #73ac83; background: #edf7ee; }
.chat-message--result b, .chat-message--result p { color: #28603a; }
.tool-trace { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 8px; padding-top: 7px; border-top: 1px solid #e4e8ec; }
.tool-trace span { width: 100%; color: #738293; font-size: 9px; font-weight: 650; }
.tool-trace em { padding: 2px 5px; border: 1px solid #d7dde3; background: #f8fafb; color: #667788; font-size: 8px; font-style: normal; }
.analyze-row { padding: 8px 0 14px; text-align: center; }

.proposal { margin: 13px 0 13px 35px; border: 1px solid #ccd5dd; border-radius: var(--cms-radius); background: #fff; box-shadow: 0 4px 12px rgba(50, 68, 84, .05); }
.proposal__head { display: flex; justify-content: space-between; gap: 1rem; padding: 11px 12px; }
.proposal__eyebrow { color: #7a8998; font-size: 8px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.proposal__head h3 { margin-top: 2px; color: #34485b; font: 600 13px/1.3 Arial, sans-serif; }
.proposal__head p { margin-top: 2px; color: #7b8996; font-size: 9px; }
.proposal__status { align-self: start; padding: 3px 6px; background: #65717d; color: #fff; font-size: 8px; font-weight: 650; }
.proposal__body { border-top: 1px solid #d9dfe4; }
.proposal-field { padding: 10px 12px 0; }
.proposal-field h4 { margin-bottom: 5px; color: #405266; font: 600 10px/1.3 Arial, sans-serif; }
.field-value { padding: 8px 9px; border-left: 2px solid; font-size: 10px; }
.field-value + .field-value { margin-top: 0; }
.field-value--current { border-color: #ca7c7c; background: #fbefef; color: #854646; }
.field-value--current.is-empty { border-color: #b9c2ca; background: #f3f5f7; color: #788592; }
.field-value--proposed { border-color: #67a97b; background: #edf7ee; color: #28603a; }
.field-value__head { display: flex; justify-content: space-between; gap: 1rem; }
.field-value__label { display: block; margin-bottom: 3px; font-size: 9px; font-weight: 650; }
.field-value__copy { display: block; white-space: pre-line; }
.field-edit { padding: 0; border: 0; background: none; color: #28603a; font-size: 9px; cursor: pointer; }
.field-editor { margin-top: 6px; }
.field-editor input, .field-editor textarea, .field-editor select { width: 100%; padding: 7px 8px; border: 1px solid #81ad8d; border-radius: 2px; background: #fff; color: #334155; line-height: 1.4; }
.field-editor textarea { resize: vertical; }
.field-editor__actions { display: flex; gap: 5px; margin-top: 5px; }
.field-editor__actions button { padding: 4px 7px; border: 1px solid #81ad8d; background: #fff; color: #28603a; cursor: pointer; }
.proposal__impact { padding: 8px 12px 0; color: #748392; font-size: 9px; }
.proposal__actions { padding: 9px 12px 11px; }
.cms-approve { padding: 7px 10px; border: 1px solid var(--cms-accent); border-radius: calc(var(--cms-radius) - 1px); background: var(--cms-accent); color: var(--cms-accent-text); cursor: pointer; font-weight: 600; }
.cms-approve:hover { filter: brightness(.94); }
.proposal.is-applied { border-color: #79ac87; }
.proposal.is-applied .proposal__status { background: #3f8c5d; }
.proposal.is-applied .field-edit, .proposal.is-applied .proposal__actions { display: none; }
.proposal__summary { display: none; width: 100%; align-items: center; justify-content: space-between; gap: 1rem; padding: 9px 12px; border: 0; border-top: 1px solid #d5e4d9; background: #edf7ee; color: #28603a; text-align: left; cursor: pointer; }
.proposal.is-applied .proposal__summary { display: flex; }
.proposal.is-applied.is-collapsed .proposal__body { display: none; }
.proposal.is-applied.is-collapsed .proposal__head p { display: none; }

.chat-composer { display: flex; align-items: center; gap: 7px; margin: 0 14px 14px; padding: 6px 7px 6px 11px; border: 1px solid #c9d2db; border-radius: 22px; background: #fff; }
.chat-composer input { flex: 1; min-width: 0; border: 0; outline: 0; color: #425466; background: transparent; font-size: 10px; }
.chat-composer button { display: grid; place-items: center; width: 28px; height: 28px; border: 0; border-radius: 50%; background: var(--cms-accent); color: var(--cms-accent-text); cursor: pointer; }
.chat-message--user { width: 82%; margin-left: auto; padding: 9px 11px; border-radius: 8px 0 8px 8px; background: color-mix(in srgb, var(--cms-accent) 11%, #fff); color: #405266; font-size: 10px; }
.typing-dots { display: inline-flex; gap: 3px; padding: 3px 0; }
.typing-dots i { width: 4px; height: 4px; border-radius: 50%; background: #7d8994; animation: cms-dot 1s infinite ease-in-out; }
.typing-dots i:nth-child(2) { animation-delay: .14s; }
.typing-dots i:nth-child(3) { animation-delay: .28s; }
@keyframes cms-dot { 0%, 60%, 100% { transform: translateY(0); opacity: .35; } 30% { transform: translateY(-3px); opacity: 1; } }

.demo-caption { margin: 1rem auto 0; max-width: 850px; color: var(--muted); font-size: .82rem; text-align: center; }
.cms-demo-cta { display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--line-strong); }
.cms-demo-cta strong, .cms-demo-cta span { display: block; }
.cms-demo-cta span { margin-top: .15rem; color: var(--muted); font-size: .84rem; }

/* Platform-specific administration cues. */
.theme-redaxo .platform-wordmark { font-size: 18px; font-weight: 700; letter-spacing: .03em; }
.theme-contao .platform-topbar { color: #303b44; border-bottom: 3px solid var(--cms-accent); }
.theme-contao .platform-wordmark { color: var(--cms-accent); font-weight: 800; letter-spacing: .08em; }
.theme-typo3 .platform-wordmark { font-weight: 400; letter-spacing: .03em; }
.theme-shopware .platform-topbar { color: #263646; border-bottom: 1px solid #dce2e7; }
.theme-shopware .platform-wordmark { color: #0870d1; font-size: 19px; font-weight: 500; }
.theme-jtl .platform-topbar { color: #263746; border-bottom: 1px solid #bac5cf; }
.theme-jtl .platform-wordmark { color: #125f96; font-weight: 650; }
.theme-jtl .platform-sidebar nav span.is-active { color: #fff; }
.theme-plentyone .platform-wordmark { color: #fff; font-weight: 500; }
.theme-gambio .platform-wordmark { color: #fff; font-weight: 400; }
.theme-odoo .platform-wordmark { font-size: 19px; font-weight: 650; }
.theme-wordpress .platform-wordmark { font-family: Georgia, serif; font-size: 18px; }
.theme-woocommerce .platform-wordmark { font-weight: 700; }
.platform-shell--topnav .platform-topbar nav, .platform-shell--ribbon .platform-topbar nav { display: flex; }
.platform-shell--topnav .platform-body { grid-template-columns: 1fr; }
.platform-shell--topnav .platform-sidebar { display: none; }
.platform-shell--topnav .platform-workspace { padding-top: 20px; }

.cms-how { border-top: 1px solid var(--line); }
.cms-how ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; list-style: none; }
.cms-how li { display: flex; gap: .9rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.cms-how li > b { color: var(--muted); font: 400 .95rem var(--sans); }
.cms-how li span { color: var(--muted); font-size: .95rem; }
.cms-how li strong { display: block; margin-bottom: .35rem; }
.cms-platforms { padding-top: 4.5rem; }
.cms-contact { background: var(--surface-soft); color: var(--ink-soft); }
.cms-contact-grid { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.cms-contact .cms-founder { max-width: 520px; }
.cms-contact .cms-founder__portrait { aspect-ratio: 1.13; }
.cms-contact .cms-founder__greeting h2 { color: #fff; }

.cms-funnel { min-width: 0; }
.cms-lead-form { margin: 0; text-align: left; }
.cms-form-head { margin-bottom: 1.25rem; }
.cms-form-head h3 { margin-top: .4rem; font-size: 1.4rem; }
.cms-form-head p { margin-top: .5rem; color: var(--muted); font-size: .94rem; }
.cms-funnel-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; margin: 0 0 1.5rem; padding: 0; list-style: none; color: var(--muted); font-size: .9rem; }
.cms-funnel-steps li { padding: .65rem 0; border-bottom: 2px solid var(--line-strong); }
.cms-funnel-steps [aria-current="step"] { border-color: #1d4e89; color: #1d4e89; font-weight: 600; }
.cms-funnel fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.cms-funnel legend { width: 100%; margin-bottom: 1.1rem; padding: 0; color: var(--ink); font-size: 1.25rem; font-weight: 600; }
.cms-funnel .field input, .cms-funnel .field textarea, .cms-funnel select { width: 100%; min-height: 48px; padding: .78rem .9rem; border: 1px solid var(--line-strong); border-radius: 3px; background: #fff; color: var(--ink); font: 400 16px/1.45 var(--sans); }
.cms-funnel .field label { font-size: .94rem; }
.cms-funnel .field label span { color: var(--muted); font-weight: 400; }
.cms-funnel .field input:focus-visible, .cms-funnel .field textarea:focus-visible, .cms-funnel select:focus-visible { outline: 2px solid #1d4e89; outline-offset: 2px; box-shadow: none; }
.cms-funnel [aria-invalid="true"] { border-color: #a42d23; }
.cms-field-hint { margin: 0 0 1rem; color: var(--muted); font-size: .88rem; line-height: 1.55; }
.cms-field-hint a, .cms-funnel .fineprint a { color: #1d4e89; text-decoration: underline; text-underline-offset: .2em; }
.cms-task-options { margin: 0 0 1.5rem; }
.cms-task-options label { display: flex; align-items: center; gap: .75rem; min-height: 48px; padding: .65rem 0; border-bottom: 1px solid var(--line); color: var(--ink); font-size: 16px; line-height: 1.4; cursor: pointer; }
.cms-task-options input { width: 20px; height: 20px; flex: 0 0 20px; accent-color: #1d4e89; }
.cms-funnel-summary { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: .45rem .75rem; margin: 0 0 1.5rem; padding: 1rem 0; border-block: 1px solid var(--line-strong); font-size: .88rem; line-height: 1.5; }
.cms-funnel-summary dt { color: var(--muted); }
.cms-funnel-summary dd { margin: 0; overflow-wrap: anywhere; white-space: pre-line; }
.cms-funnel-actions { display: flex; gap: .8rem; margin-top: 1.2rem; }
.cms-funnel-actions .btn { flex: 1; justify-content: center; }
.cms-funnel-back { min-width: 90px; min-height: 48px; padding: .7rem 1rem; border: 1px solid var(--line-strong); border-radius: 3px; background: transparent; color: var(--ink); font: 400 16px/1.4 var(--sans); cursor: pointer; }
.cms-funnel button:disabled { opacity: .65; cursor: wait; }
.cms-funnel .fineprint { color: var(--muted); text-align: left; }
.cms-funnel-error { margin: 1rem 0; color: #a42d23; font-size: .94rem; line-height: 1.5; }
.cms-funnel-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.cms-funnel-success > h3 { margin: 0 0 1rem; font-size: 1.7rem; line-height: 1.2; }
.cms-funnel-success > p { margin-bottom: 1.5rem; color: var(--muted); }
.cms-funnel-success > .btn { justify-content: center; }
.cms-funnel-details { margin-top: 2rem; border-top: 1px solid var(--line-strong); }
.cms-funnel-details > summary { display: list-item; min-height: 48px; padding-block: 1rem; color: var(--ink); font-size: .95rem; cursor: pointer; }
.cms-funnel-details form { margin-top: .65rem; }
.cms-funnel-details .field .cms-field-hint { margin-top: .5rem; }
.cms-funnel-details [data-details-status] { margin-top: 1rem; }
.no-js .cms-lead-form { display: none; }

.cms-hub-hero { padding: clamp(4rem, 7vw, 6.5rem) 0 clamp(3.5rem, 6vw, 5.5rem); }
.cms-hub-hero h1 { max-width: 850px; margin-top: 1.25rem; font-size: clamp(3rem, 5vw, 4.4rem); }
.cms-hub-hero .cms-hero__grid > div > p { margin-bottom: 0; }
.cms-hub-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; border: 1px solid var(--line-strong); background: var(--line); }
.cms-hub-card { position: relative; min-height: 270px; padding: 2rem; overflow: hidden; background: var(--surface); text-decoration: none; }
.cms-hub-card > span { color: var(--muted); font-size: .9rem; }
.cms-hub-card__brand { display: flex; align-items: center; gap: 1rem; min-height: 34px; margin-bottom: .9rem; }
.cms-hub-card__brand .cms-platform-mark { width: 34px; height: 28px; }
.cms-hub-card__brand .cms-platform-mark--redaxo, .cms-hub-card__brand .cms-platform-mark--plentyone { width: 110px; }
.cms-hub-card__brand .cms-platform-mark--gambio { width: 92px; }
.cms-hub-card__brand .cms-platform-mark--odoo { width: 64px; }
.cms-hub-card__brand .cms-platform-mark--woocommerce { width: 98px; }
.cms-hub-card__brand .cms-platform-mark--werbas { width: 108px; }
.cms-hub-card__brand .cms-platform-mark--vetera { width: 96px; }
.cms-hub-card__brand .cms-platform-mark--amparex { width: 108px; }
.cms-hub-card__brand .cms-platform-mark--ds-win { width: 108px; }
.cms-hub-card h2 { margin: 0; font-size: 1.75rem; }
.cms-hub-card p { max-width: 54ch; margin-top: .7rem; color: var(--muted); font-size: .94rem; }
.cms-hub-card ul { display: grid; gap: .35rem; margin-top: 1.2rem; color: var(--muted); font-size: .84rem; list-style: none; }
.cms-hub-card li::before { margin-right: .45rem; color: var(--muted); content: "·"; }
.cms-hub-card b { display: block; margin-top: 1.4rem; color: #1d4e89; font-size: .9rem; font-weight: 500; text-decoration: underline; text-underline-offset: .25em; }

.cms-cookie-banner { position: fixed; z-index: 120; right: 18px; bottom: 18px; display: grid; grid-template-columns: minmax(250px, 1fr) auto auto; gap: 1rem; align-items: center; width: min(760px, calc(100vw - 36px)); padding: .9rem 1rem; border: 1px solid #3c4652; border-radius: 6px; background: #202832; color: #fff; box-shadow: 0 12px 38px rgb(20 28 36 / 24%); font-size: .82rem; line-height: 1.4; }
.cms-cookie-banner[hidden] { display: none; }
.cms-cookie-banner strong { display: block; margin-bottom: .15rem; font-size: .9rem; }
.cms-cookie-banner p { margin: 0; color: #d5dae0; }
.cms-cookie-banner > a { color: #fff; text-decoration: underline; text-underline-offset: .2em; }
.cms-cookie-banner__actions { display: flex; gap: .45rem; }
.cms-cookie-banner button { min-height: 42px; padding: .55rem .8rem; border: 1px solid #fff; border-radius: 3px; background: #fff; color: #202832; font: 600 .8rem/1.2 var(--sans); cursor: pointer; white-space: nowrap; }
.cms-cookie-banner button + button { border-color: #6d7680; background: transparent; color: #fff; }
.footer-consent-link { display: block; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.footer__bottom .footer-consent-link { display: inline; }

/* Clean source frame for storyboard/video capture. The public landing page is unchanged. */
body.cms-storyboard-embed { overflow: hidden; background: #eef2f5; }
.cms-storyboard-embed > .nav,
.cms-storyboard-embed main > section:not(#demo),
.cms-storyboard-embed .cms-demo-intro,
.cms-storyboard-embed .demo-caption,
.cms-storyboard-embed .cms-demo-cta,
.cms-storyboard-embed [data-ads-consent],
.cms-storyboard-embed > .footer { display: none !important; }
.cms-storyboard-embed #demo { padding: 0; background: #eef2f5; }
.cms-storyboard-embed #demo > .wrap { width: 100%; max-width: none; margin: 0; }
.cms-storyboard-embed .cms-window { margin: 0; border: 0; border-radius: 0; box-shadow: none; }

@media (max-width: 1050px) {
  .cms-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; }
  .cms-hero h1, .cms-hub-hero h1 { font-size: clamp(2.15rem, 4vw, 2.8rem); }
  .cms-founder { max-width: 520px; }
  .workos-layout { grid-template-columns: 205px minmax(0, 1fr); }
  .platform-body { grid-template-columns: 125px minmax(0, 1fr); }
  .platform-sidebar nav span { padding-inline: 6px; font-size: 10px; }
  .platform-topbar nav span { padding-inline: 7px; }
  .cms-platform-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cms-platform-nav a:nth-child(5n), .cms-platform-nav a:nth-last-child(-n + 5) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .cms-platform-nav a:nth-child(2n) { border-right: 0; }
  .cms-platform-nav a:nth-last-child(-n + 2) { border-bottom: 0; }
}

@media (max-width: 760px) {
  .cms-landing .section { padding: 3.25rem 0; }
  .cms-mobile-nav-cta { display: inline-flex; min-height: 44px; align-items: center; margin-left: auto; color: #1d4e89; font-size: .9rem; text-decoration: underline; text-underline-offset: .25em; }
  .cms-landing .nav__burger { margin-left: 0; }
  .cms-hero { padding: 1.6rem 0 3rem; }
  .cms-hero__grid { grid-template-columns: 1fr; gap: 1.15rem; }
  .cms-hero__copy { display: contents; }
  .cms-hero__copy > .cms-platform-id { grid-row: 1; justify-self: start; }
  .cms-hero__copy > h1 { grid-row: 2; margin-top: 0; }
  .cms-hero__grid > .cms-founder { grid-row: 3; max-width: 100%; }
  .cms-hero__grid .cms-founder__portrait { aspect-ratio: 1.16; }
  .cms-hero__copy > p { margin-top: 0 !important; }
  .cms-hero__actions { margin-top: .25rem; }
  .cms-services__intro .cms-services__implementation { margin-top: 1.25rem; }
  .cms-hero h1 { max-width: 100%; font-size: clamp(1.85rem, 8.1vw, 2.75rem); }
  .cms-hero__grid > div > p { margin-top: 1.1rem; font-size: 1rem; }
  .cms-hero__actions .btn { width: 100%; justify-content: center; }
  .cms-demo-intro { display: block; }
  .cms-demo-section { padding: 3.25rem 0; }
  .demo-steps { justify-content: flex-start; flex-wrap: nowrap; margin-top: 1.2rem; overflow-x: auto; padding-bottom: 3px; }
  .demo-steps button { min-height: 44px; flex: none; }
  .cms-window { min-height: 0; }
  .platform-topbar nav, .platform-sidebar { display: none !important; }
  .platform-body { display: block; min-height: 0; }
  .platform-workspace { padding: 0; }
  .workos-header, .workos-tabs { display: none; }
  .workos-layout { display: block; min-height: 0; }
  .conversation-list { border-right: 0; }
  .new-chat, .conversation-search, .conversation-list__label, .conversation-item:not(.is-selected) { display: none; }
  .thread { min-height: 0; }
  .proposal { margin-left: 0; }
  .cms-services__layout, .cms-hub-grid, .cms-contact-grid { grid-template-columns: 1fr; }
  .cms-section-intro, .cms-contact-head { margin-bottom: 1.5rem; }
  .cms-how ol { grid-template-columns: 1fr; }
  .cms-hub-card { min-height: 0; padding: 1.35rem; }
  .cms-hub-card ul { margin-top: .8rem; }
  .cms-hub-card b { margin-top: 1rem; }
  .cms-cookie-banner { right: 10px; bottom: 10px; grid-template-columns: 1fr; gap: .7rem; width: calc(100vw - 20px); padding: .85rem; }
  .cms-cookie-banner__actions { width: 100%; }
  .cms-cookie-banner button { flex: 1; }
}

@media (max-width: 520px) {
  .wrap, .nav__in { padding-inline: 20px; }
  .cms-landing .nav.is-open .nav__links { padding-inline: 20px; }
  .cms-demo-section .wrap { padding-inline: 10px; }
  .cms-founder__greeting { padding: 1.25rem; }
  .cms-founder__greeting p { font-size: .88rem; }
  .cms-window { border-radius: 0; font-size: 14px; }
  .platform-topbar { gap: .7rem; padding-inline: 12px; }
  .platform-topbar > span:last-child { display: none; }
  .platform-wordmark { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .platform-wordmark .cms-platform-mark--redaxo { width: 78px; }
  .platform-wordmark .cms-platform-mark--plentyone { width: 86px; }
  .platform-wordmark .cms-platform-mark--gambio { width: 68px; }
  .platform-wordmark .cms-platform-mark--odoo { width: 58px; }
  .platform-wordmark .cms-platform-mark--woocommerce { width: 76px; }
  .platform-wordmark .cms-platform-mark--werbas { width: 86px; }
  .platform-wordmark .cms-platform-mark--vetera { width: 76px; }
  .platform-wordmark .cms-platform-mark--amparex { width: 86px; }
  .platform-wordmark .cms-platform-mark--ds-win { width: 86px; }
  .cms-platform-id { align-items: flex-start; flex-direction: column; gap: .45rem; }
  .cms-platform-id .cms-platform-mark { width: 46px; height: 38px; }
  .cms-platform-id .cms-platform-mark--redaxo, .cms-platform-id .cms-platform-mark--plentyone { width: 146px; }
  .cms-platform-id .cms-platform-mark--gambio { width: 124px; }
  .cms-platform-id .cms-platform-mark--odoo { width: 82px; }
  .cms-platform-id .cms-platform-mark--woocommerce { width: 124px; }
  .cms-platform-id .cms-platform-mark--werbas { width: 156px; }
  .cms-platform-id .cms-platform-mark--vetera { width: 142px; }
  .cms-platform-id .cms-platform-mark--amparex { width: 158px; }
  .cms-platform-id .cms-platform-mark--ds-win { width: 156px; }
  .chat-history { padding: 10px; }
  .conversation-item b, .conversation-item p { font-size: 12px; }
  .conversation-item time, .conversation-item small { font-size: 10px; }
  .thread__head small { font-size: 10px; }
  .thread__head h4 { font-size: 15px; }
  .thread__classification { font-size: 10px; }
  .chat-message--inbound header b, .chat-message--agent b { font-size: 12px; }
  .chat-message--inbound time { font-size: 10px; }
  .chat-message--inbound p, .chat-message--agent p { font-size: 14px; line-height: 1.5; }
  .tool-trace span { font-size: 11px; }
  .tool-trace em { font-size: 10px; }
  .proposal__head { display: block; }
  .proposal__status { display: inline-block; margin-top: 7px; }
  .proposal__eyebrow { font-size: 10px; }
  .proposal__head h3 { font-size: 15px; }
  .proposal__head p, .proposal__status { font-size: 10px; }
  .proposal-field h4 { font-size: 13px; }
  .field-value { font-size: 14px; line-height: 1.5; }
  .field-value__label { font-size: 11px; }
  .field-edit { min-width: 44px; min-height: 44px; font-size: 12px; }
  .field-editor__actions button, .cms-approve, .proposal__summary { min-height: 44px; }
  .proposal__impact { font-size: 12px; }
  .chat-composer { margin-inline: 10px; }
  .chat-composer input { font-size: 14px; }
  .chat-composer button { width: 44px; height: 44px; }
  .cms-demo-cta { display: grid; gap: .9rem; text-align: left; }
  .cms-platform-nav { grid-template-columns: 1fr; }
  .cms-platform-nav a, .cms-platform-nav a:nth-child(2n), .cms-platform-nav a:nth-last-child(-n + 2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .cms-platform-nav a:last-child { border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .typing-dots i { animation: none; }
}
