.jp-wrap{--ink:#1d1d1b;--mute:#6b6b66;--line:#d9d6cf;--gold:#b8893b;--paper:#faf9f6;max-width:1200px;margin:0 auto;padding:24px 20px 72px;color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;font-size:17px;line-height:1.65}
.jp-wrap h1,.jp-wrap h2,.jp-wrap h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;line-height:1.15;color:var(--ink);margin:0 0 .5em}
.jp-wrap h1{font-size:clamp(2.2rem,5vw,3.6rem)}
.jp-wrap h2{font-size:clamp(1.5rem,3vw,2.1rem)}
.jp-wrap h3{font-size:1.3rem;margin-top:1.6em}
.jp-wrap a{color:var(--ink);text-decoration-color:var(--gold);text-underline-offset:3px}
.jp-wrap a:hover,.jp-wrap a:focus-visible{color:var(--gold)}
.jp-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 28px;padding:0;font-size:.85rem;color:var(--mute)}
.jp-crumbs li+li::before{content:"/";margin-right:6px;color:var(--line)}
.jp-crumbs a{color:var(--mute);text-decoration:none}
.jp-head{display:grid;gap:32px;align-items:center;padding-bottom:36px;border-bottom:1px solid var(--line);margin-bottom:40px}
.jp-head__img img{width:100%;height:auto;display:block;background:var(--paper)}
.jp-eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 10px}
.jp-type{font-size:1.1rem;color:var(--mute);margin:0 0 10px;max-width:60ch}
.jp-code{font-size:.9rem;color:var(--mute);margin:0 0 20px}
.jp-code strong{color:var(--ink);letter-spacing:.04em}
.jp-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.jp-btn{display:inline-block;min-height:48px;padding:12px 26px;border:1px solid var(--ink);font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;line-height:22px}
.jp-btn--primary{background:var(--ink);color:#fff!important}
.jp-btn--primary:hover,.jp-btn--primary:focus-visible{background:var(--gold);border-color:var(--gold)}
.jp-body{display:grid;gap:40px}
.jp-content>*{max-width:68ch}
.jp-content h2{margin-top:1.6em}
.jp-content ul{padding-left:1.1em}
.jp-content li{margin-bottom:.6em}
.jp-side{background:var(--paper);border:1px solid var(--line);padding:24px;align-self:start}
.jp-side h2{font-size:1.4rem}
.jp-attrs{margin:0}
.jp-attrs div{display:grid;grid-template-columns:42% 1fr;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:.92rem}
.jp-attrs dt{color:var(--mute)}
.jp-attrs dd{margin:0}
.jp-note{margin:18px 0 0;font-size:.92rem}
.jp-section{margin-top:56px}
.jp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.jp-table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:520px}
.jp-table th,.jp-table td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top;font-weight:400;background:none}
.jp-table thead th{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);border-bottom:1px solid var(--ink)}
.jp-table tbody th{font-weight:600;white-space:nowrap}
.jp-two{display:grid;gap:32px}
.jp-links{list-style:none;margin:0;padding:0}
.jp-links li{padding:10px 0;border-top:1px solid var(--line)}
.jp-grid{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.jp-card a{display:flex;flex-direction:column;gap:6px;height:100%;padding:22px;border:1px solid var(--line);background:#fff;text-decoration:none;transition:border-color .2s}
.jp-card a:hover,.jp-card a:focus-visible{border-color:var(--gold);color:var(--ink)}
.jp-card__img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:var(--paper);margin-bottom:8px}
.jp-card__name{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.45rem;line-height:1.2}
.jp-card__type{font-size:.88rem;color:var(--mute);line-height:1.45}
.jp-card__count{margin-top:auto;padding-top:10px;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.jp-grid--cats{margin-bottom:32px}
.jp-closing{background:var(--paper);border:1px solid var(--line);padding:36px 28px}
.jp-closing p{max-width:60ch;margin:0}
@media(min-width:900px){.jp-head{grid-template-columns:1.1fr .9fr}.jp-head--plain{grid-template-columns:1fr}.jp-body{grid-template-columns:1fr 360px}.jp-two{grid-template-columns:1fr 1fr}.jp-wrap{padding:40px 32px 96px}}
