body { background-color: #FDFBFB; }
.hero-bg { background-color: #FAF4F0; }
.font-display { font-variation-settings: 'SOFT' 0, 'WONK' 0; }
.hero-input::placeholder { color: #736b66; opacity: 1; }
.menu-underline, .place-underline { transform: scaleX(0); transform-origin: left center; transition: transform .35s ease; }
a.menu-link:hover .menu-underline { transform: scaleX(1); }

/* hero illustrative shapes */
.dots-pattern {
    background-image: radial-gradient(#1a1a1a 1.4px, transparent 1.6px);
    background-size: 14px 14px;
}

/* category petals - decorative blob */
.petal {
    background: #f1ede2;
    border-radius: 60% 40% 55% 45% / 55% 45% 60% 40%;
    transform: rotate(-12deg);
}

/* arrow circle button (cream) */
.arrow-btn {
    width: 42px; height: 42px;
    border: 1.5px solid #1a1a1a;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color .25s ease, color .25s ease, transform .25s ease;
}
.arrow-btn:hover { background-color: #1a1a1a; color: #fff; }

/* category card hover */
.cat-card { transition: transform .35s ease, box-shadow .35s ease; cursor: pointer; }
.cat-card:hover { transform: translateY(-4px); }

/* city card svg lines */
.city-skyline path { stroke: rgba(255,255,255,0.9); stroke-width: 1.5; fill: none; stroke-linecap: round; stroke-linejoin: round; }
