:root {
  color-scheme: light;
  --paper: #fcf7ee;
  --white: #fffefa;
  --ink: #282b4e;
  --muted: #514b63;
  --plum: #604063;
  --accent: #96461e;
  --line: #d8cfc2;
  --wash: #f1e8dc;
  --lilac: #f0eaf4;
  --radius: 10px;
  --system: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*, *::before, *::after {box-sizing:border-box}
[hidden] {display:none!important}
body {margin:0;background:var(--paper);color:var(--ink);font:1rem/1.5 var(--system)}
a {color:var(--plum);text-underline-offset:.18em}
button,input,select {font:inherit;color:inherit;min-width:0}
button,summary {cursor:pointer}
button {border:1px solid var(--line);border-radius:6px;background:var(--white);padding:.5rem .75rem}
button:hover {border-color:var(--plum)}
:where(a,button,input,select,summary):focus-visible {outline:3px solid var(--accent);outline-offset:3px}
:where(h1,h2,h3,h4,p,dd,dt,small,summary) {overflow-wrap:anywhere}
:where(h1,h2,h3,h4,p,figure,dl,dd) {margin:0}
:where(ul,ol) {padding-left:1.35rem}
h1 {font-size:clamp(1.8rem,4vw,3.35rem);line-height:1.07;letter-spacing:-.055em}
h2 {font-size:clamp(1.25rem,2.25vw,1.75rem);line-height:1.2;letter-spacing:-.027em}
h3 {font-size:1rem;line-height:1.3}
img {display:block;max-width:100%;height:auto}
.frame {width:min(100% - 36px,1400px);margin-inline:auto}
.skip {position:absolute;top:8px;left:8px;z-index:8;background:white;color:var(--ink);padding:.65rem;transform:translateY(-200%)}
.skip:focus {transform:none}
.visually-hidden {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.masthead {background:var(--ink);color:white}
.masthead a,.masthead summary {color:inherit}
.masthead-main {display:grid;grid-template-columns:max-content minmax(190px,1fr) max-content;align-items:center;gap:1.15rem;min-height:76px}
.wordmark {display:flex;gap:.6rem;align-items:center;text-decoration:none;font-size:1.15rem;line-height:1.12;font-weight:650;white-space:nowrap}
.wordmark strong {font-weight:850}
.wordmark img {flex:none;width:36px}
.utility,.nav-inner {display:flex;align-items:center;gap:.95rem;flex-wrap:wrap}
.utility a,.nav-inner a,.nav-inner summary {font-size:.86rem;font-weight:690;text-decoration:none}
.utility a:hover,.nav-inner a:hover {text-decoration:underline}
.utility span {font-variant-numeric:tabular-nums;padding:0 .23rem;border-radius:4px;background:#484366}
.site-search {display:flex;align-items:stretch;min-width:0}
.site-search input {border:1px solid #9c8b9f;background:var(--white);color:var(--ink);border-radius:6px 0 0 6px;flex:1;padding:.56rem .65rem;width:0}
.site-search button {border:1px solid var(--accent);background:var(--accent);color:white;font-weight:760;border-radius:0 6px 6px 0;white-space:nowrap}
.site-search button:hover {background:#783516}
.navigation {border-top:1px solid #50466b;background:#343452}
.nav-inner {min-height:41px}
.department-menu {position:relative}
.department-menu>div {position:absolute;z-index:4;top:calc(100% + .4rem);left:0;width:min(86vw,305px);padding:.5rem;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 30px #27223828}
.department-menu>div a {display:block;padding:.4rem .5rem}
.department-menu>div a:hover {background:var(--lilac)}
.compare-tray {display:flex;flex-wrap:wrap;gap:.6rem;padding:.35rem 0;font-size:.87rem}
.preview-banner {margin:0;text-align:center;font-size:.78rem;color:#583414;background:#f3dfbd;padding:.22rem .8rem}
#main {min-height:55vh;padding:1.5rem 0 3.4rem}
.eyebrow {font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.worktable {display:grid;grid-template-columns:minmax(242px,.75fr) minmax(0,2fr);gap:1.25rem;align-items:stretch}
.worktable-intro {border:1px solid var(--line);background:var(--lilac);padding:clamp(.85rem,2.3vw,2.15rem);border-radius:var(--radius);display:flex;flex-direction:column;justify-content:center;gap:.85rem}
.worktable-intro h1 {max-width:15ch}
.worktable-intro>p:not(.eyebrow) {color:var(--muted);max-width:33ch}
.worktable-intro .site-search {width:100%;max-width:25rem}
.worktable-paths {display:grid;gap:.45rem}
.worktable-paths a {display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:6px;padding:.47rem .62rem;text-decoration:none}
.worktable-paths a:hover,.shape-grid a:hover,.department-grid a:hover,.guide-card:hover {border-color:var(--plum);background:#f9f4fc}
.worktable-paths a span {font-size:.84rem}
.text-link {font-weight:750;font-size:.91rem;align-self:flex-start}
.table-shelf {background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem}
.section-heading {display:flex;align-items:baseline;justify-content:space-between;gap:.65rem;margin-bottom:.75rem}
.section-heading a {font-size:.86rem;font-weight:740}
.section-block {margin-top:1.8rem}
.shape-grid,.department-grid,.guide-grid,.example-grid {display:grid;gap:.75rem}
.shape-grid {grid-template-columns:repeat(4,minmax(0,1fr))}
.shape-grid a {display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;min-height:65px;border:1px solid var(--line);border-radius:var(--radius);padding:.56rem .7rem;background:var(--white);text-decoration:none;font-weight:750}
.shape-grid svg {width:40px;color:var(--accent)}
.department-grid {grid-template-columns:repeat(4,minmax(0,1fr))}
.department-grid a,.guide-card,.example-grid article {display:block;border:1px solid var(--line);border-radius:var(--radius);padding:.68rem;background:var(--white)}
.department-grid a {font-weight:680;text-decoration:none}
.guide-grid,.example-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
.guide-card {padding:1rem;text-decoration:none}
.guide-card p,.example-grid p {color:var(--muted);font-size:.88rem;margin-top:.35rem}
.guide-card span {display:block;margin-top:.55rem;font-size:.85rem;font-weight:750}
.product-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.76rem}
.table-shelf .product-grid {gap:.55rem}
.supply-card {min-width:0;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
.supply-photo {position:relative;background:white;border-radius:var(--radius) var(--radius) 0 0;border-bottom:1px solid var(--line);padding:.35rem}
.supply-photo img {width:100%;aspect-ratio:1;object-fit:contain}
.supply-photo .favorite {position:absolute;top:.45rem;right:.45rem}
.favorite {display:inline-grid;place-items:center;width:36px;height:36px;padding:0;line-height:1;font-size:1.3rem;color:var(--plum);border-radius:50%;background:white}
.favorite[aria-pressed=true],.compare-choice[aria-pressed=true] {background:var(--lilac);border-color:var(--plum)}
.supply-copy {padding:.58rem .65rem;flex:1;min-width:0}
.supply-copy h3 {font-size:.95rem}
.supply-copy h3 a {color:var(--ink);text-decoration:none}
.supply-copy h3 a:hover {text-decoration:underline}
.product-brand {font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--plum);font-weight:800;margin-bottom:.16rem}
.pack-line {font-size:.79rem;color:var(--muted);margin:.32rem 0}
.supply-summary {display:none}
.compare-choice {border:1px solid #b8a7bc;border-radius:5px;font-weight:710;color:var(--plum);font-size:.79rem;padding:.32rem .52rem;margin-top:.1rem;min-height:32px}
.card-buy {display:grid;gap:.46rem;padding:.48rem .65rem .63rem}
.add-cart {display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.43rem .65rem;min-height:40px;border-radius:6px;background:var(--plum);color:white;font-weight:800;font-size:.91rem;text-decoration:none;text-align:center}
.add-cart:hover {background:#4b304d}
.merchant-note {color:var(--muted);font-size:.76rem;line-height:1.34}
.product-price {font-variant-numeric:tabular-nums;min-width:0}
.price-amount {display:block;font-size:1.23rem;letter-spacing:-.035em;line-height:1.2}
.price-observed {display:block;color:var(--muted);font-size:.71rem;line-height:1.3;margin-top:.12rem}
.price-info {margin-top:.13rem;font-size:.74rem;color:var(--muted)}
.price-info summary {width:max-content;max-width:100%;font-weight:740;color:var(--plum);min-height:23px;line-height:23px}
.price-info[open] p {background:var(--lilac);border-radius:5px;padding:.4rem;margin-top:.18rem}
.breadcrumb {display:flex;flex-wrap:wrap;gap:.25rem .55rem;font-size:.85rem;color:var(--muted);margin-bottom:.7rem}
.page-heading {max-width:880px;margin-bottom:1rem}
.page-heading h1,.product-title h1 {margin:.16rem 0 .42rem}
.page-heading>p:last-of-type,.product-title>p:last-of-type {color:var(--muted)}
.category-jumps,.product-section-nav {display:flex;flex-wrap:wrap;gap:.4rem .7rem}
.category-jumps {margin-top:.65rem}
.category-jumps a,.product-section-nav a {padding:.34rem .58rem;border:1px solid var(--line);border-radius:5px;text-decoration:none;background:var(--white);font-size:.86rem;font-weight:700}
.catalogue-layout {display:grid;grid-template-columns:198px minmax(0,1fr);gap:1rem;align-items:start}
.filter-toolbar {min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--wash);padding:.7rem .75rem}
.filter-toolbar summary {font-weight:780}
.filter-toolbar form {display:grid;gap:.55rem;margin-top:.65rem}
.filter-toolbar label {display:grid;gap:.2rem;font-size:.84rem;font-weight:650}
.filter-toolbar input,.filter-toolbar select,.results-toolbar select,.quantity-label input {width:100%;border:1px solid #a99dad;border-radius:5px;background:var(--white);padding:.4rem .45rem}
.reset-filters {font-size:.83rem;font-weight:700}
.catalogue-results {min-width:0}
.results-toolbar {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:.65rem;font-size:.87rem}
.results-toolbar label {display:flex;align-items:center;gap:.32rem}
.results-toolbar select {width:auto;max-width:100%}
.empty-state {padding:1rem;border:1px dashed var(--line);border-radius:var(--radius);margin-top:.5rem}
.product-title {padding:.5rem 0 .95rem}
.product-title h1 {font-size:clamp(1.65rem,3.4vw,2.75rem)}
.detail-layout {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr);gap:1rem;align-items:start}
.detail-visual,.purchase-panel {background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
.detail-visual {padding:.5rem}
.detail-visual img {width:100%;max-height:520px;object-fit:contain}
.purchase-panel {display:grid;gap:.58rem;padding:1rem}
.purchase-panel>.add-cart {justify-self:start;min-width:155px}
.detail-price .price-amount {font-size:1.85rem}
.detail-price .price-observed {font-size:.84rem}
.selection-actions {display:flex;align-items:center;gap:.55rem}
.purchase-facts {padding:.7rem .8rem;background:var(--lilac);border-radius:7px}
.purchase-facts h2 {font-size:1rem}
.purchase-facts ul {margin:.35rem 0}
.purchase-facts li,.purchase-facts a {font-size:.87rem}
.detail-reading {margin-top:1.1rem}
.product-section-nav {background:var(--wash);border:1px solid var(--line);border-radius:var(--radius);padding:.5rem .6rem;margin-bottom:.55rem}
.detail-sections,.category-reading {max-width:980px}
.knowledge-section,.reading-page {border:1px solid var(--line);background:var(--white);border-radius:var(--radius);padding:clamp(.75rem,2vw,1.25rem);margin-top:.65rem}
.knowledge-section p,.reading-page p {margin-top:.45rem}
.knowledge-section>section,.reading-page section {margin-top:.8rem}
.knowledge-section h3,.knowledge-section h4 {margin-bottom:.18rem}
.knowledge-section p,.reading-page p {font:1.05rem/1.65 Georgia,serif}
.knowledge-section .example-grid p,.guide-links p,.editorial-faq p {font-size:.96rem}
.knowledge-section .example-grid {margin:.55rem 0 .9rem}
.editorial-faq details {border-top:1px solid var(--line);padding:.55rem 0}
.editorial-faq details:first-child {margin-top:.48rem}
.editorial-faq summary {font-weight:710}
.guide-links {margin:.5rem 0}
.guide-links li+li {margin-top:.48rem}
.spec-list {display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.5rem}
.spec-list>div {background:var(--lilac);padding:.55rem .65rem;border-radius:6px}
.spec-list dt {font-weight:790}
.spec-list ul {margin:.15rem 0}
.reading-page {max-width:900px}
.reading-page h1 {margin-top:.3rem}
.cart-layout {display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:1rem;align-items:start}
.cart-role>h2 {margin:.4rem 0}
.cart-item,.cart-summary,.comparison-item {padding:.75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);min-width:0}
.cart-item {display:grid;grid-template-columns:minmax(74px,128px) minmax(0,1fr) auto;gap:.7rem;align-items:start;margin-bottom:.6rem}
.cart-item h2,.comparison-item h2 {font-size:1.05rem;margin:.15rem 0 .4rem}
.cart-purchase {display:grid;gap:.3rem}
.cart-purchase small {font-size:.75rem}
.cart-summary p {margin:.4rem 0}
.quantity-label {display:block;font-size:.82rem;margin:.35rem 0}
.quantity-label input {display:block;width:5rem}
.remove-choice {font-size:.78rem;font-weight:660}
.comparison-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}
.comparison-item .add-cart {margin:.5rem 0}
.comparison-item h3 {margin:.56rem 0 .24rem}
.comparison-item p,.comparison-item li {font-size:.9rem}
.comparison-item .research-note {font-size:.76rem;color:var(--muted)}
footer {background:#343452;color:white;padding:1.35rem 0}
footer a {color:white}
.footer-grid {display:grid;grid-template-columns:1.3fr 1fr;gap:.6rem}
.footer-grid nav {display:flex;gap:.55rem 1rem;flex-wrap:wrap;align-content:start}
.footer-grid p {font-size:.84rem;margin:.35rem 0}
.footer-brand {font-weight:800}
.footer-grid small {grid-column:1/-1}

@media(max-width:1140px){
  .product-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
  .table-shelf .product-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .table-shelf .supply-photo img {max-height:160px}
  .worktable {grid-template-columns:minmax(0,.75fr) minmax(0,1.5fr)}
  .masthead-main {gap:.65rem}
}
@media(max-width:850px){
  .masthead-main {grid-template-columns:1fr auto;min-height:auto;padding:.65rem 0;gap:.5rem}
  .masthead-main>.site-search {grid-column:1/-1;grid-row:2}
  .product-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .shape-grid,.department-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .comparison-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .frame {width:calc(100% - 24px)}
  #main {padding:.8rem 0 2rem}
  .catalogue-layout,.worktable,.detail-layout,.cart-layout {grid-template-columns:minmax(0,1fr);gap:.7rem}
  .filter-toolbar form {grid-template-columns:repeat(2,minmax(0,1fr))}
  .worktable-intro {gap:.58rem;padding:.76rem}
  .worktable-intro h1 {max-width:20ch}
  .worktable-paths {grid-template-columns:repeat(2,minmax(0,1fr))}
  .worktable-paths a {padding:.35rem .4rem;font-size:.84rem}
  .worktable-paths a span {font-size:.72rem}
  .table-shelf {padding:.6rem}
  .table-shelf .supply-photo img {max-height:165px}
  .guide-grid,.example-grid {grid-template-columns:1fr}
  .nav-inner {gap:.3rem .65rem;padding:.38rem 0}
  .nav-inner a,.nav-inner summary {font-size:.77rem}
  .department-menu>div {position:static;width:min(87vw,295px);margin-top:.3rem}
  .purchase-panel {grid-row:1;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.36rem .55rem;padding:.62rem .7rem}
  .purchase-panel>.eyebrow,.purchase-panel>.merchant-note,.purchase-panel>.selection-actions {grid-column:1/-1}
  .purchase-panel>.add-cart {justify-self:end;min-width:0}
  .purchase-panel .purchase-facts {display:none}
  .detail-price .price-amount {font-size:1.45rem}
  .detail-visual img {max-height:380px}
  .cart-item {grid-template-columns:68px minmax(0,1fr)}
  .cart-purchase {grid-column:2;justify-self:start}
  .footer-grid {grid-template-columns:minmax(0,1fr)}
}
@media(max-width:525px){
  .masthead-main {grid-template-columns:1fr}
  .masthead-main>.site-search {grid-column:auto;grid-row:auto}
  body[data-page=home] .masthead-main>.site-search {display:none}
  .utility {gap:.62rem;justify-content:flex-start}
  .utility a {font-size:.79rem}
  .wordmark {font-size:1.06rem}
  .wordmark img {width:31px;height:31px}
  .worktable-intro>.site-search {max-width:none}
  .table-shelf .supply-photo img {max-height:135px}
  .supply-copy,.card-buy {padding:.43rem}
  .supply-copy h3 {font-size:.86rem}
  .pack-line {font-size:.72rem}
  .add-cart {font-size:.8rem;padding:.36rem;min-height:38px}
  .shape-grid a {grid-template-columns:26px 1fr auto;font-size:.84rem;min-height:48px;padding:.35rem;gap:.25rem}
  .shape-grid svg {width:26px}
  .spec-list {grid-template-columns:1fr}
}
@media(max-width:345px){
  .frame {width:calc(100% - 16px)}
  .product-grid,.table-shelf .product-grid {gap:.42rem}
  .table-shelf {padding:.45rem}
  .supply-copy h3 {font-size:.8rem}
  .comparison-grid {grid-template-columns:1fr}
}
