/* Feature dossier: groups, cards, card canvases, step captions, the Trade/Mine switch. */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{position:relative;background:var(--bone2);border:1px solid var(--pline);padding:14px 14px 18px;transition:border-color .2s}
.grp+.grp{margin-top:44px}
.gh{margin:0 0 20px;font-size:inherit}
.gh button{display:flex;align-items:center;gap:16px;width:100%;padding:0 0 12px;border:0;border-bottom:2px solid var(--ink);background:none;color:var(--ink);font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;text-align:left}
.gt{font-size:clamp(22px,2.6vw,32px);font-weight:700;letter-spacing:.14em}
.gc{margin:0 0 14px;font-size:11px}
.chev{margin-left:auto;width:22px;height:22px;flex:none;position:relative;border:1px solid var(--ink)}
.chev::before,.chev::after{content:"";position:absolute;left:5px;right:5px;top:10px;height:2px;background:var(--ink)}
.chev::after{transform:rotate(90deg);transition:transform .2s}
.gh button[aria-expanded="true"] .chev::after{transform:rotate(0)}
.gh button:focus-visible{outline:2px solid var(--rust);outline-offset:4px}
@media(hover:hover) and (pointer:fine){.gh button:hover .gt{color:var(--rust)}}
.grp .grid[hidden]{display:none}
.vsw{display:none;position:absolute;top:20px;right:20px;border:1px solid rgba(230,223,208,.35);background:var(--ink)}
.js .vsw{display:flex}
.vsw button{font:600 10px/1 inherit;font-family:inherit;letter-spacing:.1em;text-transform:uppercase;padding:6px 9px;border:0;background:transparent;color:#a39c8f;cursor:pointer}
.vsw button[aria-pressed="true"]{background:var(--sig);color:var(--ink)}
.vsw button:focus-visible{outline:2px solid var(--bone);outline-offset:1px}
@media(hover:hover) and (pointer:fine){.vsw button[aria-pressed="false"]:hover{color:var(--bone)}}
.card p{margin:0;color:var(--sub);font-size:15px}
.vig{display:block;width:100%;aspect-ratio:2/1;background:var(--ink);image-rendering:pixelated}
@media(hover:hover) and (pointer:fine){.card:hover{border-color:var(--rust)}}
.step{margin:8px 0 0;min-height:2.9em;font-size:13px;line-height:1.45;color:#5a554c;border-left:2px solid var(--rust);padding-left:8px}
@media(max-width:820px){.grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.grid{grid-template-columns:1fr}}
.lede{margin:-8px 0 36px;max-width:62ch;color:var(--sub);font-size:17px;line-height:1.6}
.card>.tag{display:block;width:max-content;margin-top:14px}.card>.tag+h3{margin-top:8px}
