/* Hide glyph containers while fonts resolve; keep artwork and geometry visible. */
html.sf-fonts-pending .sf :is(.sf-font-text,h1,h2,h3,h4,h5,h6,p,em,cite,.sf-brand>span:last-child,.sf-tile-number,.sf-tile-name,.sf-tile-foot,.mc-event-kicker,.mc-event-category,.mc-event-hour,.mc-calendar>span,.mc-calendar>strong,.mc-calendar>small,.mc-review-source>span:not(.mc-stars),.sf-radio-copy,.sf-radio-link-label,.sf-home-footer>span,.sf-home-footer>a,.sf-visit-open>strong,.sf-aside-order>.sf-kicker,.sf-aside-order>strong,.sf-dock-copy,.sf-aside-card,.sf-product-info,.sf-cats>button>span,.sf-cats>button>small,.sf-filter-status>span,.sf-diets-label,.sf-page-back,.sf-page-jump,.sf-product-back,.sf-kicker,.sf-benefit>strong,.sf-benefit-number,.loyalty-eyebrow,.loyalty-step-number,.account-meta,.account-status,.account-total>span,.account-total>strong,.account-totals dt,.account-totals dd,.account-line-price){opacity:0!important}
html.sf-fonts-ready .sf :is(.sf-font-text,h1,h2,h3,h4,h5,h6,p,em,cite,.sf-brand>span:last-child,.sf-tile-number,.sf-tile-name,.sf-tile-foot,.mc-event-kicker,.mc-event-category,.mc-event-hour,.mc-calendar>span,.mc-calendar>strong,.mc-calendar>small,.mc-review-source>span:not(.mc-stars),.sf-radio-copy,.sf-radio-link-label,.sf-home-footer>span,.sf-home-footer>a,.sf-visit-open>strong,.sf-aside-order>.sf-kicker,.sf-aside-order>strong,.sf-dock-copy,.sf-aside-card,.sf-product-info,.sf-cats>button>span,.sf-cats>button>small,.sf-filter-status>span,.sf-diets-label,.sf-page-back,.sf-page-jump,.sf-product-back,.sf-kicker,.sf-benefit>strong,.sf-benefit-number,.loyalty-eyebrow,.loyalty-step-number,.account-meta,.account-status,.account-total>span,.account-total>strong,.account-totals dt,.account-totals dd,.account-line-price){animation:sf-font-reveal .28s ease-out backwards}
/* Missing fonts settle on a stable readable face rather than swapping late. */
html.sf-fonts-fallback .sf *{font-family:Arial,sans-serif!important}
@keyframes sf-font-reveal{from{opacity:0}}
@media(prefers-reduced-motion:reduce){html.sf-fonts-ready .sf :is(.sf-font-text,h1,h2,h3,h4,h5,h6,p,em,cite,.sf-brand>span:last-child,.sf-tile-number,.sf-tile-name,.sf-tile-foot,.mc-event-kicker,.mc-event-category,.mc-event-hour,.mc-calendar>span,.mc-calendar>strong,.mc-calendar>small,.mc-review-source>span:not(.mc-stars),.sf-radio-copy,.sf-radio-link-label,.sf-home-footer>span,.sf-home-footer>a,.sf-visit-open>strong,.sf-aside-order>.sf-kicker,.sf-aside-order>strong,.sf-dock-copy,.sf-aside-card,.sf-product-info,.sf-cats>button>span,.sf-cats>button>small,.sf-filter-status>span,.sf-diets-label,.sf-page-back,.sf-page-jump,.sf-product-back,.sf-kicker,.sf-benefit>strong,.sf-benefit-number,.loyalty-eyebrow,.loyalty-step-number,.account-meta,.account-status,.account-total>span,.account-total>strong,.account-totals dt,.account-totals dd,.account-line-price){animation:none}}
