/* CIRMS Features — page-scoped components. Uses the site's existing typography,
   content width, navigation and image viewer. No third-party dependencies. */
html { scroll-padding-top: 164px; }
.features-page { --fx-header-height: 88px; }
.fx-main { --fx-blue: #0864d9; --fx-purple: #7433bc; --fx-red: #bc272f; }
.fx-gl3 { --fx-accent: #0864d9; --fx-tint: #f2f8ff; --fx-border: #d5e6fa; }
.fx-gl4 { --fx-accent: #7433bc; --fx-tint: #f8f4fd; --fx-border: #e4d9f4; }
.fx-gl5 { --fx-accent: #bc272f; --fx-tint: #fff6f6; --fx-border: #f4dcdf; }
.fx-icon { display: block; width: 23px; height: 23px; flex: 0 0 auto; }
.fx-main .text-link .fx-icon, .fx-main .btn .fx-icon { width: 18px; height: 18px; }
.fx-main .text-link { color: var(--fx-accent, var(--blue)); }
.fx-main .section-heading { margin-bottom: 0; }
.fx-main p { overflow-wrap: break-word; }
.fx-main .section-heading h2 { margin-bottom: 18px; }
.fx-hero .page-hero-image { -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 17%, #000 82%, transparent 100%); mask-image: linear-gradient(180deg, transparent 0%, #000 17%, #000 82%, transparent 100%); }
.fx-hero .page-hero-inner { padding-block: 56px 60px; }
.fx-hero .fx-hero-eyebrow { color: #8edfff; margin-top: 20px; font-size: .68rem; }
.fx-hero h1 { font-size: clamp(2.55rem, 4.05vw, 3.85rem); max-width: 880px; margin: 14px 0 21px; line-height: 1.1; }
.fx-hero p { max-width: 720px; }
.fx-hero .actions { margin-top: 25px; }
.fx-hero .btn.secondary { background: rgb(5 24 55 / 55%); border-color: #8297b6; color: #fff; }
.fx-hero .btn.secondary:hover { background: #193a66; }
.fx-section-nav { position: sticky; top: var(--fx-header-height); z-index: 50; border-bottom: 1px solid #dde6f1; background: rgb(255 255 255 / 98%); }
.fx-section-nav .container { display: flex; align-items: stretch; gap: 30px; overflow-x: auto; scrollbar-width: thin; }
.fx-section-nav a { display: inline-flex; align-items: center; gap: 7px; position: relative; white-space: nowrap; padding: 17px 0; font-size: .81rem; line-height: 1.5; font-weight: 650; color: #526680; }
.fx-section-nav a:hover, .fx-section-nav a[aria-current] { color: #0758c1; }
.fx-section-nav a[aria-current]::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 3px; background: #0864d9; border-radius: 3px 3px 0 0; }
.fx-section-nav a span { font-size: .61rem; background: #fff1f1; color: #9d2530; padding: 2px 6px; border-radius: 4px; }
.fx-section-nav a:focus-visible { outline-offset: -3px; }
.fx-heading-row { display: grid; grid-template-columns: 1.15fr 1fr; gap: 60px; align-items: end; margin-bottom: 32px; }
.fx-heading-row .section-lead { margin-bottom: 21px; max-width: 490px; }
.fx-heading-row h2 { font-size: clamp(2rem, 3.1vw, 2.85rem); }
.fx-overview { padding-bottom: 78px; }
.fx-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.fx-product-summary { padding: 25px; border: 1px solid var(--fx-border); border-top: 3px solid var(--fx-accent); border-radius: 15px; display: flex; flex-direction: column; background: linear-gradient(150deg, var(--fx-tint), #fff 70%); box-shadow: 0 9px 24px rgb(7 30 74 / 3%); transition: box-shadow .18s ease, transform .18s ease; }
.fx-product-summary:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgb(7 30 74 / 8%); }
.fx-summary-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 20px; }
.fx-number { color: var(--fx-accent); font-size: .61rem; font-weight: 750; letter-spacing: .08em; }
.fx-status { display: inline-flex; align-items: center; gap: 6px; color: #176446; background: #e9f7ef; border: 1px solid #d3ebde; padding: 4px 9px; border-radius: 30px; font-size: .67rem; line-height: 1.4; font-weight: 650; white-space: nowrap; }
.fx-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
.fx-status--planned { color: #9d2732; background: #fff0f1; border-color: #f4d4d9; }
.fx-product-summary h3 { font-size: 1.88rem; margin: 0 0 12px; color: var(--fx-accent); }
.fx-product-summary > strong { line-height: 1.35; min-height: 44px; font-size: 1rem; max-width: 300px; }
.fx-product-summary p { font-size: .91rem; color: var(--muted); line-height: 1.65; margin: 17px 0 24px; }
.fx-summary-link { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-weight: 700; font-size: .8rem; color: var(--fx-accent); margin-top: auto; }
.fx-summary-link .fx-icon { width: 18px; height: 18px; }
.fx-product-section { border-top: 1px solid #e8eef6; }
.fx-product-intro { display: grid; grid-template-columns: .86fr 1.25fr; gap: 52px; align-items: center; margin-bottom: 36px; }
.fx-product-intro > *, .fx-roadmap-intro > * { min-width: 0; }
.fx-section-label { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 17px; }
.fx-section-label .eyebrow { color: var(--fx-accent); font-size: .79rem; }
.fx-product-copy h2 { font-size: clamp(2rem, 3.15vw, 3.05rem); margin: 0 0 22px; line-height: 1.12; }
.fx-product-copy .section-lead { font-size: 1.04rem; }
.fx-product-copy > p:not(.section-lead) { color: #526680; font-size: .93rem; }
.fx-outcome { border-left: 3px solid var(--fx-accent); background: var(--fx-tint); padding: 14px 17px; border-radius: 0 10px 10px 0; margin: 22px 0 16px; }
.fx-outcome span { display: block; color: var(--fx-accent); font-size: .63rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 750; margin-bottom: 5px; }
.fx-outcome strong { display: block; font-size: .9rem; font-weight: 620; line-height: 1.6; }
.fx-view-tabs { display: none; border: 1px solid #dce5f1; border-bottom: 0; background: #f2f6fb; padding: 7px; gap: 6px; border-radius: 14px 14px 0 0; }
.js .fx-view-tabs { display: flex; }
.fx-view-tabs button { flex: 1; text-align: center; border: 1px solid transparent; border-radius: 7px; padding: 10px 8px; font-size: .77rem; line-height: 1.4; font-weight: 650; background: transparent; color: #4d617c; min-height: 40px; }
.fx-view-tabs button[aria-selected="true"] { background: #fff; color: #084ca4; border-color: #dbe5f0; box-shadow: 0 2px 5px rgb(7 30 74 / 4%); }
.fx-view-tabs button:hover { color: #0758c1; }
.fx-dashboard-panel { outline-offset: 4px; }
.fx-screenshot { margin: 0; border-radius: 14px; overflow: hidden; border: 1px solid #dce5f1; box-shadow: 0 15px 38px rgb(7 30 74 / 7%); background: #fff; }
.js .fx-dashboard-panel .fx-screenshot { border-top-left-radius: 0; border-top-right-radius: 0; }
.fx-image-link { display: block; position: relative; cursor: zoom-in; border-radius: inherit; text-decoration: none; }
.fx-screenshot .fx-image-link { background: #071420; border: 10px solid #0b1d30; border-radius: 0; }
.fx-image-link > img { display: block; width: 100%; height: auto; object-fit: contain; transition: box-shadow .2s ease, transform .2s ease; }
.fx-image-link:focus-visible { outline: 3px solid #0878f8; outline-offset: 3px; z-index: 2; }
.fx-enlarge { position: absolute; bottom: 12px; right: 12px; display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; border-radius: 7px; border: 1px solid #7c94b5; background: #0e284a; color: #fff; font-size: .73rem; font-weight: 650; box-shadow: 0 4px 15px rgb(0 0 0 / 15%); pointer-events: none; opacity: 0; transform: translateY(3px); transition: opacity .18s ease, transform .18s ease; }
.fx-enlarge .fx-icon { width: 15px; height: 15px; }
.fx-image-link:hover .fx-enlarge, .fx-image-link:focus-visible .fx-enlarge { opacity: 1; transform: none; }
.fx-screenshot figcaption { display: flex; flex-direction: column; gap: 3px; padding: 15px 17px; font-size: .8rem; line-height: 1.5; }
.fx-screenshot figcaption strong { font-weight: 650; color: #16365d; }
.fx-screenshot figcaption span { font-size: .72rem; color: #526680; }
.fx-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 19px; }
.fx-feature-card { border: 1px solid #e1e7f0; padding: 24px 25px 25px; border-radius: 13px; background: #fff; }
.fx-feature-icon { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 10px; background: var(--fx-tint); color: var(--fx-accent); border: 1px solid var(--fx-border); margin-bottom: 15px; }
.fx-feature-card h3 { font-size: 1.07rem; line-height: 1.3; letter-spacing: -.016em; margin: 0 0 11px; }
.fx-feature-card p { margin: 0; color: #526680; font-size: .91rem; line-height: 1.65; }
.fx-context-line { display: flex; align-items: center; gap: 15px; margin-top: 26px; color: var(--fx-accent); }
.fx-context-line p { font-size: .85rem; color: #526680; margin: 0; }
.fx-context-line p strong { color: #254161; }
.fx-readiness { background: #f6f8fc; border-block: 1px solid #e7edf6; position: relative; }
.fx-anchor-alias { position: absolute; top: 0; left: 0; width: 1px; height: 1px; pointer-events: none; }
.fx-intro-reverse { grid-template-columns: 1.25fr .86fr; }
.fx-intro-reverse .fx-product-copy { order: 2; }
.fx-readiness-screen { order: 1; }
.fx-screen-label { padding: 11px 17px; display: flex; align-items: center; gap: 9px; font-size: .63rem; font-weight: 750; letter-spacing: .08em; color: #613193; background: #f0ebf9; border: 1px solid #e0d6ee; border-bottom: 0; border-radius: 14px 14px 0 0; }
.fx-screen-label .fx-icon { width: 17px; height: 17px; }
.fx-readiness-screen .fx-screenshot { border-top-left-radius: 0; border-top-right-radius: 0; }
.fx-pipeline { padding: 30px; border-radius: 17px; color: #fff; background: linear-gradient(125deg, #081d40, #17274d); border: 1px solid #263d62; margin-top: 36px; }
.fx-pipeline-heading { display: grid; grid-template-columns: 1.15fr 1fr; align-items: end; gap: 35px; margin-bottom: 24px; }
.fx-pipeline .eyebrow { color: #c1b1ee; font-size: .65rem; }
.fx-pipeline-heading h3 { margin: 9px 0 0; font-size: 1.45rem; line-height: 1.28; letter-spacing: -.025em; }
.fx-pipeline-heading p { color: #c8d4e7; font-size: .84rem; margin: 0; }
.fx-stage-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; gap: 12px; }
.fx-stage { border: 1px solid #425474; border-radius: 10px; background: rgb(255 255 255 / 4%); overflow: hidden; }
.fx-stage summary { cursor: pointer; padding: 17px 17px 13px; list-style: none; }
.fx-stage summary::-webkit-details-marker { display: none; }
.fx-stage summary::marker { content: ''; }
.fx-stage summary:focus-visible { outline-offset: -4px; }
.fx-stage summary:hover { background: rgb(255 255 255 / 5%); }
.fx-stage[open] { border-color: #a291df; background: #253356; }
.fx-stage-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 17px; }
.fx-stage-top > span { font-size: .59rem; font-weight: 750; letter-spacing: .1em; color: #c8b6fc; }
.fx-stage-top .fx-icon { width: 22px; height: 22px; color: #c8b6fc; }
.fx-stage-title { display: block; font-size: .88rem; line-height: 1.35; font-weight: 650; }
.fx-stage-more { display: flex; align-items: center; justify-content: space-between; color: #bfcee3; font-size: .68rem; margin-top: 17px; }
.fx-stage-more > span { font-size: 1rem; line-height: 1; transition: transform .15s; }
.fx-stage[open] .fx-stage-more > span { transform: rotate(45deg); }
.fx-stage > p { margin: 0; border-top: 1px solid #425474; padding: 14px 17px 17px; color: #dae3ef; font-size: .79rem; line-height: 1.6; }
.fx-pipeline-footer { display: flex; justify-content: space-between; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 23px; font-size: .68rem; color: #bfcee3; }
.fx-pipeline-footer > span:first-child { display: flex; align-items: center; gap: 10px; color: #e0d8fc; }
.fx-pipeline-footer .fx-icon { width: 17px; height: 17px; }
.fx-roadmap-intro { display: grid; grid-template-columns: 1.3fr .8fr; align-items: center; gap: 70px; margin-bottom: 35px; }
.fx-roadmap-intro .fx-product-copy { max-width: 660px; }
.fx-roadmap-note { border: 1px solid #f1d9dd; border-left: 3px solid #bc272f; background: #fff7f8; border-radius: 0 10px 10px 0; padding: 17px 19px; margin: 25px 0 16px; }
.fx-roadmap-note strong { font-size: .88rem; color: #93202b; }
.fx-roadmap-note p { font-size: .86rem; line-height: 1.6; margin: 6px 0 0; color: #6d5158; }
.fx-roadmap-figure { width: min(100%, 390px); justify-self: center; margin: 0; }
.fx-roadmap-figure .fx-image-link { border: 1px solid #f5dfe2; border-radius: 17px; box-shadow: 0 15px 36px rgb(102 21 30 / 7%); }
.fx-roadmap-figure img { border-radius: 16px; }
.fx-roadmap-figure figcaption { color: #6d6570; font-size: .73rem; line-height: 1.6; margin-top: 12px; text-align: center; }
.fx-comparison { background: #f3f7fc; border-block: 1px solid #e7eef6; }
.fx-comparison .fx-heading-row { margin-bottom: 27px; }
.fx-compare-tools { display: grid; grid-template-columns: 1.1fr .85fr; gap: 25px; align-items: end; margin-bottom: 24px; }
.fx-tool-label, .fx-search-area > label { display: block; color: #284260; font-size: .76rem; font-weight: 650; margin-bottom: 8px; }
.fx-filter-buttons { display: flex; flex-wrap: wrap; gap: 7px; }
.fx-filter-buttons button { background: #fff; border: 1px solid #c7d7e9; color: #415777; border-radius: 7px; min-height: 43px; padding: 9px 15px; font-size: .78rem; font-weight: 650; }
.fx-filter-buttons button:hover { border-color: #0864d9; color: #0758c1; }
.fx-filter-buttons button[aria-pressed="true"] { background: #0a2a55; border-color: #0a2a55; color: #fff; }
.fx-search-field { display: flex; align-items: center; gap: 9px; background: #fff; border: 1px solid #c7d7e9; border-radius: 7px; padding: 0 12px; min-height: 43px; }
.fx-search-field:focus-within { outline: 2px solid #0864d9; outline-offset: 2px; }
.fx-search-field > .fx-icon { width: 18px; height: 18px; color: #56718d; }
.fx-search-field input { width: 100%; min-width: 0; border: 0; outline: none; background: transparent; color: #152f53; padding: 11px 0; font-size: .8rem; line-height: 1.5; }
.fx-search-field input::placeholder { color: #65788f; opacity: 1; }
.fx-matrix-legend { display: flex; flex-wrap: wrap; column-gap: 24px; row-gap: 8px; font-size: .71rem; color: #526680; margin: 0 0 17px; }
.fx-matrix-legend b { color: #18375e; margin-right: 4px; font-weight: 750; }
.fx-mobile-table-hint { display: none; color: #526680; font-size: .76rem; margin-bottom: 10px; }
.fx-table-wrap { overflow-x: auto; border: 1px solid #d7e2ee; border-radius: 12px; background: #fff; scrollbar-width: thin; }
.fx-capability-table { width: 100%; border-collapse: collapse; min-width: 700px; table-layout: fixed; font-size: .86rem; }
.fx-capability-table th, .fx-capability-table td { border-bottom: 1px solid #e8edf4; padding: 17px 21px; vertical-align: middle; }
.fx-capability-table thead th { text-align: center; width: 18%; background: #edf3fb; padding-block: 19px; }
.fx-capability-table thead th:first-child { text-align: left; width: 46%; color: #19375d; }
.fx-capability-table thead strong { display: block; line-height: 1.4; font-size: .99rem; font-weight: 750; }
.fx-capability-table thead span { display: block; font-size: .66rem; line-height: 1.5; font-weight: 550; color: #526680; margin-top: 5px; }
.fx-capability-table thead th:nth-child(2) strong { color: #0758c1; }
.fx-capability-table thead th:nth-child(3) strong { color: #6930a8; }
.fx-capability-table thead th:nth-child(4) strong, .fx-capability-table thead th:nth-child(4) span { color: #a72b37; }
.fx-capability-table tbody th { text-align: left; font-weight: 500; }
.fx-capability-table tbody th > strong { display: block; font-weight: 650; line-height: 1.45; color: #203b5f; }
.fx-capability-table tbody th > span { display: block; font-size: .77rem; font-weight: 400; color: #526680; margin-top: 5px; line-height: 1.55; }
.fx-capability-table tbody td { text-align: center; padding-inline: 9px; }
.fx-capability-table tr:last-child th, .fx-capability-table tr:last-child td { border-bottom: 0; }
.fx-capability-table tbody tr:hover { background: #fafcff; }
.fx-matrix-label { display: inline-block; padding: 5px 10px; border-radius: 6px; font-size: .73rem; font-weight: 650; line-height: 1.4; }
.fx-matrix-label--primary.fx-col-3 { color: #0758c1; background: #eaf3ff; }
.fx-matrix-label--primary.fx-col-4 { color: #692da6; background: #f1eafa; }
.fx-matrix-label--foundation { color: #536981; background: #f0f4f8; font-weight: 500; }
.fx-matrix-label--planned { color: #a22835; background: #fff0f2; border: 1px solid #f3d9df; }
.fx-not-role { color: #8091a6; }
.fx-matrix-footer { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin: 15px 0 10px; }
.fx-matrix-footer p { margin: 0; font-size: .76rem; color: #536981; }
.fx-matrix-footer .text-link { font-size: .76rem; padding: 0; min-height: 32px; }
.fx-empty { text-align: center; border: 1px solid #d7e2ee; border-radius: 12px; padding: 32px 24px; background: #fff; margin-top: 12px; }
.fx-empty h3 { font-size: 1.2rem; }
.fx-empty p { color: #526680; font-size: .9rem; }
.fx-scope-note { font-size: .76rem; color: #536981; margin: 0; }
.fx-faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 65px; align-items: start; }
.fx-faq-layout h2 { font-size: clamp(2rem, 3vw, 2.85rem); }
.fx-faq-list { border-top: 1px solid #dce5f0; }
.fx-faq-item { border-bottom: 1px solid #dce5f0; }
.fx-faq-item summary { display: flex; justify-content: space-between; align-items: center; gap: 18px; cursor: pointer; list-style: none; padding: 22px 0; font-size: .96rem; line-height: 1.5; font-weight: 650; color: #18365a; }
.fx-faq-item summary::-webkit-details-marker { display: none; }
.fx-faq-item summary::marker { content: ''; }
.fx-faq-item summary > span { color: #0864d9; font-size: 1.45rem; font-weight: 400; line-height: 1; transition: transform .15s ease; }
.fx-faq-item[open] summary > span { transform: rotate(45deg); }
.fx-faq-item summary:hover { color: #0758c1; }
.fx-faq-item summary:focus-visible { outline-offset: 5px; border-radius: 5px; }
.fx-faq-item p { font-size: .9rem; color: #526680; line-height: 1.8; padding-right: 23px; margin: -3px 0 24px; }
.fx-final-section { padding-top: 0; }
.fx-final-cta { display: grid; grid-template-columns: 1.4fr 1fr; gap: 55px; align-items: center; padding: 40px 45px; border-radius: 18px; color: #fff; background: linear-gradient(125deg, #071e4a, #143f78); }
.fx-final-cta .eyebrow { color: #98dfff; font-size: .67rem; }
.fx-final-cta h2 { font-size: clamp(1.9rem, 2.7vw, 2.65rem); margin: 13px 0 17px; }
.fx-final-cta p { color: #d0dfef; font-size: .94rem; margin: 0; }
.fx-final-actions { display: flex; flex-direction: column; align-items: start; gap: 20px; justify-self: end; }
.fx-final-actions .btn { white-space: normal; }
.fx-secondary-cta { display: inline-flex; gap: 10px; align-items: center; color: #d4e8ff; font-weight: 650; font-size: .82rem; }
.fx-secondary-cta:hover { text-decoration: underline; text-underline-offset: 4px; }
.fx-secondary-cta .fx-icon { width: 17px; height: 17px; }
@media (max-width: 1120px) {
 .fx-section-nav .container { gap: 24px; }
 .fx-product-intro { gap: 34px; }
 .fx-product-grid { gap: 16px; }
 .fx-product-summary { padding: 22px; }
 .fx-feature-card { padding: 23px; }
 .fx-roadmap-intro { gap: 45px; }
 .fx-compare-tools { grid-template-columns: 1fr 1fr; }
 .fx-filter-buttons button { padding-inline: 11px; }
 .fx-final-cta { padding: 35px; gap: 35px; }
 .fx-faq-layout { gap: 40px; }
}
@media (max-width: 980px) {
 .fx-product-intro, .fx-intro-reverse { grid-template-columns: 1fr; gap: 28px; }
 .fx-intro-reverse .fx-product-copy { order: 0; }
 .fx-product-copy { max-width: 760px; }
 .fx-dashboard-switcher, .fx-readiness-screen { width: 100%; max-width: 790px; margin-inline: auto; }
 .fx-product-copy h2 br { display: none; }
 .fx-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .fx-heading-row { gap: 28px; }
 .fx-roadmap-intro { grid-template-columns: 1.1fr .85fr; gap: 30px; }
 .fx-roadmap-intro .fx-product-copy h2 { font-size: 2.2rem; }
 .fx-roadmap-intro .fx-product-copy .section-lead { font-size: .96rem; }
 .fx-pipeline { padding: 25px; }
 .fx-pipeline-heading { gap: 25px; }
 .fx-stage-title { min-height: 38px; }
 .fx-compare-tools { grid-template-columns: 1fr; gap: 16px; }
 .fx-search-area { max-width: 520px; }
 .fx-final-cta { grid-template-columns: 1fr; gap: 26px; }
 .fx-final-actions { justify-self: start; align-items: center; flex-direction: row; flex-wrap: wrap; }
}
@media (max-width: 760px) {
 .fx-hero .page-hero-inner { padding-block: 36px 42px; }
 .fx-hero .fx-hero-eyebrow { max-width: 320px; font-size: .58rem; line-height: 1.7; }
 .fx-hero h1 { font-size: clamp(2.3rem, 5.5vw, 3.15rem); }
 .fx-hero p { font-size: 1rem; }
 .fx-section-nav .container { gap: 22px; }
 .fx-section-nav a { padding-block: 15px; font-size: .77rem; }
 .fx-heading-row { grid-template-columns: 1fr; gap: 0; margin-bottom: 24px; }
 .fx-heading-row .section-lead { max-width: 590px; margin: 0; }
 .fx-product-grid { grid-template-columns: 1fr; gap: 16px; }
 .fx-product-summary { padding: 23px 25px; }
 .fx-product-summary > strong { min-height: 0; max-width: none; }
 .fx-product-summary h3 { font-size: 1.65rem; }
 .fx-product-summary p { margin: 13px 0 18px; }
 .fx-summary-top { margin-bottom: 14px; }
 .fx-overview { padding-bottom: 52px; }
 .fx-product-copy h2 { font-size: clamp(2rem, 5vw, 2.7rem); }
 .fx-roadmap-intro { grid-template-columns: 1fr; gap: 25px; }
 .fx-roadmap-intro .fx-product-copy h2 { font-size: clamp(2rem, 5vw, 2.7rem); }
 .fx-roadmap-intro .fx-product-copy .section-lead { font-size: 1.04rem; }
 .fx-roadmap-figure { width: min(100%, 360px); }
 .fx-roadmap-intro .fx-product-copy { max-width: none; }
 .fx-pipeline-heading { grid-template-columns: 1fr; gap: 14px; }
 .fx-stage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .fx-stage-title { min-height: 0; }
 .fx-pipeline-footer { align-items: start; gap: 12px; }
 .fx-pipeline-footer > span:first-child { font-size: .65rem; line-height: 1.7; }
 .fx-mobile-table-hint { display: block; }
 .fx-capability-table { min-width: 700px; }
 .fx-capability-table thead th:first-child { width: 40%; }
 .fx-capability-table thead th:not(:first-child) { width: 20%; }
 .fx-capability-table th { padding: 16px; }
 .fx-faq-layout { grid-template-columns: 1fr; gap: 25px; }
 .fx-context-line { align-items: start; }
 .fx-final-cta { padding: 30px 27px; border-radius: 14px; }
}
@media (max-width: 540px) {
 html { scroll-padding-top: 145px; }
 .features-page { --fx-header-height: 74px; }
 .fx-hero h1 { font-size: clamp(2.05rem, 7.6vw, 2.6rem); }
 .fx-hero .actions { gap: 10px; align-items: stretch; }
 .fx-hero .btn { font-size: .81rem; padding: 12px 16px; }
 .fx-section-nav .container { gap: 22px; }
 .fx-feature-grid { grid-template-columns: 1fr; gap: 14px; }
 .fx-feature-card { padding: 23px; }
 .fx-section-label { gap: 12px; }
 .fx-section-label .eyebrow { font-size: .75rem; }
 .fx-product-intro { margin-bottom: 24px; }
 .fx-screenshot .fx-image-link { border-width: 6px; }
 .fx-view-tabs button { font-size: .73rem; padding: 10px 6px; }
 .fx-screenshot figcaption { padding: 13px; }
 .fx-screenshot figcaption span { font-size: .66rem; }
 .fx-pipeline { padding: 19px 16px; margin-top: 26px; }
 .fx-pipeline-heading h3 { font-size: 1.3rem; }
 .fx-stage-grid { gap: 10px; }
 .fx-stage summary { padding: 14px 12px 11px; }
 .fx-stage-title { font-size: .82rem; min-height: 35px; }
 .fx-stage > p { padding: 13px 12px; }
 .fx-stage-more { margin-top: 12px; }
 .fx-pipeline-footer > span { overflow-wrap: anywhere; }
 .fx-search-field input { font-size: .8rem; }
 .fx-search-field { padding-inline: 10px; }
 .fx-filter-buttons button { font-size: .73rem; padding-inline: 11px; }
 .fx-matrix-legend { gap: 8px 13px; font-size: .68rem; }
 .fx-faq-item summary { font-size: .9rem; }
 .fx-final-actions { align-items: start; flex-direction: column; gap: 17px; }
 .fx-final-cta h2 { font-size: 2rem; }
}
@media (hover: none) {
 .fx-enlarge { opacity: 1; transform: none; bottom: 8px; right: 8px; padding: 5px 8px; font-size: .63rem; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 .features-page .fx-main *, .features-page .fx-main *::before, .features-page .fx-main *::after { transition: none !important; animation: none !important; }
 .fx-product-summary:hover, .fx-main a[data-expand]:hover > img, .fx-main a[data-expand]:focus-visible > img { transform: none; }
}
@media print {
 .fx-section-nav, .fx-view-tabs, .fx-compare-tools, .fx-enlarge, .fx-final-section, .fx-matrix-footer button { display: none !important; }
 .fx-main .section { padding-block: 24px; }
 .fx-main .fx-dashboard-panel[hidden], .fx-main [data-fx-row][hidden] { display: block !important; }
 .fx-main [data-fx-row][hidden] { display: table-row !important; }
 .fx-dashboard-switcher, .fx-readiness-screen { max-width: 600px; }
 .fx-product-grid, .fx-feature-grid { gap: 12px; }
 .fx-product-intro, .fx-roadmap-intro, .fx-faq-layout { display: block; }
 .fx-feature-card, .fx-product-summary, .fx-screenshot { break-inside: avoid; box-shadow: none; }
 .fx-table-wrap { overflow: visible; }
 .fx-capability-table { min-width: 0; }
 .fx-pipeline { color: #152d4d; background: #f1f3f7; }
 .fx-pipeline .eyebrow, .fx-pipeline h3, .fx-pipeline p, .fx-pipeline span { color: #152d4d; }
}
