@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  --serif:'Fraunces', Georgia, 'Iowan Old Style', 'Times New Roman', serif;
  --sans:'Inter', ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --mono:'JetBrains Mono', ui-monospace, "Cascadia Code", "SFMono-Regular", Menlo, Consolas, monospace;
  --paper:#f6f5f1; --surface:#ffffff; --surface-2:#eeece5; --raise:#faf9f6;
  --ink:#1c1a15; --ink-2:#5b574d; --ink-3:#928d80; --line:#e6e3da; --line-2:#d6ccbc;
  --accent:#b0431e; --accent-2:#c9552c; --accent-weak:rgba(176,67,30,.07);
  --good:#2f7350; --good-bg:rgba(47,115,80,.10); --info:#2a628f; --info-bg:rgba(42,98,143,.09);
  --steel:#8a8578; --shadow:0 1px 2px rgba(40,34,20,.04), 0 8px 30px rgba(40,34,20,.06); --r:14px;
}
@media (prefers-color-scheme:dark){:root{
  --paper:#16150f; --surface:#1e1c15; --surface-2:#26241b; --raise:#211f17;
  --ink:#f0ede3; --ink-2:#b0aa9a; --ink-3:#7d786a; --line:#302d22; --line-2:#3d3a2c;
  --accent:#e8794a; --accent-2:#f08c60; --accent-weak:rgba(232,121,74,.12);
  --good:#5cb98a; --good-bg:rgba(92,185,138,.13); --info:#6aa6d8; --info-bg:rgba(106,166,216,.13);
  --steel:#7d786a; --shadow:0 1px 2px rgba(0,0,0,.3), 0 10px 34px rgba(0,0,0,.4);
}}
:root[data-theme="light"]{--paper:#f6f5f1;--surface:#fff;--surface-2:#eeece5;--raise:#faf9f6;--ink:#1c1a15;--ink-2:#5b574d;--ink-3:#928d80;--line:#e6e3da;--line-2:#d6ccbc;--accent:#b0431e;--accent-2:#c9552c;--accent-weak:rgba(176,67,30,.07);--good:#2f7350;--good-bg:rgba(47,115,80,.10);--info:#2a628f;--info-bg:rgba(42,98,143,.09)}
:root[data-theme="dark"]{--paper:#16150f;--surface:#1e1c15;--surface-2:#26241b;--raise:#211f17;--ink:#f0ede3;--ink-2:#b0aa9a;--ink-3:#7d786a;--line:#302d22;--line-2:#3d3a2c;--accent:#e8794a;--accent-2:#f08c60;--accent-weak:rgba(232,121,74,.12);--good:#5cb98a;--good-bg:rgba(92,185,138,.13);--info:#6aa6d8;--info-bg:rgba(106,166,216,.13)}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;letter-spacing:0}
.wrap{max-width:1280px;margin:0 auto;padding:clamp(22px,4vw,56px) clamp(18px,4vw,40px) 96px}
a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline;text-underline-offset:2px}

/* sitewide masthead */
.mast{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.mast-in{max-width:1280px;margin:0 auto;padding:11px clamp(18px,4vw,40px);display:flex;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:10px;color:inherit}
.brand:hover{text-decoration:none}
.bmark{font-family:var(--serif);font-weight:700;font-size:15px;letter-spacing:.02em;background:var(--ink);color:var(--paper);border-radius:8px;padding:5px 8px;line-height:1}
.bmark span{color:var(--accent)}
.bname{font-family:var(--serif);font-weight:600;font-size:17px;letter-spacing:-.01em;white-space:nowrap}
.mnav{display:flex;align-items:center;gap:5px;margin-left:auto;flex-wrap:wrap}
.mnav a{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink-2);padding:7px 11px;border-radius:8px}
.mnav a:hover{background:var(--surface-2);color:var(--ink);text-decoration:none}
.mnav .soon{font-size:11px;font-weight:700;color:var(--ink-3);background:var(--surface-2);border-radius:999px;padding:4px 10px;letter-spacing:.01em}
.mnav a.msearch{color:var(--accent)} .mnav a.msearch::before{content:"\1F50D ";font-size:12px}
@media (max-width:640px){.bname{display:none} .mnav{gap:2px} .mnav a{padding:6px 8px;font-size:13px} .mnav .soon{display:none}}

/* headings — serif, editorial */
h1{font-family:var(--serif);font-weight:650;font-size:clamp(34px,5.2vw,56px);line-height:1.04;letter-spacing:-.02em;margin:14px 0 12px;text-wrap:balance;color:var(--ink)}
h2{font-family:var(--serif);font-weight:600;font-size:clamp(21px,2.6vw,27px);line-height:1.15;letter-spacing:-.015em;margin:0 0 18px;color:var(--ink)}
h3{font-family:var(--sans);font-weight:700;font-size:16px;margin:0 0 8px;letter-spacing:-.01em}
h4{font-family:var(--sans);font-weight:700;font-size:12.5px;letter-spacing:.02em;color:var(--ink-2);margin:0 0 14px;text-transform:none}
.kicker{font-family:var(--sans);font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.sub{font-family:var(--serif);font-weight:400;font-size:clamp(16.5px,2vw,20px);line-height:1.5;color:var(--ink-2);max-width:64ch}
.head{border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:34px}
.crumbs{font-size:13px;color:var(--ink-3);margin-bottom:20px;letter-spacing:0}
.crumbs a{color:var(--ink-3)} .crumbs span{color:var(--ink-2)}
.sample-flag{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:12.5px;color:var(--info);background:var(--info-bg);border-radius:8px;padding:7px 12px}
.block{margin-bottom:38px}
.layout{display:grid;grid-template-columns:1fr 316px;gap:38px;align-items:start}
@media (max-width:820px){.layout{grid-template-columns:1fr;gap:24px}}

/* hero KPIs — airy, serif numbers */
.hero{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:26px 0 34px}
@media (max-width:640px){.hero{grid-template-columns:repeat(2,1fr)}}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px 18px 16px;box-shadow:var(--shadow)}
.kpi .l{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.kpi .n{font-family:var(--serif);font-weight:600;font-size:27px;letter-spacing:-.02em;margin-top:7px;line-height:1.05}
.kpi .n small{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--ink-2);letter-spacing:0}
.kpi.hl .n{color:var(--accent)} .kpi.good .n{color:var(--good)}
.kpi .s{font-size:12.5px;color:var(--ink-3);margin-top:6px}

/* cards / panels */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow)}
.panel h3{font-size:17px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:9px}
.panel p{margin:0;color:var(--ink-2);font-size:15.5px} .panel p+p{margin-top:10px}
.panel h3 .v{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.03em;padding:3px 9px;border-radius:999px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow)}
.side{display:flex;flex-direction:column;gap:18px;position:sticky;top:22px}
.card .hint{font-size:13.5px;color:var(--ink-3);margin:0 0 14px}

/* section-guide (Which size is right / capacity) */
.guide{background:linear-gradient(0deg,var(--accent-weak),var(--accent-weak)),var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow)}

/* literacy blocks */
.twocol{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:6px}
@media (max-width:640px){.twocol{grid-template-columns:1fr}}
.lit{background:var(--raise);border:1px solid var(--line);border-radius:12px;padding:15px 16px}
.lit .h{font-weight:700;font-size:14.5px;margin-bottom:6px;display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.lit .h .pick{font-family:var(--sans);font-size:10.5px;font-weight:700;color:var(--good);background:var(--good-bg);border-radius:6px;padding:2px 7px}
.lit p{font-size:13.5px;color:var(--ink-2);margin:0}
.lit b{color:var(--ink)}

/* tables — soft, roomy, no heavy gridlines */
.xwrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.xref,.mtable{width:100%;border-collapse:collapse;font-size:14.5px;background:var(--surface)}
.xref th,.mtable th{text-align:left;font-family:var(--sans);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-weight:700;padding:13px 16px;border-bottom:2px solid var(--line-2);white-space:nowrap;background:var(--raise)}
.xref td,.mtable td{padding:13px 16px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle}
.xref tr:last-child td,.mtable tr:last-child td{border-bottom:none}
.xref tbody tr:hover,.mtable tbody tr:hover{background:var(--raise)}
.xref .b{font-weight:700} .xref .m,.mtable .m{font-family:var(--mono);font-size:12.5px;color:var(--ink-3)}
.best{color:var(--good);font-weight:700}
table.spec{width:100%;border-collapse:collapse}
.spec td{padding:13px 4px;border-bottom:1px solid var(--line);font-size:15px}
.spec td:first-child{color:var(--ink-2);width:44%} .spec td:last-child{font-weight:600;text-align:right}
.spec tr:last-child td{border-bottom:none}

/* pills / tags / badges */
.pill{font-family:var(--sans);font-size:11px;font-weight:700;padding:3px 9px;border-radius:7px;letter-spacing:.01em}
.pill.g16,.pill.a304{color:var(--good);background:var(--good-bg)} .pill.g18,.pill.a430{color:var(--ink-3);background:var(--surface-2)}
.tag-val{font-family:var(--sans);font-size:10px;font-weight:700;color:var(--accent);background:var(--accent-weak);border-radius:6px;padding:2px 7px}
.tag-prem{font-family:var(--sans);font-size:10px;font-weight:700;color:var(--info);background:var(--info-bg);border-radius:6px;padding:2px 7px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chip2{font-size:13px;color:var(--ink-2);background:var(--surface-2);border-radius:999px;padding:6px 13px}

/* hub grid */
.hubgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.hubcard{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .12s,border-color .12s}
.hubcard:hover{border-color:var(--accent);transform:translateY(-2px);text-decoration:none}
.hubcard .n{font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:-.01em}
.hubcard .l{font-size:13px;color:var(--ink-2);margin-top:4px}
.hubcard .vol{font-family:var(--sans);font-size:11px;font-weight:700;color:var(--accent);margin-top:7px}

/* product grid (category pages) */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.pcard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .12s,border-color .12s}
.pcard:hover{border-color:var(--accent);transform:translateY(-2px);text-decoration:none}
.pthumb{aspect-ratio:4/3;background:#fff;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line)}
.pthumb img{width:100%;height:100%;object-fit:contain;padding:8px}
.pnoimg{background:var(--raise)}
.pmeta{padding:11px 13px 13px}
.pmeta .pmodel{font-family:var(--sans);font-weight:700;font-size:13.5px;color:var(--ink)}
.pmeta .ptitle{font-size:12.5px;color:var(--ink-3);margin-top:3px;line-height:1.35}
.cnt{color:var(--ink-3);font-weight:400;font-size:16px}
/* interactive comparison widget */
/* filter/compare widget: sidebar layout (filters left, results right; collapses on mobile) */
.cmpwrap{display:flex;gap:20px;align-items:flex-start}
.cmp-side{flex:0 0 216px;position:sticky;top:12px}
.cmp-results{flex:1 1 auto;min-width:0}
.cmp-controls{display:flex;flex-direction:column;gap:13px;margin:0;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.cmp-controls .fttl{font-family:var(--sans);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-weight:800;margin:0 0 -2px}
.cmp-controls label{display:flex;flex-direction:column;gap:5px;font-size:11.5px;font-weight:700;color:var(--ink-2)}
.cmp-controls label small{font-weight:600;color:var(--ink-3);font-size:10.5px;text-transform:none;letter-spacing:0}
.cmp-controls select,.cmp-controls input{font-family:var(--sans);font-size:14px;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);width:100%;box-sizing:border-box}
.cmp-controls .rr{display:flex;gap:6px}
.cmp-controls .rr input{width:100%;min-width:0}
.cmp-reset{font-family:var(--sans);font-size:13px;font-weight:700;color:var(--accent);background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:9px 12px;cursor:pointer;width:100%;margin-top:2px}
.cmp-reset:hover{background:var(--raise)}
/* pin the Model column so wide tables scroll cleanly under it */
.cmp-results .mtable td:first-child,.cmp-results .mtable th:first-child{position:sticky;left:0;box-shadow:1px 0 0 var(--line)}
.cmp-results .mtable td:first-child{background:var(--surface)}
.cmp-results .mtable th:first-child{background:var(--raise);z-index:2}
.cmp-results .mtable tbody tr:hover td:first-child{background:var(--raise)}
@media(max-width:860px){
 .cmpwrap{flex-direction:column;gap:14px}
 .cmp-side{position:static;flex:auto;width:100%}
 .cmp-controls{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;padding:14px}
 .cmp-controls .fttl{width:100%;margin:0}
 .cmp-controls label{width:auto}
 .cmp-controls .rr input{width:80px}
 .cmp-reset{width:auto}
}
.mtable.cmp th.srt,.mtable.fcmp th.srt{cursor:pointer;user-select:none;white-space:nowrap}
.mtable.cmp th.srt:hover,.mtable.fcmp th.srt:hover{color:var(--accent)}
.mtable.cmp th.srt::after,.mtable.fcmp th.srt::after{content:"\2195";opacity:.35;margin-left:4px;font-size:11px}
.mtable.cmp th.srt.up::after,.mtable.fcmp th.srt.up::after{content:"\2191";opacity:1;color:var(--accent)}
.mtable.cmp th.srt.dn::after,.mtable.fcmp th.srt.dn::after{content:"\2193";opacity:1;color:var(--accent)}
.cmp-empty{text-align:center;color:var(--ink-3);padding:22px}
/* ===== faceted filter widget (shared build/filters.py: categories, refrigeration, work tables) ===== */
.fx{display:flex;gap:22px;align-items:flex-start}
.fx-side{flex:0 0 252px;position:sticky;top:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.fx-side-h{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line);font-family:var(--sans);font-weight:800;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}
.fx-clear{font-family:var(--sans);font-size:12px;font-weight:700;color:var(--accent);background:none;border:none;cursor:pointer}
.fx-clear:hover{text-decoration:underline}
.fx-grp{border-bottom:1px solid var(--line)}
.fx-grp:last-child{border-bottom:none}
.fx-grp-h{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;background:none;border:none;cursor:pointer;font-family:var(--sans);font-weight:700;font-size:13.5px;color:var(--ink);text-align:left}
.fx-grp-h small{font-weight:500;color:var(--ink-3)}
.fx-grp-h svg{transition:transform .15s;color:var(--ink-3);flex:0 0 auto}
.fx-grp.fx-closed .fx-grp-h svg{transform:rotate(-90deg)}
.fx-grp-b{padding:0 14px 12px}
.fx-grp.fx-closed .fx-grp-b{display:none}
.fx-osearch{width:100%;box-sizing:border-box;font-family:var(--sans);font-size:13px;padding:6px 9px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);margin-bottom:8px}
.fx-opts{display:flex;flex-direction:column;gap:1px}
.fx-opts.fx-scroll{max-height:212px;overflow-y:auto;padding-right:4px}
.fx-opt{display:flex;align-items:center;gap:9px;padding:5px 7px;border-radius:7px;cursor:pointer;font-size:13.5px;color:var(--ink-2)}
.fx-opt:hover{background:var(--raise)}
.fx-opt input{accent-color:var(--accent);width:15px;height:15px;flex:0 0 auto;cursor:pointer;margin:0}
.fx-opt .fx-ol{flex:1 1 auto;text-transform:capitalize}
.fx-opt em{font-style:normal;font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.fx-range{display:flex;align-items:center;gap:8px}
.fx-range input{width:100%;min-width:0;box-sizing:border-box;font-family:var(--sans);font-size:13.5px;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink)}
.fx-range span{color:var(--ink-3)}
.fx-main{flex:1 1 auto;min-width:0}
.fx-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;flex-wrap:wrap}
.fx-count{font-size:14px;color:var(--ink-2)} .fx-count b{font-family:var(--serif);font-size:21px;color:var(--ink);font-weight:600}
.fx-sortl{font-size:12px;font-weight:700;color:var(--ink-3);display:flex;align-items:center;gap:7px}
.fx-sortl select{font-family:var(--sans);font-size:13px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-weight:600;cursor:pointer}
.fx-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.fx-chips:empty{display:none}
.fx-chip{font-family:var(--sans);font-size:12.5px;font-weight:600;color:var(--accent);background:var(--accent-weak);border:1px solid var(--accent);border-radius:999px;padding:4px 11px;cursor:pointer;text-transform:capitalize;line-height:1.4}
.fx-chip b{font-weight:700;margin-left:2px}
.fx-chip:hover{background:var(--accent);color:#fff}
.fx-main .mtable td:first-child,.fx-main .mtable th:first-child{position:sticky;left:0;box-shadow:1px 0 0 var(--line)}
.fx-main .mtable td:first-child{background:var(--surface)}
.fx-main .mtable th:first-child{background:var(--raise);z-index:2}
.fx-main .mtable tbody tr:hover td:first-child{background:var(--raise)}
.fx-note{margin-top:10px}
/* add-to-compare: checkbox column, floating tray, modal */
.mtable.fcmp th.fxc,.mtable.fcmp td.fxc{width:34px;text-align:center;padding-left:10px;padding-right:6px}
.fx-main .mtable td.fxc,.fx-main .mtable th.fxc{position:static;box-shadow:none;background:transparent}
.fxpick{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;margin:0}
.fxtray{position:sticky;bottom:14px;z-index:30;display:flex;align-items:center;gap:12px;margin-top:14px;padding:11px 14px;background:var(--ink);color:var(--paper);border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.28);flex-wrap:wrap}
.fxtray-l{font-family:var(--sans);font-size:13px;font-weight:600} .fxtray-l b{font-family:var(--serif);font-size:17px;margin-right:3px}
.fxtray-c{display:flex;gap:6px;flex-wrap:wrap;flex:1 1 auto;min-width:0}
.fxtray-chip{font-family:var(--mono);font-size:11.5px;font-weight:500;color:var(--paper);background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);border-radius:20px;padding:3px 9px;cursor:pointer}
.fxtray-chip:hover{background:rgba(255,255,255,.25)}
.fxtray-go{font-family:var(--sans);font-size:13.5px;font-weight:700;color:#fff;background:var(--accent);border:none;border-radius:9px;padding:9px 15px;cursor:pointer}
.fxtray-x{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--paper);background:none;border:1px solid rgba(255,255,255,.3);border-radius:9px;padding:8px 12px;cursor:pointer}
.fxmodal{position:fixed;inset:0;z-index:100;background:rgba(20,17,12,.55);display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow:auto}
.fxmodal[hidden]{display:none}
.fxmodal-in{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);max-width:960px;width:100%;padding:22px 22px 26px;position:relative}
.fxmodal-x{position:absolute;top:14px;right:16px;font-size:22px;line-height:1;color:var(--ink-3);background:none;border:none;cursor:pointer}
.fxmodal-h{font-family:var(--serif);font-size:24px;margin:0 0 16px}
.fxcmp-t th{font-family:var(--sans);font-size:12px;text-align:left;vertical-align:bottom} .fxcmp-t th a{font-family:var(--mono);font-size:12.5px;font-weight:500}
.fxcmp-t td.fxk{font-family:var(--sans);font-weight:700;font-size:11.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
.fxcmp-t td{font-variant-numeric:tabular-nums}
@media(max-width:860px){.fx{flex-direction:column;gap:14px}.fx-side{position:static;flex:auto;width:100%}}
/* sizing table */
.sizetbl td{vertical-align:top} .sizetbl .szk{font-weight:700;white-space:nowrap;color:var(--ink);width:1%;padding-right:18px}
/* faq (h3/p variant used on category pages) */
.faq h3{font-family:var(--serif);font-size:17px;font-weight:600;margin:0 0 5px}
.faq p{color:var(--ink-2);font-size:15px;margin:0 0 16px}

/* price */
.pricebox{display:flex;flex-direction:column;gap:2px}
.prow{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line)}
.prow span{color:var(--ink-2);font-size:14.5px} .prow b{font-family:var(--serif);font-size:18px;font-weight:600}
.prow.big b{font-size:26px;color:var(--accent)}
.pnote{font-size:12.5px;color:var(--ink-3);margin-top:9px}
/* retail-price 'where to buy' block (real dealer listings) */
.priceblk .prange{font-family:var(--serif);font-size:30px;font-weight:600;color:var(--accent);line-height:1.1;margin:2px 0 2px}
.priceblk .pmeta{font-size:12.5px;color:var(--ink-3);margin-bottom:6px}
.pricetbl{width:100%;border-collapse:collapse;margin-top:8px}
.pricetbl thead th{font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:6px 4px;border-bottom:2px solid var(--line-2)}
.pricetbl thead th.rprice{text-align:right}
.pricetbl td{padding:12px 4px;border-bottom:1px solid var(--line);vertical-align:middle}
.pricetbl tr:last-child td{border-bottom:none}
.pricetbl .rsite a{font-weight:600;font-size:15px}
.pricetbl td.rprice{font-family:var(--serif);font-size:19px;font-weight:600;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink)}
.pricetbl .rgo{text-align:right;white-space:nowrap} .pricetbl .rgo a{font-size:13px;font-weight:600}
.priceblk .psrc{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.priceblk .psrc li{font-size:13.5px;color:var(--ink-2)} .priceblk .psrc a{font-weight:600}

/* gallery / frames */
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px} @media (max-width:560px){.gallery{grid-template-columns:1fr}}
.frame{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.frame .ph{aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;background:var(--raise);color:var(--ink-3);border-bottom:1px solid var(--line)}
.frame .ph svg{width:40px;height:40px;opacity:.6} .frame .ph span{font-size:13px;font-weight:600}
.frame figcaption{font-size:12.5px;color:var(--ink-3);padding:12px 14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.frame .lic{font-family:var(--sans);font-size:10px;font-weight:700;color:var(--good);background:var(--good-bg);border-radius:6px;padding:2px 7px;margin-left:auto}
.footprint{display:flex;gap:30px;margin-top:16px;flex-wrap:wrap}
.footprint .fp .fn{font-family:var(--serif);font-size:27px;font-weight:600;line-height:1} .footprint .fp .fl{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;margin-top:5px}

/* sell intake form */
.sellform{display:flex;flex-direction:column;gap:14px}
.sellform .fg{display:grid;grid-template-columns:1fr 1fr;gap:14px} @media (max-width:560px){.sellform .fg{grid-template-columns:1fr}}
.sellform label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:var(--ink-2)}
.sellform input,.sellform textarea{font-family:var(--sans);font-size:15px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}
.sellform input:focus,.sellform textarea:focus{outline:none;border-color:var(--accent)}
.sellform .btn{align-self:flex-start}

/* sell / marketplace CTA */
.panel.sell{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,var(--surface)),var(--surface));border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}
.sell-k{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.panel.sell h3{margin:0 0 6px} .panel.sell p{color:var(--ink-2);margin:0 0 13px}

/* FAQ */
.faq{display:flex;flex-direction:column;gap:10px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.faq summary{cursor:pointer;padding:16px 18px;font-weight:700;font-size:15.5px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent);font-weight:700;font-size:20px;line-height:1;font-family:var(--sans)}
.faq details[open] summary::after{content:"\2013"} .faq details[open] summary{border-bottom:1px solid var(--line)}
.faq .a{padding:14px 18px 17px;font-size:15px;color:var(--ink-2)}

/* where-to-buy finder */
.zipform{display:flex;gap:9px}
.zipform input{flex:1;font-size:16px;font-family:var(--mono);padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--raise);color:var(--ink);width:100%}
.zipform input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.zipform button,.btn{background:var(--accent);color:#fff;border:none;border-radius:10px;font-weight:700;cursor:pointer}
.zipform button{padding:0 17px;font-size:15px}
.btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;font-size:14.5px;padding:13px;margin-top:8px;text-decoration:none}
.btn:hover{background:var(--accent-2);text-decoration:none} .btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.results{margin-top:16px;display:flex;flex-direction:column}
.rdealer{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--line)}
.rdealer:first-child{border-top:none} .rdealer .dn{font-size:14px;font-weight:700} .rdealer .dl{font-size:12.5px;color:var(--ink-3)}
.rdealer .mi{font-family:var(--mono);font-size:13px;color:var(--accent);font-weight:700;white-space:nowrap}
.empty{font-size:13.5px;color:var(--ink-3);margin-top:14px}
.dealer{display:flex;flex-direction:column;gap:1px;padding:11px 0;border-top:1px solid var(--line)} .dealer:first-of-type{border-top:none}
.dealer .dn{font-size:14.5px;font-weight:700} .dealer .dl{font-size:12.5px;color:var(--ink-3)} .seeall{display:block;margin-top:14px;font-size:14px;font-weight:700}

/* provenance */
.prov{font-size:12.5px;color:var(--ink-2);line-height:1.6}
.prov .src{display:flex;gap:10px;padding:8px 0;border-top:1px dashed var(--line)} .prov .src:first-of-type{border-top:none}
.prov .src .t{font-family:var(--sans);font-weight:700;color:var(--ink-3);flex:none;width:82px}
.prov .src a,.prov a{word-break:break-word}
.indep{font-size:11.5px;color:var(--ink-3);margin-top:12px;line-height:1.55;border-top:1px solid var(--line);padding-top:12px}
.cap{font-size:12.5px;color:var(--ink-3);margin-top:12px}
.ownerchip{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:13px;color:var(--ink-2);background:var(--surface-2);border-radius:999px;padding:6px 14px}

/* term tooltip */
.tip{position:relative;border-bottom:1px dotted currentColor;cursor:help}
.tip:hover::after,.tip:focus::after{content:attr(data-tip);position:absolute;left:0;top:135%;z-index:20;width:min(280px,72vw);background:var(--ink);color:var(--paper);font-size:12.5px;font-weight:400;line-height:1.5;font-family:var(--sans);padding:11px 13px;border-radius:10px;box-shadow:var(--shadow);white-space:normal;text-align:left}

/* reviews */
.rv-head{margin-bottom:16px}
.rv-avg{display:flex;align-items:center;gap:11px} .rv-avg b{font-family:var(--serif);font-size:25px;font-weight:600}
.rv-n{font-size:13.5px;color:var(--ink-3)}
.rv-stars{color:var(--accent);letter-spacing:2px;font-size:15px} .rv-stars.big{font-size:21px}
.rv-list{display:flex;flex-direction:column;gap:14px;margin-bottom:18px}
.rv-item{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow)}
.rv-top{display:flex;align-items:center;gap:11px} .rv-top b{font-size:15.5px}
.rv-item p{margin:9px 0 0;font-size:15px;color:var(--ink-2)} .rv-by{font-size:12.5px;color:var(--ink-3);margin-top:9px}
.rv-cta,.rv-post{background:var(--raise);border:1px solid var(--line);border-radius:12px;padding:17px 18px;display:flex;flex-direction:column;gap:10px}
.rv-cta form{display:flex;gap:9px;flex-wrap:wrap}
.rv-cta input,.rv-post input,.rv-post textarea{font-family:var(--sans);font-size:15px;padding:12px 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);flex:1;min-width:200px}
.rv-post textarea{min-height:92px;resize:vertical}
.rv-cta button,.rv-post button[type=submit]{background:var(--accent);color:#fff;border:none;border-radius:9px;padding:12px 17px;font-weight:700;cursor:pointer;align-self:flex-start}
.rv-rate{display:flex;gap:5px} .rv-rate button{background:none;border:none;font-size:28px;color:var(--line);cursor:pointer;padding:0 2px;line-height:1} .rv-rate button.on{color:var(--accent)}
.rv-msg{font-size:13px;color:var(--good);margin-top:2px}
.admbar{display:flex;align-items:center;gap:16px;margin-bottom:20px;font-size:14px;color:var(--ink-2);flex-wrap:wrap}
.admbar .btn{width:auto;margin:0;padding:8px 14px}
.admact{display:flex;gap:9px;margin-top:13px} .admact .btn{width:auto;margin:0;padding:9px 18px}
.admact .btn.ap{background:var(--good)} .admact .btn.ap:hover{filter:brightness(1.08)}
.vid{position:relative;padding-bottom:56.25%;height:0;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
footer{margin-top:52px;border-top:1px solid var(--line);padding-top:20px;color:var(--ink-3);font-size:12.5px;display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:space-between}
@media (max-width:520px){.side{position:static}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ===== best-in-class components (2026-08-07 redesign) ===== */
/* trust / methodology strip */
.trust{display:flex;margin:22px 0 4px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden;flex-wrap:wrap;box-shadow:var(--shadow)}
.trust .t{flex:1 1 0;min-width:150px;padding:15px 18px;border-right:1px solid var(--line)}
.trust .t:last-child{border-right:0}
.trust .n{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--ink);line-height:1.05;letter-spacing:-.02em}
.trust .l{font-size:12.5px;color:var(--ink-3);margin-top:3px;line-height:1.35}
.tbadge{display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);font-size:12px;font-weight:700;color:var(--good);background:var(--good-bg);border-radius:999px;padding:3px 10px}
.tbadge::before{content:"\25C6";font-size:9px}
/* labeled pick cards */
.picks{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:4px}
@media (max-width:820px){.picks{grid-template-columns:1fr}}
.pickc{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:var(--shadow)}
.pickc .pill{position:absolute;top:-11px;left:18px;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#fff;padding:4px 11px;border-radius:999px;background:var(--accent)}
.pickc.eff .pill{background:var(--good)} .pickc.room .pill{background:var(--info)}
.pickc .m{font-family:var(--mono);font-size:12.5px;color:var(--ink-3);margin-top:6px}
.pickc .nm{font-family:var(--serif);font-size:19px;font-weight:600;margin:2px 0 9px;line-height:1.15}
.pickc .why{font-size:13.5px;color:var(--ink-2);line-height:1.5}
.pickc .stat{margin-top:13px;padding-top:12px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline}
.pickc .stat b{font-family:var(--serif);font-size:21px;font-weight:600} .pickc .stat span{font-size:12px;color:var(--ink-3)}
/* mono model numbers + tabular figures in comparison tables */
.mtable.fcmp td:first-child a{font-family:var(--mono);font-size:13px;font-weight:500}
.mtable.fcmp tbody td{font-variant-numeric:tabular-nums}


/* ===== FoodServiceNerd brand additions ===== */
:root{--amber:#c47d16}
@media (prefers-color-scheme:dark){:root{--amber:#e8a33d}}
:root[data-theme="light"]{--amber:#c47d16}
:root[data-theme="dark"]{--amber:#e8a33d}
.brand{display:flex;align-items:center;gap:8px}
.fsn-mark{width:30px;height:18px;flex:none}
.bname b{color:var(--accent);font-weight:800}
.amber-swipe{position:relative;white-space:nowrap}
.amber-swipe::after{content:"";position:absolute;left:-.05em;right:-.05em;bottom:.06em;height:.4em;background:color-mix(in srgb,var(--amber) 42%,transparent);z-index:-1;transform:skewX(-4deg)}
.xlink{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0;padding:12px 16px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;background:var(--card);font-size:14px;color:var(--ink-2)}
.xlink a{color:var(--accent);font-weight:700;white-space:nowrap;text-decoration:none}
.xlink a:hover{text-decoration:underline}
.fsn-disc{max-width:74ch;font-size:12.5px;color:var(--ink-3);margin-top:14px;line-height:1.5}
.fsn-byline{font-size:12.5px;color:var(--ink-3);margin:2px 0 20px;padding-bottom:10px;border-bottom:1px solid var(--line);line-height:1.6}
.fsn-byline b{color:var(--ink-2);font-weight:700}
.fsn-byline a{color:var(--accent);font-weight:600}
.fsn-byline .dot{opacity:.5;padding:0 7px}
/* --- homepage --- */
.fsn-hero{padding:50px 0 26px}
.fsn-hero .eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600}
.fsn-hero h1{font-size:clamp(32px,5.4vw,54px);font-weight:800;line-height:1.05;letter-spacing:-.02em;margin:14px 0 0;max-width:16ch;text-wrap:balance}
.fsn-hero .lede{font-size:18px;color:var(--ink-2);max-width:54ch;margin:18px 0 24px;line-height:1.55}
.fsn-cta{display:flex;flex-wrap:wrap;gap:12px}
.fsn-btn{display:inline-block;border-radius:9px;font-weight:700;font-size:15px;text-decoration:none;padding:12px 18px}
.fsn-btn.p{background:var(--accent);color:#fff}.fsn-btn.p:hover{background:var(--accent-2)}
.fsn-btn.o{border:1px solid var(--line);color:var(--ink)}.fsn-btn.o:hover{border-color:var(--accent);color:var(--accent)}
.fsn-trust{display:flex;flex-wrap:wrap;gap:18px;margin-top:24px;font-family:var(--mono);font-size:12.5px;color:var(--ink-3)}
.fsn-trust b{color:var(--ink-2)}
.fsn-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:6px 0}
@media(max-width:900px){.fsn-pillars{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.fsn-pillars{grid-template-columns:1fr}}
.fsn-pill{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;transition:transform .15s,border-color .15s}
.fsn-pill:hover{transform:translateY(-3px);border-color:var(--accent)}
.fsn-pill .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.fsn-pill h3{font-size:18px;font-weight:700;margin:0}
.fsn-pill p{font-size:13.5px;color:var(--ink-2);margin:0;line-height:1.5}
.fsn-pill .stat{margin-top:auto;padding-top:12px;font-family:var(--mono);font-size:13px;font-weight:600;color:var(--ink)}
.fsn-pill .stat .num{font-size:20px;color:var(--accent)}
.fsn-engine{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px 24px;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;margin:6px 0}
@media(max-width:720px){.fsn-engine{grid-template-columns:1fr}}
.fsn-engine .b{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:14px}
.fsn-engine .b .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.fsn-engine .b strong{display:block;font-size:15px;margin:4px 0 3px;color:var(--ink)}
.fsn-engine .b span{font-size:13px;color:var(--ink-2)}
.fsn-engine .swap{font-size:24px;color:var(--accent);text-align:center;font-family:var(--mono)}
.fsn-cats{display:flex;flex-wrap:wrap;gap:8px}
.fsn-cat{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:7px 14px;font-size:13.5px;font-weight:600;color:var(--ink-2);text-decoration:none}
.fsn-cat:hover{border-color:var(--accent);color:var(--accent)}


/* ===== grouped dropdown nav ===== */
.mnav .mi{position:relative}
.mnav .mi>a{display:inline-flex;align-items:center}
.mnav .mi>a::after{content:"\25BE";font-size:9px;margin-left:5px;opacity:.55}
.mnav .menu{position:absolute;top:calc(100% + 3px);left:0;min-width:180px;background:var(--raise);
 border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);padding:6px;display:none;z-index:60}
.mnav .mi:hover>.menu,.mnav .mi:focus-within>.menu{display:block}
.mnav .menu a{display:block;padding:8px 12px;border-radius:7px;font-size:13.5px;font-weight:500;
 color:var(--ink-2);white-space:nowrap}
.mnav .menu a:hover{background:var(--surface-2);color:var(--ink)}
@media(max-width:820px){
 .mnav .mi{position:static}
 .mnav .menu{position:static;display:block;box-shadow:none;border:0;background:transparent;padding:0 0 0 10px;min-width:0}
 .mnav .mi>a::after{display:none}
}
