/* =========================================================================
   JR's Neon — Heritage × Neon
   Sections: 1 tokens · 2 base · 3 block styles · 4 buttons · 5 header
   6 hero · 7 marquee · 8 sections/kickers · 9 stats · 10 about
   11 menu tease · 12 events · 13 accolades · 14 find us · 15 visit
   16 food menu · 17 pride · 18 story · 19 footer · 20 status · 21 motion
   ========================================================================= */

/* 1. TOKENS ------------------------------------------------------------- */
:root {
	--jrs-cream: #F5EFE1;
	--jrs-cream-2: #EDE3CC;
	--jrs-ink: #14130F;
	--jrs-emerald: #0E3B2E;
	--jrs-emerald-deep: #0A2A20;
	--jrs-gold: #C8A24B;
	--jrs-gold-bright: #E8C870;
	--jrs-gold-soft: #d9bd78;
	--jrs-cream-dim: #e7dec9;
	--jrs-night: #0B0B0F;
	--jrs-night-2: #141021;
	--jrs-magenta: #FF2D9B;
	--jrs-cyan: #18E0E8;
	--jrs-line: rgba(200, 162, 75, 0.32);
	--jrs-glow-gold: 0 0 28px rgba(200, 162, 75, 0.45);
	--jrs-glow-neon: 0 0 18px rgba(255, 45, 155, 0.55), 0 0 34px rgba(24, 224, 232, 0.35);
	--jrs-shadow: 0 22px 60px -30px rgba(10, 42, 32, 0.6);
	--jrs-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* 2. BASE --------------------------------------------------------------- */
html { scroll-behavior: smooth; }
body { background: var(--jrs-cream); color: var(--jrs-ink); }
::selection { background: var(--jrs-gold); color: var(--jrs-ink); }
img { max-width: 100%; height: auto; }
a { transition: color 0.2s var(--jrs-ease); }
:focus-visible { outline: 2px solid var(--jrs-gold); outline-offset: 2px; }
.jrs-main { overflow-x: clip; margin-block-start: 0; }
.jrs-section { position: relative; }
.jrs-section__head { margin-bottom: var(--wp--preset--spacing--50); }

/* 2b. SHARED PRIMITIVES (mockup parity) -------------------------------- */
/* gold hairline rule */
.jrs-hairline {
	height: 1px; border: 0; opacity: 0.7; margin: 0;
	background: linear-gradient(90deg, transparent, var(--jrs-gold), transparent);
}

/* centered section head: eyebrow + flourish + title + sub */
.jrs-sec-head { text-align: center; max-width: 720px; margin: 0 auto var(--wp--preset--spacing--50); }
.jrs-sec-head__eyebrow {
	font-family: var(--wp--preset--font-family--cinzel); text-transform: uppercase;
	letter-spacing: 0.3em; font-size: 0.8rem; font-weight: 600; color: var(--jrs-gold); margin: 0;
}
.jrs-sec-head__flourish {
	font-family: var(--wp--preset--font-family--pinyon); color: var(--jrs-gold);
	font-size: 1.9rem; line-height: 1; margin: 0.1rem 0 0;
}
.jrs-sec-head__title {
	font-family: var(--wp--preset--font-family--cinzel); font-weight: 700;
	font-size: clamp(2rem, 4.6vw, 3.2rem); color: var(--jrs-emerald);
	margin: 0.5rem 0 0; line-height: 1.08;
}
.jrs-sec-head__sub { color: #4b5a52; margin: 0.9rem auto 0; max-width: 560px; }
/* dark-background variant (e.g. the emerald events band) — gold & cream */
.jrs-sec-head--dark .jrs-sec-head__eyebrow { color: var(--jrs-gold-bright); }
.jrs-sec-head--dark .jrs-sec-head__flourish { color: var(--jrs-gold-soft); }
.jrs-sec-head--dark .jrs-sec-head__title { color: var(--jrs-cream); }
.jrs-sec-head--dark .jrs-sec-head__sub { color: var(--jrs-cream-dim); }

/* layered gold frame for photography + menu board */
.jrs-gold-frame {
	position: relative; margin: 0; padding: 12px; border-radius: 4px;
	background: linear-gradient(160deg, var(--jrs-gold-soft), var(--jrs-gold) 50%, #a9863a);
	box-shadow: 0 24px 50px -22px rgba(10,32,26,0.6);
}
.jrs-gold-frame::before {
	content: ""; position: absolute; inset: 7px; border: 1px solid rgba(255,255,255,0.45);
	border-radius: 2px; pointer-events: none; z-index: 2;
}
.jrs-gold-frame img { display: block; width: 100%; height: auto; border-radius: 2px; }
.jrs-frame-cap { font-style: italic; color: #5a6960; font-size: 0.95rem; text-align: center; margin: 0.9rem 0 0; }
.jrs-night .jrs-frame-cap, .jrs-events-band .jrs-frame-cap { color: var(--jrs-cream-dim); }

/* elegant hours table */
.jrs-hours-table { width: 100%; border-collapse: collapse; margin: 0; }
.jrs-hours-table td { padding: 0.85rem 0; border-bottom: 1px solid rgba(200,162,75,0.35); }
.jrs-hours-table tr:last-child td { border-bottom: 0; }
.jrs-hours-table td.jrs-hours__day {
	font-family: var(--wp--preset--font-family--cinzel); font-size: 0.86rem;
	letter-spacing: 0.08em; text-transform: uppercase; color: var(--jrs-emerald);
}
.jrs-hours-table td.jrs-hours__time { text-align: right; color: var(--jrs-ink); }
.jrs-hours-table tr.is-late td.jrs-hours__time { color: var(--jrs-gold); font-weight: 600; }
.jrs-hours-table tr.is-today td { color: var(--jrs-gold); }
.jrs-hours-table tr.is-today td.jrs-hours__day { color: var(--jrs-gold); }
/* hours table on dark backgrounds */
.jrs-night .jrs-hours-table td, .jrs-emerald-band .jrs-hours-table td { border-color: rgba(245,239,225,0.22); }
.jrs-night .jrs-hours-table td.jrs-hours__day, .jrs-emerald-band .jrs-hours-table td.jrs-hours__day { color: var(--jrs-gold-bright); }
.jrs-night .jrs-hours-table td.jrs-hours__time, .jrs-emerald-band .jrs-hours-table td.jrs-hours__time { color: var(--jrs-cream); }

/* address card */
.jrs-addr-card {
	margin-top: 1.6rem; padding: 1.2rem 1.4rem; border-radius: 4px;
	background: var(--jrs-emerald); color: var(--jrs-cream);
	box-shadow: inset 0 0 0 1px rgba(200,162,75,0.4);
}
.jrs-addr-card .jrs-kicker { color: var(--jrs-gold-soft); margin-bottom: 0.3rem; }
.jrs-addr-card p { margin: 0.2rem 0 0; }

/* 3. BLOCK STYLES ------------------------------------------------------- */
.is-style-gold { color: var(--jrs-gold) !important; text-shadow: 0 1px 0 rgba(0,0,0,0.06); }
.is-style-engraved {
	color: var(--jrs-emerald) !important;
	text-shadow: 0 1px 0 rgba(255,255,255,0.5), 0 -1px 0 rgba(0,0,0,0.18);
}
.is-style-script {
	font-family: var(--wp--preset--font-family--pinyon) !important;
	color: var(--jrs-gold) !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
}

/* Frames / cards */
.is-style-gold-frame img,
.is-style-gold-frame {
	border-radius: 4px;
}
.is-style-gold-frame img {
	border: 1px solid var(--jrs-gold);
	box-shadow: 0 0 0 6px rgba(245, 239, 225, 0.06), var(--jrs-shadow);
	padding: 6px;
	background: rgba(255,255,255,0.04);
}
.is-style-vintage-card {
	background: var(--jrs-cream);
	border: 1px solid var(--jrs-line);
	border-radius: 6px;
	box-shadow: var(--jrs-shadow);
	padding: var(--wp--preset--spacing--40);
}
.is-style-foil {
	background-image: linear-gradient(120deg, rgba(200,162,75,0.12), rgba(232,200,112,0.04) 40%, rgba(200,162,75,0.12));
}
.is-style-night { background: var(--jrs-night); color: var(--jrs-cream); }
.is-style-glass {
	background: rgba(245, 239, 225, 0.06);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(245, 239, 225, 0.12);
	border-radius: 8px;
}
.is-style-crest-glow img { filter: drop-shadow(0 8px 24px rgba(200, 162, 75, 0.45)); }
.is-style-crest-glow { position: relative; }
.is-style-crest-glow::before {
	content: ""; position: absolute; inset: -12%;
	background: radial-gradient(circle at 50% 45%, rgba(200,162,75,0.30), transparent 62%);
	z-index: -1;
}

/* 4. BUTTONS ------------------------------------------------------------ */
.wp-block-button.is-style-gold-fill > .wp-element-button,
a.wp-element-button.is-style-gold-fill {
	background: var(--jrs-gold); color: var(--jrs-ink);
	border: 1px solid var(--jrs-gold);
}
.wp-block-button.is-style-gold-fill > .wp-element-button:hover,
a.wp-element-button.is-style-gold-fill:hover {
	background: var(--jrs-gold-bright); color: var(--jrs-ink);
	box-shadow: var(--jrs-glow-gold);
}
.wp-block-button.is-style-emerald-fill > .wp-element-button,
a.wp-element-button.is-style-emerald-fill {
	background: var(--jrs-emerald); color: var(--jrs-cream);
	border: 1px solid var(--jrs-emerald);
}
.wp-block-button.is-style-emerald-fill > .wp-element-button:hover,
a.wp-element-button.is-style-emerald-fill:hover {
	background: var(--jrs-emerald-deep); color: #fff; box-shadow: var(--jrs-shadow);
}
.wp-block-button.is-style-neon > .wp-element-button,
a.wp-element-button.is-style-neon {
	background: transparent; color: var(--jrs-cream);
	border: 1.5px solid var(--jrs-gold);
}
.wp-block-button.is-style-neon > .wp-element-button:hover,
a.wp-element-button.is-style-neon:hover {
	background: rgba(200,162,75,0.14); color: #fff; box-shadow: var(--jrs-glow-gold);
}

/* Hero pill CTAs */
.jrs-cta {
	display: inline-block; font-family: var(--wp--preset--font-family--cinzel);
	font-weight: 600; font-size: 0.86rem; letter-spacing: 0.08em; text-transform: uppercase;
	padding: 0.85rem 1.8rem; border-radius: 999px; text-decoration: none;
	transition: transform 0.2s var(--jrs-ease), box-shadow 0.2s var(--jrs-ease), background 0.2s var(--jrs-ease);
}
.jrs-cta--gold { background: var(--jrs-gold); color: var(--jrs-ink); border: 1px solid var(--jrs-gold); }
.jrs-cta--gold:hover { background: var(--jrs-gold-bright); transform: translateY(-2px); box-shadow: var(--jrs-glow-gold); color: var(--jrs-ink); }
.jrs-cta--ghost { background: rgba(11,11,15,0.25); color: var(--jrs-cream); border: 1px solid rgba(245,239,225,0.55); }
.jrs-cta--ghost:hover { border-color: var(--jrs-gold); color: #fff; transform: translateY(-2px); }

/* 5. HEADER — single-tier translucent emerald bar ---------------------- */
.wp-block-template-part:has(> .jrs-site-header) {
	position: sticky; top: 0; z-index: 1000;
}
.jrs-site-header {
	background: linear-gradient(180deg, rgba(10,44,34,0.97), rgba(10,44,34,0.88));
	border-bottom: 1px solid rgba(200,162,75,0.28);
	transition: background 0.3s var(--jrs-ease), box-shadow 0.3s var(--jrs-ease);
}
.jrs-navbar { padding-block: 0.85rem; transition: padding 0.25s var(--jrs-ease); }
.jrs-navbar__inner { gap: 1rem; }

.jrs-brand { gap: 0.7rem; flex-shrink: 0; text-decoration: none; }
.jrs-navbar__logo img,
.jrs-navbar__logo .custom-logo {
	width: 52px; height: auto; transition: width 0.25s var(--jrs-ease);
	filter: drop-shadow(0 2px 6px rgba(0,0,0,0.4));
}
.jrs-brand__text {
	margin: 0; font-family: var(--wp--preset--font-family--cinzel); color: var(--jrs-cream);
	font-size: 0.78rem; letter-spacing: 0.24em; text-transform: uppercase; line-height: 1.3;
}
.jrs-brand__text span { color: var(--jrs-gold-soft); font-size: 0.62rem; letter-spacing: 0.2em; }

.jrs-navbar__right { gap: 1.6rem; }
.jrs-nav a {
	font-family: var(--wp--preset--font-family--cinzel);
	font-size: 0.84rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 500;
	color: var(--jrs-cream); position: relative; padding-block: 5px;
}
.jrs-nav a::after {
	content: ""; position: absolute; left: 0; bottom: 0; height: 1px; width: 0;
	background: var(--jrs-gold); transition: width 0.3s var(--jrs-ease);
}
.jrs-nav a:hover { color: var(--jrs-gold-soft); }
.jrs-nav a:hover::after { width: 100%; }
.jrs-nav .wp-block-navigation-item__content { padding-block: 4px; }
/* WP ships .wp-block-navigation-item__content.wp-block-navigation-item__content{color:inherit}
   (doubled class = high specificity) which forces links to body ink. Beat it. */
.jrs-site-header .jrs-nav .wp-block-navigation-item__content.wp-block-navigation-item__content { color: var(--jrs-cream); }
.jrs-site-header .jrs-nav .wp-block-navigation-item__content.wp-block-navigation-item__content:hover { color: var(--jrs-gold-soft); }
/* mobile overlay menu — full-screen emerald panel, cream links */
.jrs-nav .wp-block-navigation__responsive-container.is-menu-open {
	position: fixed; inset: 0; z-index: 2000; padding: 5.5rem 2rem 2.5rem;
	background: linear-gradient(180deg, var(--jrs-emerald), var(--jrs-emerald-deep)) !important;
}
.jrs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 1.6rem; height: 100%; width: 100%;
}
.jrs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container {
	flex-direction: column; align-items: center; gap: 1.6rem;
}
.jrs-nav .wp-block-navigation__responsive-container.is-menu-open a,
.jrs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	color: var(--jrs-cream); font-size: 1.4rem; letter-spacing: 0.16em;
}
.jrs-nav .wp-block-navigation__responsive-container.is-menu-open a:hover { color: var(--jrs-gold-soft); }
.jrs-nav .wp-block-navigation__responsive-container-open,
.jrs-nav .wp-block-navigation__responsive-container-close { color: var(--jrs-cream); }

.jrs-navbar__right .jrs-status {
	color: var(--jrs-cream); border-color: rgba(200,162,75,0.5);
	background: rgba(14,59,46,0.6);
}

/* scrolled state */
.jrs-site-header.is-scrolled {
	background: rgba(10,44,34,0.98);
	box-shadow: 0 8px 30px -14px rgba(0,0,0,0.6);
}
.jrs-site-header.is-scrolled .jrs-navbar { padding-block: 0.5rem; }
.jrs-site-header.is-scrolled .jrs-navbar__logo img,
.jrs-site-header.is-scrolled .jrs-navbar__logo .custom-logo { width: 42px; }

/* 6. HERO — left-aligned heritage hero --------------------------------- */
.jrs-hero-wrap { margin: 0; }
.jrs-hero {
	position: relative; min-height: 100vh; display: flex; align-items: center;
	overflow: hidden; color: var(--jrs-cream);
}
.jrs-hero__video {
	position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0;
}
.jrs-hero__scrim {
	position: absolute; inset: 0; z-index: 1;
	background:
		radial-gradient(120% 90% at 70% 20%, rgba(10,44,34,0.35), transparent 60%),
		linear-gradient(180deg, rgba(10,44,34,0.78), rgba(10,44,34,0.6) 45%, rgba(7,20,15,0.92));
}
.jrs-hero__inner {
	position: relative; z-index: 2; width: 100%; max-width: 1280px;
	margin: 0 auto; padding: 120px 1.5rem 96px; text-align: left;
}
.jrs-hero__eyebrow {
	font-family: var(--wp--preset--font-family--cinzel); text-transform: uppercase;
	letter-spacing: 0.32em; font-size: 0.82rem; font-weight: 600; color: var(--jrs-gold-soft); margin: 0;
}
.jrs-hero__flourish {
	font-family: var(--wp--preset--font-family--pinyon); color: var(--jrs-gold-soft);
	font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: 1; margin: 0.1rem 0 0;
	text-shadow: 0 2px 18px rgba(200,162,75,0.4);
}
.jrs-hero__title {
	font-family: var(--wp--preset--font-family--cinzel); font-weight: 700; color: #fff;
	font-size: clamp(3rem, 8.5vw, 6.4rem); line-height: 0.98; margin: 0.4rem 0 0;
	letter-spacing: 0.01em; text-shadow: 0 4px 40px rgba(0,0,0,0.5);
}
.jrs-hero__title-2 { color: var(--jrs-gold-soft); }
.jrs-hero__lede {
	font-size: clamp(1.05rem, 2vw, 1.3rem); max-width: 540px; margin: 1.3rem 0 0; color: var(--jrs-cream-dim);
}
.jrs-hero__rule { width: 90px; height: 1px; background: var(--jrs-gold); opacity: 0.85; margin: 1.5rem 0 0; }
.jrs-hero__status { margin-top: 1.6rem; }
.jrs-hero__cta { display: flex; gap: 0.8rem; flex-wrap: wrap; margin-top: 1.4rem; }

.jrs-hero__scroll {
	position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%); z-index: 3;
	display: flex; flex-direction: column; align-items: center; gap: 8px;
	color: var(--jrs-cream); opacity: 0.8;
}
.jrs-hero__scroll-label { font-family: var(--wp--preset--font-family--cinzel); font-size: 0.6rem; letter-spacing: 0.3em; text-transform: uppercase; }
.jrs-hero__scroll-arrow { width: 1px; height: 34px; background: linear-gradient(var(--jrs-gold), transparent); position: relative; }
.jrs-hero__scroll-arrow::after {
	content: ""; position: absolute; bottom: 0; left: 50%; width: 7px; height: 7px;
	border-right: 1px solid var(--jrs-gold); border-bottom: 1px solid var(--jrs-gold);
	transform: translateX(-50%) rotate(45deg); animation: jrs-bob 1.8s infinite;
}
@keyframes jrs-bob {
	0%,100% { transform: translateX(-50%) translateY(0) rotate(45deg); opacity: 0.4; }
	50% { transform: translateX(-50%) translateY(5px) rotate(45deg); opacity: 1; }
}

/* hero staggered load reveal (CSS-only, runs on paint) */
.jrs-hero__inner [class*="jrs-reveal-d"] { opacity: 0; animation: jrs-rise 0.9s var(--jrs-ease) forwards; }
.jrs-hero__inner .jrs-reveal-d1 { animation-delay: 0.15s; }
.jrs-hero__inner .jrs-reveal-d2 { animation-delay: 0.32s; }
.jrs-hero__inner .jrs-reveal-d3 { animation-delay: 0.49s; }
.jrs-hero__inner .jrs-reveal-d4 { animation-delay: 0.66s; }
.jrs-hero__inner .jrs-reveal-d5 { animation-delay: 0.83s; }
@keyframes jrs-rise { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }

/* 7. MARQUEE ------------------------------------------------------------ */
.jrs-marquee {
	position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; display: flex; align-items: stretch;
	background: rgba(8, 8, 12, 0.72); backdrop-filter: blur(6px); border-top: 1px solid var(--jrs-line);
	height: 46px; overflow: hidden;
}
.jrs-marquee__label {
	flex: 0 0 auto; display: flex; align-items: center; padding: 0 1.1rem;
	font-family: var(--wp--preset--font-family--cinzel); font-size: 0.72rem; font-weight: 600;
	text-transform: uppercase; letter-spacing: 0.14em; color: var(--jrs-gold-bright);
	background: rgba(14,59,46,0.6); border-right: 1px solid var(--jrs-line); white-space: nowrap;
	text-shadow: 0 0 12px rgba(232,200,112,0.5);
}
.jrs-marquee__viewport { overflow: hidden; flex: 1 1 auto; display: flex; align-items: center; }
.jrs-marquee__track { display: inline-flex; align-items: center; white-space: nowrap; will-change: transform; animation: jrs-marquee 38s linear infinite; }
.jrs-marquee__item { color: var(--jrs-cream); font-size: 0.84rem; letter-spacing: 0.02em; padding: 0 0.4rem; }
.jrs-marquee__sep { color: var(--jrs-magenta); padding: 0 0.5rem; text-shadow: 0 0 10px rgba(255,45,155,0.7); }
.jrs-marquee:hover .jrs-marquee__track { animation-play-state: paused; }
@keyframes jrs-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* 8. SECTIONS / KICKERS ------------------------------------------------- */
.jrs-kicker {
	font-family: var(--wp--preset--font-family--cinzel); text-transform: uppercase;
	letter-spacing: 0.22em; font-size: 0.76rem; font-weight: 600; color: var(--jrs-gold);
	margin: 0 0 0.6rem;
}
.jrs-kicker--gold { color: var(--jrs-gold-bright); }
.jrs-kicker--neon { color: var(--jrs-gold-bright); text-shadow: 0 1px 3px rgba(0,0,0,0.5); }

/* 9. STATS -------------------------------------------------------------- */
.jrs-stats { border-block: 1px solid rgba(200,162,75,0.25); }
.jrs-stats__row { gap: 1rem; text-align: center; }
.jrs-stats__row .wp-block-column { border-right: 1px solid rgba(245,239,225,0.16); }
.jrs-stats__row .wp-block-column:last-child { border-right: 0; }
.jrs-stat__num {
	font-family: var(--wp--preset--font-family--cinzel); font-weight: 700;
	font-size: clamp(1.45rem, 2.8vw, 2.1rem); color: var(--jrs-gold-bright); margin: 0; line-height: 1.05;
	overflow-wrap: normal; word-break: keep-all; hyphens: none;
}
.jrs-stat__label { font-size: 0.84rem; letter-spacing: 0.04em; opacity: 0.85; margin: 0.3rem 0 0; }

/* 10. ABOUT ------------------------------------------------------------- */
.jrs-about__cols { gap: clamp(1.5rem, 5vw, 4rem); align-items: center; }
.jrs-about__crest img { max-width: 320px; margin-inline: auto; display: block; }

/* 11. MENU TEASE -------------------------------------------------------- */
.jrs-menutease__cols { gap: clamp(1.5rem, 5vw, 3.5rem); }
.jrs-menutease__board img { border-radius: 6px; }
.jrs-tease-list { display: flex; flex-direction: column; gap: 0.2rem; margin-bottom: 1.4rem; }
.jrs-tease-item { border-bottom: 1px dashed rgba(20,19,15,0.18); padding: 0.55rem 0; align-items: baseline; }
.jrs-tease-item__name { margin: 0; font-size: 1.08rem; }
.jrs-tease-item__price { margin: 0; font-family: var(--wp--preset--font-family--cinzel); color: var(--jrs-emerald); font-weight: 600; }
.jrs-tag {
	display: inline-block; font-family: var(--wp--preset--font-family--cinzel); font-size: 0.6rem;
	text-transform: uppercase; letter-spacing: 0.08em; vertical-align: middle;
	background: var(--jrs-gold); color: var(--jrs-ink); padding: 0.12em 0.5em; border-radius: 999px; margin-left: 0.4rem;
}

/* 12. EVENTS — heritage emerald (matches the rest of the site) ---------- */
.jrs-events-band {
	position: relative;
	background:
		radial-gradient(120% 80% at 50% -10%, rgba(200,162,75,0.12), transparent 55%),
		linear-gradient(180deg, var(--jrs-emerald), var(--jrs-emerald-deep) 68%, #07140F);
}
.jrs-events-band > * { position: relative; z-index: 1; }
.jrs-events-band__title {
	font-family: var(--wp--preset--font-family--cinzel); color: var(--jrs-cream); font-weight: 700;
	font-size: clamp(2rem, 5vw, 3rem); margin: 0;
}
.jrs-events-band__sub { opacity: 0.82; margin-top: 0.6rem; }

/* ticker (marquee placed at top of the band) — gold on emerald */
.jrs-events-band .jrs-marquee {
	position: static; height: auto; margin: 0 auto 2.6rem; max-width: 1180px;
	background: transparent; backdrop-filter: none; padding: 0;
	border-top: 1px solid rgba(200,162,75,0.3);
	border-bottom: 1px solid rgba(200,162,75,0.3);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	        mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.jrs-events-band .jrs-marquee__label { display: none; }
.jrs-events-band .jrs-marquee__viewport { padding-block: 0.8rem; }
.jrs-events-band .jrs-marquee__item {
	font-family: var(--wp--preset--font-family--cinzel); text-transform: uppercase;
	letter-spacing: 0.2em; font-size: 0.86rem; color: var(--jrs-gold-soft); padding: 0 0.8rem;
}
.jrs-events-band .jrs-marquee__sep { color: var(--jrs-gold); padding: 0 0.5rem; }

.jrs-events-grid {
	display: grid; gap: 1.2rem;
	grid-template-columns: repeat(auto-fill, minmax(232px, 1fr));
}
.jrs-events-grid--compact { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }

.jrs-ecard {
	display: flex; flex-direction: column; background: var(--jrs-cream); border-radius: 10px;
	overflow: hidden; box-shadow: var(--jrs-shadow); transition: transform 0.25s var(--jrs-ease), box-shadow 0.25s var(--jrs-ease);
	border: 1px solid rgba(20,19,15,0.06);
}
.jrs-ecard:hover { transform: translateY(-5px); }
.jrs-ecard__media { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--jrs-emerald-deep); }
.jrs-ecard__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s var(--jrs-ease); }
.jrs-ecard:hover .jrs-ecard__img { transform: scale(1.05); }
.jrs-ecard__noimg {
	display: grid; place-items: center; width: 100%; height: 100%;
	font-family: var(--wp--preset--font-family--cinzel); font-size: 2.4rem; color: var(--jrs-gold);
	background: linear-gradient(160deg, var(--jrs-emerald), var(--jrs-emerald-deep));
}
.jrs-ecard__date {
	position: absolute; top: 10px; left: 10px; display: grid; text-align: center; line-height: 1;
	background: rgba(10,42,32,0.92); color: var(--jrs-cream); border: 1px solid var(--jrs-line);
	border-radius: 8px; padding: 6px 9px; backdrop-filter: blur(4px);
}
.jrs-ecard__dow { font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--jrs-gold-bright); }
.jrs-ecard__dom { font-family: var(--wp--preset--font-family--cinzel); font-weight: 700; font-size: 0.95rem; margin-top: 2px; }
.jrs-ecard__age {
	position: absolute; top: 10px; right: 10px; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.04em;
	background: var(--jrs-gold); color: var(--jrs-ink); padding: 3px 7px; border-radius: 999px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.jrs-ecard__body { padding: 0.9rem 1rem 1.1rem; display: flex; flex-direction: column; gap: 0.35rem; flex: 1; }
.jrs-ecard__title { font-family: var(--wp--preset--font-family--cinzel); font-size: 1.05rem; line-height: 1.2; margin: 0; color: var(--jrs-emerald); }
.jrs-ecard__meta { display: flex; flex-wrap: wrap; gap: 0.2rem 0.7rem; margin: 0; font-size: 0.82rem; opacity: 0.8; }
.jrs-ecard__venue { color: var(--jrs-emerald); font-weight: 600; }
.jrs-ecard__cta { margin-top: auto; font-family: var(--wp--preset--font-family--cinzel); font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--jrs-gold); text-decoration: none; }
.jrs-ecard__cta:hover { color: var(--jrs-emerald); }

/* event cards on the emerald band — gold-framed heritage */
.jrs-events-band .jrs-ecard {
	background: rgba(245,239,225,0.05);
	border: 1px solid rgba(200,162,75,0.35); box-shadow: none;
}
.jrs-events-band .jrs-ecard__title { color: var(--jrs-cream); }
.jrs-events-band .jrs-ecard__meta { color: var(--jrs-cream-dim); opacity: 0.9; }
.jrs-events-band .jrs-ecard__venue { color: var(--jrs-gold-soft); }
.jrs-events-band .jrs-ecard:hover {
	transform: translateY(-6px); border-color: var(--jrs-gold); box-shadow: var(--jrs-glow-gold);
}

.jrs-events-cta { text-align: center; margin-top: 2.6rem; }

/* weekly */
.jrs-weekly { max-width: 640px; margin: 0 auto 2rem; }
.jrs-weekly__title { text-align: center; color: var(--jrs-gold-bright); font-family: var(--wp--preset--font-family--cinzel); margin: 0 0 1rem; }
.jrs-weekly__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.4rem; }
.jrs-weekly__item {
	display: grid; grid-template-columns: 7rem 1fr auto; align-items: baseline; gap: 0.4rem 1rem;
	padding: 0.7rem 1rem; border: 1px solid rgba(245,239,225,0.14); border-radius: 8px; background: rgba(245,239,225,0.04);
}
.jrs-weekly__item.is-today { border-color: var(--jrs-gold); box-shadow: var(--jrs-glow-gold); }
.jrs-weekly__day { font-family: var(--wp--preset--font-family--cinzel); text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.78rem; color: var(--jrs-gold-bright); }
.jrs-weekly__name { font-size: 1.05rem; color: #fff; }
.jrs-weekly__time { font-family: var(--wp--preset--font-family--cinzel); color: var(--jrs-gold-soft); }
.jrs-weekly__note { grid-column: 2 / -1; font-size: 0.82rem; opacity: 0.7; }
.jrs-events-note { text-align: center; color: var(--jrs-cream-dim); opacity: 0.78; font-size: 0.95rem; font-style: italic; margin: 1.8rem auto 0; max-width: 540px; }
.jrs-events-empty { text-align: center; color: var(--jrs-cream); font-size: 1.15rem; line-height: 1.65; max-width: 560px; margin: 0.5rem auto 0; opacity: 0.92; }

/* strip */
.jrs-strip { margin-top: 2.4rem; }
.jrs-strip__title { text-align: center; color: #fff; font-family: var(--wp--preset--font-family--cinzel); margin: 0 0 0.2rem; }
.jrs-strip__sub { text-align: center; opacity: 0.72; margin: 0 0 1.4rem; font-size: 0.9rem; }

/* 13. ACCOLADES --------------------------------------------------------- */
.jrs-pullquote { margin-bottom: var(--wp--preset--spacing--60); }
.jrs-pullquote__mark { font-family: var(--wp--preset--font-family--pinyon); font-size: 5rem; line-height: 0.4; color: var(--jrs-gold); margin: 0 0 0.6rem; }
.jrs-pullquote__text { font-size: clamp(1.6rem, 4vw, 2.6rem); margin: 0; }
.jrs-pullquote__cite { font-style: italic; opacity: 0.7; margin-top: 0.8rem; }
.jrs-accolades__cols { gap: clamp(1.4rem, 4vw, 3rem); text-align: center; }
.jrs-accolades__cols h3 { margin-bottom: 0.4rem; }

/* 14. FIND US ----------------------------------------------------------- */
.jrs-findus__banner { color: var(--jrs-cream); }
.jrs-findus__title { color: #fff; font-family: var(--wp--preset--font-family--cinzel); font-size: clamp(2rem, 5vw, 3.2rem); margin: 0; text-shadow: 0 2px 24px rgba(0,0,0,0.5); }
.jrs-findus__cols { gap: clamp(1.4rem, 4vw, 3rem); }
.jrs-map { border-radius: 10px; overflow: hidden; box-shadow: var(--jrs-shadow); min-height: 320px; height: 100%; border: 1px solid var(--jrs-line); }
.jrs-map iframe { display: block; min-height: 320px; height: 100%; }
.jrs-map--tall iframe, .jrs-map--tall { min-height: 420px; }
.jrs-findus__addr { font-size: 1.15rem; }
.jrs-findus__hours { line-height: 1.8; }
.jrs-findus__note { font-size: 0.92rem; opacity: 0.85; }
.jrs-findus__ig a { font-family: var(--wp--preset--font-family--cinzel); text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.8rem; }

/* 15. VISIT ------------------------------------------------------------- */
.jrs-visit__title { color: var(--jrs-gold-bright); font-size: clamp(2.6rem, 7vw, 4.4rem); margin: 0.2rem 0 0.6rem; }
.jrs-visit .wp-block-buttons { margin-top: 1.6rem; }

/* 16. FOOD MENU --------------------------------------------------------- */
.jrs-page-head__hours { font-family: var(--wp--preset--font-family--cinzel); letter-spacing: 0.04em; color: var(--jrs-emerald); opacity: 0.85; }
.jrs-menu-grid { columns: 3 280px; column-gap: 2rem; }
.jrs-menu-card { break-inside: avoid; margin-bottom: 2rem; padding: 1.4rem 1.5rem; background: #fff; border: 1px solid var(--jrs-line); border-radius: 8px; box-shadow: 0 14px 40px -30px rgba(10,42,32,0.5); }
.jrs-menu-card__title { font-family: var(--wp--preset--font-family--cinzel); color: var(--jrs-emerald); font-size: 1.3rem; margin: 0 0 0.8rem; display: flex; align-items: baseline; gap: 0.4rem; border-bottom: 2px solid var(--jrs-gold); padding-bottom: 0.4rem; }
.jrs-menu-card__title--mt { margin-top: 1.6rem; }
.jrs-menu-card__base { font-family: var(--wp--preset--font-family--eb-garamond); font-size: 1rem; color: var(--jrs-gold); font-weight: 600; margin-left: auto; }
.jrs-menu-card__star { color: var(--jrs-gold); }
.jrs-mi { display: flex; align-items: baseline; justify-content: space-between; gap: 0.5rem; padding: 0.32rem 0; }
.jrs-mi__name { font-size: 1.04rem; }
.jrs-mi__price { font-family: var(--wp--preset--font-family--cinzel); color: var(--jrs-emerald); font-weight: 600; white-space: nowrap; }
.jrs-menu-card__note { font-size: 0.82rem; opacity: 0.75; margin: 0.5rem 0 0; font-style: italic; }
.jrs-menu-card__note--lead { margin-top: 0; }
.jrs-menu-card__seal { font-family: var(--wp--preset--font-family--cinzel); text-align: center; color: var(--jrs-gold); font-size: 1.6rem; opacity: 0.5; margin-top: 1rem; }
.jrs-menu-foot { text-align: center; font-style: italic; opacity: 0.8; margin-top: 0.5rem; }
.jrs-board-img img { max-width: 760px; }
.jrs-menu-board-band .jrs-board-img { margin-block: 1.4rem; }

/* 17. PRIDE CTA --------------------------------------------------------- */
.jrs-pride-cta { text-align: center; }
.jrs-pride-hairline { height: 4px; width: 160px; margin: 0 auto 1.6rem; border-radius: 4px;
	background: linear-gradient(90deg, #E40303, #FF8C00, #FFED00, #008026, #004DFF, #750787); }

/* 18. STORY ------------------------------------------------------------- */
.jrs-story { font-size: 1.12rem; }
.jrs-story__lede { font-size: 1.32rem; line-height: 1.6; color: var(--jrs-emerald); }
.jrs-story__crest { margin-block: 2rem; }
.jrs-story__quote { border: 0; text-align: center; font-family: var(--wp--preset--font-family--pinyon); font-size: 2.2rem; color: var(--jrs-gold); margin-block: 2rem; }
.jrs-story__quote p { margin: 0; }

/* 19. FOOTER ------------------------------------------------------------ */
.jrs-footer { padding-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--40); }
.jrs-footer a { color: var(--jrs-cream); text-decoration: none; opacity: 0.85; }
.jrs-footer a:hover { color: var(--jrs-gold-bright); opacity: 1; }

/* centered brand topper */
.jrs-footer__brand { text-align: center; margin-bottom: var(--wp--preset--spacing--50); }
.jrs-footer__crest { margin: 0 auto 1rem; }
.jrs-footer__crest img { filter: drop-shadow(0 6px 18px rgba(0,0,0,0.5)); }
.jrs-footer__tagline {
	font-family: var(--wp--preset--font-family--cinzel); text-transform: uppercase;
	letter-spacing: 0.26em; font-size: 1rem; color: var(--jrs-gold-soft); margin: 0;
}
.jrs-footer__flourish {
	font-family: var(--wp--preset--font-family--pinyon); color: var(--jrs-cream-dim);
	font-size: 1.9rem; line-height: 1; margin: 0.2rem 0 1.1rem;
}
.jrs-footer__brand .jrs-hairline { max-width: 340px; margin: 0 auto; }
.jrs-footer__cols { gap: 1.5rem; }
.jrs-footer__tag { font-size: 0.95rem; opacity: 0.85; line-height: 1.6; }
.jrs-footer__h { color: var(--jrs-gold-bright); font-size: 1rem; text-transform: uppercase; letter-spacing: 0.1em; margin: 0 0 0.8rem; }
.jrs-footer__links { list-style: none; margin: 0; padding: 0; line-height: 2; }
.jrs-footer__social .wp-social-link { background: transparent !important; }
.jrs-footer__bar { border-top: 1px solid rgba(245,239,225,0.16); margin-top: var(--wp--preset--spacing--50); padding-top: 1.2rem; opacity: 0.75; }

/* 20. STATUS PILL ------------------------------------------------------- */
.jrs-status { display: inline-flex; align-items: center; gap: 0.45rem; font-family: var(--wp--preset--font-family--cinzel); font-size: 0.74rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; padding: 0.3rem 0.8rem; border-radius: 999px; border: 1px solid currentColor; }
.jrs-status__dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 8px currentColor; }
.jrs-status.is-open { color: #51d68a; }
.jrs-status.is-closed { color: #d98a8a; }
.jrs-hero__status .jrs-status, .jrs-findus__banner .jrs-status { background: rgba(11,11,15,0.35); }
.jrs-status.is-open .jrs-status__dot { animation: jrs-pulse 2s ease-in-out infinite; }
@keyframes jrs-pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.4; } }

/* 21. MOTION / REVEAL --------------------------------------------------- */
.jrs-js .jrs-reveal { opacity: 0; transform: translateY(26px); }
.jrs-js .jrs-reveal.is-in { opacity: 1; transform: none; transition: opacity 0.7s var(--jrs-ease), transform 0.7s var(--jrs-ease); }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.jrs-js .jrs-reveal { opacity: 1 !important; transform: none !important; }
	.jrs-hero__inner [class*="jrs-reveal-d"] { opacity: 1 !important; transform: none !important; animation: none !important; }
	.jrs-marquee__track, .jrs-hero__scroll-arrow::after, .jrs-ticker__track,
	.jrs-status.is-open .jrs-status__dot { animation: none !important; }
	.jrs-ecard, .jrs-cta, .jrs-ecard__img { transition: none !important; }
}

/* 22. RESPONSIVE -------------------------------------------------------- */
@media (max-width: 900px) {
	.jrs-stats__row { display: grid; grid-template-columns: 1fr 1fr; }
	.jrs-stats__row .wp-block-column:nth-child(2) { border-right: 0; }
	.jrs-stats__row .wp-block-column { border-bottom: 1px solid rgba(245,239,225,0.16); padding-bottom: 1rem; }
	.jrs-menu-grid { columns: 2 240px; }
}
@media (max-width: 781px) {
	.jrs-navbar__logo { padding: 4px 8px; }
	.jrs-nav { background: rgba(245,239,225,0.98); }
	.jrs-topbar { font-size: 0.74rem; }
	.jrs-topbar__inner { justify-content: center; }
	.jrs-hero { min-height: 88vh; }
	.jrs-weekly__item { grid-template-columns: 1fr; gap: 0.1rem; text-align: left; }
	.jrs-weekly__note { grid-column: 1; }
}
@media (max-width: 600px) {
	.jrs-stats__row { grid-template-columns: 1fr; }
	.jrs-stats__row .wp-block-column { border-right: 0; }
	.jrs-menu-grid { columns: 1; }
	.jrs-marquee__label { font-size: 0.64rem; padding: 0 0.7rem; }
	.jrs-hero__sub { letter-spacing: 0.2em; }
}
