@font-face { font-family: 'Sansita'; font-style: normal; font-weight: 400; font-display: swap;
  src: url(sansita-400.woff2) format('woff2'); }
@font-face { font-family: 'Sansita'; font-style: normal; font-weight: 700; font-display: swap;
  src: url(sansita-700.woff2) format('woff2'); }
@font-face { font-family: 'Sansita'; font-style: normal; font-weight: 800; font-display: swap;
  src: url(sansita-800.woff2) format('woff2'); }
@font-face { font-family: 'Kufam'; font-style: normal; font-weight: 400; font-display: swap;
  src: url(kufam-400.woff2) format('woff2'); }
@font-face { font-family: 'Kufam'; font-style: normal; font-weight: 600; font-display: swap;
  src: url(kufam-600.woff2) format('woff2'); }
@font-face { font-family: 'Kufam'; font-style: normal; font-weight: 700; font-display: swap;
  src: url(kufam-700.woff2) format('woff2'); }

:root {
  --jmp-foam: #f4fafb;
  --jmp-rinse: #e1f2f4;
  --jmp-dusk: #113940;
  --jmp-ink: #14343a;
  --jmp-mute: #4d6b71;
  --jmp-teal: #0b6f7c;
  --jmp-tealdeep: #095d68;
  --jmp-sun: #ffd23f;
  --jmp-sundeep: #f3c327;
  --jmp-hairline: #cde4e7;
  --jmp-card: #ffffff;
  --jmp-star: #b7810f;
  --jmp-papernow: var(--jmp-foam);
  --jmp-inknow: var(--jmp-ink);
  --jmp-mutenow: var(--jmp-mute);
  --jmp-kicknow: var(--jmp-teal);
  --jmp-linenow: var(--jmp-hairline);
  --jmp-cardnow: var(--jmp-card);
  --jmp-gut: clamp(16px, 3.2vw, 36px);
  --jmp-step: clamp(46px, 5.8vw, 78px);
  --jmp-round: 12px;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font: 400 16.5px/1.62 'Kufam', 'Segoe UI', sans-serif;
  background: var(--jmp-foam);
  color: var(--jmp-ink);
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--jmp-tealdeep); }
h1, h2, h3 { font-family: 'Sansita', Verdana, sans-serif; line-height: 1.14;
  color: var(--jmp-inknow); margin: 0 0 14px; }
h1 { font-weight: 800; font-size: clamp(27px, 3.6vw, 40px); letter-spacing: 0.002em; }
h2 { font-weight: 700; font-size: clamp(21px, 2.6vw, 28px); }
h3 { font-weight: 700; font-size: 18.5px; line-height: 1.28; }
p { margin: 0 0 1em; }

.jmp-porch { width: min(1128px, 100% - 2 * var(--jmp-gut)); margin: 0 auto; }
.jmp-porchslim { width: min(736px, 100% - 2 * var(--jmp-gut)); margin: 0 auto; }

.jmp-sudskip { position: absolute; left: -9999px; top: 0; background: var(--jmp-dusk);
  color: #f4fafb; padding: 10px 20px; z-index: 70; border-radius: 0 0 12px 0; }
.jmp-sudskip:focus { left: 0; }

.jmp-ripple { background: #0c2b31; font-size: 13px; color: #aacdd2; }
.jmp-ripple .jmp-porch { display: flex; justify-content: space-between; gap: 8px 16px;
  padding: 7px 0; flex-wrap: wrap; }
.jmp-ripple a { color: #7ed4de; }
.jmp-ripple a:hover { color: var(--jmp-sun); }
.jmp-topbar { background: var(--jmp-dusk); border-bottom: 1px solid #2c5860;
  --jmp-papernow: #e9f6f7; --jmp-inknow: #f2fbfc; --jmp-mutenow: #aacdd2;
  --jmp-kicknow: #7ed4de; --jmp-linenow: #2c5860; --jmp-cardnow: #1a4750; }
.jmp-topbar > .jmp-porch { display: flex; align-items: center; gap: 12px 22px;
  padding: 12px 0; flex-wrap: wrap; }
.jmp-emblem { display: inline-flex; align-items: center; flex: 0 0 auto; }
.jmp-emblem img { width: 136px; height: 32px; }
.jmp-topnav { display: flex; flex-wrap: wrap; gap: 4px 17px; order: 3; flex: 1 1 100%;
  font-size: 15px; font-weight: 600; }
.jmp-topnav a { color: #e9f6f7; text-decoration: none; padding: 4px 2px; }
.jmp-topnav a:hover { color: var(--jmp-sun); }
.jmp-carrydock { display: inline-flex; align-items: center; justify-content: center;
  background: var(--jmp-sun); border: 0; border-radius: 9px; cursor: pointer;
  padding: 11px 18px; flex: 0 0 auto; margin-left: auto; }
.jmp-carrydock:hover { background: var(--jmp-sundeep); }

.jmp-lane, .jmp-rinseband, .jmp-duskband { padding: var(--jmp-step) 0; }
.jmp-rinseband { background: var(--jmp-rinse); }
.jmp-duskband { background: var(--jmp-dusk); color: #e9f6f7;
  --jmp-papernow: #e9f6f7;
  --jmp-inknow: #f2fbfc;
  --jmp-mutenow: #aacdd2;
  --jmp-kicknow: #7ed4de;
  --jmp-linenow: #2c5860;
  --jmp-cardnow: #1a4750;
}
.jmp-apron { max-width: 660px; margin-bottom: clamp(20px, 3vw, 32px); }
.jmp-apron p { color: var(--jmp-mutenow); margin: 0; }
.jmp-kicker { display: block; font-size: 12.5px; font-weight: 700; letter-spacing: 0.15em;
  text-transform: uppercase; color: var(--jmp-kicknow); margin-bottom: 8px; }
.jmp-opener { font-size: 17.5px; line-height: 1.58; color: var(--jmp-mutenow); }
.jmp-murmur { font-size: 14px; color: var(--jmp-mutenow); }

.jmp-swish, .jmp-ghostline {
  display: inline-block; font: 600 15.5px/1 'Kufam', sans-serif; text-decoration: none;
  padding: 14px 24px; border-radius: 10px; transition: background 0.15s, color 0.15s;
}
.jmp-swish { background: var(--jmp-sun); color: #14343a; }
.jmp-swish:hover { background: var(--jmp-sundeep); }
.jmp-ghostline { border: 2px solid var(--jmp-papernow); color: var(--jmp-inknow); }
.jmp-ghostline:hover { border-color: var(--jmp-sun); color: var(--jmp-kicknow); }
.jmp-swishrow { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.jmp-grabber { display: inline-flex; align-items: center; justify-content: center;
  background: var(--jmp-sun); border: 0; border-radius: 10px; cursor: pointer;
  padding: 15px 26px; }
.jmp-grabber:hover { background: var(--jmp-sundeep); }
.jmp-reveal { display: inline-block; background: none; border: 2px solid var(--jmp-teal);
  color: var(--jmp-tealdeep); font: 600 15px/1 'Kufam', sans-serif; border-radius: 10px;
  padding: 12px 22px; cursor: pointer; }
.jmp-reveal:hover { background: var(--jmp-teal); color: #f4fafb; }

.jmp-chiprow { display: flex; flex-wrap: wrap; gap: 10px; }
.jmp-chip { display: inline-block; text-decoration: none; font-size: 14.5px; font-weight: 600;
  color: var(--jmp-inknow); border: 1.5px solid var(--jmp-linenow); border-radius: 8px;
  padding: 9px 16px; background: var(--jmp-cardnow); }
.jmp-chip:hover { border-color: var(--jmp-teal); color: var(--jmp-tealdeep); }

.jmp-trickle { font-size: 13.5px; color: var(--jmp-mute); padding: 14px 0 0; }
.jmp-trickle ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.jmp-trickle li + li::before { content: '\203A'; margin: 0 8px; color: var(--jmp-hairline); }
.jmp-trickle a { color: var(--jmp-mute); }

.jmp-tilerow { display: grid; grid-template-columns: repeat(auto-fill, minmax(224px, 1fr));
  gap: 18px; }
.jmp-tilefour { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.jmp-caddy { background: var(--jmp-cardnow); border: 1px solid var(--jmp-linenow);
  border-radius: var(--jmp-round); overflow: hidden; display: flex; flex-direction: column;
  min-height: 0; }
.jmp-caddy > a { text-decoration: none; color: inherit; display: flex;
  flex-direction: column; flex: 1; }
.jmp-snapshot { aspect-ratio: 1; background: #fff; position: relative; }
.jmp-snapshot img { position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: contain; padding: 12px; box-sizing: border-box; }
.jmp-caddybody { padding: 13px 15px 15px; display: flex; flex-direction: column; gap: 6px;
  flex: 1; }
.jmp-caddyname { font-size: 15px; font-weight: 600; line-height: 1.36;
  color: var(--jmp-inknow); }
.jmp-flick { font-size: 17px; font-weight: 700; color: var(--jmp-inknow); margin-top: auto; }
.jmp-caddytake { padding: 0 15px 15px; }
.jmp-caddytake .jmp-grabber { width: 100%; padding: 11px 18px; border-radius: 8px; }
.jmp-gleam { color: var(--jmp-star); font-size: 14px; letter-spacing: 1px; }
.jmp-count { font-size: 13px; color: var(--jmp-mutenow); }
.jmp-washfront { background: linear-gradient(180deg, var(--jmp-rinse), var(--jmp-foam));
  padding: clamp(38px, 5vw, 64px) 0; }
.jmp-washgrid { display: grid; grid-template-columns: 1.15fr 1fr;
  gap: clamp(24px, 4vw, 56px); align-items: center; }
.jmp-washgrid h1 { font-size: clamp(30px, 4vw, 46px); margin-bottom: 16px; }
.jmp-plunge { display: inline-block; font: 600 15.5px/1 'Kufam', sans-serif;
  text-decoration: none; padding: 14px 24px; border-radius: 10px;
  background: var(--jmp-dusk); color: #f4fafb; }
.jmp-plunge:hover { background: var(--jmp-tealdeep); }
.jmp-starcrate { background: var(--jmp-card); border: 1px solid var(--jmp-hairline);
  border-radius: var(--jmp-round); padding: 18px 18px 20px; }
.jmp-starcrate > a { display: block; text-decoration: none; color: var(--jmp-ink); }
.jmp-starcrate .jmp-snapshot { aspect-ratio: 5 / 4; border-radius: 8px; overflow: hidden;
  margin-bottom: 10px; }
.jmp-starcratebody { display: flex; flex-direction: column; gap: 8px; margin-top: 8px;
  align-items: flex-start; }
.jmp-streamer { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.jmp-streamcell { background: var(--jmp-cardnow); border: 1px solid var(--jmp-linenow);
  border-radius: var(--jmp-round); padding: 18px 20px; }
.jmp-streamcell h3 { font-family: 'Kufam', sans-serif; font-weight: 700; font-size: 16px;
  margin-bottom: 6px; }
.jmp-streamcell p { font-size: 14px; color: var(--jmp-mutenow); margin: 0; }

.jmp-aislegrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.jmp-aislecell { position: relative; border-radius: var(--jmp-round); overflow: hidden;
  background: var(--jmp-cardnow); border: 1px solid var(--jmp-linenow);
  text-decoration: none; color: inherit; display: flex; flex-direction: column;
  min-height: 0; }
.jmp-aislecell .jmp-snapshot { aspect-ratio: 4 / 3; }
.jmp-aislecell div:last-child { padding: 13px 15px 15px; }
.jmp-aislecell h3 { margin-bottom: 4px; font-size: 18px; }
.jmp-aislecell p { font-size: 14px; color: var(--jmp-mutenow); margin: 0; }

.jmp-splitpair { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.jmp-plank { border-radius: var(--jmp-round); padding: clamp(22px, 3vw, 38px);
  display: flex; flex-direction: column; align-items: flex-start; gap: 8px;
  text-decoration: none; color: var(--jmp-inknow); background: var(--jmp-cardnow);
  border: 1px solid var(--jmp-linenow); }
.jmp-plank p { color: var(--jmp-mutenow); }
.jmp-plank .jmp-swishrow { margin-top: 12px; }
.jmp-plankcap { font-family: 'Sansita', Verdana, sans-serif; font-weight: 700;
  font-size: clamp(20px, 2.4vw, 26px); line-height: 1.2; color: var(--jmp-inknow); }

.jmp-gaugerow { display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 16px; text-align: center; }
.jmp-gaugecell { padding: 8px 6px; }
.jmp-gaugenum { display: block; font-family: 'Sansita', Verdana, sans-serif;
  font-weight: 800; font-size: 33px; line-height: 1.1; color: inherit; }
.jmp-gaugesub { display: block; font-size: 13.5px; color: var(--jmp-mutenow);
  margin-top: 4px; }

.jmp-ledgerline { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.jmp-ledgerline th, .jmp-ledgerline td { text-align: left; padding: 10px 13px;
  border-bottom: 1px solid var(--jmp-linenow); }
.jmp-ledgerline th { font-size: 12.5px; letter-spacing: 0.09em; text-transform: uppercase;
  color: var(--jmp-mutenow); }
.jmp-ledgerline td { font-variant-numeric: tabular-nums; }
.jmp-ledgernote { font-size: 13px; color: var(--jmp-mutenow); margin: 10px 0 0; }

.jmp-nook { display: grid; grid-template-columns: 1fr 1.25fr; gap: 26px;
  align-items: start; }
.jmp-nookcol { min-width: 0; }

.jmp-roomrow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.jmp-roomcell { background: var(--jmp-cardnow); border: 1px solid var(--jmp-linenow);
  border-radius: var(--jmp-round); padding: 18px; display: flex; flex-direction: column;
  gap: 8px; }
.jmp-roomcap { font-weight: 700; font-size: 16px; color: var(--jmp-inknow); }
.jmp-roomcell p { font-size: 14px; color: var(--jmp-mutenow); margin: 0; }

.jmp-lantern { display: grid; grid-template-columns: 1fr 1.12fr; gap: clamp(22px, 4vw, 48px);
  align-items: center; }
.jmp-lanternshot { border-radius: var(--jmp-round); overflow: hidden; background: #fff;
  border: 1px solid var(--jmp-linenow); }
.jmp-lanternshot img { width: 100%; aspect-ratio: 1; object-fit: contain; padding: 20px;
  box-sizing: border-box; }
.jmp-lanternbody .jmp-flick { font-size: 21px; }

.jmp-chatter { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.jmp-quote { background: var(--jmp-cardnow); border: 1px solid var(--jmp-linenow);
  border-radius: var(--jmp-round); padding: 20px 22px; font-size: 15px; margin: 0; }
.jmp-quote blockquote { margin: 0 0 12px; }
.jmp-quote p { margin: 0 0 12px; }
.jmp-quotewho { font-size: 13.5px; font-weight: 600; color: var(--jmp-mutenow); }

.jmp-thread { font-size: clamp(17px, 1.9vw, 19px); line-height: 1.62; max-width: 810px; }
.jmp-longform { max-width: 768px; }
.jmp-longform ul { padding-left: 22px; }
.jmp-longform li { margin-bottom: 8px; }

.jmp-lined { background: var(--jmp-cardnow); border: 1px solid var(--jmp-linenow);
  border-radius: var(--jmp-round); padding: 20px 24px; }
.jmp-lined ul, .jmp-lined ol { margin: 0; padding-left: 20px; }
.jmp-lined li { margin-bottom: 10px; }
.jmp-linedrow { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }

.jmp-bindermain { max-width: 736px; }
.jmp-binder { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(22px, 4vw, 50px);
  align-items: start; padding: clamp(22px, 3vw, 38px) 0 var(--jmp-step); }
.jmp-bindershot { position: sticky; top: 20px; background: #fff;
  border: 1px solid var(--jmp-linenow); border-radius: var(--jmp-round); overflow: hidden; }
.jmp-bindershot img { width: 100%; aspect-ratio: 1; object-fit: contain; padding: 22px;
  box-sizing: border-box; }
.jmp-binderside h1 { font-size: clamp(22px, 2.6vw, 29px); }
.jmp-binderside .jmp-flick { font-size: 22px; }
.jmp-takerow { display: flex; flex-wrap: wrap; align-items: center; gap: 16px;
  margin: 18px 0; }
.jmp-chart { width: 100%; border-collapse: collapse; font-size: 14.5px; margin: 18px 0; }
.jmp-chartrow td { padding: 9px 12px 9px 0; border-bottom: 1px solid var(--jmp-linenow);
  vertical-align: top; }
.jmp-chartkey { color: var(--jmp-mutenow); width: 44%; }
.jmp-chartval { font-weight: 600; font-variant-numeric: tabular-nums; }
.jmp-merits { margin: 0; padding-left: 20px; }
.jmp-merits li { margin-bottom: 8px; }
.jmp-merit { margin-bottom: 18px; }
.jmp-merithead { font-family: 'Kufam', sans-serif; font-weight: 700; font-size: 16.5px;
  margin-bottom: 4px; }
.jmp-merit p { margin: 0; color: var(--jmp-mutenow); }
.jmp-kinrow { margin-top: var(--jmp-step); }
.jmp-lastrinse { display: flex; flex-wrap: wrap; align-items: center; gap: 18px;
  justify-content: space-between; }
.jmp-lastsum { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }

.jmp-probe { max-width: 768px; }
.jmp-probeq { font-family: 'Kufam', sans-serif; font-weight: 700; font-size: 17.5px;
  margin: 26px 0 6px; }
.jmp-probea { color: var(--jmp-mutenow); margin: 0; }

#jmp-matchform { max-width: 768px; }
.jmp-matchstep { margin-bottom: 24px; }
.jmp-matchstep label { display: block; font-weight: 700; margin-bottom: 8px; }
.jmp-matchopts { display: flex; flex-wrap: wrap; gap: 10px; }
.jmp-matchopt { position: relative; }
.jmp-matchopt input { position: absolute; opacity: 0; pointer-events: none; }
.jmp-matchopt span { display: inline-block; font-size: 14.5px; font-weight: 600;
  border: 1.5px solid var(--jmp-hairline); border-radius: 8px; padding: 9px 16px;
  cursor: pointer; background: var(--jmp-card); }
.jmp-matchopt input:checked + span { background: var(--jmp-teal);
  border-color: var(--jmp-teal); color: #f4fafb; }
.jmp-matchopt input:focus-visible + span { outline: 3px solid var(--jmp-sun);
  outline-offset: 2px; }
.jmp-matchout { margin-top: 30px; }
.jmp-matchnote { font-size: 14.5px; color: var(--jmp-mutenow); margin: 10px 0 22px; }

.jmp-notegrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.jmp-notecell { background: var(--jmp-cardnow); border: 1px solid var(--jmp-linenow);
  border-radius: var(--jmp-round); padding: 20px 22px; text-decoration: none;
  color: inherit; display: flex; flex-direction: column; gap: 8px; }
.jmp-notecell h3 { margin: 0; }
.jmp-notecell p { font-size: 14px; color: var(--jmp-mutenow); margin: 0; }
.jmp-notedate { font-size: 12.5px; color: var(--jmp-mutenow); margin-top: auto; }
.jmp-essay { max-width: 736px; }
.jmp-essay h2 { margin-top: 38px; }
.jmp-essay ul { padding-left: 22px; }

.jmp-sidebit { background: var(--jmp-rinse); border-radius: var(--jmp-round);
  padding: 17px 22px; font-size: 15px; margin: 22px 0; }

.jmp-cellar { background: var(--jmp-dusk); color: #cfe5e8; padding: 50px 0 38px;
  margin-top: var(--jmp-step);
  --jmp-papernow: #e9f6f7; --jmp-inknow: #f2fbfc; --jmp-mutenow: #aacdd2;
  --jmp-kicknow: #7ed4de; --jmp-linenow: #2c5860; --jmp-cardnow: #1a4750; }
.jmp-cellar a { color: #cfe5e8; text-decoration: none; }
.jmp-cellar a:hover { color: #fff; }
.jmp-cellargrid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 30px;
  padding-bottom: 28px; border-bottom: 1px solid #2c5860; }
.jmp-cellargrid h3 { font-family: 'Kufam', sans-serif; font-size: 13.5px;
  letter-spacing: 0.11em; text-transform: uppercase; color: #8db4ba; margin-bottom: 12px; }
.jmp-cellargrid ul { list-style: none; margin: 0; padding: 0; }
.jmp-cellargrid li { margin-bottom: 8px; font-size: 14.5px; }
.jmp-cellarfine { padding-top: 22px; font-size: 13px; color: #8db4ba; }
.jmp-cellarfine img { max-width: min(380px, 100%); margin-top: 14px; }
.jmp-inkstamp { font-style: normal; font-size: 14px; line-height: 1.5; margin: 0 0 8px; }

@media (max-width: 940px) {
  .jmp-streamer, .jmp-tilefour { grid-template-columns: repeat(2, 1fr); }
  .jmp-aislegrid, .jmp-roomrow { grid-template-columns: repeat(2, 1fr); }
  .jmp-gaugerow { grid-template-columns: repeat(2, 1fr); }
  .jmp-chatter, .jmp-notegrid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .jmp-washgrid, .jmp-splitpair, .jmp-lantern, .jmp-binder, .jmp-linedrow, .jmp-nook {
    grid-template-columns: 1fr; }
  .jmp-bindershot { position: static; }
  .jmp-cellargrid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .jmp-streamer, .jmp-tilefour, .jmp-aislegrid, .jmp-roomrow {
    grid-template-columns: 1fr; }
  .jmp-topnav { font-size: 13.5px; gap: 2px 12px; }
}
