.hero h1 { overflow-wrap: anywhere; font-size: clamp(2.6rem, 8vw, 4.5rem); }
.menu-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.menu-card { border: 1px solid var(--line); border-radius: 14px; padding: 14px; overflow-wrap: anywhere; }
.menu-card h3 { margin: 6px 0; line-height: 1.2; }
.menu-card p { margin: 6px 0; }
.menu-card strong { color: var(--gold); }
.menu-card img, .dish-photo { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
.dish-photo { max-width: 240px; margin-top: 12px; }
.check { align-content: center; grid-template-columns: 24px 1fr; align-items: center; }
.check input { min-height: 24px; }
#merchant-dashboard > label { display: grid; gap: 4px; max-width: 480px; }
#merchant-dashboard > a, #merchant-dashboard > button { margin-bottom: 8px; }
@media (max-width: 550px) { .menu-grid { grid-template-columns: 1fr; } }

.profile-options { margin-top: 18px; }
.profile-options .menu-card { display: flex; flex-direction: column; align-items: start; gap: 8px; }
.profile-options .menu-card a { margin-top: auto; }
.role-icon { font-size: 2.3rem; }

.welcome-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 20px; }
.welcome-benefits .menu-card { display: flex; flex-direction: column; align-items: start; }
.welcome-benefits .primary { margin-top: auto; }
.welcome-terms { padding-left: 22px; }
.welcome-terms li { margin: 10px 0; }
@media (max-width: 760px) { .welcome-benefits { grid-template-columns: 1fr; } }
