/*
Theme Name: Jai Pui Takeaway
Theme URI: https://jaipui.co.uk/
Author: Jai Pui
Description: Mobile-first Jai Pui Thai takeaway theme, with a refined Thai visual identity and independent menu catalogue.
Version: 0.9.8
Requires at least: 6.2
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: jai-pui
*/

:root {
  --jp-ink: #17362a;
  --jp-ink-deep: #102d23;
  --jp-green-soft: #1d2f24;
  --jp-paper: #f6f2ed;
  --jp-paper-2: #f3eee7;
  --jp-cream: #f1eae2;
  --jp-gold: #bd8f47;
  --jp-gold-light: #d8b56d;
  --jp-brown: #33241f;
  --jp-muted: #4f514d;
  --jp-line: rgba(16,45,35,.14);
  --jp-frame: 1024px;
  --jp-split: 44%;
  --jp-serif: Baskerville, "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --jp-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--jp-ink-deep);
  background: var(--jp-paper);
  font-family: var(--jp-sans);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
.jp-site-frame { width: min(100%, var(--jp-frame)); margin-inline: auto; }
.jp-display {
  margin: 0;
  font-family: var(--jp-serif);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: .98;
}
.jp-eyebrow {
  margin: 0 0 9px;
  color: var(--jp-gold);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .27em;
  text-transform: uppercase;
}
.jp-gold-rule {
  display: block;
  width: 43px;
  height: 3px;
  margin: 18px 0 20px;
  background: var(--jp-gold);
}
.jp-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  min-height: 44px;
  padding: 0 28px;
  border: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  transition: transform .18s ease, filter .18s ease;
}
.jp-button:hover { transform: translateY(-1px); filter: brightness(.97); }
.jp-button--gold { background: linear-gradient(90deg, #c99e55 0%, #dfbd72 100%); color: #181a17; }

/* Header */
.jp-header {
  position: relative;
  z-index: 50;
  background: #f6f2ed;
  border-bottom: 1px solid rgba(16,45,35,.06);
}
.jp-header__shell {
  position: relative;
  width: min(100%, var(--jp-frame));
  min-height: 103px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 185px minmax(0, 1fr) 176px;
  grid-template-rows: 34px 69px;
  column-gap: 24px;
  padding: 0 42px;
}
.jp-brand {
  display: block;
  line-height: 0;
}
.jp-brand--header {
  position: relative;
  grid-column: 1;
  grid-row: 1 / 3;
  width: 185px;
  height: 103px;
  align-self: stretch;
  overflow: visible;
}
.jp-brand__image {
  display: block;
  width: 185px;
  height: auto;
  max-width: none;
}
.jp-brand--header .jp-brand__image {
  position: absolute;
  top: 0;
  left: 0;
}
.jp-header__strap {
  grid-column: 2 / 4;
  grid-row: 1;
  align-self: end;
  justify-self: end;
  margin: 0 0 3px;
  color: #23332c;
  text-align: right;
  font-size: 7.5px;
  font-weight: 750;
  letter-spacing: .31em;
  line-height: 1.5;
  text-transform: uppercase;
}
.jp-nav {
  grid-column: 2;
  grid-row: 2;
  align-self: center;
  justify-self: stretch;
  width: 100%;
}
.jp-nav ul,
.jp-nav .jp-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.jp-nav a {
  position: relative;
  display: block;
  padding: 9px 0;
  color: #222824;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
}
.jp-nav .current-menu-item > a,
.jp-nav a:hover { color: #8e6731; }
.jp-nav .current-menu-item > a::after,
.jp-nav a:hover::after {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -5px;
  height: 1px;
  background: var(--jp-gold);
  content: "";
}
.jp-header__cta {
  grid-column: 3;
  grid-row: 2;
  align-self: center;
  justify-self: stretch;
  min-height: 40px;
  padding-inline: 18px;
  font-size: 10.5px;
  white-space: nowrap;
}
.jp-menu-toggle { display: none; }

/* Hero */
.jp-hero { background: var(--jp-paper-2); }
.jp-hero__grid {
  display: grid;
  grid-template-columns: var(--jp-split) calc(100% - var(--jp-split));
  align-items: stretch;
  height: 462px;
}
.jp-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 40px 38px 36px 53px;
  background: linear-gradient(90deg, #f6f2ed 0%, #f4f0e9 78%, #efede8 100%);
}
.jp-hero h1 {
  color: var(--jp-ink-deep);
  font-size: 53px;
  line-height: .985;
}
.jp-hero__lead {
  max-width: 420px;
  margin: 0 0 21px;
  color: #2f3833;
  font-size: 15.5px;
  line-height: 1.5;
}
.jp-hero__signoff {
  margin: 15px 0 0;
  color: #53645c;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .32em;
  text-transform: uppercase;
}
.jp-hero__media {
  overflow: hidden;
  height: 100%;
  background: #cfc8bc;
}
.jp-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center center; }

/* Hospitality promise */
.jp-promise {
  background: linear-gradient(135deg, #253226 0%, #193126 58%, #1c2d23 100%);
}
.jp-promise__grid {
  display: grid;
  grid-template-columns: var(--jp-split) calc(100% - var(--jp-split));
  align-items: stretch;
  height: 290px;
}
.jp-promise__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 32px 40px 31px 53px;
  color: #fff;
}
.jp-promise__copy .jp-gold-rule { margin: 0 0 18px; }
.jp-promise h2 {
  color: #fff;
  font-size: 38px;
  line-height: 1.0;
}
.jp-promise p {
  max-width: 430px;
  margin: 20px 0 0;
  color: rgba(255,255,255,.88);
  font-size: 15px;
  line-height: 1.52;
}
.jp-promise__media { overflow: hidden; height: 100%; background: var(--jp-brown); }
.jp-promise__media img { width: 100%; height: 100%; object-fit: cover; object-position: center center; }

/* Process */
.jp-process { background: #f7f4ee; }
.jp-process__inner { padding: 28px 44px 0; text-align: center; }
.jp-process .jp-eyebrow { margin-bottom: 8px; }
.jp-process h2 { font-size: 32px; line-height: 1.08; }
.jp-process__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 20px;
  border-top: 1px solid var(--jp-line);
}
.jp-step {
  position: relative;
  min-height: 211px;
  padding: 25px 18px 18px;
  border-right: 1px solid var(--jp-line);
}
.jp-step:last-child { border-right: 0; }
.jp-step__icon {
  width: 61px;
  height: 61px;
  margin: 0 auto 14px;
  display: grid;
  place-items: center;
  border: 1px solid var(--jp-ink-deep);
  border-radius: 50%;
}
.jp-step__icon svg { width: 34px; height: 34px; fill: none; stroke: var(--jp-ink-deep); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.jp-step__number {
  position: absolute;
  top: 70px;
  left: calc(50% + 15px);
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background: var(--jp-gold);
  color: #fff;
  font-size: 10px;
}
.jp-step h3 {
  margin: 0 0 10px;
  color: var(--jp-ink-deep);
  font-size: 11.5px;
  font-weight: 750;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.jp-step p {
  max-width: 218px;
  margin: 0 auto;
  color: #5b5b56;
  font-size: 13.5px;
  line-height: 1.5;
}

/* Training/support */
.jp-support { background: var(--jp-cream); }
.jp-support__grid { display: grid; grid-template-columns: var(--jp-split) calc(100% - var(--jp-split)); align-items: stretch; height: 220px; }
.jp-support__media { overflow: hidden; height: 100%; }
.jp-support__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.jp-support__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 26px 44px;
}
.jp-support__copy .jp-gold-rule { margin: 0 0 17px; }
.jp-support h2 { font-size: 31px; line-height: 1.06; }
.jp-support p {
  max-width: 540px;
  margin: 14px 0 0;
  color: #444844;
  font-size: 14.5px;
  line-height: 1.55;
}

/* CTA */
.jp-cta {
  position: relative;
  overflow: hidden;
  color: #fff;
  background: #1d2f24;
}
.jp-cta::before {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(90deg, rgba(26,44,33,.36), rgba(26,44,33,.20)), url('assets/images/leaf-texture.jpg');
  background-position: center;
  background-size: cover;
  opacity: .86;
  content: "";
}
.jp-cta__grid {
  position: relative;
  z-index: 1;
  min-height: 165px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 38px;
  padding: 25px 44px 25px 58px;
}
.jp-cta h2 { font-size: 29px; line-height: 1.06; }
.jp-cta .jp-eyebrow { color: var(--jp-gold-light); }
.jp-cta__action { display: flex; flex-direction: column; align-items: center; gap: 11px; }
.jp-cta__action .jp-button { min-width: 198px; }
.jp-cta__action small { font-size: 9px; font-weight: 650; letter-spacing: .21em; text-transform: uppercase; }

/* Footer — premium white footer, matched to approved mockup */
.jp-footer {
  color: var(--jp-ink);
  background: #fff;
  border-top: 0;
}
.jp-footer__strip {
  position: relative;
  width: 100%;
  height: 54px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  overflow: hidden;
  border-bottom: 1px solid rgba(189,143,71,.48);
}
.jp-footer__strip::before,
.jp-footer__strip::after { content: none; }
.jp-footer .jp-site-frame {
  width: min(calc(100% - 56px), var(--jp-header-frame, 1180px));
}
.jp-footer__shell {
  padding-top: 36px;
  padding-bottom: 16px;
}
.jp-footer__main {
  display: grid;
  grid-template-columns: minmax(270px,.78fr) minmax(520px,1.22fr);
  gap: clamp(54px,7vw,106px);
  align-items: center;
  padding-bottom: 30px;
}
.jp-footer__brand {
  max-width: 360px;
}
.jp-footer__logo {
  display: inline-block;
  width: 208px;
  line-height: 0;
}
.jp-footer__logo img {
  display: block;
  width: 100%;
  height: auto;
}
.jp-footer__brand > p {
  max-width: 345px;
  margin: 18px 0 0;
  color: #636c67;
  font-family: var(--jp-serif);
  font-size: 15px;
  line-height: 1.58;
}
.jp-footer__navigation {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  column-gap: 52px;
  row-gap: 0;
  border-top: 1px solid rgba(189,143,71,.30);
}
.jp-footer__navigation a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 70px;
  color: #18362b;
  border-bottom: 1px solid rgba(189,143,71,.30);
  font-family: var(--jp-serif);
  font-size: 20px;
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.1;
  transition: color .18s ease;
}
.jp-footer__navigation a:hover,
.jp-footer__navigation a:focus-visible {
  color: #9a7133;
  outline: none;
}
.jp-footer__arrow {
  flex: 0 0 auto;
  color: #b88a43;
  font-family: var(--jp-sans);
  font-size: 25px;
  font-weight: 400;
  line-height: 1;
  transform: translateY(-1px);
  transition: transform .18s ease,color .18s ease;
}
.jp-footer__navigation a:hover .jp-footer__arrow,
.jp-footer__navigation a:focus-visible .jp-footer__arrow {
  color: #9a7133;
  transform: translate(2px,-1px);
}
.jp-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 46px;
  padding-top: 14px;
  color: #858b87;
  border-top: 1px solid rgba(16,45,35,.10);
}
.jp-footer__bottom small,
.jp-footer__credit {
  font-size: 12.5px;
  line-height: 1.4;
}
.jp-footer__credit {
  color: #7b817d;
  transition: color .18s ease;
}
.jp-footer__credit:hover,
.jp-footer__credit:focus-visible {
  color: #9a7133;
  outline: none;
}

/* Standard WordPress pages remain intentionally spare until built in Elementor. */
.jp-page-shell { min-height: 56vh; padding: 54px 0 78px; background: var(--jp-paper); }
.jp-page-shell > .jp-wrap,
.jp-wrap { width: min(calc(100% - 64px), 1120px); margin-inline: auto; }
.jp-page-header { margin-bottom: 34px; }
.jp-page-header h1 { font-size: clamp(40px, 4.2vw, 56px); }
.jp-content { color: #2b332e; }
.jp-content > * { max-width: 820px; }
.jp-content > .alignwide { max-width: 1120px; }
.jp-content > .alignfull { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); }

.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { position:fixed!important; left:8px; top:8px; width:auto; height:auto; margin:0; padding:12px 16px; clip:auto; background:#fff; color:#111; z-index:100000; }

@media (max-width: 980px) and (min-width: 881px) {
  .jp-header__shell { grid-template-columns: 170px minmax(0,1fr) 154px; column-gap: 14px; padding-inline: 22px; }
  .jp-brand--header { width: 164px; }
  .jp-brand--header .jp-brand__image { width: 164px; left: 0; }
  .jp-nav ul, .jp-nav .jp-menu { gap: 20px; }
  .jp-nav a { font-size: 15px; }
  .jp-header__cta { padding-inline: 14px; font-size: 9.5px; }
  .jp-header__strap { font-size: 6.5px; }
  .jp-hero__copy { padding-left: 44px; padding-right: 34px; }
  .jp-hero h1 { font-size: 52px; }
  .jp-promise__copy { padding-left: 44px; padding-right: 30px; }
}

@media (max-width: 880px) {
  .jp-header__shell { height: 86px; grid-template-columns: 1fr auto; grid-template-rows: 86px; align-items: center; padding: 0 22px; }
  .jp-brand--header { grid-column: 1; grid-row: 1; width: 150px; height: 86px; }
  .jp-brand--header .jp-brand__image { position: absolute; width: 150px; top: -5px; left: -2px; }
  .jp-header__strap, .jp-header__cta { display: none; }
  .jp-menu-toggle {
    display: block;
    width: 42px;
    height: 42px;
    padding: 9px;
    border: 0;
    background: transparent;
    cursor: pointer;
  }
  .jp-menu-toggle span { display:block; height:2px; margin:5px 0; background:var(--jp-ink-deep); }
  .jp-nav {
    display: none;
    position: absolute;
    top: 86px;
    left: 0;
    right: 0;
    background: var(--jp-paper);
    border-top: 1px solid var(--jp-line);
    box-shadow: 0 14px 30px rgba(0,0,0,.08);
  }
  .jp-nav.is-open { display: block; }
  .jp-nav ul, .jp-nav .jp-menu { display: block; padding: 12px 24px 20px; }
  .jp-nav li { border-bottom: 1px solid var(--jp-line); }
  .jp-nav li:last-child { border-bottom: 0; }
  .jp-nav a { padding: 14px 4px; font-size: 16px; }
  .jp-nav .current-menu-item > a::after, .jp-nav a:hover::after { display:none; }

  .jp-hero__grid { grid-template-columns: 1fr; height: auto; }
  .jp-hero__copy { padding: 48px 34px 42px; }
  .jp-hero h1 { font-size: clamp(52px, 11vw, 68px); }
  .jp-hero__lead { max-width: 620px; font-size: 16px; }
  .jp-hero__media { height: auto; aspect-ratio: 594 / 462; }

  .jp-promise__grid { grid-template-columns: 1fr; height: auto; }
  .jp-promise__copy { padding: 48px 34px; }
  .jp-promise h2 { font-size: clamp(42px, 9.8vw, 58px); }
  .jp-promise__media { height: auto; aspect-ratio: 564 / 290; }

  .jp-process__inner { padding: 52px 28px 28px; }
  .jp-process__grid { grid-template-columns: 1fr 1fr; }
  .jp-step:nth-child(2) { border-right: 0; }
  .jp-step:nth-child(-n+2) { border-bottom: 1px solid var(--jp-line); }

  .jp-support__grid { grid-template-columns: 1fr; height: auto; }
  .jp-support__media { height: auto; aspect-ratio: 512 / 213; }
  .jp-support__copy { padding: 44px 34px 48px; }
  .jp-support h2 { font-size: 38px; }

  .jp-cta__grid { grid-template-columns: 1fr; gap: 26px; padding: 40px 34px; }
  .jp-cta__action { align-items: flex-start; }

  .jp-footer__pitch-inner { grid-template-columns: 1fr; gap: 34px; padding: 46px 30px; }
  .jp-footer__pitch-action { justify-self: start; width: min(100%,420px); padding-left: 0; padding-top: 26px; border-left: 0; border-top: 1px solid rgba(189,143,71,.28); }
  .jp-footer__grid { grid-template-columns: 1fr 1fr; gap: 42px; padding: 48px 30px 42px; }
  .jp-footer__brand-block { max-width: none; grid-column: 1 / -1; display: grid; grid-template-columns: 205px minmax(0,1fr); column-gap: 28px; align-items: start; }
  .jp-footer__brand-block p { margin-top: 2px; }

}

@media (max-width: 520px) {
  .jp-header__shell { height: 78px; grid-template-rows: 78px; padding-inline: 17px; }
  .jp-nav { top: 78px; }
  .jp-brand--header { width: 142px; height: 78px; }
  .jp-brand--header .jp-brand__image { width: 142px; top: -5px; left: -2px; }
  .jp-hero__copy { padding: 40px 23px 34px; }
  .jp-hero h1 { font-size: 49px; line-height: .95; }
  .jp-gold-rule { margin: 17px 0 19px; }
  .jp-hero__lead { margin-bottom: 22px; }
  .jp-button { width: 100%; max-width: 290px; }
  .jp-hero__media { min-height: 350px; aspect-ratio: auto; }
  .jp-hero__media img { object-position: 58% center; }

  .jp-promise__copy { padding: 40px 23px; }
  .jp-promise h2 { font-size: 42px; }
  .jp-promise__media { min-height: 250px; aspect-ratio: auto; }
  .jp-promise__media img { object-position: 53% center; }

  .jp-process__inner { padding: 46px 20px 18px; }
  .jp-process h2 { font-size: 35px; }
  .jp-process__grid { grid-template-columns: 1fr; }
  .jp-step { min-height: auto; border-right: 0; border-bottom: 1px solid var(--jp-line); padding: 31px 18px 29px; }
  .jp-step:last-child { border-bottom: 0; }
  .jp-step__number { top: 79px; }

  .jp-support__media { min-height: 240px; aspect-ratio: auto; }
  .jp-support__copy { padding: 38px 23px 42px; }
  .jp-support h2 { font-size: 38px; }

  .jp-cta__grid { min-height: 0; padding: 38px 23px 42px; }
  .jp-cta h2 { font-size: 35px; }
  .jp-cta h2 br { display: none; }

  .jp-footer__pitch-inner { min-height: 0; padding: 38px 22px 42px; gap: 29px; }
  .jp-footer__pitch-copy h2 { font-size: 39px; }
  .jp-footer__pitch-copy p { margin-top: 16px; font-size: 15.5px; }
  .jp-footer__pitch-action { width: 100%; padding-top: 23px; }
  .jp-footer__primary-action { min-height: 58px; padding-inline: 20px; }
  .jp-footer__grid { grid-template-columns: 1fr; gap: 38px; padding: 42px 22px 36px; }
  .jp-footer__brand-block { grid-column: auto; display: block; }
  .jp-footer__logo, .jp-footer__logo img { width: 180px; }
  .jp-footer__brand-block p { margin-top: 20px; font-size: 14.5px; }
  .jp-footer__account-panel { padding: 22px 20px 24px; }
  .jp-footer__account-panel h3 { font-size: 28px; }
}

/* Fidelity corrections: preserve the approved 1024px composition exactly. */
@media (min-width: 981px) {
  .jp-hero__copy,
  .jp-hero__media,
  .jp-promise__copy,
  .jp-promise__media { min-height: 0; height: 100%; }
}

/* =========================================================
   Restaurants & Pubs — unified site build v2.0.4
   Uses the SAME 1024px site frame, header and footer as Home.
   The signed-off 846px composition is proportionally scaled
   into the global site system rather than shrinking the site.
   ========================================================= */
.jp-trade-page { background:#f7f4ef; }
.jp-trade-page .jp-site-frame { width:min(100%, var(--jp-frame)); }

/* Hero: 41.6 / 58.4 split from signed-off artwork, at global scale */
.jp-trade-hero { background:#f6f1eb; }
.jp-trade-hero__grid {
  display:grid;
  grid-template-columns:41.6% 58.4%;
  min-height:437px;
  height:437px;
  overflow:hidden;
}
.jp-trade-hero__copy {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:42px 28px 34px 53px;
  background:linear-gradient(90deg,#f7f3ee 0%,#f7f3ee 84%,#f2eee8 100%);
}
.jp-trade-hero__copy h1 {
  margin:0;
  color:var(--jp-ink-deep);
  font-size:56px;
  line-height:.965;
  letter-spacing:-.045em;
}
.jp-trade-hero__copy h1 span { display:block; }
.jp-trade-hero__copy .jp-gold-rule { width:45px; height:3px; margin:17px 0 17px; }
.jp-trade-hero__copy > p:not(.jp-trade-hero__signoff) {
  max-width:350px;
  margin:0 0 20px;
  color:#303833;
  font-size:15.5px;
  line-height:1.47;
}
.jp-trade-hero__copy .jp-button {
  min-width:234px;
  min-height:43px;
  padding:0 23px;
  gap:23px;
  font-size:10.5px;
}
.jp-trade-hero__signoff {
  margin:13px 0 0;
  color:#53645c;
  font-size:8.5px;
  font-weight:700;
  letter-spacing:.31em;
  text-transform:uppercase;
}
.jp-trade-hero__media {
  position:relative;
  height:437px;
  overflow:hidden;
  background:#241d17;
}
.jp-trade-hero__media img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 50%;
  filter:saturate(1.03) contrast(1.03) brightness(.93);
}

/* Product families */
.jp-ranges { background:#f8f5f0; }
.jp-ranges__inner { padding:32px 52px 38px; }
.jp-section-intro .jp-gold-rule { width:35px; height:3px; margin:0 0 14px; }
.jp-section-intro h2 {
  margin:0;
  color:var(--jp-ink-deep);
  font-size:46px;
  line-height:1;
  letter-spacing:-.04em;
}
.jp-section-intro p { margin:9px 0 0; color:#4e5550; font-size:15px; line-height:1.45; }
.jp-ranges__grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
  margin-top:22px;
}
.jp-range-card {
  position:relative;
  min-width:0;
  padding:0 14px 3px 0;
  display:flex;
  flex-direction:column;
}
.jp-range-card:not(:last-child)::after {
  position:absolute;
  top:207px;
  right:-1px;
  bottom:0;
  width:1px;
  background:rgba(16,45,35,.13);
  content:"";
}
.jp-range-card:last-child { padding-right:0; }
.jp-range-card img {
  width:100%;
  height:194px;
  margin:0 0 10px;
  object-fit:cover;
  object-position:center;
}
.jp-range-card h3 {
  margin:0 0 6px;
  min-height:27px;
  color:var(--jp-ink-deep);
  font-size:22px;
  line-height:1.05;
  letter-spacing:-.03em;
}
.jp-range-card p {
  min-height:75px;
  margin:0 0 13px;
  color:#505550;
  font-size:13.5px;
  line-height:1.44;
}
.jp-range-card a {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:auto;
  color:#203229;
  font-size:9.7px;
  font-weight:750;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.jp-range-card a:hover { color:#8e6731; }

/* Operational proposition */
.jp-trade-benefits {
  color:#fff;
  background:linear-gradient(135deg,#153a2a 0%,#103325 58%,#18392b 100%);
}
.jp-trade-benefits__inner { padding:25px 53px 31px; }
.jp-trade-benefits__top {
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:63px;
  align-items:start;
}
.jp-trade-benefits__top .jp-gold-rule { width:35px; height:3px; margin:0 0 12px; background:#d5a95d; }
.jp-trade-benefits__top h2 { margin:0; color:#fff; font-size:38px; line-height:1.03; letter-spacing:-.03em; }
.jp-trade-benefits__top p { margin:0; padding-top:20px; color:rgba(255,255,255,.89); font-size:14px; line-height:1.48; }
.jp-trade-benefits__grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:27px;
}
.jp-trade-benefits__grid article {
  padding:0 18px;
  text-align:center;
  border-right:1px solid rgba(216,181,109,.35);
}
.jp-trade-benefits__grid article:last-child { border-right:0; }
.jp-trade-icon {
  width:67px;
  height:67px;
  display:grid;
  place-items:center;
  margin:0 auto 11px;
  border:1px solid #d8b56d;
  border-radius:50%;
}
.jp-trade-icon svg { width:38px; height:38px; fill:none; stroke:#d8b56d; stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round; }
.jp-trade-benefits h3 { margin:0 0 5px; color:#fff; font-size:10.5px; font-weight:750; letter-spacing:.16em; line-height:1.3; text-transform:uppercase; }
.jp-trade-benefits__grid p { margin:0 auto; color:rgba(255,255,255,.84); font-size:13px; line-height:1.4; }

/* Real-food mosaic */
.jp-trade-gallery { background:#f8f5f0; }
.jp-trade-gallery__inner { padding:30px 52px 34px; }
.jp-trade-gallery__heading {
  display:grid;
  grid-template-columns:1fr 288px;
  gap:41px;
  align-items:end;
  margin-bottom:19px;
}
.jp-trade-gallery__heading .jp-gold-rule { width:35px; height:3px; margin:0 0 13px; }
.jp-trade-gallery__heading h2 { margin:0; font-size:44px; line-height:1; letter-spacing:-.04em; }
.jp-trade-gallery__heading p { margin:0 0 2px; color:#555a56; font-size:14px; line-height:1.45; }
.jp-trade-gallery__grid {
  display:grid;
  grid-template-columns:29.4fr 31.6fr 29fr;
  gap:11px;
  height:357px;
}
.jp-trade-gallery figure { margin:0; overflow:hidden; background:#ddd5ca; }
.jp-trade-gallery img { width:100%; height:100%; object-fit:cover; object-position:center; }
.jp-gallery-stack { display:grid; grid-template-rows:1fr 1fr; gap:11px; min-height:0; }
.jp-gallery-stack figure { min-height:0; }

/* CTA */
.jp-trade-cta {
  position:relative;
  overflow:hidden;
  color:#fff;
  background:#173428;
}
.jp-trade-cta::before {
  position:absolute;
  inset:0;
  background-image:linear-gradient(90deg,rgba(19,51,38,.58),rgba(19,51,38,.75)),url('assets/images/leaf-texture.jpg');
  background-size:cover;
  background-position:center;
  opacity:.95;
  content:"";
}
.jp-trade-cta__grid {
  position:relative;
  z-index:1;
  min-height:201px;
  display:grid;
  grid-template-columns:1.06fr .94fr;
  gap:70px;
  align-items:center;
  padding:29px 54px;
}
.jp-trade-cta .jp-eyebrow { margin:0 0 9px; color:#d8b56d; font-size:9.8px; letter-spacing:.24em; }
.jp-trade-cta h2 { margin:0; color:#fff; font-size:39px; line-height:1.02; }
.jp-trade-cta__copy p { max-width:375px; margin:0 0 16px; color:rgba(255,255,255,.88); font-size:14px; line-height:1.46; }
.jp-trade-cta__copy .jp-button { min-width:223px; min-height:43px; padding:0 24px; font-size:10.4px; }
.jp-trade-cta__copy small { display:block; margin-top:8px; font-size:8.5px; font-weight:650; letter-spacing:.18em; text-transform:uppercase; }

/* Tablet: keep the same site system as Home; only the page content reflows. */
@media (max-width:880px) {
  .jp-trade-hero__grid { grid-template-columns:1fr; height:auto; min-height:0; }
  .jp-trade-hero__copy { padding:46px 34px 40px; }
  .jp-trade-hero__copy h1 { font-size:clamp(48px,9vw,62px); }
  .jp-trade-hero__copy > p:not(.jp-trade-hero__signoff) { max-width:560px; font-size:16px; }
  .jp-trade-hero__media { height:auto; min-height:380px; aspect-ratio:1.45/1; }

  .jp-ranges__inner,
  .jp-trade-benefits__inner,
  .jp-trade-gallery__inner { padding-left:28px; padding-right:28px; }
  .jp-ranges__grid { grid-template-columns:1fr 1fr; gap:28px 18px; }
  .jp-range-card { padding-right:0; }
  .jp-range-card:nth-child(odd) { padding-right:18px; border-right:1px solid var(--jp-line); }
  .jp-range-card:not(:last-child)::after { display:none; }
  .jp-range-card img { height:auto; aspect-ratio:1.12/1; }
  .jp-range-card p { min-height:0; }

  .jp-trade-benefits__top { grid-template-columns:1fr; gap:12px; }
  .jp-trade-benefits__top p { padding-top:0; }
  .jp-trade-benefits__grid { grid-template-columns:1fr 1fr; row-gap:30px; }
  .jp-trade-benefits__grid article:nth-child(2) { border-right:0; }

  .jp-trade-gallery__heading { grid-template-columns:1fr; gap:10px; }
  .jp-trade-gallery__grid { grid-template-columns:1fr 1fr; height:auto; }
  .jp-gallery-tall { aspect-ratio:4/5; }
  .jp-gallery-stack { min-height:0; }
  .jp-gallery-stack figure { aspect-ratio:16/10; }

  .jp-trade-cta__grid { grid-template-columns:1fr; gap:22px; min-height:0; padding:42px 34px; }
}

@media (max-width:520px) {
  .jp-trade-hero__copy { padding:40px 23px 36px; }
  .jp-trade-hero__copy h1 { font-size:45px; }
  .jp-trade-hero__copy .jp-button { width:100%; max-width:290px; }
  .jp-trade-hero__media { min-height:330px; aspect-ratio:auto; }

  .jp-ranges__inner,
  .jp-trade-benefits__inner,
  .jp-trade-gallery__inner { padding:38px 20px; }
  .jp-section-intro h2,
  .jp-trade-gallery__heading h2 { font-size:36px; }
  .jp-section-intro p,
  .jp-trade-gallery__heading p { font-size:14px; }
  .jp-ranges__grid { grid-template-columns:1fr; gap:30px; }
  .jp-range-card,
  .jp-range-card:nth-child(odd) { padding-right:0; border-right:0; }
  .jp-range-card img { aspect-ratio:1.35/1; }
  .jp-range-card h3 { font-size:25px; }
  .jp-range-card p { font-size:14px; }
  .jp-range-card a { font-size:10px; }

  .jp-trade-benefits__top h2 { font-size:35px; }
  .jp-trade-benefits__top p { font-size:14px; }
  .jp-trade-benefits__grid { grid-template-columns:1fr; gap:0; }
  .jp-trade-benefits__grid article { border-right:0; border-bottom:1px solid rgba(216,181,109,.26); padding:24px 0; }
  .jp-trade-benefits__grid article:last-child { border-bottom:0; }
  .jp-trade-benefits h3 { font-size:11px; }
  .jp-trade-benefits__grid p { font-size:13.5px; }

  .jp-trade-gallery__grid { grid-template-columns:1fr; }
  .jp-gallery-tall { aspect-ratio:4/5; }

  .jp-trade-cta__grid { padding:40px 23px; }
  .jp-trade-cta h2 { font-size:35px; }
  .jp-trade-cta__copy p { font-size:14px; }
}

/* =========================================================
   How It Works — approved design implementation v2.0.5
   Built inside the same 1024px global site frame as Home and
   Restaurants & Pubs. No alternate page scaling.
   ========================================================= */
.jp-how-page { background:#f7f4ef; }
.jp-how-page .jp-site-frame { width:min(100%, var(--jp-frame)); }

/* Hero */
.jp-how-hero { background:#f4efe9; }
.jp-how-hero__grid {
  display:grid;
  grid-template-columns:42% 58%;
  height:430px;
  overflow:hidden;
}
.jp-how-hero__copy {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:36px 34px 31px 53px;
  background:linear-gradient(90deg,#f7f3ee 0%,#f5f1eb 78%,#efede8 100%);
}
.jp-how-hero__copy .jp-eyebrow { margin-bottom:14px; }
.jp-how-hero__copy h1 {
  margin:0;
  color:var(--jp-ink-deep);
  font-size:53px;
  line-height:.98;
  letter-spacing:-.04em;
}
.jp-how-hero__copy .jp-gold-rule { width:42px; height:3px; margin:17px 0 18px; }
.jp-how-hero__lead {
  max-width:355px;
  margin:0 0 21px;
  color:#343a36;
  font-size:15px;
  line-height:1.48;
}
.jp-how-hero__copy .jp-button { min-width:204px; min-height:43px; padding-inline:24px; font-size:10.5px; }
.jp-how-hero__signoff {
  margin:14px 0 0;
  color:#637168;
  font-size:8px;
  font-weight:700;
  letter-spacing:.31em;
  text-transform:uppercase;
}
.jp-how-hero__media { position:relative; height:430px; overflow:hidden; background:#211b16; }
.jp-how-hero__media img { width:100%; height:100%; object-fit:cover; object-position:center; }

/* Four-step process */
.jp-how-process { background:#f8f5f0; }
.jp-how-process__inner { padding:33px 53px 35px; }
.jp-how-process__inner > .jp-gold-rule { width:35px; height:3px; margin:0 0 14px; }
.jp-how-process h2 { margin:0; color:var(--jp-ink-deep); font-size:45px; line-height:1; letter-spacing:-.04em; }
.jp-how-process__intro { margin:8px 0 0; color:#5a5d59; font-size:15px; line-height:1.45; }
.jp-how-process__grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:24px;
  margin-top:23px;
}
.jp-how-card {
  position:relative;
  min-width:0;
  padding:0;
}
.jp-how-card:not(:last-child)::after {
  content:"";
  position:absolute;
  top:0;
  right:-12px;
  width:1px;
  height:100%;
  background:rgba(16,45,35,.13);
}
.jp-how-card__media {
  position:relative;
  width:100%;
  aspect-ratio:1.42 / 1;
  margin:0 0 11px;
  overflow:visible;
}
.jp-how-card__media img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.jp-how-step-number {
  position:absolute;
  z-index:2;
  left:-12px;
  top:-11px;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,#e2bf78,#c9943f);
  color:#17130e;
  font-family:var(--jp-serif);
  font-size:25px;
  line-height:1;
  box-shadow:0 2px 6px rgba(38,28,14,.12);
}
.jp-how-card h3 { margin:0 0 7px; color:var(--jp-ink-deep); font-size:22px; line-height:1.05; letter-spacing:-.035em; }
.jp-how-card p { margin:0; color:#565b56; font-size:13.5px; line-height:1.48; }

/* Value/support panel */
.jp-how-benefits { color:#fff; background:linear-gradient(135deg,#123d2c 0%,#0f3426 58%,#183e2e 100%); }
.jp-how-benefits__inner { padding:29px 53px 30px; }
.jp-how-benefits__inner > .jp-gold-rule { width:35px; height:3px; margin:0 0 13px; background:#d1a554; }
.jp-how-benefits h2 { margin:0; color:#fff; font-size:38px; line-height:1.03; letter-spacing:-.035em; }
.jp-how-benefits__lead { margin:7px 0 0; color:rgba(255,255,255,.95); font-size:15px; line-height:1.4; }
.jp-how-benefits__grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:24px; }
.jp-how-benefits__grid article { text-align:center; padding:0 19px; border-right:1px solid rgba(215,178,103,.42); }
.jp-how-benefits__grid article:last-child { border-right:0; }
.jp-how-benefits__icon {
  width:56px; height:56px; margin:0 auto 11px; display:grid; place-items:center;
  border:1.5px solid #d9ae59; border-radius:50%; color:#d9ae59;
}
.jp-how-benefits__icon svg { width:31px; height:31px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.jp-how-benefits__grid h3 { margin:0 0 7px; color:#fff; font-size:10px; font-weight:750; letter-spacing:.16em; line-height:1.25; text-transform:uppercase; }
.jp-how-benefits__grid p { margin:0; color:rgba(255,255,255,.87); font-size:13px; line-height:1.4; }

/* Ingredients */
.jp-how-ingredients { background:#f6f2ed; }
.jp-how-ingredients__grid { display:grid; grid-template-columns:49% 51%; min-height:310px; }
.jp-how-ingredients__media { padding:27px 14px 27px 53px; }
.jp-how-ingredients__media img { width:100%; height:256px; object-fit:cover; object-position:center; }
.jp-how-ingredients__copy { position:relative; display:flex; align-items:center; min-width:0; padding:26px 34px 25px 39px; overflow:hidden; }
.jp-how-ingredients__text { position:relative; z-index:2; width:66%; }
.jp-how-ingredients__copy .jp-gold-rule { width:35px; height:3px; margin:0 0 13px; }
.jp-how-ingredients h2 { margin:0; color:var(--jp-ink-deep); font-size:39px; line-height:1.02; letter-spacing:-.035em; }
.jp-how-ingredients__text p { margin:15px 0 17px; color:#535853; font-size:13.5px; line-height:1.48; }
.jp-how-ingredients__text .jp-button { min-width:193px; min-height:40px; padding-inline:22px; font-size:9.8px; }
.jp-how-ingredients__decor { position:absolute; z-index:1; right:9px; top:23px; width:150px; height:auto; mix-blend-mode:multiply; opacity:.96; }

/* Closing CTA */
.jp-how-cta { position:relative; overflow:hidden; color:#fff; background:#173a2b; }
.jp-how-cta::before {
  position:absolute; inset:0; content:"";
  background-image:linear-gradient(90deg,rgba(20,55,40,.20),rgba(20,55,40,.12)),url('assets/images/leaf-texture.jpg');
  background-size:cover; background-position:center; opacity:.90;
}
.jp-how-cta__grid { position:relative; z-index:1; min-height:178px; display:grid; grid-template-columns:49% 51%; align-items:center; padding:27px 53px; }
.jp-how-cta .jp-eyebrow { margin-bottom:7px; color:#d7b367; }
.jp-how-cta h2 { margin:0; color:#fff; font-size:34px; line-height:1.03; letter-spacing:-.03em; }
.jp-how-cta__action { padding-left:39px; }
.jp-how-cta__action p { max-width:390px; margin:0 0 14px; color:rgba(255,255,255,.91); font-size:13.5px; line-height:1.45; }
.jp-how-cta__action .jp-button { min-width:195px; min-height:40px; font-size:9.8px; }
.jp-how-cta__action small { display:block; margin-top:8px; color:#fff; font-size:7.5px; font-weight:700; letter-spacing:.19em; text-transform:uppercase; }

@media (max-width:880px) {
  .jp-how-hero__grid { grid-template-columns:1fr; height:auto; }
  .jp-how-hero__copy { padding:46px 34px 39px; }
  .jp-how-hero__copy h1 { font-size:clamp(48px,9vw,62px); }
  .jp-how-hero__lead { max-width:620px; font-size:16px; }
  .jp-how-hero__media { height:auto; aspect-ratio:530/385; }

  .jp-how-process__inner { padding:45px 32px 38px; }
  .jp-how-process__grid { grid-template-columns:1fr 1fr; gap:28px 22px; }
  .jp-how-card:not(:last-child)::after { display:none; }
  .jp-how-card h3 { font-size:24px; }
  .jp-how-card p { font-size:14px; }

  .jp-how-benefits__inner { padding:42px 32px 40px; }
  .jp-how-benefits__grid { grid-template-columns:1fr 1fr; gap:30px 0; }
  .jp-how-benefits__grid article:nth-child(2) { border-right:0; }
  .jp-how-benefits__grid article { padding:0 24px; }

  .jp-how-ingredients__grid { grid-template-columns:1fr; }
  .jp-how-ingredients__media { padding:32px 32px 0; }
  .jp-how-ingredients__media img { height:auto; aspect-ratio:384/234; }
  .jp-how-ingredients__copy { min-height:290px; padding:38px 32px 42px; }
  .jp-how-ingredients__text { width:68%; }
  .jp-how-ingredients__decor { right:28px; top:34px; width:155px; }

  .jp-how-cta__grid { grid-template-columns:1fr; gap:24px; min-height:0; padding:40px 32px 43px; }
  .jp-how-cta__action { padding-left:0; }
}

@media (max-width:520px) {
  .jp-how-hero__copy { padding:39px 23px 34px; }
  .jp-how-hero__copy h1 { font-size:47px; line-height:.96; }
  .jp-how-hero__copy .jp-button { width:100%; max-width:290px; }
  .jp-how-hero__media { min-height:340px; aspect-ratio:auto; }
  .jp-how-hero__media img { object-position:55% center; }

  .jp-how-process__inner { padding:39px 23px 34px; }
  .jp-how-process h2 { font-size:39px; }
  .jp-how-process__grid { grid-template-columns:1fr; gap:30px; }
  .jp-how-card { padding-bottom:28px; border-bottom:1px solid rgba(16,45,35,.13); }
  .jp-how-card:last-child { padding-bottom:0; border-bottom:0; }
  .jp-how-card__media { width:100%; }
  .jp-how-card h3 { font-size:27px; }
  .jp-how-card p { font-size:15px; }

  .jp-how-benefits__inner { padding:39px 23px 38px; }
  .jp-how-benefits h2 { font-size:36px; }
  .jp-how-benefits__lead { font-size:15px; }
  .jp-how-benefits__grid { grid-template-columns:1fr; gap:0; margin-top:22px; }
  .jp-how-benefits__grid article { padding:24px 0; border-right:0; border-bottom:1px solid rgba(215,178,103,.35); }
  .jp-how-benefits__grid article:last-child { border-bottom:0; }
  .jp-how-benefits__grid h3 { font-size:11px; }
  .jp-how-benefits__grid p { font-size:14px; }

  .jp-how-ingredients__media { padding:26px 23px 0; }
  .jp-how-ingredients__copy { min-height:360px; padding:33px 23px 38px; align-items:flex-start; }
  .jp-how-ingredients__text { width:100%; max-width:290px; }
  .jp-how-ingredients h2 { font-size:38px; }
  .jp-how-ingredients__text p { font-size:14.5px; }
  .jp-how-ingredients__decor { right:8px; bottom:16px; top:auto; width:125px; opacity:.55; }
  .jp-how-ingredients__text .jp-button { width:100%; max-width:290px; }

  .jp-how-cta__grid { padding:37px 23px 40px; }
  .jp-how-cta h2 { font-size:35px; }
  .jp-how-cta h2 br { display:none; }
  .jp-how-cta__action p { font-size:14.5px; }
  .jp-how-cta__action .jp-button { width:100%; max-width:290px; }
}

/* v2.0.10: interior hero images are deliberately clean.
   No fades, overlays, quotes, filters or decorative pseudo-elements.
   Homepage hero is intentionally untouched. */
.jp-trade-hero__media,
.jp-how-hero__media {
  background: transparent;
}
.jp-trade-hero__media::before,
.jp-trade-hero__media::after,
.jp-how-hero__media::before,
.jp-how-hero__media::after {
  content: none !important;
  display: none !important;
  background: none !important;
}
.jp-trade-hero__media img,
.jp-how-hero__media img {
  opacity: 1 !important;
  filter: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

/* =========================================================
   v2.0.12 — responsive UI polish
   Keep the global header self-contained at every breakpoint.
   ========================================================= */
.jp-header,
.jp-header__shell { overflow: visible; }
.jp-brand--header {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  overflow:hidden;
}
.jp-brand--header .jp-brand__image {
  position:static;
  width:auto;
  max-width:100%;
  max-height:96px;
  object-fit:contain;
  object-position:left center;
}

@media (max-width:980px) and (min-width:881px) {
  .jp-brand--header .jp-brand__image { width:auto; max-width:164px; max-height:92px; }
}

@media (max-width:880px) {
  .jp-header { isolation:isolate; }
  .jp-header__shell {
    width:100%;
    max-width:100%;
    min-height:86px;
  }
  .jp-brand--header {
    position:relative;
    width:150px;
    max-width:calc(100vw - 92px);
    overflow:hidden;
  }
  .jp-brand--header .jp-brand__image {
    position:static;
    width:auto;
    max-width:100%;
    max-height:80px;
  }
  .jp-menu-toggle {
    position:relative;
    z-index:3;
    grid-column:2;
    grid-row:1;
    justify-self:end;
    flex:0 0 42px;
  }
  .jp-nav {
    z-index:2;
    box-sizing:border-box;
    width:100vw;
    max-width:100vw;
    left:50%;
    right:auto;
    transform:translateX(-50%);
    overflow-x:hidden;
    overflow-y:auto;
    max-height:calc(100vh - 86px);
    max-height:calc(100dvh - 86px);
  }
  .jp-nav ul,
  .jp-nav .jp-menu {
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    margin:0;
    padding:12px max(22px, env(safe-area-inset-right)) 20px max(22px, env(safe-area-inset-left));
    overflow-wrap:anywhere;
  }
  .jp-nav li,
  .jp-nav a { max-width:100%; }
  .jp-nav a { white-space:normal; }
  body.jp-menu-open { overflow:hidden; }
}

@media (max-width:520px) {
  .jp-header__shell { min-height:78px; }
  .jp-brand--header { width:142px; max-width:calc(100vw - 78px); }
  .jp-brand--header .jp-brand__image { max-height:72px; }
  .jp-nav {
    max-height:calc(100vh - 78px);
    max-height:calc(100dvh - 78px);
  }
  .jp-nav ul,
  .jp-nav .jp-menu {
    padding-left:max(17px, env(safe-area-inset-left));
    padding-right:max(17px, env(safe-area-inset-right));
  }
}


/* v2.0.13 — mobile header/menu positioning */
@media (max-width:880px) {
  .jp-header__shell {
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:86px;
    min-height:86px;
    padding-left:max(22px, env(safe-area-inset-left));
    padding-right:max(22px, env(safe-area-inset-right));
  }
  .jp-brand--header {
    flex:0 1 150px;
    height:80px;
    max-width:calc(100% - 64px);
  }
  .jp-menu-toggle {
    position:relative;
    right:auto;
    top:auto;
    margin:0;
    flex:0 0 42px;
    align-self:center;
  }
  .jp-nav {
    position:fixed;
    top:86px;
    left:0;
    right:0;
    transform:none;
    width:100%;
    max-width:none;
    margin:0;
  }
}
@media (max-width:520px) {
  .jp-header__shell {
    height:78px;
    min-height:78px;
    padding-left:max(17px, env(safe-area-inset-left));
    padding-right:max(17px, env(safe-area-inset-right));
  }
  .jp-brand--header {
    flex-basis:142px;
    height:72px;
  }
  .jp-nav { top:78px; }
}

/* =========================================================
   v2.0.14 — premium customer-aware header
   ========================================================= */
:root{--jp-header-frame:1440px}
.jp-header{
  position:sticky;top:0;z-index:999;
  background:rgba(248,244,238,.97);
  border-bottom:1px solid rgba(16,45,35,.08);
  backdrop-filter:saturate(130%) blur(12px);
  -webkit-backdrop-filter:saturate(130%) blur(12px);
  transition:box-shadow .22s ease,background .22s ease
}
body.admin-bar .jp-header{top:32px}
.jp-header.is-scrolled{box-shadow:0 8px 28px rgba(20,38,30,.075);background:rgba(248,244,238,.985)}
.jp-header__shell{
  width:min(calc(100% - 48px),var(--jp-header-frame));
  min-height:92px;height:92px;margin-inline:auto;padding:0;
  display:flex;align-items:center;gap:34px;
  transition:min-height .22s ease,height .22s ease
}
.jp-header.is-scrolled .jp-header__shell{min-height:78px;height:78px}
.jp-brand--header{
  position:relative;display:flex;align-items:center;justify-content:flex-start;
  flex:0 0 174px;width:174px;height:88px;overflow:hidden
}
.jp-brand--header .jp-brand__image{
  position:static;display:block;width:auto;max-width:174px;max-height:86px;object-fit:contain;object-position:left center;
  transition:max-height .22s ease,max-width .22s ease
}
.jp-header.is-scrolled .jp-brand--header{height:74px}
.jp-header.is-scrolled .jp-brand--header .jp-brand__image{max-width:158px;max-height:72px}
.jp-header__strap{display:none!important}
.jp-nav{
  position:static;display:flex;flex:1 1 auto;min-width:0;width:auto;
  align-items:center;justify-content:center;align-self:stretch
}
.jp-nav__inner{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.jp-nav__links{display:flex;align-items:center;justify-content:center;gap:31px;height:100%}
.jp-nav__link{
  position:relative;display:inline-flex;align-items:center;min-height:48px;padding:0;
  color:#27342e;font-size:15px;font-weight:590;line-height:1.2;white-space:nowrap;
  transition:color .16s ease
}
.jp-nav__link::after{
  content:"";position:absolute;left:0;right:100%;bottom:6px;height:1px;background:var(--jp-gold);
  transition:right .2s ease
}
.jp-nav__link:hover,.jp-nav__link:focus-visible{color:#8c6530}
.jp-nav__link:hover::after,.jp-nav__link:focus-visible::after,
.jp-nav__food:hover>.jp-nav__link::after,.jp-nav__food.is-open>.jp-nav__link::after{right:0}
.jp-nav__food{position:relative;height:100%;display:flex;align-items:center}
.jp-nav__food-toggle{
  width:26px;height:32px;padding:0;border:0;background:transparent;color:#59615d;cursor:pointer;
  display:grid;place-items:center;border-radius:50%;transition:background .16s ease,color .16s ease
}
.jp-nav__food-toggle:hover,.jp-nav__food-toggle:focus-visible{background:rgba(16,45,35,.06);color:var(--jp-ink-deep);outline:none}
.jp-nav__food-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.jp-nav__food.is-open .jp-nav__food-toggle svg{transform:rotate(180deg)}
.jp-food-menu{
  position:absolute;top:calc(100% - 7px);left:50%;width:min(620px,80vw);padding:21px;
  transform:translate(-50%,8px);opacity:0;visibility:hidden;pointer-events:none;
  border:1px solid rgba(16,45,35,.09);border-radius:14px;background:#fbf8f3;
  box-shadow:0 24px 54px rgba(16,45,35,.14);transition:opacity .16s ease,transform .16s ease,visibility .16s ease
}
.jp-nav__food:hover .jp-food-menu,.jp-nav__food:focus-within .jp-food-menu,.jp-nav__food.is-open .jp-food-menu{
  opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)
}
.jp-food-menu__eyebrow{display:block;margin:0 0 13px;color:#9a7133;font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.jp-food-menu__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.jp-food-menu__grid>a{display:flex;flex-direction:column;gap:5px;min-height:78px;padding:14px 15px;border-radius:9px;background:rgba(255,255,255,.58);transition:background .16s ease,transform .16s ease}
.jp-food-menu__grid>a:hover,.jp-food-menu__grid>a:focus-visible{background:#fff;transform:translateY(-1px);outline:none}
.jp-food-menu__grid strong{font-family:var(--jp-serif);font-size:20px;font-weight:400;color:var(--jp-ink-deep);line-height:1.08}
.jp-food-menu__grid span{color:#68716c;font-size:12px;line-height:1.35}.jp-food-menu__grid b{color:#9a7133;font-weight:700}
.jp-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}
.jp-header__signin{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px;color:#314139;font-size:13px;font-weight:650;transition:color .16s ease}
.jp-header__signin:hover{color:#8c6530}
.jp-header__trade,.jp-header__order{
  display:inline-flex;align-items:center;justify-content:space-between;gap:19px;min-height:48px;padding:0 19px;
  background:linear-gradient(90deg,#c99e55 0%,#dfbd72 100%);color:#18241f;
  font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;
  box-shadow:0 5px 16px rgba(176,128,56,.13);transition:transform .16s ease,box-shadow .16s ease
}
.jp-header__trade:hover,.jp-header__order:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(176,128,56,.18)}
.jp-header__trade b,.jp-header__order b{font-size:18px;line-height:1;font-weight:400}
.jp-account{position:relative}
.jp-account__button{
  display:grid;grid-template-columns:34px minmax(0,1fr) 16px;gap:9px;align-items:center;min-width:168px;max-width:225px;min-height:48px;
  padding:6px 10px 6px 7px;border:1px solid rgba(16,45,35,.11);border-radius:9px;background:rgba(255,255,255,.42);color:var(--jp-ink-deep);cursor:pointer;text-align:left;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease
}
.jp-account__button:hover,.jp-account__button:focus-visible{border-color:rgba(16,45,35,.22);background:#fff;box-shadow:0 8px 20px rgba(16,45,35,.06);outline:none}
.jp-account__initial{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#18392d;color:#fff;font-family:var(--jp-serif);font-size:18px;line-height:1}
.jp-account__copy{display:flex;flex-direction:column;min-width:0;gap:2px}.jp-account__copy strong{overflow:hidden;text-overflow:ellipsis;font-size:12.5px;font-weight:720;line-height:1.15;white-space:nowrap}.jp-account__copy small{overflow:hidden;text-overflow:ellipsis;color:#77807b;font-size:10.5px;line-height:1.15;white-space:nowrap}
.jp-account__chevron{width:14px;height:14px;fill:none;stroke:#64706a;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.jp-account.is-open .jp-account__chevron{transform:rotate(180deg)}
.jp-account__menu{
  position:absolute;top:calc(100% + 10px);right:0;width:240px;padding:17px 18px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px);
  border:1px solid rgba(16,45,35,.09);border-radius:12px;background:#fbf8f3;box-shadow:0 20px 48px rgba(16,45,35,.14);
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease
}
.jp-account.is-open .jp-account__menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.jp-account__menu-eyebrow{display:block;margin-bottom:5px;color:#9a7133;font-size:9.5px;font-weight:800;letter-spacing:.16em}.jp-account__menu>strong{display:block;font-family:var(--jp-serif);font-size:22px;font-weight:400;line-height:1.08}.jp-account__menu>small{display:block;margin-top:4px;color:#6c756f;font-size:12px}.jp-account__menu-links{display:grid;margin-top:14px;padding-top:10px;border-top:1px solid rgba(16,45,35,.09)}.jp-account__menu-links a{padding:7px 0;color:#314139;font-size:13px;font-weight:600}.jp-account__menu-links a:hover{color:#8c6530}
.jp-menu-toggle,.jp-mobile-order,.jp-mobile-account{display:none}

@media(max-width:1120px) and (min-width:881px){
  .jp-header__shell{width:min(calc(100% - 28px),var(--jp-header-frame));gap:20px}
  .jp-brand--header{flex-basis:154px;width:154px}.jp-brand--header .jp-brand__image{max-width:154px}
  .jp-nav__links{gap:20px}.jp-nav__link{font-size:14px}
  .jp-header__trade,.jp-header__order{padding-inline:15px;gap:12px;font-size:10px}
  .jp-account__button{min-width:148px;max-width:180px}
}

@media(max-width:880px){
  body.admin-bar .jp-header{top:46px}
  .jp-header,.jp-header.is-scrolled{background:#f8f4ee;backdrop-filter:none;-webkit-backdrop-filter:none}
  .jp-header__shell,.jp-header.is-scrolled .jp-header__shell{
    width:100%;height:78px;min-height:78px;padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right));gap:10px;
    display:flex;align-items:center;justify-content:space-between
  }
  .jp-brand--header,.jp-header.is-scrolled .jp-brand--header{flex:0 1 148px;width:148px;height:74px;max-width:calc(100% - 116px)}
  .jp-brand--header .jp-brand__image,.jp-header.is-scrolled .jp-brand--header .jp-brand__image{max-width:148px;max-height:71px}
  .jp-header__actions{display:none}
  .jp-mobile-order{display:inline-flex;margin-left:auto;padding:8px 9px;color:#17382c;font-size:12px;font-weight:750;letter-spacing:.04em}
  .jp-menu-toggle{
    display:grid;place-items:center;width:42px;height:42px;padding:9px;border:0;border-radius:50%;background:rgba(255,255,255,.52);cursor:pointer;flex:0 0 42px;z-index:3
  }
  .jp-menu-toggle span{display:block;width:20px;height:1.5px;margin:2.5px 0;background:var(--jp-ink-deep);transition:transform .18s ease,opacity .18s ease}
  .jp-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .jp-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .jp-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  .jp-nav{
    display:block;position:fixed;z-index:998;top:78px;left:0;right:0;width:100%;height:calc(100dvh - 78px);max-height:none;
    background:#f8f4ee;border-top:1px solid rgba(16,45,35,.08);box-shadow:none;overflow-y:auto;overflow-x:hidden;
    opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-5px);transition:opacity .17s ease,transform .17s ease,visibility .17s ease
  }
  body.admin-bar .jp-nav{top:124px;height:calc(100dvh - 124px)}
  .jp-nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .jp-nav__inner{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:min(100%,620px);height:auto;min-height:100%;margin:0 auto;padding:20px max(22px,env(safe-area-inset-right)) 28px max(22px,env(safe-area-inset-left))}
  .jp-nav__links{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;height:auto}
  .jp-nav__link{display:flex;align-items:center;min-height:58px;padding:0 2px;border-bottom:1px solid rgba(16,45,35,.09);font-family:var(--jp-serif);font-size:24px;font-weight:400;color:var(--jp-ink-deep);white-space:normal}
  .jp-nav__link::after{display:none}
  .jp-nav__food{display:grid;grid-template-columns:minmax(0,1fr) 44px;height:auto;border-bottom:1px solid rgba(16,45,35,.09)}
  .jp-nav__food>.jp-nav__link{border-bottom:0}
  .jp-food-menu{grid-column:1/-1}
  .jp-nav__food-toggle{width:44px;height:58px;border-radius:0}
  .jp-food-menu{
    position:static;display:none;width:100%;padding:8px 0 16px;opacity:1;visibility:visible;pointer-events:auto;transform:none;border:0;border-radius:0;background:transparent;box-shadow:none
  }
  .jp-nav__food.is-open .jp-food-menu{display:block;transform:none}
  .jp-food-menu__eyebrow{display:none}
  .jp-food-menu__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .jp-food-menu__grid>a{min-height:70px;padding:13px;border:1px solid rgba(16,45,35,.08);background:rgba(255,255,255,.48)}
  .jp-food-menu__grid strong{font-size:18px}.jp-food-menu__grid span{font-size:12px}
  .jp-mobile-account{display:block;margin-top:auto;padding-top:24px}
  .jp-mobile-account__identity{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:center;padding:15px;border:1px solid rgba(16,45,35,.09);border-radius:10px;background:rgba(255,255,255,.46)}
  .jp-mobile-account__identity .jp-account__initial{width:38px;height:38px}.jp-mobile-account__identity>span:last-child{display:flex;flex-direction:column;gap:3px}.jp-mobile-account__identity strong{font-size:15px}.jp-mobile-account__identity small{color:#737c77;font-size:12.5px}
  .jp-mobile-account__eyebrow{display:block;color:#9a7133;font-size:10px;font-weight:800;letter-spacing:.16em}.jp-mobile-account p{margin:7px 0 14px;color:#59635e;font-size:14px}
  .jp-mobile-account__actions{display:flex;gap:18px;padding:12px 2px}.jp-mobile-account__actions a{font-size:13px;font-weight:650;color:#3a4741}.jp-mobile-account__actions--guest{display:grid;grid-template-columns:1fr;gap:9px;padding:0}
  .jp-mobile-account__primary{display:flex!important;align-items:center;justify-content:space-between;min-height:48px;margin-top:6px;padding:0 16px!important;background:linear-gradient(90deg,#c99e55,#dfbd72);color:#18241f!important;font-size:11px!important;font-weight:800!important;letter-spacing:.12em;text-transform:uppercase}
  body.jp-menu-open{overflow:hidden}
}

@media(max-width:520px){
  .jp-header__shell,.jp-header.is-scrolled .jp-header__shell{height:74px;min-height:74px;padding-left:max(15px,env(safe-area-inset-left));padding-right:max(15px,env(safe-area-inset-right))}
  .jp-brand--header,.jp-header.is-scrolled .jp-brand--header{flex-basis:138px;width:138px;height:70px}.jp-brand--header .jp-brand__image,.jp-header.is-scrolled .jp-brand--header .jp-brand__image{max-width:138px;max-height:68px}
  .jp-nav{top:74px;height:calc(100dvh - 74px)}
  body.admin-bar .jp-nav{top:120px;height:calc(100dvh - 120px)}
  .jp-nav__inner{padding:16px max(17px,env(safe-area-inset-right)) 24px max(17px,env(safe-area-inset-left))}
  .jp-nav__link{font-size:22px;min-height:54px}.jp-nav__food-toggle{height:54px}
  .jp-food-menu__grid{grid-template-columns:1fr}.jp-food-menu__grid>a{min-height:62px}
}

/* =========================================================
   v2.0.15 — premium commerce header + richer food explorer
   ========================================================= */
:root{--jp-header-frame:1180px}
@media(min-width:881px){
  .jp-header__shell{width:min(calc(100% - 48px),var(--jp-header-frame));gap:28px}
  .jp-brand--header{flex:0 0 158px;width:158px;height:86px}
  .jp-brand--header .jp-brand__image{max-width:158px;max-height:82px}
  .jp-header.is-scrolled .jp-brand--header .jp-brand__image{max-width:148px;max-height:70px}
  .jp-nav{justify-content:center}
  .jp-nav__inner{justify-content:center}
  .jp-nav__links{gap:29px}
  .jp-nav__link{min-height:48px;font-size:15.5px;line-height:1.2}
  .jp-nav__link--food{gap:7px}
  .jp-nav__food-toggle{display:none}

  .jp-header__actions{gap:12px}
  .jp-account__button{grid-template-columns:38px minmax(0,1fr) 16px;gap:10px;min-width:190px;max-width:238px;min-height:52px;padding:7px 11px 7px 7px;border-radius:11px}
  .jp-account__initial{width:38px;height:38px;font-size:19px}
  .jp-account__copy{gap:3px}
  .jp-account__copy strong{font-size:14.5px;line-height:1.15}
  .jp-account__copy small{font-size:12px;line-height:1.2}
  .jp-header__trade,.jp-header__order{min-height:52px;padding:0 20px;font-size:11.5px;gap:20px}

  .jp-food-menu{top:calc(100% - 4px);left:50%;width:min(900px,calc(100vw - 64px));padding:24px;transform:translate(-50%,10px);border-radius:18px;background:#fbf8f3;box-shadow:0 28px 70px rgba(16,45,35,.17)}
  .jp-food-menu__top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;padding:2px 2px 20px;border-bottom:1px solid rgba(16,45,35,.08)}
  .jp-food-menu__eyebrow{margin:0 0 7px;font-size:10px}
  .jp-food-menu__title{display:block;color:#14392d;font-family:var(--jp-serif);font-size:27px;font-weight:400;line-height:1.05}
  .jp-food-menu__top p{max-width:520px;margin:7px 0 0;color:#66706b;font-size:13px;line-height:1.5}
  .jp-food-menu__all{display:inline-flex;align-items:center;gap:9px;min-height:38px;color:#17382c;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
  .jp-food-menu__all span{color:#9a7133;font-size:18px;transition:transform .18s ease}
  .jp-food-menu__all:hover span{transform:translateX(3px)}
  .jp-food-menu__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:13px;margin-top:17px}
  .jp-food-menu__card{display:grid!important;grid-template-rows:112px minmax(0,1fr);min-height:264px!important;padding:0!important;overflow:hidden;border:1px solid rgba(16,45,35,.08);border-radius:13px;background:#fff!important;transform:none!important;box-shadow:0 8px 24px rgba(16,45,35,.035);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important}
  .jp-food-menu__card:hover,.jp-food-menu__card:focus-visible{transform:translateY(-2px)!important;box-shadow:0 15px 30px rgba(16,45,35,.075);border-color:rgba(16,45,35,.15);outline:none}
  .jp-food-menu__image{display:block;overflow:hidden;background:#e9dfd2}
  .jp-food-menu__image img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease}
  .jp-food-menu__card:hover .jp-food-menu__image img{transform:scale(1.025)}
  .jp-food-menu__card-copy{display:flex;flex-direction:column;align-items:flex-start;padding:15px 16px 16px}
  .jp-food-menu__card-copy small{color:#9a7133;font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
  .jp-food-menu__card-copy>strong{margin-top:5px;font-family:var(--jp-serif);font-size:23px;font-weight:400;color:#15392d;line-height:1.05}
  .jp-food-menu__card-copy>span{display:-webkit-box;margin-top:7px;overflow:hidden;color:#68716c;font-size:12.5px;line-height:1.42;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .jp-food-menu__card-copy>b{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:13px;color:#17382c;font-size:10.5px;font-style:normal;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
  .jp-food-menu__card-copy>b i{color:#9a7133;font-size:17px;font-style:normal;font-weight:400;transition:transform .18s ease}
  .jp-food-menu__card:hover .jp-food-menu__card-copy>b i{transform:translateX(3px)}
}

@media(max-width:1180px) and (min-width:881px){
  .jp-header__shell{width:min(calc(100% - 28px),var(--jp-header-frame));gap:18px}
  .jp-brand--header{flex-basis:146px;width:146px}.jp-brand--header .jp-brand__image{max-width:146px}
  .jp-nav__links{gap:19px}.jp-nav__link{font-size:14px}
  .jp-account__button{min-width:174px;max-width:205px}.jp-account__copy strong{font-size:13.5px}.jp-account__copy small{font-size:11.5px}
  .jp-header__order,.jp-header__trade{padding-inline:15px;gap:13px;font-size:10.5px}
  .jp-food-menu{width:min(820px,calc(100vw - 36px))}
}

@media(max-width:880px){
  .jp-food-menu{padding:10px 0 16px!important}
  .jp-food-menu__top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:3px 1px 14px;border-bottom:0}
  .jp-food-menu__top>div{display:none}
  .jp-food-menu__all{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
  .jp-food-menu__grid{grid-template-columns:1fr!important;gap:9px;margin-top:0}
  .jp-food-menu__card{display:grid!important;grid-template-columns:92px minmax(0,1fr);grid-template-rows:auto;min-height:92px!important;padding:0!important;overflow:hidden;border:1px solid rgba(16,45,35,.08);border-radius:11px;background:rgba(255,255,255,.55)!important}
  .jp-food-menu__image{height:100%;min-height:92px;background:#e9dfd2}
  .jp-food-menu__image img{width:100%;height:100%;object-fit:cover}
  .jp-food-menu__card-copy{display:flex;flex-direction:column;justify-content:center;padding:12px 14px}
  .jp-food-menu__card-copy small{font-size:9px}.jp-food-menu__card-copy>strong{margin-top:2px;font-family:var(--jp-serif);font-size:20px;font-weight:400;line-height:1.06}.jp-food-menu__card-copy>span{display:none}.jp-food-menu__card-copy>b{margin-top:7px;padding:0;font-size:9.5px}
}

/* =========================================================
   v2.0.16 — navigation alignment + scalable food explorer
   ========================================================= */
@media(min-width:881px){
  /* Every live category remains discoverable as the range grows. */
  .jp-food-menu{width:min(980px,calc(100vw - 64px));max-height:min(72vh,690px);padding:23px 24px 24px}
  .jp-food-menu__grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px;max-height:505px;margin-top:16px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(16,45,35,.24) transparent}
  .jp-food-menu__grid::-webkit-scrollbar{width:6px}.jp-food-menu__grid::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(16,45,35,.22)}
  .jp-food-menu__card{grid-template-rows:92px minmax(0,1fr);min-height:218px!important}
  .jp-food-menu__card-copy{padding:13px 15px 14px}
  .jp-food-menu__card-copy>strong{font-size:21px}
  .jp-food-menu__card-copy>span{margin-top:6px;font-size:12px;line-height:1.38}
  .jp-food-menu__card-copy>b{padding-top:10px}

  /* One commerce slot: Order Food now, live basket/order summary later. */
  .jp-header__commerce>span{display:inline-flex;align-items:center;gap:8px}
  .jp-header__commerce em{display:grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:#17382c;color:#fff;font-size:10px;font-style:normal;letter-spacing:0}
  .jp-header__commerce small{margin-left:auto;color:#27342e;font-size:11px;font-weight:750;letter-spacing:0;text-transform:none}
}

@media(max-width:1180px) and (min-width:881px){
  .jp-food-menu{width:min(860px,calc(100vw - 36px))}
  .jp-food-menu__grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
}

/* =========================================================
   v2.0.19 — primary navigation structural normalization
   ========================================================= */
@media(min-width:881px){
  /* The food wrapper contributes no desktop layout box, so all four anchors are
     true peers in the same flex row and therefore share one exact baseline. */
  .jp-nav__links{position:relative;align-items:center}
  .jp-nav__food{display:contents}
  .jp-nav__link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;height:auto;margin:0;padding:0;font-size:15.5px;font-weight:590;line-height:1.2;transform:none}
  .jp-food-menu{top:calc(100% - 4px)}
}
@media(max-width:1180px) and (min-width:881px){
  .jp-nav__link{font-size:14px}
}



/* Footer responsive composition — v2.0.26 */
@media (max-width: 880px) {
  .jp-footer__main {
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
  }
  .jp-footer__brand { max-width: 420px; }
}
@media (max-width: 700px) {
  .jp-footer__strip { height: 38px; }
  .jp-footer .jp-site-frame { width: calc(100% - 36px); }
  .jp-footer__shell {
    padding-top: 28px;
    padding-bottom: 12px;
  }
  .jp-footer__main {
    gap: 26px;
    padding-bottom: 24px;
  }
  .jp-footer__logo { width: 184px; }
  .jp-footer__brand > p {
    max-width: 320px;
    margin-top: 14px;
    font-size: 14.5px;
  }
  .jp-footer__navigation { column-gap: 24px; }
  .jp-footer__navigation a {
    min-height: 58px;
    font-size: 17.5px;
  }
  .jp-footer__arrow { font-size: 22px; }
  .jp-footer__bottom {
    min-height: 0;
    padding-top: 15px;
  }
}
@media (max-width: 480px) {
  .jp-footer__navigation { grid-template-columns: 1fr; }
  .jp-footer__navigation a { min-height: 54px; }
  .jp-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }
}




/* =========================================================
   Homepage premium UX/UI refinement — v2.0.30
   Presentation only: existing homepage content is unchanged.
   ========================================================= */
.jp-home {
  --jp-home-frame: 1180px;
  background: #f8f5f0;
}
.jp-home .jp-site-frame {
  width: min(calc(100% - 48px), var(--jp-home-frame));
}

/* Hero: broader, calmer and more editorial. */
.jp-home .jp-hero {
  padding: 34px 0 46px;
  background: linear-gradient(180deg, #f8f5f0 0%, #f5f0e9 100%);
}
.jp-home .jp-hero__grid {
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  height: auto;
  min-height: 510px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(16,45,35,.08);
  box-shadow: 0 24px 70px rgba(24,39,31,.07);
}
.jp-home .jp-hero__copy {
  justify-content: center;
  padding: 58px 58px 54px;
  background: linear-gradient(135deg, #fbf8f3 0%, #f6f1e9 100%);
}
.jp-home .jp-hero h1 {
  max-width: 470px;
  font-size: clamp(54px, 5vw, 68px);
  line-height: .96;
  letter-spacing: -.045em;
}
.jp-home .jp-hero__copy .jp-gold-rule {
  width: 50px;
  height: 2px;
  margin: 27px 0 25px;
}
.jp-home .jp-hero__lead {
  max-width: 475px;
  margin-bottom: 28px;
  color: #414a45;
  font-size: 16.5px;
  line-height: 1.65;
}
.jp-home .jp-hero .jp-button {
  min-height: 50px;
  padding-inline: 30px;
}
.jp-home .jp-hero__signoff {
  margin-top: 20px;
  color: #6a746f;
  font-size: 10.5px;
  letter-spacing: .2em;
}
.jp-home .jp-hero__media {
  min-height: 510px;
  background: #d8d0c5;
}
.jp-home .jp-hero__media img {
  object-position: 53% center;
  transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
@media (hover:hover) {
  .jp-home .jp-hero__grid:hover .jp-hero__media img { transform: scale(1.012); }
}

/* Promise: retain the strong contrast, but make it an inset editorial panel. */
.jp-home .jp-promise {
  padding: 0 0 64px;
  background: #fff;
}
.jp-home .jp-promise__grid {
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
  height: auto;
  min-height: 350px;
  overflow: hidden;
  background: #15372b;
  box-shadow: 0 20px 55px rgba(17,43,33,.09);
}
.jp-home .jp-promise__copy {
  padding: 52px 56px 50px;
  background: linear-gradient(135deg, #173b2e 0%, #123327 100%);
}
.jp-home .jp-promise__copy .jp-gold-rule {
  width: 46px;
  height: 2px;
  margin-bottom: 24px;
}
.jp-home .jp-promise h2 {
  max-width: 470px;
  font-size: clamp(39px, 3.7vw, 48px);
  line-height: 1.02;
  letter-spacing: -.04em;
}
.jp-home .jp-promise p {
  max-width: 470px;
  margin-top: 24px;
  color: rgba(255,255,255,.86);
  font-size: 16px;
  line-height: 1.65;
}
.jp-home .jp-promise__media {
  min-height: 350px;
}
.jp-home .jp-promise__media img { object-position: center 48%; }

/* Process: lighter, less boxed, clearer hierarchy. */
.jp-home .jp-process {
  background: #f8f5f0;
  border-top: 1px solid rgba(16,45,35,.06);
  border-bottom: 1px solid rgba(16,45,35,.06);
}
.jp-home .jp-process__inner {
  padding: 68px 0 64px;
  text-align: left;
}
.jp-home .jp-process .jp-eyebrow {
  margin-bottom: 12px;
  font-size: 11px;
}
.jp-home .jp-process h2 {
  max-width: 980px;
  font-size: clamp(36px, 3.25vw, 43px);
  line-height: 1.03;
  letter-spacing: -.04em;
}
.jp-home .jp-process__grid {
  gap: 14px;
  margin-top: 38px;
  border: 0;
}
.jp-home .jp-step {
  min-height: 268px;
  padding: 34px 28px 31px;
  text-align: left;
  border: 1px solid rgba(16,45,35,.10);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.64) 100%);
  box-shadow: 0 14px 34px rgba(20,40,31,.045);
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.jp-home .jp-step::before {
  content: "";
  position: absolute;
  top: 0;
  left: 28px;
  width: 46px;
  height: 2px;
  background: var(--jp-gold);
}
@media (hover:hover) {
  .jp-home .jp-step:hover {
    transform: translateY(-3px);
    border-color: rgba(189,143,71,.24);
    box-shadow: 0 20px 44px rgba(20,40,31,.075);
  }
}
.jp-home .jp-step__icon {
  width: 52px;
  height: 52px;
  margin: 0 0 29px;
  border: 0;
  background: #f3eadc;
  box-shadow: inset 0 0 0 1px rgba(189,143,71,.18);
}
.jp-home .jp-step__icon svg { width: 27px; height: 27px; stroke-width: 1.55; }
.jp-home .jp-step__number {
  top: 27px;
  left: auto;
  right: 26px;
  width: auto;
  height: auto;
  display: block;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(166,120,52,.76);
  font-family: var(--jp-serif);
  font-size: 21px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.03em;
}
.jp-home .jp-step h3 {
  margin-bottom: 12px;
  font-size: 12px;
  letter-spacing: .13em;
}
.jp-home .jp-step p {
  max-width: 235px;
  margin: 0;
  color: #626964;
  font-size: 14.5px;
  line-height: 1.62;
}

/* Support: a generous editorial split rather than a shallow strip. */
.jp-home .jp-support {
  padding: 64px 0;
  background: #fff;
}
.jp-home .jp-support__grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  height: auto;
  min-height: 360px;
  overflow: hidden;
  background: #f4eee6;
  border: 1px solid rgba(16,45,35,.07);
}
.jp-home .jp-support__media { min-height: 360px; }
.jp-home .jp-support__media img { object-position: 46% center; }
.jp-home .jp-support__copy {
  padding: 58px 56px;
}
.jp-home .jp-support__copy .jp-gold-rule {
  width: 46px;
  height: 2px;
  margin-bottom: 24px;
}
.jp-home .jp-support h2 {
  max-width: 430px;
  font-size: clamp(38px, 3.5vw, 46px);
  line-height: 1.02;
  letter-spacing: -.04em;
}
.jp-home .jp-support p {
  max-width: 470px;
  margin-top: 22px;
  color: #4f5752;
  font-size: 16px;
  line-height: 1.67;
}
.jp-home .jp-support__button {
  margin-top: 27px;
  min-height: 48px;
  padding-inline: 25px;
}

/* CTA: keep the existing content, but contain it within the same premium grid. */
.jp-home .jp-cta {
  padding: 0 0 54px;
  background: #fff;
}
.jp-home .jp-cta::before { display: none; }
.jp-home .jp-cta__grid {
  min-height: 176px;
  padding: 38px 52px;
  background:
    linear-gradient(90deg, rgba(18,50,38,.96), rgba(18,46,36,.93)),
    url('assets/images/leaf-texture.jpg') center/cover;
  box-shadow: 0 20px 55px rgba(17,43,33,.10);
}
.jp-home .jp-cta h2 {
  max-width: 650px;
  font-size: clamp(31px, 3vw, 39px);
  line-height: 1.04;
  letter-spacing: -.035em;
}
.jp-home .jp-cta .jp-eyebrow {
  margin-bottom: 11px;
  font-size: 10.5px;
}
.jp-home .jp-cta__action { gap: 13px; }
.jp-home .jp-cta__action .jp-button {
  min-width: 216px;
  min-height: 50px;
}
.jp-home .jp-cta__action small {
  font-size: 10px;
  letter-spacing: .16em;
}

/* Tablet composition */
@media (max-width: 980px) {
  .jp-home .jp-site-frame { width: min(calc(100% - 40px), var(--jp-home-frame)); }
  .jp-home .jp-hero { padding-top: 24px; }
  .jp-home .jp-hero__grid { grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); min-height: 470px; }
  .jp-home .jp-hero__copy { padding: 46px 38px 42px; }
  .jp-home .jp-hero h1 { font-size: clamp(48px, 6vw, 58px); }
  .jp-home .jp-hero__media { min-height: 470px; }
  .jp-home .jp-promise__copy { padding: 46px 38px; }
  .jp-home .jp-support__copy { padding: 48px 40px; }
  .jp-home .jp-process__inner { padding-top: 58px; }
  .jp-home .jp-step { padding-inline: 20px; }
}

/* Mobile is deliberately recomposed, not simply shrunk. */
@media (max-width: 880px) {
  .jp-home .jp-site-frame { width: min(calc(100% - 32px), var(--jp-home-frame)); }
  .jp-home .jp-hero { padding: 18px 0 42px; }
  .jp-home .jp-hero__grid,
  .jp-home .jp-promise__grid,
  .jp-home .jp-support__grid {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .jp-home .jp-hero__copy {
    padding: 42px 30px 36px;
  }
  .jp-home .jp-hero h1 {
    max-width: 620px;
    font-size: clamp(48px, 10.5vw, 64px);
  }
  .jp-home .jp-hero__lead {
    max-width: 600px;
    font-size: 16px;
  }
  .jp-home .jp-hero__media {
    min-height: 0;
    aspect-ratio: 16 / 11;
  }
  .jp-home .jp-promise { padding-bottom: 48px; }
  .jp-home .jp-promise__copy {
    padding: 42px 30px 40px;
  }
  .jp-home .jp-promise h2 { font-size: clamp(39px, 8.8vw, 50px); }
  .jp-home .jp-promise__media {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
  .jp-home .jp-process__inner {
    padding: 52px 0 48px;
  }
  .jp-home .jp-process h2 { font-size: clamp(34px, 7vw, 43px); }
  .jp-home .jp-process__grid {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 32px;
  }
  .jp-home .jp-step {
    min-height: 230px;
    border: 1px solid rgba(16,45,35,.10);
  }
  .jp-home .jp-step:nth-child(2),
  .jp-home .jp-step:nth-child(-n+2) { border: 1px solid rgba(16,45,35,.10); }
  .jp-home .jp-support { padding: 48px 0; }
  .jp-home .jp-support__media {
    min-height: 0;
    aspect-ratio: 16 / 10;
  }
  .jp-home .jp-support__copy { padding: 42px 30px 44px; }
  .jp-home .jp-support h2 { font-size: clamp(37px, 8vw, 46px); }
  .jp-home .jp-cta { padding-bottom: 44px; }
  .jp-home .jp-cta__grid {
    grid-template-columns: 1fr;
    gap: 28px;
    min-height: 0;
    padding: 38px 30px 40px;
  }
  .jp-home .jp-cta__action { align-items: flex-start; }
}

@media (max-width: 560px) {
  .jp-home .jp-site-frame { width: calc(100% - 28px); }
  .jp-home .jp-hero { padding-top: 12px; padding-bottom: 34px; }
  .jp-home .jp-hero__copy { padding: 34px 22px 31px; }
  .jp-home .jp-hero h1 { font-size: clamp(43px, 13.2vw, 54px); }
  .jp-home .jp-hero__copy .jp-gold-rule { margin: 22px 0 20px; }
  .jp-home .jp-hero__lead { font-size: 15px; line-height: 1.62; }
  .jp-home .jp-hero .jp-button { width: auto; max-width: none; min-height: 48px; }
  .jp-home .jp-hero__signoff { font-size: 10px; }
  .jp-home .jp-hero__media { aspect-ratio: 4 / 3; }
  .jp-home .jp-promise { padding-bottom: 38px; }
  .jp-home .jp-promise__copy { padding: 34px 22px 36px; }
  .jp-home .jp-promise p { font-size: 15px; }
  .jp-home .jp-promise__media { aspect-ratio: 4 / 3; }
  .jp-home .jp-process__inner { padding: 46px 0 42px; }
  .jp-home .jp-process h2 { font-size: 36px; }
  .jp-home .jp-process__grid {
    grid-template-columns: 1fr;
    margin-top: 28px;
  }
  .jp-home .jp-step {
    display: grid;
    grid-template-columns: 52px minmax(0,1fr);
    grid-template-rows: auto auto;
    column-gap: 18px;
    min-height: 0;
    padding: 25px 22px;
    border: 1px solid rgba(16,45,35,.10);
    border-radius: 10px;
    text-align: left;
  }
  .jp-home .jp-step__icon {
    grid-column: 1;
    grid-row: 1 / 3;
    width: 48px;
    height: 48px;
    margin: 0;
  }
  .jp-home .jp-step__icon svg { width: 25px; height: 25px; }
  .jp-home .jp-step__number {
    top: 20px;
    right: 19px;
    width: auto;
    height: auto;
    background: transparent;
    font-size: 18px;
  }
  .jp-home .jp-step h3 {
    grid-column: 2;
    margin: 1px 0 7px;
  }
  .jp-home .jp-step p {
    grid-column: 2;
    max-width: none;
    font-size: 14px;
  }
  .jp-home .jp-step::before { left: 22px; width: 40px; }
  .jp-home .jp-support { padding: 38px 0; }
  .jp-home .jp-support__media { aspect-ratio: 4 / 3; }
  .jp-home .jp-support__copy { padding: 34px 22px 37px; }
  .jp-home .jp-support h2 { font-size: 38px; }
  .jp-home .jp-support p { font-size: 15px; }
  .jp-home .jp-cta { padding-bottom: 34px; }
  .jp-home .jp-cta__grid { padding: 32px 22px 34px; }
  .jp-home .jp-cta h2 { font-size: 33px; }
  .jp-home .jp-cta__action .jp-button { width: 100%; min-width: 0; }
}

/* =========================================================
   v2.0.31 — stable Our Food mega-menu + scalable category grid
   ========================================================= */
@media(min-width:881px){
  /* Keep the food item as a real hover/focus box. display:contents made the
     visual baseline neat, but left a dead pointer gap between the label and
     the absolutely positioned menu. */
  .jp-nav__food{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    height:48px;
  }
  .jp-nav__food>.jp-nav__link{min-height:48px;height:48px}
  .jp-food-menu{
    top:calc(100% + 10px);
    width:min(980px,calc(100vw - 64px));
    transform:translate(-50%,8px);
  }
  /* Invisible hover bridge: the pointer can move naturally from Our Food into
     the panel without crossing a dead zone. */
  .jp-food-menu::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-18px;
    height:18px;
  }
  .jp-nav__food:hover .jp-food-menu,
  .jp-nav__food:focus-within .jp-food-menu,
  .jp-nav__food.is-open .jp-food-menu{
    transform:translate(-50%,0);
  }
  /* A fixed three-column rhythm keeps new categories predictable instead of
     letting one or two cards stretch across the whole explorer. */
  .jp-food-menu__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:stretch;
  }
}
@media(max-width:980px) and (min-width:881px){
  .jp-food-menu{width:min(850px,calc(100vw - 30px))}
  .jp-food-menu__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* =========================================================
   How It Works — premium UX/UI refinement v2.0.33
   Presentation only. Existing page content is unchanged.
   ========================================================= */
.jp-how-page {
  --jp-how-frame: 1180px;
  background: #fff;
}
.jp-how-page .jp-site-frame {
  width: min(calc(100% - 48px), var(--jp-how-frame));
}

/* Hero — align with the refined homepage system. */
.jp-how-page .jp-how-hero {
  padding: 34px 0 52px;
  background: linear-gradient(180deg, #f8f5f0 0%, #f5f0e9 100%);
}
.jp-how-page .jp-how-hero__grid {
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  height: auto;
  min-height: 510px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(16,45,35,.08);
  box-shadow: 0 24px 70px rgba(24,39,31,.07);
}
.jp-how-page .jp-how-hero__copy {
  justify-content: center;
  padding: 58px 58px 54px;
  background: linear-gradient(135deg, #fbf8f3 0%, #f6f1e9 100%);
}
.jp-how-page .jp-how-hero__copy .jp-eyebrow {
  margin-bottom: 14px;
  font-size: 11px;
}
.jp-how-page .jp-how-hero__copy h1 {
  max-width: 480px;
  font-size: clamp(54px, 5vw, 68px);
  line-height: .96;
  letter-spacing: -.045em;
}
.jp-how-page .jp-how-hero__copy .jp-gold-rule {
  width: 50px;
  height: 2px;
  margin: 27px 0 25px;
}
.jp-how-page .jp-how-hero__lead {
  max-width: 475px;
  margin-bottom: 28px;
  color: #414a45;
  font-size: 16.5px;
  line-height: 1.65;
}
.jp-how-page .jp-how-hero__copy .jp-button {
  min-height: 50px;
  min-width: 0;
  padding-inline: 30px;
  font-size: 10.5px;
}
.jp-how-page .jp-how-hero__signoff {
  margin-top: 20px;
  color: #6a746f;
  font-size: 10.5px;
  letter-spacing: .20em;
}
.jp-how-page .jp-how-hero__media {
  height: auto;
  min-height: 510px;
  background: #d8d0c5;
}
.jp-how-page .jp-how-hero__media img {
  object-position: center center;
  transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
@media (hover:hover) {
  .jp-how-page .jp-how-hero__grid:hover .jp-how-hero__media img {
    transform: scale(1.012);
  }
}

/* Process — image-led cards with the same restraint as the homepage. */
.jp-how-page .jp-how-process {
  background: #f8f5f0;
  border-top: 1px solid rgba(16,45,35,.06);
  border-bottom: 1px solid rgba(16,45,35,.06);
}
.jp-how-page .jp-how-process__inner {
  padding: 68px 0 66px;
}
.jp-how-page .jp-how-process__inner > .jp-gold-rule {
  width: 46px;
  height: 2px;
  margin-bottom: 18px;
}
.jp-how-page .jp-how-process h2 {
  font-size: clamp(38px, 3.5vw, 46px);
  line-height: 1.02;
  letter-spacing: -.04em;
}
.jp-how-page .jp-how-process__intro {
  margin-top: 12px;
  color: #626964;
  font-size: 16px;
  line-height: 1.6;
}
.jp-how-page .jp-how-process__grid {
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px;
  margin-top: 38px;
}
.jp-how-page .jp-how-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 0 0 28px;
  overflow: hidden;
  border: 1px solid rgba(16,45,35,.10);
  border-radius: 12px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 14px 34px rgba(20,40,31,.045);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.jp-how-page .jp-how-card:not(:last-child)::after { display:none; }
.jp-how-page .jp-how-card__media {
  width: 100%;
  aspect-ratio: 1.38 / 1;
  margin: 0 0 27px;
  overflow: hidden;
}
.jp-how-page .jp-how-card__media img {
  transition: transform .55s cubic-bezier(.2,.7,.2,1);
}
.jp-how-page .jp-how-step-number {
  left: 20px;
  top: auto;
  bottom: 16px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.55);
  background: rgba(189,143,71,.96);
  color: #fff;
  font-family: var(--jp-serif);
  font-size: 20px;
  box-shadow: 0 5px 16px rgba(18,34,26,.16);
}
.jp-how-page .jp-how-card h3,
.jp-how-page .jp-how-card p {
  margin-left: 24px;
  margin-right: 24px;
}
.jp-how-page .jp-how-card h3 {
  margin-bottom: 12px;
  color: var(--jp-ink-deep);
  font-size: 24px;
  line-height: 1.06;
  letter-spacing: -.035em;
}
.jp-how-page .jp-how-card p {
  color: #626964;
  font-size: 14.5px;
  line-height: 1.62;
}
@media (hover:hover) {
  .jp-how-page .jp-how-card:hover {
    transform: translateY(-3px);
    border-color: rgba(189,143,71,.24);
    box-shadow: 0 20px 44px rgba(20,40,31,.075);
  }
  .jp-how-page .jp-how-card:hover .jp-how-card__media img { transform: scale(1.025); }
}

/* Benefits — inset dark editorial panel rather than a full-width band. */
.jp-how-page .jp-how-benefits {
  padding: 64px 0;
  color: #fff;
  background: #fff;
}
.jp-how-page .jp-how-benefits__inner {
  padding: 52px 56px 48px;
  overflow: hidden;
  background: linear-gradient(135deg, #173b2e 0%, #123327 100%);
  box-shadow: 0 20px 55px rgba(17,43,33,.09);
}
.jp-how-page .jp-how-benefits__inner > .jp-gold-rule {
  width: 46px;
  height: 2px;
  margin-bottom: 18px;
}
.jp-how-page .jp-how-benefits h2 {
  font-size: clamp(38px, 3.4vw, 46px);
  line-height: 1.02;
  letter-spacing: -.04em;
}
.jp-how-page .jp-how-benefits__lead {
  margin-top: 12px;
  color: rgba(255,255,255,.84);
  font-size: 16px;
  line-height: 1.6;
}
.jp-how-page .jp-how-benefits__grid {
  grid-template-columns: repeat(4,1fr);
  gap: 0;
  margin-top: 38px;
  border-top: 1px solid rgba(216,181,109,.22);
  padding-top: 31px;
}
.jp-how-page .jp-how-benefits__grid article {
  padding: 0 27px;
  border-right: 1px solid rgba(216,181,109,.24);
}
.jp-how-page .jp-how-benefits__grid article:first-child { padding-left: 0; }
.jp-how-page .jp-how-benefits__grid article:last-child { padding-right: 0; border-right:0; }
.jp-how-page .jp-how-benefits__icon {
  width: 48px;
  height: 48px;
  margin: 0 auto 16px;
  border-width: 1px;
  color: #d8b56d;
}
.jp-how-page .jp-how-benefits__icon svg { width: 27px; height: 27px; stroke-width: 1.55; }
.jp-how-page .jp-how-benefits__grid h3 {
  margin-bottom: 9px;
  font-size: 10.5px;
  letter-spacing: .15em;
}
.jp-how-page .jp-how-benefits__grid p {
  color: rgba(255,255,255,.79);
  font-size: 13.5px;
  line-height: 1.5;
}

/* Ingredients — generous split panel with cleaner image treatment. */
.jp-how-page .jp-how-ingredients {
  padding: 0 0 64px;
  background: #fff;
}
.jp-how-page .jp-how-ingredients__grid {
  grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr);
  min-height: 370px;
  overflow: hidden;
  border: 1px solid rgba(16,45,35,.07);
  background: #f4eee6;
}
.jp-how-page .jp-how-ingredients__media { padding: 0; }
.jp-how-page .jp-how-ingredients__media img {
  width: 100%;
  height: 100%;
  min-height: 370px;
  object-fit: cover;
  object-position: center;
}
.jp-how-page .jp-how-ingredients__copy {
  min-height: 370px;
  padding: 54px 56px;
  align-items: center;
}
.jp-how-page .jp-how-ingredients__text {
  width: 100%;
  max-width: 475px;
}
.jp-how-page .jp-how-ingredients__copy .jp-gold-rule {
  width: 46px;
  height: 2px;
  margin-bottom: 24px;
}
.jp-how-page .jp-how-ingredients h2 {
  font-size: clamp(38px, 3.5vw, 46px);
  line-height: 1.02;
  letter-spacing: -.04em;
}
.jp-how-page .jp-how-ingredients__text p {
  margin: 22px 0 27px;
  color: #4f5752;
  font-size: 16px;
  line-height: 1.67;
}
.jp-how-page .jp-how-ingredients__text .jp-button {
  min-width: 0;
  min-height: 48px;
  padding-inline: 25px;
  font-size: 10px;
}
.jp-how-page .jp-how-ingredients__decor {
  right: -12px;
  top: auto;
  bottom: -12px;
  width: 170px;
  opacity: .24;
  mix-blend-mode: multiply;
}

/* Closing CTA — contained like the homepage rather than full-bleed. */
.jp-how-page .jp-how-cta {
  padding: 0 0 54px;
  color: #fff;
  background: #fff;
}
.jp-how-page .jp-how-cta::before { display:none; }
.jp-how-page .jp-how-cta__grid {
  min-height: 198px;
  grid-template-columns: minmax(0,1fr) minmax(0,.86fr);
  gap: 50px;
  padding: 42px 52px;
  background:
    linear-gradient(90deg, rgba(18,50,38,.96), rgba(18,46,36,.93)),
    url('assets/images/leaf-texture.jpg') center/cover;
  box-shadow: 0 20px 55px rgba(17,43,33,.10);
}
.jp-how-page .jp-how-cta .jp-eyebrow {
  margin-bottom: 11px;
  font-size: 10.5px;
}
.jp-how-page .jp-how-cta h2 {
  max-width: 650px;
  font-size: clamp(33px, 3.1vw, 41px);
  line-height: 1.04;
  letter-spacing: -.035em;
}
.jp-how-page .jp-how-cta__action {
  padding-left: 0;
}
.jp-how-page .jp-how-cta__action p {
  max-width: 465px;
  margin-bottom: 18px;
  color: rgba(255,255,255,.86);
  font-size: 15px;
  line-height: 1.58;
}
.jp-how-page .jp-how-cta__action .jp-button {
  min-width: 216px;
  min-height: 50px;
  font-size: 10px;
}
.jp-how-page .jp-how-cta__action small {
  margin-top: 12px;
  font-size: 9px;
  letter-spacing: .16em;
}

@media (max-width: 1050px) {
  .jp-how-page .jp-site-frame { width: min(calc(100% - 40px), var(--jp-how-frame)); }
  .jp-how-page .jp-how-hero { padding-top: 24px; }
  .jp-how-page .jp-how-hero__grid { grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); min-height: 470px; }
  .jp-how-page .jp-how-hero__copy { padding: 46px 38px 42px; }
  .jp-how-page .jp-how-hero__copy h1 { font-size: clamp(48px, 6vw, 58px); }
  .jp-how-page .jp-how-hero__media { min-height: 470px; }
  .jp-how-page .jp-how-process__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .jp-how-page .jp-how-benefits__inner { padding-inline: 42px; }
  .jp-how-page .jp-how-ingredients__copy { padding: 48px 40px; }
  .jp-how-page .jp-how-cta__grid { gap: 36px; }
}

@media (max-width: 880px) {
  .jp-how-page .jp-site-frame { width: min(calc(100% - 32px), var(--jp-how-frame)); }
  .jp-how-page .jp-how-hero { padding: 18px 0 48px; }
  .jp-how-page .jp-how-hero__grid,
  .jp-how-page .jp-how-ingredients__grid {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .jp-how-page .jp-how-hero__copy { padding: 42px 30px 38px; }
  .jp-how-page .jp-how-hero__copy h1 { max-width: 620px; font-size: clamp(48px,10.5vw,64px); }
  .jp-how-page .jp-how-hero__lead { max-width: 620px; font-size: 16px; }
  .jp-how-page .jp-how-hero__media { min-height: 0; aspect-ratio: 16 / 11; }

  .jp-how-page .jp-how-process__inner { padding: 54px 0 50px; }
  .jp-how-page .jp-how-process h2 { font-size: clamp(36px,7vw,44px); }
  .jp-how-page .jp-how-process__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 32px; }

  .jp-how-page .jp-how-benefits { padding: 48px 0; }
  .jp-how-page .jp-how-benefits__inner { padding: 42px 30px 40px; }
  .jp-how-page .jp-how-benefits__grid { grid-template-columns: 1fr 1fr; row-gap: 30px; }
  .jp-how-page .jp-how-benefits__grid article { padding: 0 24px; }
  .jp-how-page .jp-how-benefits__grid article:first-child { padding-left: 0; }
  .jp-how-page .jp-how-benefits__grid article:nth-child(2) { padding-right: 0; border-right: 0; }
  .jp-how-page .jp-how-benefits__grid article:nth-child(3) { padding-left: 0; }
  .jp-how-page .jp-how-benefits__grid article:last-child { padding-right: 0; }

  .jp-how-page .jp-how-ingredients { padding-bottom: 48px; }
  .jp-how-page .jp-how-ingredients__media img { min-height: 0; aspect-ratio: 16 / 10; }
  .jp-how-page .jp-how-ingredients__copy { min-height: 0; padding: 42px 30px 44px; }
  .jp-how-page .jp-how-ingredients__text { max-width: 620px; }
  .jp-how-page .jp-how-ingredients__decor { width: 150px; opacity: .18; }

  .jp-how-page .jp-how-cta { padding-bottom: 44px; }
  .jp-how-page .jp-how-cta__grid { grid-template-columns: 1fr; gap: 28px; min-height: 0; padding: 38px 30px 40px; }
  .jp-how-page .jp-how-cta__action p { max-width: 620px; }
}

@media (max-width: 560px) {
  .jp-how-page .jp-site-frame { width: calc(100% - 28px); }
  .jp-how-page .jp-how-hero { padding-top: 12px; padding-bottom: 38px; }
  .jp-how-page .jp-how-hero__copy { padding: 34px 22px 31px; }
  .jp-how-page .jp-how-hero__copy h1 { font-size: clamp(43px,13.2vw,54px); }
  .jp-how-page .jp-how-hero__copy .jp-gold-rule { margin: 22px 0 20px; }
  .jp-how-page .jp-how-hero__lead { font-size: 15px; line-height: 1.62; }
  .jp-how-page .jp-how-hero__copy .jp-button { width: auto; max-width: none; min-height: 48px; }
  .jp-how-page .jp-how-hero__signoff { font-size: 10px; }
  .jp-how-page .jp-how-hero__media { aspect-ratio: 4 / 3; }

  .jp-how-page .jp-how-process__inner { padding: 46px 0 42px; }
  .jp-how-page .jp-how-process h2 { font-size: 36px; }
  .jp-how-page .jp-how-process__grid { grid-template-columns: 1fr; margin-top: 28px; }
  .jp-how-page .jp-how-card { padding-bottom: 26px; border-radius: 10px; }
  .jp-how-page .jp-how-card__media { aspect-ratio: 16 / 10; margin-bottom: 24px; }
  .jp-how-page .jp-how-card h3 { font-size: 25px; }
  .jp-how-page .jp-how-card p { font-size: 15px; }

  .jp-how-page .jp-how-benefits { padding: 38px 0; }
  .jp-how-page .jp-how-benefits__inner { padding: 36px 22px 34px; }
  .jp-how-page .jp-how-benefits h2 { font-size: 36px; }
  .jp-how-page .jp-how-benefits__grid { grid-template-columns: 1fr; row-gap: 0; margin-top: 26px; padding-top: 0; border-top: 0; }
  .jp-how-page .jp-how-benefits__grid article,
  .jp-how-page .jp-how-benefits__grid article:first-child,
  .jp-how-page .jp-how-benefits__grid article:nth-child(2),
  .jp-how-page .jp-how-benefits__grid article:nth-child(3),
  .jp-how-page .jp-how-benefits__grid article:last-child {
    padding: 24px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(216,181,109,.24);
  }
  .jp-how-page .jp-how-benefits__grid article:last-child { border-bottom:0; }

  .jp-how-page .jp-how-ingredients { padding-bottom: 38px; }
  .jp-how-page .jp-how-ingredients__media img { aspect-ratio: 4 / 3; }
  .jp-how-page .jp-how-ingredients__copy { padding: 34px 22px 36px; }
  .jp-how-page .jp-how-ingredients h2 { font-size: 38px; }
  .jp-how-page .jp-how-ingredients__text p { font-size: 15px; }
  .jp-how-page .jp-how-ingredients__text .jp-button { width: auto; max-width: none; }
  .jp-how-page .jp-how-ingredients__decor { right: -28px; bottom: -18px; width: 130px; opacity: .14; }

  .jp-how-page .jp-how-cta { padding-bottom: 38px; }
  .jp-how-page .jp-how-cta__grid { padding: 36px 22px 38px; }
  .jp-how-page .jp-how-cta h2 { font-size: 35px; }
  .jp-how-page .jp-how-cta h2 br { display:none; }
  .jp-how-page .jp-how-cta__action p { font-size: 14.5px; }
  .jp-how-page .jp-how-cta__action .jp-button { width: auto; max-width: none; }
}


/* =========================================================
   v2.0.35 — Our Food mega-menu text wrapping fix
   Prevent category copy from retaining intrinsic width and
   being clipped inside the three-column cards.
   ========================================================= */
@media (min-width: 881px) {
  .jp-food-menu__card {
    min-width: 0;
  }
  .jp-food-menu__card-copy {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  .jp-food-menu__card-copy > small,
  .jp-food-menu__card-copy > strong,
  .jp-food-menu__card-copy > span,
  .jp-food-menu__card-copy > b {
    max-width: 100%;
  }
  .jp-food-menu__card-copy > strong,
  .jp-food-menu__card-copy > span {
    width: 100%;
    min-width: 0;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
  }
  .jp-food-menu__card-copy > span {
    -webkit-line-clamp: 3;
  }
}

/* v2.0.38 — richer trade-account navigation */
.jp-account__menu{width:270px;padding:18px 19px}
.jp-account__menu-links{gap:1px}
.jp-account__menu-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}
.jp-account__menu-links .jp-account__menu-order{margin-top:8px;padding-top:13px;border-top:1px solid rgba(16,45,35,.09);color:#8c6530;font-weight:750}
.jp-account__menu-links .jp-account__menu-order span{font-size:16px;font-weight:400}
.jp-account__menu-links .jp-account__menu-signout{margin-top:3px;color:#707973;font-size:12px}
@media(max-width:880px){
  .jp-mobile-account__actions--account{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding:13px 2px 8px}
  .jp-mobile-account__actions--account a{padding:8px 0;border-bottom:1px solid rgba(16,45,35,.07);font-size:12.5px}
}

/* Jai Pui Takeaway v0.1: independent, mobile-first consumer layout */
:root{--jpt-ink:#22352d;--jpt-cream:#f8f6f0;--jpt-gold:#ba985b;--jpt-deep:#173d32}body.jpt-site{background:var(--jpt-cream);color:var(--jpt-ink);margin:0;font-family:Arial,sans-serif}body.jpt-site *{box-sizing:border-box}.jpt-wrap{width:min(1180px,calc(100% - 36px));margin:auto}.jpt-skip{position:absolute;top:-100px;left:10px;background:white;z-index:2000}.jpt-skip:focus{top:10px}.jpt-header{background:#fff;border-bottom:1px solid #e7e3d9;position:sticky;top:0;z-index:90}.jpt-header-inner{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:16px}.jpt-brand img{display:block;width:125px;max-height:64px;object-fit:contain}.jpt-head-right{display:flex;align-items:center;gap:25px}.jpt-head-hint{color:#5b6d61;font-size:13px}.jpt-basket-trigger{background:var(--jpt-deep);color:white;border:0;border-radius:30px;padding:12px 17px;font-size:14px;cursor:pointer;white-space:nowrap}.jpt-basket-trigger span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;margin-left:7px;background:#d7bd8e;color:#23352b;border-radius:50%;font-weight:700}.jpt-hero{background:#193a30;color:#fff}.jpt-hero-inner{display:grid;grid-template-columns:1fr 1fr;min-height:430px;align-items:stretch}.jpt-hero-content{padding:76px 30px 70px 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.jpt-eyebrow{font-size:11px;letter-spacing:2.8px;font-weight:700;color:var(--jpt-gold)}.jpt-hero h1{font-family:Georgia,serif;font-size:clamp(42px,5.1vw,77px);letter-spacing:-1.5px;line-height:1.09;font-weight:400;margin:22px 0}.jpt-hero h1 em{color:#e2c797;font-style:normal}.jpt-hero-content p{color:#e0e7df;font-size:17px;line-height:1.7;max-width:480px}.jpt-hero-action,.jpt-add-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:#d4b77e;color:#19372c;text-decoration:none;border:0;border-radius:4px;padding:16px 23px;margin-top:22px;font-weight:700;cursor:pointer}.jpt-hero-photo{min-height:320px;overflow:hidden}.jpt-hero-photo img{width:100%;height:100%;object-fit:cover;display:block}.jpt-menu-section{padding:66px 0 85px}.jpt-section-heading{margin-bottom:29px}.jpt-section-heading h1,.jpt-section-heading h2{font-family:Georgia,serif;font-size:clamp(31px,4vw,48px);font-weight:400;line-height:1.17;margin:13px 0}.jpt-section-heading p{color:#66756c;font-size:16px;margin:0}.jpt-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.jpt-category{display:block;background:#fff;color:var(--jpt-ink);text-decoration:none;border:1px solid #e9e7e0;overflow:hidden;border-radius:8px;transition:transform .18s ease,box-shadow .18s ease}.jpt-category:hover{transform:translateY(-3px);box-shadow:0 9px 30px #1b39221c}.jpt-category-image{display:block;aspect-ratio:1.48;overflow:hidden;background:#e8e5d9}.jpt-category-image img{width:100%;height:100%;display:block;object-fit:cover}.jpt-category-copy{padding:19px 20px;display:flex;align-items:center;justify-content:space-between;gap:8px}.jpt-category-copy strong{font-family:Georgia,serif;font-size:22px;font-weight:400}.jpt-category-copy>span{font-size:12px;white-space:nowrap;color:#527b60}.jpt-footer{background:#17392f;color:#fff;padding:34px 0}.jpt-footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.jpt-footer strong{font-family:Georgia,serif;letter-spacing:2px}.jpt-footer p{color:#d9e2d9;font-size:13px;margin:8px 0 0}.jpt-footer a{color:#e3c98d}.jpt-listing,.jpt-detail{padding:32px 0 90px;min-height:65vh}.jpt-back{display:inline-block;margin-bottom:25px;color:#536d59;text-decoration:none;font-size:14px}.jpt-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.jpt-product{display:flex;background:#fff;border:1px solid #e7e4dc;border-radius:9px;overflow:hidden;min-height:190px}.jpt-product-photo{width:43%;flex-shrink:0}.jpt-product-photo img{width:100%;height:100%;object-fit:cover}.jpt-photo-placeholder{height:100%;min-height:180px;display:grid;place-items:center;background:#e8e9e1;color:#79857c;font-size:13px;text-align:center;padding:12px}.jpt-product-info{padding:22px 20px;display:flex;flex-direction:column;align-items:flex-start}.jpt-product-info h2{font-family:Georgia,serif;font-size:26px;font-weight:400;margin:0 0 10px}.jpt-description{line-height:1.55;color:#5d6d61;font-size:14px}.jpt-description p{margin:0 0 8px}.jpt-from{font-weight:700;margin:10px 0}.jpt-unpriced{color:#7a746c}.jpt-order-link{color:#285f46;margin-top:auto;font-weight:700;text-decoration:none;font-size:14px}.jpt-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.jpt-detail-photo{aspect-ratio:1.15;background:#e8e9e1;border-radius:8px;overflow:hidden}.jpt-detail-photo img{width:100%;height:100%;object-fit:cover}.jpt-detail-copy h1{font:400 clamp(34px,4vw,52px)/1.15 Georgia,serif;margin:15px 0 24px}.jpt-add-form{margin-top:28px}.jpt-add-form fieldset{border:0;padding:0;margin:0}.jpt-add-form legend{font-weight:700;margin-bottom:14px}.jpt-variant{display:flex;align-items:center;gap:10px;padding:16px;border:1px solid #dadbd2;background:white;border-radius:6px;margin-bottom:8px;cursor:pointer}.jpt-variant input{accent-color:#1b523c}.jpt-variant strong{margin-left:auto}.jpt-quantity{display:flex;align-items:center;gap:15px;margin-top:18px}.jpt-quantity input{width:80px;padding:10px;border:1px solid #c5c8c0;border-radius:5px}.jpt-add-button{width:100%;margin-top:20px}.jpt-add-feedback{font-size:13px;color:#1c6446}.jpt-drawer-backdrop{position:fixed;inset:0;background:#18231ab0;z-index:200}.jpt-drawer-backdrop[hidden]{display:none}.jpt-basket-drawer{position:fixed;right:0;top:0;bottom:0;width:min(440px,100%);background:#fff;z-index:201;transform:translateX(105%);transition:transform .25s;display:flex;flex-direction:column;box-shadow:-5px 0 20px #0002}.jpt-basket-drawer.is-open{transform:none}.jpt-drawer-head{padding:20px 24px;display:flex;justify-content:space-between;border-bottom:1px solid #ddd}.jpt-drawer-head h2{font:400 28px Georgia,serif;margin:0}.jpt-drawer-head button{border:0;background:none;font-size:30px;cursor:pointer}.jpt-basket-contents{padding:20px 24px;overflow:auto;flex:1}.jpt-basket-line{border-bottom:1px solid #eee;padding:13px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.jpt-basket-line small{display:block;color:#607062;margin-top:6px}.jpt-basket-line button{background:none;border:0;color:#a04739;text-decoration:underline;cursor:pointer}.jpt-drawer-foot{border-top:1px solid #eee;padding:22px 24px}.jpt-drawer-foot p{font-size:13px;color:#686b65}.jpt-basket-total{display:flex;justify-content:space-between}.jpt-checkout-disabled{border:0;border-radius:5px;width:100%;background:#d9dbd5;color:#6f736c;padding:15px;cursor:not-allowed}@media(max-width:850px){.jpt-head-hint{display:none}.jpt-hero-inner{grid-template-columns:1fr}.jpt-hero-content{padding:52px 0 30px}.jpt-hero-photo{height:280px;min-height:0;margin:0 -18px}.jpt-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.jpt-products{grid-template-columns:1fr}.jpt-detail-grid{grid-template-columns:1fr;gap:23px}.jpt-detail-photo{max-height:420px}}@media(max-width:520px){.jpt-wrap{width:calc(100% - 30px)}.jpt-header-inner{min-height:66px}.jpt-brand img{width:110px}.jpt-hero h1{font-size:44px}.jpt-hero-content{padding-top:43px}.jpt-hero-content p{font-size:15px}.jpt-hero-photo{height:260px;margin:0 -15px}.jpt-menu-section{padding:44px 0}.jpt-categories{gap:10px}.jpt-category-image{aspect-ratio:1}.jpt-category-copy{padding:13px 12px;display:block;min-height:80px}.jpt-category-copy strong{font-size:18px;display:block}.jpt-category-copy>span{display:block;font-size:11px;margin-top:7px}.jpt-product{min-height:145px}.jpt-product-photo{width:35%}.jpt-product-info{padding:13px}.jpt-product-info h2{font-size:21px}.jpt-product .jpt-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.jpt-photo-placeholder{min-height:140px}.jpt-footer-inner{align-items:flex-start;flex-direction:column}.jpt-listing,.jpt-detail{padding-bottom:45px}}


/* ===========================================================
   Jai Pui Takeaway v0.2.0 — Thai Nights visual refinement
   Printed menu reference: warm ivory, burgundy type,
   finely drawn gold ornament and a restrained floral signature.
   Scoped to the independent takeaway components.
   =========================================================== */
:root{
  --jpt-cream:#fff8f0;
  --jpt-burgundy:#891b28;
  --jpt-burgundy-dark:#701822;
  --jpt-gold:#c59b61;
  --jpt-gold-fine:#dec49a;
  --jpt-deep:#193b31;
}
body.jpt-site{background:var(--jpt-cream)}
body.jpt-site .jpt-header{
  background:#fffdf9;
  border-bottom:1px solid #e9dcc8;
}
body.jpt-site .jpt-header-inner{min-height:84px}
body.jpt-site .jpt-brand{flex-shrink:0}
body.jpt-site .jpt-brand img{
  width:168px;
  max-height:80px;
  height:auto;
  object-fit:contain;
}
body.jpt-site .jpt-head-hint{color:#667266}
body.jpt-site .jpt-basket-trigger{background:#193b31}
body.jpt-site .jpt-basket-trigger:hover{background:#275141}
body.jpt-site .jpt-hero{background:var(--jpt-deep)}
body.jpt-site .jpt-hero-inner{min-height:310px}
body.jpt-site .jpt-hero-content{
  padding:38px 24px 38px 0;
}
body.jpt-site .jpt-hero h1{
  font-size:clamp(37px,4.35vw,60px);
  line-height:1.06;
  letter-spacing:-.9px;
  margin:13px 0 10px;
}
body.jpt-site .jpt-hero h1 em{color:#e8c99a}
body.jpt-site .jpt-hero-content p{
  font-size:15px;
  line-height:1.55;
  max-width:415px;
  margin:13px 0 0;
}
body.jpt-site .jpt-hero-action{
  margin-top:21px;
  padding:12px 19px;
  background:#d8b980;
}
body.jpt-site .jpt-hero-photo{
  min-height:0;
  position:relative;
}
body.jpt-site .jpt-hero-photo img{
  object-position:50% 43%;
}
/* A single fine gold rule evokes the printed menu's decorative frame. */
body.jpt-site .jpt-hero-photo:after{
  content:"";
  position:absolute;
  inset:11px 11px 11px auto;
  width:1px;
  background:rgba(223,190,140,.45);
  pointer-events:none;
}
body.jpt-site .jpt-menu-section{
  padding:48px 0 78px;
  background:var(--jpt-cream);
}
body.jpt-site .jpt-section-heading{position:relative;margin-bottom:27px}
body.jpt-site .jpt-section-heading:before{
  content:"";
  display:block;
  width:96px;
  height:19px;
  background:url('assets/images/thai-gold-divider.svg') center/contain no-repeat;
  margin:0 0 9px;
}
body.jpt-site .jpt-section-heading h1,
body.jpt-site .jpt-section-heading h2{
  color:#283b31;
  margin:10px 0;
  font-size:clamp(30px,3.35vw,44px);
}
body.jpt-site .jpt-eyebrow{color:#ac773b}
body.jpt-site .jpt-section-heading p{color:#687469}
body.jpt-site .jpt-category{
  border:1px solid #e9d9c4;
  background:#fffdf9;
  border-radius:7px;
  position:relative;
}
body.jpt-site .jpt-category:focus-visible,
body.jpt-site .jpt-hero-action:focus-visible,
body.jpt-site .jpt-basket-trigger:focus-visible{
  outline:3px solid #ad763b;
  outline-offset:3px;
}
body.jpt-site .jpt-category:after{
  content:"";
  position:absolute;
  right:7px;
  bottom:7px;
  width:16px;
  height:16px;
  border-right:1px solid #d8b77e;
  border-bottom:1px solid #d8b77e;
  opacity:.65;
  pointer-events:none;
}
body.jpt-site .jpt-category-copy{padding:16px 19px}
body.jpt-site .jpt-category-copy strong{color:var(--jpt-burgundy);font-size:21px}
body.jpt-site .jpt-category-copy>span{color:#8d6538}
body.jpt-site .jpt-category:hover{box-shadow:0 9px 25px #512d161c;border-color:#d5b787}
body.jpt-site .jpt-footer{position:relative;background:#193b31;border-top:3px solid #c5a06a}
body.jpt-site .jpt-footer:before{
  content:"";
  position:absolute;
  right:max(4%,calc((100vw - 1180px)/2));
  top:5px;
  width:72px;
  height:72px;
  background:url('assets/images/thai-orchid-mark.svg') center/contain no-repeat;
  opacity:.67;
  pointer-events:none;
}
body.jpt-site .jpt-footer-inner{padding-right:70px}
body.jpt-site .jpt-product{border-color:#eadccb;background:#fffdf9}
body.jpt-site .jpt-product-info h2,
body.jpt-site .jpt-detail-copy h1{color:var(--jpt-burgundy)}
body.jpt-site .jpt-order-link,
body.jpt-site .jpt-back{color:#8c2631}
body.jpt-site .jpt-from{color:#263a30}
body.jpt-site .jpt-variant{border-color:#e6d5bc;background:#fffdf9}
body.jpt-site .jpt-variant:has(input:checked){border-color:#b98d57;background:#fff8ed}
body.jpt-site .jpt-add-button{background:#d5b47a}
body.jpt-site .jpt-drawer-head h2{color:var(--jpt-burgundy)}
@media (max-width:850px){
  body.jpt-site .jpt-header-inner{min-height:78px}
  body.jpt-site .jpt-brand img{width:151px;max-height:73px}
  body.jpt-site .jpt-hero-inner{min-height:0}
  body.jpt-site .jpt-hero-content{padding:31px 0 26px}
  body.jpt-site .jpt-hero h1{font-size:clamp(36px,6.5vw,54px)}
  body.jpt-site .jpt-hero-photo{height:220px;min-height:0}
  body.jpt-site .jpt-hero-photo img{object-position:center 38%}
  body.jpt-site .jpt-menu-section{padding-top:35px}
}
@media (max-width:520px){
  body.jpt-site .jpt-header-inner{min-height:72px}
  body.jpt-site .jpt-brand img{width:137px;max-height:67px}
  body.jpt-site .jpt-head-right{gap:8px}
  body.jpt-site .jpt-basket-trigger{padding:10px 13px;font-size:13px}
  body.jpt-site .jpt-hero-content{padding:29px 0 22px}
  body.jpt-site .jpt-hero h1{font-size:clamp(34px,9vw,44px);margin:11px 0 8px}
  body.jpt-site .jpt-hero-content p{font-size:14px;line-height:1.5;margin:9px 0 0}
  body.jpt-site .jpt-hero-action{margin-top:15px;padding:11px 17px}
  body.jpt-site .jpt-hero-photo{height:165px}
  body.jpt-site .jpt-menu-section{padding:29px 0 49px}
  body.jpt-site .jpt-section-heading:before{margin-bottom:7px}
  body.jpt-site .jpt-section-heading h1,
  body.jpt-site .jpt-section-heading h2{font-size:30px}
  body.jpt-site .jpt-category-copy{padding:13px 12px}
  body.jpt-site .jpt-category-copy strong{font-size:18px}
  body.jpt-site .jpt-footer-inner{padding-right:0}
  body.jpt-site .jpt-footer:before{width:47px;height:47px;right:12px}
}
@media (prefers-reduced-motion:reduce){
  body.jpt-site .jpt-category{transition:none}
}


/* ===================================================================
   Jai Pui Takeaway 0.4 — editorial Thai Nights design
   A single content width, delicate accents, mobile-first food navigation.
   =================================================================== */
body.jpt-site{--jpt-red:#821c2b;--jpt-warm:#fffaf3;--jpt-gilt:#b88b52;background:var(--jpt-warm);color:#342f2b;font-family:Arial,Helvetica,sans-serif}
body.jpt-site .jpt-wrap{width:min(1080px,calc(100% - 48px));margin-inline:auto}
body.jpt-site .jpt-header{background:#fffaf3;border-bottom:1px solid #dcc49e;box-shadow:none}
body.jpt-site .jpt-header-inner{min-height:81px}
body.jpt-site .jpt-brand img{width:178px;max-height:77px;object-fit:contain}
body.jpt-site .jpt-head-hint{color:#8b7566;font-size:12px}
body.jpt-site .jpt-basket-trigger{border-radius:4px;background:#821c2b;color:white;font-weight:600;padding:11px 17px}
body.jpt-site .jpt-basket-trigger span{background:#f3d9b0;color:#781c29}
body.jpt-site .jpt-basket-trigger:focus-visible,body.jpt-site .jpt-category:focus-visible{outline:3px solid #bd9256;outline-offset:4px}
/* Pui introduces the brand, but only in a slim editorial band. */
body.jpt-site .jpt-opening{background:#fcf3e9;border-bottom:1px solid #ead9c1}
body.jpt-site .jpt-opening-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:160px;padding-block:20px}
body.jpt-site .jpt-opening-eyebrow,body.jpt-site .jpt-menu-overline{font-size:10px;letter-spacing:.22em;color:#ad7b45;font-weight:700}
body.jpt-site .jpt-opening h1{font:400 clamp(32px,3.45vw,47px)/1.13 Georgia,'Times New Roman',serif;letter-spacing:-.02em;color:#7f1d2a;margin:10px 0 8px}
body.jpt-site .jpt-opening h1 em{font-style:italic;font-weight:400}
body.jpt-site .jpt-opening p{margin:0;font-size:14px;line-height:1.5;color:#6b5d55}
body.jpt-site .jpt-opening-photo{flex:0 0 112px;width:112px;height:112px;border-radius:50%;overflow:hidden;padding:4px;background:#fffaf3;border:1px solid #d5ad7b}
body.jpt-site .jpt-opening-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%;border-radius:50%;display:block}
/* No giant gold frame: width and rhythm come from print-inspired alignment. */
body.jpt-site .jpt-menu-section.jpt-menu-v4{background:#fffaf3;padding:34px 0 65px}
body.jpt-site .jpt-menu-content{max-width:1080px}
body.jpt-site .jpt-menu-heading{position:relative;text-align:center;margin:0 auto 25px;padding:4px 0 0}
body.jpt-site .jpt-menu-heading-title{position:relative;z-index:1}
body.jpt-site .jpt-menu-heading h2{font:400 clamp(30px,3.25vw,43px)/1.12 Georgia,'Times New Roman',serif;color:#7e1c2a;letter-spacing:-.018em;margin:7px 0 10px}
body.jpt-site .jpt-menu-heading-rule{display:block;width:108px;height:14px;margin:0 auto 9px;background:url('assets/images/thai-gold-divider.svg') center/contain no-repeat}
body.jpt-site .jpt-menu-heading p{font-size:13px;margin:0;color:#7c6d61}
body.jpt-site .jpt-menu-orchid{position:absolute;right:2px;top:0;opacity:.42;width:80px;height:80px;pointer-events:none}
body.jpt-site .jpt-menu-v4 .jpt-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:29px 22px}
body.jpt-site .jpt-menu-v4 .jpt-category{display:block;border:0;background:transparent;border-radius:0;box-shadow:none;text-decoration:none;min-width:0;overflow:visible;transition:none}
body.jpt-site .jpt-menu-v4 .jpt-category:after{display:none}
body.jpt-site .jpt-menu-v4 .jpt-category:hover{transform:none;box-shadow:none;border:0}
body.jpt-site .jpt-menu-v4 .jpt-category-image{display:block;aspect-ratio:1.55;overflow:hidden;border-radius:2px;background:#e9ddc9;border:1px solid #ead8bf}
body.jpt-site .jpt-menu-v4 .jpt-category-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}
body.jpt-site .jpt-menu-v4 .jpt-category:hover .jpt-category-image img{transform:scale(1.025)}
body.jpt-site .jpt-menu-v4 .jpt-category-copy{display:flex;justify-content:space-between;align-items:center;min-height:0;padding:11px 1px 11px;border-bottom:1px solid #dbc4a3;gap:10px}
body.jpt-site .jpt-menu-v4 .jpt-category-copy strong{font:400 clamp(19px,2vw,25px)/1.16 Georgia,'Times New Roman',serif;color:#84202e;letter-spacing:-.015em}
body.jpt-site .jpt-menu-v4 .jpt-cat-arrow{font-size:19px;color:#b28a53;line-height:1}
body.jpt-site .jpt-menu-signoff{display:flex;align-items:center;gap:12px;justify-content:center;width:min(370px,90%);margin:35px auto 0;opacity:.66}
body.jpt-site .jpt-menu-signoff span{flex:1;height:1px;background:#cba575}
body.jpt-site .jpt-menu-signoff img{width:88px;height:18px;object-fit:contain}
/* Quiet, menu-consistent interior pages too. */
body.jpt-site .jpt-listing,body.jpt-site .jpt-detail{max-width:1080px}
body.jpt-site .jpt-product,body.jpt-site .jpt-variant{border-color:#e4d5c1;background:#fffdf9}
body.jpt-site .jpt-product-info h2,body.jpt-site .jpt-detail-copy h1,body.jpt-site .jpt-drawer-head h2{color:#84202e}
body.jpt-site .jpt-order-link,body.jpt-site .jpt-back{color:#84202e}
body.jpt-site .jpt-add-button{background:#821c2b;color:#fff}
body.jpt-site .jpt-footer{background:#76212b;border-top:1px solid #bc935d}
body.jpt-site .jpt-footer:before{display:none}
body.jpt-site .jpt-footer-inner{padding-right:0}
@media(max-width:850px){
 body.jpt-site .jpt-header-inner{min-height:73px}
 body.jpt-site .jpt-brand img{width:156px;max-height:68px}
 body.jpt-site .jpt-opening-inner{min-height:0;padding-block:17px}
 body.jpt-site .jpt-opening-photo{width:96px;height:96px;flex-basis:96px}
 body.jpt-site .jpt-menu-v4 .jpt-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
 body.jpt-site .jpt-menu-section.jpt-menu-v4{padding-top:28px}
}
@media(max-width:520px){
 body.jpt-site .jpt-wrap{width:calc(100% - 30px)}
 body.jpt-site .jpt-header-inner{min-height:66px}
 body.jpt-site .jpt-brand img{width:136px;max-height:61px}
 body.jpt-site .jpt-head-right{gap:8px}
 body.jpt-site .jpt-basket-trigger{font-size:13px;padding:10px 12px}
 body.jpt-site .jpt-opening-inner{gap:13px;padding-block:14px}
 body.jpt-site .jpt-opening-eyebrow{font-size:8px;letter-spacing:.12em}
 body.jpt-site .jpt-opening h1{font-size:clamp(25px,6.6vw,31px);line-height:1.1;margin:7px 0 6px}
 body.jpt-site .jpt-opening p{font-size:11px;line-height:1.35;max-width:240px}
 body.jpt-site .jpt-opening-photo{width:72px;height:72px;flex-basis:72px;padding:3px}
 body.jpt-site .jpt-menu-section.jpt-menu-v4{padding:23px 0 45px}
 body.jpt-site .jpt-menu-heading{margin-bottom:19px}
 body.jpt-site .jpt-menu-heading h2{font-size:29px;margin:6px 0 8px}
 body.jpt-site .jpt-menu-overline{font-size:9px}
 body.jpt-site .jpt-menu-heading p{font-size:12px}
 body.jpt-site .jpt-menu-orchid{width:46px;height:46px;right:0;opacity:.3}
 body.jpt-site .jpt-menu-v4 .jpt-categories{gap:19px 11px}
 body.jpt-site .jpt-menu-v4 .jpt-category-image{aspect-ratio:1.12}
 body.jpt-site .jpt-menu-v4 .jpt-category-copy{display:flex;min-height:0;padding:9px 0}
 body.jpt-site .jpt-menu-v4 .jpt-category-copy strong{font-size:clamp(16px,4.25vw,20px)}
 body.jpt-site .jpt-menu-v4 .jpt-cat-arrow{font-size:17px}
 body.jpt-site .jpt-menu-signoff{margin-top:25px}
}


/* ===== v0.5.0 Header-first refinement ===== */
body.jpt-site{background:#fcf6ef;color:#21342d;font-family:Inter,Arial,sans-serif}
body.jpt-site .jpt-wrap{width:min(1120px,calc(100% - 32px))}
body.jpt-site .jpt-header{position:sticky;top:0;z-index:90;background:#fcf6ef;border-bottom:1px solid #e5cfad;box-shadow:0 1px 0 rgba(189,143,71,.08)}
body.jpt-site .jpt-header-inner{min-height:104px;padding:16px 0;display:grid;grid-template-columns:minmax(180px,220px) minmax(220px,1fr) auto;align-items:center;gap:24px}
body.jpt-site .jpt-brand img{display:block;width:198px;max-width:100%;max-height:none;object-fit:contain}
body.jpt-site .jpt-head-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px}
body.jpt-site .jpt-head-kicker{font-family:Georgia,serif;font-size:22px;line-height:1.1;color:#8a1f30;letter-spacing:-.01em}
body.jpt-site .jpt-head-sub{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#9b7a46;font-weight:700}
body.jpt-site .jpt-head-right{display:flex;align-items:center;justify-content:flex-end;gap:14px}
body.jpt-site .jpt-head-pui{display:inline-flex;align-items:center;gap:10px;padding:5px 0;color:#6f5846;font-size:13px;font-weight:600;white-space:nowrap}
body.jpt-site .jpt-head-pui img{width:46px;height:46px;border-radius:999px;object-fit:cover;object-position:center 35%;border:1px solid #d8b37c;padding:2px;background:#fff8f0}
body.jpt-site .jpt-basket-trigger{background:#8d1f31;color:#fff;border-radius:999px;padding:12px 17px;font-size:14px;font-weight:700;box-shadow:none}
body.jpt-site .jpt-basket-trigger span{background:#f1d6a8;color:#7e1d2d}
body.jpt-site .jpt-menu-section{padding:28px 0 74px}
body.jpt-site .jpt-menu-heading{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin:0 0 28px;padding-top:6px}
body.jpt-site .jpt-menu-overline{display:block;font-size:11px;letter-spacing:.28em;color:#b28345;font-weight:700}
body.jpt-site .jpt-menu-heading h1{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,5vw,56px);font-weight:400;letter-spacing:-.03em;line-height:1.06;color:#8d1f31}
body.jpt-site .jpt-menu-heading p{margin:0;color:#66564b;font-size:15px}
body.jpt-site .jpt-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
body.jpt-site .jpt-category{display:block;background:transparent;border:0;border-radius:0;overflow:visible;transition:transform .18s ease}
body.jpt-site .jpt-category:hover{transform:translateY(-3px);box-shadow:none}
body.jpt-site .jpt-category-image{display:block;aspect-ratio:1.13;overflow:hidden;border-radius:3px;background:#efe6d7}
body.jpt-site .jpt-category-image img{width:100%;height:100%;display:block;object-fit:cover}
body.jpt-site .jpt-category-copy{padding:14px 2px 4px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;border-bottom:1px solid #dfc8a3}
body.jpt-site .jpt-category-copy strong{font-family:Georgia,'Times New Roman',serif;font-size:31px;line-height:1.08;font-weight:400;color:#8d1f31}
body.jpt-site .jpt-cat-arrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#a07a43;font-weight:700;padding-bottom:4px}
body.jpt-site .jpt-footer{background:#8d1f31;color:#fff3ea;padding:28px 0}
body.jpt-site .jpt-footer p{color:#f8e9de}
body.jpt-site .jpt-footer a{color:#f0d8aa}
@media (max-width: 960px){body.jpt-site .jpt-header-inner{grid-template-columns:1fr auto;grid-template-areas:"brand basket" "copy copy";gap:10px 14px;min-height:0;padding:14px 0 15px}body.jpt-site .jpt-brand{grid-area:brand}body.jpt-site .jpt-head-right{grid-area:basket;gap:10px}body.jpt-site .jpt-head-copy{grid-area:copy;align-items:flex-start;text-align:left;padding-top:2px}body.jpt-site .jpt-head-kicker{font-size:18px}body.jpt-site .jpt-head-sub{font-size:10px;letter-spacing:.16em}body.jpt-site .jpt-head-pui span{display:none}body.jpt-site .jpt-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}body.jpt-site .jpt-category-copy strong{font-size:25px}}
@media (max-width: 640px){body.jpt-site .jpt-wrap{width:calc(100% - 24px)}body.jpt-site .jpt-header-inner{padding:12px 0 13px}body.jpt-site .jpt-brand img{width:160px}body.jpt-site .jpt-head-kicker{font-size:16px;line-height:1.12}body.jpt-site .jpt-head-sub{font-size:9px;letter-spacing:.12em}body.jpt-site .jpt-head-pui img{width:38px;height:38px}body.jpt-site .jpt-basket-trigger{padding:10px 13px;font-size:13px}body.jpt-site .jpt-menu-section{padding:20px 0 48px}body.jpt-site .jpt-menu-heading{align-items:flex-start;text-align:left;margin-bottom:18px}body.jpt-site .jpt-menu-heading h1{font-size:clamp(28px,9vw,38px)}body.jpt-site .jpt-menu-heading p{font-size:13px}body.jpt-site .jpt-categories{gap:12px}body.jpt-site .jpt-category-image{aspect-ratio:1}body.jpt-site .jpt-category-copy{display:block;padding:11px 0 2px;min-height:0}body.jpt-site .jpt-category-copy strong{display:block;font-size:20px}body.jpt-site .jpt-cat-arrow{display:block;margin-top:4px;padding-bottom:0}}


/* ===== v0.6.0 Thai identity refresh ===== */
body.jpt-site{background:#fbf4ea;color:#213229}
body.jpt-site .jpt-wrap{width:min(1120px,calc(100% - 32px))}
body.jpt-site .jpt-header{position:sticky;top:0;z-index:90;background:linear-gradient(180deg,#fbf4ea 0%,#f8efe2 100%);border-bottom:1px solid #dcbf8a;box-shadow:none}
body.jpt-site .jpt-header::before,body.jpt-site .jpt-header::after{content:"";position:absolute;left:0;right:0;height:1px;background:#eddcc0}body.jpt-site .jpt-header::before{top:0}body.jpt-site .jpt-header::after{bottom:0}
body.jpt-site .jpt-header-inner{min-height:124px;padding:18px 0 16px;display:grid;grid-template-columns:minmax(200px,255px) minmax(260px,1fr) auto;align-items:center;gap:24px;position:relative}
body.jpt-site .jpt-brand-wordmark{display:flex;flex-direction:column;align-items:flex-start;gap:4px;line-height:1;text-decoration:none}
body.jpt-site .jpt-brand-main{font-family:Georgia,'Times New Roman',serif;font-size:clamp(44px,4.7vw,66px);letter-spacing:-.055em;line-height:.9;color:#8d1f31;font-weight:400}
body.jpt-site .jpt-brand-divider img{width:98px;height:auto;display:block}
body.jpt-site .jpt-brand-sub{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:#9c7743;font-weight:700}
body.jpt-site .jpt-head-center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;padding-top:6px}
body.jpt-site .jpt-head-kicker{font-family:Georgia,'Times New Roman',serif;font-size:clamp(20px,2vw,31px);line-height:1.12;color:#8d1f31;letter-spacing:-.02em}
body.jpt-site .jpt-head-main{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:#aa8246;font-weight:700}
body.jpt-site .jpt-head-right{display:flex;align-items:center;justify-content:flex-end;gap:15px}
body.jpt-site .jpt-pui-chip{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 8px;background:rgba(255,251,246,.9);border:1px solid #e4c99f;border-radius:999px;box-shadow:0 1px 0 rgba(189,143,71,.08)}
body.jpt-site .jpt-pui-photo{display:inline-flex;width:64px;height:64px;border-radius:999px;padding:3px;background:linear-gradient(180deg,#cfa362 0%,#e8ca95 100%)}
body.jpt-site .jpt-pui-photo img{width:100%;height:100%;border-radius:999px;object-fit:cover;object-position:center 35%;display:block;border:2px solid #fff8ef}
body.jpt-site .jpt-pui-copy{display:flex;flex-direction:column;line-height:1.2}
body.jpt-site .jpt-pui-copy strong{font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:400;color:#7d2030}
body.jpt-site .jpt-pui-copy small{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8e724c;font-weight:700;margin-top:4px}
body.jpt-site .jpt-basket-trigger{background:linear-gradient(180deg,#9e2237 0%,#861c2d 100%);color:#fff;border-radius:999px;padding:13px 18px;font-size:15px;font-weight:700;box-shadow:0 3px 10px rgba(134,28,45,.14)}
body.jpt-site .jpt-basket-trigger span{background:#f2d7a6;color:#7e1d2d}
body.jpt-site .jpt-menu-section{padding:28px 0 74px;position:relative;background:linear-gradient(180deg,#fbf4ea 0%,#f9f1e7 100%)}
body.jpt-site .jpt-menu-section::before,body.jpt-site .jpt-menu-section::after{content:"";position:absolute;top:32px;width:96px;height:96px;background-image:url('assets/images/thai-orchid-mark.svg');background-repeat:no-repeat;background-size:contain;opacity:.25;pointer-events:none}body.jpt-site .jpt-menu-section::before{left:max(10px,calc(50% - 590px))}body.jpt-site .jpt-menu-section::after{right:max(10px,calc(50% - 590px));transform:scaleX(-1)}
body.jpt-site .jpt-menu-heading{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin:0 0 30px;padding-top:4px;position:relative;z-index:1}
body.jpt-site .jpt-menu-heading-orchid{width:74px;height:auto;opacity:.92;margin-bottom:2px}
body.jpt-site .jpt-menu-overline{display:block;font-size:11px;letter-spacing:.28em;color:#b28345;font-weight:700}
body.jpt-site .jpt-menu-heading h1{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,5vw,56px);font-weight:400;letter-spacing:-.03em;line-height:1.06;color:#8d1f31}
body.jpt-site .jpt-menu-divider img{width:124px;height:auto;display:block}
body.jpt-site .jpt-menu-heading p{margin:0;color:#66564b;font-size:15px}
body.jpt-site .jpt-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;position:relative;z-index:1}
body.jpt-site .jpt-category{display:block;background:#fffdf9;border:1px solid #e5cfad;border-radius:10px;overflow:hidden;transition:transform .18s ease, box-shadow .18s ease;box-shadow:0 6px 24px rgba(90,57,28,.04)}
body.jpt-site .jpt-category:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(90,57,28,.08)}
body.jpt-site .jpt-category-image{display:block;aspect-ratio:1.14;overflow:hidden;background:#efe6d7}
body.jpt-site .jpt-category-image img{width:100%;height:100%;display:block;object-fit:cover}
body.jpt-site .jpt-category-copy{padding:14px 16px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
body.jpt-site .jpt-category-copy strong{font-family:Georgia,'Times New Roman',serif;font-size:30px;line-height:1.05;font-weight:400;color:#8d1f31}
body.jpt-site .jpt-cat-arrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#a07a43;font-weight:700;padding-bottom:4px}
body.jpt-site .jpt-footer{background:#8d1f31;color:#fff3ea;padding:28px 0}
body.jpt-site .jpt-footer p{color:#f8e9de}
body.jpt-site .jpt-footer a{color:#f0d8aa}
@media (max-width: 1050px){body.jpt-site .jpt-header-inner{grid-template-columns:minmax(180px,1fr) minmax(220px,1fr);grid-template-areas:"brand right" "center center";gap:14px 18px;min-height:0;padding:14px 0 16px}body.jpt-site .jpt-brand-wordmark{grid-area:brand}body.jpt-site .jpt-head-center{grid-area:center;align-items:flex-start;text-align:left;padding-top:0}body.jpt-site .jpt-head-right{grid-area:right;justify-content:flex-end}body.jpt-site .jpt-pui-copy small{display:none}}
@media (max-width: 780px){body.jpt-site .jpt-pui-chip{padding:6px;background:transparent;border:0;box-shadow:none}body.jpt-site .jpt-pui-photo{width:54px;height:54px}body.jpt-site .jpt-pui-copy strong{font-size:16px}body.jpt-site .jpt-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}body.jpt-site .jpt-category-copy strong{font-size:24px}}
@media (max-width: 640px){body.jpt-site .jpt-wrap{width:calc(100% - 24px)}body.jpt-site .jpt-header-inner{grid-template-columns:1fr auto;grid-template-areas:"brand basket" "center center";gap:10px 12px;padding:12px 0 14px}body.jpt-site .jpt-brand-main{font-size:42px}body.jpt-site .jpt-brand-divider img{width:82px}body.jpt-site .jpt-brand-sub{font-size:9px;letter-spacing:.18em}body.jpt-site .jpt-head-right{grid-area:basket;gap:8px}body.jpt-site .jpt-pui-chip{padding:0;border:0}body.jpt-site .jpt-pui-copy{display:none}body.jpt-site .jpt-pui-photo{width:48px;height:48px;padding:2px}body.jpt-site .jpt-basket-trigger{padding:10px 13px;font-size:13px}body.jpt-site .jpt-head-center{grid-area:center;align-items:flex-start;text-align:left;gap:5px}body.jpt-site .jpt-head-kicker{font-size:17px;line-height:1.1}body.jpt-site .jpt-head-main{font-size:9px;letter-spacing:.18em}body.jpt-site .jpt-menu-section{padding:18px 0 48px}body.jpt-site .jpt-menu-section::before,body.jpt-site .jpt-menu-section::after{display:none}body.jpt-site .jpt-menu-heading{align-items:flex-start;text-align:left;margin-bottom:18px}body.jpt-site .jpt-menu-heading-orchid{width:62px}body.jpt-site .jpt-menu-heading h1{font-size:clamp(28px,9vw,38px)}body.jpt-site .jpt-menu-heading p{font-size:13px}body.jpt-site .jpt-menu-divider img{width:108px}body.jpt-site .jpt-categories{gap:12px}body.jpt-site .jpt-category{border-radius:8px}body.jpt-site .jpt-category-image{aspect-ratio:1}body.jpt-site .jpt-category-copy{display:block;padding:11px 12px 12px;min-height:0}body.jpt-site .jpt-category-copy strong{display:block;font-size:20px}body.jpt-site .jpt-cat-arrow{display:block;margin-top:6px;padding-bottom:0}}

/* =========================================================
   JAI PUI v0.7 — CONCEPT D / RESPONSIVE THAI HEADER
   This block intentionally supersedes the old header styling.
   ========================================================= */
body.jpt-site .jpt-header.jpt-header-v7{background:#09392f;color:#f4d8a1;position:relative;overflow:hidden;border:0;border-bottom:3px solid #bd8a48;box-shadow:0 4px 0 #f4e9da;isolation:isolate}
body.jpt-site .jpt-header-v7:before,body.jpt-site .jpt-header-v7:after{content:none}
body.jpt-site .jpt-header-v7 .jpt-header-ornament{position:absolute;inset:0;z-index:-1;opacity:.8;pointer-events:none;background:radial-gradient(ellipse at 46% 15%,rgba(244,209,139,.09),transparent 52%),repeating-linear-gradient(130deg,transparent 0 54px,rgba(214,166,89,.032) 54px 55px,transparent 55px 110px)}
body.jpt-site .jpt-header-v7 .jpt-header-ornament:before{content:'';position:absolute;left:-12px;bottom:-30px;width:235px;height:200px;background:url('assets/images/jai-pui-thai-flourish.svg') no-repeat left bottom/contain;opacity:.8}
body.jpt-site .jpt-header-v7 .jpt-header-ornament:after{content:'';position:absolute;right:2px;top:5px;width:160px;height:135px;background:url('assets/images/jai-pui-thai-flourish.svg') no-repeat center/contain;opacity:.22;transform:rotate(180deg)}
body.jpt-site .jpt-header-v7 .jpt-header-shell{width:min(1320px,calc(100% - 48px));min-height:188px;margin:auto;position:relative;display:grid;grid-template-columns:minmax(230px,1.05fr) minmax(300px,1fr) minmax(210px,.75fr) auto;align-items:center;gap:16px;padding:16px 0}
body.jpt-site .jpt-header-v7 .jpt-identity{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-decoration:none;min-width:0;z-index:1;color:#f4cd83;margin-left:30px;white-space:nowrap}
body.jpt-site .jpt-header-v7 .jpt-identity-mark{width:65px;height:34px;display:block;margin-bottom:-9px;z-index:2}
body.jpt-site .jpt-header-v7 .jpt-identity-mark img{width:100%;height:100%;display:block}
body.jpt-site .jpt-header-v7 .jpt-identity-name{font:400 clamp(58px,5.2vw,88px)/.98 Georgia,'Times New Roman',serif;letter-spacing:-.072em;color:#f0c77b;text-shadow:0 2px 0 rgba(0,0,0,.12)}
body.jpt-site .jpt-header-v7 .jpt-identity-caption{position:relative;font:700 12px/1.4 Arial,sans-serif;letter-spacing:.34em;color:#f7e7c2;margin-top:8px}
body.jpt-site .jpt-header-v7 .jpt-identity-caption:before,body.jpt-site .jpt-header-v7 .jpt-identity-caption:after{content:'';position:absolute;top:50%;width:33px;height:1px;background:#d7a763}
body.jpt-site .jpt-header-v7 .jpt-identity-caption:before{right:calc(100% + 12px)}body.jpt-site .jpt-header-v7 .jpt-identity-caption:after{left:calc(100% + 12px)}
body.jpt-site .jpt-header-v7 .jpt-head-claim{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;text-align:center;gap:7px;padding:3px 20px 3px 24px;border-left:1px solid rgba(229,186,113,.6)}
body.jpt-site .jpt-header-v7 .jpt-claim-copy{font:italic 400 clamp(22px,2.4vw,32px)/1.18 Georgia,'Times New Roman',serif;letter-spacing:-.025em;color:#fbefdc}
body.jpt-site .jpt-header-v7 .jpt-claim-divider img{width:114px;display:block;filter:brightness(1.25)}
body.jpt-site .jpt-header-v7 .jpt-claim-caption{font:700 10px/1.5 Arial,sans-serif;letter-spacing:.23em;color:#e5be80;white-space:nowrap}
body.jpt-site .jpt-header-v7 .jpt-head-person{height:185px;align-self:end;position:relative;overflow:hidden;min-width:0;isolation:isolate;mask-image:linear-gradient(to right,transparent,black 19%,black 94%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 19%,black 94%,transparent)}
body.jpt-site .jpt-header-v7 .jpt-head-person:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#09392f 0%,transparent 30%),linear-gradient(90deg,#09392f 0%,transparent 28%);pointer-events:none}
body.jpt-site .jpt-header-v7 .jpt-head-person img{height:100%;width:100%;object-fit:cover;object-position:center 31%;display:block;mix-blend-mode:normal}
body.jpt-site .jpt-header-v7 .jpt-portrait-label{position:absolute;bottom:9px;right:21px;z-index:1;font:italic 17px Georgia,serif;color:#f9e7bc;text-shadow:0 1px 5px #08271e}
body.jpt-site .jpt-header-v7 .jpt-basket-trigger{position:relative;z-index:3;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#84162d;color:#fff4e2;border:1px solid #deaf65;border-radius:99px;padding:12px 16px;white-space:nowrap;box-shadow:0 3px 14px rgba(0,0,0,.18);font:bold 15px Arial,sans-serif;cursor:pointer}
body.jpt-site .jpt-header-v7 .jpt-basket-trigger:hover{background:#a4243c}
body.jpt-site .jpt-header-v7 .jpt-basket-count{display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:27px;padding:0 5px;border-radius:50%;background:#f0cf90;color:#5e1730;font-size:14px}
body.jpt-site .jpt-header-v7 .jpt-basket-trigger:focus-visible,body.jpt-site .jpt-header-v7 .jpt-identity:focus-visible{outline:3px solid #ffe0a0;outline-offset:4px}
/* Keep the rest of the homepage quiet so the header is the one feature. */
body.jpt-site .jpt-home-v6 .jpt-menu-section{background:#fbf6ed}
@media (max-width:1100px){
body.jpt-site .jpt-header-v7 .jpt-header-shell{grid-template-columns:minmax(180px,.9fr) minmax(220px,1fr) minmax(135px,.7fr) auto;gap:10px;min-height:166px}
body.jpt-site .jpt-header-v7 .jpt-identity{margin-left:10px}
body.jpt-site .jpt-header-v7 .jpt-identity-name{font-size:clamp(50px,5.5vw,70px)}
body.jpt-site .jpt-header-v7 .jpt-head-person{height:162px}
body.jpt-site .jpt-header-v7 .jpt-head-claim{padding-inline:12px}
body.jpt-site .jpt-header-v7 .jpt-claim-copy{font-size:25px}
body.jpt-site .jpt-header-v7 .jpt-basket-trigger{padding:10px 11px}
}
@media (max-width:780px){
body.jpt-site .jpt-header-v7 .jpt-header-shell{width:calc(100% - 28px);grid-template-columns:minmax(150px,1fr) minmax(78px,110px) auto;grid-template-rows:auto auto;gap:0 8px;min-height:0;padding:10px 0 8px}
body.jpt-site .jpt-header-v7 .jpt-identity{grid-column:1;grid-row:1;align-items:flex-start;margin:0;padding:5px 0}
body.jpt-site .jpt-header-v7 .jpt-identity-mark{width:40px;height:24px;margin:0 0 -7px 34px}
body.jpt-site .jpt-header-v7 .jpt-identity-name{font-size:clamp(40px,7.6vw,60px)}
body.jpt-site .jpt-header-v7 .jpt-identity-caption{font-size:8px;letter-spacing:.2em;margin:5px 0 0 20px}
body.jpt-site .jpt-header-v7 .jpt-identity-caption:before,body.jpt-site .jpt-header-v7 .jpt-identity-caption:after{width:13px}
body.jpt-site .jpt-header-v7 .jpt-identity-caption:before{right:calc(100% + 5px)}body.jpt-site .jpt-header-v7 .jpt-identity-caption:after{left:calc(100% + 5px)}
body.jpt-site .jpt-header-v7 .jpt-head-person{grid-column:2;grid-row:1;height:100px;align-self:center;mask-image:linear-gradient(to right,transparent 0%,black 23%,black 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 23%,black 100%)}
body.jpt-site .jpt-header-v7 .jpt-head-person img{object-position:center 32%}
body.jpt-site .jpt-header-v7 .jpt-portrait-label{display:none}
body.jpt-site .jpt-header-v7 .jpt-basket-trigger{grid-column:3;grid-row:1;gap:5px;justify-self:end;padding:9px 9px;font-size:13px}
body.jpt-site .jpt-header-v7 .jpt-basket-trigger svg{width:17px}
body.jpt-site .jpt-header-v7 .jpt-basket-count{min-width:22px;height:22px;font-size:12px}
body.jpt-site .jpt-header-v7 .jpt-head-claim{grid-column:1 / 4;grid-row:2;display:flex;flex-direction:row;justify-content:center;gap:10px;border-left:0;border-top:1px solid rgba(229,186,113,.27);padding:10px 0 0;text-align:center}
body.jpt-site .jpt-header-v7 .jpt-claim-copy{font:italic 16px/1.2 Georgia,serif;white-space:normal}
body.jpt-site .jpt-header-v7 .jpt-claim-copy br{display:none}
body.jpt-site .jpt-header-v7 .jpt-claim-divider{display:none}
body.jpt-site .jpt-header-v7 .jpt-claim-caption{font-size:9px;letter-spacing:.13em}
body.jpt-site .jpt-header-v7 .jpt-header-ornament:before{width:120px;height:110px;left:-15px;bottom:2px;opacity:.45}
}
@media (max-width:480px){
body.jpt-site .jpt-header-v7 .jpt-header-shell{width:calc(100% - 20px);grid-template-columns:minmax(128px,1fr) 81px 92px;gap:0 2px;padding:9px 0 7px}
body.jpt-site .jpt-header-v7 .jpt-identity-name{font-size:clamp(37px,10vw,47px)}
body.jpt-site .jpt-header-v7 .jpt-identity-caption{font-size:7px;letter-spacing:.12em;margin-left:12px}
body.jpt-site .jpt-header-v7 .jpt-head-person{height:85px}
body.jpt-site .jpt-header-v7 .jpt-basket-trigger{font-size:12px;padding:8px 7px;gap:3px}
body.jpt-site .jpt-header-v7 .jpt-basket-trigger svg{display:none}
body.jpt-site .jpt-header-v7 .jpt-head-claim{gap:4px;flex-direction:column;padding-top:7px}
body.jpt-site .jpt-header-v7 .jpt-claim-copy{font-size:15px}
body.jpt-site .jpt-header-v7 .jpt-claim-caption{font-size:8px;letter-spacing:.17em}
}

/* v0.7.0 final QA corrections */
body.jpt-site .jpt-header-v7 .jpt-basket-label{display:inline;color:inherit;background:transparent;margin:0;padding:0;border:0;border-radius:0;min-width:0;height:auto;font-size:inherit;font-weight:700}
body.jpt-site .jpt-header-v7 .jpt-basket-count{margin:0}
@media(max-width:780px){body.jpt-site .jpt-header-v7 .jpt-head-claim{flex-direction:column;gap:3px}body.jpt-site .jpt-header-v7 .jpt-claim-copy{font-size:16px}}

/* v0.8.0: transparent photographic cut-out, no fading or box */
body.jpt-site .jpt-header-v7 .jpt-head-person{overflow:visible;isolation:auto;mask-image:none;-webkit-mask-image:none;z-index:2}
body.jpt-site .jpt-header-v7 .jpt-head-person:after{content:none;display:none}
body.jpt-site .jpt-header-v7 .jpt-head-person img{position:absolute;bottom:-16px;left:50%;transform:translateX(-50%);width:auto;height:220px;max-width:none;object-fit:contain;object-position:center bottom;mix-blend-mode:normal}
body.jpt-site .jpt-header-v7 .jpt-portrait-label{display:none}
@media (max-width:1100px){body.jpt-site .jpt-header-v7 .jpt-head-person img{height:192px;bottom:-14px}}
@media (max-width:780px){body.jpt-site .jpt-header-v7 .jpt-head-person{overflow:visible;mask-image:none;-webkit-mask-image:none}body.jpt-site .jpt-header-v7 .jpt-head-person img{height:128px;bottom:-11px;left:50%;transform:translateX(-50%)}}
@media (max-width:480px){body.jpt-site .jpt-header-v7 .jpt-head-person img{height:115px;bottom:-12px}}


/* v0.8.1: tighter desktop header and cleaner mobile formatting */
body.jpt-site .jpt-header-v7 .jpt-header-shell{min-height:156px;gap:14px;padding:10px 0 8px;grid-template-columns:minmax(220px,1.02fr) minmax(280px,.95fr) minmax(170px,.62fr) auto}
body.jpt-site .jpt-header-v7 .jpt-identity{margin-left:18px}
body.jpt-site .jpt-header-v7 .jpt-identity-mark{width:54px;height:29px;margin-bottom:-7px}
body.jpt-site .jpt-header-v7 .jpt-identity-name{font-size:clamp(52px,4.7vw,76px)}
body.jpt-site .jpt-header-v7 .jpt-identity-caption{font-size:11px;letter-spacing:.28em;margin-top:5px}
body.jpt-site .jpt-header-v7 .jpt-identity-caption:before,body.jpt-site .jpt-header-v7 .jpt-identity-caption:after{width:26px}
body.jpt-site .jpt-header-v7 .jpt-head-claim{gap:5px;padding:0 14px 0 18px}
body.jpt-site .jpt-header-v7 .jpt-claim-copy{font-size:clamp(19px,2vw,28px);line-height:1.12}
body.jpt-site .jpt-header-v7 .jpt-claim-divider img{width:96px}
body.jpt-site .jpt-header-v7 .jpt-claim-caption{font-size:9.5px;letter-spacing:.21em}
body.jpt-site .jpt-header-v7 .jpt-head-person{height:150px;align-self:end}
body.jpt-site .jpt-header-v7 .jpt-head-person img{height:184px;bottom:-12px}
body.jpt-site .jpt-header-v7 .jpt-basket-trigger{padding:10px 14px;font-size:14px}
body.jpt-site .jpt-header-v7 .jpt-basket-count{min-width:25px;height:25px;font-size:13px}

@media (max-width:1100px){
  body.jpt-site .jpt-header-v7 .jpt-header-shell{min-height:142px;grid-template-columns:minmax(170px,.92fr) minmax(210px,1fr) minmax(128px,.55fr) auto;gap:10px;padding:8px 0 7px}
  body.jpt-site .jpt-header-v7 .jpt-identity{margin-left:4px}
  body.jpt-site .jpt-header-v7 .jpt-identity-name{font-size:clamp(44px,5vw,60px)}
  body.jpt-site .jpt-header-v7 .jpt-head-person{height:132px}
  body.jpt-site .jpt-header-v7 .jpt-head-person img{height:162px;bottom:-10px}
  body.jpt-site .jpt-header-v7 .jpt-claim-copy{font-size:22px}
  body.jpt-site .jpt-header-v7 .jpt-claim-caption{font-size:8.5px}
}

@media (max-width:780px){
  body.jpt-site .jpt-header-v7 .jpt-header-shell{width:calc(100% - 24px);grid-template-columns:minmax(150px,1fr) auto;grid-template-areas:"brand basket" "claim claim";gap:8px 8px;min-height:0;padding:10px 0 9px}
  body.jpt-site .jpt-header-v7 .jpt-identity{grid-area:brand;align-items:flex-start;margin:0;padding:2px 0}
  body.jpt-site .jpt-header-v7 .jpt-identity-mark{width:34px;height:20px;margin:0 0 -5px 28px}
  body.jpt-site .jpt-header-v7 .jpt-identity-name{font-size:clamp(36px,9vw,50px)}
  body.jpt-site .jpt-header-v7 .jpt-identity-caption{font-size:7px;letter-spacing:.16em;margin:4px 0 0 14px}
  body.jpt-site .jpt-header-v7 .jpt-identity-caption:before,body.jpt-site .jpt-header-v7 .jpt-identity-caption:after{width:10px}
  body.jpt-site .jpt-header-v7 .jpt-head-person{display:none}
  body.jpt-site .jpt-header-v7 .jpt-basket-trigger{grid-area:basket;justify-self:end;align-self:start;gap:5px;padding:9px 10px;font-size:13px}
  body.jpt-site .jpt-header-v7 .jpt-basket-trigger svg{width:16px;height:16px}
  body.jpt-site .jpt-header-v7 .jpt-basket-count{min-width:22px;height:22px;font-size:12px}
  body.jpt-site .jpt-header-v7 .jpt-head-claim{grid-area:claim;position:relative;align-items:flex-start;text-align:left;border-left:0;border-top:1px solid rgba(229,186,113,.28);padding:9px 62px 0 0;gap:4px;min-height:56px}
  body.jpt-site .jpt-header-v7 .jpt-claim-copy{font-size:16px;line-height:1.14}
  body.jpt-site .jpt-header-v7 .jpt-claim-copy br{display:none}
  body.jpt-site .jpt-header-v7 .jpt-claim-divider{display:none}
  body.jpt-site .jpt-header-v7 .jpt-claim-caption{font-size:8px;letter-spacing:.15em}
  body.jpt-site .jpt-header-v7 .jpt-head-claim::after{content:"";position:absolute;right:0;bottom:0;width:60px;height:72px;background:url('assets/images/pui-cutout.png') no-repeat center bottom/contain}
  body.jpt-site .jpt-header-v7 .jpt-header-ornament:before{width:104px;height:94px;left:-18px;bottom:-8px;opacity:.35}
  body.jpt-site .jpt-header-v7 .jpt-header-ornament:after{display:none}
}

@media (max-width:480px){
  body.jpt-site .jpt-header-v7 .jpt-header-shell{width:calc(100% - 18px);padding:9px 0 8px}
  body.jpt-site .jpt-header-v7 .jpt-identity-name{font-size:clamp(33px,9.6vw,44px)}
  body.jpt-site .jpt-header-v7 .jpt-identity-caption{font-size:6.6px;letter-spacing:.1em;margin-left:10px}
  body.jpt-site .jpt-header-v7 .jpt-basket-trigger{font-size:12px;padding:8px 8px;gap:4px}
  body.jpt-site .jpt-header-v7 .jpt-basket-trigger svg{display:none}
  body.jpt-site .jpt-header-v7 .jpt-head-claim{padding-top:8px;padding-right:54px;min-height:52px}
  body.jpt-site .jpt-header-v7 .jpt-claim-copy{font-size:14px}
  body.jpt-site .jpt-header-v7 .jpt-claim-caption{font-size:7.5px;letter-spacing:.13em}
  body.jpt-site .jpt-header-v7 .jpt-head-claim::after{width:52px;height:66px}
}


/* 0.8.2 — mobile-specific header composition: four independent positions, no text/image overlap */
@media (max-width:780px){
  body.jpt-site .jpt-header-v7 .jpt-header-shell {
    width:calc(100% - 32px);
    max-width:600px;
    min-height:0;
    padding:9px 0 10px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 112px;
    grid-template-rows:96px auto;
    grid-template-areas:"brand portrait" "claim basket";
    align-items:center;
    column-gap:12px;
    row-gap:5px;
  }
  body.jpt-site .jpt-header-v7 .jpt-identity {
    grid-area:brand;
    grid-column:1;grid-row:1;
    justify-self:start;align-self:center;
    margin:0;padding:0;gap:0;
    align-items:flex-start;
    width:max-content;max-width:100%;
  }
  body.jpt-site .jpt-header-v7 .jpt-identity-mark{width:38px;height:23px;margin:0 0 -4px 34px}
  body.jpt-site .jpt-header-v7 .jpt-identity-name{font-size:clamp(44px,9.5vw,55px);line-height:1;letter-spacing:-.06em}
  body.jpt-site .jpt-header-v7 .jpt-identity-caption{font-size:8px;letter-spacing:.23em;margin:4px 0 0 16px}
  body.jpt-site .jpt-header-v7 .jpt-head-person {
    display:block;
    grid-area:portrait;grid-column:2;grid-row:1;
    position:relative;align-self:end;justify-self:stretch;
    width:100%;height:96px;
    overflow:hidden;
    isolation:isolate;z-index:2;
    mask-image:none;-webkit-mask-image:none;
  }
  body.jpt-site .jpt-header-v7 .jpt-head-person::after{display:none;content:none}
  body.jpt-site .jpt-header-v7 .jpt-head-person img {
    position:absolute;
    height:108px;width:auto;max-width:none;
    bottom:-2px;left:50%;transform:translateX(-50%);
    object-fit:contain;object-position:bottom center;
  }
  body.jpt-site .jpt-header-v7 .jpt-head-claim {
    grid-area:claim;grid-column:1;grid-row:2;
    display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
    min-height:52px;margin:0;padding:8px 0 0;
    border:0;border-top:1px solid rgba(229,186,113,.3);
    text-align:left;gap:4px;
  }
  body.jpt-site .jpt-header-v7 .jpt-head-claim::after{display:none;content:none}
  body.jpt-site .jpt-header-v7 .jpt-claim-copy{font:italic 17px/1.1 Georgia,serif;color:#fff0d6}
  body.jpt-site .jpt-header-v7 .jpt-claim-copy br{display:none}
  body.jpt-site .jpt-header-v7 .jpt-claim-divider{display:none}
  body.jpt-site .jpt-header-v7 .jpt-claim-caption{font-size:8.7px;letter-spacing:.12em;white-space:normal}
  body.jpt-site .jpt-header-v7 .jpt-basket-trigger {
    grid-area:basket;grid-column:2;grid-row:2;
    justify-self:end;align-self:center;
    position:relative;
    margin:0;padding:10px 10px;
    gap:5px;font-size:13px;white-space:nowrap;
  }
  body.jpt-site .jpt-header-v7 .jpt-basket-trigger svg{display:none}
  body.jpt-site .jpt-header-v7 .jpt-basket-count{min-width:22px;height:22px;margin:0;font-size:12px}
  body.jpt-site .jpt-header-v7 .jpt-header-ornament::before{width:110px;height:105px;left:-30px;bottom:0;opacity:.27}
  body.jpt-site .jpt-header-v7 .jpt-header-ornament::after{display:none}
}
@media(max-width:480px){
  body.jpt-site .jpt-header-v7 .jpt-header-shell{width:calc(100% - 28px);grid-template-columns:minmax(0,1fr) 100px;grid-template-rows:91px auto;column-gap:7px;row-gap:5px;padding:8px 0 9px}
  body.jpt-site .jpt-header-v7 .jpt-identity-mark{width:34px;height:20px;margin:0 0 -3px 28px}
  body.jpt-site .jpt-header-v7 .jpt-identity-name{font-size:clamp(40px,10.5vw,48px)}
  body.jpt-site .jpt-header-v7 .jpt-identity-caption{font-size:7px;letter-spacing:.16em;margin:4px 0 0 11px}
  body.jpt-site .jpt-header-v7 .jpt-head-person{height:91px}
  body.jpt-site .jpt-header-v7 .jpt-head-person img{height:105px;bottom:-2px}
  body.jpt-site .jpt-header-v7 .jpt-head-claim{padding:7px 0 0;min-height:53px}
  body.jpt-site .jpt-header-v7 .jpt-claim-copy{font-size:clamp(13px,3.9vw,16px);line-height:1.12}
  body.jpt-site .jpt-header-v7 .jpt-claim-caption{font-size:7.5px;letter-spacing:.1em}
  body.jpt-site .jpt-header-v7 .jpt-basket-trigger{padding:9px 8px;font-size:12px;gap:4px}
}
@media(max-width:360px){
  body.jpt-site .jpt-header-v7 .jpt-header-shell{grid-template-columns:minmax(0,1fr) 88px;column-gap:4px}
  body.jpt-site .jpt-header-v7 .jpt-identity-name{font-size:38px}
  body.jpt-site .jpt-header-v7 .jpt-head-person img{height:97px}
  body.jpt-site .jpt-header-v7 .jpt-claim-copy{font-size:13px}
  body.jpt-site .jpt-header-v7 .jpt-claim-caption{font-size:7px;letter-spacing:.07em}
  body.jpt-site .jpt-header-v7 .jpt-basket-trigger{padding:8px 6px}
}


/* v0.9.0 Homepage category redesign */
body.jpt-site .jpt-home-v9 .jpt-menu-section{position:relative;padding:32px 0 72px;background:linear-gradient(180deg,#fbf6ee 0%,#f8efe3 100%)}
body.jpt-site .jpt-home-v9 .jpt-menu-section::before,body.jpt-site .jpt-home-v9 .jpt-menu-section::after{content:"";position:absolute;top:22px;width:110px;height:110px;opacity:.18;pointer-events:none;background:url('assets/images/thai-orchid-mark.svg') no-repeat center/contain}body.jpt-site .jpt-home-v9 .jpt-menu-section::before{left:max(12px,calc(50% - 610px))}body.jpt-site .jpt-home-v9 .jpt-menu-section::after{right:max(12px,calc(50% - 610px));transform:scaleX(-1)}
body.jpt-site .jpt-home-v9 .jpt-menu-heading{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin:0 0 30px;position:relative;z-index:1}
body.jpt-site .jpt-home-v9 .jpt-menu-heading-orchid{width:66px;height:auto;opacity:.92}
body.jpt-site .jpt-home-v9 .jpt-menu-overline{display:block;font-size:11px;letter-spacing:.32em;color:#ad8144;font-weight:700;text-transform:uppercase}
body.jpt-site .jpt-home-v9 .jpt-menu-heading h1{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,5vw,52px);font-weight:400;letter-spacing:-.035em;line-height:1.06;color:#8d1f31}
body.jpt-site .jpt-home-v9 .jpt-menu-divider img{display:block;width:118px;height:auto}
body.jpt-site .jpt-home-v9 .jpt-menu-heading p{max-width:720px;margin:0;color:#68584b;font-size:15px;line-height:1.55}
body.jpt-site .jpt-home-v9 .jpt-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;position:relative;z-index:1}
body.jpt-site .jpt-home-v9 .jpt-category{position:relative;display:block;text-decoration:none;background:#fffaf4;border:1px solid #e2cba5;border-radius:12px;overflow:hidden;box-shadow:0 8px 26px rgba(88,53,24,.06);transition:transform .18s ease,box-shadow .18s ease}
body.jpt-site .jpt-home-v9 .jpt-category::before,body.jpt-site .jpt-home-v9 .jpt-category::after{content:"";position:absolute;width:22px;height:22px;border-color:#d9b57a;opacity:.82;pointer-events:none}body.jpt-site .jpt-home-v9 .jpt-category::before{top:10px;left:10px;border-top:1px solid;border-left:1px solid}body.jpt-site .jpt-home-v9 .jpt-category::after{right:10px;bottom:10px;border-right:1px solid;border-bottom:1px solid}
body.jpt-site .jpt-home-v9 .jpt-category:hover{transform:translateY(-4px);box-shadow:0 12px 34px rgba(88,53,24,.11)}
body.jpt-site .jpt-home-v9 .jpt-category-image{display:block;aspect-ratio:1.18;overflow:hidden;background:#eee1cf}
body.jpt-site .jpt-home-v9 .jpt-category-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .28s ease}
body.jpt-site .jpt-home-v9 .jpt-category:hover .jpt-category-image img{transform:scale(1.03)}
body.jpt-site .jpt-home-v9 .jpt-category-copy{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:16px 18px 18px;background:linear-gradient(180deg,rgba(255,250,244,0) 0%,#fffaf4 20%)}
body.jpt-site .jpt-home-v9 .jpt-category-copy strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:29px;line-height:1.05;font-weight:400;color:#8d1f31;letter-spacing:-.02em}
body.jpt-site .jpt-home-v9 .jpt-cat-arrow{display:inline-block;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#9a7840;font-weight:700;padding-bottom:4px;white-space:nowrap}
body.jpt-site .jpt-home-v9 .jpt-category:focus-visible{outline:3px solid #bc925a;outline-offset:4px}
@media (max-width: 960px){body.jpt-site .jpt-home-v9 .jpt-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}body.jpt-site .jpt-home-v9 .jpt-category-copy strong{font-size:24px}}
@media (max-width: 640px){body.jpt-site .jpt-home-v9 .jpt-menu-section{padding:18px 0 40px;background:#fbf6ed}body.jpt-site .jpt-home-v9 .jpt-menu-section::before,body.jpt-site .jpt-home-v9 .jpt-menu-section::after{display:none}body.jpt-site .jpt-home-v9 .jpt-menu-heading{align-items:flex-start;text-align:left;gap:6px;margin:0 0 16px}body.jpt-site .jpt-home-v9 .jpt-menu-heading-orchid{display:none}body.jpt-site .jpt-home-v9 .jpt-menu-overline{display:none}body.jpt-site .jpt-home-v9 .jpt-menu-heading h1{font-size:clamp(28px,8vw,34px);line-height:1.05}body.jpt-site .jpt-home-v9 .jpt-menu-divider{display:none}body.jpt-site .jpt-home-v9 .jpt-menu-heading p{font-size:13px;line-height:1.45;color:#6a5d53}body.jpt-site .jpt-home-v9 .jpt-categories{grid-template-columns:1fr;gap:14px}body.jpt-site .jpt-home-v9 .jpt-category{border-radius:10px}body.jpt-site .jpt-home-v9 .jpt-category::before{top:9px;left:9px;width:18px;height:18px}body.jpt-site .jpt-home-v9 .jpt-category::after{right:9px;bottom:9px;width:18px;height:18px}body.jpt-site .jpt-home-v9 .jpt-category-image{aspect-ratio:1.42}body.jpt-site .jpt-home-v9 .jpt-category-copy{padding:14px 16px 15px}body.jpt-site .jpt-home-v9 .jpt-category-copy strong{font-size:24px}body.jpt-site .jpt-home-v9 .jpt-cat-arrow{font-size:10px;letter-spacing:.2em}}
@media (max-width: 420px){body.jpt-site .jpt-home-v9 .jpt-menu-heading h1{font-size:30px}body.jpt-site .jpt-home-v9 .jpt-menu-heading p{font-size:12.5px}body.jpt-site .jpt-home-v9 .jpt-category-image{aspect-ratio:1.28}body.jpt-site .jpt-home-v9 .jpt-category-copy strong{font-size:22px}}


/* v0.9.1: Scoffit-inspired, Thai-branded photographic category navigation.
   Whole card is the existing anchor; no additional click handling. */
body.jpt-site .jpt-home-v91 .jpt-menu-section{padding:30px 0 74px;background:#fbf6ee}
body.jpt-site .jpt-home-v91 .jpt-menu-section::before,
body.jpt-site .jpt-home-v91 .jpt-menu-section::after{display:none}
body.jpt-site .jpt-home-v91 .jpt-menu-heading{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 26px;text-align:center;padding:0}
body.jpt-site .jpt-home-v91 .jpt-menu-heading h1{font:400 clamp(31px,3.5vw,44px)/1.16 Georgia,'Times New Roman',serif;letter-spacing:-.035em;color:#8a2232;margin:0}
body.jpt-site .jpt-home-v91 .jpt-menu-heading-line{width:42px;height:1px;background:#ba9356;display:block;margin:0}
body.jpt-site .jpt-home-v91 .jpt-menu-heading-line::before{content:'✦';position:relative;top:-11px;left:19px;font:14px Georgia,serif;color:#b58a50;background:#fbf6ee;padding:0 5px}
body.jpt-site .jpt-home-v91 .jpt-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
body.jpt-site .jpt-home-v91 .jpt-category{position:relative;display:block;isolation:isolate;border:1px solid rgba(190,148,83,.48);border-radius:16px;overflow:hidden;background:#14352e;box-shadow:0 5px 18px rgba(38,27,19,.10);text-decoration:none;min-width:0;transform:none;transition:transform .18s ease,box-shadow .18s ease}
body.jpt-site .jpt-home-v91 .jpt-category:hover{transform:translateY(-3px);box-shadow:0 12px 22px rgba(38,27,19,.17)}
body.jpt-site .jpt-home-v91 .jpt-category::before{content:'';position:absolute;z-index:2;inset:8px auto auto 8px;width:18px;height:18px;border-top:1px solid rgba(255,221,155,.9);border-left:1px solid rgba(255,221,155,.9);pointer-events:none;opacity:.75}
body.jpt-site .jpt-home-v91 .jpt-category::after{content:'';position:absolute;z-index:2;inset:auto 8px 8px auto;width:18px;height:18px;border-bottom:1px solid rgba(255,221,155,.9);border-right:1px solid rgba(255,221,155,.9);pointer-events:none;opacity:.75}
body.jpt-site .jpt-home-v91 .jpt-category-image{display:block;position:relative;width:100%;height:262px;aspect-ratio:auto;overflow:hidden;background:#1c3b33}
body.jpt-site .jpt-home-v91 .jpt-category-image::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,15,12,.03) 18%,rgba(9,16,13,.12) 49%,rgba(9,17,13,.82) 100%);z-index:1;pointer-events:none}
body.jpt-site .jpt-home-v91 .jpt-category-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:transform .32s ease}
body.jpt-site .jpt-home-v91 .jpt-category:hover .jpt-category-image img{transform:scale(1.035)}
body.jpt-site .jpt-home-v91 .jpt-category-copy{position:absolute;inset:auto 0 0;z-index:2;display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:18px 22px 20px;background:none;border:0;min-height:0;color:#fff}
body.jpt-site .jpt-home-v91 .jpt-category-copy strong{font:700 clamp(24px,2.35vw,33px)/1.08 Arial,Helvetica,sans-serif;letter-spacing:-.035em;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.35);margin:0}
body.jpt-site .jpt-home-v91 .jpt-cat-arrow{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,235,202,.48);padding:11px 0 0;margin:0;font:600 10px/1.2 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#f3e7d2}
body.jpt-site .jpt-home-v91 .jpt-view-arrow{font:18px/1 Arial,sans-serif;letter-spacing:0;color:#f4d69a}
body.jpt-site .jpt-home-v91 .jpt-category:focus-visible{outline:3px solid #f3bd65;outline-offset:4px}
@media (max-width:960px){body.jpt-site .jpt-home-v91 .jpt-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media (max-width:640px){
 body.jpt-site .jpt-home-v91 .jpt-menu-section{padding:20px 0 42px}
 body.jpt-site .jpt-home-v91 .jpt-menu-heading{justify-content:flex-start;text-align:left;margin:0 0 16px}
 body.jpt-site .jpt-home-v91 .jpt-menu-heading h1{font-size:30px;line-height:1.12}
 body.jpt-site .jpt-home-v91 .jpt-menu-heading-line{width:26px}
 body.jpt-site .jpt-home-v91 .jpt-menu-heading-line::before{left:9px}
 body.jpt-site .jpt-home-v91 .jpt-categories{grid-template-columns:minmax(0,1fr);gap:14px}
 body.jpt-site .jpt-home-v91 .jpt-category{border-radius:14px}
 body.jpt-site .jpt-home-v91 .jpt-category-image{height:clamp(190px,55vw,242px)}
 body.jpt-site .jpt-home-v91 .jpt-category-copy{padding:15px 18px 15px;gap:8px}
 body.jpt-site .jpt-home-v91 .jpt-category-copy strong{font-size:clamp(26px,7vw,32px)}
 body.jpt-site .jpt-home-v91 .jpt-cat-arrow{padding-top:9px;font-size:10px}
 body.jpt-site .jpt-home-v91 .jpt-category::before{top:8px;left:8px}
 body.jpt-site .jpt-home-v91 .jpt-category::after{right:8px;bottom:8px}
}
@media (prefers-reduced-motion:reduce){body.jpt-site .jpt-home-v91 .jpt-category,body.jpt-site .jpt-home-v91 .jpt-category-image img{transition:none}}


/* v0.9.3 – Jai Pui editorial food categories: homepage-only rules */
body.jpt-site .jpt-home-v93 .jpt-menu-section{
  padding:24px 0 65px;
  background:#fbf4e9;
}
body.jpt-site .jpt-home-v93 .jpt-menu-section::before,
body.jpt-site .jpt-home-v93 .jpt-menu-section::after{display:none}
body.jpt-site .jpt-home-v93 .jpt-visually-hidden{
  position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
body.jpt-site .jpt-home-v93 .jpt-categories{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;align-items:start;
}
body.jpt-site .jpt-home-v93 .jpt-category{
  position:relative;display:block;isolation:isolate;overflow:hidden;
  min-width:0;border:1px solid rgba(218,179,111,.68);
  border-radius:12px;background:#143d30;
  box-shadow:0 4px 17px rgba(37,34,20,.10);
  text-decoration:none;transform:none;
  transition:transform .2s ease,box-shadow .2s ease;
}
body.jpt-site .jpt-home-v93 .jpt-category:hover{
  transform:translateY(-3px);box-shadow:0 9px 25px rgba(37,34,20,.16);
}
body.jpt-site .jpt-home-v93 .jpt-category::before,
body.jpt-site .jpt-home-v93 .jpt-category::after{
  content:'';position:absolute;z-index:3;width:16px;height:16px;
  pointer-events:none;opacity:.95;
}
body.jpt-site .jpt-home-v93 .jpt-category::before{
  top:11px;left:11px;border-top:1px solid #edc88c;border-left:1px solid #edc88c;
}
body.jpt-site .jpt-home-v93 .jpt-category::after{
  right:11px;bottom:11px;border-right:1px solid #edc88c;border-bottom:1px solid #edc88c;
}
body.jpt-site .jpt-home-v93 .jpt-category-image{
  position:relative;display:block;height:245px;aspect-ratio:auto;
  overflow:hidden;background:#234b40;
}
body.jpt-site .jpt-home-v93 .jpt-category-image img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .32s ease;
}
body.jpt-site .jpt-home-v93 .jpt-category:hover .jpt-category-image img{transform:scale(1.035)}
body.jpt-site .jpt-home-v93 .jpt-category-image::after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to bottom,transparent 35%,rgba(13,31,25,.12) 50%,rgba(8,25,22,.92) 100%);
}
body.jpt-site .jpt-home-v93 .jpt-category-copy{
  position:absolute;inset:auto 0 0;z-index:2;
  display:flex;align-items:end;justify-content:space-between;gap:10px;
  padding:18px 23px 21px;border:0;background:none;min-height:0;
}
body.jpt-site .jpt-home-v93 .jpt-category-copy strong{
  color:#f6dfad;font:400 clamp(26px,2.7vw,36px)/1.05 Georgia,'Iowan Old Style',serif;
  letter-spacing:-.023em;text-shadow:0 2px 10px rgba(0,0,0,.45);margin:0;
}
body.jpt-site .jpt-home-v93 .jpt-cat-ornament{
  display:inline-flex;justify-content:center;align-items:center;flex:none;
  width:25px;height:25px;border:1px solid rgba(233,191,119,.8);
  border-radius:50%;color:#f5d89e;background:rgba(12,38,30,.5);
  font:14px/1 Georgia,serif;margin:0 0 1px;
}
body.jpt-site .jpt-home-v93 .jpt-category:focus-visible{outline:3px solid #bf954b;outline-offset:4px}
/* The burgundy button stays; only the count returns to a more harmonious deep-green/gold pairing. */
body.jpt-site .jpt-header-v7 .jpt-basket-trigger{
  background:#8b1f35;border-color:#d8ad67;color:#fff5df;
}
body.jpt-site .jpt-header-v7 .jpt-basket-count{
  background:#eac988;color:#173b30;border:1px solid rgba(255,242,217,.45);
}
@media(max-width:960px){
  body.jpt-site .jpt-home-v93 .jpt-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
@media(max-width:640px){
  body.jpt-site .jpt-home-v93 .jpt-menu-section{padding:13px 0 38px}
  body.jpt-site .jpt-home-v93 .jpt-categories{grid-template-columns:minmax(0,1fr);gap:13px}
  body.jpt-site .jpt-home-v93 .jpt-category{border-radius:10px}
  body.jpt-site .jpt-home-v93 .jpt-category-image{height:clamp(180px,52vw,214px)}
  body.jpt-site .jpt-home-v93 .jpt-category-copy{padding:14px 19px 17px}
  body.jpt-site .jpt-home-v93 .jpt-category-copy strong{font-size:clamp(27px,7.8vw,34px)}
  body.jpt-site .jpt-home-v93 .jpt-cat-ornament{width:22px;height:22px;font-size:12px}
  body.jpt-site .jpt-home-v93 .jpt-category::before{top:9px;left:9px}
  body.jpt-site .jpt-home-v93 .jpt-category::after{right:9px;bottom:9px}
}
@media(prefers-reduced-motion:reduce){
  body.jpt-site .jpt-home-v93 .jpt-category,
  body.jpt-site .jpt-home-v93 .jpt-category-image img{transition:none}
}


/* v0.9.4 — rebalanced portrait and claim on phones; gold/green basket across devices. */
body.jpt-site .jpt-header-v7 .jpt-basket-trigger {
  background:#eac27e;
  border:1px solid #f5daaa;
  color:#103b2f;
  box-shadow:0 2px 10px rgba(0,0,0,.15);
}
body.jpt-site .jpt-header-v7 .jpt-basket-trigger:hover,
body.jpt-site .jpt-header-v7 .jpt-basket-trigger:focus-visible {
  background:#f2d69d;
  color:#103b2f;
}
body.jpt-site .jpt-header-v7 .jpt-basket-label { color:inherit; }
body.jpt-site .jpt-header-v7 .jpt-basket-count {
  background:#103b2f;color:#f8dfa9;border:1px solid rgba(17,58,46,.85);
}
@media(max-width:780px) {
  body.jpt-site .jpt-header-v7 .jpt-header-shell {
    box-sizing:border-box;
    width:calc(100% - 30px);
    max-width:600px;
    display:grid;
    grid-template-columns:94px minmax(0,1fr) auto;
    grid-template-rows:86px 72px;
    column-gap:12px;
    row-gap:0;
    padding:7px 0 0;
    min-height:0;
    align-items:center;
  }
  body.jpt-site .jpt-header-v7 .jpt-identity {
    grid-area:auto;grid-column:1/3;grid-row:1;
    margin:0;padding:0;align-self:center;justify-self:start;
    display:flex;align-items:flex-start;min-width:0;
  }
  body.jpt-site .jpt-header-v7 .jpt-identity-mark {width:36px;height:21px;margin:0 0 -4px 33px}
  body.jpt-site .jpt-header-v7 .jpt-identity-name {font-size:clamp(43px,9.6vw,54px);line-height:.96}
  body.jpt-site .jpt-header-v7 .jpt-identity-caption {font-size:7.7px;letter-spacing:.18em;margin:5px 0 0 13px}
  body.jpt-site .jpt-header-v7 .jpt-basket-trigger {
    grid-area:auto;grid-column:3;grid-row:1;
    align-self:center;justify-self:end;
    min-height:42px;display:inline-flex;align-items:center;gap:6px;
    padding:8px 11px;font-size:13px;
  }
  body.jpt-site .jpt-header-v7 .jpt-basket-trigger svg{display:inline-block;width:17px;height:17px}
  body.jpt-site .jpt-header-v7 .jpt-basket-count{min-width:24px;height:24px;font-size:12px}
  body.jpt-site .jpt-header-v7 .jpt-head-person {
    grid-area:auto;grid-column:1;grid-row:2;
    display:block;position:relative;align-self:end;justify-self:center;
    width:90px;height:72px;min-width:0;
    overflow:hidden;isolation:auto;z-index:1;
    mask-image:none;-webkit-mask-image:none;
  }
  body.jpt-site .jpt-header-v7 .jpt-head-person:after{display:none;content:none}
  body.jpt-site .jpt-header-v7 .jpt-head-person img {
    position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);
    display:block;height:104px;width:auto;max-width:none;object-fit:contain;
  }
  body.jpt-site .jpt-header-v7 .jpt-head-claim {
    grid-area:auto;grid-column:2/4;grid-row:2;
    display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
    align-self:stretch;min-width:0;
    margin:0;padding:5px 0 7px 11px;
    border:0;border-left:1px solid rgba(234,197,131,.48);
    text-align:left;gap:7px;
  }
  body.jpt-site .jpt-header-v7 .jpt-head-claim::after{display:none;content:none}
  body.jpt-site .jpt-header-v7 .jpt-claim-copy{
    font:italic 17px/1.11 Georgia,'Times New Roman',serif;
    color:#ffefd4;letter-spacing:-.025em;
  }
  body.jpt-site .jpt-header-v7 .jpt-claim-copy br{display:none}
  body.jpt-site .jpt-header-v7 .jpt-claim-caption{
    display:block;color:#e2c08a;font-size:8px;letter-spacing:.15em;
    font-weight:700;line-height:1.4;white-space:normal;
  }
  body.jpt-site .jpt-header-v7 .jpt-claim-divider{display:none}
  body.jpt-site .jpt-header-v7 .jpt-header-ornament:before{width:96px;height:90px;left:-22px;bottom:0;opacity:.21}
}
@media(max-width:480px) {
  body.jpt-site .jpt-header-v7 .jpt-header-shell {
    width:calc(100% - 24px);grid-template-columns:78px minmax(0,1fr) auto;
    grid-template-rows:80px 71px;column-gap:8px;row-gap:0;padding:6px 0 0;
  }
  body.jpt-site .jpt-header-v7 .jpt-identity-mark{width:32px;height:19px;margin:0 0 -4px 29px}
  body.jpt-site .jpt-header-v7 .jpt-identity-name{font-size:clamp(36px,10vw,47px)}
  body.jpt-site .jpt-header-v7 .jpt-identity-caption{font-size:7px;letter-spacing:.11em;margin-left:11px}
  body.jpt-site .jpt-header-v7 .jpt-head-person{width:78px;height:71px}
  body.jpt-site .jpt-header-v7 .jpt-head-person img{height:100px;bottom:-2px}
  body.jpt-site .jpt-header-v7 .jpt-head-claim{padding-left:10px;gap:6px;min-height:0}
  body.jpt-site .jpt-header-v7 .jpt-claim-copy{font-size:clamp(14px,4vw,16px);line-height:1.13}
  body.jpt-site .jpt-header-v7 .jpt-claim-caption{font-size:7.6px;letter-spacing:.11em}
  body.jpt-site .jpt-header-v7 .jpt-basket-trigger{padding:8px 9px;gap:4px;font-size:12.5px}
  body.jpt-site .jpt-header-v7 .jpt-basket-trigger svg{width:15px;height:15px}
}
@media(max-width:360px) {
  body.jpt-site .jpt-header-v7 .jpt-header-shell{grid-template-columns:72px minmax(0,1fr) auto;column-gap:5px}
  body.jpt-site .jpt-header-v7 .jpt-identity-name{font-size:35px}
  body.jpt-site .jpt-header-v7 .jpt-head-person{width:72px}
  body.jpt-site .jpt-header-v7 .jpt-head-person img{height:94px}
  body.jpt-site .jpt-header-v7 .jpt-claim-copy{font-size:13.5px}
  body.jpt-site .jpt-header-v7 .jpt-claim-caption{font-size:7px;letter-spacing:.08em}
  body.jpt-site .jpt-header-v7 .jpt-basket-trigger svg{display:none}
}


/* v0.9.5 — mobile header: brand, basket, one quiet descriptor; portrait desktop-only */
@media (max-width:780px) {
 body.jpt-site .jpt-header-v7 .jpt-header-shell {
   width:calc(100% - 30px);max-width:600px;
   display:grid;grid-template-columns:minmax(0,1fr) auto;
   grid-template-rows:auto auto;column-gap:10px;row-gap:0;
   padding:12px 0 13px;min-height:0;align-items:center;
 }
 body.jpt-site .jpt-header-v7 .jpt-identity {
   grid-area:auto;grid-column:1;grid-row:1;align-items:flex-start;
   margin:0;padding:0;justify-self:start;align-self:center;min-width:0;
 }
 body.jpt-site .jpt-header-v7 .jpt-identity-mark {width:31px;height:18px;margin:0 0 -3px 29px}
 body.jpt-site .jpt-header-v7 .jpt-identity-name {font-size:clamp(39px,8vw,52px);line-height:.96}
 body.jpt-site .jpt-header-v7 .jpt-identity-caption {font-size:7.5px;letter-spacing:.16em;margin:5px 0 0 11px}
 body.jpt-site .jpt-header-v7 .jpt-basket-trigger {
   grid-area:auto;grid-column:2;grid-row:1;
   justify-self:end;align-self:center;display:inline-flex;gap:7px;
   min-height:42px;padding:8px 12px;font-size:13px;
 }
 body.jpt-site .jpt-header-v7 .jpt-basket-trigger svg {display:inline-block;width:17px;height:17px}
 body.jpt-site .jpt-header-v7 .jpt-head-person {display:none!important}
 body.jpt-site .jpt-header-v7 .jpt-head-claim {
   grid-area:auto;grid-column:1/-1;grid-row:2;
   display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;
   gap:8px;text-align:left;min-height:0;
   border:0;border-top:1px solid rgba(234,197,131,.25);
   padding:9px 0 0;margin:12px 0 0;
 }
 body.jpt-site .jpt-header-v7 .jpt-head-claim::after {display:none!important;content:none}
 body.jpt-site .jpt-header-v7 .jpt-claim-copy {
   font:italic 16px/1.22 Georgia,'Times New Roman',serif;
   letter-spacing:-.01em;color:#ffefd4;min-width:0;
 }
 body.jpt-site .jpt-header-v7 .jpt-claim-copy br {display:none}
 body.jpt-site .jpt-header-v7 .jpt-claim-caption {
   font-size:8px;letter-spacing:.10em;line-height:1.4;
   white-space:nowrap;flex-shrink:0;
 }
 body.jpt-site .jpt-header-v7 .jpt-claim-divider {display:none}
 body.jpt-site .jpt-header-v7 .jpt-header-ornament:before {width:82px;height:78px;opacity:.14}
}
@media (max-width:520px) {
 body.jpt-site .jpt-header-v7 .jpt-header-shell {width:calc(100% - 24px);padding:11px 0 10px}
 body.jpt-site .jpt-header-v7 .jpt-identity-name {font-size:clamp(37px,10.5vw,46px)}
 body.jpt-site .jpt-header-v7 .jpt-identity-caption {font-size:7px;letter-spacing:.10em}
 body.jpt-site .jpt-header-v7 .jpt-basket-trigger {padding:8px 10px;font-size:12.5px;gap:5px}
 body.jpt-site .jpt-header-v7 .jpt-basket-trigger svg {width:16px;height:16px}
 body.jpt-site .jpt-header-v7 .jpt-head-claim {flex-direction:column;align-items:flex-start;gap:3px;margin-top:10px;padding-top:8px}
 body.jpt-site .jpt-header-v7 .jpt-claim-copy {font-size:15px}
 body.jpt-site .jpt-header-v7 .jpt-claim-caption {font-size:8px;letter-spacing:.17em}
}
@media (max-width:360px) {
 body.jpt-site .jpt-header-v7 .jpt-identity-name {font-size:35px}
 body.jpt-site .jpt-header-v7 .jpt-basket-trigger svg {display:none}
}


/* v0.9.6 — finished Jai Pui footer, in the forest-green-and-gold identity. */
body.jpt-site .jpt-footer-v10{
  position:relative;isolation:isolate;overflow:hidden;
  padding:0;background:#09392f;color:#f9edda;
  box-shadow:none;border:0;
}
body.jpt-site .jpt-footer-v10::before{
  position:absolute;inset:0;content:"";z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at 12% 0,rgba(219,170,91,.07),transparent 55%),
             url('assets/images/jai-pui-thai-flourish.svg') no-repeat right -65px bottom -88px/280px auto;
  opacity:.95;
}
body.jpt-site .jpt-footer-v10 .jpt-footer-topline{height:3px;background:linear-gradient(90deg,#bd8a48,#f2d9a3 47%,#bd8a48);}
body.jpt-site .jpt-footer-v10 .jpt-footer-layout{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;
  column-gap:38px;padding-top:43px;padding-bottom:32px;position:relative;
}
body.jpt-site .jpt-footer-v10 .jpt-footer-identity{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
body.jpt-site .jpt-footer-v10 .jpt-footer-crest{display:block;width:42px;height:23px;margin:0 0 -2px 48px;object-fit:contain}
body.jpt-site .jpt-footer-v10 .jpt-footer-name{
  font:400 clamp(40px,4.4vw,62px)/.98 Georgia,'Times New Roman',serif;
  letter-spacing:-.065em;color:#f1ca83;text-decoration:none;
}
body.jpt-site .jpt-footer-v10 .jpt-footer-subtitle{
  display:block;font:700 10px/1.5 Arial,sans-serif;letter-spacing:.32em;
  color:#edcf99;margin-top:10px;
}
body.jpt-site .jpt-footer-v10 .jpt-footer-motto{
  color:#f1e6d0;font:italic 19px/1.35 Georgia,'Times New Roman',serif;
  margin:15px 0 0;
}
body.jpt-site .jpt-footer-v10 .jpt-footer-secondary{
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  justify-self:end;min-width:190px;gap:19px;
}
body.jpt-site .jpt-footer-v10 .jpt-footer-social-area{display:flex;flex-direction:column;gap:10px}
body.jpt-site .jpt-footer-v10 .jpt-footer-label{
  font:bold 10px/1.3 Arial,sans-serif;letter-spacing:.24em;color:#e3c08b;
}
body.jpt-site .jpt-footer-v10 .jpt-footer-socials{display:flex;gap:12px;align-items:center}
body.jpt-site .jpt-footer-v10 .jpt-footer-social{
  width:46px;height:46px;border:1px solid rgba(239,200,137,.64);border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  color:#f2d29b;background:rgba(255,255,255,.03);text-decoration:none;
  transition:background .18s ease,transform .18s ease;
}
body.jpt-site .jpt-footer-v10 a.jpt-footer-social:hover{background:rgba(238,204,149,.13);transform:translateY(-2px)}
body.jpt-site .jpt-footer-v10 .jpt-footer-social svg{width:23px;height:23px;display:block}
body.jpt-site .jpt-footer-v10 .jpt-footer-social.is-unlinked{opacity:.72;cursor:default}
body.jpt-site .jpt-footer-v10 .jpt-footer-menu-link{
  font-size:13px;font-weight:600;color:#f1dec1;text-decoration:none;border-bottom:1px solid rgba(239,200,137,.45);
  padding-bottom:5px;
}
body.jpt-site .jpt-footer-v10 .jpt-footer-menu-link span{margin-left:8px;color:#e4bf7f}
body.jpt-site .jpt-footer-v10 a:focus-visible{outline:3px solid #f4d194;outline-offset:4px}
body.jpt-site .jpt-footer-v10 .jpt-footer-bottom{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding-top:17px;padding-bottom:20px;border-top:1px solid rgba(230,190,122,.25);
  font-size:11px;letter-spacing:.035em;color:#c9c7b8;
}
body.jpt-site .jpt-footer-v10 .jpt-footer-pui{display:none}
@media(max-width:680px){
 body.jpt-site .jpt-footer-v10 .jpt-footer-layout{display:block;padding-top:30px;padding-bottom:22px}
 body.jpt-site .jpt-footer-v10 .jpt-footer-identity{position:relative;z-index:1;padding-right:104px;min-height:165px}
 body.jpt-site .jpt-footer-v10 .jpt-footer-crest{width:33px;height:20px;margin-left:31px}
 body.jpt-site .jpt-footer-v10 .jpt-footer-name{font-size:48px}
 body.jpt-site .jpt-footer-v10 .jpt-footer-subtitle{font-size:9px;letter-spacing:.26em;margin-top:8px}
 body.jpt-site .jpt-footer-v10 .jpt-footer-motto{font-size:16px;line-height:1.32;margin-top:15px;max-width:200px}
 body.jpt-site .jpt-footer-v10 .jpt-footer-pui{
   display:block;position:absolute;z-index:0;right:-13px;top:1px;height:178px;width:auto;max-width:none;
   object-fit:contain;object-position:center bottom;pointer-events:none;
 }
 body.jpt-site .jpt-footer-v10 .jpt-footer-secondary{position:relative;z-index:1;align-items:flex-start;justify-self:auto;min-width:0;gap:19px;padding-top:22px;border-top:1px solid rgba(230,190,122,.25)}
 body.jpt-site .jpt-footer-v10 .jpt-footer-social-area{gap:9px}
 body.jpt-site .jpt-footer-v10 .jpt-footer-social{width:45px;height:45px}
 body.jpt-site .jpt-footer-v10 .jpt-footer-bottom{padding-top:14px;padding-bottom:18px;font-size:10px}
}
@media(max-width:360px){
 body.jpt-site .jpt-footer-v10 .jpt-footer-identity{padding-right:96px}
 body.jpt-site .jpt-footer-v10 .jpt-footer-name{font-size:43px}
 body.jpt-site .jpt-footer-v10 .jpt-footer-pui{height:165px;right:-20px}
 body.jpt-site .jpt-footer-v10 .jpt-footer-motto{font-size:15px}
}


/* 0.9.7 — compact, composed mobile footer and TAS Labs credit */
body.jpt-site .jpt-footer-v10 .jpt-footer-credit a{
  color:#f1ca83;text-decoration:none;border-bottom:1px solid rgba(241,202,131,.48);
  padding-bottom:2px;transition:border-color .18s ease,color .18s ease;
}
body.jpt-site .jpt-footer-v10 .jpt-footer-credit a:hover{
  color:#fff0cc;border-bottom-color:#fff0cc;
}
@media (max-width:680px){
  body.jpt-site .jpt-footer-v10 .jpt-footer-layout{
    display:grid;grid-template-columns:minmax(0,1fr) 100px;
    grid-template-rows:auto auto;column-gap:10px;row-gap:19px;
    align-items:end;padding-top:25px;padding-bottom:22px;
  }
  body.jpt-site .jpt-footer-v10 .jpt-footer-identity{
    grid-column:1;grid-row:1;position:relative;z-index:1;
    padding:0;min-height:0;align-self:center;
  }
  body.jpt-site .jpt-footer-v10 .jpt-footer-crest{width:30px;height:18px;margin-left:30px}
  body.jpt-site .jpt-footer-v10 .jpt-footer-name{font-size:clamp(39px,10vw,47px)}
  body.jpt-site .jpt-footer-v10 .jpt-footer-subtitle{font-size:8px;margin-top:6px;letter-spacing:.26em}
  body.jpt-site .jpt-footer-v10 .jpt-footer-motto{
    margin:12px 0 0;max-width:230px;font-size:15px;line-height:1.35;
  }
  body.jpt-site .jpt-footer-v10 .jpt-footer-pui{
    display:block;grid-column:2;grid-row:1;position:relative;
    right:auto;top:auto;bottom:auto;justify-self:end;align-self:end;
    width:auto;max-width:100%;height:113px;object-fit:contain;object-position:center bottom;
    z-index:0;pointer-events:none;
  }
  body.jpt-site .jpt-footer-v10 .jpt-footer-secondary{
    grid-column:1/-1;grid-row:2;position:relative;z-index:1;
    display:flex;flex-direction:row;align-items:center;justify-content:space-between;
    gap:16px;padding-top:18px;min-width:0;margin:0;
    border-top:1px solid rgba(230,190,122,.25);
  }
  body.jpt-site .jpt-footer-v10 .jpt-footer-social-area{gap:8px}
  body.jpt-site .jpt-footer-v10 .jpt-footer-social{width:41px;height:41px}
  body.jpt-site .jpt-footer-v10 .jpt-footer-menu-link{font-size:12px;white-space:nowrap}
  body.jpt-site .jpt-footer-v10 .jpt-footer-bottom{
    display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;
    gap:8px 16px;padding-top:15px;padding-bottom:17px;font-size:10px;
  }
}
@media(max-width:380px){
  body.jpt-site .jpt-footer-v10 .jpt-footer-layout{
    grid-template-columns:minmax(0,1fr) 83px;column-gap:5px;
  }
  body.jpt-site .jpt-footer-v10 .jpt-footer-name{font-size:40px}
  body.jpt-site .jpt-footer-v10 .jpt-footer-motto{font-size:14px}
  body.jpt-site .jpt-footer-v10 .jpt-footer-pui{height:98px}
  body.jpt-site .jpt-footer-v10 .jpt-footer-secondary{gap:10px}
  body.jpt-site .jpt-footer-v10 .jpt-footer-social{width:39px;height:39px}
}


/* v0.9.8 — calm, symmetrical mobile footer. Desktop footer remains unchanged. */
@media (max-width:680px) {
  body.jpt-site .jpt-footer-v10 .jpt-footer-layout {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:0;
    padding-top:30px;
    padding-bottom:23px;
  }
  body.jpt-site .jpt-footer-v10 .jpt-footer-identity {
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    position:static;
    width:100%;
    min-height:0;
    padding:0;
    margin:0;
  }
  body.jpt-site .jpt-footer-v10 .jpt-footer-crest {
    display:block;
    width:40px;
    height:24px;
    margin:0 0 2px;
  }
  body.jpt-site .jpt-footer-v10 .jpt-footer-name {
    font-size:clamp(45px,12vw,54px);
    line-height:1;
    letter-spacing:-.06em;
  }
  body.jpt-site .jpt-footer-v10 .jpt-footer-subtitle {
    margin-top:9px;
    font-size:9px;
    letter-spacing:.3em;
  }
  body.jpt-site .jpt-footer-v10 .jpt-footer-motto {
    margin:12px 0 0;
    max-width:none;
    font-size:17px;
    line-height:1.35;
    text-align:center;
  }
  body.jpt-site .jpt-footer-v10 .jpt-footer-pui { display:none !important; }
  body.jpt-site .jpt-footer-v10 .jpt-footer-secondary {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    position:static;
    width:min(100%,400px);
    min-width:0;
    gap:19px;
    padding:24px 0 0;
    margin:23px 0 0;
    border-top:1px solid rgba(230,190,122,.3);
    text-align:center;
  }
  body.jpt-site .jpt-footer-v10 .jpt-footer-social-area {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
  }
  body.jpt-site .jpt-footer-v10 .jpt-footer-socials {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
  }
  body.jpt-site .jpt-footer-v10 .jpt-footer-social {
    width:46px;
    height:46px;
  }
  body.jpt-site .jpt-footer-v10 .jpt-footer-menu-link {
    font-size:13px;
    white-space:normal;
  }
  body.jpt-site .jpt-footer-v10 .jpt-footer-bottom {
    display:flex;
    flex-wrap:wrap;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    text-align:center;
    gap:10px 14px;
    padding-top:16px;
    padding-bottom:20px;
    font-size:10px;
    line-height:1.5;
  }
}
@media (max-width:380px) {
  body.jpt-site .jpt-footer-v10 .jpt-footer-layout { padding-top:26px; }
  body.jpt-site .jpt-footer-v10 .jpt-footer-name { font-size:46px; }
  body.jpt-site .jpt-footer-v10 .jpt-footer-motto { font-size:16px; }
  body.jpt-site .jpt-footer-v10 .jpt-footer-bottom {
    flex-direction:column;
    justify-content:center;
    gap:6px;
  }
}
