.sf-hero{background:linear-gradient(to bottom,#fce4ecd9,#fce4ecd9),url(/images/specialty-hero.webp) center/cover no-repeat;text-align:center;padding:6rem 0 10rem;position:relative;overflow:hidden}.sf-hero-wave{position:absolute;bottom:-1px;left:0;right:0;width:100%;line-height:0;z-index:2;pointer-events:none}.sf-hero-wave svg{width:100%;height:80px;display:block;fill:var(--light-gray)}.sf-title{font-family:Titan One,cursive;color:var(--dark-pink);font-size:5rem;text-transform:uppercase;text-shadow:4px 4px 0px #F499B1;transform:rotate(-2deg);margin-bottom:1rem;letter-spacing:1px;line-height:1.1;position:relative;z-index:2}.sf-subtitle{font-family:Chewy,cursive;font-size:2rem;color:#fff;background:#f499b1;padding:.5rem 1.5rem;border-radius:50px 20px;display:inline-block;transform:rotate(1deg);margin-bottom:2rem;position:relative;z-index:2}.sf-grid-section{background:var(--light-gray);position:relative;overflow:hidden;padding:4rem 0 6rem}.sf-grid-wave{position:absolute;left:0;right:0;width:100%;line-height:0;z-index:2;pointer-events:none}.sf-grid-wave--top{top:-1px}.sf-grid-wave--bottom{bottom:-1px}.sf-grid-wave svg{width:100%;height:80px;display:block}.sf-grid-wave--top svg{fill:var(--light-pink);transform:scaleX(-1)}.sf-grid-wave--bottom svg{fill:var(--light-pink);transform:scaleX(-1)}.sf-container{max-width:1200px;margin:0 auto;padding:2rem;position:relative;z-index:2}.sf-filter-nav{display:flex;justify-content:center;gap:1.5rem;margin-bottom:4rem;flex-wrap:wrap}.sf-filter-btn{background:#fff;border:3px solid #5D4037;padding:.8rem 1.5rem;font-family:Titan One,cursive;font-size:1.2rem;color:#5d4037;border-radius:15px;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);box-shadow:4px 4px #5d4037}.sf-filter-btn:hover,.sf-filter-btn.active{background:var(--dark-pink);color:#fff;border-color:var(--dark-pink);transform:translateY(-4px) rotate(-2deg);box-shadow:6px 6px #f499b1}.sf-filter-btn:nth-child(2n):hover{transform:translateY(-4px) rotate(2deg)}.sf-menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:3rem;padding-bottom:4rem}.sf-card-hidden{display:none}.sf-card-entering{opacity:0;transform:translateY(24px)}.sf-menu-grid .cupcake-card{transition:opacity .8s ease,transform .8s ease}@media(max-width:767px){.sf-title{font-size:2.5rem}.sf-subtitle{font-size:1.3rem}.sf-menu-grid{grid-template-columns:1fr}}
