/* Object-led catalog: generous product stages, geometric title, quiet filter rail. */
:root{--paper:#eeeae3;--surface:#fcfbf8;--ink:#24231f;--muted:#625e56;--rule:#c8c1b5;--cobalt:#292923;--soft:#e4ded2;font-family:'Century Gothic',Futura,Arial,sans-serif;background:var(--paper)}
.app-shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{background:#e4ded2;border-right:1px solid #b9b0a2;padding:24px 14px}.brand{font-size:34px;letter-spacing:-2px}.sidebar nav a{border-radius:0}.sidebar nav a[aria-current=page]{background:#292923;color:#fcfbf8}.topbar{background:#fcfbf8;border-bottom:1px solid #c8c1b5}.topbar form{max-width:520px}.edition-label{font-size:11px}.save-bar,.example-banner{font-size:12px;padding-block:7px;background:#e4ded2;color:#464238}.page-heading{border:0;margin:0;padding-bottom:20px;gap:16px}h1{font-size:clamp(36px,4vw,60px);font-weight:500;letter-spacing:-.055em;line-height:1}.page-heading p{max-width:55ch;font-size:14px}.page-heading .actions{align-self:flex-end}.button,button{border-radius:0}.button.cobalt{background:#292923;color:#fcfbf8;border-color:#292923}.catalog-flow{border-top:2px solid #292923;border-bottom:1px solid #c8c1b5;margin:0;padding:8px 0}.catalog-flow a{font-size:12px;min-height:44px;align-content:center}.filter-bar{border:0;background:#e4ded2;padding:14px;gap:14px}.catalog-desk-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;margin:20px 0}.catalog-desk-card{border:0;background:transparent}.catalog-desk-card .product-stage{aspect-ratio:1/1.05;background:#e6e1d9;border:0;padding:18px}.catalog-card-copy{padding:18px 0;border-bottom:1px solid #a69c8d}.catalog-card-copy h2{font-size:26px;font-weight:500;letter-spacing:-1px;line-height:1.15}.catalog-price{font-size:22px}.catalog-variants{font-size:13px}.catalog-card-copy .actions{gap:8px}.panel,.record-card,.table-wrap{border-radius:0;box-shadow:none}.entry-mode-banner{background:#fcfbf8;color:#464238;border:0;border-left:3px solid #8a7e68;border-radius:0;padding:9px 14px;margin-bottom:16px;gap:4px 16px;font-size:12px;line-height:1.4}.entry-mode-banner strong,.entry-mode-banner span{flex-basis:auto}.entry-mode-banner a{color:#292923}
@media(min-width:1200px){#screen:has(.catalog-desk-grid){display:grid;grid-template-columns:190px minmax(0,1fr);gap:0 26px;align-items:start}#screen:has(.catalog-desk-grid)>.page-heading,#screen:has(.catalog-desk-grid)>.catalog-flow{grid-column:1/-1}#screen:has(.catalog-desk-grid)>.filter-bar{grid-column:1;grid-row:3/6;display:flex;flex-direction:column;align-items:stretch;margin:18px 0}#screen:has(.catalog-desk-grid)>.filter-bar .field{min-width:0;width:100%}#screen:has(.catalog-desk-grid)>.result-count,#screen:has(.catalog-desk-grid)>.catalog-desk-grid{grid-column:2}.catalog-desk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.app-shell{display:block}.topbar{padding:10px 16px}.topbar form{display:none}.save-bar{padding:7px 16px;font-size:12px}.example-banner{padding:7px 16px}.entry-mode-banner{font-size:12px;line-height:1.4;padding:10px;margin-bottom:12px}.entry-mode-banner strong,.entry-mode-banner span{flex-basis:100%}main{padding:16px}.page-heading{gap:12px;padding-bottom:14px}.page-heading h1{font-size:38px}.page-heading .actions{gap:6px;align-self:stretch}.page-heading .button{font-size:12px;padding:8px;min-height:44px}.catalog-flow{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.catalog-flow a{font-size:12px}.filter-bar{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;margin-bottom:12px}.filter-bar .field:first-child{grid-column:1/-1}.filter-bar .field{min-width:0}.filter-bar label{font-size:12px}.filter-bar input,.filter-bar select{font-size:14px;padding:8px}.catalog-desk-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.catalog-desk-card .product-stage{aspect-ratio:1/1.15;padding:6px}.catalog-card-copy h2{font-size:21px}.catalog-card-copy{padding:12px 0}.catalog-card-copy .actions{flex-direction:column;align-items:stretch}.catalog-card-copy .button{font-size:12px;padding:8px}.catalog-price{font-size:20px}.catalog-card-copy .muted{font-size:12px}.eyebrow,.result-count{font-size:11px}}
@media(max-width:350px){.catalog-desk-grid{grid-template-columns:1fr}.catalog-desk-card .product-stage{aspect-ratio:1.4}}

.catalog-filter-disclosure{margin:14px 0;border-bottom:1px solid #c8c1b5}.catalog-filter-disclosure summary{font-size:13px;font-weight:600;min-height:44px;padding:12px 0;cursor:pointer}.catalog-filter-disclosure .filter-bar{margin:0 0 14px}
@media(min-width:1200px){#screen:has(.catalog-desk-grid)>.catalog-filter-disclosure{grid-column:1;grid-row:3/6;margin:18px 0}.catalog-filter-disclosure .filter-bar{display:flex;flex-direction:column;align-items:stretch}.catalog-filter-disclosure .field{width:100%;min-width:0}#screen:has(.catalog-desk-grid)>.result-count{margin-top:18px}}
@media(max-width:760px){.catalog-filter-disclosure{margin:8px 0}.catalog-desk-grid{margin-top:12px}.catalog-filter-disclosure .filter-bar{display:grid;grid-template-columns:1fr 1fr}}

.image-placeholder{color:#4f565b}.image-placeholder>span{color:#4f565b}

/* Contextual object notes: the catalog underneath is left intact. */
body.quickview-open { overflow: hidden; }
.product-quickview { box-sizing:border-box; width:min(960px,calc(100% - 48px)); max-width:none; max-height:calc(100dvh - 48px); margin:auto; padding:28px; border:1px solid var(--rule); border-radius:0; background:var(--surface); color:var(--ink); overflow:auto; overscroll-behavior:contain; }
.product-quickview::backdrop { background:rgb(36 35 31 / 65%); }
.quickview-header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:start; border-bottom:1px solid var(--rule); padding-bottom:20px; }
.quickview-header .eyebrow { margin:0; }
.quickview-header h2 { grid-column:1 / -1; margin:0; font-size:clamp(2rem,5vw,4rem); line-height:1.05; letter-spacing:-.04em; overflow-wrap:anywhere; }
.quickview-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:28px; padding-top:24px; }
.quickview-layout > *, .quickview-copy > * { min-width:0; max-width:100%; }
.quickview-art .product-stage { aspect-ratio:1; height:auto; margin:0; }
.quickview-art .product-stage img { width:100%; height:100%; object-fit:contain; }
.quickview-copy { display:flex; flex-direction:column; align-items:stretch; gap:12px; }
.quickview-copy p { margin:0; overflow-wrap:anywhere; }
.quickview-copy label { font-weight:700; }
.quickview-copy select { width:100%; min-height:44px; }
.quickview-stock { display:grid; gap:8px; padding:16px 0; border-block:1px solid var(--rule); }
.quickview-price { font-size:1.8rem; font-weight:700; letter-spacing:-.04em; }
.quickview-message { min-height:1.5em; }
.shortlist-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.shortlist-card { min-width:0; padding:20px; border:1px solid var(--rule); background:var(--surface); display:flex; flex-direction:column; gap:12px; }
.shortlist-card .product-stage { aspect-ratio:1; height:auto; margin:0; }
.shortlist-card .product-stage img { width:100%; height:100%; object-fit:contain; }
.shortlist-card h2,.shortlist-card p { margin:0; overflow-wrap:anywhere; }
@media(max-width:760px) {
 .product-quickview { width:100%; height:100dvh; max-height:100dvh; margin:0; padding:20px; border:0; }
 .quickview-header { grid-template-columns:1fr; }
 .quickview-header .button { justify-self:end; grid-row:1; }
 .quickview-header h2 { font-size:2.3rem; }
 .quickview-layout { grid-template-columns:1fr; gap:20px; }
 .quickview-art { max-width:360px; width:100%; margin-inline:auto; }
 .shortlist-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:480px) { .shortlist-grid { grid-template-columns:1fr; } }

/* Catalog typography: expressive object names, quiet retail controls. */
:root { --forma-body:'DM Sans Local','DM Sans Fallback',Arial,sans-serif; --forma-heading:'Manrope Local','Manrope Fallback',Arial,sans-serif; font-family:var(--forma-body); }
body,input,select,textarea,button,.button,summary,.entry-mode-banner { font-family:var(--forma-body); }
h1,h2,h3,.brand,.store-wordmark,.catalog-price,.product-price,.quickview-price { font-family:var(--forma-heading); }
h1 { font-size:clamp(2.4rem,4vw,4rem); font-weight:600; letter-spacing:-.045em; line-height:1.08; }
h2,h3 { letter-spacing:-.025em; }
.brand { font-weight:800; letter-spacing:-.06em; }
.catalog-card-copy h2 { font-weight:600; letter-spacing:-.035em; }
.catalog-price,.product-price,.quickview-price { font-variant-numeric:tabular-nums; font-weight:600; letter-spacing:-.035em; }
.topbar input,.topbar form button,.sidebar-bottom .button,.button { font-family:var(--forma-body); }
.page-heading { gap:14px; padding-bottom:16px; }
.page-heading p { font-size:.95rem; line-height:1.55; }
.page-heading .eyebrow { font-size:.75rem; font-weight:700; letter-spacing:.08em; margin-bottom:10px; }
.save-bar { display:flex; flex-wrap:wrap; gap:6px 12px; align-items:center; padding-block:4px; font-size:.8rem; }
#storage-message { flex:1 1 18em; min-width:0; }
.save-bar a { display:flex; align-items:center; min-height:44px; }
.topbar form button { flex-shrink:0; white-space:nowrap; }
.example-banner { padding-block:4px; font-size:.8rem; }
.entry-mode-banner { padding-block:6px; margin-bottom:12px; }
.catalog-flow { padding-block:4px; }
.catalog-flow a { font-size:.8rem; }
.catalog-filter-disclosure { margin-block:10px; }
.catalog-filter-disclosure summary { font-size:.85rem; }
.result-count { font-size:.8rem; line-height:1.5; }
.quickview-header h2 { font-weight:600; }
.quickview-copy .prose { font-size:1rem; line-height:1.55; }
.button,button { overflow-wrap:anywhere; }
@media(max-width:760px) {
 .topbar { min-height:60px; padding-block:8px; }
 .save-bar { padding-block:3px; gap:10px; }
 .save-bar a { max-width:100%; }
 .example-banner { padding-block:4px; }
 main { padding-top:12px; }
 .entry-mode-banner { padding:7px 10px; margin-bottom:10px; }
 .page-heading { padding-bottom:12px; }
 .page-heading h1 { font-size:2.5rem; }
 .page-heading .actions .button { font-size:.8rem; }
 .catalog-card-copy h2 { font-size:1.4rem; }
 .filter-bar input,.filter-bar select { font-size:.95rem; }
 .catalog-flow a { font-size:.8rem; }
 .catalog-filter-disclosure { margin-block:6px; }
 .quickview-header h2 { font-size:2.3rem; }
}
@media print { .save-bar,.example-banner { display:none!important; } }

.purchase-line{min-width:0;margin-block:16px}.purchase-line legend{font-weight:600}.purchase-lines{min-width:0}.purchase-line select{max-width:100%}
