/* opt-one:base-reset */

* {
	box-sizing: border-box;
}

body {
	margin: 0px;
}

img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	max-width: 100%;
	display: block;
}

picture {
	display: block;
	width: 100%;
	height: 100%;
}

.page-404 {
	min-height: 100vh;
	display: grid;
	place-items: center;
	text-align: center;
	font-family: var(--font-body), system-ui, sans-serif;
	color: rgb(17, 24, 39);
	padding: 24px;
}

.page-404-code {
	font-size: 96px;
	font-weight: 700;
	margin: 0px;
	letter-spacing: -0.04em;
	color: var(--color-orange, rgb(79, 70, 229));
}

.page-404-title {
	font-size: 28px;
	margin: 8px 0px 12px;
	letter-spacing: -0.02em;
}

.page-404-message {
	font-size: 18px;
	color: rgb(107, 114, 128);
	margin: 0px 0px 28px;
}

.page-404-link {
	display: inline-block;
	padding: 14px 28px;
	border-radius: 12px;
	background: var(--color-orange, rgb(79, 70, 229));
	color: rgb(255, 255, 255);
	font-weight: 600;
	text-decoration: none;
}

.page {
	font-family: var(--font-body), system-ui, sans-serif;
	color: var(--color-text);
	margin: 0px;
	background: var(--color-cream);
	overflow-x: hidden;
}

h1, h2, h3 {
	font-family: var(--font-heading), system-ui, sans-serif;
	line-height: 1.1;
	margin: 0px;
}

p {
	line-height: 1.6;
	margin: 0px;
}

a {
	color: inherit;
}

.container {
	max-width: 1180px;
	margin: 0px auto;
	padding: 0px 24px;
}

.text-highlight {
	color: var(--color-orange);
}

.btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 26px;
	border-radius: var(--radius-pill);
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 16px;
	text-decoration: none;
	border: var(--border-thick);
	cursor: pointer;
	box-shadow: var(--shadow-hard-sm);
	transition: transform 0.15s, box-shadow 0.15s;
	white-space: nowrap;
}

.btn:hover {
	transform: translate(-2px, -2px);
	box-shadow: 6px 6px 0 var(--color-dark);
}

.btn--primary {
	background: var(--color-orange);
	color: var(--color-white);
}

.btn--dark {
	background: var(--color-dark);
	color: var(--color-white);
}

.btn--outline {
	background: var(--color-white);
	color: var(--color-dark);
}

.btn--sm {
	padding: 10px 18px;
	font-size: 14px;
	box-shadow: var(--shadow-hard-sm);
}

.badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 18px;
	border-radius: var(--radius-pill);
	border: var(--border-thick);
	font-weight: 600;
	font-size: 14px;
	background: var(--color-white);
	margin-bottom: 20px;
}

.badge--yellow {
	background: var(--color-yellow);
}

.badge--pink {
	background: var(--color-pink-soft);
}

.badge--teal {
	background: var(--color-teal-soft);
}

.badge--blue {
	background: var(--color-blue-soft);
}

.wave {
	width: 100%;
	line-height: 0;
	margin: 0px;
}

.wave svg {
	width: 100%;
	height: 70px;
	display: block;
}

.navbar {
	position: sticky;
	top: 0px;
	z-index: 50;
	background: var(--color-cream);
	border-bottom: var(--border-thick);
}

.navbar__inner {
	max-width: 1180px;
	margin: 0px auto;
	padding: 16px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.navbar__logo {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 24px;
	text-decoration: none;
	color: var(--color-dark);
	display: flex;
	align-items: center;
	gap: 8px;
}

.navbar__links {
	display: flex;
	gap: 28px;
	flex-wrap: wrap;
}

.navbar__links a {
	text-decoration: none;
	font-weight: 600;
	color: var(--color-dark);
	font-size: 15px;
}

.navbar__links a:hover {
	color: var(--color-orange);
}

.navbar__cta {
	flex-shrink: 0;
}

.hero {
	background: var(--color-cream);
	padding: 70px 0px 90px;
}

.hero__inner {
	max-width: 1180px;
	margin: 0px auto;
	padding: 0px 24px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: center;
	grid-template-rows: none;
}

.hero__title {
	font-size: 54px;
	font-weight: 800;
	margin-bottom: 20px;
	letter-spacing: -0.01em;
}

.hero__sub {
	font-size: 18px;
	color: var(--color-text-muted);
	max-width: 480px;
	margin-bottom: 32px;
}

.hero__actions {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.hero__media {
	position: relative;
}

.hero__frame {
	border: var(--border-thick);
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow-hard);
	background: var(--color-yellow-soft);
	aspect-ratio: 1 / 1;
	display: flex;
	width: 100%;
}

.hero__frame img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sticker {
	position: absolute;
	background: var(--color-white);
	border: var(--border-thick);
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-hard-sm);
	padding: 10px 16px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 15px;
	text-align: center;
	line-height: 1.3;
}

.sticker small {
	font-family: var(--font-body);
	font-weight: 500;
	font-size: 11px;
	color: var(--color-text-muted);
}

.sticker--rating {
	top: -18px;
	right: -18px;
	background: var(--color-teal-soft);
	transform: rotate(6deg);
}

.sticker--beef {
	bottom: -16px;
	left: -22px;
	background: var(--color-pink-soft);
	transform: rotate(-5deg);
}

.trust {
	background: var(--color-teal);
	padding: 46px 0px;
}

.trust__inner {
	max-width: 1180px;
	margin: 0px auto;
	padding: 0px 24px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	text-align: center;
}

.trust__item span {
	font-size: 36px;
	display: block;
	margin-bottom: 8px;
}

.trust__item p {
	font-family: var(--font-heading);
}

.botm {
	background: var(--color-cream);
	padding: 90px 0px;
}

.botm__inner {
	max-width: 1180px;
	margin: 0px auto;
	padding: 0px 24px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}

.botm__media {
	position: relative;
	justify-content: center;
	align-items: center;
}

.botm__media img {
	border: var(--border-thick);
	border-radius: var(--radius);
	box-shadow: var(--shadow-hard);
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.botm__tag {
	position: absolute;
	top: -16px;
	left: 24px;
	background: var(--color-orange);
	color: var(--color-white);
	border: var(--border-thick);
	border-radius: var(--radius-pill);
	padding: 8px 20px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 14px;
	transform: rotate(-3deg);
	box-shadow: var(--shadow-hard-sm);
}

.botm__content h2 {
	font-size: 40px;
	margin-bottom: 16px;
}

.botm__content > p {
	color: var(--color-text-muted);
	font-size: 17px;
	margin-bottom: 24px;
}

.botm__ingredients {
	list-style: none;
	margin: 0px 0px 28px;
	padding: 0px;
	display: grid;
	gap: 12px;
}

.botm__ingredients li {
	font-weight: 600;
	font-size: 16px;
}

.botm__footer {
	display: flex;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}

.botm__price {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 28px;
	color: var(--color-orange);
}

.menu {
	background: var(--color-pink-soft);
	padding: 90px 0px;
	text-align: center;
}

.menu__head h2 {
	font-size: 38px;
	margin-bottom: 12px;
}

.menu__head p {
	color: var(--color-text-muted);
	font-size: 17px;
	max-width: 520px;
	margin: 0px auto 48px;
}

.menu__grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 24px;
	text-align: left;
	grid-template-rows: auto;
}

.menu__card {
	background: var(--color-white);
	border: var(--border-thick);
	border-radius: var(--radius);
	box-shadow: var(--shadow-hard-sm);
	padding: 28px 22px;
	transition: transform 0.15s;
}

.menu__card:hover {
	transform: translateY(-4px);
}

.menu__card span {
	font-size: 34px;
	display: block;
	margin-bottom: 14px;
}

.menu__card h3 {
	font-size: 19px;
	margin-bottom: 8px;
}

.menu__card p {
	color: var(--color-text-muted);
	font-size: 14px;
}

.story {
	padding: 90px 0px;
	background-color: rgb(62, 142, 247);
}

.story__inner {
	max-width: 1180px;
	margin: 0px auto;
	padding: 0px 24px;
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: 56px;
	align-items: center;
}

.story__media img {
	border: var(--border-thick);
	border-radius: var(--radius);
	box-shadow: var(--shadow-hard);
	width: 100%;
	aspect-ratio: 4 / 3.2;
	object-fit: cover;
	transform: rotate(-2deg);
}

.story__content h2 {
	font-size: 38px;
	margin-bottom: 18px;
	color: var(--color-dark);
}

.story__content p {
	color: var(--color-dark);
	font-size: 16px;
	margin-bottom: 16px;
	max-width: 520px;
}

.reviews {
	background: var(--color-yellow);
	padding: 90px 0px;
}

.reviews__head {
	text-align: center;
	margin-bottom: 48px;
}

.reviews__head h2 {
	font-size: 38px;
	margin-bottom: 12px;
}

.reviews__head p {
	color: var(--color-dark);
	opacity: 0.75;
}

.reviews__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	max-width: 1180px;
	margin: 0px auto;
	padding: 0px 24px;
}

.review-card {
	background: var(--color-white);
	border: var(--border-thick);
	border-radius: var(--radius);
	box-shadow: var(--shadow-hard-sm);
	padding: 24px;
}

.review-card__head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}

.review-card__avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--color-teal-soft);
	border: 2px solid var(--color-dark);
	display: grid;
	place-items: center;
	font-size: 20px;
	flex-shrink: 0;
}

.review-card__name {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 15px;
}

.review-card__handle {
	font-size: 13px;
	color: var(--color-text-muted);
}

.review-card__stars {
	color: var(--color-orange);
	font-size: 14px;
	margin-bottom: 8px;
}

.review-card p.review-card__text {
	font-size: 14.5px;
	color: var(--color-text);
}

.visit {
	background: var(--color-cream);
	padding: 90px 0px;
}

.visit__inner {
	max-width: 1180px;
	margin: 0px auto;
	padding: 0px 24px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: center;
}

.visit__content h2 {
	font-size: 38px;
	margin-bottom: 18px;
}

.visit__row {
	display: flex;
	gap: 14px;
	margin-bottom: 14px;
	font-size: 16px;
}

.visit__row span {
	font-size: 20px;
}

.visit__hours {
	margin: 20px 0px 28px;
	border-collapse: collapse;
	width: 100%;
	max-width: 360px;
}

.visit__hours td {
	padding: 6px 0px;
	font-size: 15px;
	border-bottom: 1px dashed rgba(0, 0, 0, 0.15);
}

.visit__hours td:last-child {
	text-align: right;
	font-weight: 700;
}

.visit__map {
	border: var(--border-thick);
	border-radius: var(--radius);
	box-shadow: var(--shadow-hard);
	background: var(--color-teal-soft);
	aspect-ratio: 4 / 3.4;
	display: grid;
	place-items: center;
	text-align: center;
	font-family: var(--font-heading);
	font-weight: 700;
	color: var(--color-dark);
	padding: 24px;
	position: relative;
	overflow: hidden;
}

.visit__map span {
	font-size: 48px;
	display: block;
	margin-bottom: 10px;
}

.cta {
	background: var(--color-orange);
	padding: 80px 0px;
	text-align: center;
}

.cta h2 {
	font-size: 36px;
	color: var(--color-white);
	margin-bottom: 14px;
}

.cta p {
	color: var(--color-white);
	opacity: 0.9;
	margin-bottom: 28px;
}

.cta__form {
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
}

.cta__form input {
	padding: 14px 20px;
	border-radius: var(--radius-pill);
	border: var(--border-thick);
	font-family: var(--font-body);
	font-size: 15px;
	width: 280px;
	max-width: 80vw;
}

.footer {
	background: var(--color-dark);
	color: var(--color-white);
	padding: 64px 0px 32px;
}

.footer__inner {
	max-width: 1180px;
	margin: 0px auto;
	padding: 0px 24px;
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 40px;
}

.footer__brand {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 22px;
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.footer__inner p {
	color: rgba(255, 255, 255, 0.65);
	font-size: 14px;
	margin-bottom: 16px;
}

.footer__col h4 {
	font-family: var(--font-heading);
	font-size: 15px;
	margin-bottom: 16px;
}

.footer__col a {
	display: block;
	color: rgba(255, 255, 255, 0.65);
	text-decoration: none;
	font-size: 14px;
	margin-bottom: 10px;
}

.footer__col a:hover {
	color: var(--color-yellow);
}

.footer__bottom {
	max-width: 1180px;
	margin: 40px auto 0px;
	padding: 24px 24px 0px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	font-size: 13px;
	color: rgba(255, 255, 255, 0.5);
}

.img-1 {
	opacity: 1;
	object-position: 50% 50%;
	object-fit: cover;
	height: 100%;
}

.btn.btn--dark {
	background-color: rgb(62, 142, 247);
}

.img-2 {
	object-fit: fill;
	object-position: 50% 100%;
	width: 100%;
	height: 100%;
}

.story__media {
	box-sizing: border-box;
	aspect-ratio: 1 / 1;
}

.trust__item {
	font-size: 2.25rem;
	font-weight: 700;
}

.trust__Item-small {
	font-size: 1rem;
	font-weight: 400;
}

.picture-1 {
	width: 100%;
	height: 100%;
}

.picture-2 {
	width: 100%;
	height: 100%;
}

.btn.btn--dark.navbar__cta {
	background-color: var(--color-blue);
}

.image-two {
	opacity: 1;
	object-position: 50% 50%;
	object-fit: cover;
	height: 100%;
}

.menu-hero {
	background: var(--color-cream);
	padding: 86px 0px 72px;
}

.menu-hero__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 48px;
}

.menu-hero h1 {
	font-size: 56px;
	margin-bottom: 18px;
}

.menu-hero p {
	font-size: 18px;
	color: var(--color-text-muted);
	max-width: 580px;
}

.menu-hero__note {
	background: var(--color-yellow);
	border: var(--border-thick);
	border-radius: var(--radius);
	box-shadow: var(--shadow-hard);
	padding: 28px;
	font-family: var(--font-heading);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.1;
	text-align: center;
	transform: rotate(5deg);
	flex: 0 0 190px;
}

.menu-board {
	background: var(--color-pink-soft);
	padding: 72px 0px 90px;
}

.menu-board__heading {
	text-align: center;
	margin-bottom: 42px;
}

.menu-board__heading .badge {
	margin-bottom: 14px;
}

.menu-board__heading h2 {
	font-size: 42px;
	margin-bottom: 12px;
}

.menu-board__heading p {
	color: var(--color-text-muted);
}

.food-grid, .drinks__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.food-card, .drink-card {
	background: var(--color-white);
	border: var(--border-thick);
	border-radius: var(--radius);
	box-shadow: var(--shadow-hard-sm);
	padding: 28px;
}

.food-card--featured {
	background: var(--color-yellow);
}

.food-card__top {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	font-family: var(--font-heading);
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 22px;
}

.food-card__top strong, .drink-card strong, .menu-list__item strong {
	font-family: var(--font-heading);
	font-size: 20px;
	white-space: nowrap;
	color: var(--color-orange);
}

.food-card h3, .drink-card h3, .menu-list__item h3 {
	font-size: 24px;
	margin-bottom: 10px;
}

.food-card p, .drink-card p, .menu-list__item p {
	color: var(--color-text-muted);
	font-size: 15px;
}

.food-card__tag {
	display: inline-block;
	margin-top: 20px;
	padding: 6px 11px;
	border: 2px solid var(--color-dark);
	border-radius: var(--radius-pill);
	font-size: 12px;
	font-weight: 700;
}

.menu-sides {
	background: var(--color-teal);
	padding: 72px 0px 90px;
}

.menu-list {
	max-width: 800px;
	margin: 0px auto;
	background: var(--color-cream);
	border: var(--border-thick);
	border-radius: var(--radius);
	box-shadow: var(--shadow-hard);
	overflow: hidden;
}

.menu-list__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding: 22px 26px;
	border-bottom: 2px dashed rgba(28, 22, 16, 0.28);
}

.menu-list__item:last-child {
	border-bottom: 0px;
}

.drinks {
	background: var(--color-blue);
	padding: 72px 0px 90px;
}

.drink-card {
	text-align: center;
}

.drink-card > span {
	display: block;
	font-size: 42px;
	margin-bottom: 14px;
}

.drink-card strong {
	display: block;
	margin-top: 16px;
}

.menu-page__fineprint {
	max-width: 720px;
	margin: 36px auto 0px;
	text-align: center;
	font-size: 14px;
	color: var(--color-dark);
}

.truck-story {
	background: var(--color-teal);
	padding: 80px 0px;
}

.truck-story__inner {
	max-width: 1180px;
	margin: 0px auto;
	padding: 0px 24px;
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: 56px;
	align-items: center;
}

.truck-story__media {
	position: relative;
}

.truck-story__media img {
	border: var(--border-thick);
	border-radius: var(--radius);
	box-shadow: var(--shadow-hard);
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.truck-story__content h2 {
	font-size: 38px;
	margin-bottom: 16px;
}

.truck-story__content > p {
	font-size: 16px;
	margin-bottom: 16px;
	max-width: 520px;
}

.truck-events {
	background: var(--color-pink-soft);
	padding: 80px 0px 90px;
}

.truck-packages {
	background: var(--color-yellow);
	padding: 80px 0px 90px;
}

.truck-packages__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.truck-book {
	background: var(--color-cream);
	padding: 90px 0px;
}

.truck-book__inner {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 56px;
	align-items: start;
}

.truck-book h2 {
	font-size: 40px;
	margin-bottom: 16px;
}

.truck-book > div > p, .truck-book__inner > div > p {
	color: var(--color-text-muted);
	font-size: 17px;
	margin-bottom: 24px;
	max-width: 460px;
}

.truck-form {
	background: var(--color-white);
	border: var(--border-thick);
	border-radius: var(--radius);
	box-shadow: var(--shadow-hard);
	padding: 32px;
	display: grid;
	gap: 8px;
}

.truck-form label {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 14px;
	margin-top: 8px;
}

.truck-form input, .truck-form select, .truck-form textarea {
	width: 100%;
	padding: 12px 14px;
	border: var(--border-thick);
	border-radius: 14px;
	font-family: var(--font-body);
	font-size: 15px;
	background: var(--color-cream);
}

.truck-form textarea {
	resize: vertical;
	min-height: 110px;
}

.truck-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.truck-form button {
	margin-top: 16px;
	justify-self: start;
}

@media (max-width: 991px) {
  .navbar__links { display: none; }
  .hero__inner { grid-template-columns: 1fr; }
  .hero__title { font-size: 38px; }
  .hero__sub { max-width: 100%; }
  .botm__inner { grid-template-columns: 1fr; }
  .botm__content h2 { font-size: 30px; }
  .story__inner { grid-template-columns: 1fr; }
  .story__media img { transform: none; }
  .reviews__grid { grid-template-columns: 1fr 1fr; }
  .visit__inner { grid-template-columns: 1fr; }
  .footer__inner { grid-template-columns: 1fr 1fr; }
  .menu__grid { grid-template-columns: 1fr 1fr; }
  .menu-hero__inner { flex-direction: column; align-items: flex-start; }
  .menu-hero h1 { font-size: 42px; }
  .food-grid, .drinks__grid { grid-template-columns: 1fr; }
  .truck-story__inner, .truck-book__inner, .truck-packages__grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .menu__grid { grid-template-columns: 1fr; }
  .menu-hero { padding: 58px 0px; }
  .menu-hero h1 { font-size: 36px; }
  .menu-hero__note { align-self: center; }
  .menu-board__heading h2 { font-size: 34px; }
  .menu-list__item { align-items: flex-start; padding: 20px; }
  .food-card, .drink-card { padding: 22px; }
  .truck-form { padding: 22px; }
  .truck-form__row { grid-template-columns: 1fr; }
  .truck-book h2 { font-size: 32px; }
  .trust__inner { grid-template-columns: repeat(2, 1fr); }
  .reviews__grid { grid-template-columns: 1fr; }
}

@media (max-width: 479px) {
  .menu__grid { grid-template-columns: 1fr; }
}

picture img {
	display: block;
}