  :root { --pf-accent: var(--pf-red); --pf-accent-tint: var(--pf-red-tint); }
  html { scroll-behavior: smooth; scroll-padding-top: 150px; }
  body { background: var(--surface-page); }
  a { color: var(--pf-violet); }
  a:hover { color: var(--pf-magenta); }
  a:focus-visible, button:focus-visible { outline: 2px solid var(--pf-red); outline-offset: 3px; border-radius: 4px; }
  .cta-pill { transition: transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
  .cta-pill:hover { transform: translateY(-2px); }
  .u-card { transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
  .u-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
  .acc-item { transition: box-shadow var(--dur-base) var(--ease-out); }
  .acc-panel { overflow: hidden; transition: grid-template-rows var(--dur-slow) var(--ease-out); display: grid; grid-template-rows: 0fr; }
  .acc-panel.open { grid-template-rows: 1fr; }
  .acc-panel > div { min-height: 0; }
  .comp-plus { transition: transform var(--dur-base) var(--ease-out), background var(--dur-fast) var(--ease-out); }
  .comp-card:hover .comp-plus { background: rgba(255,77,77,0.16); }
  /* Journey */
  .tr-steps { display:grid; grid-template-columns:repeat(5, 1fr); gap:clamp(0.75rem, 1.5vw, 1.5rem); position:relative; margin-top:clamp(2.5rem, 4vw, 3.5rem); }
  .tr-steps::before { content:""; position:absolute; top:26px; left:10%; right:10%; height:2px; background:linear-gradient(90deg, rgba(255,77,77,0.25), var(--pf-red) 50%, rgba(255,77,77,0.25)); z-index:0; }
  .tr-step { position:relative; z-index:1; text-align:center; display:flex; flex-direction:column; align-items:center; }
  .tr-step-num { box-sizing:border-box; padding-top:0.32em; line-height:1; width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:1.35rem; color:#fff; background:var(--pf-red); box-shadow:0 8px 20px rgba(255,77,77,0.32), 0 0 0 6px var(--surface-sunken); }
  .tr-step-title { font-family:var(--font-display); font-size:clamp(1rem, 0.9rem + 0.4vw, 1.22rem); letter-spacing:var(--ls-display); color:var(--text-strong); line-height:1.16; margin-top:var(--space-4); text-wrap:balance; }
  .tr-step-body { font-family:var(--font-body); font-size:var(--fs-small); line-height:1.5; color:var(--text-body); margin-top:var(--space-2); text-wrap:pretty; }
  .tr-steps-mobile { display:none; }
  .jvt { position:relative; padding-left:calc(52px + var(--space-4)); }
  .jvt::before { content:""; position:absolute; left:25px; top:14px; bottom:14px; width:2px; background:linear-gradient(var(--pf-red), rgba(255,77,77,0.3)); }
  .jvt-item { position:relative; padding-bottom:var(--space-6); }
  .jvt-item:last-child { padding-bottom:0; }
  .jvt-num { box-sizing:border-box; padding-top:0.32em; line-height:1; position:absolute; left:calc(-1 * (52px + var(--space-4))); top:-2px; width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:1.35rem; color:#fff; background:var(--pf-red); box-shadow:0 6px 16px rgba(255,77,77,0.28), 0 0 0 5px var(--surface-page); }
  @media (max-width:820px){ .tr-steps { display:none; } .tr-steps-mobile { display:block; margin-top:clamp(2rem, 6vw, 2.75rem); } }
  /* Trust metrics */
  .trust-metrics { display:grid; grid-template-columns:repeat(4, 1fr); gap:clamp(1rem, 3vw, 3rem); max-width:1000px; margin:0 auto; }
  .pf-count { white-space:nowrap; padding-block:0.14em; margin-block:-0.14em; }
  .trust-metric + .trust-metric::before { content:""; position:absolute; left:0; top:12%; bottom:12%; width:1px; background:var(--border-faint); }
  .trust-metric + .trust-metric { position:relative; }
  @media (max-width: 900px) { .trust-metrics { grid-template-columns:repeat(2, 1fr); max-width:520px; } }
  @media (max-width: 640px) { .trust-metrics { gap:var(--space-6); } .trust-metric + .trust-metric::before { display:none; } }
  .trust-viewport { overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
  .trust-marquee { display:flex; width:max-content; animation:pf-marquee 90s linear infinite; will-change:transform; }
  .trust-marquee:hover { animation-play-state:paused; }
  .trust-group { display:flex; align-items:center; }
  .trust-cell { flex:0 0 auto; display:flex; align-items:center; justify-content:center; padding-inline:clamp(1.6rem, 3.2vw, 3.2rem); }
  @keyframes pf-marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
  @media (prefers-reduced-motion: reduce) { .trust-marquee { animation-duration:90s !important; animation-iteration-count:infinite !important; } }
  /* responsive grids */
  @media (max-width: 900px) { .hero-grid { grid-template-columns:1fr !important; } .benefit-grid { grid-template-columns:repeat(2, minmax(0,1fr)) !important; } .comp-grid { grid-template-columns:1fr !important; } .universe-grid { grid-template-columns:1fr !important; } .app-card { grid-template-columns:1fr !important; } .toolkit-visual-grid { grid-template-columns:1fr !important; } .fit-grid { grid-template-columns:1fr !important; } .form-grid { grid-template-columns:1fr !important; } }
  @media (max-width: 560px) { .toolkit-grid { grid-template-columns:1fr !important; } }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    #hero-depth, #hero-veil { transform:none !important; }
  }
  @media (max-width: 640px) {
    .trust-metrics { grid-template-columns:minmax(0,1fr) !important; gap:0 !important; max-width:440px !important; }
    .trust-metric { flex-direction:row !important; align-items:center !important; text-align:left !important; gap:var(--space-4); padding:var(--space-4) 0 !important; border-top:1px solid var(--border-faint); }
    .trust-metric:last-child { border-bottom:1px solid var(--border-faint); }
    .trust-metric .pf-count { font-size:1.75rem !important; flex:0 0 8.5rem; min-width:8.5rem; }
    .trust-metric > div:last-child { margin-top:0 !important; max-width:none !important; min-width:0; flex:1 1 auto; overflow-wrap:break-word; hyphens:auto; }
    .trust-metric + .trust-metric::before { display:none; }
  }
