@font-face{font-family:Bookman;src:url('/assets/fonts/Bookman-Demi.otf') format('opentype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Nimbus;src:url('/assets/fonts/NimbusSansNarrow-Bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
:root{--green:#10522c;--ink:#17221b;--paper:#f4f1e6;--receipt:#faf9f3;--line:#b6b8a8;--narrow:Nimbus,'Arial Narrow',Arial,sans-serif;--display:Bookman,Georgia,serif;--mono:'Courier New',Courier,ui-monospace,monospace;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:100%;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;padding:3rem 2rem 5rem}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4,p,a,span{overflow-wrap:anywhere}p{line-height:1.5}h2,h3,h4{font-family:var(--narrow);font-weight:700;line-height:1.1}a{color:var(--green);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--green);outline-offset:5px}img{display:block;max-width:100%;height:auto}section,nav,footer,article{scroll-margin-top:1.5rem}.arrow{display:inline-block;width:1em;height:1em;vertical-align:-.15em;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}.arrow.up{transform:rotate(-90deg)}.skip{position:absolute;left:1rem;top:1rem;transform:translateY(-200%);background:#fff;padding:.8rem;z-index:5}.skip:focus{transform:translateY(0)}
/* A painted sign, separate from the paper. All lettering remains live text. */
.opening{max-width:76rem;margin:0 auto 5rem}.store-sign{position:relative;padding:2.75rem 2rem 2.25rem;background:var(--green);color:var(--paper);text-align:center;border:1px solid #0c4525;box-shadow:0 4px 0 #d9dfd6,0 7px 8px #17221b08;min-width:0}.store-sign::before{content:'';position:absolute;inset:.7rem;border:1px solid #8ba48d;pointer-events:none}.store-sign::after{content:'';position:absolute;inset:.3rem;pointer-events:none;background:radial-gradient(circle at 2px 2px,#8ba48d 1px,transparent 1.5px) top left/4px 4px no-repeat,radial-gradient(circle at 2px 2px,#8ba48d 1px,transparent 1.5px) top right/4px 4px no-repeat,radial-gradient(circle at 2px 2px,#8ba48d 1px,transparent 1.5px) bottom left/4px 4px no-repeat,radial-gradient(circle at 2px 2px,#8ba48d 1px,transparent 1.5px) bottom right/4px 4px no-repeat}.store-sign h1{font-family:var(--display);font-weight:600;font-size:clamp(2.75rem,14vw,11rem);line-height:1.1;letter-spacing:-.055em}.store-sign p{display:flex;justify-content:center;align-items:baseline;gap:.3rem 1rem;flex-wrap:wrap;margin-top:1.3rem;font-family:var(--narrow);font-size:1.25rem;text-transform:uppercase}.store-sign p span+span{border-left:1px solid #8ba48d;padding-left:1rem}.utility{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem 2rem;margin-top:1.3rem;font-family:var(--narrow);font-size:1rem}.utility a{display:inline-flex;align-items:center;min-height:44px}
/* One continuous catalogue: flexible rows never depend on a set inventory size. */
main{max-width:64rem;margin:0 auto;min-width:0}.catalogue{background:var(--paper) url('/assets/paper-fibre.svg');border:1px solid #deded3;padding:2.5rem;min-width:0}.catalogue-heading{padding-bottom:1.25rem;border-bottom:2px solid var(--green)}.catalogue-heading h2{font-size:2.75rem;color:var(--green);text-transform:uppercase}.catalogue-heading p{margin-top:.6rem;font-size:1.125rem}.stock-note{padding-top:1.5rem}.stock-note p+p{margin-top:.25rem}.stock-note a{display:inline-flex;align-items:center;min-height:44px}.product-grid{display:flex;flex-wrap:wrap;column-gap:2.5rem;min-width:0}.product{flex:1 1 20rem;min-width:0;padding:2rem 0;border-bottom:1px solid var(--line)}.photo{width:100%;height:16rem;display:grid;place-items:center;margin-bottom:1.5rem;min-width:0}.photo img{width:100%;height:100%;min-height:0;object-fit:contain}.product-copy{min-width:0}.product-copy h3,.product-copy h4{font-size:2rem;line-height:1.1}.product-copy>p:not(.price):not(.sample-meta):not(.status){margin-top:.4rem}.product.featured{flex-basis:100%;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:2rem}.featured .photo{height:20rem;margin-bottom:0}.product-grid[data-count="2"]>.featured{display:block;flex-basis:20rem}.product-grid[data-count="2"]>.featured .photo{height:16rem;margin-bottom:1.5rem}.sample-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-top:.7rem;font-size:.875rem;line-height:1.4;color:var(--green)}.sample-id{font-family:var(--narrow);font-weight:700}.price{font-family:var(--narrow);font-size:3.2rem;line-height:1.12;color:var(--green);margin:.35rem 0 .55rem;font-variant-numeric:lining-nums tabular-nums}.price.unknown{font-size:1.35rem}.status{font-size:1rem;font-weight:700;line-height:1.5;color:var(--green);margin-top:.7rem}.condition{font-weight:700}.item-id{font-size:.875rem;color:#4e574e}.enquiry{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;padding:.45rem 0;font-weight:700;margin-top:.5rem}.photo-pending{display:grid;place-items:center;min-height:8rem;width:100%;height:100%;background:#ebe9de;border:1px solid var(--line);color:#4e574e;text-align:center;padding:1rem}.more-photos{margin-top:1rem;grid-column:1/-1}.more-photos summary{min-height:44px;padding:.75rem 0;cursor:pointer;overflow-wrap:anywhere}.extra-photos{display:grid;gap:1rem}.extra-photos img{width:100%;max-height:30rem;object-fit:contain}.sample-assortment[id],.stock-register,.sold-register{margin-top:2rem;padding-top:1.5rem;border-top:2px solid var(--green)}.assortment-title{font-size:1.5rem;color:var(--green);margin-bottom:.5rem}.sold .status{text-transform:uppercase;letter-spacing:.04em}
/* The receipt is contact information, never a fabricated transaction. */
.receipt{position:relative;width:100%;max-width:34rem;margin:7rem auto 0;padding:2.5rem 2.25rem;background:var(--receipt);font-family:var(--mono);font-size:1rem;line-height:1.5;box-shadow:2px 3px 6px #17221b08;min-width:0}.receipt::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:6px;background:linear-gradient(135deg,var(--receipt) 25%,transparent 25%) 0 0/12px 12px,linear-gradient(225deg,var(--receipt) 25%,transparent 25%) 0 0/12px 12px;pointer-events:none}.receipt-heading{text-align:center;padding-bottom:1.5rem}.receipt-name{font-weight:700;font-size:2rem;line-height:1.2;margin-bottom:.35rem}.receipt h2{font-family:var(--mono);font-size:1rem;text-transform:uppercase;line-height:1.5}.contact,.group-register,.receipt-end{border-top:1px dashed #667064;padding-top:1.5rem}.email{display:flex;align-items:baseline;gap:.5rem;max-width:100%;width:fit-content;font-weight:700;font-size:1.125rem;min-height:44px;padding:.6rem 0;margin:.3rem 0 .75rem;overflow-wrap:anywhere}.email>span{min-width:0;overflow-wrap:anywhere}.operator{margin:1.5rem 0}.group-register{margin-top:1.5rem}.group-register ul{list-style:none;padding:0;margin:.75rem 0 1.5rem}.group-register li+li{margin-top:.5rem}.group-register a{display:block;min-height:44px;padding:.5rem 0;text-decoration:none}.register-name{font-weight:700;text-decoration:underline;text-underline-offset:.2em}.register-number{display:inline-block;min-width:2ch;margin-right:.6rem}.register-domain{display:block;margin-top:.1rem;color:var(--ink)}.group-register a:hover .register-name{text-decoration-thickness:2px}.receipt-end{text-align:center}.thanks{font-weight:700;text-transform:uppercase;margin-bottom:.75rem}.receipt-end a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;margin-top:.75rem}
@media(max-width:48rem){body{padding:1.5rem 1rem 3rem}.opening{margin-bottom:3rem}.store-sign{padding:2rem 1.5rem 1.5rem}.store-sign p{font-size:1rem}.catalogue{padding:1.5rem}.catalogue-heading h2{font-size:2.25rem}.product-grid{display:block}.product.featured{display:block}.featured .photo{height:17rem;margin-bottom:1.5rem}.product-copy h3,.product-copy h4{font-size:1.75rem}.price{font-size:2.75rem}.price.unknown{font-size:1.35rem}.receipt{margin-top:4rem;padding:2rem 1.5rem}.product-grid[data-count="2"]>.featured .photo{height:17rem}}
@media(max-width:30rem){body{padding:1rem .5rem 2.5rem}.opening{margin-bottom:2.5rem}.store-sign{padding:1.5rem 1rem 1.2rem}.store-sign::before{inset:.5rem}.store-sign p{margin-top:.8rem;font-size:1rem;gap:.15rem .5rem}.store-sign p span+span{border-left:0;padding-left:0}.utility{column-gap:1.25rem;font-size:1rem}.catalogue{padding:1rem}.catalogue-heading h2{font-size:2rem}.catalogue-heading p{font-size:1rem}.product{padding:1.5rem 0}.photo,.featured .photo,.product-grid[data-count="2"]>.featured .photo{height:15rem}.receipt{padding:2rem 1rem;margin-top:3rem}.email{font-size:1rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(forced-colors:active){.store-sign,.catalogue,.receipt{background:Canvas;color:CanvasText;border:1px solid CanvasText;box-shadow:none}.store-sign::before,.store-sign::after,.receipt::after{display:none}.sample-meta,.status,.register-domain{color:CanvasText}a{color:LinkText}.photo-pending{border-color:CanvasText}}
@media print{body{padding:0}.utility,.skip{display:none}.opening{margin-bottom:2rem}.store-sign,.catalogue,.receipt{box-shadow:none;print-color-adjust:exact}.receipt{margin-top:2rem}.product,.contact,.group-register li{break-inside:avoid}a{color:inherit}}
