.tn-announcement {
	padding: .7rem clamp(1rem, 4vw, 3rem);
	background: var(--wp--preset--color--amarillo, #f6d64a);
	color: var(--wp--preset--color--carbon, #1c1917);
	font-weight: 850;
	text-align: center;
}
.tn-announcement p { margin: 0; }

.tn-kicker {
	margin: 0 0 .5rem;
	color: var(--wp--preset--color--magenta, #c61d70);
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.tn-section-intro { max-width: 760px; margin-bottom: clamp(1.5rem, 4vw, 2.7rem); }
.tn-section-intro h2 { margin: 0 0 .6rem; font-size: clamp(2.2rem, 6vw, 4.5rem); }
.tn-section-intro > p:last-child { max-width: 650px; margin: 0; font-size: 1.08rem; }

.tn-public-button {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: .82rem 1.3rem;
	background: var(--wp--preset--color--amarillo, #f6d64a);
	border: 2px solid var(--wp--preset--color--carbon, #1c1917);
	border-radius: 999px;
	box-shadow: 0 6px 0 var(--wp--preset--color--carbon, #1c1917);
	color: var(--wp--preset--color--carbon, #1c1917);
	font: inherit;
	font-weight: 850;
	text-decoration: none;
	cursor: pointer;
	transition: transform 180ms ease, box-shadow 180ms ease;
}
.tn-public-button:hover { box-shadow: 0 3px 0 var(--wp--preset--color--carbon, #1c1917); color: var(--wp--preset--color--carbon, #1c1917); transform: translateY(3px); }
.tn-public-button--secondary { background: var(--wp--preset--color--magenta, #c61d70); color: #fff; }
.tn-text-link { font-weight: 800; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.tn-centered-action { margin-top: 2rem; text-align: center; }

.tn-hero {
	display: grid;
	min-height: min(820px, calc(100vh - 80px));
	grid-template-columns: minmax(0, .96fr) minmax(21rem, 1.04fr);
	align-items: center;
	gap: clamp(2rem, 5vw, 5rem);
	padding: clamp(2.5rem, 6vw, 5.5rem) max(clamp(1rem, 5vw, 5rem), calc((100vw - 1320px) / 2));
	overflow: hidden;
	background:
		radial-gradient(circle at 15% 22%, rgb(246 214 74 / 52%), transparent 22rem),
		var(--wp--preset--color--crema, #fff5df);
}
.tn-hero__content { position: relative; z-index: 2; display: flex; min-width: 0; align-items: flex-start; flex-direction: column; }
.tn-hero__brand-lockup { display: grid; width: min(100%, 34rem); justify-items: center; margin-bottom: clamp(1rem, 2vw, 1.45rem); }
.tn-hero__logo-stage { position: relative; display: grid; width: clamp(12rem, 25vw, 19rem); aspect-ratio: 1; place-items: center; isolation: isolate; }
.tn-hero__logo-stage::before,
.tn-hero__logo-stage::after { position: absolute; border-radius: 46% 54% 48% 52%; content: ""; pointer-events: none; }
.tn-hero__logo-stage::before { z-index: -2; inset: 9%; background: rgb(255 250 236 / 94%); border: 2px dashed rgb(23 61 43 / 35%); box-shadow: 0 0 0 .55rem rgb(246 214 74 / 35%), 0 20px 50px rgb(28 25 23 / 12%); transform: rotate(-3deg); }
.tn-hero__logo-stage::after { z-index: -3; inset: 0; background: repeating-conic-gradient(from 4deg, rgb(198 29 112 / 26%) 0 9deg, transparent 9deg 18deg); transform: rotate(7deg); }
.tn-hero__logo { display: block; z-index: 1; width: 88%; height: 88%; object-fit: contain; filter: drop-shadow(0 14px 17px rgb(28 25 23 / 20%)); animation: tn-hero-logo-float 5.2s ease-in-out infinite; }
.tn-hero__cuisine { display: flex; align-items: center; justify-content: center; gap: clamp(.22rem, .7vw, .5rem); margin: -.25rem 0 0; color: var(--wp--preset--color--nopal, #173d2b); font-family: var(--wp--preset--font-family--display, "Arial Black", "Trebuchet MS", ui-rounded, sans-serif); font-size: clamp(1.7rem, 3.3vw, 2.85rem); font-weight: 950; letter-spacing: -.065em; line-height: 1; text-shadow: 2px 2px 0 #fff, 4px 4px 0 rgb(246 214 74 / 86%); transform: rotate(-.7deg); }
.tn-hero__cuisine > span:not(.tn-hero__cuisine-y) { white-space: nowrap; }
.tn-hero__cuisine-y { display: inline-grid; width: 1.45em; height: 1.3em; flex: 0 0 auto; place-items: center; background: var(--wp--preset--color--magenta, #c61d70); border: 2px solid var(--wp--preset--color--carbon, #1c1917); border-radius: 52% 48% 46% 54%; box-shadow: 2px 3px 0 var(--wp--preset--color--carbon, #1c1917); color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: .68em; font-style: italic; letter-spacing: 0; text-shadow: none; transform: rotate(-8deg); }
.tn-hero__tagline { max-width: 30rem; margin: .7rem auto 0; color: var(--wp--preset--color--carbon, #1c1917); font-size: clamp(.78rem, 1.2vw, .95rem); font-weight: 850; letter-spacing: .12em; line-height: 1.25; text-align: center; text-transform: uppercase; }
.tn-hero__eyebrow { margin-top: 0; }
.tn-hero h1 { max-width: 760px; margin: .45rem 0 1rem; font-size: clamp(2.35rem, 4.9vw, 5.1rem); line-height: .94; }
.tn-hero__lead { max-width: 650px; font-size: clamp(1.1rem, 2vw, 1.35rem); }
.tn-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1.6rem; }
.tn-hero__visual { position: relative; min-width: 0; min-height: clamp(25rem, 45vw, 40rem); }
.tn-hero__visual::before,
.tn-hero__visual::after { position: absolute; content: ""; border-radius: 48% 52% 42% 58%; }
.tn-hero__visual::before { z-index: 0; inset: 5% -14% -10% 8%; background: var(--wp--preset--color--nopal, #173d2b); transform: rotate(4deg); }
.tn-hero__visual::after { z-index: 1; right: 1%; bottom: 2%; width: 36%; aspect-ratio: 1; background: var(--wp--preset--color--magenta, #c61d70); transform: rotate(-11deg); }
.tn-hero__image,
.tn-hero__placeholder { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; box-sizing: border-box; background: #fffaf0; border: clamp(.4rem, .8vw, .7rem) solid #fff; border-radius: 2.2rem 1.2rem 2.4rem 1.35rem; box-shadow: 0 30px 80px rgb(28 25 23 / 25%); object-position: center; transform: rotate(-1.3deg); }
.tn-hero__image { padding: clamp(.35rem, .8vw, .7rem); object-fit: contain; }
.tn-hero__placeholder { display: grid; overflow: hidden; place-items: center; background: radial-gradient(circle at 20% 20%, rgb(255 255 255 / 42%) 0 .35rem, transparent .4rem), linear-gradient(135deg, #f6d64a, #ef7d32 55%, #d83a2e); background-size: 2.3rem 2.3rem, 100% 100%; }
.tn-hero__placeholder span { padding: .55rem 1rem; background: rgb(255 250 236 / 91%); border: 3px solid var(--wp--preset--color--carbon, #1c1917); border-radius: 1rem 1.6rem .9rem 1.35rem; box-shadow: 6px 7px 0 var(--wp--preset--color--nopal, #173d2b); color: var(--wp--preset--color--magenta, #c61d70); font-family: var(--wp--preset--font-family--display, "Arial Black", "Trebuchet MS", ui-rounded, sans-serif); font-size: clamp(2.2rem, 5vw, 4.5rem); font-weight: 950; letter-spacing: -.06em; line-height: .95; text-align: center; transform: rotate(-4deg); }

.tn-open-status { display: inline-flex; align-items: center; gap: .45rem; padding: .35rem .7rem; background: rgb(255 255 255 / 80%); border: 1px solid rgb(28 25 23 / 12%); border-radius: 99px; font-size: .82rem; font-weight: 800; }
.tn-open-status i { width: .62rem; height: .62rem; flex: 0 0 auto; background: #b13d31; border-radius: 50%; }
.tn-open-status.is-open i { background: #2a8a4c; box-shadow: 0 0 0 4px rgb(42 138 76 / 15%); }
.tn-hero .tn-open-status { z-index: 4; display: grid; max-width: min(100%, 32rem); box-sizing: border-box; grid-template-columns: auto minmax(0, 1fr); gap: 0; padding: .48rem .68rem; margin-bottom: .3rem; background: var(--wp--preset--color--carbon, #1c1917); border: 2px solid var(--wp--preset--color--carbon, #1c1917); box-shadow: 4px 5px 0 rgb(198 29 112 / 35%); color: #fff; font-size: clamp(.72rem, 1.3vw, .86rem); line-height: 1.2; transform: rotate(-.65deg); }
.tn-hero .tn-open-status__state { display: inline-flex; align-items: center; gap: .45rem; padding: .18rem .65rem .18rem .2rem; font-weight: 900; white-space: nowrap; }
.tn-hero .tn-open-status__hours { min-width: 0; padding: .18rem .2rem .18rem .7rem; border-left: 1px solid rgb(255 255 255 / 32%); overflow-wrap: anywhere; }
.tn-hero .tn-open-status__hours strong { color: var(--wp--preset--color--amarillo, #f6d64a); }
.tn-hero .tn-open-status.is-open { background: var(--wp--preset--color--nopal, #173d2b); border-color: var(--wp--preset--color--nopal, #173d2b); }
.tn-hero .tn-open-status.is-open i { background: #75e09a; box-shadow: 0 0 0 4px rgb(117 224 154 / 18%); }
.tn-hero .tn-open-status.is-unconfirmed { background: #874710; border-color: #613006; }
.tn-hero .tn-open-status.is-unconfirmed i { background: var(--wp--preset--color--amarillo, #f6d64a); box-shadow: 0 0 0 4px rgb(246 214 74 / 18%); }

@keyframes tn-hero-logo-float {
	0%, 100% { transform: translateY(0) rotate(-.35deg); }
	50% { transform: translateY(-5px) rotate(.45deg); }
}

.tn-featured,
.tn-specials,
.tn-gallery,
.tn-menu-explorer,
.tn-story,
.tn-contact,
.tn-location { margin-top: clamp(3.5rem, 9vw, 8rem); margin-bottom: clamp(3.5rem, 9vw, 8rem); padding-right: clamp(1rem, 4vw, 3rem); padding-left: clamp(1rem, 4vw, 3rem); }

.tn-featured-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.tn-menu-card { overflow: hidden; background: #fff; border: 1px solid rgb(28 25 23 / 10%); border-radius: 1.3rem; box-shadow: 0 15px 42px rgb(28 25 23 / 10%); transition: transform 180ms ease, box-shadow 180ms ease; }
.tn-menu-card:hover { box-shadow: 0 22px 55px rgb(28 25 23 / 17%); transform: translateY(-4px); }
.tn-menu-card__media { position: relative; display: grid; overflow: hidden; aspect-ratio: 4/3; background: #eee8da; }
.tn-menu-card__image { box-sizing: border-box; width: 100%; height: 100%; padding: .35rem; object-fit: contain; transition: filter 200ms ease; }
.tn-menu-card:hover .tn-menu-card__image { transform: none; }
.tn-menu-card__body { padding: 1rem; }
.tn-menu-card__top { display: flex; align-items: start; justify-content: space-between; gap: .75rem; }
.tn-menu-card h3 { margin: 0; font-size: 1.25rem; }
.tn-menu-card__price { white-space: nowrap; }
.tn-menu-card p { margin: .55rem 0; color: #5f635f; font-size: .93rem; }
.tn-menu-card__badges,
.tn-menu-card__meta { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .55rem; }
.tn-menu-card__badges span,
.tn-menu-card__meta span { padding: .25rem .5rem; background: #f1eee6; border-radius: 99px; font-size: .72rem; font-weight: 720; }
.tn-menu-card__badges .is-sold-out { background: #f6d8d4; color: #80251e; }
.tn-menu-card.is-unavailable { opacity: .72; }
.tn-menu-card__variants { display: grid; gap: .25rem; padding: .55rem 0; margin: .55rem 0; border-top: 1px solid #e6e1d6; border-bottom: 1px solid #e6e1d6; list-style: none; }
.tn-menu-card__variants li { display: flex; justify-content: space-between; gap: 1rem; font-size: .86rem; }
.tn-menu-card__details { margin-top: .55rem; color: #4f544f; font-size: .88rem; }
.tn-menu-card__details summary { font-weight: 800; cursor: pointer; }
.tn-menu-card__details p { margin-bottom: 0; }
.tn-menu-card__note { padding-left: .65rem; border-left: 3px solid #d83a2e; font-weight: 700; }
.tn-menu-card__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .75rem; }
.tn-menu-card__actions a { color: #173d2b; font-size: .82rem; font-weight: 850; text-underline-offset: 3px; }

.tn-menu-explorer {
	--tn-menu-ink: #1c1917;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	overflow: clip;
	padding-top: clamp(2rem, 5vw, 4rem);
	padding-bottom: clamp(2.5rem, 6vw, 5rem);
	background:
		radial-gradient(circle at 5% 4%, rgb(246 214 74 / 58%) 0 7rem, transparent 7.1rem),
		radial-gradient(circle at 96% 12%, rgb(198 29 112 / 17%) 0 11rem, transparent 11.1rem),
		linear-gradient(135deg, rgb(255 255 255 / 78%), rgb(255 245 223 / 92%)),
		repeating-linear-gradient(45deg, transparent 0 17px, rgb(23 61 43 / 5%) 17px 19px);
	border: 1px solid rgb(28 25 23 / 10%);
	border-radius: clamp(1.5rem, 4vw, 3.5rem);
}
.tn-menu-explorer::before,
.tn-menu-explorer::after { position: absolute; z-index: -1; content: ""; pointer-events: none; }
.tn-menu-explorer::before { top: 21rem; left: -5rem; width: 11rem; aspect-ratio: 1; background: #d83a2e; border-radius: 46% 54% 58% 42%; opacity: .1; transform: rotate(18deg); }
.tn-menu-explorer::after { right: -4rem; bottom: 8rem; width: 10rem; aspect-ratio: 1; background: #173d2b; border-radius: 50% 40% 55% 45%; opacity: .09; transform: rotate(-12deg); }
.tn-menu-explorer > * { position: relative; z-index: 1; }
.tn-menu-explorer:not([data-tn-ready]) .tn-menu-controls,
.tn-menu-explorer:not([data-tn-ready]) .tn-antojo-filters,
.tn-menu-explorer:not([data-tn-ready]) .tn-menu-count { display: none; }
.tn-menu-welcome { display: grid; grid-template-columns: minmax(0, 1fr) minmax(190px, 280px); align-items: end; gap: clamp(1rem, 4vw, 3rem); margin-bottom: clamp(1.5rem, 4vw, 2.7rem); }
.tn-menu-welcome .tn-section-intro { max-width: none; margin: 0; }
.tn-menu-explorer .tn-section-intro { padding: clamp(1rem, 2vw, 1.6rem); background: rgb(255 255 255 / 76%); border: 2px solid var(--tn-menu-ink); border-radius: 1.4rem 2.4rem 1.2rem 2rem; box-shadow: 7px 8px 0 #f6d64a; transform: rotate(-.35deg); }
.tn-menu-mascot { position: relative; width: min(100%, 280px); margin: 0 auto; animation: tn-mascot-present 4.8s ease-in-out infinite; pointer-events: none; }
.tn-menu-mascot img { display: block; width: 100%; height: auto; max-height: 390px; object-fit: contain; filter: drop-shadow(0 14px 16px rgb(28 25 23 / 20%)); }
.tn-menu-mascot figcaption { position: absolute; top: 2%; right: -1rem; max-width: 10rem; padding: .55rem .7rem; background: #fff; border: 2px solid var(--tn-menu-ink); border-radius: 1rem 1rem 1rem .25rem; box-shadow: 3px 4px 0 #f6d64a; color: #173d2b; font-size: .82rem; font-weight: 900; line-height: 1.12; text-align: center; transform: rotate(2deg); }
.tn-menu-mascot figcaption::after { position: absolute; bottom: -.55rem; left: 1.1rem; width: .9rem; height: .9rem; background: #fff; border-right: 2px solid var(--tn-menu-ink); border-bottom: 2px solid var(--tn-menu-ink); content: ""; transform: rotate(45deg); }
@keyframes tn-mascot-present {
	0%, 100% { transform: translateY(0) rotate(-1deg); }
	50% { transform: translateY(-8px) rotate(1deg); }
}
.tn-menu-controls { display: flex; align-items: end; gap: 1rem; margin-bottom: 1rem; }
.tn-menu-explorer .tn-menu-controls { padding: .8rem; background: rgb(255 255 255 / 88%); border: 1px solid rgb(28 25 23 / 14%); border-radius: 1rem; box-shadow: 0 12px 30px rgb(28 25 23 / 8%); backdrop-filter: blur(12px); }
.tn-menu-search { display: grid; flex: 1; gap: .35rem; font-size: .82rem; font-weight: 800; }
.tn-menu-search input { width: 100%; min-height: 52px; padding: .8rem 1rem; background: #fff; border: 2px solid #d8d3c7; border-radius: 14px; color: #1c1917; font: inherit; }
.tn-menu-search input:focus { border-color: #173d2b; outline: 3px solid rgb(246 214 74 / 70%); outline-offset: 2px; }
.tn-view-switch { display: flex; padding: .25rem; background: #ece8dd; border-radius: 12px; }
.tn-view-switch button,
.tn-antojo-filters button { min-height: 44px; padding: .55rem .8rem; background: transparent; border: 0; border-radius: 9px; color: #1c1917; font: inherit; font-weight: 800; cursor: pointer; }
.tn-view-switch button[aria-pressed="true"] { background: #fff; box-shadow: 0 2px 8px rgb(28 25 23 / 12%); }
.tn-view-switch button:focus-visible,
.tn-antojo-filters button:focus-visible,
.tn-menu-sections a:focus-visible,
.tn-menu-card__actions a:focus-visible { outline: 3px solid #c61d70; outline-offset: 3px; }
.tn-antojo-filters { display: flex; gap: .5rem; padding-bottom: .7rem; overflow-x: auto; scrollbar-width: thin; }
.tn-antojo-filters button { flex: 0 0 auto; background: #fff; border: 1px solid #d8d3c7; border-radius: 99px; box-shadow: 0 3px 0 rgb(28 25 23 / 12%); }
.tn-antojo-filters button[aria-pressed="true"] { background: #173d2b; border-color: #173d2b; color: #fff; }
.tn-menu-sections { position: sticky; z-index: 20; top: 82px; display: flex; gap: .8rem; margin: 1rem 0; padding: .75rem; overflow-x: auto; background: rgb(255 245 223 / 92%); border: 1px solid rgb(28 25 23 / 8%); border-radius: 14px; backdrop-filter: blur(12px); }
.tn-menu-explorer .tn-menu-sections { border: 2px solid #173d2b; box-shadow: 0 5px 0 rgb(23 61 43 / 17%); }
.tn-menu-sections a { flex: 0 0 auto; padding: .25rem .45rem; color: #173d2b; border-radius: .5rem; font-weight: 850; text-decoration: none; }
.tn-menu-sections a:hover { color: #c61d70; }
.tn-menu-count { color: #6d6b66; font-size: .85rem; text-align: right; }
.tn-menu-explorer .tn-menu-count { width: fit-content; margin-left: auto; padding: .32rem .7rem; background: #fff; border: 1px solid rgb(28 25 23 / 14%); border-radius: 99px; color: #173d2b; font-weight: 850; }
.tn-menu-section { scroll-margin-top: 155px; margin-top: 3rem; }
.tn-menu-section__heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding-bottom: .7rem; margin-bottom: 1rem; border-bottom: 3px solid #1c1917; }
.tn-menu-explorer .tn-menu-section__heading { padding: .8rem 1rem; background: #173d2b; border: 0; border-radius: 1rem 1.8rem .9rem 1.4rem; box-shadow: 6px 6px 0 #f6d64a; color: #fff; }
.tn-menu-section__heading h2 { margin: 0; font-size: clamp(2rem, 5vw, 3.4rem); }
.tn-menu-section__heading p { max-width: 580px; margin: 0; color: #64635e; }
.tn-menu-explorer .tn-menu-section__heading h2 { color: #fff; line-height: 1; }
.tn-menu-explorer .tn-menu-section__heading p { color: rgb(255 255 255 / 78%); }
.tn-menu-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.tn-menu-explorer .tn-menu-grid { grid-auto-flow: row; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; gap: clamp(.9rem, 2vw, 1.35rem); }
.tn-menu-explorer .tn-menu-card {
	--tn-card-accent: #f6d64a;
	--tn-card-tilt: -.2deg;
	background: #fffdf8;
	border: 2px solid var(--tn-menu-ink);
	border-radius: 1.25rem 2rem 1.15rem 1.65rem;
	box-shadow: 7px 8px 0 var(--tn-menu-ink), 0 22px 50px rgb(28 25 23 / 12%);
}
.tn-menu-explorer:not(.is-list-view) .tn-menu-card { display: flex; grid-column: span 5; flex-direction: column; transform: rotate(var(--tn-card-tilt)); }
.tn-menu-explorer:not(.is-list-view) .tn-menu-card:nth-child(4n + 1) { --tn-card-accent: #f6d64a; --tn-card-tilt: -.28deg; }
.tn-menu-explorer:not(.is-list-view) .tn-menu-card:nth-child(4n + 2) { --tn-card-accent: #ef8e57; --tn-card-tilt: .22deg; }
.tn-menu-explorer:not(.is-list-view) .tn-menu-card:nth-child(4n + 3) { --tn-card-accent: #e9a8c7; --tn-card-tilt: -.16deg; }
.tn-menu-explorer:not(.is-list-view) .tn-menu-card:nth-child(4n) { --tn-card-accent: #9bc6a8; --tn-card-tilt: .28deg; }
.tn-menu-explorer:not(.is-list-view) .tn-menu-card:where(:nth-child(4n + 1)),
.tn-menu-explorer:not(.is-list-view) .tn-menu-card:where(:nth-child(4n)) { display: grid; grid-column: span 7; grid-template-columns: minmax(0, 1.08fr) minmax(240px, .92fr); }
.tn-menu-explorer:not(.is-list-view) .tn-menu-card:where(:nth-child(4n + 2)),
.tn-menu-explorer:not(.is-list-view) .tn-menu-card:where(:nth-child(4n + 3)) { grid-column: span 5; }
.tn-menu-explorer:not(.is-list-view) .tn-menu-card:where(:last-child:nth-child(odd)) { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr); }
.tn-menu-explorer:not(.is-list-view) .tn-menu-card.is-collage-wide { display: grid; grid-column: span 7; grid-template-columns: minmax(0, 1.08fr) minmax(240px, .92fr); }
.tn-menu-explorer:not(.is-list-view) .tn-menu-card.is-collage-compact { display: flex; grid-column: span 5; grid-template-columns: none; }
.tn-menu-explorer:not(.is-list-view) .tn-menu-card.is-collage-solo { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr); }
.tn-menu-explorer:not(.is-list-view) .tn-menu-card.is-collage-photo { align-self: start; }
.tn-menu-explorer:not(.is-list-view) .tn-menu-card:hover { box-shadow: 4px 5px 0 var(--tn-menu-ink), 0 25px 55px rgb(28 25 23 / 18%); transform: translateY(3px) rotate(var(--tn-card-tilt)); }
.tn-menu-explorer .tn-menu-card__media { min-width: 0; padding: clamp(.45rem, 1.3vw, .85rem); background:
	linear-gradient(135deg, rgb(255 255 255 / 20%), rgb(255 255 255 / 68%)),
	radial-gradient(circle at 16% 18%, rgb(255 255 255 / 72%) 0 .28rem, transparent .3rem),
	var(--tn-card-accent);
	background-size: auto, 1.25rem 1.25rem, auto;
	border-bottom: 2px solid var(--tn-menu-ink);
}
.tn-menu-explorer .tn-menu-card__image { display: block; width: 100%; height: 100%; min-height: 0; padding: .25rem; object-fit: contain; filter: drop-shadow(0 10px 12px rgb(28 25 23 / 18%)); }
.tn-menu-explorer .tn-menu-card:hover .tn-menu-card__image { transform: none; }
.tn-menu-explorer:not(.is-list-view) .tn-menu-card:where(:nth-child(4n + 1)) .tn-menu-card__media,
.tn-menu-explorer:not(.is-list-view) .tn-menu-card:where(:nth-child(4n)) .tn-menu-card__media,
.tn-menu-explorer:not(.is-list-view) .tn-menu-card.is-collage-wide .tn-menu-card__media,
.tn-menu-explorer:not(.is-list-view) .tn-menu-card.is-collage-solo .tn-menu-card__media { height: 100%; min-height: 310px; aspect-ratio: auto; border-right: 2px solid var(--tn-menu-ink); border-bottom: 0; }
.tn-menu-explorer:not(.is-list-view) .tn-menu-card.is-collage-compact .tn-menu-card__media { height: auto; min-height: 0; aspect-ratio: 4 / 3; border-right: 0; border-bottom: 2px solid var(--tn-menu-ink); }
.tn-menu-explorer .tn-menu-card__body { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(1rem, 2vw, 1.4rem); }
.tn-menu-explorer .tn-menu-card__top { align-items: flex-start; }
.tn-menu-explorer .tn-menu-card h3 { color: #173d2b; font-size: clamp(1.25rem, 2.2vw, 1.65rem); line-height: 1.08; }
.tn-menu-explorer .tn-menu-card__price { padding: .28rem .5rem; background: var(--tn-card-accent); border: 1px solid var(--tn-menu-ink); border-radius: .45rem .8rem .45rem .7rem; box-shadow: 2px 2px 0 var(--tn-menu-ink); color: var(--tn-menu-ink); transform: rotate(1deg); }
.tn-menu-explorer .tn-menu-card__badges span,
.tn-menu-explorer .tn-menu-card__meta span { background: #f4efe3; border: 1px solid rgb(28 25 23 / 12%); }
.tn-menu-explorer .tn-menu-card.is-unavailable { opacity: 1; }
.tn-menu-explorer .tn-menu-card.is-unavailable .tn-menu-card__media { filter: saturate(.55); }
.tn-menu-explorer .tn-menu-card__actions { padding-top: .65rem; margin-top: auto; }
.tn-menu-explorer .tn-menu-card__actions a { text-decoration-thickness: 2px; }
.tn-menu-card[hidden],
.tn-menu-section[hidden],
[data-tn-section-nav][hidden],
[data-tn-section-link][hidden],
[data-tn-menu-empty][hidden] { display: none !important; }
.tn-menu-explorer.is-list-view .tn-menu-grid { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tn-menu-explorer.is-list-view .tn-menu-card { display: grid !important; grid-column: auto !important; grid-template-columns: 145px minmax(0, 1fr) !important; overflow: hidden; box-shadow: 0 7px 18px rgb(28 25 23 / 10%); transform: none !important; }
.tn-menu-explorer.is-list-view .tn-menu-card__media { height: 100%; min-height: 100%; padding: .45rem; aspect-ratio: auto; border-right: 2px solid var(--tn-menu-ink); border-bottom: 0; }
.tn-menu-empty,
.tn-public-empty { display: grid; min-height: 260px; place-items: center; align-content: center; padding: 2rem; background: #fff; border: 2px dashed #d8d3c7; border-radius: 1.3rem; text-align: center; }
.tn-menu-explorer .tn-menu-empty { background: rgb(255 255 255 / 88%); border: 2px dashed #173d2b; box-shadow: 6px 7px 0 #f6d64a; }
.tn-menu-empty strong,
.tn-public-empty strong { font-size: 1.5rem; }
.tn-menu-empty p,
.tn-public-empty p { margin: .3rem 0 1rem; color: #686762; }
.tn-menu-empty button { min-height: 44px; padding: .65rem 1rem; background: #f6d64a; border: 2px solid #1c1917; border-radius: 99px; font-weight: 850; cursor: pointer; }

.tn-specials { padding-top: clamp(3rem, 7vw, 6rem); padding-bottom: clamp(3rem, 7vw, 6rem); }
.tn-specials-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.tn-special-card { overflow: hidden; background: #173d2b; border-radius: 1.3rem; box-shadow: 0 18px 45px rgb(28 25 23 / 18%); color: #fff; }
.tn-special-card__image { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.tn-special-card > div { padding: 1.15rem; }
.tn-special-card span { color: #f6d64a; font-size: .75rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.tn-special-card h3 { margin: .4rem 0; color: #fff; font-size: 1.5rem; }
.tn-special-card p { opacity: .82; }
.tn-special-card strong { color: #f6d64a; font-size: 1.2rem; }
.tn-special-card__conditions { display: block; margin-top: .55rem; color: rgb(255 255 255 / 78%); }
.tn-special-card .tn-public-button--small { display: inline-flex; min-height: 40px; align-items: center; margin-top: .85rem; padding: .55rem .8rem; background: #f6d64a; color: #173d2b; text-decoration: none; }

.tn-location { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem, 6vw, 6rem); padding-top: clamp(2rem, 5vw, 4rem); padding-bottom: clamp(2rem, 5vw, 4rem); background: #fff; border: 1px solid rgb(28 25 23 / 9%); border-radius: 1.8rem; box-shadow: 0 18px 48px rgb(28 25 23 / 11%); }
.tn-location address { max-width: 650px; margin: 1rem 0; font-size: clamp(1.3rem, 3vw, 2rem); font-style: normal; font-weight: 800; }
.tn-location h2 { margin: .4rem 0; font-size: clamp(2.4rem, 5vw, 4rem); }
.tn-hours h3 { margin-top: 0; }
.tn-hours dl { margin: 0; }
.tn-hours dl > div { display: flex; justify-content: space-between; gap: 1rem; padding: .45rem 0; border-bottom: 1px solid #e6e1d6; }
.tn-hours dd { margin: 0; text-align: right; }
.tn-location--compact { display: block; padding: 0; margin: 0; background: transparent; border: 0; box-shadow: none; color: inherit; }
.tn-location--compact a { color: inherit; }

.tn-story { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(2rem, 6vw, 6rem); }
.tn-story h2 { margin: .5rem 0 1rem; font-size: clamp(2.5rem, 6vw, 5rem); }
.tn-story__copy { font-size: 1.08rem; }
.tn-story__number { display: inline-block; margin-top: 1rem; padding: .6rem .9rem; background: #f6d64a; border-radius: .7rem; transform: rotate(-1deg); }
.tn-story__image { width: 100%; max-height: 650px; border-radius: 45% 55% 48% 52%; object-fit: cover; }

.tn-gallery__grid { display: grid; grid-auto-flow: dense; grid-template-columns: repeat(4, 1fr); gap: .75rem; }
.tn-gallery__item { margin: 0; overflow: hidden; border-radius: 1.1rem; }
.tn-gallery__item--1,
.tn-gallery__item--5 { grid-column: span 2; grid-row: span 2; }
.tn-gallery__image { width: 100%; height: 100%; min-height: 230px; object-fit: cover; transition: transform 200ms ease; }
.tn-gallery__item:hover .tn-gallery__image { transform: scale(1.03); }

.tn-contact { display: grid; min-width: 0; box-sizing: border-box; grid-template-columns: minmax(0, 3fr) minmax(0, 5fr); gap: clamp(2rem, 6vw, 6rem); padding-top: clamp(2rem, 5vw, 4rem); padding-bottom: clamp(2rem, 5vw, 4rem); background: #f6d64a; border: 2px solid #1c1917; border-radius: 1.8rem; box-shadow: 0 8px 0 #1c1917; }
.tn-contact > *,
.tn-contact-form,
.tn-contact-form__grid,
.tn-contact-form label { min-width: 0; }
.tn-contact h2 { margin: .4rem 0 1rem; font-size: clamp(2.4rem, 5vw, 4rem); }
.tn-contact-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.tn-contact-form label { display: grid; gap: .3rem; font-size: .82rem; font-weight: 800; }
.tn-contact-form input:not([type="checkbox"]),
.tn-contact-form textarea { width: 100%; max-width: 100%; min-height: 48px; box-sizing: border-box; padding: .75rem; background: #fff; border: 2px solid #1c1917; border-radius: .75rem; color: #1c1917; font: inherit; }
.tn-contact-form textarea { resize: vertical; }
.tn-contact-form__full { grid-column: 1 / -1; }
.tn-contact-consent { display: flex !important; align-items: start; grid-template-columns: auto 1fr !important; }
.tn-contact-consent input { width: 20px; height: 20px; accent-color: #173d2b; }
.tn-contact-form__honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.tn-contact-form .tn-public-button { margin-top: 1rem; }
.tn-contact-form__status { min-height: 1.5rem; margin-bottom: 0; font-weight: 750; }

.tn-profile-footer p { max-width: 440px; opacity: .8; }
.tn-profile-footer small { opacity: .65; }
.tn-profile-footer__social ul { display: flex; flex-wrap: wrap; gap: .6rem 1rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.tn-profile-footer__social a { color: inherit; font-weight: 800; text-underline-offset: .2em; }

.tn-editor-placeholder { min-height: 160px; }

@media (max-width: 1050px) {
	.tn-featured-grid,
	.tn-menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tn-hero { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 782px) {
	.tn-hero { min-height: auto; grid-template-columns: 1fr; padding-top: 2.25rem; }
	.tn-hero__content { align-items: center; text-align: center; }
	.tn-hero__brand-lockup { width: 100%; }
	.tn-hero__lead { margin-right: auto; margin-left: auto; }
	.tn-hero__actions { justify-content: center; }
	.tn-hero__visual { width: 100%; min-height: min(112vw, 34rem); }
	.tn-menu-sections { top: .5rem; }
	.tn-menu-welcome { grid-template-columns: minmax(0, 1fr) minmax(160px, 220px); align-items: center; }
	.tn-menu-mascot { width: min(100%, 220px); }
	.tn-menu-mascot img { max-height: 330px; }
	.tn-menu-explorer:not(.is-list-view) .tn-menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tn-menu-explorer:not(.is-list-view) .tn-menu-card { display: flex !important; grid-column: span 1 !important; grid-template-columns: none !important; }
	.tn-menu-explorer:not(.is-list-view) .tn-menu-card:where(:nth-child(4n + 1)),
	.tn-menu-explorer:not(.is-list-view) .tn-menu-card:where(:nth-child(4n)),
	.tn-menu-explorer:not(.is-list-view) .tn-menu-card:where(:last-child:nth-child(odd)),
	.tn-menu-explorer:not(.is-list-view) .tn-menu-card.is-collage-wide,
	.tn-menu-explorer:not(.is-list-view) .tn-menu-card.is-collage-solo { display: grid !important; grid-column: 1 / -1 !important; grid-template-columns: minmax(210px, .9fr) minmax(0, 1.1fr) !important; }
	.tn-menu-explorer:not(.is-list-view) .tn-menu-card.is-collage-compact { display: flex !important; grid-column: span 1 !important; grid-template-columns: none !important; }
	.tn-menu-explorer.is-list-view .tn-menu-grid { grid-template-columns: 1fr; }
	.tn-specials-grid { grid-template-columns: 1fr; }
	.tn-location,
	.tn-story,
	.tn-contact { grid-template-columns: 1fr; }
	.tn-gallery__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
	.tn-featured-grid,
	.tn-menu-grid,
	.tn-menu-explorer.is-list-view .tn-menu-grid { grid-template-columns: 1fr; }
	.tn-hero { gap: 1.5rem; padding: 1.5rem 1rem 2.5rem; }
	.tn-hero__brand-lockup { margin-bottom: .9rem; }
	.tn-hero__logo-stage { width: min(70vw, 14rem); }
	.tn-hero__cuisine { gap: .22rem; font-size: clamp(1.55rem, 7.5vw, 2rem); }
	.tn-hero h1 { font-size: clamp(2.25rem, 11vw, 3.1rem); }
	.tn-hero .tn-open-status { width: min(100%, 21rem); grid-template-columns: 1fr; }
	.tn-hero .tn-open-status__state { justify-content: center; padding: .2rem .4rem .42rem; white-space: normal; }
	.tn-hero .tn-open-status__hours { padding: .42rem .25rem .15rem; border-top: 1px solid rgb(255 255 255 / 32%); border-left: 0; text-align: center; }
	.tn-hero__visual { min-height: min(118vw, 28rem); }
	.tn-menu-explorer { padding-right: .75rem; padding-left: .75rem; border-radius: 1.25rem; }
	.tn-menu-welcome { grid-template-columns: 1fr; gap: .65rem; }
	.tn-menu-explorer .tn-section-intro { transform: none; }
	.tn-menu-mascot { width: min(72vw, 220px); }
	.tn-menu-mascot figcaption { right: -1.5rem; max-width: 8.5rem; }
	.tn-menu-explorer:not(.is-list-view) .tn-menu-grid { grid-template-columns: 1fr !important; }
	.tn-menu-explorer:not(.is-list-view) .tn-menu-card,
	.tn-menu-explorer:not(.is-list-view) .tn-menu-card:nth-child(4n + 1),
	.tn-menu-explorer:not(.is-list-view) .tn-menu-card:nth-child(4n),
	.tn-menu-explorer:not(.is-list-view) .tn-menu-card:last-child:nth-child(odd),
	.tn-menu-explorer:not(.is-list-view) .tn-menu-card.is-collage-wide,
	.tn-menu-explorer:not(.is-list-view) .tn-menu-card.is-collage-compact,
	.tn-menu-explorer:not(.is-list-view) .tn-menu-card.is-collage-solo { display: flex !important; grid-column: 1 / -1 !important; grid-template-columns: none !important; transform: none; }
	.tn-menu-explorer:not(.is-list-view) .tn-menu-card .tn-menu-card__media { height: auto !important; min-height: 0 !important; aspect-ratio: 4 / 3 !important; border-right: 0 !important; border-bottom: 2px solid var(--tn-menu-ink) !important; }
	.tn-menu-explorer.is-list-view .tn-menu-card { grid-template-columns: 108px minmax(0, 1fr) !important; }
	.tn-menu-explorer.is-list-view .tn-menu-card__top { align-items: flex-start; flex-direction: column; }
	.tn-menu-explorer.is-list-view .tn-menu-card__body { padding: .85rem; }
	.tn-menu-controls { align-items: stretch; flex-direction: column; }
	.tn-view-switch { align-self: flex-start; }
	.tn-menu-section__heading { align-items: start; flex-direction: column; }
	.tn-contact-form__grid { grid-template-columns: 1fr; }
	.tn-contact-form__full { grid-column: auto; }
	.tn-gallery__image { min-height: 170px; }
}

@media (max-width: 360px) {
	.tn-hero__cuisine { font-size: 1.45rem; }
	.tn-hero__actions { width: 100%; }
	.tn-hero__actions .tn-public-button { width: 100%; }
}

.tn-menu-explorer .tn-menu-card.has-no-photo { display: flex !important; flex-direction: column; grid-template-columns: none !important; }
.tn-menu-explorer .tn-menu-card.has-no-photo .tn-menu-card__body { box-sizing: border-box; width: 100%; }

/*
 * Interactive filtering must outrank every collage/list display rule,
 * including the responsive declarations that intentionally use !important.
 * The hidden attribute keeps the same elements out of the accessibility tree.
 */
.tn-menu-explorer article.tn-menu-card[data-tn-menu-card].tn-is-filtered-out[hidden],
.tn-menu-explorer .tn-menu-section.tn-is-filtered-out[hidden],
.tn-menu-explorer [data-tn-section-nav].tn-is-filtered-out[hidden],
.tn-menu-explorer [data-tn-section-link].tn-is-filtered-out[hidden],
.tn-menu-explorer [data-tn-menu-empty].tn-is-filtered-out[hidden] { display: none !important; }

@media (prefers-reduced-motion: reduce) {
	.tn-public-button,
	.tn-menu-card,
	.tn-menu-card__image,
	.tn-gallery__image { transition: none; }
	.tn-menu-mascot { animation: none; }
	.tn-hero__logo { animation: none; }
	.tn-menu-card:hover,
	.tn-gallery__item:hover .tn-gallery__image,
	.tn-menu-card:hover .tn-menu-card__image { transform: none; }
	.tn-menu-explorer:not(.is-list-view) .tn-menu-card { transform: none; }
}
