.piece-page{max-width:1250px;margin:auto;padding:2.5rem 5vw 6rem}.piece-breadcrumb{display:flex;gap:.7rem;align-items:center;font-size:.85rem;opacity:.72;margin-bottom:2rem}.piece-breadcrumb a,.piece-back{color:inherit;text-decoration:underline;text-underline-offset:4px}.piece-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(310px,.88fr);gap:clamp(2rem,6vw,6rem);align-items:start}.piece-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.piece-photos a:first-child{grid-column:1/-1}.piece-photos img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;background:#eee9e3}.piece-copy{position:sticky;top:2rem;padding:1rem 0}.piece-copy h1{font-family:Italiana,Georgia,serif;font-size:clamp(2.6rem,4.3vw,4.6rem);line-height:1.07;font-weight:400;margin:.6rem 0 1.4rem}.piece-price{font-size:1.45rem;margin:0 0 1.2rem}.piece-stock{font-size:.95rem;color:#6b8a57}.piece-stock.unavailable{color:#a78e7b}.piece-description{line-height:1.75;white-space:pre-line;margin:1.8rem 0}.piece-specs{border-top:1px solid currentColor;border-bottom:1px solid currentColor;padding:1rem 0;margin:2rem 0}.piece-specs div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0}.piece-specs dt{opacity:.68}.piece-specs dd{margin:0;text-align:right}.piece-buy{width:100%;max-width:420px}.piece-message{min-height:1.4em}.piece-back{display:inline-block;margin-top:1.2rem}.piece-related{margin-top:5rem}.piece-related h2{font-family:Italiana,Georgia,serif;font-weight:400;font-size:2.3rem}.piece-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}.piece-related-grid a{display:flex;flex-direction:column;gap:.5rem;color:inherit;text-decoration:none}.piece-related-grid img{width:100%;aspect-ratio:1;object-fit:cover}.piece-related-grid strong{font-weight:500}.piece-related-grid span{opacity:.7}@media(max-width:760px){.piece-page{padding:1.4rem 5vw 4rem}.piece-layout{grid-template-columns:1fr;gap:1.3rem}.piece-copy{position:static}.piece-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
