For years I repeated the same phrase, “You can’t style an element based on its descendant’s class or state”, and I can clearly recall thinking we never would. With the introduction of :has(), I now need to change my tune. As new properties are being added to CSS, we can do so much more than we used to. We recently saw grid and flexbox added to our styling toolbox but we didn’t stop there. In this talk we will look at some of the new properties, pseudo-classes, and techniques that have recently become available and how we can apply them to our projects.