/* Features: a product story and searchable index, scoped to this page. */
.features-page {
  --fs-paper: #faf9f6;
  --fs-ink: #202821;
  --fs-body: #555d53;
  --fs-muted: #62695e;
  --fs-coral: #ac491e;
  --fs-line: #dedfd6;
  --fs-wash: #eeeee7;
  --dp-ink: var(--fs-ink);
  --dp-body: var(--fs-body);
  --dp-mute: var(--fs-muted);
  background: var(--fs-paper);
  color: var(--fs-body);
}
.features-page [hidden] { display: none !important; }
.features-main { padding-top: 86px; }
.fs-container { max-width: 1304px; padding-inline: 32px; margin-inline: auto; }
.features-page .nav-inner { max-width: 1304px; padding-inline: 32px; }
.features-page .site-nav { background: #faf9f6f5; border-bottom: 1px solid var(--fs-line); backdrop-filter: blur(16px); }
.features-page .nav-logo { display: inline-flex; gap: 9px; }
.features-page .nav-logo img { width: 32px; height: 36px; object-fit: contain; }
.features-page .nav-logo-dark { display: none; }
.features-page .nav-logo-light { display: block; }
.fs-wordmark { font-family: var(--font-display); font-size: 18px; font-weight: 800; letter-spacing: -.7px; color: var(--fs-ink); white-space: nowrap; }
.fs-wordmark span { color: var(--fs-coral); }
.features-page .nav-links { gap: 25px; }
.features-page .nav-links > a, .features-page .nav-dropdown-trigger, .features-page .nav-signin { color: #424b41; }
.features-page .nav-dropdown-trigger:hover, .features-page .nav-signin:hover { color: var(--fs-coral); }
.features-page .nav-dropdown-trigger svg { stroke: currentColor; }
.features-page .nav-hamburger span { background: var(--fs-ink); }

.features-page :is(h1,h2,h3) { color: var(--fs-ink); font-family: var(--font-display, 'Satoshi', 'DM Sans', sans-serif); }
.features-page :is(a,button,input,summary,[tabindex]):focus-visible { outline: 3px solid var(--fs-coral); outline-offset: 5px; }
.features-page :is(a,button,input,summary,[tabindex]) { scroll-margin-block: 155px 24px; touch-action: manipulation; }
.features-page :is(.fs-preview-tabs button,.fs-section-nav a):focus-visible { outline-offset: -3px; }
.features-page button { font: inherit; cursor: pointer; }
.features-page section[id], .fs-feature[id], .fs-anchor { scroll-margin-top: 155px; }
.fs-anchor { position: absolute; }
.fs-eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 23px; font: 700 10px/1.6 var(--font-mono, monospace); text-transform: uppercase; letter-spacing: 1.3px; color: var(--fs-muted); }
.fs-eyebrow > span { width: 7px; height: 7px; border-radius: 50%; background: var(--fs-coral); }
.fs-hero { padding: 63px 0 70px; }
.fs-hero-grid { display: grid; grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr); gap: 72px; align-items: center; }
.fs-hero h1 { margin: 0 0 25px; font-size: clamp(42px,4.6vw,66px); line-height: 1.065; font-weight: 800; letter-spacing: -.055em; }
.fs-hero h1 em { font-style: normal; color: var(--fs-coral); }
.fs-lede { max-width: 445px; margin: 0 0 28px; font-size: 17px; line-height: 1.8; text-wrap: pretty; }
.fs-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.fs-button { display: inline-flex; align-items: center; justify-content: center; gap: 26px; min-height: 48px; padding: 13px 20px; border: 1px solid transparent; border-radius: 8px; background: var(--fs-ink); color: #fff; font-size: 14px; font-weight: 700; line-height: 1.5; text-decoration: none; transition: background .18s; }
.fs-button:hover { background: #344736; color: #fff; }
.fs-button > span { font-size: 19px; line-height: 1; }
.fs-text-link { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; color: var(--fs-ink); font-size: 13px; font-weight: 700; text-decoration: none; }
.fs-text-link:hover { color: var(--fs-coral); }
.fs-micro { margin: 14px 0 0; max-width: 410px; font-size: 11px; line-height: 1.7; color: var(--fs-muted); }
.fs-hero-note { display: flex; gap: 14px; padding-top: 24px; margin-top: 30px; border-top: 1px solid var(--fs-line); max-width: 410px; }
.fs-hero-note > span { font-size: 29px; color: var(--fs-coral); }
.fs-hero-note p { margin: 0; font-size: 12px; line-height: 1.7; }
.fs-hero-note strong { font-weight: 600; color: var(--fs-ink); }
.fs-product-viewer { min-width: 0; }
.fs-preview-tabs { display: flex; padding: 4px; gap: 4px; margin: 0 0 14px; background: #eaece3; border: 1px solid #dfe2d6; border-radius: 9px; }
.fs-preview-tabs button { flex: 1; min-height: 44px; padding: 10px 8px; border: 1px solid transparent; background: transparent; border-radius: 6px; color: #55604f; font-size: 12px; font-weight: 600; }
.fs-preview-tabs button:hover { background: #f5f6f1; }
.fs-preview-tabs button[aria-selected=true] { color: var(--fs-ink); background: #fff; border-color: #d9decf; box-shadow: 0 2px 3px #26311d0a; }
.fs-preview-panel { background: #fff; border: 1px solid #d7ddce; border-radius: 13px; box-shadow: 0 1px 3px #2028210a, 0 20px 50px -24px #263a2540; overflow: hidden; }
.fs-preview-label { display: flex; justify-content: space-between; gap: 10px; align-items: center; padding: 16px 18px; border-bottom: 1px solid #e8eadf; color: #56604f; font: 600 9px/1.6 var(--font-mono, monospace); text-transform: uppercase; letter-spacing: .3px; }
.fs-preview-pill { background: #f0f2ea; border-radius: 4px; padding: 4px 6px; white-space: nowrap; }
.fs-preview-panel figure { margin: 0; }
.fs-preview-stage { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 1.48; background: #f5f7f3; overflow: hidden; }
.fs-preview-stage img { display: block; width: 100%; max-height: 100%; object-fit: contain; }
.fs-preview-stage--agent { background: white; padding: 14px 15px 5px; }
.fs-preview-stage--agent img { object-fit: contain; width: auto; max-width: 100%; }
.fs-preview-stage--capture { padding-inline: 15px; }
.fs-preview-panel figcaption { padding: 17px 20px; border-top: 1px solid #e8eadf; font-size: 11px; line-height: 1.7; color: #5e6559; }
.fs-preview-panel figcaption strong { display: block; color: #303b2b; font-size: 12px; margin-bottom: 2px; }
.fs-preview-disclosure { margin: 13px 0 0; font-size: 10px; line-height: 1.6; color: #666b60; text-align: center; }
.fs-section-nav { position: sticky; top: 76px; z-index: 30; border-block: 1px solid var(--fs-line); background: #faf9f6f5; backdrop-filter: blur(14px); }
.fs-section-nav > div { display: flex; gap: 38px; overflow-x: auto; scrollbar-width: thin; }
.fs-section-nav a { display: inline-flex; align-items: center; white-space: nowrap; min-height: 60px; text-decoration: none; color: #606657; font-size: 12px; font-weight: 600; border-bottom: 2px solid transparent; padding-top: 2px; }
.fs-section-nav a:hover, .fs-section-nav a[aria-current=true] { color: var(--fs-coral); border-color: var(--fs-coral); }
.fs-section { padding-block: 88px; }
.fs-section-heading { display: flex; justify-content: space-between; gap: 60px; align-items: flex-end; margin-bottom: 40px; }
.fs-section-heading .fs-eyebrow { margin-bottom: 18px; }
.fs-section h2, .fs-final h2 { margin: 0; font-size: clamp(30px,3.6vw,46px); font-weight: 750; line-height: 1.12; letter-spacing: -.045em; text-wrap: balance; }
.fs-section-heading > p { max-width: 340px; margin: 0 0 4px; font-size: 14px; line-height: 1.8; }
.fs-discovery { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 24px; }
.fs-filter-group { display: flex; flex-wrap: wrap; gap: 6px; }
.fs-filter-group button { min-height: 44px; padding: 9px 14px; border: 1px solid var(--fs-line); border-radius: 6px; background: transparent; color: #565d50; font-size: 12px; font-weight: 600; }
.fs-filter-group button:hover { background: var(--fs-wash); }
.fs-filter-group button[aria-pressed=true] { background: var(--fs-ink); border-color: var(--fs-ink); color: white; }
.fs-search { width: 290px; flex-shrink: 0; }
.fs-search label { display: block; margin-bottom: 8px; color: var(--fs-muted); font-size: 11px; font-weight: 600; }
.fs-search input { width: 100%; min-height: 44px; border: 1px solid #c7cbbf; border-radius: 6px; padding: 10px 13px; background: #fff; color: var(--fs-ink); font: inherit; font-size: 12px; }
.fs-search input::placeholder { color: #6b7165; opacity: 1; }
.fs-results-line { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 7px; font-size: 11px; color: var(--fs-muted); }
.fs-results-line > span { min-width: 0; overflow-wrap: anywhere; }
.fs-results-line > a { flex-shrink: 0; }
.fs-results-line a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--fs-coral); text-decoration: none; font-weight: 600; }
.fs-feature-list { border-top: 1px solid #bdc5b4; }
.fs-feature { display: grid; grid-template-columns: 52px minmax(0,1fr) minmax(140px,220px); gap: 14px; padding: 26px 0 23px; border-bottom: 1px solid var(--fs-line); align-items: start; }
.fs-feature-number { padding-top: 4px; color: #68705e; font: 500 11px/1.6 var(--font-mono,monospace); }
.fs-feature h3 { margin: 0 0 5px; font-size: 20px; font-weight: 700; letter-spacing: -.025em; line-height: 1.35; }
.fs-feature-summary { margin: 0; max-width: 680px; font-size: 13px; line-height: 1.7; color: #596051; }
.fs-tier { display: inline-block; justify-self: end; padding: 5px 9px; margin-top: 2px; border: 1px solid #d8ddd0; border-radius: 4px; color: #516045; background: #f0f3e9; font-size: 10px; font-weight: 600; line-height: 1.6; max-width: 100%; }
.fs-feature-detail { margin-top: 6px; }
.fs-feature-detail summary { display: flex; gap: 15px; align-items: center; width: fit-content; min-height: 44px; cursor: pointer; list-style: none; color: var(--fs-coral); font-size: 11px; font-weight: 600; }
.fs-feature-detail summary::-webkit-details-marker { display: none; }
.fs-feature-detail summary > span { font-size: 17px; font-weight: 400; }
.fs-feature-detail[open] summary > span { transform: rotate(45deg); }
.fs-feature-detail > div { max-width: 720px; padding: 3px 0 7px; }
.fs-feature-detail p { margin: 0; font-size: 13px; line-height: 1.9; }
.fs-feature-detail a { color: var(--fs-coral); text-decoration: underline; text-underline-offset: 3px; }
.fs-no-results { border-bottom: 1px solid var(--fs-line); padding: 50px 20px; text-align: center; }
.fs-no-results h3 { margin: 0 0 10px; font-size: 21px; }
.fs-no-results p { margin: 0 0 20px; font-size: 14px; }
.fs-team { background: #eceee6; border-block: 1px solid #dfe4d5; }
.fs-team-visual { margin: 0 0 38px; padding: 14px 14px 0; background: #fcfdf9; border: 1px solid #ccd4c1; border-radius: 12px; overflow: hidden; box-shadow: 0 14px 50px -32px #35482570; }
.fs-team-visual img { width: 100%; height: auto; display: block; border: 1px solid #e3e7dc; border-radius: 6px; }
.fs-team-visual figcaption { padding: 13px 5px; font-size: 10px; line-height: 1.6; color: #59614f; }
.fs-team-index { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px 44px; margin-bottom: 30px; }
.fs-team-index article > span { display: block; margin-bottom: 7px; color: #586749; font: 600 9px/1.5 var(--font-mono,monospace); letter-spacing: .8px; text-transform: uppercase; }
.fs-team-index h3 { margin: 0 0 8px; font-size: 18px; line-height: 1.3; letter-spacing: -.02em; }
.fs-team-index p { margin: 0; font-size: 12px; line-height: 1.8; color: #565f4b; }
.fs-editorial-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 100px; }
.fs-editorial-heading > p:last-child { max-width: 340px; margin: 22px 0 0; font-size: 14px; line-height: 1.8; }
.fs-editorial-rows article { padding: 0 0 28px; margin-bottom: 28px; border-bottom: 1px solid var(--fs-line); }
.fs-editorial-rows article:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.fs-editorial-rows .fs-tier { margin: 0 0 12px; }
.fs-editorial-rows h3 { margin: 0 0 11px; font-size: 24px; line-height: 1.3; letter-spacing: -.03em; }
.fs-editorial-rows p { margin: 0; font-size: 14px; line-height: 1.85; }
.fs-editorial-rows .fs-text-link { margin-top: 9px; }
.fs-comms { background: #f0ece5; border-block: 1px solid #e1d9ce; }
.fs-comms .fs-editorial-rows article { border-color: #dbd2c6; }
.fs-tier--future { color: #78512d; background: #f9f0e4; border-color: #decdb6; }
.fs-control-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 44px; margin-bottom: 23px; }
.fs-control-grid article { padding-top: 21px; border-top: 1px solid #bdc5b4; }
.fs-control-grid article > span { display: block; margin-bottom: 22px; color: var(--fs-coral); font: 500 11px/1.5 var(--font-mono,monospace); }
.fs-control-grid h3 { margin: 0 0 11px; font-size: 22px; letter-spacing: -.03em; }
.fs-control-grid p { margin: 0; font-size: 13px; line-height: 1.8; }
.fs-more { padding-top: 0; }
.fs-more-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 48px; }
.fs-more-links a { display: grid; grid-template-columns: 95px minmax(0,1fr) 18px; align-items: center; gap: 16px; min-height: 88px; padding: 18px 0; border-top: 1px solid var(--fs-line); text-decoration: none; color: var(--fs-ink); }
.fs-more-links a > span:first-child { color: var(--fs-muted); font-size: 10px; }
.fs-more-links a > strong { font-size: 15px; line-height: 1.5; font-weight: 650; }
.fs-more-links a > span:last-child { color: var(--fs-coral); font-size: 20px; }
.fs-more-links a:hover strong { color: var(--fs-coral); }
.fs-final { padding: 75px 0 80px; background: var(--fs-ink); color: #d1d8cd; }
.fs-final > div { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.fs-final .fs-eyebrow { color: #c2ccba; }
.fs-final h2 { color: #f3f5eb; font-size: clamp(34px,4vw,52px); }
.fs-final p:not(.fs-eyebrow) { font-size: 14px; line-height: 1.8; margin: 23px 0 0; }
.fs-final-actions { display: flex; flex-direction: column; align-items: flex-start; min-width: 250px; gap: 10px; }
.fs-button--light { color: var(--fs-ink); background: #f0f3e8; }
.fs-button--light:hover { color: var(--fs-ink); background: white; }
.fs-final-actions > a:not(.fs-button) { display: inline-flex; align-items: center; gap: 15px; min-height: 44px; color: #eef2e6; font-size: 12px; text-decoration: none; }
.fs-final-actions > span { font-size: 10px; color: #c0ccb7; }
@media (max-width: 1100px) {
  .fs-hero-grid { gap: 40px; }
  .fs-hero h1 { font-size: 51px; }
  .fs-hero .fs-actions { gap: 15px; }
  .fs-section-nav > div { gap: 25px; }
  .fs-editorial-grid { gap: 55px; }
  .fs-filter-group button { padding-inline: 11px; }
  .fs-search { width: 245px; }
}
@media (max-width: 800px) {
  .features-main { padding-top: 76px; }
  .fs-container, .features-page .nav-inner { padding-inline: 24px; }
  .fs-hero { padding: 39px 0 46px; }
  .fs-hero-grid { grid-template-columns: minmax(0,1fr); gap: 34px; }
  .fs-hero h1 { font-size: clamp(41px,7.4vw,58px); }
  .fs-hero h1 br:last-child { display: none; }
  .fs-lede { max-width: 550px; font-size: 15px; line-height: 1.8; margin-bottom: 24px; }
  .fs-eyebrow { font-size: 9px; margin-bottom: 18px; }
  .fs-hero-note { display: none; }
  .fs-micro { max-width: none; }
  .fs-product-viewer { max-width: 620px; width: 100%; margin-inline: auto; }
  .fs-section-nav { top: 75px; }
  .fs-section-nav a { min-height: 54px; font-size: 11px; }
  .fs-section { padding-block: 58px; }
  .fs-section-heading { gap: 23px; align-items: flex-start; flex-direction: column; margin-bottom: 29px; }
  .fs-section-heading > p { max-width: 520px; font-size: 13px; }
  .fs-section h2 { font-size: 37px; }
  .fs-discovery { align-items: stretch; flex-direction: column; gap: 18px; }
  .fs-search { width: 100%; }
  .fs-filter-group { gap: 6px; }
  .fs-filter-group button { font-size: 11px; padding-inline: 12px; }
  .fs-feature { grid-template-columns: 32px minmax(0,1fr); gap: 8px 10px; padding-block: 22px; }
  .fs-feature-copy { grid-column: 2; }
  .fs-feature h3 { font-size: 20px; }
  .fs-feature > .fs-tier { grid-column: 2; justify-self: start; grid-row: 2; margin-top: -2px; }
  .fs-feature-number { grid-row: 1 / span 2; }
  .fs-team-index { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 27px; }
  .fs-team-visual { padding: 7px 7px 0; margin-bottom: 30px; }
  .fs-editorial-grid { grid-template-columns: minmax(0,1fr); gap: 30px; }
  .fs-editorial-heading > p:last-child { max-width: 500px; font-size: 13px; margin-top: 18px; }
  .fs-editorial-rows h3 { font-size: 23px; }
  .fs-editorial-rows p { font-size: 13px; }
  .fs-control-grid { grid-template-columns: minmax(0,1fr); gap: 29px; }
  .fs-control-grid article > span { margin-bottom: 14px; }
  .fs-more { padding-top: 0; }
  .fs-more-links { grid-template-columns: minmax(0,1fr); }
  .fs-more-links a { min-height: 76px; grid-template-columns: 84px minmax(0,1fr) 18px; }
  .fs-final { padding-block: 55px; }
  .fs-final > div { flex-direction: column; align-items: flex-start; gap: 25px; }
  .fs-final h2 { font-size: 42px; }
}
@media (max-width: 420px) {
  .fs-container, .features-page .nav-inner { padding-inline: 20px; }
  .fs-hero h1 { font-size: 42px; }
  .fs-hero h1 br:first-child { display: none; }
  .fs-actions { gap: 12px 18px; }
  .fs-button { font-size: 12px; padding-inline: 16px; gap: 18px; }
  .fs-text-link { font-size: 12px; gap: 10px; }
  .fs-preview-tabs button { font-size: 10px; padding-inline: 4px; }
  .fs-preview-label { padding: 12px; font-size: 8px; }
  .fs-preview-pill { display: none; }
  .fs-preview-stage--agent { padding: 5px; }
  .fs-preview-panel figcaption { padding: 14px; font-size: 10px; }
  .fs-preview-panel figcaption strong { font-size: 11px; }
  .fs-preview-disclosure { font-size: 9px; }
  .fs-section h2 { font-size: 32px; }
  .fs-filter-group button { flex: 1 1 calc(50% - 6px); font-size: 11px; }
  .fs-feature { grid-template-columns: 22px minmax(0,1fr); }
  .fs-feature h3 { font-size: 18px; }
  .fs-feature-summary, .fs-feature-detail p { font-size: 12px; }
  .fs-results-line { font-size: 10px; }
  .fs-team-index { grid-template-columns: minmax(0,1fr); }
  .fs-team-index article { padding-top: 18px; border-top: 1px solid #ced6c3; }
  .fs-team-index article > span { margin-bottom: 5px; }
  .fs-more-links a { gap: 12px; grid-template-columns: 63px minmax(0,1fr) 16px; }
  .fs-more-links a > strong { font-size: 13px; }
  .fs-more-links a > span:first-child { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .features-page *, .features-page *::before, .features-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
