/* CrewInspector: semantic design tokens. */
:root {
  --ci-orange: #ff6200;
  --ci-orange-hover: #e95700;
  --ci-orange-active: #cc4e00;
  --ci-orange-soft: #fff0e8;
  --ci-cta: #c94d00;
  --ci-cta-hover: #ad4200;
  --ci-cta-active: #923800;
  --ci-white: #fff;
  --ci-background: #fff;
  --ci-background-alt: #f7f8fa;
  --ci-background-blue: #eaf0fb;
  --ci-slate: #3c4663;
  --ci-slate-dark: #303951;
  --ci-light-blue: #9db9ee;
  --ci-text: #252b35;
  --ci-text-secondary: #596273;
  --ci-link: #ad4200;
  --ci-focus: #ad4200;
  --ci-orange-on-slate: #ffb064;
  --ci-border: #e1e5eb;
  --ci-font: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;
  --ci-content-width: 1200px;
  --ci-page-padding: clamp(20px, 4vw, 48px);
  --ci-section-space: clamp(48px, 6vw, 84px);
  --ci-radius: 8px;
  --ci-radius-lg: 20px;
  --ci-radius-focus: 3px;
  --ci-radius-tab: 6px;
  --ci-button-height: 48px;
  --ci-product-shadow: 0 16px 48px rgb(37 43 53 / 9%);
  --ci-menu-shadow: 0 12px 28px rgb(37 43 53 / 8%);
  --ci-heading-size: clamp(24px, 2.4vw, 32px);
  --ci-story-heading-size: clamp(28px, 2.8vw, 36px);
  --ci-story-subheading-size: clamp(24px, 2.3vw, 30px);
  --ci-story-gap: clamp(28px, 5vw, 64px);
  --ci-inverse: var(--ci-white);
  --ci-inverse-secondary: #eaf0fb;
  --ci-inverse-muted: #c7cfdf;
  --ci-border-on-slate: rgb(157 185 238 / 30%);
  --ci-space-1: 4px;
  --ci-space-2: 8px;
  --ci-space-3: 12px;
  --ci-space-4: 16px;
  --ci-space-5: 20px;
  --ci-space-6: 24px;
  --ci-space-7: 28px;
  --ci-space-8: 32px;
  --ci-space-9: 36px;
  --ci-space-10: 40px;
  --ci-motion-fast: 140ms;
  --ci-motion-stage: 190ms;
}

/* Scoped reset keeps captured pages and component pages in one visual system. */
html { scroll-padding-top: 100px; }
body.ci-redesign, .ci-redesign > .page-wrapper { background: var(--ci-background); color: var(--ci-text); }
.ci-header, .ci-footer, .ci-page-main, .ci-image-dialog { font: 400 16px/1.75 var(--ci-font); }
.ci-header *, .ci-footer *, .ci-page-main *, .ci-image-dialog * { box-sizing: border-box; }
.ci-header a, .ci-footer a, .ci-page-main a { text-decoration: none; }
.ci-page-main { min-width: 0; }
.ci-page-main :is(section, h1, h2, h3, [id]) { scroll-margin-top: 100px; }
.ci-header :is(a, summary):focus-visible, .ci-footer a:focus-visible, .ci-page-main :is(a, button, summary, input, textarea, select):focus-visible, .ci-stage:focus-visible, .ci-image-dialog :focus-visible {
  outline: 3px solid var(--ci-focus) !important; outline-offset: 4px; border-radius: var(--ci-radius-focus);
}
.ci-content { color: var(--ci-text); background: var(--ci-background); }
.ci-content h2 { margin: 0 0 var(--ci-space-5); color: var(--ci-text); font-size: var(--ci-story-heading-size); line-height: 1.25; font-weight: 600; letter-spacing: -1px; text-wrap: balance; }
.ci-content h3 { margin: 0 0 var(--ci-space-4); color: var(--ci-text); font-size: var(--ci-story-subheading-size); line-height: 1.35; font-weight: 600; letter-spacing: -.6px; text-wrap: balance; }
.ci-content p { margin: 0 0 var(--ci-space-6); color: var(--ci-text-secondary); font-size: 16px; line-height: 1.8; }
.ci-page-main .ci-eyebrow { margin: 0 0 var(--ci-space-5); color: var(--ci-slate); font-size: 11px; font-weight: 700; line-height: 1.5; letter-spacing: 1.4px; text-transform: uppercase; }
.ci-eyebrow::before { content: ""; display: inline-block; width: 18px; height: 3px; margin-right: 10px; background: var(--ci-orange); vertical-align: middle; }
@media (max-width: 600px) {
  .ci-content p { font-size: 15px; }
  .ci-page-main .ci-eyebrow { font-size: 10px; letter-spacing: 1px; }
}

/* Shared widths, sections and content grids. */
.ci-container { width: min(var(--ci-content-width), calc(100% - 2 * var(--ci-page-padding))); margin-inline: auto; }
.ci-section { padding-block: var(--ci-section-space); }
.ci-surface-alt { background: var(--ci-background-alt); }
.ci-surface-blue { background: var(--ci-background-blue); }
.ci-surface-slate { background: var(--ci-slate); }
.ci-section-intro { max-width: 760px; margin-bottom: var(--ci-space-10); }
.ci-section-intro > p:last-child { margin-bottom: 0; }
.ci-story-grid, .ci-lifecycle[data-enhanced] .ci-stage { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; gap: var(--ci-story-gap); }
.ci-story-copy { max-width: 520px; min-width: 0; }
.ci-workflow-reverse .ci-story-copy { grid-column: 2; grid-row: 1; }
.ci-workflow-reverse .ci-product-visual { grid-column: 1; grid-row: 1; }
.ci-workflow-reverse .ci-story-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
.ci-workflow-text-only .ci-story-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.ci-workflow-text-only .ci-story-copy, .ci-workflow-text-only .ci-product-visual { grid-column: auto; grid-row: auto; }
.ci-workflow-detail { min-width: 0; border-left: 1px solid var(--ci-border); padding-left: var(--ci-space-8); }
.ci-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ci-space-3); }
@media (max-width: 991px) {
  .ci-story-grid, .ci-workflow-reverse .ci-story-grid, .ci-workflow-text-only .ci-story-grid, .ci-lifecycle[data-enhanced] .ci-stage { grid-template-columns: minmax(0, 1fr); gap: var(--ci-space-8); }
  .ci-workflow-reverse .ci-story-copy, .ci-workflow-reverse .ci-product-visual { grid-column: auto; grid-row: auto; }
  .ci-story-copy { max-width: 720px; }
  .ci-workflow-detail { border-left: 0; border-top: 1px solid var(--ci-border); padding: var(--ci-space-6) 0 0; }
}
@media (max-width: 600px) {
  .ci-section-intro { margin-bottom: var(--ci-space-8); }
  .ci-actions { align-items: stretch; }
}

/* Shared components: one source for each visual pattern. */
.ci-skip { position: fixed; top: 12px; left: 16px; z-index: 1000; transform: translateY(-180%); padding: 12px 20px; background: var(--ci-slate); color: var(--ci-white); border-radius: var(--ci-radius); font: 600 16px/1.5 var(--ci-font); }
.ci-skip:focus { transform: translateY(0); outline: 3px solid var(--ci-light-blue); outline-offset: 3px; }
.ci-header { position: sticky; top: 0; z-index: 100; color: var(--ci-text); background: var(--ci-white); border-bottom: 1px solid var(--ci-border); }
.ci-header-inner { display: flex; align-items: center; gap: var(--ci-space-7); min-height: 78px; }
.ci-brand { display: inline-flex; flex: 0 0 auto; align-items: center; }
.ci-brand img { display: block; width: 114px; height: auto; object-fit: contain; }
.ci-desktop-nav { display: flex; justify-content: center; align-items: center; gap: clamp(20px, 2.4vw, 32px); margin-inline: auto; }
.ci-desktop-nav a { position: relative; display: flex; align-items: center; min-height: 48px; color: var(--ci-text); font-size: 13px; font-weight: 500; }
.ci-desktop-nav a:hover { color: var(--ci-text); }
.ci-desktop-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 5px; height: 2px; background: var(--ci-orange); transform: scaleX(0); transform-origin: left; transition: transform var(--ci-motion-fast); }
.ci-desktop-nav a:hover::after, .ci-desktop-nav a[aria-current="page"]::after { transform: scaleX(1); }
.ci-button { display: inline-flex; align-items: center; justify-content: center; gap: var(--ci-space-4); min-height: var(--ci-button-height); padding: 12px 22px; border: 1px solid transparent; border-radius: var(--ci-radius); color: var(--ci-white); background: var(--ci-cta); font: 600 13px/1.5 var(--ci-font); white-space: nowrap; transition: background-color var(--ci-motion-fast), border-color var(--ci-motion-fast), transform var(--ci-motion-fast); }
.ci-header a.ci-button, .ci-page-main a.ci-button { color: var(--ci-white); }
.ci-button:hover { background: var(--ci-cta-hover); color: var(--ci-white); transform: translateY(-1px); }
.ci-button:not(.ci-button-secondary):active { background: var(--ci-cta-active); transform: translateY(0); }
.ci-button-secondary { background: var(--ci-white); border-color: var(--ci-border); color: var(--ci-slate); }
.ci-header a.ci-button-secondary, .ci-page-main a.ci-button-secondary { color: var(--ci-slate); }
.ci-button-secondary:hover, .ci-button-secondary:active { background: var(--ci-background-alt); border-color: var(--ci-slate); color: var(--ci-slate); }
.ci-text-link, .ci-content .ci-text-link { display: inline-flex; align-items: center; gap: var(--ci-space-3); min-height: 44px; color: var(--ci-link); font-size: 13px; line-height: 1.6; font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; transition: color var(--ci-motion-fast); }
.ci-text-link:hover, .ci-content .ci-text-link:hover { color: var(--ci-cta-active); text-decoration-thickness: 2px; }
.ci-text-link span { transition: transform var(--ci-motion-fast); }
.ci-text-link:hover span { transform: translateX(3px); }
.ci-mobile-nav { display: none; }

.ci-product-visual { min-width: 0; margin: 0; padding: var(--ci-space-4); border: 1px solid var(--ci-border); border-radius: var(--ci-radius-lg); background: var(--ci-background-blue); }
.ci-product-window { overflow: hidden; border: 1px solid var(--ci-border); border-radius: var(--ci-radius); background: var(--ci-white); box-shadow: var(--ci-product-shadow); }
.ci-product-window a { display: block; cursor: zoom-in; }
.ci-product-window img { display: block; width: 100%; max-width: 100%; height: auto; object-fit: contain; }
.ci-product-visual figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: baseline; gap: var(--ci-space-2); padding-top: var(--ci-space-3); color: var(--ci-text-secondary); font-size: 11px; line-height: 1.6; }
.ci-product-visual figcaption a:hover { color: var(--ci-link); }
.ci-product-visual figcaption a { min-height: 24px; color: var(--ci-slate); text-decoration: underline; text-underline-offset: 4px; }
.ci-product-visual--missing { padding: var(--ci-space-6); border-style: dashed; background: transparent; box-shadow: none; }
.ci-product-placeholder { display: grid; align-content: center; min-height: 92px; }
.ci-product-placeholder .ci-placeholder-area { margin: 0 0 var(--ci-space-2); color: var(--ci-slate); font-size: 14px; font-weight: 600; }
.ci-product-placeholder .ci-placeholder-message { margin: 0; color: var(--ci-text-secondary); font-size: 12px; }
.ci-product-visual--missing figcaption { color: var(--ci-text-secondary); font-size: 10px; }
.ci-product-unavailable { padding: var(--ci-space-6); }
.ci-supporting-points { margin: 0 0 var(--ci-space-6); padding: 0; list-style: none; color: var(--ci-text); font-size: 14px; }
.ci-supporting-points li { position: relative; padding: 14px 0 14px 24px; line-height: 1.7; border-bottom: 1px solid var(--ci-border); }
.ci-supporting-points li::before { content: "✓"; position: absolute; top: 14px; left: 0; color: var(--ci-cta); font-weight: 600; }
.ci-workflow-text-only .ci-product-placeholder { min-height: 0; }
.ci-workflow-text-only .ci-product-visual--missing { padding: var(--ci-space-4); }

.ci-stats { padding-block: var(--ci-space-10); border-block: 1px solid var(--ci-border); background: var(--ci-background-alt); }
.ci-section-title, .ci-stats h2.ci-section-title { margin: 0 0 var(--ci-space-8); color: var(--ci-slate); font-size: 18px; line-height: 1.5; font-weight: 500; letter-spacing: -.3px; }
.ci-stats-grid { display: grid; grid-template-columns: .85fr 1fr 1.2fr; }
.ci-stat { padding-inline: var(--ci-space-8); border-left: 1px solid var(--ci-border); }
.ci-stat:first-child { padding-left: 0; border-left: 0; }
.ci-stat:last-child { padding-right: 0; }
.ci-stats .ci-stat .counter-number { margin: 0 0 var(--ci-space-2); color: var(--ci-slate); font-size: clamp(32px, 3.3vw, 44px); font-weight: 500; line-height: 1.2; letter-spacing: -1.5px; font-variant-numeric: tabular-nums; }
.ci-stats .ci-stat .ci-stat-label { margin: 0; color: var(--ci-text-secondary); font-size: 12px; line-height: 1.7; }

.ci-lifecycle .ci-section-intro { max-width: 800px; }
.ci-lifecycle-nav { position: relative; display: flex; gap: var(--ci-space-6); overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; padding: 8px 5px 18px; margin: -8px -5px var(--ci-space-8); }
.ci-lifecycle-nav[hidden], .ci-stage[hidden] { display: none !important; }
.ci-lifecycle-nav button { position: relative; display: inline-flex; flex: 1 0 auto; align-items: center; justify-content: center; gap: var(--ci-space-2); min-height: 60px; padding: 12px 10px; border: 0; border-bottom: 1px solid var(--ci-border); border-radius: var(--ci-radius-tab) var(--ci-radius-tab) 0 0; background: transparent; color: var(--ci-text-secondary); font: 600 13px/1.5 var(--ci-font); cursor: pointer; transition: background-color var(--ci-motion-fast), color var(--ci-motion-fast); }
.ci-stage-arrow { position: absolute; right: calc(-1 * var(--ci-space-6)); width: var(--ci-space-6); text-align: center; pointer-events: none; color: var(--ci-text-secondary); font-weight: 400; }
.ci-stage-step { color: var(--ci-text-secondary); font-size: 10px; font-variant-numeric: tabular-nums; }
.ci-lifecycle-nav button[aria-selected="true"] { background: var(--ci-orange-soft); color: var(--ci-link); }
.ci-lifecycle-nav button[aria-selected="true"] .ci-stage-step { color: var(--ci-link); }
.ci-lifecycle-nav button:hover { background: var(--ci-background-alt); }
.ci-lifecycle-nav button[aria-selected="true"]:hover { background: var(--ci-orange-soft); }
.ci-lifecycle-indicator { position: absolute; left: 0; bottom: 18px; height: 3px; width: 1px; background: var(--ci-cta); transform-origin: left; transform: translateX(var(--ci-tab-x, 0px)) scaleX(var(--ci-tab-width, 1)); transition: transform var(--ci-motion-stage) ease-out; pointer-events: none; }
.ci-lifecycle[data-enhanced] .ci-stage { min-height: 380px; padding: var(--ci-space-8); border: 1px solid var(--ci-border); border-radius: var(--ci-radius-lg); background: var(--ci-background-alt); }
.ci-lifecycle[data-enhanced] .ci-stage-copy { min-height: 230px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.ci-stage-copy h3 { font-size: clamp(24px, 2.3vw, 30px); }
.ci-stage-copy p:not(.ci-eyebrow) { font-size: 14px; }
.ci-stage-visual { position: relative; min-width: 0; }
.ci-stage-visual > .ci-product-visual { animation: ci-stage-enter var(--ci-motion-stage) ease-out; }
.ci-stage-exit { position: absolute; inset: 0; z-index: 1; animation: ci-stage-exit var(--ci-motion-stage) ease-out forwards; pointer-events: none; }
.ci-lifecycle:not([data-enhanced]) .ci-stage { padding-block: var(--ci-space-6); border-top: 1px solid var(--ci-border); }
.ci-lifecycle:not([data-enhanced]) .ci-stage-visual { display: none; }

.ci-audiences { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ci-space-8); margin-bottom: var(--ci-space-6); }
.ci-audiences article { padding: var(--ci-space-6) 0; border-top: 1px solid var(--ci-border); min-width: 0; }
.ci-section-number { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; margin-bottom: var(--ci-space-6); border: 1px solid var(--ci-border); border-radius: 50%; background: var(--ci-white); color: var(--ci-slate); font-size: 11px; }
.ci-audiences h3 { font-size: 23px; }
.ci-audiences p { font-size: 14px; }
.ci-customer-stories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ci-space-8); margin-bottom: var(--ci-space-10); }
.ci-customer-stories article { min-width: 0; padding-bottom: var(--ci-space-6); border-bottom: 1px solid var(--ci-border); }
.ci-customer-stories h3 { font-size: 22px; }
.ci-customer-stories p { font-size: 14px; }
.ci-content .ci-resource-meta { margin-bottom: var(--ci-space-4); color: var(--ci-text-secondary); font-size: 10px; line-height: 1.6; letter-spacing: .3px; }
.ci-testimonial { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: center; gap: var(--ci-space-10); margin: 0; padding: clamp(28px, 4vw, 48px); border-radius: var(--ci-radius-lg); background: var(--ci-background-blue); }
.ci-testimonial blockquote { padding: 0; margin: 0; border: 0; background: transparent; color: var(--ci-slate); font-size: clamp(23px, 2.4vw, 29px); line-height: 1.6; font-weight: 500; letter-spacing: -.5px; }
.ci-testimonial figcaption { display: grid; gap: var(--ci-space-2); color: var(--ci-text-secondary); font-size: 12px; }
.ci-testimonial strong { color: var(--ci-text); font-size: 14px; }
.ci-resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ci-space-8); margin-bottom: var(--ci-space-6); }
.ci-resource-grid article { padding: var(--ci-space-6); border: 1px solid var(--ci-border); border-radius: var(--ci-radius); background: var(--ci-white); min-width: 0; }
.ci-resource-grid h3 { font-size: 20px; line-height: 1.5; letter-spacing: -.3px; }
.ci-resource-grid h3 a { color: var(--ci-text); text-decoration: underline; text-decoration-color: var(--ci-border); text-underline-offset: 4px; transition: text-decoration-color var(--ci-motion-fast); }
.ci-resource-grid h3 a:hover { text-decoration-color: var(--ci-cta); }
.ci-resource-grid p { font-size: 13px; }
.ci-process { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ci-space-4); list-style: none; margin: 0 0 var(--ci-space-6); padding: 0; counter-reset: process; }
.ci-process li { padding-top: var(--ci-space-5); border-top: 2px solid var(--ci-orange); }
.ci-process span { display: block; margin-bottom: var(--ci-space-3); color: var(--ci-link); font-size: 11px; }
.ci-process strong { font-size: 14px; font-weight: 600; }
.ci-process p { margin: 10px 0 0; font-size: 11px; line-height: 1.7; }
.ci-api-map { padding: clamp(24px, 4vw, 40px); border: 1px solid var(--ci-border); border-radius: var(--ci-radius-lg); background: var(--ci-white); }
.ci-api-map > p { margin: 0; color: var(--ci-slate); font-size: 20px; font-weight: 600; }
.ci-api-map > div { display: flex; flex-wrap: wrap; gap: var(--ci-space-2); margin: var(--ci-space-5) 0; color: var(--ci-text-secondary); font-size: 11px; }
.ci-api-map > div span { padding: 6px 10px; border: 1px solid var(--ci-border); border-radius: var(--ci-radius); background: var(--ci-background-alt); }
.ci-api-map p.ci-api-connector { padding-block: var(--ci-space-6); margin-bottom: var(--ci-space-6); border-block: 1px solid var(--ci-border); color: var(--ci-text); font-size: 13px; font-weight: 500; }
.ci-api-connector span { margin-left: var(--ci-space-3); }
.ci-final-cta { text-align: center; background: var(--ci-slate); }
.ci-final-cta > .ci-container { display: flex; flex-direction: column; align-items: center; }
.ci-final-cta h2 { max-width: 700px; margin-inline: auto; }
.ci-final-cta p { max-width: 650px; margin-inline: auto; }
.ci-final-cta .ci-actions { justify-content: center; gap: var(--ci-space-6); }
.ci-content .ci-surface-slate :is(h2, h3) { color: var(--ci-white); }
.ci-content .ci-surface-slate > .ci-container > p, .ci-surface-slate .ci-supporting-points { color: var(--ci-inverse-secondary); }
.ci-content .ci-surface-slate p.ci-eyebrow { color: var(--ci-orange-on-slate); }
.ci-surface-slate .ci-text-link, .ci-surface-slate .ci-text-link:hover { color: var(--ci-white); }
.ci-page-main .ci-surface-slate :focus-visible { outline-color: var(--ci-light-blue) !important; }

.ci-footer.static-footer { padding: 60px 0 24px; background: var(--ci-background-alt); color: var(--ci-text-secondary); border-top: 1px solid var(--ci-border); }
.ci-footer-grid { display: grid; grid-template-columns: 1.5fr 1.2fr 1fr 1fr 1fr; gap: var(--ci-space-8); }
.ci-footer .ci-brand img { width: 105px; }
.ci-footer h2 { margin: 0 0 var(--ci-space-4); color: var(--ci-text); font-size: 12px; line-height: 1.5; font-weight: 600; }
.ci-footer p { color: var(--ci-text-secondary); font-size: 12px; line-height: 1.8; }
.ci-footer-brand p { max-width: 230px; margin: var(--ci-space-4) 0 var(--ci-space-3); }
.ci-footer ul { list-style: none; margin: 0; padding: 0; }
.ci-footer li { margin: 0; }
.ci-footer nav a, .ci-footer-brand > a:not(.ci-brand) { display: block; width: fit-content; padding-block: 6px; margin: 0; color: var(--ci-text-secondary); font-size: 12px; line-height: 1.7; text-underline-offset: 4px; }
.ci-footer a:hover { color: var(--ci-link); text-decoration: underline; }
.ci-footer-bottom { display: flex; align-items: baseline; justify-content: space-between; gap: var(--ci-space-5); padding-top: var(--ci-space-5); margin-top: var(--ci-space-9); border-top: 1px solid var(--ci-border); }
.ci-footer .static-footer-copyright { margin: 0; padding: 0; border: 0; font-size: 10px; white-space: nowrap; }
.ci-footer address { margin: 0; color: var(--ci-text-secondary); font-size: 10px; line-height: 1.7; font-style: normal; }
.ci-footer [data-static-build] { display: block; margin-top: var(--ci-space-1); color: var(--ci-text-secondary); font-size: 10px; white-space: normal; }
.ci-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: var(--ci-space-2); list-style: none; padding: 0; margin: 0; }
.ci-breadcrumbs li + li::before { content: "/"; margin-right: var(--ci-space-2); color: var(--ci-text-secondary); }
.ci-breadcrumbs a { color: var(--ci-link); text-decoration: underline; text-underline-offset: 4px; }

.ci-image-dialog { position: fixed; inset: 0; width: min(96vw, 1600px); max-width: none; max-height: 94vh; padding: 0; border: 1px solid var(--ci-border); border-radius: 12px; background: var(--ci-white); color: var(--ci-text); box-shadow: var(--ci-product-shadow); overflow: auto; }
.ci-image-dialog[open] { animation: ci-stage-enter 200ms ease-out; }
.ci-image-dialog::backdrop { background: rgb(37 43 53 / 70%); }
.ci-image-dialog-bar { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: var(--ci-space-4); padding: var(--ci-space-4) var(--ci-space-5); background: var(--ci-white); border-bottom: 1px solid var(--ci-border); }
.ci-image-dialog-bar p { margin: 0; font-size: 12px; }
.ci-image-dialog button { min-width: 72px; min-height: 44px; border: 1px solid var(--ci-border); border-radius: var(--ci-radius); background: var(--ci-white); color: var(--ci-text); font: 600 13px var(--ci-font); cursor: pointer; }
.ci-image-dialog button:hover { background: var(--ci-background-alt); }
.ci-image-dialog-view { overflow: auto; max-height: calc(94vh - 78px); }
.ci-image-dialog-view img { display: block; width: max(100%, 1100px); max-width: none; height: auto; }
body:has(.ci-image-dialog[open]) { overflow: hidden; }
[data-reveal][data-visible] { animation: ci-reveal-enter 320ms ease-out; }
@keyframes ci-stage-enter { from { opacity: .3; } to { opacity: 1; } }
@keyframes ci-stage-exit { from { opacity: 1; } to { opacity: 0; } }
@keyframes ci-reveal-enter { from { opacity: .65; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1100px) { .ci-stage-step { display: none; } .ci-footer-grid { grid-template-columns: 1.5fr 1fr 1fr; gap: 32px 40px; } }
@media (max-width: 991px) {
  .ci-header-inner { min-height: 72px; gap: var(--ci-space-4); }
  .ci-header .ci-brand img { width: 100px; }
  .ci-desktop-nav { display: none; }
  .ci-header-demo { margin-left: auto; }
  .ci-mobile-nav { display: block; }
  .ci-mobile-nav summary { display: flex; align-items: center; justify-content: center; min-width: 48px; min-height: 48px; padding-inline: 6px; color: var(--ci-text); cursor: pointer; font-size: 12px; font-weight: 600; list-style: none; }
  .ci-mobile-nav summary::-webkit-details-marker { display: none; }
  .ci-mobile-nav summary::after { content: "+"; margin-left: 8px; font-size: 20px; }
  .ci-mobile-nav[open] summary::after { content: "−"; }
  .ci-mobile-nav nav { position: absolute; top: 100%; left: 0; right: 0; max-height: calc(100dvh - 72px); overflow: auto; padding: 16px var(--ci-page-padding) 24px; background: var(--ci-white); border-bottom: 1px solid var(--ci-border); box-shadow: var(--ci-menu-shadow); }
  .ci-mobile-nav nav a { display: flex; align-items: center; min-height: 48px; padding-inline: 12px; color: var(--ci-text); font-size: 14px; border-radius: var(--ci-radius); }
  .ci-mobile-nav nav a:hover, .ci-mobile-nav nav a[aria-current="page"] { color: var(--ci-text); background: var(--ci-orange-soft); }
  .ci-lifecycle-nav button { flex: 0 0 auto; padding-inline: 18px; }
  .ci-lifecycle[data-enhanced] .ci-stage { min-height: 0; }
  .ci-lifecycle[data-enhanced] .ci-stage-copy { min-height: 210px; }
  .ci-stage-visual { min-height: 240px; display: grid; align-content: center; }
  .ci-testimonial { grid-template-columns: 1fr; gap: var(--ci-space-6); }
}
@media (max-width: 600px) {
  .ci-header-inner { gap: var(--ci-space-2); min-height: 68px; }
  .ci-header .ci-brand img { width: 84px; }
  .ci-header-demo { padding: 10px 12px; min-height: 44px; font-size: 11px; }
  .ci-product-visual { padding: 10px; border-radius: 12px; }
  .ci-product-visual--missing { padding: var(--ci-space-4); }
  .ci-product-visual figcaption { font-size: 10px; }
  .ci-stats-grid { grid-template-columns: 1fr; }
  .ci-stat, .ci-stat:first-child, .ci-stat:last-child { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center; gap: var(--ci-space-4); padding: var(--ci-space-5) 0; border-left: 0; }
  .ci-stat + .ci-stat { border-top: 1px solid var(--ci-border); }
  .ci-stats .ci-stat .counter-number { font-size: 32px; margin: 0; }
  .ci-stats .ci-stat .ci-stat-label { font-size: 11px; }
  .ci-lifecycle-nav { margin-bottom: var(--ci-space-6); }
  .ci-lifecycle-nav button { min-height: 52px; padding-inline: 14px; }
  .ci-lifecycle[data-enhanced] .ci-stage { padding: var(--ci-space-5); }
  .ci-lifecycle[data-enhanced] .ci-stage-copy { min-height: 260px; }
  .ci-stage-copy h3 { font-size: 25px; }
  .ci-stage-visual { min-height: 230px; }
  .ci-audiences, .ci-customer-stories, .ci-resource-grid { grid-template-columns: 1fr; gap: var(--ci-space-6); }
  .ci-audiences article { padding-block: var(--ci-space-5); }
  .ci-audiences h3 { font-size: 24px; }
  .ci-section-number { margin-bottom: var(--ci-space-4); }
  .ci-footer-grid { grid-template-columns: 1fr 1fr; gap: 28px 24px; }
  .ci-footer-brand { grid-column: 1 / -1; }
  .ci-footer-brand p { max-width: 330px; }
  .ci-footer nav a { min-height: 44px; padding-block: 10px; }
  .ci-footer-bottom { flex-direction: column; gap: var(--ci-space-3); }
  .ci-process { gap: var(--ci-space-3); }
  .ci-process strong { font-size: 12px; }
  .ci-process p { font-size: 10px; }
  .ci-image-dialog-bar { padding: 10px 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .ci-redesign *, .ci-image-dialog, .ci-stage-exit { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  html { scroll-behavior: auto; }
}

/* Credibility and conversion use the shared slate variant sparingly. */
.ci-content .ci-surface-slate .ci-section-intro p, .ci-content .ci-surface-slate .ci-customer-stories p, .ci-content .ci-surface-slate .ci-story-copy p { color: var(--ci-inverse-secondary); }
.ci-content .ci-surface-slate p.ci-eyebrow, .ci-content .ci-surface-slate .ci-resource-meta { color: var(--ci-orange-on-slate); }
.ci-surface-slate .ci-customer-stories article { border-color: var(--ci-border-on-slate); }
.ci-surface-slate .ci-testimonial .ci-text-link { color: var(--ci-link); }
.ci-surface-slate .ci-testimonial .ci-text-link:focus-visible { outline-color: var(--ci-focus) !important; }

/* Homepage composition; shared components live in components.css. */
main.ci-home-main { padding: 0; margin: 0; }
.ci-hero { padding: clamp(44px, 5vw, 68px) 0 56px; background: var(--ci-white); }
.ci-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); column-gap: clamp(32px, 6vw, 88px); row-gap: var(--ci-space-10); align-items: start; }
.ci-hero-heading { max-width: 600px; animation: ci-hero-enter 560ms ease-out; }
.ci-hero h1 { margin: 0; color: var(--ci-text); font-size: clamp(36px, 3.6vw, 48px); line-height: 1.16; font-weight: 600; letter-spacing: -1.8px; text-wrap: balance; }
.ci-hero-support { padding-top: 34px; max-width: 520px; animation: ci-hero-enter 560ms ease-out; }
.ci-hero-description { margin: 0 0 var(--ci-space-6); color: var(--ci-text-secondary); font-size: 15px; line-height: 1.8; }
.ci-trust { display: flex; flex-wrap: wrap; gap: 10px 18px; list-style: none; padding: 0; margin: var(--ci-space-5) 0 0; color: var(--ci-text-secondary); font-size: 10px; line-height: 1.7; }
.ci-trust li { display: inline-flex; align-items: center; gap: 6px; }
.ci-trust li::before { content: "✓"; color: var(--ci-cta); font-size: 12px; }
.ci-automation .ci-product-visual--missing { margin-top: var(--ci-space-6); }
.ci-resources { border-top: 1px solid var(--ci-border); }
@keyframes ci-hero-enter { from { opacity: .5; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 991px) {
  .ci-hero-grid { grid-template-columns: minmax(0, 1fr); row-gap: var(--ci-space-6); }
  .ci-hero-heading { max-width: 650px; }
  .ci-hero h1 { max-width: 640px; font-size: clamp(36px, 5vw, 46px); }
  .ci-hero-support { padding-top: 0; max-width: 650px; }
}
@media (max-width: 600px) {
  .ci-hero { padding: 36px 0 40px; }
  .ci-hero h1 { font-size: 36px; letter-spacing: -1.2px; }
  .ci-hero .ci-actions { flex-direction: column; align-items: stretch; }
  .ci-hero-description { font-size: 15px; }
  .ci-trust { gap: 8px 14px; }
}
@media (prefers-reduced-motion: reduce) { .ci-hero-heading, .ci-hero-support { animation: none; } }

/* Captured inner-page content: visual skin only; text, routes and media retained. */
body.ci-redesign { --alpha-body-color: var(--ci-text); --alpha-primary-color: var(--ci-link); --alpha-primary-color-hover: var(--ci-cta-active); --alpha-site-bg-color: var(--ci-white); }
.ci-redesign > .page-wrapper { --alpha-page-wrapper-bg-color: var(--ci-white); }
body.ci-redesign #main.ci-legacy-main { padding-block: clamp(36px, 5vw, 64px); color: var(--ci-text); background: var(--ci-white); font: 400 16px/1.8 var(--ci-font); }
body.ci-redesign #main.ci-legacy-main > .container { width: min(var(--ci-content-width), calc(100% - 2 * var(--ci-page-padding))); padding-inline: 0; }
body.ci-redesign #main.ci-legacy-main :is(h1, h2, h3, h4, h5, h6) { color: var(--ci-text); font-family: var(--ci-font); font-weight: 600; letter-spacing: -.6px; line-height: 1.3; text-wrap: balance; }
body.ci-redesign #main.ci-legacy-main h1 { font-size: clamp(32px, 3.2vw, 44px); }
body.ci-redesign #main.ci-legacy-main h2 { font-size: clamp(26px, 2.6vw, 34px); }
body.ci-redesign #main.ci-legacy-main h3 { font-size: 24px; }
body.ci-redesign #main.ci-legacy-main :is(p, li, td, label, blockquote, .elementor-widget-text-editor) { color: var(--ci-text-secondary); font-family: var(--ci-font); font-size: 16px; line-height: 1.85; }
body.ci-redesign #main.ci-legacy-main a:not(.button):not(.btn) { color: var(--ci-link); text-decoration: underline; text-underline-offset: 4px; }
body.ci-redesign #main.ci-legacy-main a:hover { text-decoration-thickness: 2px; }
body.ci-redesign #main.ci-legacy-main :is(a, button, input, textarea, select, summary):focus-visible { outline: 3px solid var(--ci-focus) !important; outline-offset: 4px; }
body.ci-redesign #main.ci-legacy-main :is(.button, .static-contact .btn) { background: var(--ci-cta); border-color: var(--ci-cta); color: var(--ci-white); }
body.ci-redesign #main.ci-legacy-main :is(.button, .static-contact .btn):hover { background: var(--ci-cta-hover); border-color: var(--ci-cta-hover); color: var(--ci-white); }
body.ci-redesign #main.ci-legacy-main :is(.button, .static-contact .btn):active { background: var(--ci-cta-active); border-color: var(--ci-cta-active); color: var(--ci-white); }
body.ci-redesign #main.ci-legacy-main .content-breadcrumb { padding-block: 0 28px; }
body.ci-redesign #main.ci-legacy-main .breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; color: var(--ci-text-secondary); font-size: 12px; }
body.ci-redesign #main.ci-legacy-main .breadcrumb li { font-size: 12px; }
body.ci-redesign #main.ci-legacy-main .page-header { padding-block: 24px; background: var(--ci-background-alt); }
body.ci-redesign #main.ci-legacy-main img { max-width: 100%; height: auto; }
body.ci-redesign #main.ci-legacy-main :is(.e-con, .elementor-element) { min-width: 0; }
body.ci-redesign #main.ci-legacy-main :is(.main-content, .elementor-widget-container) { overflow-wrap: anywhere; }
body.ci-redesign #main.ci-legacy-main .static-sidebar { padding: var(--ci-space-6); border: 1px solid var(--ci-border); border-radius: var(--ci-radius); background: var(--ci-background-alt); }
body.ci-redesign #main.ci-legacy-main .demo-request { max-width: 720px; padding: clamp(20px, 4vw, 40px); margin-inline: auto; border: 1px solid var(--ci-border); border-radius: var(--ci-radius-lg); background: var(--ci-background-alt); }
body.ci-redesign #main.ci-legacy-main .demo-request label { color: var(--ci-text); font-size: 14px; }
body.ci-redesign #main.ci-legacy-main .demo-request :is(input, textarea) { border-color: var(--ci-border); border-radius: var(--ci-radius); font-size: 16px; }
body.ci-redesign #main.ci-legacy-main .demo-request .button { border-radius: var(--ci-radius); }
@media (max-width: 600px) {
  body.ci-redesign #main.ci-legacy-main :is(p, li, td, label, blockquote, .elementor-widget-text-editor) { font-size: 15px; }
}
/* Published breadcrumbs sit between the shared header and main, not inside main. */
.ci-redesign .breadcrumb-wrap { padding-block: 16px; border-bottom: 1px solid var(--ci-border); background: var(--ci-white); }
.ci-redesign .breadcrumb-container { width: min(var(--ci-content-width), calc(100% - 2 * var(--ci-page-padding))); padding-inline: 0; }
.ci-redesign .breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; padding: 0; color: var(--ci-text-secondary); font: 400 12px/1.7 var(--ci-font); }
.ci-redesign .breadcrumb li, .ci-redesign .breadcrumb a { color: var(--ci-text-secondary); opacity: 1; font-size: 12px; }
.ci-redesign .breadcrumb a { text-decoration: underline; text-underline-offset: 4px; }
.ci-redesign .breadcrumb a:hover { color: var(--ci-link); }
.ci-redesign .breadcrumb a:focus-visible { outline: 3px solid var(--ci-focus); outline-offset: 4px; }

/* Article archives and published testimonials use the same light surfaces. */
body.ci-redesign #main.ci-legacy-main .post-wrap > article { background: var(--ci-white); border: 1px solid var(--ci-border); border-radius: var(--ci-radius); box-shadow: none; overflow: hidden; }
body.ci-redesign #main.ci-legacy-main .post-cats > a, body.ci-redesign #main.ci-legacy-main .post-cats > a:hover { background: var(--ci-background-alt); color: var(--ci-link); }
body.ci-redesign #main.ci-legacy-main blockquote { background: var(--ci-background-alt); border-left: 3px solid var(--ci-orange); }
body.ci-redesign #main.ci-legacy-main :is(.name, .title) { color: var(--ci-text); }
body.ci-redesign #main.ci-legacy-main :is(.elementor-element-450e325, .elementor-element-1564962) { background-color: var(--ci-background-alt); }
/* A few captured headings/links have inline white or pale text colors. */
body.ci-redesign #main.ci-legacy-main :is(h1, h2, h3, h4, h5, h6) span[style] { color: inherit !important; }
body.ci-redesign #main.ci-legacy-main a[style*="color"] { color: var(--ci-link) !important; text-decoration: underline !important; }
body.ci-redesign #main.ci-legacy-main .timeline-meta { color: var(--ci-link); }
