/* Readable type scale: 18px body, 16px controls, 14px secondary information. */
:root {
  --ink: #231a32;
  --muted: #51465e;
  --purple: #7040b8;
  --text-body: 1.125rem;
  --text-small: .875rem;
}
body { font-family: Arial, "Helvetica Neue", sans-serif; font-size: var(--text-body); line-height: 1.7; }
h1, h2, h3, .brand { font-family: "Segoe UI", Arial, sans-serif; font-weight: 700; }
h1, h2, h3 { letter-spacing: -.025em; }
p { color: var(--muted); }
.hero-copy .hero-lead { font-size: 1.25rem; line-height: 1.7; color: #493d57; max-width: 560px; }
.intro-card p, .process-step p, .source-card > p, .post-content p,
.feature-card p, .launch-item p, .faq-list details > p, .enterprise p,
.configure-intro > p, .section-heading > p { font-size: var(--text-body); line-height: 1.75; color: var(--muted); }
.intro-card p, .source-card > p, .feature-card p, .post-content p { max-width: 62ch; }
.section-heading > p { max-width: 360px; flex-basis: 37%; }
.intro-card h2 { font-size: 2rem; line-height: 1.2; }
.process-step h3, .feature-card h3, .launch-item h3 { font-size: 1.5rem; line-height: 1.25; letter-spacing: -.02em; }
.feature-main h3 { font-size: 1.875rem; }
.post-content h3, .source-card h3 { font-size: 1.625rem; line-height: 1.3; }
.post-content p { margin-bottom: 18px; }
.post-content .post-cta { color: #704098; }
.eyebrow, .hero-copy .eyebrow, .feature-main .eyebrow,
.enterprise .eyebrow, .modules-card .eyebrow, .form-heading .eyebrow {
  font-size: var(--text-small); line-height: 1.5; letter-spacing: .065em; font-weight: 700;
}
.button, .hero-actions .button, .price-card > .button, .enterprise .button {
  font-size: 1rem; line-height: 1.45; min-height: 52px; padding: 13px 21px; font-weight: 700;
}
.primary { background: linear-gradient(110deg,#c91878,#7d3fc9); }
.secondary { color: #483254; background: #fff; border-color: #d4c6e1; }
.text-link, .pricing-controls > .text-link, .workflow-foot > a {
  font-size: 1rem; color: #713ba8; line-height: 1.55;
}
.hero-note { font-size: var(--text-small); color: #655570; line-height: 1.65; flex-wrap: wrap; }
.topnav a, .topnav .top-cta { font-size: 1rem; }
.brand-caption { font-size: .875rem; letter-spacing: .025em; color: #ece5f4; }
.sidebar-label { font-size: .8125rem; letter-spacing: .07em; line-height: 1.5; color: #fff; }
.nav-link { font-size: 1rem; gap: 10px; line-height: 1.4; }
.nav-number { font-size: .9375rem; color: #ded0f6; min-width: 21px; }
.nav-link small { font-size: .875rem; line-height: 1.55; color: #e2d8ee; margin-top: 7px; }
.sidebar-bottom p { font-size: 1rem; color: #f2eaf8; }
.sidebar-bottom a { font-size: .9375rem; }
.sidebar-footer { font-size: .75rem; letter-spacing: .055em; line-height: 1.6; color: #e1d5ed; }
.gradient-banner { background: linear-gradient(110deg,#c81978,#8540d2 48%,#175fc4); }
.banner-top { font-size: 1rem; line-height: 1.55; }
.banner-pill { font-size: .875rem; }
.banner-flow { font-size: 1.375rem; line-height: 1.4; }
.banner-bottom { font-size: .9375rem; line-height: 1.7; opacity: 1; }
.tag-list span { font-size: .875rem; color: #614279; padding: 6px 12px; }
.step-tag { font-size: .875rem; line-height: 1.5; color: #633b8d; }
.workflow-foot { align-items: flex-start; flex-wrap: wrap; }
.workflow-foot p { font-size: 1rem; line-height: 1.65; color: #59406d; }
.workflow-illustration figcaption { font-size: .9375rem; color: #674781; line-height: 1.6; }
.demo-toolbar > span { font-size: 1rem; color: #5f4375; }
.scenario-switch button, .billing-toggle button { font-size: 1rem; line-height: 1.5; min-height: 44px; color: #604775; }
.channel-tabs { gap: 20px; }
.channel-tabs button { font-size: 1rem; line-height: 1.5; color: #6a517b; }
.source-label { font-size: .875rem; letter-spacing: .04em; color: #694f7c; }
.source-meta, .source-foot { font-size: .875rem; color: #6c517f; }
.source-settings > div, .source-settings strong { font-size: .9375rem; line-height: 1.6; }
.source-settings span { color: #6b557b; }
.source-settings strong { color: #4d335f; }
.post-top strong { font-size: 1rem; line-height: 1.4; }
.post-top span { font-size: .875rem; color: #73617f; line-height: 1.5; }
.post-tags, .demo-disclaimer { font-size: .875rem; color: #725b81; line-height: 1.6; }
.demo-caption p { font-size: 1rem; line-height: 1.7; color: #655172; }
.demo-caption strong { color: #493155; }
.feature-main p { color: #efe6f7; }
.feature-main .eyebrow { color: #dfc1ff; }
.voice-example > span, .voice-example small { font-size: .875rem; color: #e3c9f6; line-height: 1.6; }
.voice-example p { font-size: 1rem; color: #f4edf9; line-height: 1.7; }
.pricing-controls { flex-wrap: wrap; }
.billing-toggle button span { font-size: .875rem; color: #713e88; }
.price-badge { font-size: .875rem; line-height: 1.5; letter-spacing: .025em; color: #6b3d92; min-height: 42px; }
.price-card.featured .price-badge { color: #992468; }
.price-card h3 { font-size: 1.875rem; line-height: 1.2; }
.price-description { font-size: 1.0625rem; line-height: 1.7; min-height: 0; color: var(--muted); }
.price-main { font-size: 2.25rem; line-height: 1.3; color: var(--ink); }
.price-main > span { font-size: 1rem; color: #685572; }
.price-label, .price-recurring > span, .price-recurring small { font-size: .875rem; line-height: 1.65; color: #665571; }
.price-recurring strong { font-size: 1.375rem; color: #372443; }
.price-benefits { gap: 11px; }
.price-benefits li { font-size: 1.0625rem; line-height: 1.6; color: #51405e; }
.price-benefits li.muted { color: #6a5877; }
.price-benefits li::before { color: #714399; }
.pricing-note { font-size: .875rem; line-height: 1.8; color: #675572; }
.comparison summary, .faq-list summary { font-size: 1.125rem; line-height: 1.55; color: #3b2848; }
table { font-size: .9375rem; min-width: 860px; }
caption { font-size: 1rem; color: #665173; }
th, td { padding: 14px 12px; }
thead th { color: #503063; }
tbody th, td { color: #564061; }
.enterprise p { max-width: 600px; }
.launch-item small { font-size: .9375rem; line-height: 1.65; color: #715287; }
.module-list > div { font-size: 1rem; line-height: 1.6; color: #604c6c; flex-wrap: wrap; gap: 4px 15px; }
.module-list strong { color: #57376c; }
.module-list > p { font-size: .875rem; color: #6d567b; line-height: 1.75; }
.configure-note { font-size: 1rem; line-height: 1.65; color: #6b4d82; }
.form-heading { flex-wrap: wrap; }
.form-step { font-size: .875rem; color: #776284; }
.configure-form label { font-size: 1rem; line-height: 1.5; color: #533c64; flex-wrap: wrap; }
.optional { font-size: .875rem; color: #756181; }
select, input, textarea, .configure-form select, .configure-form input, .configure-form textarea {
  font-size: 1.0625rem; line-height: 1.6; min-height: 52px; padding: 12px 14px; color: #412d4e;
}
input::placeholder, textarea::placeholder { font-size: 1rem; color: #806b8e; opacity: 1; }
.estimate > div { font-size: 1rem; line-height: 1.6; color: #695174; flex-wrap: wrap; }
.estimate strong { font-size: 1.125rem; color: #533164; }
.estimate-total strong { font-size: 1.625rem; color: #783ba0; }
.estimate-savings, .form-hint { font-size: .875rem; line-height: 1.75; color: #705581; }
.brief-result > p, .brief-result .text-link { font-size: 1rem; }
.brief-result summary { font-size: .9375rem; color: #67467f; }
.brief-result textarea { font-size: .9375rem; }
.footer { font-size: .875rem; color: #6e557e; flex-wrap: wrap; }
.footer-brand { font-size: 1.25rem; }
.footer-brand span { font-size: .875rem; color: #6f587d; }
.toast { font-size: 1rem; }

/* Give larger text room rather than shrinking it on smaller screens. */
@media (max-width: 1200px) {
  .hero-layout { grid-template-columns: minmax(0, 1fr); }
  .hero-illustration { width: min(80%, 430px); margin: 20px auto 0; }
  .hero-copy .hero-lead { max-width: 660px; }
  .hero-copy .eyebrow { font-size: .875rem; }
  .demo-toolbar { flex-wrap: wrap; }
  .source-settings > div { gap: 5px; }
  .price-card h3 { font-size: 1.625rem; }
}
@media (max-width: 1000px) {
  .banner-flow { font-size: 1.125rem; gap: 9px; }
  .hero-note { justify-content: flex-start; }
}
@media (max-width: 800px) {
  .topnav .top-cta { font-size: .9375rem; }
  .sidebar { width: min(320px, calc(100vw - 24px)); }
  .hero-copy .hero-lead { font-size: 1.1875rem; }
  .section-heading { flex-direction: column; align-items: flex-start; gap: 18px; }
  .section-heading > p { max-width: 620px; }
  .brand-caption { font-size: .8125rem; }
}
@media (max-width: 650px) {
  .steps-grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .process-step { padding-top: 19px; }
  .step-number { font-size: 2rem; margin-bottom: 14px; }
  .source-settings { display: block; }
  .source-settings > div { display: flex; flex-direction: row; justify-content: space-between; gap: 12px; }
  .source-settings strong { text-align: right; max-width: 60%; }
  .channel-tabs { gap: 14px; flex-wrap: wrap; }
  .pricing-grid { grid-template-columns: minmax(0,1fr); }
  .price-card:last-child { grid-column: auto; }
  .price-card:last-child .price-benefits { display: flex; }
  .price-card:last-child .button { width: 100%; }
  .enterprise .button { white-space: normal; }
  .workflow-foot > a { margin-left: 0; }
}
@media (max-width: 540px) {
  :root { --text-body: 1.0625rem; }
  .hero-copy .hero-lead { font-size: 1.125rem; }
  .hero-copy .eyebrow { font-size: .8125rem; letter-spacing: .04em; }
  .hero-note { gap: 5px 8px; font-size: .875rem; }
  .hero-note .note-divider { display: none; }
  .hero-note .note-price { flex-basis: 100%; padding-left: 20px; }
  .hero-illustration { width: min(100%,340px); margin: 18px auto -7px; }
  .intro-card h2 { font-size: 1.875rem; }
  .process-step h3, .feature-card h3, .launch-item h3 { font-size: 1.5rem; }
  .feature-main h3 { font-size: 1.875rem; }
  .banner-top { font-size: 1rem; }
  .banner-flow { font-size: 1.125rem; gap: 16px 10px; }
  .banner-bottom { font-size: .875rem; }
  .workflow-illustration figcaption { font-size: .875rem; gap: 12px; align-items: flex-start; }
  .illustration-caption-line { display: none; }
  .workflow-illustration figcaption > span:not(.illustration-caption-line) { flex: 1; }
  .scenario-switch button { font-size: .9375rem; white-space: normal; padding: 8px 12px; }
  .source-settings > div, .source-settings strong { font-size: .875rem; }
  .channel-tabs button { font-size: .9375rem; }
  .post-top strong { font-size: .9375rem; }
  .post-top span { font-size: .875rem; }
  .demo-caption { align-items: flex-start; gap: 16px; }
  .caption-number { font-size: 2rem; margin-top: 5px; }
  .demo-caption p { font-size: .9375rem; }
  .billing-toggle button { padding: 9px 10px; font-size: 1rem; white-space: normal; }
  .billing-toggle button span { display: block; margin-left: 0; }
  .price-badge { min-height: 0; }
  .price-card h3 { font-size: 1.875rem; }
  .price-main { font-size: 2.25rem; }
  .price-description { font-size: 1.0625rem; }
  .configure-form { padding: 24px 20px; }
  .estimate { padding: 16px 14px; }
  .estimate > div { font-size: .9375rem; gap: 5px 10px; }
  .estimate-total strong { font-size: 1.5rem; }
  .form-heading .eyebrow { font-size: .8125rem; }
  .form-step { font-size: .8125rem; }
}
