/* Black Label: editorial covers, catalogue plates and booking controls. */
body.jp-workshop {
  --jp-dark: #141311;
  --jp-ink: #25201b;
  --jp-paper: #f7efe3;
  --jp-pale: #fffcf6;
  --jp-tan: #eee4d6;
  --jp-mute: #665b4f;
  --jp-bronze: #795330;
  --jp-gold: #dcb78b;
  --jp-line: #d7ccbc;
  --jp-serif: "Iowan Old Style", Palatino, "Palatino Linotype", Georgia, serif;
  --jp-display: Didot, "Bodoni 72", "Bodoni MT", var(--jp-serif);
  --jp-sans: "Avenir Next", Avenir, system-ui, sans-serif;
  --jp-on-dark: #e6d9c8;
  --jp-night-rule: #5d5142;
  --jp-gutter: clamp(1.25rem, 4.1vw, 4.5rem);
  background: #f8f4ec;
  font: 400 1rem/1.78 var(--jp-sans);
}

html:is([lang="zh-Hans"], [lang="zh-CN"]) .jp-workshop {
  --jp-serif: "Songti SC", "Noto Serif CJK SC", "SimSun", serif;
  --jp-display: var(--jp-serif);
  --jp-sans: "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  font-family: var(--jp-sans);
  line-height: 1.86;
}

.jp-workshop .jp-shell { width: min(1340px, calc(100% - 2 * var(--jp-gutter))); }
.jp-workshop :is(h1, h2) { font-family: var(--jp-display); font-weight: 400; text-wrap: balance; }
.jp-workshop h2 { font-size: clamp(2.7rem, 4.8vw, 4.95rem); line-height: 1.03; letter-spacing: -.042em; }
.jp-workshop h3 { font-size: clamp(1.4rem, 1.8vw, 1.78rem); letter-spacing: -.025em; }
.jp-workshop :is(.jp-kicker, .jpe-kicker, .jpe-hero-badge) {
  font-size: .73rem;
  font-weight: 650;
  letter-spacing: .19em;
}
.jp-workshop :is(.jp-lede, .jpe-lead) { font: 400 clamp(1.07rem, 1.45vw, 1.24rem)/1.67 var(--jp-sans); }
.jp-workshop :is(.jp-stage, .jpe-hero) .jp-lede { color: var(--jp-on-dark); }

html:is([lang="zh-Hans"], [lang="zh-CN"]) .jp-workshop :is(h1, h2, h3) { letter-spacing: .015em; }
html:is([lang="zh-Hans"], [lang="zh-CN"]) .jp-workshop :is(.jp-kicker, .jpe-kicker, .jpe-hero-badge) { letter-spacing: .12em; }
html:is([lang="zh-Hans"], [lang="zh-CN"]) .jp-workshop :is(.jp-lede, .jpe-lead) { line-height: 1.82; }

.jp-workshop :is(.jp-button, .jpe-btn) {
  border-radius: 2px;
  min-height: 50px;
  padding: .8rem 1.2rem;
  font: 600 .93rem/1.3 var(--jp-sans);
  transition: background-color .18s ease, color .18s ease;
}
.jp-workshop :is(.jp-stage, .jp-guest-format-pair) .jp-button,
.jp-workshop-page .jp-booking-bar .jp-button { background: var(--jp-gold); color: var(--jp-dark); }
.jp-workshop :is(.jp-stage, .jp-guest-format-pair) .jp-button:hover,
.jp-workshop-page .jp-booking-bar .jp-button:hover { background: var(--jp-paper); }
.jp-workshop .jp-text-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  gap: .5rem;
  font-size: .88rem;
  font-weight: 600;
  text-underline-offset: .35em;
}
.jp-workshop .jp-text-link:hover { text-decoration-color: currentColor; }

.jp-workshop .jp-header {
  position: relative;
  background: var(--jp-dark);
  border-bottom: 1px solid #ffffff23;
}
.jp-workshop .jp-header .jp-masthead {
  font-size: clamp(1.13rem, 2.15vw, 1.72rem);
  letter-spacing: .105em;
  padding-block: .45rem;
}
.jp-workshop .jp-masthead span { color: var(--jp-gold); }
.jp-workshop .jp-nav,
.jp-workshop .jp-languages { font-size: .83rem; font-weight: 550; }
.jp-workshop .jp-header .jp-nav a { text-underline-offset: .43em; }
.jp-workshop .jp-header .jp-nav-booking { text-decoration-color: #b49269; }
.jp-workshop .jp-header .jp-languages [aria-current] { text-underline-offset: .43em; }
.jp-workshop .jp-footer .jp-shell { padding-block: 2.35rem; }
.jp-workshop .jp-footer .jp-wordmark { font-family: var(--jp-display); }

/* The first fold reads as a cover and a facing catalogue plate. */
.jp-workshop :is(.jp-home-cover, .jp-pair-hero) {
  --jp-cover-padding: clamp(2.5rem, 5.1vw, 5rem);
  position: relative;
  isolation: isolate;
  min-height: 0;
  align-items: center;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: clamp(1.6rem, 4.2vw, 4.1rem);
  padding: var(--jp-cover-padding) max(var(--jp-gutter), calc((100% - 1340px) / 2));
  background: radial-gradient(ellipse at 80% 42%, #292018 0%, var(--jp-dark) 70%);
}
.jp-workshop :is(.jp-home-cover, .jp-pair-hero) > .jp-shell { padding: 0; }
.jp-workshop :is(.jp-home-cover, .jp-pair-hero) .jp-kicker {
  display: flex;
  align-items: center;
  gap: .7rem;
  color: var(--jp-gold);
}
.jp-workshop :is(.jp-home-cover, .jp-pair-hero) .jp-kicker::before {
  content: "";
  width: 1.7rem;
  height: 1px;
  flex: none;
  background: currentColor;
}
.jp-workshop .jp-home-cover h1 {
  margin-top: clamp(1rem, 2.05vw, 2.05rem);
  font-size: clamp(3.2rem, 6.6vw, 7.1rem);
  letter-spacing: -.058em;
  line-height: 1;
  text-wrap: wrap;
}
.jp-workshop .jp-home-cover h1 em { color: var(--jp-gold); }
html[lang="ms-MY"] .jp-workshop .jp-home-cover h1 {
  font-size: clamp(2.7rem, 5.7vw, 6.2rem);
  line-height: 1.03;
}
html[lang="zh-Hans"] .jp-workshop .jp-home-cover h1 {
  font-size: clamp(2.8rem, 5.75vw, 6rem);
  line-height: 1.17;
  letter-spacing: .025em;
}
.jp-workshop .jp-home-cover .jp-lede { max-width: 38ch; margin-top: 1.55rem; }
.jp-workshop .jp-home-cover .jp-stage-image {
  min-width: 0;
  border: 1px solid var(--jp-night-rule);
  padding: clamp(.45rem, .85vw, .85rem);
  background: #191613;
  aspect-ratio: auto;
}
.jp-workshop .jp-home-cover .jp-stage-image img {
  position: static;
  height: auto;
  aspect-ratio: 1.24;
  object-fit: cover;
  object-position: 62% 49%;
}
.jp-workshop .jp-home-cover .jp-stage-image figcaption {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  justify-items: stretch;
  align-items: baseline;
  gap: .2rem .6rem;
  position: static;
  padding: .65rem .15rem .1rem;
  background: none;
  color: var(--jp-on-dark);
  text-align: start;
}
.jp-workshop .jp-home-cover .jp-hero-piece {
  color: var(--jp-paper);
  font: 400 clamp(1.22rem, 2.1vw, 1.85rem)/1.2 var(--jp-serif);
  white-space: nowrap;
}
.jp-workshop .jp-home-cover .jp-hero-piece:hover { text-decoration: underline; text-underline-offset: .2em; }
.jp-workshop .jp-home-cover .jp-hero-piece span { font: 600 .72rem var(--jp-sans); color: var(--jp-gold); }
.jp-workshop .jp-home-cover .jp-hero-provenance { justify-self: end; text-align: end; color: var(--jp-gold); }
.jp-workshop .jp-home-cover .jp-hero-detail { grid-column: 1 / -1; color: var(--jp-on-dark); }
.jp-workshop :is(.jp-home-facts, .jp-workshop-facts) { border-top-color: var(--jp-night-rule); }
.jp-workshop :is(.jp-home-facts, .jp-workshop-facts) .jp-facts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}
.jp-workshop .jp-facts > div { padding: 1.15rem .85rem 1.2rem; }
.jp-workshop .jp-facts > div:first-child { padding-inline-start: 0; }
.jp-workshop .jp-facts > div + div { border-inline-start: 1px solid var(--jp-night-rule); }
.jp-workshop .jp-facts dt { font-weight: 600; line-height: 1.45; }
.jp-workshop .jp-facts dd { margin-top: .35rem; line-height: 1.35; }

/* Shared workshop offer: compare the two totals, then pick a date. */
.jp-workshop .jp-offer {
  --jp-offer-muted: var(--jp-on-dark);
  --jp-offer-rule: var(--jp-night-rule);
  --jp-offer-accent: var(--jp-gold);
  --jp-offer-pair: #30271e;
}
.jp-home .jp-home-workshop.jp-offer {
  --jp-offer-muted: var(--jp-mute);
  --jp-offer-rule: #bdad98;
  --jp-offer-accent: var(--jp-bronze);
  --jp-offer-pair: #ebe0cf;
  background: #f3ebdf;
  color: var(--jp-ink);
}
.jp-home .jp-home-workshop.jp-offer .jp-kicker { color: var(--jp-bronze); }
.jp-home .jp-home-workshop.jp-offer .jp-lede { color: var(--jp-mute); }
.jp-home .jp-home-workshop.jp-offer .jp-button { background: var(--jp-dark); color: var(--jp-paper); }
.jp-home .jp-home-workshop.jp-offer .jp-button:hover { background: #463125; }
.jp-home .jp-home-workshop.jp-offer :focus-visible { outline-color: var(--jp-bronze); }
.jp-home .jp-home-workshop-inner { gap: clamp(2.25rem, 6.6vw, 7rem); }
.jp-home .jp-home-workshop-inner :is(.jp-offer-art, .jp-home-bench) { grid-area: 1 / 1; }
.jp-home .jp-home-workshop-inner .jp-home-offer-copy { grid-area: 1 / 2; }
.jp-workshop .jp-offer :is(h1, h2) {
  max-width: none;
  font: 400 clamp(2.85rem, 5.55vw, 6rem)/1.02 var(--jp-display);
  letter-spacing: -.05em;
  text-wrap: balance;
}
html[lang="ms-MY"] .jp-workshop .jp-offer :is(h1, h2) { font-size: clamp(2.55rem, 4.6vw, 5.25rem); }
html[lang="zh-Hans"] .jp-workshop .jp-offer :is(h1, h2) {
  font-size: clamp(2.65rem, 4.75vw, 5.15rem);
  letter-spacing: .025em;
  line-height: 1.16;
}
.jp-workshop .jp-offer .jp-lede { margin-top: 1rem; max-width: 44ch; }
.jp-workshop .jp-offer .jp-featured-prices { margin-top: 1.45rem; }
.jp-workshop .jp-offer .jp-featured-prices dl { gap: .65rem; }
.jp-workshop .jp-offer .jp-featured-prices dl > div {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  gap: .35rem;
  align-content: start;
  padding: clamp(.7rem, 1.4vw, 1.15rem);
  border-color: var(--jp-offer-rule);
  border-radius: 0;
}
.jp-workshop .jp-offer .jp-featured-prices .jp-featured-pair {
  border-color: var(--jp-offer-accent);
  background: var(--jp-offer-pair);
}
.jp-workshop .jp-offer .jp-featured-prices dt {
  color: var(--jp-offer-muted);
  font-weight: 600;
  font-size: .78rem;
  line-height: 1.4;
}
.jp-workshop .jp-offer .jp-featured-prices dd {
  color: inherit;
  margin-top: 0;
  font: 400 clamp(1.47rem, 2.72vw, 2.9rem)/1.08 var(--jp-serif);
  font-variant-numeric: lining-nums tabular-nums;
  letter-spacing: -.055em;
  white-space: nowrap;
}
.jp-workshop .jp-offer .jp-featured-prices .jp-fx-value {
  color: var(--jp-offer-muted);
  margin-top: .27rem;
  font: 500 .76rem/1.45 var(--jp-sans);
  letter-spacing: 0;
}
.jp-workshop .jp-offer .jp-featured-prices .jp-featured-saving {
  color: var(--jp-offer-accent);
  margin-top: .72rem;
  font-size: .89rem;
  font-weight: 550;
  line-height: 1.45;
}
.jp-workshop .jp-offer .jp-featured-saving strong { font-weight: 750; }
.jp-workshop .jp-offer .jp-actions { margin-top: 1.2rem; gap: .35rem 1.15rem; }
.jp-workshop .jp-offer .jp-currency-control {
  margin-block: .8rem 0;
  color: var(--jp-offer-muted);
  line-height: 1.5;
}
.jp-workshop .jp-offer .jp-currency-control p { max-width: 55ch; margin-top: .15rem; }
.jp-workshop .jp-offer .jp-currency-control select {
  min-width: 4.65rem;
  border-radius: 2px;
  border-color: var(--jp-offer-rule);
  color: inherit;
  background: transparent;
}
.jp-workshop .jp-pair-hero .jp-currency-control select { color-scheme: dark; }
.jp-workshop .jp-offer-art { min-width: 0; }
.jp-workshop .jp-offer-plate {
  padding: clamp(.45rem, .85vw, .85rem);
  border: 1px solid var(--jp-offer-rule);
}
.jp-workshop .jp-offer-plate img { width: 100%; height: auto; }
.jp-workshop .jp-offer-plate figcaption {
  color: var(--jp-offer-muted);
  padding: .5rem .1rem 0;
  font-size: .76rem;
  line-height: 1.45;
}
.jp-workshop .jp-offer-keepsake {
  display: grid;
  grid-template-columns: minmax(0, .74fr) minmax(0, 1fr);
  gap: .4rem 1rem;
  margin-top: 1.15rem;
  padding-block: .85rem 0;
  border-top: 1px solid var(--jp-offer-rule);
}
.jp-workshop .jp-offer-keepsake h3 { font-size: clamp(1.23rem, 1.75vw, 1.7rem); line-height: 1.15; }
.jp-workshop .jp-offer-keepsake p { color: var(--jp-offer-muted); font-size: .86rem; line-height: 1.55; }

/* Gallery, Maker and Contact share the same type and material cues. */
.jp-editorial .jpe-hero { padding-block: clamp(3.6rem, 8vw, 8rem); }
.jp-editorial .jpe-hero h1 { font-family: var(--jp-display); }
.jp-editorial .jpe-hero h1 span + span { font-style: italic; }
html[lang="zh-Hans"] .jp-editorial .jpe-hero h1 span + span { font-style: normal; }
.jp-editorial .jpe-hero-grid { align-items: center; }
.jp-editorial .jpe-hero-card {
  padding: clamp(.45rem, .85vw, .85rem);
  border: 1px solid var(--jp-night-rule);
}
.jp-editorial .jpe-hero-card .jpe-founder { border-radius: 0; }
.jp-editorial .jpe-hero-card img:not(.jpe-founder) { margin: .7rem 0 0; }
.jp-workshop :is(.jp-home-object-media, .jp-take-piece, .jp-guest-format, .jp-register, .jp-booking-guide, .jp-booking-prices > div, .jp-estimate) { border-radius: 0; }
.jp-workshop :is(.jp-register, .jpe-form) :is(input, select, textarea) { font-family: var(--jp-sans); }
.jp-workshop .jp-register :is(input, select, textarea) { border-radius: 2px; }
.jp-workshop-page .jp-take-list li { position: relative; padding: 1rem 0 1.1rem 1.6rem; }
.jp-workshop-page .jp-take-list li::before {
  content: "";
  position: absolute;
  inset: 1.65rem auto auto 0;
  width: .75rem;
  border-top: 1px solid var(--jp-bronze);
}
.jp-workshop-page .jp-take-list strong { font-size: clamp(1.32rem, 1.85vw, 1.68rem); }
.jp-workshop-page .jp-take-piece {
  padding: clamp(.45rem, .85vw, .85rem);
  border: 1px solid var(--jp-line);
}
.jp-workshop-page .jp-take-piece figcaption { padding: .6rem .1rem .05rem; }
.jp-workshop-page .jp-book { background: #ede5d9; }
.jp-workshop-page .jp-book .jp-form-header h3 { font-family: var(--jp-display); }
.jp-workshop .jp-recognition { background: #f8f4ec; }
.jp-home .jp-home-archive { padding-block: clamp(4rem, 9.5vw, 9rem); }
.jp-home .jp-home-object-media { display: block; border: 1px solid var(--jp-line); }
.jp-home .jp-home-object-media:hover { border-color: var(--jp-bronze); }
.jp-home .jp-home-portrait { padding: .65rem; border: 1px solid var(--jp-line); }
@media (min-width: 761px) {
  .jp-home .jp-home-object:nth-child(2) { margin-top: clamp(1.1rem, 3.4vw, 3.2rem); }
}

@media (max-width: 900px) {
  body.jp-workshop { --jp-header-height: auto; }
  .jp-workshop .jp-header-inner { gap: .1rem .7rem; padding-block: .45rem .32rem; }
  .jp-workshop .jp-header-inner .jp-nav {
    grid-area: 2 / 1 / 3 / -1;
    gap: .1rem clamp(.65rem, 3vw, 1.7rem);
    border-top: 1px solid #ffffff1c;
  }
}
@media (max-width: 760px) {
  .jp-workshop :is(.jp-home-cover, .jp-pair-hero) {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.6rem;
    padding-block: clamp(1.95rem, 6.5vw, 3.6rem) 1.75rem;
  }
  .jp-workshop .jp-home-cover h1 { font-size: clamp(2.95rem, 10.2vw, 5.65rem); }
  html[lang="ms-MY"] .jp-workshop .jp-home-cover h1 { font-size: clamp(2.65rem, 8.65vw, 4.95rem); }
  html[lang="zh-Hans"] .jp-workshop .jp-home-cover h1 { font-size: clamp(2.7rem, 9.3vw, 5rem); }
  .jp-workshop .jp-home-cover .jp-lede { margin-top: 1.15rem; }
  .jp-workshop .jp-home-cover .jp-actions { margin-top: 1.35rem; gap: .2rem 1.1rem; }
  .jp-workshop .jp-home-cover .jp-stage-image img { aspect-ratio: 1.45; }
  .jp-workshop .jp-offer :is(h1, h2) { font-size: clamp(2.65rem, 8.5vw, 4.5rem); text-wrap: wrap; }
  html[lang="ms-MY"] .jp-workshop .jp-offer :is(h1, h2) { font-size: clamp(2.45rem, 7.55vw, 4rem); }
  html[lang="zh-Hans"] .jp-workshop .jp-offer :is(h1, h2) { font-size: clamp(2.45rem, 7.55vw, 4.25rem); }
  .jp-workshop .jp-offer .jp-lede { margin-top: .75rem; }
  .jp-workshop .jp-offer .jp-featured-prices { margin-top: 1.1rem; }
  .jp-workshop .jp-offer .jp-featured-prices dd { font-size: clamp(1.6rem, 5.25vw, 2.7rem); }
  .jp-workshop .jp-offer .jp-currency-control p { max-width: 50ch; }
  .jp-workshop .jp-facts > div { padding: .9rem .45rem 1rem; }
  .jp-workshop .jp-facts dt { letter-spacing: .035em; font-size: .67rem; }
  .jp-workshop .jp-facts dd { font-size: .87rem; }
  .jp-home .jp-home-workshop-inner { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
  .jp-home .jp-home-workshop-inner :is(.jp-home-offer-copy, .jp-offer-art, .jp-home-bench) { grid-area: auto; }
  .jp-workshop .jp-offer-keepsake { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 460px) {
  body.jp-workshop { --jp-gutter: 1.1rem; }
  .jp-workshop .jp-header-inner { grid-template-columns: minmax(0, 1fr) auto; }
  .jp-workshop .jp-header-inner .jp-languages { justify-self: end; gap: .38rem; font-size: .73rem; }
  .jp-workshop .jp-header-inner .jp-nav { font-size: .77rem; gap: .2rem .75rem; }
  .jp-workshop .jp-header .jp-masthead { font-size: 1.13rem; letter-spacing: .08em; }
  .jp-workshop .jp-offer .jp-actions .jp-button { width: 100%; }
  .jp-workshop .jp-offer .jp-actions .jp-text-link { min-height: 36px; }
  .jp-workshop .jp-home-cover .jp-hero-booking { width: 100%; }
  .jp-workshop .jp-home-cover .jp-stage-image img { aspect-ratio: 1.32; }
}
@media (max-width: 385px) {
  .jp-workshop .jp-header-inner { grid-template-columns: minmax(0, 1fr); }
  .jp-workshop .jp-header-inner .jp-languages {
    grid-area: 3 / 1;
    justify-self: stretch;
    gap: .8rem;
    border-top: 1px solid #ffffff1c;
  }
}
@media (prefers-reduced-motion: reduce) {
  .jp-workshop :is(.jp-button, .jpe-btn) { transition: none; }
}

/* Archive provenance: keep the original presentation photographs intact. */
.jp-workshop .jp-royal-ribbon {
  border-block: 1px solid #75624c;
  background: #272119;
  color: var(--jp-paper);
}
.jp-workshop .jp-royal-ribbon-inner {
  display: grid;
  grid-template-columns: minmax(9rem, .55fr) minmax(0, 1.65fr) auto;
  align-items: center;
  gap: .45rem clamp(1.15rem, 3vw, 3.4rem);
  padding-block: clamp(1.25rem, 2.65vw, 2.65rem);
}
.jp-workshop .jp-royal-ribbon .jp-kicker,
.jp-workshop .jp-royal-feature .jp-kicker { color: var(--jp-gold); }
.jp-workshop .jp-royal-line {
  font: 400 clamp(1.28rem, 2.15vw, 2.1rem)/1.22 var(--jp-serif);
  text-wrap: balance;
}
.jp-workshop .jp-royal-ribbon .jp-royal-link,
.jp-editorial .jpe-hero-panel .jp-royal-link { color: var(--jp-gold); }
.jp-workshop .jp-royal-ribbon .jp-royal-link { justify-self: start; }
.jp-editorial .jpe-hero-panel .jp-royal-link { margin-top: .65rem; }
.jp-workshop .jp-royal-feature {
  padding-block: clamp(3.25rem, 7.25vw, 7.5rem);
  border-bottom: 1px solid var(--jp-night-rule);
  background: radial-gradient(ellipse at 68% 36%, #33261c, var(--jp-dark) 78%);
  color: var(--jp-paper);
  scroll-margin-top: 1.25rem;
}
.jp-workshop :is(.jp-royal-ribbon, .jp-royal-feature) :focus-visible { outline-color: var(--jp-gold); }
.jp-workshop .jp-royal-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .84fr);
  gap: clamp(1.7rem, 7vw, 7rem);
  align-items: center;
  max-width: 1160px;
}
.jp-workshop .jp-royal-copy h2 {
  font-size: clamp(2.85rem, 6vw, 5.9rem);
  text-wrap: balance;
}
.jp-workshop .jp-royal-copy .jp-lede { max-width: 42ch; color: var(--jp-on-dark); }
.jp-workshop .jp-royal-copy .jp-button { background: var(--jp-gold); color: var(--jp-dark); }
.jp-workshop .jp-royal-copy .jp-button:hover { background: var(--jp-paper); }
.jp-workshop .jp-royal-plate {
  max-width: 515px;
  padding: clamp(.48rem, 1vw, .9rem);
  border: 1px solid #907758;
  background: #171411;
}
.jp-workshop .jp-royal-plate img { width: 100%; height: auto; }
.jp-workshop .jp-royal-plate figcaption {
  padding: .6rem .1rem .05rem;
  font-size: .8rem;
  line-height: 1.55;
  color: var(--jp-on-dark);
}
@media (max-width: 760px) {
  .jp-workshop :is(.jp-royal-ribbon-inner, .jp-royal-grid) { grid-template-columns: minmax(0, 1fr); }
  .jp-workshop .jp-royal-ribbon-inner { gap: .35rem; }
  .jp-workshop .jp-royal-copy .jp-actions { margin-top: 1.25rem; gap: .45rem 1.05rem; }
}

/* On the cover, the royal archive plate leads into the workshop offer. */
.jp-home .jp-royal-feature {
  padding-block: clamp(2.75rem, 5vw, 5rem);
  background: radial-gradient(ellipse at 32% 48%, #36291f, #1b1713 76%);
}
.jp-home .jp-royal-grid { gap: clamp(1.5rem, 5.3vw, 5.8rem); }
.jp-home .jp-royal-heading h2 { font-size: clamp(2.65rem, 5.1vw, 5.35rem); }
.jp-home .jp-royal-plate { width: 100%; max-width: 27rem; justify-self: center; }
@media (min-width: 761px) {
  .jp-home .jp-royal-grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); }
  .jp-home .jp-royal-copy { grid-area: 1 / 2; }
  .jp-home .jp-royal-plate { grid-area: 1 / 1; }
}
@media (max-width: 760px) {
  .jp-home .jp-royal-copy { display: contents; }
  .jp-home .jp-royal-heading { grid-row: 1; }
  .jp-home .jp-royal-plate { grid-row: 2; }
  .jp-home .jp-royal-details { grid-row: 3; }
  .jp-home .jp-royal-details .jp-lede { margin-top: 0; }
  .jp-home .jp-royal-details .jp-actions { margin-top: 1.15rem; gap: .45rem 1.05rem; }
}

/* A compact archive plate at the entrance to the booking room. */
.jp-workshop .jp-royal-workshop { padding-block: clamp(2.5rem, 4.6vw, 4.6rem); }
.jp-workshop .jp-royal-workshop .jp-royal-grid {
  max-width: 1060px;
  grid-template-columns: minmax(0, 1fr) minmax(0, .66fr);
  gap: clamp(1.35rem, 5vw, 5rem);
}
.jp-workshop .jp-royal-workshop h2 { font-size: clamp(2.45rem, 4.8vw, 4.75rem); }
.jp-workshop .jp-royal-workshop .jp-royal-plate { width: 100%; max-width: 23rem; }
@media (max-width: 760px) {
  .jp-workshop .jp-royal-workshop .jp-royal-grid { grid-template-columns: minmax(0, 1fr); }
  .jp-workshop .jp-royal-workshop .jp-royal-copy { display: contents; }
  .jp-workshop .jp-royal-workshop .jp-royal-heading { grid-row: 1; }
  .jp-workshop .jp-royal-workshop .jp-royal-plate { grid-row: 2; }
  .jp-workshop .jp-royal-workshop .jp-royal-details { grid-row: 3; }
  .jp-workshop .jp-royal-workshop .jp-lede { margin-top: 0; }
  .jp-workshop .jp-royal-workshop .jp-button { width: 100%; }
}
