.supplementListing{color:#f3f3f5;margin:2rem 0 4rem;scroll-margin-top:7rem}
.supplementLayout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(1.5rem,5vw,5rem);align-items:start}
.supplementFigure{margin:0;min-width:0}.supplementFigure img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;background:#09090b;border:1px solid #29292e}
.supplementFigure figcaption{font-size:.8125rem;line-height:1.6;color:#b2b2bc;margin:.75rem 0 0;max-width:36rem}
.supplementCopy{min-width:0;padding-top:1rem}.supplementCopy .supplementEyebrow{font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;color:#c6c6cd;margin:0 0 1rem}
.supplementCopy h1,.supplementCopy h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(2.2rem,4.5vw,4.4rem);font-weight:400;line-height:1.08;letter-spacing:-.045em;margin:0 0 1.2rem}
.supplementCopy .supplementPack{font-size:.9375rem;line-height:1.6;color:#d4d4db;margin:0 0 1.25rem}.supplementCopy .supplementDescription{font-size:1.0625rem;line-height:1.8;color:#cccdd5;margin:0 0 1.5rem}
.supplementCopy .supplementPrice{font-family:'Space Grotesk',sans-serif;font-size:2.2rem;line-height:1.3;margin:0 0 1.4rem}.supplementPrice span{font-family:Inter,sans-serif;font-size:.875rem;color:#bbbcc5}
.supplementActions{display:flex;flex-wrap:wrap;gap:.75rem}.supplementActions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:0;text-align:center;padding:.85rem 1.2rem;font-size:1rem;line-height:1.4}
.supplementCopy .supplementOrderNote{font-size:.9375rem;line-height:1.7;color:#c5c5ce;margin:1.1rem 0 .65rem}.supplementCopy .supplementContact{font-size:.875rem;line-height:1.65;color:#b6b7c1;margin:0 0 1.25rem}
.supplementFacts{border-top:1px solid #41414b;margin-top:1.75rem}.supplementFacts details{border-bottom:1px solid #41414b}.supplementFacts summary{font-size:1rem;line-height:1.5;padding:1rem 0;cursor:pointer}.supplementFacts p{font-size:.9375rem;line-height:1.8;color:#c6c7cf;margin:0 0 1.1rem}.supplementFacts dl{font-size:.9375rem;line-height:1.6;margin:.75rem 0 1.25rem}.supplementFacts dl div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:.7rem 0;border-top:1px solid #292931}.supplementFacts dd{margin:0;text-align:right}.supplementFacts dt{min-width:0}
.supplementDetailLink{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:.3em;font-size:1rem}.supplementListing a:focus-visible,.supplementListing summary:focus-visible{outline:2px solid #fff;outline-offset:4px}
.supplementCompact{padding-bottom:2rem;border-bottom:1px solid #363640}.supplementCompact .supplementLayout{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);max-width:68rem}.supplementCompact h2{font-size:clamp(2rem,3vw,3rem)}
.shopIntro{padding-top:2rem}.shopFuture{border-top:1px solid #38383f;padding-top:2rem}.shopFuture h2{font-size:clamp(1.7rem,3vw,2.5rem)}
@media(max-width:720px){.supplementLayout,.supplementCompact .supplementLayout{grid-template-columns:minmax(0,1fr);gap:1.25rem}.supplementFigure{max-width:32rem;width:100%;margin-inline:auto}.supplementCopy{padding-top:0}.supplementActions a{flex:1 1 10rem}.supplementListing{margin-top:1rem}.supplementFacts dl div{grid-template-columns:minmax(0,1fr) minmax(4rem,auto);gap:.65rem}}
/* PS1 public shop: selection tool (form + sheet), honest unavailable categories. Everything is rem-based so 200% text reflows. */
.visuallyHidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.shopSelect{border-top:1px solid #41414b;margin:0 0 3rem;padding-top:2.25rem;scroll-margin-top:7rem}.shopSelect>.eyebrow{margin-bottom:1.25rem}
.shopSelect h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(1.9rem,3.4vw,3rem);font-weight:400;line-height:1.08;letter-spacing:-.04em;margin:0 0 1rem;text-wrap:balance}.shopSelect h2 span{color:#b2b4bb}
.shopSelectNote{font-size:.9375rem;line-height:1.7;color:#c5c5ce;max-width:44rem;margin:0 0 1.5rem}
.shopSelectForm{max-width:44rem}.shopSelectRow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem 1.25rem;align-items:center;padding:1rem 0;border-top:1px solid #292931;border-bottom:1px solid #292931}
.shopSelectItem{display:grid;gap:.3rem;min-width:0}.shopSelectName{font-size:1.0625rem;line-height:1.4}.shopSelectMeta{font-size:.875rem;line-height:1.5;color:#b6b7c1}
.shopSelectLine{margin:0;font-family:'Space Grotesk',sans-serif;font-size:1.35rem;line-height:1.3;min-width:5.5rem;text-align:right;font-variant-numeric:tabular-nums}
.selQty{display:inline-grid;grid-template-columns:2.75rem 4rem 2.75rem;align-items:stretch;border:1px solid #696a72;min-height:2.75rem}
.selQtyBtn{margin:0;padding:0;min-height:2.75rem;border:0;background:transparent;color:#eeeef0;font-size:1.25rem;line-height:1;display:grid;place-items:center;cursor:pointer}.selQtyBtn:hover{background:#26262c}.selQtyBtn:disabled{opacity:.35;cursor:not-allowed}
.selQtyInput{width:100%;min-width:0;margin:0;padding:.4rem .2rem;border:0;border-inline:1px solid #696a72;background:#121216;color:#eeeef0;font-size:1.0625rem;text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield}
.selQtyInput::-webkit-outer-spin-button,.selQtyInput::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.shopSelectForm .formHint{margin:.9rem 0 0!important}.shopSelectMessage{margin:.8rem 0 0;padding:.75rem 1rem;border-left:2px solid #eeeef0;background:#1c1c22;color:#eeeef0;font-size:.9375rem;line-height:1.6}.shopSelectMessage[hidden]{display:none}
.shopSelectForm .actions.pair{margin:1.4rem 0 0}.shopSelectForm .actions.pair button{margin:0;width:100%;justify-content:center;gap:.5rem;font-size:.875rem;font-weight:600;line-height:1.5;padding:.95rem 1.2rem;border:1px solid #c6c7ce;min-height:3.25rem;cursor:pointer}
.shopSelectForm .actions.pair .primary{background:#28292f;color:#fff}.shopSelectForm .actions.pair .primary:hover{background:#383940}.shopSelectForm .actions.pair .outline{background:transparent;color:#eeeef0}.shopSelectForm .actions.pair .outline:hover{background:#26262c}
.shopSelect button:focus-visible,.selectionSheet button:focus-visible,.selectionSheet a:focus-visible,.selQtyInput:focus-visible{outline:2px solid #eeeef0;outline-offset:3px}
.selectionSheet{width:min(calc(100vw - 2rem),38rem);max-height:calc(100dvh - 2rem);overflow:auto}.selectionSheet .sheetInner{gap:1rem}
.selStatus{display:flex;align-items:center;gap:.6rem;font-size:.875rem;color:#b2b4bb!important}
.selNotice{padding:.75rem 1rem;border-left:2px solid #b2b4bb;background:#1c1c22;color:#eeeef0!important;font-size:.9375rem;line-height:1.6}.selNotice[hidden]{display:none}
.selEmpty{color:#c5c5ce!important;line-height:1.7}.selEmpty[hidden]{display:none}
.selLines{list-style:none;margin:0;padding:0;display:grid;gap:0}.selLines:empty{display:none}
.selLine{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name total" "qty remove";gap:.75rem 1rem;align-items:center;padding:1rem 0;border-top:1px solid #292931}
.selLineName{grid-area:name;display:grid;gap:.2rem;min-width:0}.selLineName span{font-size:1.0625rem;line-height:1.4;color:#eeeef0}.selLineName small{font-size:.875rem;color:#b6b7c1}
.selLine .selQty{grid-area:qty;justify-self:start}.selLineTotal{grid-area:total;justify-self:end;font-family:'Space Grotesk',sans-serif;font-size:1.25rem;font-variant-numeric:tabular-nums;color:#eeeef0}
.selRemove{grid-area:remove;justify-self:end;margin:0;min-height:2.75rem;padding:.5rem .9rem;border:1px solid #696a72;background:transparent;color:#eeeef0;font-size:.875rem;cursor:pointer}.selRemove:hover{background:#26262c}
.selFoot{display:grid;gap:.9rem;padding-top:1rem;border-top:1px solid #41414b}.selFoot[hidden]{display:none}
.selTotal{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:1rem;color:#c5c5ce}.selTotal strong{font-family:'Space Grotesk',sans-serif;font-size:1.75rem;font-weight:400;color:#eeeef0;font-variant-numeric:tabular-nums}
.selFoot .actions.pair{margin:0}.selFoot .actions.pair a{justify-content:center;gap:.5rem;text-align:center}.selFoot .formHint{margin:0!important}.selFoot .contactLine{margin-top:0!important}
.textBtn{margin:0;padding:0;min-height:0;border:0;background:none;color:#eeeef0;font:inherit;text-decoration:underline;text-decoration-color:#686a73;text-underline-offset:.3rem;cursor:pointer}
.selContinue{margin:0;width:100%;justify-content:center;min-height:3.25rem;border:1px solid #c6c7ce;background:transparent;color:#eeeef0;font-size:.875rem;font-weight:600;cursor:pointer}.selContinue:hover{background:#26262c}
.shopFutureColumns{grid-template-columns:1fr 1fr}.shopFutureColumns h3{font-family:'Space Grotesk',sans-serif;font-size:1.35rem;font-weight:400;letter-spacing:-.02em;margin:0 0 .6rem;color:#eeeef0}.shopFutureColumns p{margin:0;font-size:.9375rem;line-height:1.7;color:#b2b4bb}
.shopFuture .formHint{max-width:44rem}
@media(max-width:720px){.shopSelectRow{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"item item" "qty line"}.shopSelectItem{grid-area:item}.shopSelectRow .selQty{grid-area:qty}.shopSelectLine{grid-area:line}
.selLine{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name name" "qty total" "remove remove"}.selRemove{justify-self:start}.shopFutureColumns{grid-template-columns:1fr}.selQty{grid-template-columns:2.75rem 3.5rem 2.75rem}}
@media(max-width:360px){.selQty{grid-template-columns:2.5rem 3rem 2.5rem}.shopSelectLine{font-size:1.2rem;min-width:0}}
/* 200% text on a phone: the sheet heading and eyebrow wrap between words, never inside one; the head column may shrink. */
.selectionSheet h2,.selectionSheet .eyebrow{overflow-wrap:normal;hyphens:none}.selectionSheet h2{font-size:clamp(1.5rem,4.2vw,2.7rem)}.selectionSheet .sheetHead>div{min-width:0}
/* Phones: quantity and line total sit side by side while they fit and wrap onto two rows when they do not (200% text), never overlapping. */
@media(max-width:720px){.shopSelectRow,.selLine{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center}.shopSelectItem,.selLineName{flex:1 1 100%}.shopSelectRow .selQty,.selLine .selQty{flex:0 0 auto}.shopSelectLine,.selLineTotal{flex:0 0 auto;margin-left:auto;text-align:right}.selRemove{flex:1 1 100%;max-width:max-content}}
