Problem
Sticky positioning is only available today via the state class .is-sticky plus a single fluid --sf-sticky-offset. There's no dedicated .sf-sticky layout utility and no offset-size modifiers, so common "sticky with a small/medium/large gap" cases require manual token overrides.
Scope
.sf-sticky (position: sticky; inset-block-start: var(--sf-sticky-offset, 0)).
- Offset modifiers
.sf-sticky--s/-m/-l (or a --sf-sticky-offset scale) layered on top of the existing header-aware fluid offset.
- Keep
.is-sticky state as-is.
Acceptance
Problem
Sticky positioning is only available today via the state class
.is-stickyplus a single fluid--sf-sticky-offset. There's no dedicated.sf-stickylayout utility and no offset-size modifiers, so common "sticky with a small/medium/large gap" cases require manual token overrides.Scope
.sf-sticky(position: sticky;inset-block-start: var(--sf-sticky-offset, 0))..sf-sticky--s/-m/-l(or a--sf-sticky-offsetscale) layered on top of the existing header-aware fluid offset..is-stickystate as-is.Acceptance
.sf-sticky+ offset sizes emitted; documented