/* Small, once-per-visit entrances; content remains visible without JavaScript. */
@keyframes cf-soft-entrance{from{opacity:.35;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes cf-headline-rise{from{opacity:.25;transform:translateY(30px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}
@keyframes cf-photo-arrival{from{opacity:.3;transform:translateX(28px) scale(.96) rotate(1deg)}to{opacity:1;transform:translateX(0) scale(1) rotate(0)}}
@keyframes cf-accent-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes cf-button-gloss{from{transform:translateX(-180%) skewX(-18deg)}to{transform:translateX(380%) skewX(-18deg)}}
.cf-departments h2::after,.cf-community h2::after,.cf-weekly h2::after,.cf-cakes h2::after{content:'';display:block;width:72px;height:5px;margin-top:1rem;background:var(--yellow);transform-origin:left}
@keyframes cf-hero-light{from{transform:translateX(-110%) skewX(-12deg)}to{transform:translateX(110%) skewX(-12deg)}}
@keyframes cf-headline-shine{from{background-position:180% 0}to{background-position:-180% 0}}
@keyframes cf-paper-arrival{from{opacity:.2;transform:translateY(35px) rotate(-2deg) scale(.97)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
.hero{position:relative;isolation:isolate}
.hero::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 10%,#052b7080 25%,#ffffff1f 45%,#ed1c2428 65%,transparent 85%);transform:translateX(-110%)}
@media(prefers-reduced-motion:no-preference){
 .hero.cf-motion-enter{animation:none}
 .hero.cf-motion-enter::before{animation:cf-hero-light 4.5s cubic-bezier(.22,1,.36,1) both}
 @supports(background-clip:text){.hero.cf-motion-enter h1 span{background:linear-gradient(110deg,var(--yellow) 0% 35%,#fff 48%,var(--yellow) 60% 100%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:cf-headline-shine 3.2s ease 1.2s both}}
 .cf-flyer.cf-motion-enter{animation:cf-paper-arrival .85s cubic-bezier(.22,1,.36,1) var(--cf-motion-delay,0s) both}
 .cf-flyer:nth-child(2).cf-motion-enter{--cf-motion-delay:.16s}
 .cf-dept-card>div{transition:border-color .25s ease,background .25s ease}
 .cf-dept-card h3{transition:transform .3s cubic-bezier(.22,1,.36,1)}
 .cf-motion-enter{animation:cf-soft-entrance .7s cubic-bezier(.22,1,.36,1) var(--cf-motion-delay,0s) both}
 .hero-copy.cf-motion-enter{animation:none}
 .hero-copy.cf-motion-enter>.eyebrow{animation:cf-soft-entrance .6s ease both}
 .hero-copy.cf-motion-enter>h1{animation:cf-headline-rise .85s cubic-bezier(.22,1,.36,1) .1s both}
 .hero-copy.cf-motion-enter>p:not(.eyebrow){animation:cf-soft-entrance .7s ease .22s both}
 .hero-copy.cf-motion-enter>.actions{animation:cf-soft-entrance .7s ease .34s both}
 .hero-copy.cf-motion-enter>.hero-address{animation:cf-soft-entrance .7s ease .44s both}
 .hero-art.cf-motion-enter{animation:cf-photo-arrival 1s cubic-bezier(.22,1,.36,1) .18s both}
 .cf-motion-enter h2::after,h2.cf-motion-enter::after{animation:cf-accent-draw .65s cubic-bezier(.22,1,.36,1) .25s both}
 .cf-dept-card,.cf-cakes-gallery figure,.hero .hero-art{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}
 .hero .btn,.cf-weekly-primary,.cf-cakes-directions,.cf-hotfoods-call,.cf-instagram-follow{position:relative;overflow:hidden;isolation:isolate}
 .hero .btn::after,.cf-weekly-primary::after,.cf-cakes-directions::after,.cf-hotfoods-call::after,.cf-instagram-follow::after{content:'';position:absolute;top:-20%;left:0;width:35%;height:140%;background:linear-gradient(90deg,transparent,#ffffff65,transparent);transform:translateX(-180%) skewX(-18deg);pointer-events:none}
 .cf-dept-card img,.cf-cakes-gallery img,.cf-hotfoods-photo img,.cf-visit-photo img,.hero .grocery-photo img{transition:clip-path .35s ease,transform .45s cubic-bezier(.22,1,.36,1)}
 .hero .btn,.cf-weekly-primary,.cf-weekly-download,.cf-hotfoods-call,.cf-cakes-directions,.cf-instagram-follow,.cf-visit-actions a{transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
 .hero .btn:active,.cf-weekly-primary:active,.cf-weekly-download:active,.cf-hotfoods-call:active,.cf-cakes-directions:active,.cf-instagram-follow:active,.cf-visit-actions a:active{transform:translateY(0) scale(.985)}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .cf-dept-card:hover>div{border-top-color:var(--red);background:#fffaf0}
 .cf-dept-card:hover h3{transform:translateX(4px)}
 .cf-flyer:hover{transform:translateY(-5px);box-shadow:0 18px 36px #052b7024}
 .cf-dept-card:hover,.cf-cakes-gallery figure:hover{transform:perspective(1100px) translateY(-6px) rotateX(var(--cf-tilt-x,0deg)) rotateY(var(--cf-tilt-y,0deg));box-shadow:0 18px 36px #052b7024}
 .hero .hero-art:hover{transform:perspective(1100px) rotateX(var(--cf-tilt-x,0deg)) rotateY(var(--cf-tilt-y,0deg));box-shadow:12px 16px 0 var(--deep)}
 .hero .btn:hover::after,.cf-weekly-primary:hover::after,.cf-cakes-directions:hover::after,.cf-hotfoods-call:hover::after,.cf-instagram-follow:hover::after{animation:cf-button-gloss .75s ease both}
 .cf-dept-card:hover img,.cf-cakes-gallery figure:hover img,.cf-hotfoods-photo:hover img,.cf-visit-photo:hover img,.hero .grocery-photo:hover img{transform:scale(1.025);clip-path:inset(1.22%)}
 .cf-visit-actions a:hover,.cf-weekly-download:hover{transform:translateY(-2px)}
}
@media(prefers-reduced-motion:reduce){
 .hero::before{display:none}
 .hero h1 span{animation:none!important;background:none!important;color:var(--yellow)!important}
 .cf-dept-card>div,.cf-dept-card h3,.cf-flyer{transition:none;transform:none!important}
 .hero-copy.cf-motion-enter>*{animation:none!important}
 .cf-dept-card,.cf-cakes-gallery figure,.hero .hero-art{transition:none;transform:none!important}
 .cf-motion-enter{animation:none!important;opacity:1;transform:none}
 .cf-dept-card img,.cf-cakes-gallery img,.cf-hotfoods-photo img,.cf-visit-photo img,.hero .grocery-photo img{transition:none;transform:none;clip-path:none}
}
