:root{--ink:#0e2233;--muted:#4d6273;--line:#d3dee6;--bg:#f3f7fa;--hblue:#0f75a8;--hblue-deep:#09527a;--card:#fff;--gold:#e8b021;--sign:#f2c200}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 "IBM Plex Sans",system-ui,sans-serif}
a{color:var(--hblue-deep)}
header{background:var(--hblue);border-bottom:4px solid var(--hblue-deep)}
header .in,main,footer .in{max-width:1100px;margin:0 auto;padding:0 16px}
header .in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}
.brand{font:800 26px/1 "Barlow Condensed",sans-serif;letter-spacing:.04em;color:#fff;text-decoration:none}
.brand span{background:#141414;color:var(--sign);padding:2px 8px;margin-right:6px;border-radius:2px;box-shadow:inset 0 0 0 2px var(--sign)}
header nav a{color:#fff;font-weight:600;text-decoration:none;margin-left:16px;font-size:15px;white-space:nowrap}
@media (max-width:520px){header nav a{margin-left:12px;font-size:14px}header nav a.opt{display:none}.brand{font-size:22px}}
main{padding-top:24px;padding-bottom:48px}
.crumbs{font-size:14px;color:var(--muted);margin-bottom:10px}
h1{font:800 clamp(32px,5vw,48px)/1.05 "Barlow Condensed",sans-serif;margin:0 0 10px;text-transform:uppercase;letter-spacing:.01em}
h2{font:700 26px/1.1 "Barlow Condensed",sans-serif;margin:28px 0 10px;text-transform:uppercase}
.lede{color:var(--muted);max-width:70ch;margin:0 0 22px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.card:hover{border-color:var(--hblue)}
.card img,.ph{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;background:#dfe9f0}
.card .b{padding:14px 16px 16px;display:grid;gap:6px}
.card h3{font:700 22px/1.1 "Barlow Condensed",sans-serif;margin:0;text-transform:uppercase}
.st{display:inline-block;font:600 12px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:4px;background:var(--sign);color:#141414;justify-self:start}
.st.sold{background:#b42318;color:#fff}.st.contract{background:#5a6b78;color:#fff}
dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-size:15px}
dt{color:var(--muted)}dd{margin:0;font-weight:500}
.one{display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.one{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}
.gallery{display:grid;gap:8px}
.gallery img{width:100%;border-radius:10px;display:block;background:#dfe9f0;aspect-ratio:16/10;object-fit:cover}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.thumbs img{aspect-ratio:4/3;object-fit:cover}
.panel{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px 20px;align-self:start;display:grid;gap:14px}
.price{font:800 30px/1 "Barlow Condensed",sans-serif}
.btn{display:inline-block;background:var(--gold);color:var(--ink);border-radius:6px;padding:11px 16px;font-weight:600;text-decoration:none;text-align:center}
.btn.alt{background:#fff;border:1px solid #b9c0c8}
.muted{color:var(--muted);font-size:14px}
footer{background:var(--hblue-deep);color:#d6e6f0;font-size:14px}
footer .in{padding:18px 16px}
footer a{color:#fff}
/* parts pages */
table.parts{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:15px}
table.parts th,table.parts td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
table.parts th{font:600 12px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#f8fafb}
table.parts td.pn{font-family:"IBM Plex Mono",monospace;white-space:nowrap}
.pager{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}
.pager a,.pager span{padding:6px 11px;border:1px solid var(--line);border-radius:6px;background:#fff;text-decoration:none;font-size:14px}
.pager span{background:var(--hblue);color:#fff;border-color:var(--hblue)}
.find{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap}
.find input{flex:1;min-width:200px;padding:10px 12px;border:1px solid #b9c0c8;border-radius:6px;font:inherit}
.find button{border:0}
.instock{color:#1f7a3a;font-weight:600}.nostock{color:var(--muted)}
@media (max-width:640px){table.parts .hide-s{display:none}}

