/* Shared editorial treatment for RevANT's public product pages. */
:root {
  --bg: #0b0e0c;
  --panel: #111612;
  --line: #29312a;
  --text: #f0f1eb;
  --muted: #a4ada1;
  --green: #c4e7ac;
  --green-dim: #91af7d;
  --font: "Segoe UI", Arial, sans-serif;
  --display: "Segoe UI", Arial, sans-serif;
}
body { font-family: var(--font); }
.features-page { --font: "Segoe UI", Arial, sans-serif; --display: "Segoe UI", Arial, sans-serif; }
button, input, select { font-family: inherit; }
h1, h2, h3, h4 { font-family: var(--display); }
.button { border-radius: 6px; font-weight: 600; box-shadow: 0 3px 12px #0002; }
.button:hover { background: #d3edc1; transform: translateY(-1px); }
.button.secondary:hover { background: #1e281c; }
.status-dot { box-shadow: none; }
.header { background: #0b0e0cf2; border-bottom-color: #ffffff0b; }
.desktop-nav a { font-size: 13px; }
.eyebrow { letter-spacing: .13em; font-size: 9px; color: #b5c9a7; }
.muted-heading { color: #9ca897; }
.hero-description { color: #b0b8aa; font-size: 14px; }
.hero h1 { font-weight: 400; }
.hero .cursor { display: none; }
.hero .hero-subtitle { font-weight: 400; }
.hero .fingerprint { opacity: .72; }
.hero .scan-line { display: none; }
.feature-card { background: #111712; border-radius: 9px; }
.feature-card:hover { transform: translateY(-2px); border-color: #536149; }
.feature-card > p { font-size: 13px; line-height: 1.85; color: var(--muted); }
.feature-card h3 { font-size: 23px; letter-spacing: -.035em; }
.section-heading > p { font-size: 14px; line-height: 1.9; }
.product-disclosure { font-size: 12px; line-height: 1.9; }
.features-hero { min-height: 580px; padding-block: 60px 70px; grid-template-columns: 1.1fr 1fr; gap: 70px; }
.features-intro h1 { font-size: clamp(48px, 5.2vw, 74px); font-weight: 400; line-height: 1.04; letter-spacing: -.065em; }
.features-intro > p { font-size: 16px; line-height: 1.85; margin-top: 27px; max-width: 470px; }
.features-intro .back-link { color: #aab5a3; font-size: 9px; margin-bottom: 36px; }
.features-intro .eyebrow { font-size: 9px; color: #c0d0b6; }
.release-pill { border-color: #45543c; color: #bed6af; background: #b0d5990a; border-radius: 20px; padding: 5px 10px; }
.features-intro .hero-buttons { gap: 22px; }
.features-intro .hero-buttons > .button { font-size: 13px; }
.workspace-preview { border: 1px solid #3c4837; border-radius: 12px; background: #111711; box-shadow: 0 35px 80px #0005, 0 0 90px #a8d48306; overflow: hidden; transform: rotate(-1deg); }
.workspace-preview-bar { display: flex; align-items: center; gap: 12px; padding: 16px 20px; background: #192018; border-bottom: 1px solid var(--line); }
.workspace-preview-bar .window-dots { margin-right: auto; }
.workspace-preview-bar > span { font: 8px var(--mono); letter-spacing: .1em; color: #a9b49f; }
.workspace-preview-body { padding: 28px 24px 24px; }
.workspace-preview-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 23px; }
.workspace-preview-top h2 { font-size: 23px; font-weight: 500; letter-spacing: -.04em; }
.workspace-preview-top > span { color: #c0d0b4; font: 9px var(--mono); border: 1px solid #45523d; border-radius: 4px; padding: 6px 9px; }
.workspace-profile { display: flex; align-items: center; gap: 12px; padding: 18px 0; border-top: 1px solid #293326; }
.workspace-profile-avatar { display: grid; place-items: center; width: 35px; height: 35px; flex: 0 0 35px; border: 1px solid #45543a; border-radius: 9px; color: #d0dfc4; background: #2b3625; font-size: 13px; }
.workspace-profile:nth-of-type(3) .workspace-profile-avatar { background: #2c2b35; border-color: #474252; color: #cbc6db; }
.workspace-profile:nth-of-type(4) .workspace-profile-avatar { background: #332f23; border-color: #4f4736; color: #d9cfb7; }
.workspace-profile strong { display: block; font-size: 13px; font-weight: 500; }
.workspace-profile small { display: block; color: #9ba892; font-size: 10px; margin-top: 5px; }
.workspace-profile > span:last-child { margin-left: auto; font: 8px var(--mono); color: #bad5a7; }
.workspace-preview-note { display: flex; gap: 9px; align-items: center; margin-top: 18px; padding: 14px; background: #c4e7ac06; border: 1px solid #34422d; border-radius: 5px; font-size: 10px; line-height: 1.7; color: #b8c6ac; }
.workspace-preview-note .icon { width: 14px; height: 14px; }
.workspace-preview-footer { border-top: 1px solid var(--line); color: #8e9c86; padding: 13px 20px; font: 7px/1.8 var(--mono); letter-spacing: .04em; }
.feature-stats { background: #111610; }
.feature-stats > .container { padding-block: 27px; }
.feature-stats strong { font-weight: 400; font-size: 32px; }
.feature-stats span { font-size: 11px; }
.features-subnav { position: sticky; top: 88px; z-index: 30; background: #0e130ff5; backdrop-filter: blur(16px); border-bottom: 1px solid #ffffff0d; }
.features-subnav > .container { display: flex; gap: 27px; align-items: center; min-height: 57px; overflow-x: auto; scrollbar-width: none; }
.features-subnav > .container::-webkit-scrollbar { display: none; }
.features-subnav a { white-space: nowrap; color: #a7b39e; font-size: 11px; padding-block: 17px; }
.features-subnav a:hover { color: var(--green); }
.features-subnav a:first-child { color: var(--green); }
.features-page section[id] { scroll-margin-top: 65px; }
.identity-spotlight { padding-top: 90px; }
.identity-spotlight-heading { max-width: none; display: grid; grid-template-columns: 1fr 1fr; column-gap: 65px; align-items: end; margin-bottom: 50px; }
.identity-spotlight-heading > .eyebrow { grid-column: 1/-1; margin-bottom: 24px; }
.identity-spotlight-heading h2 { font-size: 58px; font-weight: 400; letter-spacing: -.06em; }
.identity-spotlight-heading > p { margin: 0 0 3px; max-width: 420px; font-size: 15px; line-height: 1.9; }
.identity-spotlight-layout { gap: 65px; }
.identity-benefits article { gap: 19px; margin-bottom: 28px; }
.identity-benefits h3 { font-size: 22px; font-weight: 500; }
.identity-benefits p { font-size: 13px; }
.identity-benefit-number { border-color: #3b4932; color: #bad1a9; background: #1b2517; border-radius: 50%; }
.identity-preview { border-color: #3c4a34; box-shadow: 0 25px 60px #0003; background: #131b12; }
.identity-preview-heading h3 { font-weight: 500; }
.identity-preview-heading p { font-size: 11px; }
.identity-preview-panel { min-height: 435px; }
.identity-connection-data dt { font-size: 11px; }
.identity-connection-data dd { font-size: 12px; }
.identity-result-banner { background: #283c24; border-color: #405938; }
.identity-result-banner strong { font-size: 13px; }
.identity-result-banner div > span { font-size: 10px; }
.identity-tabs > button { min-height: 45px; font-size: 12px; }
.identity-panel-note { font-size: 10px; }
.identity-context-list li { font-size: 12px; }
.identity-check-card h4 { font-size: 13px; font-weight: 500; }
.identity-check-card p { font-size: 11px; }
.identity-check-card div > span { font-size: 8px; }
.identity-preview-footer { font-size: 10px; }
.feature-library-section { padding-top: 100px; }
.feature-library-section h2, .features-page .section-heading h2 { font-size: 46px; font-weight: 400; line-height: 1.13; letter-spacing: -.055em; }
.feature-library-section .section-heading > p { max-width: 390px; }
.catalog-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; margin-bottom: 23px; }
.catalog-search { display: flex; gap: 10px; align-items: center; width: 100%; max-width: 360px; background: #111711; border: 1px solid #384430; border-radius: 6px; padding: 0 14px; }
.catalog-search svg { width: 16px; height: 16px; color: #98aa89; flex-shrink: 0; }
.catalog-search input { background: transparent; border: 0; color: var(--text); width: 100%; min-width: 0; padding-block: 13px; font-size: 12px; outline-offset: 1px; }
.catalog-search input::placeholder { color: #8e9e83; opacity: 1; }
.catalog-summary { color: #8e9e83; font-size: 11px; }
.feature-filters { gap: 7px; }
.feature-filters button { border-radius: 30px; font-size: 11px; padding: 8px 14px; }
.feature-filters button[aria-pressed=true] { background: #25351e; color: #d7e9ca; border-color: #5b7449; }
.filter-result { font-size: 10px; margin: 23px 0 18px; color: #adbda1; letter-spacing: .02em; }
.capability-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 28px; border-top: 1px solid #384430; }
.capability-card { border: 0; border-radius: 0; border-bottom: 1px solid #303b2b; background: transparent; padding: 27px 0 25px; }
.capability-card:hover { border-color: #6b8059; }
.capability-top { margin-bottom: 19px; }
.capability-top > .icon { width: 21px; height: 21px; color: #b3cc9f; }
.capability-top > span { color: #92a284; font-size: 8px; }
.capability-card h3 { font-weight: 500; font-size: 21px; line-height: 1.3; letter-spacing: -.035em; margin-bottom: 12px; }
.capability-card > p { font-size: 13px; line-height: 1.9; margin-bottom: 17px; color: #a7b19f; }
.capability-tags > span { padding: 3px 0; border: 0; color: #aabe9b; font-size: 8px; }
.capability-tags > span + span:before { content: "·"; padding-right: 7px; color: #65765a; }
.capability-detail { margin-top: 17px; padding-top: 13px; border-top: 1px solid #ffffff09; }
.capability-detail summary { cursor: pointer; width: max-content; font-size: 11px; color: #c2d7b2; list-style: none; }
.capability-detail summary::-webkit-details-marker { display: none; }
.capability-detail summary:after { content: "+"; margin-left: 10px; font: 14px var(--mono); }
.capability-detail[open] summary:after { content: "−"; }
.capability-detail p { font-size: 12px; line-height: 1.9; color: #b3beaa; margin-top: 12px; }
.catalog-empty { border-bottom: 1px solid var(--line); padding: 45px 20px; text-align: center; color: var(--muted); font-size: 14px; }
.catalog-empty button { color: var(--green); text-decoration: underline; margin-left: 10px; font-size: 13px; }
.feature-footnote { color: #a4af9b; font-size: 11px; margin-top: 25px; }
.route-section { background: #111710; padding-block: 85px; }
.route-copy h2 { font-weight: 400; font-size: 46px; }
.route-copy > p { font-size: 14px; }
.route-demo { box-shadow: 0 15px 40px #0002; background: #172015; }
#route-description { min-height: 140px; }
#route-description h3 { font-weight: 500; font-size: 23px; }
#route-description p { font-size: 13px; }
.route-retained { font-size: 11px; }
.explainer-note { font-size: 10px; }
.recovery-section { padding-block: 95px; }
.recovery-section > .section-heading > p { max-width: 380px; }
.backup-options { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.backup-option { border: 1px solid #34412d; border-radius: 10px; background: #121910; padding: 34px; }
.backup-option:first-child { background: #151f12; border-color: #4e6340; }
.backup-option-label { font: 9px var(--mono); letter-spacing: .1em; color: #aac196; }
.backup-option h3 { font-size: 30px; letter-spacing: -.045em; margin-top: 18px; font-weight: 400; }
.backup-option > p { color: #a9b59f; line-height: 1.9; font-size: 13px; margin-top: 15px; }
.backup-option ul { padding: 21px 0 0; margin: 21px 0 0; list-style: none; border-top: 1px solid #35432d; }
.backup-option li { display: flex; justify-content: space-between; gap: 18px; font-size: 12px; margin-bottom: 13px; color: #aab99d; }
.backup-option li:last-child { margin-bottom: 0; }
.backup-option li span:last-child { color: #e0e8d9; text-align: right; }
.recovery-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-top: 36px; }
.recovery-steps > div { padding-left: 19px; border-left: 1px solid #536647; }
.recovery-steps span { font: 9px var(--mono); color: #aec299; }
.recovery-steps h4 { margin-block: 9px; font-size: 17px; font-weight: 500; letter-spacing: -.025em; }
.recovery-steps p { color: #a4af9a; font-size: 12px; line-height: 1.9; }
.recovery-schedule { display: flex; gap: 23px; align-items: center; margin-top: 34px; padding: 23px 25px; border: 1px solid #35422d; border-radius: 6px; }
.recovery-schedule > .icon { color: var(--green); width: 24px; height: 24px; }
.recovery-schedule strong { display: block; font-size: 14px; font-weight: 500; margin-bottom: 6px; }
.recovery-schedule p { font-size: 12px; color: #aab89e; line-height: 1.9; }
.automation-section { border-top: 1px solid #293325; }
.agent-list span { border-radius: 30px; padding: 8px 14px; border-color: #3b4933; color: #c0d0b3; font-size: 11px; }
.agent-workflow h3 { font-weight: 500; font-size: 21px; }
.agent-workflow p { font-size: 13px; }
.api-example { border-color: #3c4933; background: #11170f; }
.api-example-bar { background: #1a2316; }
.api-example pre { line-height: 2; }
.api-example > p { font-size: 11px; }
.agent-scope-note { font-size: 12px; color: #a8b79d; margin-top: 30px; padding-top: 23px; border-top: 1px solid #303e28; line-height: 1.9; }
.engine-table th, .engine-table td { padding: 23px; font-size: 13px; }
.engine-table thead th { background: #151d12; color: #a2b595; }
.engine-table tbody th { font-weight: 500; font-size: 16px; }
.engine-table th span { font-size: 8px; }
.availability-note { background: transparent; border: 0; padding-inline: 0; }
.availability-note p { font-size: 12px; }
.feature-faq { padding-block: 15px 90px; }
.feature-faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 85px; }
.feature-faq h2 { font-size: 43px; line-height: 1.1; font-weight: 400; letter-spacing: -.05em; margin-top: 23px; }
.feature-faq details { border-bottom: 1px solid #35412d; padding-block: 20px; }
.feature-faq details:first-child { border-top: 1px solid #35412d; }
.feature-faq summary { list-style: none; display: flex; gap: 15px; justify-content: space-between; cursor: pointer; color: #e0e7d9; font-size: 14px; }
.feature-faq summary::-webkit-details-marker { display: none; }
.feature-faq summary:after { content: "+"; font: 17px var(--mono); color: #a8c096; }
.feature-faq details[open] summary:after { content: "−"; }
.feature-faq details p { margin-top: 15px; font-size: 13px; color: #a8b49d; line-height: 1.9; }
.release-section { background: #121b10; border-color: #3f5133; }
.release-section h2 { font-weight: 400; }
.features-cta { padding-block: 90px; }
.features-cta h2 { font-weight: 400; font-size: 48px; letter-spacing: -.055em; }
.home-feature-links { margin-top: 30px; border-top: 1px solid #35432d; border-bottom: 1px solid #35432d; display: grid; grid-template-columns: repeat(4, 1fr); }
.home-feature-links a { padding: 24px 22px; border-right: 1px solid #303c2a; transition: background .2s; }
.home-feature-links a:last-child { border: 0; }
.home-feature-links a:hover { background: #c4e7ac07; }
.home-feature-links span { font: 8px var(--mono); color: #92a782; display: block; margin-bottom: 12px; }
.home-feature-links strong { font-size: 14px; font-weight: 500; color: #d5e2ca; display: block; }
.home-feature-links small { display: block; font-size: 11px; color: #a1af96; line-height: 1.8; margin-top: 7px; }
@media (max-width: 1100px) {
  .features-hero { gap: 40px; }
  .features-intro h1 { font-size: 61px; }
  .workspace-preview-body { padding-inline: 20px; }
  .workspace-profile strong { font-size: 12px; }
  .identity-spotlight-heading, .identity-spotlight-layout { column-gap: 38px; }
  .identity-spotlight-heading h2 { font-size: 53px; }
  .capability-grid { gap: 0 23px; }
  .feature-faq-layout { gap: 45px; }
  .backup-option { padding: 28px; }
}
@media (max-width: 820px) {
  .features-subnav { top: 74px; }
  .features-subnav > .container { gap: 23px; }
  .features-hero { grid-template-columns: 1fr; gap: 45px; padding-block: 40px 55px; }
  .features-intro h1 { font-size: 64px; }
  .features-intro > p { max-width: 520px; }
  .workspace-preview { width: 100%; max-width: 540px; transform: none; }
  .workspace-profile strong { font-size: 13px; }
  .identity-spotlight-heading { column-gap: 25px; }
  .identity-spotlight-heading h2 { font-size: 48px; }
  .identity-spotlight-heading > p { font-size: 14px; }
  .identity-benefits { gap: 25px; }
  .identity-benefits article { margin: 0; }
  .identity-spotlight-layout { grid-template-columns: 1fr; }
  .identity-preview { max-width: none; }
  .capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .backup-options { gap: 17px; }
  .backup-option { padding: 24px; }
  .backup-option h3 { font-size: 26px; }
  .backup-option li { font-size: 11px; }
  .feature-faq-layout { grid-template-columns: 1fr; gap: 30px; }
  .home-feature-links { grid-template-columns: repeat(2, 1fr); }
  .home-feature-links a:nth-child(2) { border-right: 0; }
  .home-feature-links a:nth-child(-n+2) { border-bottom: 1px solid #303c2a; }
}
@media (max-width: 640px) {
  .features-subnav { top: 69px; }
  .features-subnav > .container { gap: 22px; min-height: 49px; }
  .features-subnav a { font-size: 10px; padding-block: 14px; }
  .features-page section[id] { scroll-margin-top: 55px; }
  .features-hero { padding-top: 35px; gap: 35px; }
  .features-intro h1 { font-size: clamp(43px, 11vw, 64px); }
  .features-intro > p { font-size: 14px; }
  .features-intro .eyebrow { font-size: 8px; }
  .features-intro .hero-buttons > .button { font-size: 12px; }
  .workspace-preview-top h2 { font-size: 22px; }
  .workspace-preview-top > span { font-size: 8px; }
  .workspace-preview-bar { padding: 14px 18px; }
  .workspace-preview-body { padding: 22px 18px; }
  .workspace-profile { gap: 10px; padding-block: 17px; }
  .workspace-profile strong { font-size: 12px; }
  .workspace-profile > span:last-child { font-size: 7px; }
  .workspace-profile small { font-size: 9px; }
  .feature-stats span { font-size: 10px; }
  .feature-stats strong { font-size: 28px; }
  .identity-spotlight { padding-top: 58px; }
  .identity-spotlight-heading { display: block; margin-bottom: 30px; }
  .identity-spotlight-heading h2 { font-size: 45px; }
  .identity-spotlight-heading > p { margin-top: 23px; font-size: 13px; }
  .identity-spotlight-heading .eyebrow { font-size: 7px; }
  .identity-benefits h3 { font-size: 21px; }
  .identity-benefits p { font-size: 13px; }
  .identity-preview-panel { min-height: 0; }
  .identity-connection-data dd { font-size: 11px; }
  .identity-connection-data dt { font-size: 10px; }
  .identity-tabs > button { font-size: 11px; }
  .feature-library-section { padding-top: 70px; }
  .feature-library-section h2, .features-page .section-heading h2 { font-size: 37px; }
  .section-heading > p { font-size: 13px; }
  .catalog-toolbar { gap: 10px; }
  .catalog-search { max-width: none; }
  .catalog-summary { font-size: 10px; }
  .feature-filters { gap: 7px; }
  .feature-filters button { font-size: 10px; padding: 8px 12px; }
  .capability-grid { grid-template-columns: 1fr; }
  .capability-card { padding-block: 26px; }
  .capability-card h3 { font-size: 24px; }
  .capability-card > p { font-size: 14px; }
  .capability-top > span { font-size: 9px; }
  .capability-tags > span { font-size: 9px; }
  .capability-detail summary { font-size: 12px; }
  .capability-detail p { font-size: 13px; }
  .route-section { padding-block: 58px; }
  .route-copy h2 { font-size: 37px; }
  #route-description { min-height: 145px; }
  #route-description p { font-size: 12px; }
  .recovery-section { padding-block: 65px; }
  .backup-options { grid-template-columns: 1fr; gap: 17px; }
  .backup-option { padding: 27px 23px; }
  .backup-option h3 { font-size: 29px; }
  .backup-option li { font-size: 12px; }
  .recovery-steps { grid-template-columns: 1fr; gap: 23px; margin-top: 28px; }
  .recovery-schedule { align-items: flex-start; padding: 21px 18px; gap: 14px; }
  .recovery-schedule > .icon { width: 19px; height: 19px; }
  .agent-scope-note { font-size: 11px; }
  .engine-table th, .engine-table td { font-size: 12px; padding: 20px; }
  .feature-faq { padding-bottom: 60px; }
  .feature-faq h2 { font-size: 37px; }
  .feature-faq summary { font-size: 14px; }
  .features-cta h2 { font-size: 38px; }
  .home-feature-links a { padding: 22px 15px; }
  .home-feature-links strong { font-size: 13px; }
  .home-feature-links small { font-size: 11px; }
  .feature-card > p { font-size: 13px; }
  .feature-card h3 { font-size: 23px; }
}
@media (max-width: 370px) {
  .nav-actions > .nav-login { display: none; }
  .features-intro .eyebrow { font-size: 7px; }
  .workspace-preview-top h2 { font-size: 19px; }
  .workspace-preview-top > span { font-size: 7px; padding-inline: 6px; }
  .workspace-profile > span:last-child { font-size: 6px; }
  .workspace-profile small { font-size: 8px; }
  .identity-connection-data > div { flex-wrap: wrap; }
}
