:root{--ink-900:#14202e;--ink-700:#2d3b4c;--ink-500:#5a6878;--ink-300:#c9d0d8;--ink-100:#e9ecef;--paper:#f7f5f0;--white:#fff;--rust-700:#9a3412;--rust-600:#b8430f;--rust-100:#fbe9dd;--teal-700:#0f5f5a;--teal-100:#dcefed;--bg:var(--paper);--surface:var(--white);--text:var(--ink-900);--text-muted:var(--ink-500);--border:var(--ink-300);--accent:var(--rust-600);--accent-strong:var(--rust-700);--accent-soft:var(--rust-100);--ok:var(--teal-700);--ok-soft:var(--teal-100);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--t-xs:0.8125rem;--t-sm:0.875rem;--t-md:1rem;--t-lg:1.25rem;--t-xl:1.5rem;--t-2xl:clamp(1.75rem,1.3rem + 2vw,2.25rem);--radius:10px;--shadow:0 1px 2px rgba(20,32,46,.08),0 4px 12px rgba(20,32,46,.06);--font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:400 var(--t-md)/1.5 var(--font);min-height:100dvh;display:flex;flex-direction:column}main{flex:1 1;width:100%;max-width:1200px;margin:0 auto;padding:var(--s5) var(--s4) var(--s7)}a{color:var(--accent-strong)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}img{max-width:100%;height:auto;display:block}main a:not(.btn):not(.chip):not(.card):not(.tile){display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}h1{font-size:var(--t-2xl);line-height:1.2;margin:0 0 var(--s3);letter-spacing:-.01em}h2{font-size:var(--t-xl);line-height:1.25;margin:var(--s6) 0 var(--s3)}h3{font-size:var(--t-lg);line-height:1.3;margin:0 0 var(--s2)}p{margin:0 0 var(--s3)}.muted{color:var(--text-muted)}.small{font-size:var(--t-sm)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:var(--ink-900);color:var(--white)}.site-header .bar{max-width:1200px;margin:0 auto;height:56px;padding:0 var(--s4);gap:var(--s3)}.brand,.site-header .bar{display:flex;align-items:center}.brand{color:var(--white);text-decoration:none;font-weight:700;font-size:var(--t-md);white-space:nowrap;gap:var(--s2);margin-right:auto;min-height:44px;min-width:44px}.brand-mark{width:28px;height:28px;border-radius:6px;background:var(--accent);display:grid;place-items:center;font-size:var(--t-sm)}.brand-name,.brand-sub{display:none}.brand-sub{font-weight:400;color:var(--ink-300);font-size:var(--t-sm)}.nav{display:flex;gap:var(--s1)}.nav a{color:var(--white);text-decoration:none;min-height:44px;min-width:44px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-size:var(--t-sm);font-weight:600}.nav a:hover{background:var(--ink-700)}.cart-count{background:var(--accent);border-radius:999px;min-width:22px;height:22px;margin-left:var(--s1);padding:0 6px;display:inline-grid;place-items:center;font-size:var(--t-xs)}.sample-banner{background:var(--accent-soft);color:var(--accent-strong);font-size:var(--t-sm);padding:var(--s2) var(--s4);text-align:center}.site-footer{background:var(--ink-900);color:var(--ink-300);font-size:var(--t-sm)}.site-footer .inner{max-width:1200px;margin:0 auto;padding:var(--s5) var(--s4);display:grid;grid-gap:var(--s3);gap:var(--s3)}.site-footer a{min-height:44px;margin-right:var(--s4)}.btn,.site-footer a{color:var(--white);display:inline-flex;align-items:center}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:8px;background:var(--accent);font:600 var(--t-md)/1 var(--font);min-height:48px;padding:0 var(--s5);cursor:pointer;justify-content:center;gap:var(--s2);text-decoration:none}.btn:hover{background:var(--accent-strong)}.btn[disabled]{opacity:.6;cursor:progress}.btn-quiet{background:transparent;color:var(--accent-strong);border:1px solid var(--border)}.btn-quiet:hover{background:var(--accent-soft)}.field{display:grid;grid-gap:var(--s1);gap:var(--s1);margin-bottom:var(--s4)}.field label{font-weight:600;font-size:var(--t-sm)}input,select,textarea{font:400 var(--t-md)/1.4 var(--font);color:var(--text);background:var(--white);border:1px solid var(--border);border-radius:8px;min-height:48px;padding:var(--s2) var(--s3);width:100%}textarea{min-height:112px}.error{color:#a1260d;font-size:var(--t-sm)}.search{display:flex;gap:var(--s2)}.search input{flex:1 1}.hero{background:var(--ink-900);color:var(--white);border-radius:var(--radius);padding:var(--s5) var(--s4);margin-bottom:var(--s5)}.hero p{color:var(--ink-300)}.hero h1{color:var(--white)}.tiles{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--s3);gap:var(--s3);list-style:none;padding:0;margin:0}.tile{display:flex;flex-direction:column;justify-content:center;min-height:72px;padding:var(--s3) var(--s4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--text);font-weight:600}.tile span{font-weight:400;color:var(--text-muted);font-size:var(--t-sm)}.tile:hover{border-color:var(--accent)}.steps{counter-reset:step;list-style:none;padding:0;display:grid;grid-gap:var(--s3);gap:var(--s3)}.steps li{counter-increment:step;background:var(--surface);border-radius:var(--radius);padding:var(--s4);border:1px solid var(--border)}.steps li:before{content:counter(step);display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ok-soft);color:var(--ok);font-weight:700;margin-right:var(--s2)}.catalogue{display:grid;grid-gap:var(--s5);gap:var(--s5)}.filters{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.filters>summary{min-height:48px;padding:0 var(--s4);display:flex;align-items:center;font-weight:600;cursor:pointer}.filters .body{padding:0 var(--s4) var(--s4)}.facet h3{font-size:var(--t-md);margin:var(--s4) 0 var(--s2)}.facet ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s2)}.chip{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s3);border:1px solid var(--border);border-radius:999px;text-decoration:none;color:var(--text);font-size:var(--t-sm);background:var(--white)}.chip[aria-current=true]{background:var(--ink-900);color:var(--white);border-color:var(--ink-900)}.chip .n{color:var(--text-muted);margin-left:var(--s1)}.chip[aria-current=true] .n{color:var(--ink-300)}.active-filters{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s3)}.grid{list-style:none;padding:0;margin:0;grid-template-columns:1fr;grid-gap:var(--s3);gap:var(--s3)}.card,.grid{display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;grid-template-columns:96px 1fr;text-decoration:none;color:var(--text);box-shadow:var(--shadow);min-height:96px}.card:hover{border-color:var(--accent)}.card img{width:96px;height:96px;object-fit:cover;background:var(--ink-100)}.card .body{padding:var(--s3);display:grid;grid-gap:2px;gap:2px;align-content:start}.card .name{font-weight:600;line-height:1.3}.card .meta{font-size:var(--t-sm);color:var(--text-muted)}.pager{display:flex;justify-content:space-between;gap:var(--s3);margin-top:var(--s5)}.product{display:grid;grid-gap:var(--s5);gap:var(--s5)}.photo{background:var(--white);border:1px solid var(--border)}.photo,.specs{border-radius:var(--radius);overflow:hidden}.specs{width:100%;border-collapse:collapse;background:var(--surface)}.specs td,.specs th{text-align:left;padding:var(--s3);border-bottom:1px solid var(--ink-100);vertical-align:top}.specs th{width:40%;font-weight:600;color:var(--ink-700);font-size:var(--t-sm)}.buy{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s4);display:grid;grid-gap:var(--s3);gap:var(--s3)}.buy .row{display:flex;gap:var(--s2);align-items:flex-end}.buy .row .field{margin:0;width:112px}.note-ok{color:var(--ok);font-weight:600;font-size:var(--t-sm)}.source{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s4);margin:0}.frame{position:relative;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--ink-100)}.frame .box{position:absolute;border:3px solid var(--accent);box-shadow:0 0 0 9999px rgba(20,32,46,.35);border-radius:4px}.source dl{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--s1) var(--s3);gap:var(--s1) var(--s3);margin:var(--s3) 0 0;font-size:var(--t-sm)}.source dt{font-weight:600}.source dd{margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:2px var(--s2);border-radius:999px;font-size:var(--t-sm);font-weight:600;background:var(--ink-100);color:var(--ink-700)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.suppliers{list-style:none;padding:0;margin:0;display:grid;grid-gap:var(--s3);gap:var(--s3)}.supplier{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s4)}.supplier dl{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--s1) var(--s3);gap:var(--s1) var(--s3);margin:var(--s2) 0 var(--s3);font-size:var(--t-sm)}.supplier dt{font-weight:600}.supplier dd{margin:0;overflow-wrap:anywhere}.lines{list-style:none;padding:0;margin:0 0 var(--s5);display:grid;grid-gap:var(--s3);gap:var(--s3)}.line{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s3) var(--s4);display:grid;grid-gap:var(--s2);gap:var(--s2)}.line .controls{display:flex;gap:var(--s2);align-items:center}.line .controls input{width:96px}.panel{background:var(--surface);border:1px solid var(--border)}.callout,.panel{border-radius:var(--radius);padding:var(--s4)}.callout{background:var(--ok-soft);color:var(--ink-900);margin-bottom:var(--s4)}.orders{list-style:none;padding:0;display:grid;grid-gap:var(--s3);gap:var(--s3)}@media (min-width:400px){.brand-name{display:inline}}@media (min-width:768px){main{padding:var(--s6) var(--s5) var(--s7)}.brand{font-size:var(--t-lg)}.brand-sub{display:inline}.nav a{font-size:var(--t-md);padding:0 var(--s3)}.hero{padding:var(--s7) var(--s6)}.steps,.tiles{grid-template-columns:repeat(3,1fr)}.grid,.suppliers{grid-template-columns:repeat(2,1fr)}.product{grid-template-columns:1fr 1fr;align-items:start}.product .wide{grid-column:1/-1}.site-footer .inner{grid-template-columns:1fr auto;align-items:center}}@media (min-width:1024px){.catalogue{grid-template-columns:280px 1fr;align-items:start}.filters{position:-webkit-sticky;position:sticky;top:72px}.grid{grid-template-columns:repeat(3,1fr)}.card{grid-template-columns:1fr}.card img{width:100%;height:auto;aspect-ratio:1}.tiles{grid-template-columns:repeat(5,1fr)}.suppliers{grid-template-columns:repeat(3,1fr)}}