/* Spark Life marketing pages: the homepage's restrained smoke finish.
   Product simulations retain their own layout and state styles. */
/* Match the homepage glass while preserving the contextual product header.
   Blur only the backdrop layer, leaving links and dropdowns crisp. */
.site-nav-life::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: rgba(7, 13, 20, .96);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .035),
    0 8px 28px rgba(0, 0, 0, .18);
}
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site-nav-life::before {
    background: linear-gradient(180deg, rgba(13, 23, 33, .8), rgba(7, 13, 20, .72));
    -webkit-backdrop-filter: blur(24px) saturate(140%);
    backdrop-filter: blur(24px) saturate(140%);
  }
}
@media (prefers-reduced-transparency: reduce) {
  .site-nav-life::before {
    background: #0a121b;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
/* Product graphic tokens: shared by Features, Lead Systems, and AI Agent. */
body.life-page {
 --demo-surface: linear-gradient(145deg,#1c2530,#111922 70%);
 --demo-panel: rgba(220,231,244,.035);
 --demo-selected: rgba(218,230,244,.085);
 --demo-border: rgba(218,230,244,.12);
 --demo-text: #e7edf4;
 --demo-muted: #aeb7c3;
 --demo-radius: 12px;
 --demo-control-radius: 6px;
 --demo-shadow: inset 0 1px 0 #ffffff09,0 18px 48px #00000024;
}
body.life-page main { background: var(--spark-bg, #070b0f); color: var(--spark-text, #e9edf3); }
body.life-page .life-content-section { border-bottom: 1px solid rgba(205,220,240,.07); background-color: var(--spark-bg, #070b0f); }
body.life-page main > .life-content-section:last-child { border-bottom: 0; }
body.life-page .life-content-section:not(:first-child) { padding-block: 88px; }
body.life-page .life-grid-bg::before { opacity: 0; animation: none; }
body.life-page .life-grid-bg::after { inset: 0; background: radial-gradient(ellipse at 65% 0%,rgba(94,112,135,.045),transparent 60%); }
body.life-page .life-hero-centered { min-height: auto; padding: 96px 24px 80px; }
body.life-page .life-hero-centered::before { background: radial-gradient(ellipse at 50% 30%,rgba(84,104,128,.11),transparent 70%); }
body.life-page .life-hero-centered::after { display: none; }
body.life-page .life-page-title { font-size: clamp(40px,5.2vw,72px); font-weight: 400; letter-spacing: -.055em; line-height: 1.08; }
body.life-page .life-section-title { font-size: clamp(34px,4.1vw,54px); font-weight: 400; line-height: 1.1; letter-spacing: -.045em; }
body.life-page .life-feature-copy .life-section-title { font-size: clamp(32px,3.4vw,44px); }
body.life-page .life-hero-centered p { font-size: 18px; line-height: 1.75; max-width: 760px; color: var(--spark-muted,#aab5c3); }
body.life-page .life-reading-copy, body.life-page .life-feature-list { font-size: 16px; line-height: 1.8; color: var(--spark-muted,#aab5c3); }
body.life-page .life-feature-list svg { width: 18px; height: 18px; color: #99aabd; }
body.life-page .life-feature-copy > p:first-child { font-size: 13px; letter-spacing: .12em; }
body.life-page .life-feature-row + .life-feature-row { border-top: 1px solid rgba(205,220,240,.09); margin-top: 72px; padding-top: 72px; }
body.life-page .life-feature-row { gap: 48px; }
body.life-page .life-feature-copy, body.life-page .life-feature-visual { min-width: 0; }

/* Quiet product navigation and clean, consistent actions. */
body.life-page .spark-life-subnav { top: var(--spark-nav-height,80px); background: rgba(7,11,15,.91); border-bottom: 1px solid rgba(205,220,240,.09); }
body.life-page .spark-life-subnav-link { font-size: 14px; letter-spacing: 0; text-transform: none; color: #aab5c3; padding: 15px 22px; }
body.life-page .spark-life-subnav-link.is-active { color: #e9edf3; background: transparent; }
body.life-page .spark-life-subnav-link.is-active::after { box-shadow: none; height: 1px; }
body.life-page :is(.life-action,.ls-btn,.price-cta) { border-radius: 6px; font-size: 15px; font-weight: 500; letter-spacing: 0; text-transform: none; min-height: 46px; padding: 13px 23px; border-style: solid; box-shadow: none; animation: none; transition: background .2s,color .2s,border-color .2s; }
body.life-page :is(.life-action-primary,.ls-btn-primary,.price-cta:not(.price-cta-ghost)) { background: #e7edf4; color: #111820; border: 1px solid #e7edf4; }
body.life-page :is(.life-action-primary,.ls-btn-primary,.price-cta:not(.price-cta-ghost)):hover { background: #fff; color: #111820; transform: none; box-shadow: none; }
body.life-page :is(.life-action:not(.life-action-primary),.ls-btn-ghost,.price-cta-ghost) { border: 1px solid rgba(205,220,240,.2); background: rgba(205,220,240,.025); color: #dbe3ee; }
body.life-page :is(.life-action:not(.life-action-primary),.ls-btn-ghost,.price-cta-ghost):hover { background: rgba(205,220,240,.07); border-color: rgba(205,220,240,.35); color: #fff; transform: none; }
body.life-page :is(.life-action,.ls-btn,.price-cta,.price-toggle-btn):focus-visible { outline: 2px solid #38bdf8; outline-offset: 4px; }

/* Repeated benefits are open columns, with glass reserved for product visuals. */
body.life-page .life-open-directory { border: 0; column-gap: 32px; row-gap: 10px; }
body.life-page .life-open-directory > article { padding: 27px 0; border: 0; border-top: 1px solid rgba(205,220,240,.12); background: transparent; }
body.life-page .life-open-directory > article > svg { width: 21px; height: 21px; color: #99aabd; stroke-width: 1.5; }
body.life-page .life-open-directory h3 { font-size: 21px; line-height: 1.3; font-weight: 400; letter-spacing: -.025em; }
body.life-page .life-open-directory p { font-size: 15px; line-height: 1.8; }
body.life-page :is(.life-benefit-card,.life-step-card) { border-radius: 0; border: 0; border-top: 1px solid rgba(205,220,240,.12); background: transparent; box-shadow: none; padding: 24px 0; }
body.life-page .life-benefit-card:hover { transform: none; background: transparent; box-shadow: none; }
body.life-page .life-benefit-card > svg { color: #99aabd; stroke-width: 1.5; }
body.life-page .life-benefit-card > p.uppercase { font-size: 12px; letter-spacing: .1em; color: #91a0b3; }
body.life-page .life-day-section { background: #080d12; }
body.life-page .life-step-number { border-radius: 8px; border-color: rgba(205,220,240,.2); color: #c4d0de; background: #10171f; box-shadow: none; }
body.life-page .life-step-card::before { border-top-style: solid; border-color: rgba(205,220,240,.12); }
body.life-page .life-pipeline::before { background: rgba(205,220,240,.12); }
body.life-page .life-pipeline::after { opacity: .3; filter: none; }
body.life-page :is(.life-visual-panel,.fv-panel,.life-bento-tile.is-feature,.ls-card,.ls-highlight,.price-card,.plan-free-band) {
 border: 1px solid rgba(200,217,237,.12); border-radius: 12px;
 background: linear-gradient(145deg,rgba(36,44,55,.42),rgba(12,17,23,.92) 68%);
 box-shadow: inset 0 1px 0 rgba(234,243,255,.045),0 12px 32px rgba(0,0,0,.13);
 -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
}
body.life-page .life-visual-panel::before { background: none; }
body.life-page .fv-panel::before { opacity: .25; }
body.life-page .life-bento-tile { border: 0; border-top: 1px solid rgba(205,220,240,.13); border-radius: 0; background: transparent; box-shadow: none; padding: 26px 20px; }
body.life-page .life-bento-tile::after, body.life-page .life-bento-tile.is-feature::before { display: none; }
body.life-page .life-bento-tile:hover { transform: none; background: transparent; border-color: rgba(205,220,240,.22); box-shadow: none; }
body.life-page .life-bento-tile.is-feature { padding: 28px; }
body.life-page .life-bento-tile.is-feature:hover { background: linear-gradient(145deg,rgba(36,44,55,.5),rgba(12,17,23,.92) 68%); }
body.life-page .life-bento-tile.is-capstone { background: transparent; border-color: rgba(205,220,240,.13); }
body.life-page .life-bento-title { font-size: 21px; line-height: 1.3; font-weight: 400; letter-spacing: -.025em; }
body.life-page .life-bento-desc { font-size: 15px; line-height: 1.8; }
body.life-page .life-bento-chip { background: none; border: 0; box-shadow: none; width: 24px; height: 24px; border-radius: 0; color: #99aabd; }
body.life-page .life-bento-chip svg { stroke-width: 1.5; }
body.life-page .life-bento-stat { border: 0; border-left: 1px solid rgba(205,220,240,.12); border-radius: 0; background: none; }
body.life-page .life-bento-stat .l { color: #aab5c3; font-size: 12px; letter-spacing: .04em; }

/* Lead systems: comparison surfaces, then open steps and a lead directory. */
body.life-page .ls-container { max-width: 1104px; }
body.life-page .ls-eyebrow, body.life-page .ls-divider-label { font-size: 13px; letter-spacing: .12em; }
body.life-page .ls-eyebrow .ls-dot { box-shadow: none; }
body.life-page .ls-lede, body.life-page .ls-card-text, body.life-page .ls-compare p { color: #aab5c3; font-size: 16px; line-height: 1.75; }
body.life-page .ls-card-title { font-size: 23px; font-weight: 400; line-height: 1.3; letter-spacing: -.025em; }
body.life-page .ls-card:hover { transform: none; border-color: rgba(205,220,240,.24); }
body.life-page .ls-card-accent { border-color: rgba(205,220,240,.25); }
body.life-page .ls-grid-4 > .ls-card { padding: 25px 8px 25px 0; border: 0; border-top: 1px solid rgba(205,220,240,.12); border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
body.life-page .ls-feature-icon { border: 0; background: none; color: #99aabd; width: 24px; height: 24px; border-radius: 0; }
body.life-page .ls-grid-4 { gap: 28px; }
body.life-page :is(.ls-pill,.ls-chips span) { border-radius: 5px; border-style: solid; font-size: 12px; letter-spacing: .02em; line-height: 1.5; }
body.life-page .ls-pill-primary { color: #bfcddb; border-color: rgba(205,220,240,.18); background: rgba(205,220,240,.06); }
body.life-page .ls-pill-muted { color: #aab5c3; }
body.life-page .ls-inline-link { font-size: 15px; letter-spacing: 0; color: #d0dae7; }
body.life-page .ls-ribbon { background: #b8c9d8; box-shadow: none; }
body.life-page .ls-highlight { padding: 36px; }
body.life-page .ls-compare { border-radius: 6px; border-style: solid; border-color: rgba(205,220,240,.12); background: rgba(205,220,240,.02); }
body.life-page .ls-compare-good { background: rgba(205,220,240,.045); border-color: rgba(205,220,240,.2); }
body.life-page .ls-compare li, body.life-page .ls-check { font-size: 15px; line-height: 1.7; color: #b7c2cf; }
body.life-page .ls-compare-tag, body.life-page .ls-fields-label { font-size: 12px; letter-spacing: .1em; color: #94a3b6; }
body.life-page .ls-depth-head { border-bottom-style: solid; }
body.life-page .ls-stat { border-radius: 0; border: 0; border-top: 1px solid rgba(205,220,240,.12); background: transparent; }
body.life-page .ls-stat-label { font-size: 14px; color: #aab5c3; }

/* Pricing retains its plans, toggles and disclosures; only the finish changes. */
body.life-page .price-toggle { border: 1px solid rgba(205,220,240,.15); border-radius: 8px; background: #0e141c; }
body.life-page .price-toggle-btn { border-radius: 5px; font-size: 14px; letter-spacing: 0; text-transform: none; padding: 10px 23px; }
body.life-page .price-toggle-btn.is-active { background: #dfe7f0; color: #111820; box-shadow: none; }
body.life-page .price-toggle-note { font-size: 14px; line-height: 1.7; color: #aab5c3; text-align: center; }
body.life-page .plan-col-hero { border-color: rgba(205,220,240,.32); }
body.life-page :is(.plan-hero-badge,.plan-free-badge) { border-radius: 5px; font-size: 12px; letter-spacing: .03em; background: #bdcbd9; color: #111820; box-shadow: none; }
body.life-page .plan-hero-banner { border-radius: 6px; border: 1px solid rgba(205,220,240,.14); background: rgba(205,220,240,.065); box-shadow: none; color: #e7edf4; }
body.life-page .price-chip { border-radius: 5px; border-style: solid; font-size: 12px; letter-spacing: .06em; color: #bfcddb; background: rgba(205,220,240,.045); border-color: rgba(205,220,240,.15); }
body.life-page .price-checklist li { font-size: 15px; line-height: 1.65; color: #b7c2cf; }
body.life-page :is(.price-meta,.price-meta-item,.price-period,.price-cta-note,.pfb-blurb,.price-drop p,.price-faq p) { font-size: 14px; line-height: 1.75; color: #aab5c3; }
body.life-page :is(.price-feat-label,.price-save,.price-trial) { font-size: 12px; letter-spacing: .035em; }
body.life-page .price-trial { border-style: solid; border-radius: 6px; background: rgba(205,220,240,.035); border-color: rgba(205,220,240,.14); }
body.life-page .price-faq { border: 0; border-bottom: 1px solid rgba(205,220,240,.12); border-radius: 0; background: transparent; }
body.life-page .price-faq summary { font-size: 18px; font-weight: 400; line-height: 1.5; padding-block: 22px; }
body.life-page .price-drop { border-style: solid; border-color: rgba(205,220,240,.12); border-radius: 6px; background: rgba(205,220,240,.025); }
body.life-page .price-drop summary { font-size: 14px; }
body.life-page .life-final-cta { background: radial-gradient(ellipse at 50% 70%,rgba(99,115,138,.07),transparent 65%),#070b0f; }
body.life-page .life-final-cta::before { display: none; }
body.life-page .life-final-cta .life-section-title { max-width: 760px; margin-inline: auto; }

@media (max-width: 1023px) {
 body.life-page .life-feature-row { gap: 30px; }
 body.life-page .ls-grid-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
 body.life-page .life-content-section:not(:first-child) { padding-block: 72px; }
}
@media (max-width: 767px) {
 body.life-page .life-hero-centered { padding: 64px 22px 56px; }
 body.life-page .life-content-section:not(:first-child) { padding-block: 56px; }
 body.life-page .life-hero-centered p { font-size: 16px; }
 body.life-page .life-page-title { font-size: clamp(38px,8vw,54px); }
 body.life-page .life-feature-row + .life-feature-row { margin-top: 48px; padding-top: 48px; }
 body.life-page .life-open-directory { column-gap: 24px; }
 body.life-page .ls-highlight { padding: 25px; }
 body.life-page .ls-grid-3 { grid-template-columns: minmax(0,1fr); }
 body.life-page .life-bento-tile { padding-inline: 0; }
 body.life-page .life-bento-tile.is-feature { padding: 24px; }
}
@media (max-width: 480px) {
 body.life-page .ls-grid-4 { grid-template-columns: minmax(0,1fr); gap: 8px; }
 body.life-page .ls-card { padding: 26px 22px; }
 body.life-page .ls-highlight { padding: 24px 18px; }
 body.life-page .ls-compare { padding: 22px 18px; }
 body.life-page .plan-col { padding: 28px 23px; }
}

/* Comparisons and FAQs remain readable, open documents rather than card grids. */
body.life-page .life-comparison-table { border: 1px solid rgba(205,220,240,.12); border-radius: 10px; background: #0b1118; box-shadow: inset 0 1px 0 rgba(234,243,255,.04); }
body.life-page .life-comparison-table :is(th,td) { border-style: solid; border-color: rgba(205,220,240,.09); }
body.life-page .life-comparison-table th { font-size: 13px; font-weight: 500; letter-spacing: .04em; }
body.life-page .life-comparison-table tbody tr:hover { background: rgba(205,220,240,.025); }
body.life-page .life-comparison-group td { background: rgba(205,220,240,.04); color: #b5c2d2; letter-spacing: .08em; }
body.life-page .life-comparison-spark { background: rgba(205,220,240,.055); box-shadow: inset 1px 0 0 rgba(205,220,240,.1); }
body.life-page .life-state-full { background: rgba(205,220,240,.045); border-color: rgba(205,220,240,.15); box-shadow: none; border-radius: 5px; }
body.life-page .life-state-full::before { filter: none; border-color: #9ab9a9; }
body.life-page .life-comparison-note { font-size: 13px; line-height: 1.7; letter-spacing: 0; text-transform: none; color: #98a5b6; }
body.life-page main details.spark-glass { padding: 23px 0; border: 0; border-bottom: 1px solid rgba(205,220,240,.12); border-radius: 0; background: none; box-shadow: none; backdrop-filter: none; }
body.life-page main details.spark-glass summary { font-size: 19px; line-height: 1.5; font-weight: 400; color: #e1e8f1; }
body.life-page .life-day-section::before { display: none; }

/* Pricing details use the same contrast as the plans they qualify. */
body.life-page .plan-hero-banner :is(.phb-head,.phb-head svg) { color: #e7edf4; }
body.life-page .plan-hero-banner .phb-body { font-size: 14px; line-height: 1.65; color: #b7c5d5; }
body.life-page .plan-hero-banner .phb-sub { font-size: 13px; line-height: 1.65; color: #aab5c3; border-color: rgba(205,220,240,.12); }
body.life-page :is(.plan-incl-note,.plan-app-link,.plan-upgrade-title,.pfb-how,.pfb-note,.usage-intro-sub,.usage-foot) { font-size: 14px; line-height: 1.65; }
body.life-page :is(.plan-upgrade-sub,.price-once,.usage-unit,.usage-price .usage-price-unit,.plan-basic-list .li-limit) { font-size: 13px; line-height: 1.6; color: #aab5c3; }
body.life-page .plan-basic-list .li-limit { white-space: normal; }
body.life-page .li-excluded { opacity: 1; color: #8794a5; }
body.life-page :is(.plan-app-link,.plan-upgrade,.pfb-note) { border-style: solid; border-color: rgba(205,220,240,.13); border-radius: 6px; background: rgba(205,220,240,.03); }
body.life-page .plan-partner-logo { border-top-style: solid; }
body.life-page .pfb-chip { font-size: 11px; letter-spacing: .02em; border-radius: 5px; }
body.life-page .usage-intro-card { border: 0; border-top: 1px solid rgba(205,220,240,.12); border-radius: 0; background: none; padding: 24px 0; }
body.life-page .usage-intro-icon { width: 28px; height: 28px; border: 0; border-radius: 0; background: none; color: #a5b5c8; }
body.life-page .usage-card { border: 1px solid rgba(205,220,240,.12); border-radius: 10px; background: #0b1118; box-shadow: none; }
body.life-page .usage-group { border-style: solid; border-color: rgba(205,220,240,.1); }
body.life-page .usage-group-label { font-size: 13px; letter-spacing: .06em; color: #b7c5d5; }
body.life-page .usage-name { font-size: 15px; font-weight: 500; }
@media (max-width: 480px) {
 body.life-page .usage-group { padding: 24px 20px; }
 body.life-page .usage-row { flex-wrap: wrap; gap: 6px 14px; }
}

/* Spark Life's wider wordmark keeps its natural aspect ratio in the header. */
.site-nav-life .site-brand { flex-basis: 144px; }
.site-nav-life .site-brand img { width: 144px; height: auto; }
@media (max-width: 600px) {
  .site-nav-life .site-brand { flex-basis: 120px; }
  .site-nav-life .site-brand img { width: 120px; }
}
