:root{--pink:#e5287f;--pink-d:#b8135f;--blush:#ffd9e8;--cream:#fff7ee;--ink:#2a1722;--lemon:#ffd21f;--green:#0b6b4f}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--cream);font-size:1.05rem;line-height:1.6}
h1,h2,h3,.display{font-family:'Bagel Fat One','DM Sans',sans-serif;font-weight:400;line-height:1.02;letter-spacing:.005em}
a{color:var(--pink-d)}
img{max-width:100%}
.eyebrow{font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:500;color:var(--pink-d)}
/* utility bar */
.util{background:var(--ink);color:#fff;font-size:.86rem;padding:.4rem 0}
.util a{color:var(--lemon);text-decoration:none;font-weight:700}
.util .sep{opacity:.4;margin:0 .6rem}
/* nav */
.navbar{background:var(--cream);border-bottom:3px solid var(--pink);padding:.5rem 0}
.navbar-brand{display:flex;align-items:center;gap:.6rem;font-family:'Bagel Fat One';font-size:1.45rem;color:var(--pink);line-height:1}
.navbar-brand img{width:54px;height:auto}
.navbar-brand small{display:block;font-family:'DM Mono';font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin-top:.2rem}
.nav-link{font-weight:700;color:var(--ink)!important;font-size:.95rem}
.nav-link:hover{color:var(--pink)!important}
.btn-pink{background:var(--pink);color:#fff;border:2px solid var(--ink);border-radius:999px;font-weight:700;padding:.65rem 1.5rem;box-shadow:4px 4px 0 var(--ink);transition:transform .15s,box-shadow .15s}
.btn-pink:hover{background:var(--pink-d);color:#fff;transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.btn-ghost{background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:999px;font-weight:700;padding:.65rem 1.5rem;box-shadow:4px 4px 0 var(--ink);transition:transform .15s,box-shadow .15s}
.btn-ghost:hover{background:var(--lemon);color:var(--ink);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.btn-sm-t{padding:.4rem 1rem;font-size:.9rem;box-shadow:3px 3px 0 var(--ink)}
/* hero: pink wall with cow spots (from their own store wall) */
.hero{background-color:var(--pink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='700' viewBox='0 0 900 700'%3E%3Cg fill='%23ff8ec0' opacity='.55'%3E%3Cpath d='M80 90c60-70 190-60 210 20 15 60-40 90-30 150s-80 90-150 40S20 160 80 90z'/%3E%3Cpath d='M640 400c70-60 200-30 220 50s-60 120-130 150-130-20-130-80 10-90 40-120z'/%3E%3Cpath d='M520 40c40-40 120-30 140 20s-20 80-70 90-100-20-90-60 10-35 20-50z'/%3E%3C/g%3E%3C/svg%3E");background-size:900px 700px;color:#fff;position:relative;overflow:hidden;padding:3.2rem 0 4.5rem}
.hero .eyebrow{color:#fff;opacity:.95}
.hero h1{font-size:clamp(2.8rem,7.2vw,6rem);color:#fff;text-shadow:4px 4px 0 var(--ink);margin:.5rem 0 1rem}
.hero h1 em{font-style:normal;color:var(--lemon)}
.hero p.lead{font-size:1.2rem;max-width:34rem;font-weight:500}
.hero .btn-ghost{background:var(--cream)}
.arch{border-radius:999px 999px 24px 24px;border:5px solid var(--ink);box-shadow:10px 10px 0 var(--lemon);overflow:hidden;aspect-ratio:4/5;background:#fff;max-width:400px;margin:0 auto}
.arch img{width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.sticker{position:absolute;right:-8px;bottom:-26px;width:150px;transform:rotate(8deg);background:var(--cream);border:4px solid var(--ink);border-radius:50%;padding:12px;aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.sticker img{width:100%;height:auto}
.hero-art{position:relative;max-width:400px;margin:0 auto}
.hero-wave,.wave{display:block;width:100%;height:42px;position:absolute;left:0;bottom:-1px}
/* ticker */
.ticker{background:var(--ink);color:var(--lemon);overflow:hidden;white-space:nowrap;padding:.7rem 0;border-block:3px solid var(--ink)}
.ticker-track{display:inline-flex;gap:2.2rem;animation:tick 70s linear infinite;font-family:'Bagel Fat One';font-size:1.3rem}
.ticker-track span:nth-child(even){color:var(--pink)}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}.ticker{overflow-x:auto}}
/* sections */
section{padding:5rem 0}
.sec-title{font-size:clamp(2.2rem,5vw,3.6rem);margin:.4rem 0 1rem}
.about{background:var(--cream)}
.about .big{font-family:'Bagel Fat One';font-size:clamp(2.4rem,6vw,4.4rem);color:var(--pink);line-height:1}
.about .big span{display:block}
.about .big span:nth-child(2){color:var(--green)}
.about .big span:nth-child(3){color:var(--ink)}
.stat{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:1.5rem}
.stat div{background:#fff;border:2px solid var(--ink);border-radius:18px;padding:.7rem 1.1rem;box-shadow:4px 4px 0 var(--blush)}
.stat b{font-family:'Bagel Fat One';font-weight:400;font-size:1.9rem;color:var(--pink);display:block;line-height:1}
.stat span{font-size:.85rem}
.pack-img{border-radius:28px;border:4px solid var(--ink);box-shadow:10px 10px 0 var(--blush);width:100%;max-width:420px;display:block;margin:0 auto}
/* locations */
.order{background:var(--blush)}
.loc{background:#fff;border:3px solid var(--ink);border-radius:22px;padding:1.4rem;height:100%;box-shadow:6px 6px 0 var(--ink);display:flex;flex-direction:column}
.loc h3{font-size:1.7rem;color:var(--pink);margin-bottom:.4rem}
.loc address{font-style:normal;margin-bottom:1rem;flex:1}
.loc .btn{display:block;text-align:center;margin-top:.5rem}
.loc .dir{font-size:.85rem;text-align:center;margin-top:.7rem}
/* menu */
.menu{background:var(--cream)}
.menu .nav-pills{gap:.5rem;justify-content:center;margin-bottom:2rem}
.menu .nav-link{border:2px solid var(--ink);border-radius:999px;background:#fff;padding:.45rem 1.1rem}
.menu .nav-link.active{background:var(--pink)!important;color:#fff!important}
.item{border-bottom:2px dotted rgba(42,23,34,.35);padding:1rem 0}
.item h3{font-size:1.5rem;color:var(--pink);margin:0 0 .2rem}
.item p{margin:0}
.chips{display:flex;flex-wrap:wrap;gap:.45rem;padding:0;list-style:none;margin:0 0 1rem}
.chips li{background:#fff;border:2px solid var(--ink);border-radius:999px;padding:.15rem .8rem;font-size:.92rem;font-weight:500}
.chips.alt li{background:var(--blush)}
.menu h4{font-family:'Bagel Fat One';font-weight:400;font-size:1.5rem;margin:1.6rem 0 .6rem;color:var(--green)}
.menu .note{font-size:.9rem;opacity:.8}
/* cakes */
.cakes{background:var(--ink);color:#fff}
.cakes .eyebrow{color:var(--lemon)}
.cakes h2{color:#fff}
.cake-grid{columns:3;column-gap:1rem}
.cake-grid figure{break-inside:avoid;margin:0 0 1rem;border:3px solid var(--cream);border-radius:20px;overflow:hidden;background:#fff}
.cake-grid img{display:block;width:100%;height:auto}
.cake-grid figcaption{padding:.5rem .8rem;color:var(--ink);font-weight:700;font-size:.9rem}
.cake-list{list-style:none;padding:0;margin:1.2rem 0}
.cake-list li{font-family:'Bagel Fat One';font-size:1.35rem;color:var(--lemon);border-bottom:2px dotted rgba(255,255,255,.3);padding:.35rem 0}
/* events */
.events{background:var(--lemon)}
.events h2{color:var(--green)}
.events .eyebrow{color:var(--ink)}
.photo-card{border:4px solid var(--ink);border-radius:22px;overflow:hidden;box-shadow:8px 8px 0 var(--ink);background:#fff}
.photo-card img{width:100%;display:block;object-fit:cover}
.dels{background:#fff;border:3px solid var(--ink);border-radius:24px;padding:1.3rem;text-align:center;box-shadow:6px 6px 0 var(--green)}
.dels img{max-width:240px}
/* visit */
.visit{background:var(--cream)}
.map{border:4px solid var(--ink);border-radius:22px;overflow:hidden;box-shadow:8px 8px 0 var(--pink);height:100%;min-height:340px}
.map iframe{width:100%;height:100%;min-height:340px;border:0;display:block}
.big-phone{font-family:'Bagel Fat One';font-size:clamp(2rem,5vw,3rem);color:var(--pink);text-decoration:none;line-height:1}
.hours{background:#fff;border:2px solid var(--ink);border-radius:18px;padding:1rem 1.2rem;margin:1.2rem 0}
.hire{background:var(--blush);border-radius:18px;padding:1rem 1.2rem}
/* footer */
footer{background:var(--ink);color:#fff;padding:3rem 0 1.5rem;position:relative}
footer a{color:var(--lemon)}
footer .fb{font-family:'Bagel Fat One';font-size:1.8rem;color:var(--pink)}
.powered{font-size:.85rem;opacity:.85;margin-top:1.5rem;border-top:1px solid rgba(255,255,255,.2);padding-top:1rem}
@media(max-width:991px){.cake-grid{columns:2}.sticker{width:110px;right:0}}
@media(max-width:575px){section{padding:3.4rem 0}.cake-grid{columns:1}.hero{padding:2rem 0 3.5rem}.util .hide-sm{display:none}.navbar-brand{font-size:1.2rem}.navbar-brand img{width:44px}}
