/* Product refresh: retain the site's typography, brand colors and theme. */
.app-refresh h3, .app-refresh h4 { color: var(--text); }
.app-refresh .app-refresh-headline { font-size: clamp(1.35rem, 2.2vw, 2rem); line-height: 1.5; margin: .65rem 0; }
.app-refresh section[id], .app-refresh .app-anchor { scroll-margin-top: 8rem; }
.app-refresh .kpis { flex-wrap: wrap; }
.app-refresh .kpi { min-width: 0; }
.app-refresh .kpi b { overflow-wrap: anywhere; font-size: 1.1rem; }
.app-concept-grid { display: grid; grid-template-columns: repeat(var(--concept-columns, 3), minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0; }
.app-concept-card { padding: 1.5rem; border: 1px solid var(--line); border-top: 3px solid var(--app-ink); border-radius: 12px; background: var(--surface); }
.app-concept-card h3 { font-size: 1.2rem; margin: 0 0 .8rem; }
.app-concept-card p { margin: 0; line-height: 1.85; }
.app-use-example { border-left: 3px solid var(--app-ink); background: var(--surface); padding: 1rem 1.25rem; margin: 1.5rem 0; }
.app-source-link { font-size: .78rem; }
.app-source-link a { text-decoration: underline; text-underline-offset: .2em; }
.app-journey { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.app-journey li { border-top: 2px solid var(--app-ink); padding: 1rem .5rem 0 0; }
.app-journey span { font-size: .8rem; font-weight: 800; color: var(--app-ink); }
.app-journey p { margin: .5rem 0 0; }
.app-availability { max-width: 80ch; }
.app-refresh .feature-block h3 { overflow-wrap: anywhere; }
@media (max-width: 760px) {
 .app-concept-grid { grid-template-columns: 1fr; }
 .app-journey { grid-template-columns: 1fr 1fr; }
 .app-refresh .app-subnav a { flex-shrink: 0; white-space: nowrap; }
}
@media (max-width: 380px) { .app-journey { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
 html:has(.app-refresh) { scroll-behavior: auto; }
}
