/* Keep in sync with marketing-demo/src/visual-tokens.css.
   Each Webflow library bundles its own copy; no runtime cross-library dependency. */
:host, :host {
  --ortium-radius-frame: 8px;
  --ortium-radius-panel: 6px;
  --ortium-radius-control: 4px;
}

.comparison-section, .comparison-section * { box-sizing: border-box; }
.comparison-section { container: comparison / inline-size; width: 100%; max-width: 100%; min-width: 0; margin: 0; padding: 0; color: #111827; font-family: "Outfit Variable", "Outfit", sans-serif; line-height: 1.5; text-align: left; -webkit-font-smoothing: antialiased; }
.comparison-section :is(h3,h4,h5,p) { margin: 0; }
.comparison-section svg { flex-shrink: 0; width: 1em; height: 1em; }
.comparison-section .comparison-grid { border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; background: #fff; }
.comparison-section .comparison-column-labels, .comparison-section .comparison-pair { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.comparison-section .comparison-column-labels { border-bottom: 1px solid #e5e7eb; }
.comparison-section .comparison-column-labels > div { padding: 20px 48px; font-size: 14px; font-weight: 400; color: #6b7280; }
.comparison-section .comparison-column-labels > div + div { border-left: 1px solid #e5e7eb; color: #111827; }
.comparison-section .comparison-pair + .comparison-pair { border-top: 1px solid #e5e7eb; }
.comparison-section .comparison-cell { min-width: 0; padding: 46px 48px 0; display: flex; flex-direction: column; }
.comparison-section .comparison-cell + .comparison-cell { border-left: 1px solid #e5e7eb; }
.comparison-section .comparison-cell-copy { margin-bottom: 24px; max-width: 460px; }
.comparison-section .comparison-cell-copy h3 { font-size: 21px; line-height: 1.3; font-weight: 500; letter-spacing: -.02em; }
.comparison-section .comparison-cell-copy p { color: #818898; font-size: 16px; line-height: 1.5; margin-top: 6px; }
.comparison-section .comparison-mobile-label { display: none; }
/* Four independent 5:4 canvases, with product fragments rather than miniature dashboards. */
.comparison-section .comparison-art { container: comparison-art / inline-size; width: 100%; aspect-ratio: 5 / 4; margin-top: auto; position: relative; color: #374151; background: #f8f9fb; border: 1px solid #f0f1f4; border-bottom: 0; border-radius: var(--ortium-radius-frame) var(--ortium-radius-frame) 0 0; }
.comparison-section .comparison-art > div { position: absolute; inset: 4cqw; background: #fff; border: 1px solid #e5e7eb; border-radius: var(--ortium-radius-frame); box-shadow: 0 .5cqw 2cqw #11182705; overflow: hidden; }
.comparison-section .comparison-research-window { display: flex; flex-direction: column; }
/* Browser-style source tabs; decorative, like the rest of this illustration. */
.comparison-section .comparison-research-tabs { display:grid; grid-template-columns:8cqw repeat(5,minmax(0,1fr)); flex-shrink:0; gap:.35cqw; padding:.6cqw .8cqw 0; background:#edf0f4; border-bottom:1px solid #dfe3e9; font-size:1.8cqw; color:#687281; }
.comparison-section .comparison-research-tabs > span { position:relative; min-width:0; padding:1.2cqw .7cqw; display:flex; align-items:center; gap:.6cqw; white-space:nowrap; border:1px solid transparent; border-bottom:0; border-radius:1.1cqw 1.1cqw 0 0; }
.comparison-section .comparison-research-tabs > span + span::before { content:""; position:absolute; left:-.3cqw; height:2cqw; border-left:1px solid #d4dae2; }
.comparison-section .comparison-research-tabs > span:nth-of-type(2)::before { display:none; }
.comparison-section .comparison-research-tabs > span:first-of-type { color:#374151; background:#fff; border-color:#dfe3e9; box-shadow:0 1px 0 white; }
.comparison-section .comparison-research-tabs > span:first-of-type::before,
.comparison-section .comparison-research-tabs > span:first-of-type::after { content:""; position:absolute; bottom:-1px; width:calc(.8cqw + 1px); height:.8cqw; pointer-events:none; }
.comparison-section .comparison-research-tabs > span:first-of-type::before { left:-.8cqw; background:radial-gradient(circle .8cqw at 0 0,transparent calc(100% - .75px),#dfe3e9 calc(100% - .75px),#dfe3e9 calc(100% - .15px),#fff 100%); }
.comparison-section .comparison-research-tabs > span:first-of-type::after { right:-.8cqw; background:radial-gradient(circle .8cqw at 100% 0,transparent calc(100% - .75px),#dfe3e9 calc(100% - .75px),#dfe3e9 calc(100% - .15px),#fff 100%); }
.comparison-section .comparison-research-tabs svg { width:1.9cqw; height:1.9cqw; color:#2563eb; }
.comparison-section .comparison-research-tabs > span:nth-of-type(2) > svg:first-child { color:#de7950; }
.comparison-section .comparison-research-tabs > span:nth-of-type(3) > svg:first-child { color:#536172; }
.comparison-section .comparison-research-tabs > span:nth-of-type(4) > svg:first-child { color:#9966ff; }
.comparison-section .comparison-research-tabs > span:nth-of-type(5) > svg:first-child { color:#0a66c2; }
.comparison-section .comparison-research-tabs svg.comparison-tab-close { width:1.3cqw; height:1.3cqw; margin-left:auto; color:#929ba8; stroke-width:1.6; }
.comparison-section .comparison-window-dots { display:flex; align-items:center; justify-content:center; gap:.85cqw; padding-bottom:.4cqw; }
.comparison-section .comparison-window-dots i { width:1.45cqw; height:1.45cqw; border-radius:50%; background:#ff6058; box-shadow:inset 0 0 0 .1cqw #0000000d; }
.comparison-section .comparison-window-dots i:nth-child(2) { background:#ffbd2e; }
.comparison-section .comparison-window-dots i:nth-child(3) { background:#28c840; }
.comparison-section .comparison-tab-title { display:block; min-width:0; flex:1; overflow:hidden; white-space:nowrap; mask-image:linear-gradient(to right,#000 calc(100% - 2cqw),transparent); }
.comparison-section .comparison-research-document { padding: 3cqw; flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 3cqw; }
.comparison-section .comparison-doc-heading { display: flex; align-items: center; gap: 1.4cqw; font-size: 2.8cqw; font-weight: 500; color: #374151; }
.comparison-section .comparison-doc-heading svg { color: #9ca3af; width: 3cqw; height: 3cqw; }
.comparison-section .comparison-research-table { width: 100%; flex: 1; border-collapse: collapse; table-layout: fixed; font-size: 2.25cqw; }
.comparison-section .comparison-research-table :is(th,td) { text-align: left; padding: 1.5cqw 1.4cqw; border: 1px solid #e5e7eb; font-weight: 400; }
.comparison-section .comparison-research-table thead { color: #6b7280; background: #f9fafb; font-size: 2.1cqw; }
.comparison-section .comparison-research-table img { width: 2.2cqw; height: 2.2cqw; vertical-align: -.3cqw; margin-right: .8cqw; }
.comparison-section .comparison-pending { color: #b0b6c0; }
.comparison-section .comparison-research-source { display: grid; grid-template-columns: 28cqw 1fr; gap: 2.5cqw; align-items: center; }
.comparison-section .comparison-research-source > img { width: 100%; height: auto; border: 1px solid #e5e7eb; border-radius: var(--ortium-radius-control); }
.comparison-section .comparison-research-source span { font-size: 1.9cqw; color: #9ca3af; }
.comparison-section .comparison-research-source p { font-size: 2.35cqw; line-height: 1.5; margin-top: .7cqw; color: #6b7280; }
/* Ortium's analysis setup: white form, company selectors, mesh template cards. */
.comparison-section .comparison-art > .comparison-analysis-form { padding: 3cqw; display: flex; flex-direction: column; font-size: 2.2cqw; }
.comparison-section .comparison-analysis-form > * { flex-shrink: 0; }
.comparison-section .comparison-analysis-form h4 { font-size: 2.9cqw; font-weight: 500; color: #111827; }
.comparison-section .comparison-form-subhead { color: #6b7280; font-size: 2.15cqw; margin-top: .5cqw; }
.comparison-section .comparison-company-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5cqw; margin-top: 2.5cqw; }
.comparison-section .comparison-company-fields > div > span { display: block; font-size: 2.2cqw; margin-bottom: .8cqw; color: #374151; }
.comparison-section .comparison-select { display: flex; align-items: center; gap: 1cqw; border: 1px solid #d1d5db; border-radius: 1.3cqw; padding: 1.35cqw 1.6cqw; font-size: 2.2cqw; min-width: 0; }
.comparison-section .comparison-select img { width: 2.5cqw; height: 2.5cqw; }
.comparison-section .comparison-select svg { margin-left: auto; width: 2.5cqw; height: 2.5cqw; color: #6b7280; }
.comparison-section .comparison-template-label { display: flex; justify-content: space-between; align-items: center; margin: 2.5cqw 0 1.5cqw; font-size: 2.25cqw; font-weight: 500; color: #111827; }
.comparison-section .comparison-template-label > div { display: flex; gap: .7cqw; }
.comparison-section .comparison-template-label svg { width: 3.8cqw; height: 3.8cqw; padding: .5cqw; border: 1px solid #e5e7eb; border-radius: .8cqw; color: #6b7280; transform: rotate(90deg); }
.comparison-section .comparison-template-label svg + svg { transform: rotate(-90deg); }
.comparison-section .comparison-templates { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 2cqw; flex: 0 0 auto; min-height: 0; }
.comparison-section .comparison-template { position:relative; display:flex; flex-direction:column; gap:1.7cqw; padding:2.2cqw; border:1px solid #e5e7eb; border-radius:1.4cqw; background:#fff; overflow:hidden; }
.comparison-section .comparison-template-selected { border-color:#93b4fc; background:#eff6ff; }
.comparison-section .comparison-template-top { display:flex; flex-shrink:0; }
.comparison-section .comparison-template-top > span { display:grid; place-items:center; width:5.5cqw; height:5.5cqw; border-radius:1.3cqw; background:#f3f4f6; color:#6b7280; }
.comparison-section .comparison-template-selected .comparison-template-top > span { color:#2563eb; background:#dbeafe; }
.comparison-section .comparison-template-top svg { width:3cqw; height:3cqw; }
.comparison-section .comparison-template-copy { min-width:0; }
.comparison-section .comparison-template-copy h5 { white-space:pre-line; font-weight:500; font-size:2.15cqw; line-height:1.4; color:#182033; min-height:6cqw; }
.comparison-section .comparison-template-copy p { font-size:1.85cqw; line-height:1.4; min-height:5.2cqw; margin-top:.8cqw; color:#6b7280; }
.comparison-section .comparison-form-bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: 2cqw; margin-top: auto; padding-top: 1.5cqw; }
.comparison-section .comparison-output { font-size: 2.2cqw; }
.comparison-section .comparison-output > span { color: #111827; font-weight: 500; }
.comparison-section .comparison-output > div { display: flex; gap: 1.5cqw; margin-top: 1cqw; }
.comparison-section .comparison-output > div > span { display: flex; gap: 1cqw; align-items: center; padding: 1.2cqw 1.5cqw; border: 1px solid #e5e7eb; border-radius: 1.3cqw; color: #6b7280; font-size: 2cqw; }
.comparison-section .comparison-output .comparison-selected-output { border-color: #93c5fd; background: #eff6ff; color: #2563eb; }
.comparison-section .comparison-form-footer { display: flex; justify-content: flex-end; }
.comparison-section .comparison-run { display: flex; align-items: center; gap: 1.5cqw; background: #2563eb; color: #fff; border-radius: 1.3cqw; padding: 1.4cqw 2cqw; font-size: 2.2cqw; }
/* Plain draft on the left; agency-branded deliverable on the right. */
.comparison-section .comparison-email-header { display: flex; justify-content: space-between; padding: 2.2cqw 3cqw; border-bottom: 1px solid #e5e7eb; font-size: 2.5cqw; background: #fafafa; }
.comparison-section .comparison-email-header > span + span { font-size: 2cqw; color: #9ca3af; }
.comparison-section .comparison-email-line { margin: 0 3cqw; display: flex; gap: 2cqw; padding: 1.7cqw 0; border-bottom: 1px solid #e5e7eb; font-size: 2.25cqw; }
.comparison-section .comparison-email-line > span:first-child { color: #9ca3af; width: 9cqw; }
.comparison-section .comparison-email-content { padding: 2.5cqw 3cqw; font-size: 2.55cqw; line-height: 1.45; }
.comparison-section .comparison-email-content p + p { margin-top: 1.8cqw; }
.comparison-section .comparison-email-signoff { margin-top: 2cqw; }
.comparison-section .comparison-email-signoff span { display: block; color: #9ca3af; font-size: 2.3cqw; }
.comparison-section .comparison-email-footer { display: flex; align-items: center; gap: 1cqw; padding: 1.5cqw 2cqw; margin: 0 3cqw; width: fit-content; border: 1px solid #e5e7eb; border-radius: var(--ortium-radius-control); color: #6b7280; font-size: 2cqw; }
.comparison-section .comparison-art > .comparison-microsite-document { padding: 3.5cqw; display: flex; flex-direction: column; }
.comparison-section .comparison-microsite-document > * { flex-shrink: 0; }
.comparison-section .comparison-microsite-brand { display: flex; justify-content: space-between; align-items: center; margin-bottom: 3cqw; }
.comparison-section .comparison-microsite-brand > strong { font-size: 2.8cqw; font-weight: 500; color: #111827; }
.comparison-section .comparison-microsite-brand > strong > span { color: #2563eb; }
.comparison-section .comparison-microsite-brand > span { display: flex; align-items: center; gap: .8cqw; font-size: 1.8cqw; color: #6b7280; }
.comparison-section .comparison-microsite-brand img { width: 2.3cqw; height: 2.3cqw; }
.comparison-section .comparison-microsite-document h4 { color: #111827; font-size: 4cqw; font-weight: 500; line-height: 1.13; letter-spacing: -.03em; }
.comparison-section .comparison-microsite-intro { color: #6b7280; font-size: 2.3cqw; line-height: 1.5; margin-top: 1.8cqw; max-width: 67cqw; }
.comparison-section .comparison-microsite-intro strong { font-weight: 500; color: #374151; }
.comparison-section .comparison-chart { margin: 4cqw 0 2cqw; }
.comparison-section .comparison-chart-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.6cqw; }
.comparison-section .comparison-chart-heading h5 { font-size: 2.3cqw; font-weight: 500; color: #111827; }
.comparison-section .comparison-chart-heading > span { color: #9ca3af; font-size: 1.8cqw; }
.comparison-section .comparison-donut-layout { display: grid; grid-template-columns: 22cqw minmax(0, 1fr); align-items: center; gap: 4cqw; }
.comparison-section .comparison-donut { display: block; width: 22cqw; height: 22cqw; }
.comparison-section .comparison-donut-value { font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; fill: #111827; }
.comparison-section .comparison-donut-caption { font-size: 9px; fill: #6b7280; }
.comparison-section .comparison-donut-legend { display: flex; flex-direction: column; gap: .7cqw; padding: 0; margin: 0; list-style: none; }
.comparison-section .comparison-donut-legend li { display: grid; grid-template-columns: 1.2cqw minmax(0, 1fr) auto; align-items: center; gap: .9cqw; font-size: 1.8cqw; line-height: 1.4; color: #6b7280; }
.comparison-section .comparison-donut-swatch { width: 1.2cqw; height: 1.2cqw; border-radius: .3cqw; }
.comparison-section .comparison-donut-legend strong { color: #9ca3af; font-weight: 400; font-variant-numeric: tabular-nums; }
.comparison-section .comparison-microsite-recommendation { border-top: 1px solid #e5e7eb; padding-top: 1.5cqw; margin-top: auto; }
.comparison-section .comparison-microsite-recommendation h5 { font-size: 2.3cqw; font-weight: 500; color: #111827; }
.comparison-section .comparison-microsite-recommendation p { font-size: 2.3cqw; line-height: 1.5; margin-top: .8cqw; color: #6b7280; }
@container comparison (max-width: 850px) {
  .comparison-section .comparison-cell { padding: 32px 28px 0; }
  .comparison-section .comparison-column-labels > div { padding-inline: 28px; }
  .comparison-section .comparison-cell-copy h3 { font-size: 19px; }
  .comparison-section .comparison-cell-copy p { font-size: 14px; }
}
@container comparison (max-width: 640px) {
  .comparison-section .comparison-column-labels { display: none; }
  .comparison-section .comparison-pair { grid-template-columns: minmax(0,1fr); }
  .comparison-section .comparison-cell { padding: 32px 24px 0; }
  .comparison-section .comparison-cell + .comparison-cell { border-left: 0; border-top: 1px solid #e5e7eb; }
  .comparison-section .comparison-mobile-label { display: block; font-size: 12px; color: #9ca3af; margin-bottom: 14px; }
  .comparison-section .comparison-cell-positive .comparison-mobile-label { color: #374151; }
  .comparison-section .comparison-cell-copy { max-width: 440px; margin-bottom: 22px; }
  .comparison-section .comparison-cell-copy h3 { font-size: 21px; }
}

