Nico gives a sunflower to Will right after their first date, making a sarcastic remark about ‘a sunflower for a sun-baby’ but is secretly thrilled when Will accepts the gift enthusiastically.
He is even more pleased when he sees the sunflower next to Will’s bed in the Apollo cabin the week after. And the week after that. And the week after that, and so on, until he starts to suspect the sunflower has some magical properties, because it’s just not wilting.
Everything dies. Nico knows this better than anyone, but the sunflower looks just as fresh as the day he gave it to his boyfriend.
He goes to the Demeter cabin (where he got the flower in the first place) to ask if they enchanted it somehow. Katie tells him their flowers usually last a few days longer than most, but nowhere near the length of time Will’s sunflower has stayed alive. She then suggests that maybe Will was the one who was enchanting it to stay alive? He has those handy sun powers of his right?
So Nico goes to question his boyfriend, though he doesn’t really think Will would be keeping the flower alive with his powers without telling him.
It turns out Will had crashed after a long shift at the infirmary, but his siblings let Nico into their cabin anyway.
Nico makes his way to Will’s bed, only to stop when he sees his boyfriend asleep, but glowing slightly, as is the flower next to him.
So it was Will keeping the sunflower alive, albeit subconsciously.
Kayla tells him Wills been doing it in his sleep since Nico gave him the flower, but none of the Apollo campers wanted to tell him in case it’ll stop working.
Nico thanks them, and resolves not to tell Will either, wanting to know how long Will could keep the plant alive.
The sunflower finally wilts three months after Nico gave it to Will. The sun of Apollo mourns the loss, which Nico finds a bit ridiculous, but he promises his boyfriend he’ll get a bunch of them for him on their anniversary.
And he does. And the next year. And the next year, and so on. And Will keeps them all alive for longer and longer each time.