@font-face {
    font-family: "Joker Display";
    src: url("../fonts/barlow-condensed-700-latin.woff2") format("woff2");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "Joker Display";
    src: url("../fonts/barlow-condensed-600-latin.woff2") format("woff2");
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: "Joker Sans";
    src: url("../fonts/manrope-latin.woff2") format("woff2");
    font-style: normal;
    font-weight: 300 800;
    font-display: swap;
}

:root {
    --pj-black: #10100f;
    --pj-cream: #f4e7cf;
    --pj-red: #e63d2e;
    --pj-black-88: rgba(16, 16, 15, .88);
    --pj-black-68: rgba(16, 16, 15, .68);
    --pj-black-22: rgba(16, 16, 15, .22);
    --pj-black-12: rgba(16, 16, 15, .12);
    --pj-cream-78: rgba(244, 231, 207, .78);
    --pj-cream-20: rgba(244, 231, 207, .2);
    --pj-page: 1340px;
    --pj-content: 1160px;
    --pj-gutter: 38px;
    --pj-header: 108px;
    --pj-focus: 0 0 0 3px rgba(230, 61, 46, .36);
    --pj-ease: cubic-bezier(.2, .75, .2, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--pj-header) + 18px); }

body.pj-theme {
    min-width: 320px;
    margin: 0;
    overflow-x: clip;
    background: var(--pj-cream);
    color: var(--pj-black);
    font-family: "Joker Sans", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0;
    text-rendering: optimizeLegibility;
}

body.pj-menu-open,
body.pj-cart-open { overflow: hidden; }
.pj-theme img,
.pj-theme svg { display: block; max-width: 100%; }
.pj-theme a { color: inherit; text-decoration: none; }
.pj-theme button,
.pj-theme input,
.pj-theme select,
.pj-theme textarea { font: inherit; letter-spacing: 0; }
.pj-theme button,
.pj-theme a { -webkit-tap-highlight-color: transparent; }
.pj-theme h1,
.pj-theme h2,
.pj-theme h3,
.pj-theme h4 { margin: 0; font-family: "Joker Display", Impact, sans-serif; font-weight: 700; line-height: .92; letter-spacing: 0; text-transform: uppercase; }
.pj-theme p { margin: 0; }
.pj-theme :focus-visible { outline: 0; box-shadow: var(--pj-focus); }
.pj-main { min-height: calc(100svh - var(--pj-header)); }

.pj-skip-link { position: fixed; z-index: 5000; top: 10px; left: 10px; padding: 11px 16px; background: var(--pj-red); color: var(--pj-cream) !important; transform: translate3d(0, -160%, 0); transition: transform .18s ease; }
.pj-skip-link:focus { transform: translate3d(0, 0, 0); }
.pj-kicker,
.pj-eyebrow { display: block; margin: 0 0 13px; color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: .84rem; font-weight: 700; line-height: 1; text-transform: uppercase; }

.pj-button,
.pj-order-button,
.pj-checkout-button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 0 24px; border: 2px solid transparent; border-radius: 0; font-family: "Joker Display", Impact, sans-serif; font-size: .9rem; font-weight: 700; text-transform: uppercase; transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .14s ease; }
.pj-button:hover,
.pj-order-button:hover,
.pj-checkout-button:hover { transform: translate3d(0, -2px, 0); }
.pj-button.is-pressed,
.pj-order-button.is-pressed,
.pj-checkout-button.is-pressed { transform: translate3d(0, 1px, 0) scale(.99); }
.pj-button--red,
.pj-order-button,
.pj-checkout-button { background: var(--pj-red); color: var(--pj-cream) !important; }
.pj-button--red:hover,
.pj-order-button:hover,
.pj-checkout-button:hover { border-color: var(--pj-red); background: var(--pj-cream); color: var(--pj-black) !important; }
.pj-button--cream { border-color: var(--pj-cream); background: var(--pj-cream); color: var(--pj-black) !important; }
.pj-button--cream:hover { background: transparent; color: var(--pj-cream) !important; }
.pj-button--dark { border-color: var(--pj-black); background: var(--pj-black); color: var(--pj-cream) !important; }
.pj-text-link { width: max-content; min-height: 42px; display: inline-flex; align-items: center; border-bottom: 2px solid currentColor; font-family: "Joker Display", Impact, sans-serif; font-size: .88rem; font-weight: 700; text-transform: uppercase; transition: color .18s ease, transform .18s ease; }
.pj-text-link:hover { color: var(--pj-red); transform: translate3d(4px, 0, 0); }

/* Ticket header */
.pj-header { position: sticky; z-index: 1000; top: 0; height: var(--pj-header); padding: 14px var(--pj-gutter); background: var(--pj-black); }
.pj-header__ticket { position: relative; width: min(var(--pj-page), 100%); height: 80px; margin: auto; display: grid; grid-template-columns: minmax(220px, 1fr) auto minmax(300px, 1fr); align-items: center; gap: 30px; padding: 0 24px; background: var(--pj-cream); clip-path: polygon(0 12px, 12px 0, calc(100% - 12px) 0, 100% 12px, 100% calc(100% - 12px), calc(100% - 12px) 100%, 12px 100%, 0 calc(100% - 12px)); transition: transform .22s ease; }
.pj-header.is-scrolled .pj-header__ticket { transform: translate3d(0, -4px, 0); }
.pj-brand { width: max-content; display: flex; align-items: center; gap: 11px; }
.pj-brand > b { width: 44px; height: 50px; display: grid; place-items: center; background: var(--pj-red); color: var(--pj-cream); font-family: "Joker Display", Impact, sans-serif; font-size: 2rem; line-height: 1; }
.pj-brand > span { display: grid; }
.pj-brand strong { font-family: "Joker Display", Impact, sans-serif; font-size: 1.45rem; line-height: .9; }
.pj-brand small { margin-top: 7px; font-size: .52rem; font-weight: 800; text-transform: uppercase; }
.pj-nav { display: flex; align-items: center; justify-content: center; gap: 31px; }
.pj-nav a,
.pj-account-link { position: relative; min-height: 42px; display: inline-flex; align-items: center; font-family: "Joker Display", Impact, sans-serif; font-size: .82rem; font-weight: 700; text-transform: uppercase; }
.pj-nav a::after,
.pj-account-link::after { content: ""; position: absolute; right: 0; bottom: 5px; left: 0; height: 2px; background: var(--pj-red); transform: scaleX(0); transform-origin: right; transition: transform .2s ease; }
.pj-nav a:hover::after,
.pj-account-link:hover::after { transform: scaleX(1); transform-origin: left; }
.pj-header__actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.pj-cart-link { position: relative; min-height: 44px; display: inline-flex; align-items: center; gap: 8px; padding: 0 8px; font-family: "Joker Display", Impact, sans-serif; font-size: .82rem; font-weight: 700; text-transform: uppercase; }
.pj-cart-icon { position: relative; width: 18px; height: 14px; display: block; border: 2px solid currentColor; border-top: 0; }
.pj-cart-icon::before { content: ""; position: absolute; top: -6px; left: 3px; width: 8px; height: 6px; border: 2px solid currentColor; border-bottom: 0; }
[data-pj-cart-count] { position: absolute; top: -1px; right: -3px; min-width: 20px; height: 20px; display: grid; place-items: center; padding: 0 5px; border-radius: 999px; background: var(--pj-red); color: var(--pj-cream); font-family: "Joker Sans", Arial, sans-serif; font-size: .61rem; transform-origin: center; }
[data-pj-cart-count].is-pop { animation: pj-badge-pop .34s var(--pj-ease); }
[data-pj-cart-count].is-drop { animation: pj-badge-drop .3s var(--pj-ease); }
[data-pj-cart-count].is-fade { animation: pj-badge-fade .24s ease forwards; }
@keyframes pj-badge-pop { 0% { transform: scale(.5); opacity: .2; } 65% { transform: scale(1.25); opacity: 1; } 100% { transform: scale(1); opacity: 1; } }
@keyframes pj-badge-drop { 0% { transform: scale(1); } 55% { transform: scale(.7); } 100% { transform: scale(1); } }
@keyframes pj-badge-fade { to { transform: scale(.25); opacity: 0; } }
.pj-menu-toggle { position: relative; width: 44px; height: 44px; display: none; place-items: center; border: 0; background: transparent; color: var(--pj-black); }
.pj-menu-toggle span { position: absolute; width: 24px; height: 2px; background: currentColor; transition: transform .2s ease; }
.pj-menu-toggle span:first-child { transform: translate3d(0, -4px, 0); }
.pj-menu-toggle span:last-child { transform: translate3d(0, 4px, 0); }
.pj-menu-toggle[aria-expanded="true"] span:first-child { transform: rotate(45deg); }
.pj-menu-toggle[aria-expanded="true"] span:last-child { transform: rotate(-45deg); }
.pj-menu-overlay,
.pj-cart-overlay { position: fixed; z-index: 1090; inset: 0; background: rgba(16, 16, 15, .72); opacity: 0; transition: opacity .27s ease; }
.pj-menu-overlay.is-open,
.pj-cart-overlay.is-open { opacity: 1; }
.pj-mobile-menu { position: fixed; z-index: 1100; top: 0; right: 0; bottom: 0; width: min(430px, 94vw); display: flex; flex-direction: column; background: var(--pj-cream); color: var(--pj-black); transform: translate3d(100%, 0, 0); transition: transform .27s var(--pj-ease); }
.pj-mobile-menu.is-open { transform: translate3d(0, 0, 0); }
.pj-mobile-menu__head { min-height: 90px; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; border-bottom: 2px solid var(--pj-black); }
.pj-mobile-menu__head button { position: relative; width: 44px; height: 44px; border: 0; background: transparent; }
.pj-mobile-menu__head button span { position: absolute; top: 21px; left: 9px; width: 26px; height: 2px; background: var(--pj-black); transform: rotate(45deg); }
.pj-mobile-menu__head button span:last-child { transform: rotate(-45deg); }
.pj-mobile-menu__links { flex: 1; padding: 14px 24px; overflow-y: auto; }
.pj-mobile-menu__links a { min-height: 62px; display: grid; grid-template-columns: 40px 1fr; align-items: center; border-bottom: 1px dashed var(--pj-black-22); font-family: "Joker Display", Impact, sans-serif; font-size: 1.7rem; text-transform: uppercase; }
.pj-mobile-menu__links a span { color: var(--pj-red); font-family: "Joker Sans", Arial, sans-serif; font-size: .62rem; font-weight: 800; }
.pj-mobile-menu__foot { display: grid; gap: 5px; padding: 22px 24px; background: var(--pj-red); color: var(--pj-cream); }
.pj-mobile-menu__foot b { font-size: .72rem; }
.pj-mobile-menu__foot a { font-family: "Joker Display", Impact, sans-serif; font-size: 1.2rem; }

/* Home poster */
.pj-home-page .pj-main { background: var(--pj-black); color: var(--pj-cream); }
.pj-hero { width: min(var(--pj-page), calc(100% - 2 * var(--pj-gutter))); min-height: 720px; margin: auto; display: grid; grid-template-columns: minmax(420px, .9fr) minmax(500px, 1.1fr); gap: 48px; padding: 32px 0 74px; }
.pj-hero__copy { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 30px 0; }
.pj-hero h1 { display: grid; font-size: 5.2rem; line-height: .82; }
.pj-hero h1 span:nth-child(2) { color: var(--pj-red); }
.pj-hero__copy > p:not(.pj-kicker) { max-width: 500px; margin-top: 26px; color: var(--pj-cream-78); font-size: 1rem; }
.pj-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.pj-hero__status { width: min(480px, 100%); display: grid; grid-template-columns: 90px 1fr; margin-top: 54px; padding: 15px 0; border-top: 1px dashed var(--pj-cream-20); border-bottom: 1px dashed var(--pj-cream-20); font-size: .74rem; }
.pj-hero__status span { color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; text-transform: uppercase; }
.pj-hero__card { position: relative; min-width: 0; margin: 0; overflow: hidden; border: 9px solid var(--pj-cream); background: var(--pj-cream); color: var(--pj-black); transform: rotate(1deg); }
.pj-hero__card > img { width: 100%; height: 100%; object-fit: cover; }
.pj-hero__rank { position: absolute; top: 20px; left: 20px; display: grid; justify-items: center; color: var(--pj-cream); font-family: "Joker Display", Impact, sans-serif; font-size: 4rem; line-height: .75; text-shadow: 0 2px 14px rgba(16, 16, 15, .45); }
.pj-hero__rank i { color: var(--pj-red); font-size: 1.2rem; font-style: normal; }
.pj-hero__card figcaption { position: absolute; right: 20px; bottom: 20px; min-width: 260px; display: grid; padding: 19px 22px; border-right: 8px solid var(--pj-red); background: var(--pj-black-88); color: var(--pj-cream); }
.pj-hero__card figcaption small { color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: .72rem; text-transform: uppercase; }
.pj-hero__card figcaption strong { margin-top: 4px; font-family: "Joker Display", Impact, sans-serif; font-size: 1.7rem; line-height: 1; text-transform: uppercase; }
.pj-hero__card figcaption span { margin-top: 5px; color: var(--pj-cream-78); font-size: .66rem; }
.pj-proof-strip { min-height: 64px; display: grid; grid-template-columns: repeat(4, 1fr); background: var(--pj-red); color: var(--pj-cream); }
.pj-proof-strip > span { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 12px 20px; border-right: 1px dashed var(--pj-cream-20); font-family: "Joker Display", Impact, sans-serif; font-size: .9rem; text-transform: uppercase; }
.pj-proof-strip b { color: var(--pj-black); font-family: "Joker Sans", Arial, sans-serif; font-size: .65rem; }

.pj-picks { padding: 105px var(--pj-gutter) 120px; background: var(--pj-cream); color: var(--pj-black); }
.pj-picks > header { width: min(var(--pj-content), 100%); margin: 0 auto 60px; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 30px; }
.pj-picks > header .pj-kicker { grid-column: 1 / 3; }
.pj-picks h2 { font-size: 4rem; }
.pj-picks > header > a { border-bottom: 2px solid currentColor; font-family: "Joker Display", Impact, sans-serif; font-size: .9rem; text-transform: uppercase; }
.pj-picks__deck { width: min(var(--pj-content), 100%); min-height: 410px; margin: auto; display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; gap: 30px; }
.pj-pick { position: relative; min-height: 340px; display: flex; flex-direction: column; justify-content: space-between; padding: 28px; border: 3px solid var(--pj-black); background: var(--pj-cream); color: var(--pj-black); transition: transform .25s var(--pj-ease), background-color .2s ease, color .2s ease; }
.pj-pick::before { content: ""; position: absolute; inset: 8px; border: 1px solid currentColor; opacity: .35; pointer-events: none; }
.pj-pick > span { align-self: flex-start; font-family: "Joker Display", Impact, sans-serif; font-size: 3.2rem; line-height: 1; }
.pj-pick small { color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: .72rem; text-transform: uppercase; }
.pj-pick h3 { margin: 8px 0 12px; font-size: 2.4rem; }
.pj-pick p { color: var(--pj-black-68); font-size: .82rem; }
.pj-pick > b { align-self: flex-end; color: var(--pj-red); font-size: 1.1rem; }
.pj-pick--one { transform: rotate(-2deg); }
.pj-pick--two { min-height: 390px; background: var(--pj-red); color: var(--pj-cream); transform: translate3d(0, -10px, 0); }
.pj-pick--two small,
.pj-pick--two > b { color: var(--pj-black); }
.pj-pick--two p { color: var(--pj-cream-78); }
.pj-pick--three { transform: rotate(2deg); }
.pj-pick:hover { z-index: 2; background: var(--pj-black); color: var(--pj-cream); transform: translate3d(0, -12px, 0) rotate(0); }
.pj-pick:hover p { color: var(--pj-cream-78); }

.pj-trio { min-height: 650px; display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(380px, .72fr); background: var(--pj-cream); color: var(--pj-black); }
.pj-trio figure { margin: 0; overflow: hidden; }
.pj-trio figure img { width: 100%; height: 100%; object-fit: cover; }
.pj-trio > div { display: flex; flex-direction: column; justify-content: center; padding: 70px clamp(42px, 6vw, 94px); border-top: 3px solid var(--pj-black); border-bottom: 3px solid var(--pj-black); }
.pj-trio h2 { font-size: 4rem; }
.pj-trio > div > p:not(.pj-kicker) { margin: 22px 0 30px; color: var(--pj-black-68); }
.pj-trio .pj-button { align-self: flex-start; }

.pj-how { padding: 105px var(--pj-gutter); background: var(--pj-black); color: var(--pj-cream); }
.pj-how > header,
.pj-how ol { width: min(var(--pj-content), 100%); margin-right: auto; margin-left: auto; }
.pj-how > header { margin-bottom: 48px; }
.pj-how h2 { font-size: 4rem; }
.pj-how ol { padding: 0; list-style: none; border-top: 2px solid var(--pj-cream); }
.pj-how li { min-height: 128px; display: grid; grid-template-columns: 100px minmax(0, 1fr); align-items: center; gap: 24px; padding: 20px 0; border-bottom: 1px dashed var(--pj-cream-20); }
.pj-how li > span { color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: 2rem; }
.pj-how li > div { display: grid; grid-template-columns: minmax(220px, .65fr) 1fr; align-items: center; gap: 40px; }
.pj-how h3 { font-size: 2.25rem; }
.pj-how li p { max-width: 560px; color: var(--pj-cream-78); }

.pj-reviews { padding: 90px max(var(--pj-gutter), calc((100vw - var(--pj-content)) / 2)); display: grid; grid-template-columns: .65fr 1fr 1fr; gap: 56px; background: var(--pj-cream); color: var(--pj-black); }
.pj-reviews > div { padding-right: 45px; border-right: 2px solid var(--pj-black); }
.pj-reviews h2 { font-size: 3.4rem; }
.pj-reviews > div > span { display: block; margin-top: 12px; color: var(--pj-red); }
.pj-reviews small { display: block; margin-top: 4px; color: var(--pj-black-68); }
.pj-reviews blockquote { margin: 0; padding-top: 20px; border-top: 2px solid var(--pj-black); font-family: "Joker Display", Impact, sans-serif; font-size: 1.45rem; line-height: 1.15; text-transform: uppercase; }
.pj-final { display: flex; align-items: end; justify-content: space-between; gap: 50px; padding: 80px max(var(--pj-gutter), calc((100vw - var(--pj-content)) / 2)); background: var(--pj-red); color: var(--pj-cream); }
.pj-final .pj-kicker { color: var(--pj-black); }
.pj-final h2 { max-width: 700px; font-size: 4rem; }
.pj-final__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; }

/* Footer */
.pj-footer { background: var(--pj-black); color: var(--pj-cream); }
.pj-footer__marquee { min-height: 48px; display: flex; align-items: center; justify-content: space-around; gap: 20px; padding: 10px var(--pj-gutter); background: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: 1rem; text-transform: uppercase; }
.pj-footer__marquee i { color: var(--pj-black); font-style: normal; }
.pj-footer__inner { width: min(var(--pj-content), calc(100% - 2 * var(--pj-gutter))); margin: auto; padding: 68px 0; display: grid; grid-template-columns: 1.45fr 1fr 1fr .9fr; gap: 50px; }
.pj-footer__brand { display: flex; align-items: flex-start; gap: 18px; }
.pj-footer__brand > b { width: 60px; height: 74px; display: grid; place-items: center; flex: 0 0 auto; background: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: 3rem; }
.pj-footer__brand strong { display: block; font-family: "Joker Display", Impact, sans-serif; font-size: 2rem; line-height: .9; }
.pj-footer__brand span { display: block; margin-top: 8px; color: var(--pj-cream-78); font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.pj-footer__brand p { max-width: 330px; margin-top: 20px; color: var(--pj-cream-78); font-size: .8rem; }
.pj-footer__column { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.pj-footer__column h2 { margin-bottom: 11px; color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: .84rem; text-transform: uppercase; }
.pj-footer__column address,
.pj-footer__column p { margin: 0; color: var(--pj-cream-78); font-size: .8rem; font-style: normal; }
.pj-footer__column a { min-height: 30px; font-size: .8rem; border-bottom: 1px solid transparent; }
.pj-footer__column a:hover { border-color: currentColor; }
.pj-footer__bottom { width: min(var(--pj-content), calc(100% - 2 * var(--pj-gutter))); margin: auto; padding: 18px 0 24px; display: flex; justify-content: space-between; gap: 24px; border-top: 1px dashed var(--pj-cream-20); color: var(--pj-cream-78); font-size: .67rem; }
.pj-footer__bottom nav { display: flex; gap: 22px; }

/* Menu and cart */
.pj-menu-page-body { background: var(--pj-cream); }
.pj-menu-intro { min-height: 280px; display: flex; align-items: end; justify-content: space-between; gap: 40px; padding: 52px max(var(--pj-gutter), calc((100vw - var(--pj-page)) / 2)); background: var(--pj-red); color: var(--pj-cream); }
.pj-menu-intro .pj-kicker { color: var(--pj-black); }
.pj-menu-intro h1 { max-width: 820px; font-size: 4.5rem; }
.pj-menu-intro__status { width: min(350px, 100%); display: grid; grid-template-columns: 88px 1fr; border-top: 2px solid var(--pj-cream); border-bottom: 2px solid var(--pj-cream); }
.pj-menu-intro__status span,
.pj-menu-intro__status strong { padding: 13px 0; font-size: .72rem; }
.pj-menu-intro__status span { color: var(--pj-black); font-family: "Joker Display", Impact, sans-serif; text-transform: uppercase; }
.pj-order-context { width: min(var(--pj-page), calc(100% - 2 * var(--pj-gutter))); margin: 30px auto; display: grid; grid-template-columns: 1.15fr .85fr; border: 2px solid var(--pj-black); }
.pj-order-context > div { min-width: 0; padding: 18px 24px; }
.pj-order-context > div + div { border-left: 2px dashed var(--pj-black-22); }
.pj-order-context > div > span { display: block; margin-bottom: 7px; color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: .72rem; text-transform: uppercase; }
.pj-local-header { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: 14px; }
.pj-local-header:has(> figure) { grid-template-columns: 60px minmax(0, 1fr); }
.pj-local-header figure { width: 60px; margin: 0; overflow: hidden; }
.pj-local-header figure img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.pj-local-header__body { min-width: 0; }
.pj-local-header__body > div { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.pj-local-header h2 { font-size: 1.35rem; }
.pj-local-header__body span { display: inline-flex; align-items: center; gap: 6px; color: var(--pj-black-68); font-size: .67rem; }
.pj-local-header__body span i { width: 7px; height: 7px; background: var(--pj-red); transform: rotate(45deg); }
.pj-local-header address { display: inline; margin-right: 10px; color: var(--pj-black-68); font-size: .7rem; font-style: normal; }
.pj-local-header__body > a { font-size: .68rem; text-decoration: underline; }
.pj-order-context .btn,
.pj-order-context .dropdown-toggle { min-height: 46px !important; border: 2px solid var(--pj-black) !important; border-radius: 0 !important; background: transparent !important; color: var(--pj-black) !important; box-shadow: none !important; }
.pj-category-rail { position: sticky; z-index: 70; top: var(--pj-header); background: var(--pj-black); overflow-x: auto; scrollbar-width: none; }
.pj-category-rail::-webkit-scrollbar { display: none; }
.pj-category-rail #navbar-categories,
.pj-category-rail .nav,
.pj-category-rail .navbar-nav { width: min(var(--pj-page), calc(100% - 2 * var(--pj-gutter))); min-width: max-content; margin: auto; display: flex !important; flex-wrap: nowrap !important; gap: 32px !important; padding: 0 !important; }
.pj-category-rail a,
.pj-category-rail .nav-link { position: relative; min-height: 58px; display: inline-flex !important; align-items: center; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--pj-cream) !important; font-family: "Joker Display", Impact, sans-serif; font-size: .86rem !important; font-weight: 700 !important; text-transform: uppercase; white-space: nowrap; }
.pj-category-rail a::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 4px; background: var(--pj-red); transform: scaleX(0); transition: transform .18s ease; }
.pj-category-rail a:hover::after,
.pj-category-rail a.active::after { transform: scaleX(1); }
.pj-menu-shell { width: min(var(--pj-page), calc(100% - 2 * var(--pj-gutter))); margin: 52px auto 110px; display: grid; grid-template-columns: minmax(0, 1fr) 365px; align-items: start; gap: 42px; }
.pj-menu-ledger { min-width: 0; }
.pj-menu-search { margin-bottom: 46px; }
.pj-menu-search .input-group { max-width: 640px; }
.pj-menu-search input { height: 50px !important; padding: 0 8px !important; border: 0 !important; border-bottom: 2px solid var(--pj-black) !important; border-radius: 0 !important; background: transparent !important; color: var(--pj-black) !important; box-shadow: none !important; }
.pj-menu-search .input-group-text,
.pj-menu-search button { border: 0 !important; border-bottom: 2px solid var(--pj-black) !important; border-radius: 0 !important; background: transparent !important; color: var(--pj-black) !important; }
.pj-menu-category { margin-bottom: 70px; scroll-margin-top: calc(var(--pj-header) + 72px); }
.pj-menu-category__head { position: relative; display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; align-items: end; gap: 18px; padding: 0 0 18px; border-bottom: 3px solid var(--pj-black); }
.pj-menu-category__head::before { content: ""; position: absolute; right: 0; bottom: -3px; width: 74px; height: 3px; background: var(--pj-red); }
.pj-menu-category__head > span { color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: 1rem; }
.pj-menu-category__head > div > p { margin-bottom: 5px; color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: .72rem; text-transform: uppercase; }
.pj-menu-category__head h2 { font-size: 3rem; }
.pj-menu-category__head > div > div { max-width: 620px; margin-top: 7px; color: var(--pj-black-68); font-size: .75rem; }
.pj-menu-category__head small { padding-bottom: 3px; color: var(--pj-black-68); font-size: .66rem; white-space: nowrap; }
.pj-menu-category__items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
.pj-menu-category__entry { min-width: 0; border-bottom: 1px dashed var(--pj-black-22); }
.pj-menu-item { min-height: 150px; display: grid; grid-template-columns: 94px minmax(0, 1fr) auto; grid-template-rows: auto auto; align-items: center; gap: 7px 14px; padding: 15px 0; }
.pj-menu-item figure { grid-row: 1 / 3; width: 94px; margin: 0; overflow: hidden; border: 3px solid var(--pj-black); background: var(--pj-black); transform: rotate(-1deg); }
.pj-menu-item figure img { width: 100%; aspect-ratio: 1; object-fit: cover; transition: transform .3s var(--pj-ease); }
.pj-menu-item:hover figure img { transform: scale(1.04); }
.pj-menu-item__body { min-width: 0; align-self: end; }
.pj-menu-item__body h3 { margin-bottom: 4px; font-size: 1.35rem; line-height: 1; }
.pj-menu-item__body > div,
.pj-menu-item__body > p,
.pj-menu-item__body .menu-item-ingredients { margin: 0; color: var(--pj-black-68); font-size: .67rem; line-height: 1.4; }
.pj-menu-item__price { align-self: end; text-align: right; white-space: nowrap; }
.pj-menu-item__price s { display: block; color: var(--pj-black-68); font-size: .6rem; }
.pj-menu-item__price strong { font-family: "Joker Display", Impact, sans-serif; font-size: .95rem; }
.pj-menu-item__add { grid-column: 2 / 4; align-self: start; justify-self: start; min-height: 32px; display: inline-flex; align-items: center; gap: 9px; padding: 0; border: 0; background: transparent; color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: .76rem; text-transform: uppercase; }
.pj-menu-item__add b { width: 27px; height: 27px; display: grid; place-items: center; background: var(--pj-red); color: var(--pj-cream); font-size: 1rem; font-weight: 600; transition: background-color .18s ease, color .18s ease, transform .15s ease; }
.pj-menu-item__add:hover b { background: var(--pj-black); }
.pj-menu-item__add.is-pending b { animation: pj-pulse .7s ease infinite alternate; }
.pj-menu-item.is-unavailable { opacity: .45; }
@keyframes pj-pulse { to { transform: scale(.8); opacity: .55; } }
.pj-menu-empty,
.pj-location-empty { padding: 30px 0; color: var(--pj-black-68); }
.pj-menu-cart { position: sticky; top: calc(var(--pj-header) + 76px); max-height: calc(100svh - var(--pj-header) - 94px); overflow-y: auto; border: 3px solid var(--pj-black); background: var(--pj-red); color: var(--pj-cream); scrollbar-width: thin; }
.pj-cart-drawer__head { position: sticky; z-index: 2; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 22px; border-bottom: 2px dashed var(--pj-cream-20); background: var(--pj-red); }
.pj-cart-drawer__head > div { display: grid; }
.pj-cart-drawer__head span { color: var(--pj-black); font-family: "Joker Display", Impact, sans-serif; font-size: .78rem; text-transform: uppercase; }
.pj-cart-drawer__head strong { margin-top: 2px; font-family: "Joker Display", Impact, sans-serif; font-size: 1.3rem; text-transform: uppercase; }
.pj-cart-drawer__head button { width: 40px; height: 40px; display: none; place-items: center; border: 2px solid var(--pj-cream); background: transparent; color: var(--pj-cream); font-size: 1.2rem; }
.pj-cart-box { min-width: 0; }
.pj-cart-box__items { padding: 0 22px; }
.pj-cart-box__title { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; padding: 20px 0 13px; border-bottom: 2px dashed var(--pj-cream-20); }
.pj-cart-box__title h3 { font-size: 1.5rem; }
.pj-cart-box__title span { color: var(--pj-cream-78); font-size: .66rem; }
.pj-cart-empty { display: grid; justify-items: start; gap: 9px; padding: 36px 0 42px; }
.pj-cart-empty > span { width: 46px; height: 54px; display: grid; place-items: center; border: 2px solid var(--pj-cream); background: var(--pj-cream); color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: 1.7rem; }
.pj-cart-empty h3 { font-size: 1.5rem; }
.pj-cart-empty p { color: var(--pj-cream-78); font-size: .75rem; }
.pj-cart-empty a { margin-top: 8px; border-bottom: 2px solid currentColor; font-family: "Joker Display", Impact, sans-serif; font-size: .76rem; text-transform: uppercase; }
.pj-cart-items ul { margin: 0; padding: 0; list-style: none; }
.pj-cart-item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 16px 0; border-bottom: 1px dashed var(--pj-cream-20); }
.pj-cart-item__quantity { display: inline-grid; grid-template-columns: 28px 26px 28px; align-items: center; border: 2px solid var(--pj-cream); }
.pj-cart-item__quantity button { width: 28px; height: 30px; border: 0; background: transparent; color: var(--pj-cream); }
.pj-cart-item__quantity > span { text-align: center; font-size: .69rem; }
.pj-cart-item__content { min-width: 0; }
.pj-cart-item__edit { max-width: 100%; display: inline-flex; align-items: center; gap: 7px; padding: 0; border: 0; background: transparent; color: var(--pj-cream); text-align: left; }
.pj-cart-item__edit strong,
.pj-cart-item__content > strong { overflow-wrap: anywhere; font-family: "Joker Display", Impact, sans-serif; font-size: 1rem; text-transform: uppercase; }
.pj-cart-item__content ul,
.pj-cart-item__content p { margin-top: 4px; color: var(--pj-cream-78); font-size: .63rem; }
.pj-cart-item__price { text-align: right; white-space: nowrap; }
.pj-cart-item__price s { display: block; color: var(--pj-cream-78); font-size: .58rem; }
.pj-cart-item__price strong { font-family: "Joker Display", Impact, sans-serif; font-size: .84rem; }
.pj-cart-coupon { padding: 17px 22px; border-bottom: 1px dashed var(--pj-cream-20); }
.pj-cart-coupon .input-group { display: flex; }
.pj-cart-coupon input { min-width: 0; flex: 1; border-color: var(--pj-cream) !important; background: transparent !important; color: var(--pj-cream) !important; }
.pj-cart-coupon button { border: 2px solid var(--pj-black) !important; background: var(--pj-black) !important; color: var(--pj-cream) !important; }
.pj-cart-box .cart-total,
.pj-cart-box .cart-totals,
.pj-cart-box dl { margin: 0; padding: 18px 22px; }
.pj-cart-box .cart-total > div,
.pj-cart-box .cart-totals > div,
.pj-cart-box dl > div { display: flex; justify-content: space-between; gap: 18px; padding: 4px 0; color: var(--pj-cream-78); font-size: .7rem; }
.pj-cart-box__buttons { padding: 0 22px 22px; }
.pj-cart-box__minimum { margin-bottom: 9px; color: var(--pj-cream-78); font-size: .64rem; }
.pj-cart-box__buttons .btn,
.pj-cart-box__buttons a { width: 100%; min-height: 49px; border: 2px solid var(--pj-black) !important; border-radius: 0 !important; background: var(--pj-black) !important; color: var(--pj-cream) !important; font-family: "Joker Display", Impact, sans-serif; font-size: .84rem; text-transform: uppercase; box-shadow: none !important; }
.pj-cart-fab { display: none; }
.pj-cart-fly { overflow: hidden; border: 3px solid var(--pj-cream); border-radius: 50%; }

/* Customer journey */
.pj-system-hero,
.pj-contact-hero { min-height: 290px; display: grid; grid-template-columns: 130px minmax(0, 1fr); background: var(--pj-red); color: var(--pj-cream); }
.pj-system-hero > span,
.pj-contact-hero > span { display: grid; place-items: center; border-right: 2px dashed var(--pj-cream-20); color: var(--pj-black); font-family: "Joker Display", Impact, sans-serif; font-size: 2rem; }
.pj-system-hero > div,
.pj-contact-hero > div { display: flex; flex-direction: column; justify-content: center; padding: 48px max(var(--pj-gutter), calc((100vw - var(--pj-content)) / 2)); }
.pj-system-hero .pj-kicker,
.pj-contact-hero .pj-kicker { color: var(--pj-black); }
.pj-system-hero h1,
.pj-contact-hero h1 { font-size: 4rem; }
.pj-system-hero p:last-child,
.pj-contact-hero p:last-child { max-width: 620px; margin-top: 13px; color: var(--pj-cream-78); }
.pj-steps { width: min(760px, calc(100% - 2 * var(--pj-gutter))); margin: 34px auto 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; }
.pj-steps li { min-width: 0; display: flex; align-items: center; gap: 8px; padding-bottom: 14px; border-bottom: 2px solid var(--pj-black-12); color: var(--pj-black-68); font-family: "Joker Display", Impact, sans-serif; font-size: .78rem; text-transform: uppercase; }
.pj-steps li span { width: 28px; height: 32px; display: grid; place-items: center; border: 2px solid var(--pj-black-22); }
.pj-steps li.is-active,
.pj-steps li.is-done { border-bottom-color: var(--pj-red); color: var(--pj-black); }
.pj-steps li.is-active span,
.pj-steps li.is-done span { border-color: var(--pj-red); background: var(--pj-red); color: var(--pj-cream); }
.pj-cart-page { width: min(var(--pj-content), calc(100% - 2 * var(--pj-gutter))); margin: 46px auto 100px; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); align-items: start; gap: 44px; }
.pj-cart-page__main { border: 3px solid var(--pj-black); background: var(--pj-red); color: var(--pj-cream); }
.pj-cart-page__aside { position: sticky; top: calc(var(--pj-header) + 28px); padding: 31px; border: 3px solid var(--pj-black); background: var(--pj-cream); }
.pj-cart-page__aside h2 { margin-bottom: 26px; font-size: 2.2rem; }
.pj-cart-page__aside .pj-local-header { margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px dashed var(--pj-black-22); }
.pj-checkout-native { width: min(var(--pj-content), calc(100% - 2 * var(--pj-gutter))); margin: 44px auto 100px; }
.pj-checkout-system__head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 27px; padding-bottom: 18px; border-bottom: 3px solid var(--pj-black); }
.pj-checkout-system__head span { color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: .75rem; text-transform: uppercase; }
.pj-checkout-system__head h2 { margin-top: 4px; font-size: 2.4rem; }
.pj-checkout-system__head > p { font-size: .74rem; }
.pj-checkout-system__head a { border-bottom: 1px solid currentColor; }
.pj-checkout-grid { display: grid; grid-template-columns: minmax(0, 1fr) 370px; align-items: start; gap: 46px; }
.pj-checkout-form { min-width: 0; }
.pj-checkout-summary { position: sticky; top: calc(var(--pj-header) + 28px); padding: 24px; border: 3px solid var(--pj-black); background: var(--pj-red); color: var(--pj-cream); }
.pj-reservation-intro { min-height: 650px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(420px, .9fr); background: var(--pj-black); color: var(--pj-cream); }
.pj-reservation-intro figure { margin: 0; overflow: hidden; border-right: 8px solid var(--pj-red); }
.pj-reservation-intro figure img { width: 100%; height: 100%; object-fit: cover; }
.pj-reservation-intro__copy { display: flex; flex-direction: column; justify-content: center; padding: 68px clamp(46px, 7vw, 100px); }
.pj-reservation-intro h1 { max-width: 540px; font-size: 4.4rem; }
.pj-reservation-intro__copy > p:not(.pj-kicker) { max-width: 500px; margin-top: 20px; color: var(--pj-cream-78); }
.pj-reservation-intro dl { margin: 38px 0 0; border-top: 2px solid var(--pj-cream); }
.pj-reservation-intro dl div { display: flex; justify-content: space-between; gap: 24px; padding: 12px 0; border-bottom: 1px dashed var(--pj-cream-20); font-size: .72rem; }
.pj-reservation-intro dd { margin: 0; }
.pj-booking-shell { width: min(900px, calc(100% - 2 * var(--pj-gutter))); margin: 82px auto 110px; }
.pj-booking-shell > header { display: grid; grid-template-columns: 80px 1fr; gap: 23px; margin-bottom: 28px; }
.pj-booking-shell > header > span { padding-top: 7px; color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: .8rem; }
.pj-booking-shell h2 { font-size: 3rem; }
.pj-booking-shell header p:last-child { margin-top: 7px; color: var(--pj-black-68); }
.pj-booking { border-top: 3px solid var(--pj-black); }
.pj-booking__session { padding: 14px 0; border-bottom: 1px dashed var(--pj-black-22); color: var(--pj-black-68); font-size: .72rem; }
.pj-booking__session a { text-decoration: underline; }
.pj-booking__flow { padding: 28px 0; }
.pj-booking__step { margin-bottom: 22px; }
.pj-booking__step span { color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: .74rem; }
.pj-booking__step h3 { margin: 6px 0; font-size: 2rem; }
.pj-booking__step p { color: var(--pj-black-68); }
.pj-booking .flatpickr-calendar { width: 100% !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.pj-booking .flatpickr-months,
.pj-booking .flatpickr-weekdays { background: transparent !important; }
.pj-booking .flatpickr-day { height: 45px !important; max-width: none !important; line-height: 45px !important; border-radius: 0 !important; color: var(--pj-black) !important; }
.pj-booking .flatpickr-day:hover { border-color: var(--pj-black-22) !important; background: transparent !important; }
.pj-booking .flatpickr-day.selected,
.pj-booking .flatpickr-day.startRange,
.pj-booking .flatpickr-day.endRange { border-color: var(--pj-red) !important; background: var(--pj-red) !important; color: var(--pj-cream) !important; }
.pj-booking .flatpickr-day.disabled { color: rgba(16, 16, 15, .24) !important; }
.pj-booking-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 25px; border-top: 2px solid var(--pj-black); border-bottom: 1px dashed var(--pj-black-22); }
.pj-booking-summary__item { padding: 16px; }
.pj-booking-summary dt { color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: .72rem; text-transform: uppercase; }
.pj-booking-summary dd { margin: 4px 0 0; font-weight: 700; }
.pj-booking__reset { display: inline-flex; margin-top: 12px; border-bottom: 2px solid currentColor; font-family: "Joker Display", Impact, sans-serif; font-size: .78rem; text-transform: uppercase; }

/* Contact, location, accounts, legal */
.pj-location-story { display: grid; grid-template-columns: minmax(420px, .82fr) minmax(0, 1.18fr); background: var(--pj-red); color: var(--pj-cream); }
.pj-location-story > div { display: flex; flex-direction: column; justify-content: center; padding: 70px clamp(44px, 7vw, 98px); }
.pj-location-story .pj-kicker { color: var(--pj-black); }
.pj-location-story h1 { font-size: 4rem; }
.pj-location-story > div > p:not(.pj-kicker) { margin: 21px 0 28px; color: var(--pj-cream-78); }
.pj-location-story > div > div { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.pj-location-story figure { margin: 0; overflow: hidden; border-left: 8px solid var(--pj-black); }
.pj-location-story figure img { width: 100%; height: 100%; min-height: 570px; object-fit: cover; }
.pj-hours { width: min(900px, calc(100% - 2 * var(--pj-gutter))); margin: 82px auto; }
.pj-hours header { display: grid; grid-template-columns: 170px 1fr; align-items: end; gap: 28px; margin-bottom: 26px; }
.pj-hours header > span { color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: .76rem; text-transform: uppercase; }
.pj-hours h2 { font-size: 3rem; }
.pj-hours dl { margin: 0; border-top: 3px solid var(--pj-black); }
.pj-hours dl div { display: grid; grid-template-columns: 1fr 1.5fr; padding: 16px 0; border-bottom: 1px dashed var(--pj-black-22); }
.pj-hours dd { margin: 0; text-align: right; }
.pj-map { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(330px, .7fr); min-height: 470px; background: var(--pj-black); color: var(--pj-cream); }
.pj-map iframe { width: 100%; height: 100%; min-height: 470px; border: 0; filter: grayscale(.65) contrast(1.05); }
.pj-map > div { display: flex; flex-direction: column; justify-content: center; padding: 48px; }
.pj-map h2 { font-size: 2.8rem; }
.pj-map p:not(.pj-kicker) { margin-top: 14px; color: var(--pj-cream-78); }
.pj-map .pj-text-link { margin-top: 23px; }
.pj-location-select { padding: 74px var(--pj-gutter); }
.pj-location-select > header,
.pj-location-list-native { width: min(980px, 100%); margin: auto; }
.pj-location-select > header { margin-bottom: 25px; }
.pj-location-select h2 { font-size: 2.8rem; }
.pj-location-search > label { display: block; margin-bottom: 8px; }
.pj-location-search > div { display: flex; }
.pj-location-search input { flex: 1; }
.pj-location-search button { padding: 0 20px; border: 0; background: var(--pj-red); color: var(--pj-cream); }
.pj-location-results { margin-top: 25px; }
.pj-location-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 20px; padding: 21px 0; border-top: 2px solid var(--pj-black); border-bottom: 1px dashed var(--pj-black-22); }
.pj-location-card__mark { width: 52px; height: 60px; display: grid; place-items: center; border: 2px solid var(--pj-black); color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: 1.5rem; }
.pj-location-card h2 { margin: 3px 0; font-size: 1.8rem; }
.pj-location-card address { color: var(--pj-black-68); font-size: .73rem; font-style: normal; }
.pj-location-card__service { text-align: right; font-size: .7rem; }
.pj-location-card__action { border-bottom: 2px solid currentColor; font-family: "Joker Display", Impact, sans-serif; font-size: .76rem; text-transform: uppercase; }
.pj-contact-layout { width: min(var(--pj-content), calc(100% - 2 * var(--pj-gutter))); margin: 64px auto 100px; display: grid; grid-template-columns: minmax(290px, .72fr) minmax(0, 1.28fr); gap: 70px; }
.pj-contact-layout > aside { padding: 29px; border: 3px solid var(--pj-black); background: var(--pj-black); color: var(--pj-cream); }
.pj-contact-layout > aside > div { padding: 16px 0; border-bottom: 1px dashed var(--pj-cream-20); }
.pj-contact-layout > aside span { display: block; margin-bottom: 6px; color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: .72rem; text-transform: uppercase; }
.pj-contact-layout address,
.pj-contact-layout > aside p { margin: 0; font-style: normal; }
.pj-contact-layout > aside a:not(.pj-contact-phone) { font-size: .7rem; text-decoration: underline; }
.pj-contact-phone { font-family: "Joker Display", Impact, sans-serif; font-size: 1.5rem; }
.pj-contact-layout > aside > b { display: block; margin-top: 20px; color: var(--pj-red); font-size: .7rem; }
.pj-contact-layout > section > header { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 18px; margin-bottom: 25px; }
.pj-contact-layout > section > header > span { display: grid; place-items: center; border: 2px solid var(--pj-red); color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: .8rem; text-transform: uppercase; }
.pj-contact-layout h2 { font-size: 2.8rem; }
.pj-contact-native__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.pj-contact-native__message { margin-top: 16px; }
.pj-contact-native__submit { margin-top: 18px; }
.pj-contact-native__success { display: flex; gap: 16px; padding: 23px; border: 2px solid var(--pj-black); }
.pj-auth-page { min-height: calc(100svh - var(--pj-header)); display: grid; place-items: center; padding: 68px var(--pj-gutter); background: var(--pj-black); }
.pj-auth-shell { width: min(560px, 100%); padding: 38px; border: 3px solid var(--pj-black); background: var(--pj-cream); }
.pj-auth-shell--wide { width: min(760px, 100%); }
.pj-auth-shell > header { text-align: center; }
.pj-auth-shell__mark { width: 50px; height: 58px; margin: 0 auto 17px; display: grid; place-items: center; background: var(--pj-red); color: var(--pj-cream); font-family: "Joker Display", Impact, sans-serif; font-size: 1.5rem; }
.pj-auth-shell h1 { font-size: 3rem; }
.pj-auth-shell__native { margin-top: 26px; }
.pj-page-intro { min-height: 240px; display: flex; align-items: end; justify-content: space-between; gap: 40px; padding: 46px max(var(--pj-gutter), calc((100vw - var(--pj-content)) / 2)); background: var(--pj-red); color: var(--pj-cream); }
.pj-page-intro .pj-kicker { color: var(--pj-black); }
.pj-page-intro h1 { font-size: 3.8rem; }
.pj-page-intro > p { max-width: 480px; color: var(--pj-cream-78); }
.pj-account-workspace { width: min(var(--pj-content), calc(100% - 2 * var(--pj-gutter))); margin: 46px auto 82px; display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 36px; }
.pj-account-workspace--simple { grid-template-columns: 1fr; }
.pj-account-workspace > nav { padding: 17px; border: 2px solid var(--pj-black); }
.pj-account-workspace nav .nav { display: grid; gap: 3px; }
.pj-account-workspace nav a { padding: 10px; }
.pj-account-workspace nav a.active { background: var(--pj-red); color: var(--pj-cream); }
.pj-success-page { width: min(900px, calc(100% - 2 * var(--pj-gutter))); margin: 72px auto 105px; }
.pj-success-page > header { text-align: center; }
.pj-success-mark { width: 58px; height: 68px; margin: 0 auto 17px; display: grid; place-items: center; background: var(--pj-red); color: var(--pj-cream); font-family: "Joker Display", Impact, sans-serif; font-size: 1.5rem; }
.pj-success-page h1 { font-size: 3.7rem; }
.pj-success-page > section { margin-top: 36px; padding: 27px; border: 3px solid var(--pj-black); background: var(--pj-cream); }
.pj-legal { width: min(900px, calc(100% - 2 * var(--pj-gutter))); margin: auto; padding: 70px 0 108px; }
.pj-legal__intro { max-width: 680px; margin-bottom: 48px; }
.pj-legal__intro h1 { margin-bottom: 16px; font-size: 4.6rem; }
.pj-legal__intro > p:last-child { color: var(--pj-black-68); }
.pj-legal__sections { border-top: 3px solid var(--pj-black); }
.pj-legal__section { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 34px; padding: 28px 0; border-bottom: 1px dashed var(--pj-black-22); }
.pj-legal__section h2 { color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: .82rem; text-transform: uppercase; }
.pj-legal__section p,
.pj-legal__section address,
.pj-legal__section ul { margin: 0; color: var(--pj-black-68); font-style: normal; }
.pj-legal__section a { text-decoration: underline; }

/* Native Orange surfaces */
.pj-theme .form-control,
.pj-theme .form-select,
.pj-theme select,
.pj-theme textarea,
.pj-theme input[type="text"],
.pj-theme input[type="email"],
.pj-theme input[type="tel"],
.pj-theme input[type="password"],
.pj-theme input[type="number"] { min-height: 48px; border: 2px solid var(--pj-black-22); border-radius: 0; background: var(--pj-cream); color: var(--pj-black); box-shadow: none; }
.pj-theme textarea.form-control,
.pj-theme textarea { min-height: 130px; padding-top: 12px; }
.pj-theme .form-control:focus,
.pj-theme .form-select:focus,
.pj-theme select:focus,
.pj-theme textarea:focus,
.pj-theme input:focus { border-color: var(--pj-red); box-shadow: var(--pj-focus); }
.pj-theme label { margin-bottom: 6px; color: var(--pj-black-68); font-size: .7rem; font-weight: 800; }
.pj-theme .btn { min-height: 46px; border-radius: 0; font-family: "Joker Display", Impact, sans-serif; text-transform: uppercase; box-shadow: none !important; }
.pj-theme .btn-primary,
.pj-theme .btn-success { border-color: var(--pj-red) !important; background: var(--pj-red) !important; color: var(--pj-cream) !important; }
.pj-theme .btn-outline-primary { border-color: var(--pj-black) !important; color: var(--pj-black) !important; }
.pj-theme .card { border: 2px solid var(--pj-black-22); border-radius: 0; background: var(--pj-cream); box-shadow: none; }
.pj-theme .card-header,
.pj-theme .card-footer { border-color: var(--pj-black-12); background: transparent; }
.pj-theme .table { --bs-table-bg: transparent; --bs-table-color: var(--pj-black); border-color: var(--pj-black-12); }
.pj-theme .alert { border: 2px solid var(--pj-black-22); border-radius: 0; background: var(--pj-cream); color: var(--pj-black); }
.pj-theme .modal-content,
.pj-theme .offcanvas { border: 3px solid var(--pj-black); border-radius: 0; background: var(--pj-cream); color: var(--pj-black); }
.pj-theme .modal-header,
.pj-theme .offcanvas-header { border-bottom: 1px dashed var(--pj-black-22); }
.pj-theme .dropdown-menu { border: 2px solid var(--pj-black); border-radius: 0; background: var(--pj-cream); box-shadow: 10px 10px 0 var(--pj-red); }
.pj-theme .pagination .page-link { border-color: var(--pj-black-22); border-radius: 0 !important; background: transparent; color: var(--pj-black); }
.pj-theme .pagination .active .page-link { border-color: var(--pj-red); background: var(--pj-red); color: var(--pj-cream); }
.pj-theme .eucookiebanner,
.pj-theme #eucookiebanner { z-index: 2200 !important; background: var(--pj-black) !important; color: var(--pj-cream) !important; }
.pj-theme .eucookiebanner .btn,
.pj-theme #eucookiebanner .btn { border-color: var(--pj-red) !important; background: var(--pj-red) !important; color: var(--pj-cream) !important; }

[data-pj-reveal] { opacity: 0; transform: translate3d(0, 16px, 0); transition: opacity .55s ease, transform .55s var(--pj-ease); }
[data-pj-reveal].is-visible { opacity: 1; transform: translate3d(0, 0, 0); }

@media (max-width: 1180px) {
    :root { --pj-gutter: 26px; --pj-header: 100px; }
    .pj-header { padding-top: 11px; padding-bottom: 11px; }
    .pj-header__ticket { height: 78px; grid-template-columns: 190px auto 245px; gap: 18px; }
    .pj-nav { gap: 21px; }
    .pj-account-link,
    .pj-order-button { display: none; }
    .pj-menu-toggle { display: grid; }
    .pj-hero { min-height: 650px; grid-template-columns: minmax(380px, .85fr) minmax(460px, 1.15fr); gap: 30px; }
    .pj-hero h1 { font-size: 4.5rem; }
    .pj-menu-shell { grid-template-columns: minmax(0, 1fr) 330px; gap: 30px; }
    .pj-menu-category__items { column-gap: 20px; }
    .pj-menu-item { grid-template-columns: 76px minmax(0, 1fr) auto; }
    .pj-menu-item figure { width: 76px; }
    .pj-footer__inner { grid-template-columns: 1.35fr 1fr 1fr; }
    .pj-footer__column:last-child { grid-column: 2 / 4; }
    .pj-checkout-grid { grid-template-columns: minmax(0, 1fr) 330px; gap: 30px; }
}

@media (max-width: 1040px) {
    .pj-nav { display: none; }
    .pj-header__ticket { grid-template-columns: 1fr auto; }
    .pj-header__actions { min-width: 0; }
    .pj-hero { min-height: 0; grid-template-columns: 1fr; padding-top: 12px; }
    .pj-hero__copy { padding: 56px 0 26px; }
    .pj-hero h1 { max-width: 760px; }
    .pj-hero__card { min-height: 620px; }
    .pj-picks__deck { gap: 18px; }
    .pj-pick { padding: 22px; }
    .pj-trio { grid-template-columns: 1fr 1fr; }
    .pj-reviews { grid-template-columns: .75fr 1fr; }
    .pj-reviews blockquote:last-child { grid-column: 2; }
    .pj-menu-shell { width: 100%; display: block; }
    .pj-menu-ledger { width: min(880px, calc(100% - 2 * var(--pj-gutter))); margin: auto; }
    .pj-menu-cart { position: fixed; z-index: 1130; top: 0; right: 0; bottom: 0; width: min(440px, 94vw); max-height: none; border: 0; border-left: 3px solid var(--pj-black); transform: translate3d(100%, 0, 0); transition: transform .27s var(--pj-ease); }
    .pj-menu-cart.is-open { transform: translate3d(0, 0, 0); }
    .pj-cart-drawer__head button { display: grid; }
    .pj-cart-fab { position: fixed; z-index: 980; right: 22px; bottom: 22px; min-height: 52px; display: inline-flex; align-items: center; gap: 13px; padding: 0 20px; border: 3px solid var(--pj-black); background: var(--pj-red); color: var(--pj-cream); font-family: "Joker Display", Impact, sans-serif; font-size: .82rem; text-transform: uppercase; box-shadow: 7px 7px 0 var(--pj-black); }
    .pj-cart-fab b { position: static; min-width: 22px; height: 22px; background: var(--pj-black); }
    .pj-cart-page,
    .pj-checkout-grid { grid-template-columns: 1fr; }
    .pj-cart-page__aside,
    .pj-checkout-summary { position: static; }
    .pj-location-story { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 780px) {
    :root { --pj-gutter: 20px; --pj-header: 88px; }
    .pj-header { padding: 8px 14px; }
    .pj-header__ticket { height: 72px; padding: 0 15px; }
    .pj-brand > b { width: 38px; height: 44px; font-size: 1.7rem; }
    .pj-brand strong { font-size: 1.2rem; }
    .pj-cart-link > span:not(.pj-cart-icon) { display: none; }
    .pj-hero h1 { font-size: 4rem; }
    .pj-hero__card { min-height: 520px; }
    .pj-proof-strip { grid-template-columns: repeat(2, 1fr); }
    .pj-proof-strip > span:nth-child(2) { border-right: 0; }
    .pj-proof-strip > span:nth-child(-n+2) { border-bottom: 1px dashed var(--pj-cream-20); }
    .pj-picks { padding-top: 76px; padding-bottom: 88px; }
    .pj-picks > header { display: block; }
    .pj-picks > header .pj-kicker { grid-column: auto; }
    .pj-picks h2 { font-size: 3.3rem; }
    .pj-picks > header > a { display: inline-flex; margin-top: 23px; }
    .pj-picks__deck { display: block; min-height: 0; }
    .pj-pick,
    .pj-pick--two { min-height: 300px; margin-top: 18px; transform: none; }
    .pj-trio { display: flex; flex-direction: column; }
    .pj-trio figure { height: 58svh; }
    .pj-trio > div { padding: 58px var(--pj-gutter) 66px; }
    .pj-trio h2 { font-size: 3.3rem; }
    .pj-how { padding-top: 78px; padding-bottom: 84px; }
    .pj-how h2 { font-size: 3.3rem; }
    .pj-how li { grid-template-columns: 55px 1fr; }
    .pj-how li > div { display: block; }
    .pj-how li p { margin-top: 8px; }
    .pj-reviews { display: block; padding-top: 72px; padding-bottom: 72px; }
    .pj-reviews > div { margin-bottom: 30px; padding: 0 0 25px; border-right: 0; border-bottom: 2px solid var(--pj-black); }
    .pj-reviews blockquote { margin-top: 25px; }
    .pj-final { align-items: flex-start; flex-direction: column; }
    .pj-final h2 { font-size: 3.3rem; }
    .pj-final__actions { justify-content: flex-start; }
    .pj-footer__inner { padding: 52px 0; grid-template-columns: 1fr 1fr; gap: 34px; }
    .pj-footer__brand { grid-column: 1 / 3; }
    .pj-footer__column:last-child { grid-column: auto; }
    .pj-footer__bottom { align-items: flex-start; flex-direction: column; gap: 12px; }
    .pj-menu-intro { min-height: 250px; align-items: flex-start; flex-direction: column; padding-top: 38px; padding-bottom: 38px; }
    .pj-menu-intro h1 { font-size: 3.6rem; }
    .pj-menu-intro__status { width: 100%; }
    .pj-order-context { display: block; }
    .pj-order-context > div + div { border-top: 2px dashed var(--pj-black-22); border-left: 0; }
    .pj-category-rail #navbar-categories,
    .pj-category-rail .nav,
    .pj-category-rail .navbar-nav { width: max-content; padding: 0 20px !important; }
    .pj-menu-category__items { display: block; }
    .pj-menu-category__head h2 { font-size: 2.5rem; }
    .pj-system-hero,
    .pj-contact-hero { grid-template-columns: 66px 1fr; }
    .pj-system-hero > div,
    .pj-contact-hero > div { padding: 40px 23px; }
    .pj-system-hero h1,
    .pj-contact-hero h1 { font-size: 3.1rem; }
    .pj-reservation-intro { display: flex; min-height: 0; flex-direction: column; }
    .pj-reservation-intro figure { height: 55svh; border-right: 0; border-bottom: 8px solid var(--pj-red); }
    .pj-reservation-intro__copy { padding: 58px var(--pj-gutter) 66px; }
    .pj-reservation-intro h1 { font-size: 3.5rem; }
    .pj-booking-shell > header { grid-template-columns: 55px 1fr; }
    .pj-booking-shell h2 { font-size: 2.7rem; }
    .pj-location-story { display: flex; flex-direction: column-reverse; }
    .pj-location-story figure { border-bottom: 8px solid var(--pj-black); border-left: 0; }
    .pj-location-story figure img { min-height: 0; height: 52svh; }
    .pj-location-story > div { padding: 58px var(--pj-gutter) 66px; }
    .pj-location-story h1 { font-size: 3.3rem; }
    .pj-map { grid-template-columns: 1fr; }
    .pj-contact-layout { display: flex; flex-direction: column; gap: 38px; }
    .pj-account-workspace { grid-template-columns: 1fr; }
    .pj-page-intro { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 520px) {
    :root { --pj-gutter: 16px; --pj-header: 82px; }
    body.pj-theme { padding-bottom: 70px; }
    .pj-header { padding: 6px 8px; }
    .pj-header__ticket { height: 70px; padding: 0 12px; clip-path: polygon(0 8px, 8px 0, calc(100% - 8px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 8px) 100%, 8px 100%, 0 calc(100% - 8px)); }
    .pj-brand { gap: 8px; }
    .pj-brand > b { width: 34px; height: 40px; font-size: 1.55rem; }
    .pj-brand strong { font-size: 1rem; }
    .pj-brand small { margin-top: 5px; font-size: .43rem; }
    .pj-header__actions { gap: 0; }
    .pj-cart-link { width: 40px; justify-content: center; padding: 0; }
    .pj-menu-toggle { width: 40px; height: 40px; }
    .pj-hero { width: calc(100% - 24px); padding-bottom: 54px; }
    .pj-hero__copy { padding-top: 42px; }
    .pj-hero h1 { font-size: 3.3rem; }
    .pj-hero__actions { align-items: stretch; flex-direction: column; }
    .pj-button { width: 100%; }
    .pj-hero__status { grid-template-columns: 72px 1fr; margin-top: 38px; }
    .pj-hero__card { min-height: 440px; border-width: 6px; }
    .pj-hero__rank { top: 15px; left: 15px; font-size: 3.2rem; }
    .pj-hero__card figcaption { right: 12px; bottom: 12px; left: 12px; min-width: 0; }
    .pj-proof-strip > span { gap: 7px; padding: 10px 8px; font-size: .72rem; }
    .pj-picks h2,
    .pj-trio h2,
    .pj-how h2,
    .pj-final h2 { font-size: 2.8rem; }
    .pj-pick h3 { font-size: 2rem; }
    .pj-trio figure { height: 48svh; }
    .pj-how li { grid-template-columns: 42px 1fr; gap: 14px; }
    .pj-how li > span { font-size: 1.5rem; }
    .pj-how h3 { font-size: 1.8rem; }
    .pj-final__actions { width: 100%; align-items: stretch; flex-direction: column; }
    .pj-footer__marquee { justify-content: flex-start; overflow: hidden; }
    .pj-footer__marquee span:nth-of-type(n+3),
    .pj-footer__marquee i:nth-of-type(n+3) { display: none; }
    .pj-footer__inner { grid-template-columns: 1fr; }
    .pj-footer__brand { grid-column: auto; }
    .pj-menu-intro h1 { font-size: 3rem; }
    .pj-menu-ledger { width: calc(100% - 2 * var(--pj-gutter)); }
    .pj-menu-category { margin-bottom: 56px; }
    .pj-menu-category__head { grid-template-columns: 34px minmax(0, 1fr); }
    .pj-menu-category__head small { display: none; }
    .pj-menu-category__head h2 { font-size: 2.2rem; }
    .pj-menu-item { min-height: 126px; grid-template-columns: 70px minmax(0, 1fr) auto; gap: 6px 9px; }
    .pj-menu-item figure { width: 70px; border-width: 2px; }
    .pj-menu-item__body h3 { font-size: 1.15rem; }
    .pj-menu-item__add span { display: none; }
    .pj-cart-fab { right: 13px; bottom: 13px; }
    .pj-system-hero,
    .pj-contact-hero { grid-template-columns: 46px 1fr; }
    .pj-system-hero > span,
    .pj-contact-hero > span { font-size: 1.2rem; }
    .pj-system-hero h1,
    .pj-contact-hero h1 { font-size: 2.6rem; }
    .pj-steps { width: calc(100% - 2 * var(--pj-gutter)); }
    .pj-steps li { gap: 4px; font-size: .64rem; }
    .pj-steps li span { width: 24px; height: 28px; }
    .pj-cart-page,
    .pj-checkout-native { width: calc(100% - 2 * var(--pj-gutter)); }
    .pj-cart-page__aside { padding: 23px; }
    .pj-cart-item { grid-template-columns: minmax(0, 1fr) auto; }
    .pj-cart-item__quantity { grid-column: 1 / 3; }
    .pj-checkout-system__head { align-items: flex-start; flex-direction: column; }
    .pj-reservation-intro figure { height: 46svh; }
    .pj-reservation-intro h1 { font-size: 3rem; }
    .pj-booking-shell { width: calc(100% - 2 * var(--pj-gutter)); margin-top: 58px; }
    .pj-booking-shell > header { grid-template-columns: 1fr; gap: 8px; }
    .pj-booking-summary { grid-template-columns: repeat(2, 1fr); }
    .pj-booking .flatpickr-day { height: 40px !important; line-height: 40px !important; }
    .pj-hours { width: calc(100% - 2 * var(--pj-gutter)); margin: 60px auto; }
    .pj-hours header { display: block; }
    .pj-hours h2 { margin-top: 7px; font-size: 2.5rem; }
    .pj-hours dl div { display: block; }
    .pj-hours dd { margin-top: 4px; text-align: left; }
    .pj-location-story > div > div { align-items: stretch; flex-direction: column; }
    .pj-location-select { padding: 58px var(--pj-gutter); }
    .pj-location-search > div { display: block; }
    .pj-location-search button { width: 100%; min-height: 46px; }
    .pj-location-card { grid-template-columns: auto 1fr; }
    .pj-location-card__service,
    .pj-location-card__action { grid-column: 2; text-align: left; }
    .pj-contact-layout { width: calc(100% - 2 * var(--pj-gutter)); }
    .pj-contact-native__grid { grid-template-columns: 1fr; }
    .pj-auth-page { padding: 46px var(--pj-gutter); }
    .pj-auth-shell { padding: 27px 19px; }
    .pj-page-intro { padding: 43px var(--pj-gutter); }
    .pj-page-intro h1 { font-size: 3rem; }
    .pj-legal { width: calc(100% - 2 * var(--pj-gutter)); padding: 50px 0 78px; }
    .pj-legal__intro h1 { font-size: 3.2rem; }
    .pj-legal__section { grid-template-columns: 1fr; gap: 9px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .pj-theme *,
    [data-pj-reveal] { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
    [data-pj-reveal] { opacity: 1; transform: none; }
}

/* 2026 client reset: Midnight Delivery Club */
:root {
    --pj-black: #111411;
    --pj-cream: #f7f4ed;
    --pj-red: #f0442e;
    --pj-black-88: rgba(17, 20, 17, .88);
    --pj-black-68: rgba(17, 20, 17, .68);
    --pj-black-22: rgba(17, 20, 17, .22);
    --pj-black-12: rgba(17, 20, 17, .12);
    --pj-cream-78: rgba(247, 244, 237, .78);
    --pj-cream-20: rgba(247, 244, 237, .2);
    --pj-page: 1440px;
    --pj-content: 1220px;
    --pj-header: 86px;
}

.pj-theme h1,
.pj-theme h2,
.pj-theme h3,
.pj-theme h4 { line-height: .94; }

.pj-button--light {
    border-color: var(--pj-cream);
    background: var(--pj-cream);
    color: var(--pj-black) !important;
}

.pj-button--light:hover {
    border-color: var(--pj-cream);
    background: transparent;
    color: var(--pj-cream) !important;
}

/* Quiet, solid header instead of the former ticket shell */
.pj-header {
    height: var(--pj-header);
    padding: 0 var(--pj-gutter);
    border-bottom: 3px solid var(--pj-red);
    background: var(--pj-black);
}

.pj-header__ticket {
    width: min(1320px, 100%);
    height: 83px;
    grid-template-columns: minmax(205px, 1fr) auto minmax(300px, 1fr);
    gap: 34px;
    padding: 0;
    clip-path: none;
    background: transparent;
    color: var(--pj-cream);
}

.pj-header.is-scrolled .pj-header__ticket { transform: none; }
.pj-brand > b { width: 42px; height: 46px; }
.pj-brand strong { font-size: 1.38rem; }
.pj-brand small { color: var(--pj-cream-78); font-size: .5rem; }
.pj-nav a,
.pj-account-link,
.pj-cart-link { color: var(--pj-cream); }
.pj-menu-toggle { color: var(--pj-cream); }
.pj-order-button { min-height: 46px; padding-inline: 20px; }

/* Home */
.pj-home-v2 .pj-main { background: var(--pj-black); }
.pj-v2-hero {
    position: relative;
    min-height: max(660px, calc(92svh - var(--pj-header)));
    display: grid;
    align-items: end;
    overflow: hidden;
    isolation: isolate;
    background: var(--pj-black);
    color: var(--pj-cream);
}

.pj-v2-hero__media,
.pj-v2-hero__shade {
    position: absolute;
    inset: 0;
    margin: 0;
}

.pj-v2-hero__media { z-index: -2; }
.pj-v2-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 42%;
}

.pj-v2-hero__shade {
    z-index: -1;
    background: rgba(12, 14, 12, .54);
}

.pj-v2-hero__inner {
    width: min(var(--pj-content), calc(100% - 2 * var(--pj-gutter)));
    margin: 0 auto;
    padding: clamp(90px, 12vh, 150px) 0 58px;
}

.pj-v2-hero__tag,
.pj-v2-hero__claim,
.pj-v2-spread__copy > p,
.pj-v2-final p,
.pj-footer__cta p {
    font-family: "Joker Display", Impact, sans-serif;
    font-weight: 700;
    text-transform: uppercase;
}

.pj-v2-hero__tag {
    margin-bottom: 18px;
    color: var(--pj-cream-78);
    font-size: .78rem;
}

.pj-v2-hero h1 {
    max-width: 820px;
    font-size: clamp(4rem, 8vw, 6.8rem);
    text-transform: uppercase;
}

.pj-v2-hero h1 span { display: block; color: var(--pj-red); }
.pj-v2-hero__claim { margin-top: 18px; font-size: clamp(1.5rem, 2.4vw, 2.2rem); }
.pj-v2-hero__lead {
    max-width: 590px;
    margin-top: 16px;
    color: var(--pj-cream-78);
    font-size: .98rem;
}

.pj-v2-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.pj-v2-hero__service {
    max-width: 760px;
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 24px;
    margin-top: 45px;
    padding-top: 15px;
    border-top: 1px solid var(--pj-cream-20);
    color: var(--pj-cream-78);
    font-size: .72rem;
}

.pj-v2-hero__service > span { color: var(--pj-red); font-weight: 800; }
.pj-v2-hero__service a { justify-self: start; }
.pj-v2-hero__service a:hover { color: var(--pj-cream); }

.pj-v2-choice {
    padding: 100px max(var(--pj-gutter), calc((100vw - var(--pj-content)) / 2));
    display: grid;
    grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr);
    gap: clamp(60px, 9vw, 130px);
    background: var(--pj-cream);
    color: var(--pj-black);
}

.pj-v2-choice > header { align-self: start; position: sticky; top: calc(var(--pj-header) + 35px); }
.pj-v2-choice h2 { max-width: 380px; font-size: clamp(3rem, 5vw, 4.6rem); }
.pj-v2-choice > header p { max-width: 370px; margin-top: 18px; color: var(--pj-black-68); }
.pj-v2-choice__list { border-top: 2px solid var(--pj-black); }
.pj-v2-choice__list a {
    min-height: 126px;
    display: grid;
    grid-template-columns: 52px minmax(150px, .55fr) minmax(180px, 1fr) 30px;
    align-items: center;
    gap: 22px;
    border-bottom: 1px solid var(--pj-black-22);
    transition: color .18s ease, transform .2s var(--pj-ease);
}

.pj-v2-choice__list a:hover { color: var(--pj-red); transform: translate3d(8px, 0, 0); }
.pj-v2-choice__list a > span { color: var(--pj-red); font-size: .72rem; font-weight: 800; }
.pj-v2-choice__list strong { font-family: "Joker Display", Impact, sans-serif; font-size: 1.8rem; text-transform: uppercase; }
.pj-v2-choice__list small { color: var(--pj-black-68); font-size: .78rem; }
.pj-v2-choice__list i { font-style: normal; font-size: 1.1rem; }

.pj-v2-spread {
    position: relative;
    min-height: 690px;
    display: grid;
    align-items: end;
    overflow: hidden;
    isolation: isolate;
    background: var(--pj-black);
    color: var(--pj-cream);
}

.pj-v2-spread figure,
.pj-v2-spread__shade { position: absolute; inset: 0; margin: 0; }
.pj-v2-spread figure { z-index: -2; }
.pj-v2-spread figure img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.pj-v2-spread__shade { z-index: -1; background: rgba(12, 14, 12, .58); }
.pj-v2-spread__copy {
    width: min(var(--pj-content), calc(100% - 2 * var(--pj-gutter)));
    margin: 0 auto;
    padding: 90px 0 72px;
}

.pj-v2-spread__copy > p { margin-bottom: 13px; color: var(--pj-red); font-size: .8rem; }
.pj-v2-spread h2 { max-width: 700px; font-size: clamp(3.8rem, 7vw, 6.2rem); }
.pj-v2-spread__copy > span { max-width: 560px; display: block; margin-top: 20px; color: var(--pj-cream-78); }
.pj-v2-spread .pj-button { margin-top: 30px; }

.pj-v2-flow {
    padding: 105px max(var(--pj-gutter), calc((100vw - var(--pj-content)) / 2));
    display: grid;
    grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr);
    gap: clamp(60px, 10vw, 145px);
    background: var(--pj-black);
    color: var(--pj-cream);
}

.pj-v2-flow h2 { font-size: clamp(3rem, 5vw, 4.7rem); }
.pj-v2-flow header p { max-width: 430px; margin-top: 18px; color: var(--pj-cream-78); }
.pj-v2-flow ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--pj-cream-20); }
.pj-v2-flow li {
    min-height: 116px;
    display: grid;
    grid-template-columns: 55px 1fr;
    align-items: center;
    gap: 22px;
    border-bottom: 1px solid var(--pj-cream-20);
}

.pj-v2-flow li > span { color: var(--pj-red); font-family: "Joker Display", Impact, sans-serif; font-size: 1.4rem; }
.pj-v2-flow li strong { font-family: "Joker Display", Impact, sans-serif; font-size: 1.55rem; text-transform: uppercase; }
.pj-v2-flow li p { margin-top: 4px; color: var(--pj-cream-78); font-size: .78rem; }

.pj-v2-rating {
    min-height: 170px;
    padding: 40px max(var(--pj-gutter), calc((100vw - var(--pj-content)) / 2));
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 50px;
    border-top: 1px solid var(--pj-black-22);
    background: var(--pj-cream);
    color: var(--pj-black);
}

.pj-v2-rating > div { display: grid; grid-template-columns: auto auto; align-items: end; column-gap: 9px; }
.pj-v2-rating > div span { grid-column: 1 / 3; color: var(--pj-black-68); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.pj-v2-rating > div strong { font-family: "Joker Display", Impact, sans-serif; font-size: 3.4rem; line-height: 1; }
.pj-v2-rating > div small { padding-bottom: 5px; color: var(--pj-black-68); }
.pj-v2-rating p { color: var(--pj-black-68); }
.pj-v2-rating p span { display: block; margin-bottom: 4px; color: var(--pj-red); letter-spacing: .12em; }
.pj-v2-rating > a { justify-self: end; border-bottom: 1px solid currentColor; font-size: .76rem; font-weight: 800; text-transform: uppercase; }

.pj-v2-final {
    padding: 90px max(var(--pj-gutter), calc((100vw - var(--pj-content)) / 2));
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 50px;
    background: var(--pj-red);
    color: var(--pj-cream);
}

.pj-v2-final p { margin-bottom: 10px; color: var(--pj-black); font-size: .76rem; }
.pj-v2-final h2 { font-size: clamp(3.2rem, 5vw, 4.8rem); }
.pj-v2-final > div:last-child { display: grid; justify-items: end; gap: 12px; }
.pj-v2-final__phone { border-bottom: 1px solid currentColor; font-size: .78rem; font-weight: 800; }

/* Footer */
.pj-footer__cta {
    padding: 58px max(var(--pj-gutter), calc((100vw - var(--pj-content)) / 2));
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 40px;
    border-bottom: 1px solid var(--pj-cream-20);
    background: var(--pj-black);
}

.pj-footer__cta p { margin-bottom: 6px; color: var(--pj-red); font-size: .72rem; }
.pj-footer__cta h2 { max-width: 680px; font-size: clamp(2.5rem, 4vw, 3.8rem); }
.pj-footer__inner { grid-template-columns: 1.4fr 1fr 1fr .8fr; padding-block: 60px; }
.pj-footer__column address { max-width: 220px; }
.pj-footer__column p + p { margin-top: 2px; }

/* Menu and cart */
.pj-menu-intro {
    min-height: 255px;
    padding-top: 55px;
    padding-bottom: 48px;
    background: var(--pj-black);
}

.pj-menu-intro .pj-kicker { color: var(--pj-red); }
.pj-menu-intro h1 { font-size: clamp(3.4rem, 6vw, 5.2rem); }
.pj-menu-intro > div:first-child > p:last-child { max-width: 520px; margin-top: 13px; color: var(--pj-cream-78); }
.pj-menu-intro__status { border-color: var(--pj-cream-20); }
.pj-menu-intro__status span { color: var(--pj-red); }
.pj-order-context { border-width: 1px; }
.pj-category-rail { border-bottom: 3px solid var(--pj-red); }
.pj-category-rail .layout-scrollable { scrollbar-width: none; }
.pj-category-rail .layout-scrollable::-webkit-scrollbar { display: none; }
.pj-menu-shell { grid-template-columns: minmax(0, 1fr) 360px; gap: 48px; }
.pj-menu-category__head { grid-template-columns: minmax(0, 1fr) auto; border-bottom-width: 2px; }
.pj-menu-category__head::before { width: 60px; height: 2px; bottom: -2px; }
.pj-menu-category__head h2 { font-size: clamp(2.35rem, 4vw, 3.2rem); }
.pj-menu-category__items { column-gap: 32px; }
.pj-menu-item figure { border: 0; transform: none; }
.pj-menu-item__add b { border-radius: 50%; }

.pj-menu-cart {
    border: 0;
    border-top: 4px solid var(--pj-red);
    background: var(--pj-black);
    color: var(--pj-cream);
}

.pj-cart-drawer__head { border-bottom: 1px solid var(--pj-cream-20); background: var(--pj-black); }
.pj-cart-drawer__head span { color: var(--pj-red); }
.pj-cart-box__title { border-bottom: 1px solid var(--pj-cream-20); }
.pj-cart-box__items { padding-inline: 24px; }
.pj-cart-item {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    row-gap: 12px;
    border-bottom-style: solid;
}

.pj-cart-item__content { grid-column: 1; }
.pj-cart-item__price { grid-column: 2; }
.pj-cart-item__quantity { grid-column: 1 / 3; justify-self: start; border-width: 1px; }
.pj-cart-item__quantity button { min-width: 34px; min-height: 34px; }
.pj-cart-item__quantity > span { min-width: 30px; font-size: .75rem; }
.pj-cart-item__edit strong,
.pj-cart-item__content > strong { font-size: 1.08rem; }
.pj-cart-coupon { border-bottom-style: solid; }
.pj-cart-coupon h3 { margin-bottom: 8px; font-size: .82rem; }
.pj-cart-coupon input {
    min-height: 44px;
    padding-inline: 12px;
    border: 1px solid var(--pj-cream-20) !important;
}

.pj-cart-coupon input::placeholder { color: var(--pj-cream-78); opacity: .78; }
.pj-cart-coupon button { min-width: 46px; border-color: var(--pj-red) !important; background: var(--pj-red) !important; }
.pj-cart-box #cart-totals {
    margin: 0 !important;
    padding: 16px 24px 8px;
    border-top: 1px solid var(--pj-cream-20);
    color: var(--pj-cream);
}

.pj-cart-box #cart-totals .table-responsive { overflow: visible; }
.pj-cart-box #cart-totals table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    background: transparent !important;
    color: var(--pj-cream) !important;
}

.pj-cart-box #cart-totals th,
.pj-cart-box #cart-totals td {
    padding: 5px 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--pj-cream-78) !important;
    font-size: .75rem;
}

.pj-cart-box #cart-totals td { text-align: right; color: var(--pj-cream) !important; font-weight: 800; }
.pj-cart-box #cart-totals tr:last-child th,
.pj-cart-box #cart-totals tr:last-child td { padding-top: 11px !important; color: var(--pj-cream) !important; font-size: .9rem; }
.pj-cart-box__buttons { padding: 14px 24px 24px; }
.pj-cart-box__buttons .pj-checkout-button {
    width: 100%;
    min-height: 52px;
    gap: 12px;
    border: 2px solid var(--pj-red) !important;
    background: var(--pj-red) !important;
    color: var(--pj-cream) !important;
}

.pj-cart-box__buttons .pj-checkout-button:hover:not(:disabled) {
    background: var(--pj-cream) !important;
    color: var(--pj-black) !important;
}

.pj-cart-box__buttons .pj-checkout-button:disabled { cursor: not-allowed; opacity: .58; }
.pj-mobile-order-bar[hidden] { display: none !important; }
.pj-cart-page__main { border: 0; border-top: 4px solid var(--pj-red); background: var(--pj-black); }
.pj-cart-page__main .pj-cart-drawer__head { display: none; }
.pj-checkout-summary .bg-white {
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--pj-cream) !important;
    color: var(--pj-black) !important;
    box-shadow: none !important;
}
.pj-checkout-summary h5 { color: var(--pj-black); font-family: "Joker Display", Impact, sans-serif; font-size: 1.15rem; text-transform: uppercase; }
.pj-checkout-summary .pj-cart-item {
    grid-template-columns: minmax(0, 1fr) auto auto;
    color: var(--pj-black);
    border-bottom-color: var(--pj-black-12);
}
.pj-checkout-summary .pj-cart-item__content { grid-column: 1; }
.pj-checkout-summary .pj-cart-item__content > strong,
.pj-checkout-summary .pj-cart-item__preview-quantity,
.pj-checkout-summary .pj-cart-item__price,
.pj-checkout-summary .pj-cart-item__price strong { color: var(--pj-black); }
.pj-checkout-summary .pj-cart-item__preview-quantity { grid-column: 2; }
.pj-checkout-summary .pj-cart-item__price { grid-column: 3; }

@media (max-width: 1180px) {
    :root { --pj-header: 82px; }
    .pj-header__ticket { height: 79px; grid-template-columns: minmax(190px, 1fr) auto minmax(230px, 1fr); }
    .pj-footer__inner { grid-template-columns: 1.2fr 1fr 1fr; }
    .pj-footer__column:last-child { grid-column: 2 / 4; }
}

@media (max-width: 1040px) {
    .pj-header__ticket { grid-template-columns: 1fr auto; }
    .pj-v2-choice,
    .pj-v2-flow { grid-template-columns: 1fr; gap: 50px; }
    .pj-v2-choice > header { position: static; }
    .pj-menu-cart { border-left: 0; border-top: 4px solid var(--pj-red); }
}

@media (max-width: 780px) {
    :root { --pj-header: 74px; }
    .pj-header { padding-inline: 16px; }
    .pj-header__ticket { height: 71px; padding: 0; }
    .pj-brand > b { width: 36px; height: 40px; }
    .pj-brand strong { font-size: 1.08rem; }
    .pj-v2-hero { min-height: max(650px, calc(90svh - var(--pj-header))); }
    .pj-v2-hero__inner { padding-bottom: 35px; }
    .pj-v2-hero h1 { font-size: clamp(3.35rem, 16vw, 5rem); }
    .pj-v2-hero__service { grid-template-columns: 1fr; gap: 6px; margin-top: 35px; }
    .pj-v2-choice,
    .pj-v2-flow { padding-top: 72px; padding-bottom: 78px; }
    .pj-v2-choice__list a { grid-template-columns: 34px 1fr 22px; gap: 12px; padding-block: 20px; }
    .pj-v2-choice__list small { grid-column: 2; }
    .pj-v2-choice__list i { grid-column: 3; grid-row: 1 / 3; }
    .pj-v2-spread { min-height: 560px; }
    .pj-v2-flow li { min-height: 105px; }
    .pj-v2-rating { grid-template-columns: 1fr 1fr; gap: 28px; }
    .pj-v2-rating > a { grid-column: 1 / 3; justify-self: start; }
    .pj-v2-final,
    .pj-footer__cta { align-items: flex-start; flex-direction: column; }
    .pj-v2-final > div:last-child { justify-items: start; }
    .pj-footer__inner { grid-template-columns: 1fr 1fr; }
    .pj-footer__brand { grid-column: 1 / 3; }
    .pj-footer__column:last-child { grid-column: auto; }
    .pj-menu-intro { min-height: 0; }
    .pj-menu-intro h1 { font-size: 3.7rem; }
    .pj-menu-intro__status { border-color: var(--pj-cream-20); }
    .pj-menu-category__head { grid-template-columns: 1fr auto; }
}

@media (max-width: 520px) {
    :root { --pj-gutter: 17px; --pj-header: 70px; }
    .pj-header { padding: 0 12px; }
    .pj-header__ticket { height: 67px; clip-path: none; }
    .pj-brand small { font-size: .45rem; }
    .pj-v2-hero__lead { font-size: .88rem; }
    .pj-v2-hero__actions { align-items: stretch; flex-direction: column; }
    .pj-v2-hero__actions .pj-button { width: 100%; }
    .pj-v2-choice h2,
    .pj-v2-flow h2 { font-size: 3rem; }
    .pj-v2-choice__list strong { font-size: 1.55rem; }
    .pj-v2-spread h2 { font-size: 3.55rem; }
    .pj-v2-rating { grid-template-columns: 1fr; }
    .pj-v2-rating > a { grid-column: auto; }
    .pj-footer__inner { grid-template-columns: 1fr; }
    .pj-footer__brand { grid-column: auto; }
    .pj-menu-intro h1 { font-size: 3.15rem; }
    .pj-menu-category__head small { display: block; }
    .pj-menu-item { min-height: 122px; }
    .pj-cart-item { grid-template-columns: minmax(0, 1fr) auto; }
    .pj-cart-item__quantity { grid-column: 1 / 3; }
}
