:root {
  --site-ink: #22242b;
  --site-text: #5e5965;
  --site-surface: #f7f8f9;
  --site-focus: #f3f1f7;
  --site-rule: #dcdbe2;
  --site-accent-rgb: 111 92 168;
}
/* Quiet section contrast and the working-day product preview. */
body { background: #fff; }
[hidden] { display: none !important; }
.hero-actions .text-link { margin-top: 0; }
main > section:nth-of-type(even):not(.final-cta):not(.legal-document) { background-color: var(--site-surface); }
.site-fold { width: 100%; padding-left: max(24px, calc((100% - 1296px) / 2)); padding-right: max(24px, calc((100% - 1296px) / 2)); }
.experience-hero { position: relative; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; gap: 56px; min-height: 660px; padding: 64px max(24px, calc((100% - 1296px) / 2)); overflow: hidden; border-bottom: 1px solid var(--line); }
.hero-intro { max-width: 510px; position: relative; z-index: 1; }
.hero-intro h1 { font: 48px/1.12 Georgia, serif; margin: 20px 0 28px; letter-spacing: 0; }
.hero-intro > p:not(.eyebrow):not(.hero-line) { color: var(--site-text); font-size: 16px; line-height: 1.7; max-width: 480px; }
.hero-intro .hero-line { font-size: 21px; line-height: 1.4; }
.hero-intro .hero-actions { flex-wrap: wrap; gap: 20px; margin-top: 30px; }
.hero-intro .hero-actions .text-link { margin-top: 0; }
.day-preview { min-width: 0; width: 100%; }
.preview-images { position: relative; aspect-ratio: 1.49; background: #fff; overflow: hidden; }
.preview-images img { position: absolute; width: 100%; height: 100%; object-fit: contain; inset: 0; opacity: 0; transition: opacity 450ms ease; }
.preview-images img.is-visible { opacity: 1; }
.preview-controls { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; margin-top: 22px; }
.scene-button { font: 600 14px/1.4 Urbanist, Arial, sans-serif; padding: 13px 0; border: 0; border-top: 2px solid #dedbe4; color: var(--site-text); background: none; text-align: left; cursor: pointer; }
.scene-button span { margin-right: 8px; font-size: 12px; font-weight: 500; }
.scene-button.is-active { border-color: var(--purple); color: var(--purple); }
.scene-footer { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 18px; min-height: 62px; }
.scene-footer p { font-size: 14px; color: var(--site-text); line-height: 1.5; margin: 8px 0; }
.preview-playback { font: 600 12px Urbanist, Arial, sans-serif; border: 0; border-bottom: 1px solid #b8afcb; padding: 8px 0; background: none; color: var(--purple); cursor: pointer; min-width: 40px; }
.preview-disclaimer { font-size: 11px; color: #716b78; margin: 8px 0 0; }
.refreshed-home .site-fold { padding-top: 64px; padding-bottom: 64px; }
.refreshed-home .section-intro, .iress-page .section-intro, .faybl-product-page .section-intro { display: block; max-width: 800px; margin-bottom: 36px; }
.refreshed-home .section-intro > .eyebrow, .iress-page .section-intro > .eyebrow, .faybl-product-page .section-intro > .eyebrow { color: var(--purple); font-size: 12px; font-weight: 700; margin: 0 0 18px; }
.refreshed-home .section-intro > p:not(.eyebrow), .iress-page .section-intro > p:not(.eyebrow), .faybl-product-page .section-intro > p:not(.eyebrow) { max-width: 720px; font-size: 16px; line-height: 1.65; color: var(--site-text); }
.refreshed-home .section-intro h2, .iress-page .section-intro h2 { margin: 18px 0 24px; }
.working-day-fold .section-intro { max-width: 800px; }
.illustrated-intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.illustrated-intro .section-intro { margin-bottom: 0; min-width: 0; }
.illustrated-intro .section-intro h2 { font-size: 40px; line-height: 1.16; }
.illustrated-intro .section-intro > p:not(.eyebrow) { font-size: 15px; line-height: 1.65; margin-top: 18px; }
.qualitative-art { margin: 0; min-width: 0; }
.qualitative-art img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; }
.outcome-columns, .meeting-journey { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; margin: 36px 0 0; }
.outcome-columns article, .meeting-journey article { border-top: 1px solid #d8dcdf; padding: 24px 0 0; }
.outcome-columns article > span, .meeting-journey article > span { font-size: 12px; color: var(--purple); font-weight: 700; }
.outcome-columns h3, .meeting-journey h3 { font: 600 19px/1.35 Urbanist, Arial, sans-serif; margin: 14px 0 10px; }
.outcome-columns p, .meeting-journey p { font-size: 15px; color: var(--site-text); line-height: 1.65; margin: 0; }
.fold-links { display: flex; flex-wrap: wrap; gap: 32px; margin-top: 30px; }
.compact-news { display: flex; align-items: center; gap: 44px; border-top: 1px solid #e1dce8; margin-top: 48px; padding-top: 28px; }
.compact-news a { display: flex; align-items: center; gap: 20px; max-width: 360px; font-size: 14px; }
.compact-news strong { font: bold 28px Georgia, serif; }
.compact-news .eyebrow { margin: 0; }
.home-proof > .fine-print { margin: 18px 0 0; font-size: 11px; }
main .results-fold { background: var(--site-surface) !important; }
.results-fold .hero-actions { margin-top: 34px; }
.results-fold h2 { color: #282333; }
.faybl-product-page > .site-fold { padding-top: 70px; padding-bottom: 70px; }
.faybl-product-page .product-hero { min-height: 480px; padding-top: 40px; padding-bottom: 40px; }
.faybl-product-page .meeting-journey { margin-bottom: 36px; }
.faybl-product-page > .whole-experience-fold { background: var(--site-surface); }
.whole-experience-fold .capability-availability { margin: 24px 0 0; max-width: 940px; }
.whole-experience-fold .customer-quote { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 32px; align-items: center; margin: 28px 0 0; padding: 24px 0 0; border-left: 0; border-top: 1px solid #d8dcdf; }
.whole-experience-fold .customer-quote blockquote { margin: 0; font-size: 23px; line-height: 1.45; }
.whole-experience-fold .customer-quote figcaption { line-height: 1.5; }
.whole-experience-fold .trust-and-action { margin-top: 28px; padding-top: 28px; }
.whole-experience-fold .hero-actions { flex-wrap: wrap; gap: 20px; }
.faybl-product-page .feature-cloud-intro { max-width: 900px; }
.feature-cloud-intro h2 { font-size: 40px; line-height: 1.18; }
.feature-cloud { padding: 28px 0 18px; border-top: 1px solid #d8dcdf; border-bottom: 1px solid #d8dcdf; }
.feature-cloud-focus { text-align: center; margin-bottom: 20px; }
.feature-cloud-focus p:first-child { margin: 0; font: 48px/1.2 Georgia, serif; color: var(--purple); }
.feature-cloud-focus p:last-child { margin: 12px 0 0; font-size: 16px; line-height: 1.6; color: var(--site-text); }
.feature-cloud-legend { text-align: center; font-size: 12px; line-height: 1.6; color: var(--site-text); margin: 0 0 20px; }
.feature-cloud-window { max-height: 440px; overflow-y: auto; scrollbar-gutter: stable; scrollbar-color: #a4a0b3 #e6e9ed; padding: 4px 16px 12px; }
.feature-cloud-window:focus-visible { outline: 2px solid var(--purple); outline-offset: 3px; }
.feature-cloud-terms { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 12px 22px; list-style: none; padding: 0; margin: 0; }
.feature-term { font-size: 14px; line-height: 1.5; color: var(--site-text); max-width: 100%; overflow-wrap: anywhere; }
.feature-term-medium { font-size: 17px; font-weight: 500; }
.feature-term-emphasis { font-size: 22px; font-weight: 600; }
.feature-term abbr { font-size: 10px; font-weight: 600; vertical-align: super; text-decoration: none; }
.feature-cloud-purpose { max-width: 950px; margin: 24px 0 0; font-size: 17px; line-height: 1.7; color: #393c45; }
#features { background: var(--site-surface); color: var(--site-ink); }
#features h2, #features .feature-cloud-focus p:first-child { color: var(--site-ink); }
#features .eyebrow { color: var(--purple); }
#features .section-intro > p:not(.eyebrow), #features .feature-cloud-purpose { color: var(--site-text); }
#features .feature-cloud { border-color: #cdd7d1; }
#features .feature-cloud-focus p:last-child { color: var(--purple); }
#features .feature-cloud-legend, #features .capability-availability { color: var(--site-text); }
#features .capability-availability { max-width: 940px; margin: 20px 0 0; line-height: 1.7; }
#features .feature-cloud-window { scrollbar-color: #83998d #e3eae6; }
#features .feature-cloud-window:focus-visible { outline-color: var(--purple); }
#features .feature-term { color: var(--site-text); }
#features .feature-term-emphasis { color: var(--site-ink); }
.feature-next { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px 36px; margin-top: 28px; padding-top: 24px; border-top: 1px solid #cdd7d1; }
#features .feature-next a { color: var(--site-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 5px; line-height: 1.6; }
#features .feature-next a:hover { color: var(--purple); }
#features .feature-next a:focus-visible { outline: 2px solid var(--purple); outline-offset: 5px; }
@media (max-width: 760px) {
  .feature-cloud-intro h2 { font-size: 30px; }
  .feature-cloud-window { max-height: 360px; padding-left: 4px; padding-right: 10px; }
  .feature-cloud-terms { gap: 10px 16px; }
  .feature-term { font-size: 13px; }
  .feature-term-medium { font-size: 15px; }
  .feature-term-emphasis { font-size: 18px; }
  .feature-cloud-purpose { font-size: 15px; }
}
.library-fold { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.library-intro h2 { font: 40px/1.16 Georgia, serif; margin: 16px 0 26px; }
.library-intro p { font-size: 16px; color: var(--site-text); line-height: 1.7; }
.library-directory article { display: flex; gap: 24px; border-top: 1px solid #dfdbe5; padding: 24px 0; }
.library-directory article > span { font-size: 12px; color: var(--purple); padding-top: 4px; }
.library-directory h3 { font: 600 18px/1.4 Urbanist, Arial, sans-serif; margin: 0 0 8px; }
.library-directory p { font-size: 15px; line-height: 1.6; color: #625d69; margin: 0; }
.integration-directory { margin-top: 30px; }
.pipeline-note { padding: 20px 0; border-top: 1px solid #d7dde1; display: flex; align-items: baseline; gap: 30px; }
.pipeline-note strong { font-size: 18px; color: #443558; }
.pipeline-note p { font-size: 14px; line-height: 1.6; margin: 0; color: #625d69; }
.xplan-teaser-link { display: flex; justify-content: space-between; gap: 30px; align-items: center; padding: 24px 0 0; margin-top: 24px; border-top: 1px solid #d7dde1; }
.xplan-teaser-link strong { font-size: 20px; }
.xplan-teaser-link p { color: #625d69; font-size: 15px; line-height: 1.6; }
.iress-hero { min-height: 500px; display: grid; grid-template-columns: 1.3fr .7fr; gap: 60px; align-items: center; padding-top: 70px; padding-bottom: 70px; }
.iress-hero h1 { font: 52px/1.12 Georgia, serif; margin: 22px 0; }
.iress-hero p:not(.eyebrow) { max-width: 690px; line-height: 1.65; }
.iress-signature { display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap; }
.iress-signature img { width: 130px; height: 70px; object-fit: contain; }
.iress-signature img:first-child { width: 140px; }
.iress-signature span { font: 30px Georgia, serif; color: #b5adbf; }
.iress-signature strong { font-size: 22px; width: 100%; text-align: center; color: #6c6375; }
.iress-screen { margin: 32px 0; max-width: 1050px; }
.iress-screen img { width: 100%; height: auto; display: block; border: 1px solid #dfdce4; }
.iress-screen figcaption { font-size: 12px; line-height: 1.6; color: #67616d; margin-top: 14px; }
.availability-note { margin-top: 36px; padding: 22px 0; border-top: 1px solid #dcd8e2; border-bottom: 1px solid #dcd8e2; max-width: 1000px; }
.availability-note summary { cursor: pointer; font-weight: 600; }
.availability-note p { font-size: 14px; line-height: 1.7; color: #615b69; }
.practice-visual { position: relative; min-height: 475px; }
.practice-axis { position: absolute; left: 32%; top: 0; height: 100%; width: 1px; background: #ded9e7; }
.practice-core { position: absolute; top: 165px; left: 0; width: 41%; padding: 24px 0; background: #fff; z-index: 1; display: grid; gap: 16px; }
.practice-core img { width: 140px; }
.practice-core span { font-size: 13px; color: #6c6375; max-width: 150px; }
.practice-node { display: block; position: absolute; left: 48%; right: 0; border-top: 1px solid #ddd6e7; padding: 18px 0; }
.practice-node::before { content: ''; position: absolute; width: 28%; left: -28%; height: 1px; background: var(--purple); top: -1px; transform-origin: right; animation: connector-draw 1.2s ease-out both; }
.practice-node > span { font-size: 12px; color: var(--purple); }
.practice-node strong { display: block; font: 23px/1.3 Georgia, serif; margin-top: 9px; }
.practice-node p { font-size: 14px; color: #615b69; line-height: 1.5; margin-bottom: 0; }
.node-people { top: 0; }.node-method { top: 160px; }.node-tools { top: 320px; }
.node-method::before { animation-delay: .6s; }.node-tools::before { animation-delay: 1.2s; }
@keyframes connector-draw { from { transform: scaleX(.2); opacity: .35; } to { transform: scaleX(1); opacity: 1; } }
.hero-human .experience-hero { display: block; min-height: 630px; padding-top: 0; padding-bottom: 0; }
.human-hero-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-human .hero-intro { padding: 70px 40px 70px 0; max-width: 540px; min-height: 630px; background: rgba(255,255,255,.92); box-shadow: -120px 0 0 rgba(255,255,255,.92); }
@media (min-width: 1700px) { .experience-hero { gap: 80px; } }
@media (max-width: 1100px) {
  .experience-hero { gap: 28px; padding-left: 32px; padding-right: 32px; }
  .hero-intro h1 { font-size: 42px; }
  .library-fold { gap: 40px; }
  .compact-news { gap: 24px; }
  .illustrated-intro { gap: 32px; }
  .illustrated-intro .section-intro h2 { font-size: 34px; }
}
@media (max-width: 900px) {
  .illustrated-intro { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .qualitative-art { width: 100%; max-width: 620px; }
  .whole-experience-fold .customer-quote { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}
@media (max-width: 760px) {
  .experience-hero { display: block; min-height: 0; padding: 28px 24px; }
  .hero-intro h1 { font-size: 36px; margin: 16px 0 18px; }
  .hero-intro { max-width: none; }
  .hero-intro .hero-line { font-size: 18px; margin: 16px 0; }
  .hero-intro > p:not(.eyebrow):not(.hero-line) { font-size: 15px; line-height: 1.6; }
  .hero-intro .hero-actions { gap: 18px; margin-top: 24px; }
  .hero-intro .hero-actions .button { width: auto; }
  .day-preview, .practice-visual { margin-top: 22px; }
  .preview-images { height: 170px; aspect-ratio: auto; }
  .preview-controls { gap: 10px; margin-top: 14px; }
  .scene-button { font-size: 12px; }
  .scene-button span { display: none; }
  .scene-footer { min-height: 56px; }
  .scene-footer p { font-size: 13px; }
  .refreshed-home .site-fold, .faybl-product-page > .site-fold, .iress-page > .site-fold { padding: 44px 24px; }
  .faybl-product-page > .product-hero { min-height: 0; padding: 28px 24px; gap: 24px; }
  .faybl-product-page .product-hero .eyebrow { display: none; }
  .faybl-product-page .product-hero .hero-line { margin-top: 18px; font-size: 18px; }
  .faybl-product-page .product-hero .fold-copy > p:not(.hero-line):not(.eyebrow) { font-size: 15px; line-height: 1.6; margin-top: 16px; }
  .faybl-product-page .product-hero .hero-actions, .iress-hero .hero-actions { margin-top: 24px; gap: 16px; }
  .faybl-product-page .product-hero .hero-actions .button, .iress-hero .hero-actions .button { width: auto; }
  .faybl-product-page .product-hero .hero-actions .text-link, .iress-hero .hero-actions .text-link { margin-top: 0; }
  .faybl-product-page .product-hero .hero-product-frame img { height: 185px; width: 100%; object-fit: contain; }
  .iress-hero .hero-actions .button { padding-left: 14px; padding-right: 14px; font-size: 12px; }
  .iress-hero .hero-actions .text-link { font-size: 13px; }
  .outcome-columns, .meeting-journey { grid-template-columns: 1fr; gap: 22px; margin-top: 28px; }
  .outcome-columns article, .meeting-journey article { padding-top: 16px; }
  .compact-news { display: grid; gap: 24px; margin-top: 32px; }
  .library-fold, .iress-hero { display: block; }
  .library-intro h2 { font-size: 32px; }
  .illustrated-intro .section-intro h2 { font-size: 32px; }
  .library-directory { margin-top: 32px; }
  .pipeline-note, .xplan-teaser-link { display: block; }
  .pipeline-note p { margin-top: 12px; }
  .iress-hero h1 { font-size: 40px; }
  .iress-signature { margin-top: 36px; }
  .iress-signature img { width: 85px; height: 45px; }
  .iress-signature img:first-child { width: 115px; }
  .practice-visual { min-height: 230px; }
  .practice-core { top: 67px; width: 39%; padding: 14px 0; gap: 10px; }
  .practice-core img { width: 105px; }
  .practice-core span { max-width: 110px; font-size: 12px; }
  .practice-node { left: 44%; padding: 10px 0; }
  .practice-node strong { font-size: 18px; margin-top: 6px; }
  .practice-node p { display: none; }
  .node-people { top: 0; }.node-method { top: 80px; }.node-tools { top: 160px; }
  .hero-human .experience-hero { padding: 0 24px 210px; }
  .hero-human .hero-intro { min-height: 0; max-width: none; padding: 28px 0 24px; background: rgba(255,255,255,.95); box-shadow: -24px 0 0 rgba(255,255,255,.95), 24px 0 0 rgba(255,255,255,.95); }
  .human-hero-art { object-position: 60% bottom; }
}
@media (max-width: 760px) and (max-height: 850px) {
  .experience-hero { padding-top: 24px; padding-bottom: 24px; }
  .preview-images { height: 130px; }
  .preview-disclaimer { margin-top: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .preview-images img { transition: none; }
  .practice-node::before { animation: none; }
}

.pricing-page .agent-plans { background: #f4f6f5; }
.pricing-page .pricing-fit { background: var(--site-surface); }
.pricing-page .pricing-plans article { min-width: 0; }
.pricing-page .plan-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; margin: 20px 0; }
.pricing-page .plan-price strong { font: 400 38px/1.15 Georgia, "Times New Roman", serif; color: var(--ink); }
.pricing-page .plan-price span { font-size: 14px; }
.pricing-page .pricing-plans .text-link { margin-top: 24px; }
.pricing-page .pricing-note { font-size: 14px; line-height: 1.65; color: var(--site-text); margin: 32px 0 0; max-width: 760px; }

/* Alternate intimate and wide imagery without changing reading order on mobile. */
@media (min-width: 901px) {
  .art-on-left .qualitative-art { grid-column: 1; grid-row: 1; }
  .art-on-left .section-intro { grid-column: 2; grid-row: 1; }
}
.refreshed-home .working-day-fold .qualitative-art img { aspect-ratio: 3 / 2; }
.refreshed-home .results-fold .qualitative-art { align-self: stretch; display: flex; align-items: center; }

.day-preview[role="region"] .preview-images { aspect-ratio: 1.6; max-height: 340px; height: auto; border: 1px solid #e3e0e8; }
.preview-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 12px; font-size: 13px; font-weight: 600; color: #554c65; }
.carousel-arrows, .preview-actions { display: flex; align-items: center; gap: 8px; }
.slide-count { min-width: 44px; text-align: center; font-size: 12px; font-variant-numeric: tabular-nums; }
.preview-icon { display: inline-grid; place-items: center; flex: 0 0 40px; width: 40px; min-width: 40px; height: 40px; padding: 0; border: 1px solid #d9d4e3; border-radius: 4px; background: #fff; cursor: pointer; }
.preview-icon:hover { background: #f1eef7; border-color: #9a8bbb; }
.preview-icon img { display: block; width: 20px; height: 20px; }
.day-preview[role="region"] .preview-controls { margin-top: 12px; }
.day-preview[role="region"] .scene-footer { grid-template-columns: minmax(0, 1fr) auto; min-height: 156px; gap: 14px; padding-top: 6px; }
.scene-description h2 { font: 600 17px/1.4 Urbanist, Arial, sans-serif; margin: 10px 0 6px; }
.scene-description p { margin-top: 0; font-size: 14px; }
.preview-actions { padding-top: 10px; }
.day-preview[role="region"] .preview-disclaimer { margin-top: 0; }

.pricing-page > .site-fold { padding-top: 64px; padding-bottom: 64px; }
.pricing-page .contact-hero { min-height: 0; padding-top: 72px; padding-bottom: 64px; align-items: start; }
.pricing-page .section-intro { display: block; max-width: 810px; margin-bottom: 32px; }
.pricing-page .section-intro > .eyebrow { margin: 0 0 18px; }
.pricing-page .section-intro h2 { margin: 0 0 22px; }
.pricing-page .section-intro p:not(.eyebrow) { font-size: 16px; line-height: 1.7; color: var(--site-text); }
.pricing-page .pricing-plans { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }
.pricing-page .pricing-plans article { display: flex; flex-direction: column; border-top: 2px solid #c8c1d5; }
.pricing-page .pricing-plans article > p:not(.plan-price) { flex: 1; }
.pricing-page .pricing-plans .enterprise-plan { border-color: #57786c; }
.pricing-page .enterprise-plan .plan-price strong { color: #385e50; font-size: 32px; }
.pricing-page .plan-price { min-height: 46px; }
.pricing-page .value-intro .section-intro { margin-bottom: 0; }
.pricing-page .pricing-fit .video-grid { margin-top: 52px; }
.pricing-page .hero-actions { flex-wrap: wrap; gap: 22px; }
.pricing-page .value-section { background: #fff; }
.value-scenario, .value-caveat { max-width: 1030px; color: var(--site-text); line-height: 1.65; font-size: 14px; }
.value-scenario { padding: 18px 0; border-top: 1px solid #ddd7e6; }
.value-chart { margin-top: 28px; }
.value-chart-heading, .value-chart-row { display: grid; grid-template-columns: minmax(180px, .9fr) minmax(0, 1.5fr) minmax(140px, .55fr); gap: 32px; }
.value-chart-heading { font-size: 12px; font-weight: 600; color: var(--site-text); padding-bottom: 16px; }
.value-chart-row { align-items: center; border-top: 1px solid #dedde2; padding: 26px 0; }
.value-chart-label h3 { font: 600 17px/1.4 Urbanist, Arial, sans-serif; margin: 0 0 8px; }
.value-chart-label p { margin: 0 0 8px; font-size: 14px; line-height: 1.55; color: var(--site-text); }
.value-chart-label small { display: block; font-size: 12px; line-height: 1.5; color: #6b6473; }
.cost-bar-row { display: grid; grid-template-columns: 54px minmax(0, 1fr) 82px; gap: 10px; align-items: center; margin: 10px 0; font-size: 12px; }
.cost-bar-row > strong { text-align: right; font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
.cost-track { height: 18px; background: #f3f2f5; }
.cost-bar { display: block; width: var(--bar-width); height: 100%; }
.manual-bar { background: #98939f; }
.assisted-bar { background: var(--purple); }
.cost-time { margin: 14px 0 0; font-size: 12px; line-height: 1.6; color: var(--site-text); }
.value-saving { display: grid; gap: 6px; }
.value-saving > strong { font: 400 27px/1.25 Georgia, serif; color: #385e50; font-variant-numeric: tabular-nums; }
.value-saving > span { font-size: 12px; color: var(--site-text); }
.value-saving > b { font-weight: 600; font-size: 13px; margin-top: 5px; }
.value-totals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px solid #746288; border-bottom: 1px solid #dcd7e1; padding: 26px 0; gap: 30px; }
.value-totals > div { display: grid; gap: 10px; }
.value-totals span { font-size: 13px; font-weight: 600; }
.value-totals strong { font: 400 31px/1.25 Georgia, serif; color: #463854; }
.value-totals small { font-size: 12px; color: var(--site-text); line-height: 1.6; }
.value-caveat { margin-top: 20px; }
.engagement-comparison { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 32px; margin-top: 52px; padding-top: 28px; border-top: 1px solid #dcd7e1; }
.engagement-comparison .eyebrow { margin-top: 0; }
.engagement-comparison h3 { font: 400 26px/1.25 Georgia, serif; margin: 12px 0; }
.engagement-comparison p { font-size: 14px; line-height: 1.6; color: var(--site-text); }
.engagement-scenario { border-left: 1px solid #ddd7e6; padding-left: 24px; }
.engagement-scenario h4 { font-size: 16px; margin: 0 0 18px; }
.engagement-scenario strong, .engagement-scenario span, .engagement-scenario b { display: block; margin-top: 12px; line-height: 1.5; }
.engagement-scenario strong { font-size: 18px; color: #385e50; }
.engagement-scenario span { font-size: 13px; color: var(--site-text); }
.engagement-scenario b { font-size: 14px; }
.value-method a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1100px) {
  .pricing-page .pricing-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .value-chart-heading, .value-chart-row { grid-template-columns: minmax(150px, .8fr) minmax(0, 1.3fr) 130px; gap: 20px; }
  .engagement-comparison { grid-template-columns: 1fr 1fr; }
  .engagement-comparison > div:first-child { grid-column: 1 / -1; }
  .engagement-scenario { padding-left: 0; border-left: 0; border-top: 1px solid #dcd7e1; padding-top: 22px; }
  .day-preview[role="region"] .scene-footer { min-height: 202px; }
}
@media (max-width: 760px) {
  .day-preview[role="region"] .preview-images { aspect-ratio: 1.49; height: auto; max-height: none; }
  .day-preview[role="region"] .scene-footer { display: block; min-height: 220px; }
  .preview-actions { padding-top: 6px; }
  .day-preview[role="region"] .scene-button { min-height: 48px; }
  .day-preview[role="region"] .scene-description { min-height: 158px; }
  .pricing-page > .site-fold { padding: 44px 24px; }
  .pricing-page .section-intro h2 { font-size: 32px; }
  .value-chart-heading { display: block; }
  .value-chart-heading span { display: block; margin-bottom: 6px; }
  .value-chart-heading span:last-child { display: none; }
  .value-chart-row { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .value-saving { grid-template-columns: 1fr 1fr; align-items: baseline; }
  .value-saving > b { grid-column: 1 / -1; margin: 0; }
  .value-totals { grid-template-columns: 1fr; gap: 24px; }
  .value-totals > div + div { border-top: 1px solid #ddd7e6; padding-top: 24px; }
  .engagement-comparison { grid-template-columns: 1fr; gap: 24px; }
  .cost-bar-row { grid-template-columns: 48px minmax(0, 1fr) 79px; gap: 8px; }
}
@media (max-width: 480px) {
  .pricing-page .pricing-plans { grid-template-columns: minmax(0, 1fr); }
  .pricing-page .pricing-plans article { padding-top: 14px; }
  .pricing-page .plan-price { margin: 14px 0; }
}
@media (min-width: 761px) and (max-height: 850px) {
  .experience-hero:has(.day-preview:not([hidden])) { padding-top: 32px; padding-bottom: 32px; min-height: 0; }
  .day-preview[role="region"] .preview-images { max-height: 240px; }
}

.illustrated-people .person-photo {
  aspect-ratio: 1;
  background: #f5f2ed;
}
.illustrated-people .person-photo img {
  object-fit: contain;
  object-position: center;
}

.pricing-clean > .site-fold { padding-top: 64px; padding-bottom: 64px; }
.pricing-clean .section-intro { margin-bottom: 26px; }
.pricing-clean h1 { margin: 0 0 18px; font: 44px/1.15 Georgia, serif; letter-spacing: 0; }
.pricing-clean .section-intro h2 { font-size: 36px; line-height: 1.2; }
.plan-table-scroll { width: 100%; max-width: 100%; overflow-x: auto; }
.plan-table-scroll:focus-visible { outline: 2px solid var(--purple); outline-offset: 4px; }
.plan-comparison { width: 100%; min-width: 680px; border-collapse: collapse; table-layout: fixed; text-align: left; }
.plan-comparison caption { text-align: left; padding-bottom: 14px; font-size: 13px; color: var(--site-text); }
.plan-comparison th, .plan-comparison td { width: 25%; padding: 20px 22px; border-right: 1px solid #dadde1; vertical-align: top; overflow-wrap: anywhere; }
.plan-comparison th:last-child, .plan-comparison td:last-child { border-right: 0; background: var(--site-surface); }
.plan-comparison thead { background: var(--site-surface); }
.plan-comparison thead th { font-size: 17px; font-weight: 600; }
.plan-comparison .plan-prices td { padding-bottom: 8px; }
.plan-comparison td strong { display: block; font-size: 30px; font-weight: 600; color: #463854; font-variant-numeric: tabular-nums; }
.plan-comparison .plan-prices td:last-child strong { font-size: 25px; line-height: 1.44; color: #385e50; }
.plan-comparison .plan-prices span { display: block; margin-top: 8px; font-size: 13px; line-height: 1.5; color: var(--site-text); }
.plan-comparison .plan-descriptions td { padding-top: 12px; padding-bottom: 24px; border-bottom: 1px solid #dadde1; font-size: 15px; line-height: 1.6; color: var(--site-text); }
.pricing-clean .price-terms { max-width: 940px; margin: 18px 0 0; }
.pricing-clean .hero-actions { margin-top: 26px; gap: 24px; }
.business-case-intro { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 48px; align-items: center; }
.pricing-clean .business-case-intro .section-intro { margin: 0; }
.business-case-art { margin: 0; }
.business-case-art img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; }
.roi-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin: 28px 0 18px; padding: 26px 0; border-top: 1px solid #d8dcdf; border-bottom: 1px solid #d8dcdf; }
.roi-summary dt { font-size: 14px; line-height: 1.5; color: var(--site-text); }
.roi-summary dd { margin: 10px 0; font: 34px/1.2 Georgia, serif; color: #385e50; font-variant-numeric: tabular-nums; }
.roi-summary .roi-detail { margin: 0; font: 13px/1.6 Urbanist, Arial, sans-serif; color: var(--site-text); }
.roi-disclaimer { max-width: 1030px; font-size: 13px; line-height: 1.6; color: var(--site-text); }
.roi-outcomes { max-width: 1030px; font-size: 15px; line-height: 1.65; color: #3d4143; }
.pricing-clean .compact-roi-method { max-width: none; margin-top: 20px; padding: 16px 0; }
.compact-roi-method summary { font-size: 14px; }
.compact-roi-method p { max-width: 1000px; }
.compact-roi-method a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 760px) {
  .pricing-clean > .site-fold { padding: 44px 24px; }
  .pricing-clean h1 { font-size: 34px; }
  .pricing-clean .section-intro h2 { font-size: 30px; }
  .plan-comparison th, .plan-comparison td { padding-left: 16px; padding-right: 16px; }
  .business-case-intro { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .business-case-art { max-width: 210px; }
  .roi-summary { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .roi-summary > div + div { border-top: 1px solid #d8dcdf; padding-top: 20px; }
  .roi-summary dd { font-size: 30px; }
}
.footer-column .footer-solutions-heading { margin-top: 24px; }

/* Shared type rhythm; page-specific hero composition remains intact. */
:is(.refreshed-home, .faybl-product-page, .enterprise-page, .about-page, .pricing-page) { color: var(--site-ink); }
:is(.enterprise-page, .about-page) h1 { font: 400 48px/1.12 Georgia, serif; letter-spacing: 0; }
:is(.refreshed-home, .faybl-product-page, .enterprise-page, .about-page, .pricing-page) .section-intro h2 { font: 400 40px/1.18 Georgia, serif; letter-spacing: 0; }
@media (max-width: 760px) {
  :is(.enterprise-page, .about-page) h1 { font-size: 36px; }
  :is(.refreshed-home, .faybl-product-page, .enterprise-page, .about-page, .pricing-page) .section-intro h2 { font-size: 32px; }
}
