/* Sonisys: a modern, light industrial catalog. Native CSS, not a vendor design system. */
:root { --paper:#f7f9fc; --surface:#fff; --surface-sunk:#eef3f9; --ink:#13233d; --ink-soft:#43536a; --muted:#52647b; --line:#dbe3ed; --line-strong:#b8c6d9; --navy:#174fa9; --navy-deep:#123d85; --navy-wash:#edf3fd; --radius:10px; --display:var(--sans); }
html { scroll-padding-top:100px; }
body { font-size:16px; line-height:1.65; }
[hidden] { display:none !important; }
h1,h2,h3 { font-family:var(--sans); letter-spacing:-.035em; line-height:1.15; }
h1 { font-size:clamp(32px,4vw,48px); }
h2 { font-size:clamp(26px,3vw,36px); }
h3 { font-size:19px; }
a,button,input,select,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid #3479df; outline-offset:4px; }
button,.button { background:var(--navy); color:#fff; border:1px solid var(--navy); border-radius:7px; font-family:var(--sans); font-size:14px; font-weight:600; text-transform:none; min-height:44px; padding:10px 20px; cursor:pointer; }
button:hover,.button:hover { background:var(--navy-deep); color:#fff; text-decoration:none; }
button:disabled { opacity:.45; cursor:default; }
.catalog-icon { width:26px; height:26px; fill:currentColor; display:block; flex-shrink:0; }
.skip-link { position:fixed; top:10px; left:16px; z-index:1000; padding:10px 18px; background:var(--ink); color:#fff; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
.site-header { position:relative; border-bottom:1px solid var(--line); background:#fff; }
.header-inner { max-width:1280px; min-height:78px; margin:auto; padding:14px 24px; gap:24px; }
.brand { gap:18px; min-width:0; }
.brand img { width:212px; max-width:100%; height:auto; }
.brand-subtitle { color:var(--muted); font:400 12px var(--sans); border-color:var(--line); letter-spacing:0; }
.nav { gap:28px; flex-wrap:nowrap; }
.nav a { font:500 14px var(--sans); padding:10px 0; color:var(--ink); white-space:nowrap; }
.nav a:last-child { padding:10px 16px; background:var(--navy-wash); border:1px solid #d9e5f8; border-radius:7px; color:var(--navy); }
.main { max-width:1280px; padding:28px 24px 70px; margin:auto; }
.eyebrow { font:600 11px/1.5 var(--sans); letter-spacing:.14em; color:var(--navy); margin:0 0 18px; }
.lede { color:var(--ink-soft); font-size:17px; line-height:1.7; max-width:70ch; }
.section { margin-top:64px; }
.section-head { border:0; margin-bottom:24px; padding:0; align-items:center; gap:20px; }
.section-head h2 { margin:0; }
.section-head a { font-family:var(--sans); text-transform:none; }
.section-intro { margin-bottom:28px; max-width:700px; }
.section-intro h2 { margin:0 0 14px; }
.section-intro p { color:var(--muted); margin:0; }
.section-kicker { color:var(--muted); font:400 13px var(--sans); text-transform:none; }
.panel { border:1px solid var(--line); border-radius:14px; padding:32px; background:var(--surface); box-shadow:none; }
.panel > h1 { margin:0 0 18px; }
.search-form { margin-top:26px; max-width:760px; }
.search-label,.catalog-filter label,.search-category-field label { display:block; color:var(--ink-soft); margin-bottom:8px; font:500 13px/1.5 var(--sans); text-transform:none; letter-spacing:0; }
.search-row { display:grid; grid-template-columns:minmax(0,1fr) auto; border:1px solid #a6bad5; border-radius:8px; overflow:hidden; background:#fff; }
.search-row input { min-width:0; width:100%; border:0; background:#fff; color:var(--ink); padding:16px; font:400 16px var(--sans); border-radius:0; outline-offset:-3px; }
.search-row input::placeholder { color:#61728a; opacity:1; }
.search-row button { border:0; border-radius:0; min-width:96px; padding:16px 22px; }
.search-row button { background:var(--navy); font-family:var(--sans); text-transform:none; }
.search-results { max-width:100%; margin-top:12px; scroll-margin-top:24px; }
.search-results:empty { display:none; }
.result-row { padding:18px 20px; border:1px solid var(--line); border-top:0; background:#fff; gap:24px; border-radius:0; }
.result-row:hover { background:var(--navy-wash); text-decoration:none; }
.result-row strong { color:var(--navy); font:500 16px var(--mono); }
.result-row small { color:var(--ink-soft); font:400 14px/1.6 var(--sans); margin-top:5px; }
.result-row em { color:var(--muted); font:400 12px/1.5 var(--sans); max-width:170px; white-space:normal; }
.result-count { padding:12px 0; margin:0; color:var(--ink-soft); font-size:14px; border-bottom:1px solid var(--line); }
.all-results { display:block; padding:15px 20px; background:var(--navy-wash); font-size:14px; font-weight:600; }
.result-pagination { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:22px; }
.result-pagination span { color:var(--muted); font-size:13px; }
.search-category-field { margin-top:18px; max-width:370px; }
.search-category-field select,.catalog-filter input { width:100%; padding:12px 14px; background:#fff; color:var(--ink); border:1px solid var(--line-strong); border-radius:7px; font:400 16px var(--sans); }
.result-empty { padding:24px; background:var(--surface); border:1px solid var(--line); border-radius:8px; color:var(--ink-soft); font:400 15px/1.7 var(--sans); }
.result-empty strong { color:var(--ink); }
.home-main { padding-top:20px; }
.discovery-hero { display:grid; grid-template-columns:1fr 1.05fr; align-items:center; gap:16px; min-height:500px; padding:20px 0 32px; }
.discovery-copy { position:relative; z-index:1; padding-right:12px; }
.discovery-copy h1 { font-size:clamp(38px,4.6vw,60px); line-height:1.07; letter-spacing:-.055em; margin:0 0 24px; }
.discovery-copy h1 span { color:var(--navy); }
.discovery-copy .lede { max-width:43ch; margin:0; font-size:18px; }
.discovery-copy .search-form { margin-top:28px; }
.discovery-art { min-width:0; }
.discovery-art img { width:100%; height:auto; display:block; border-radius:20px; mix-blend-mode:multiply; }
.catalog-context { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:22px 0; border-block:1px solid var(--line); font-size:13px; color:var(--muted); }
.catalog-context p { margin:0; }
.catalog-context strong { color:var(--ink); font-weight:600; }
.equipment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.equipment-tile { display:grid; grid-template-columns:40px minmax(0,1fr) 20px; align-items:start; gap:16px; padding:25px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--navy); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.equipment-tile:hover { text-decoration:none; border-color:#98b5e0; transform:translateY(-3px); box-shadow:0 10px 24px #13233d08; }
.equipment-tile > .catalog-icon:first-child { width:34px; height:34px; }
.equipment-tile > .catalog-icon:last-child { width:18px; height:18px; color:var(--muted); }
.equipment-tile h3 { margin:0 0 10px; color:var(--ink); font-size:18px; letter-spacing:-.02em; }
.equipment-tile p { margin:0 0 14px; color:var(--muted); font-size:13px; line-height:1.6; }
.equipment-tile span { color:var(--navy); font:500 12px var(--sans); }
.equipment-tile.illustrated,.all-equipment .equipment-tile.illustrated { grid-template-columns:minmax(0,1fr) 18px; position:relative; overflow:hidden; padding:24px; background:#f5f8fd; }
.equipment-illustration { grid-column:1 / -1; width:100%; height:180px; object-fit:contain; mix-blend-mode:multiply; margin-bottom:12px; }
.equipment-tile.illustrated > .catalog-icon:last-child { align-self:end; }
.catalog-text-link { display:inline-flex; align-items:center; gap:10px; margin-top:24px; font-size:14px; font-weight:600; }
.catalog-text-link .catalog-icon { width:18px; height:18px; }
.reference-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; padding:52px 0; border-block:1px solid var(--line); }
.reference-intro h2 { max-width:10ch; margin:0 0 22px; font-size:42px; }
.reference-intro p { max-width:30ch; color:var(--muted); }
.reference-links { display:grid; gap:28px; }
.reference-links > a { display:grid; grid-template-columns:30px minmax(0,1fr) 20px; gap:20px; align-items:start; }
.reference-links > a:hover { text-decoration:none; }
.reference-links h3 { margin:0 0 8px; color:var(--ink); }
.reference-links p { margin:0; color:var(--muted); font-size:14px; }
.reference-links .catalog-icon:last-child { width:18px; height:18px; }
.featured-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.featured-part { display:block; background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.featured-part:hover { text-decoration:none; border-color:#9eb7de; }
.featured-photo { height:195px; display:flex; align-items:center; justify-content:center; padding:22px; border-bottom:1px solid var(--line); background:#fff; }
.featured-photo img { width:100%; height:100%; object-fit:contain; }
.featured-copy { padding:22px; }
.featured-copy > span { font-size:11px; color:var(--muted); }
.featured-copy h3 { margin:10px 0; font:500 21px var(--mono); color:var(--navy); overflow-wrap:anywhere; }
.featured-copy p { font-size:13px; line-height:1.6; color:var(--ink-soft); }
.featured-copy strong { display:flex; align-items:center; gap:9px; margin-top:24px; font-size:13px; font-weight:500; }
.featured-copy strong .catalog-icon { width:17px; height:17px; }
.reference-note { margin-top:64px; padding:30px 34px; border-radius:12px; border:1px solid #d4e0f4; background:var(--navy-wash); }
.reference-note h2 { font-size:22px; margin:0 0 12px; }
.reference-note p { max-width:85ch; font-size:14px; color:var(--ink-soft); }
.reference-note a { display:inline-flex; gap:10px; align-items:center; font-size:13px; }
.reference-note .catalog-icon { width:17px; height:17px; }
.breadcrumbs { font-size:12px; color:var(--muted); margin:0 0 24px; overflow-wrap:anywhere; flex-wrap:wrap; }
.part-hero { padding:32px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.part-hero-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(230px,.7fr); gap:40px; align-items:start; }
.part-number { font-family:var(--mono); letter-spacing:-.055em; overflow-wrap:anywhere; }
.part-hero h1 { font-size:clamp(30px,4.3vw,52px); margin:0 0 18px; }
.part-subtitle { color:var(--ink-soft); font-size:20px; line-height:1.5; max-width:52ch; }
.part-description-details { margin:15px 0; }
.part-description-details summary,.listing-titles summary { cursor:pointer; color:var(--navy); font-weight:500; font-size:14px; padding:8px 0; }
.part-description-details .lede { font-size:14px; }
.part-description-details .observed-config { margin-top:12px; }
.part-verification { font-size:13px; color:var(--muted); margin:20px 0; }
.part-resource-links { display:flex; flex-wrap:wrap; gap:10px 20px; font-size:13px; font-weight:500; }
.part-resource-links a { padding-block:7px; }
.part-photo-preview { background:#fff; border:1px solid var(--line); border-radius:10px; overflow:hidden; min-width:0; }
.part-photo-preview a { display:block; text-align:center; padding:18px; }
.part-photo-preview img { display:block; width:100%; height:240px; object-fit:contain; }
.part-photo-preview span { display:block; font-size:12px; padding-top:12px; color:var(--muted); }
.part-photo-empty { min-height:230px; display:flex; flex-direction:column; align-items:center; justify-content:center; font-size:13px; color:var(--muted); }
.quick-jump { position:sticky; top:0; z-index:20; border:1px solid var(--line); border-radius:8px; background:#fff; box-shadow:0 6px 16px #13233d06; gap:8px 20px; padding:14px 20px; margin:24px 0 0; }
.quick-jump a { font:500 13px var(--sans); color:var(--ink-soft); text-transform:none; }
.quick-jump::before { display:none; }
.quick-jump a { border:0; border-radius:5px; padding:8px 10px; }
.quick-jump a:hover { background:var(--navy-wash); }
.facts { gap:1px; border:1px solid var(--line); border-radius:10px; background:var(--line); overflow:hidden; grid-template-columns:repeat(3,minmax(0,1fr)); }
.fact { padding:20px; border:0; background:#fff; min-width:0; }
.fact > span { color:var(--muted); font:400 12px var(--sans); text-transform:none; margin-bottom:8px; }
.fact > strong { font:500 15px/1.6 var(--sans); overflow-wrap:anywhere; }
.spec-group,.document-card,.context-panel,.auction-stat,.archive-evidence-panel { border-color:var(--line); border-radius:10px; background:#fff; }
.spec-group { margin-bottom:22px; overflow:hidden; }
.spec-group-table { white-space:normal; }
.spec-group-table th,.spec-group-table td { padding:13px 18px; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.spec-group-table th { font-weight:500; background:var(--surface-sunk); }
.image-grid { gap:14px; }
.auction-image { border:1px solid var(--line); border-radius:10px; background:#fff; overflow:hidden; }
.auction-snapshot { gap:14px; }
.auction-stat { padding:22px; border:1px solid var(--line); }
.auction-stat span,.auction-stat small { font-family:var(--sans); text-transform:none; color:var(--muted); }
.auction-stat strong { font-family:var(--mono); font-size:25px; color:var(--ink); }
.archive-evidence-grid { grid-template-columns:1fr; }
.archive-evidence-panel { padding:24px; }
.listing-titles { width:100%; }
.auction-card { border-color:var(--line); border-radius:8px; }
.note { color:var(--muted); font:400 13px/1.65 var(--sans); }
.grid { gap:16px; background:none; border:0; }
.part-card { border:1px solid var(--line); border-radius:9px; background:#fff; padding:22px; min-width:0; }
.part-card:hover { background:var(--navy-wash); text-decoration:none; }
.part-card > strong { font:500 17px var(--mono); color:var(--navy); overflow-wrap:anywhere; }
.part-card > span { font-size:14px; line-height:1.6; }
.part-card .tag { border:0; background:transparent; color:var(--muted); font:400 11px var(--sans); padding:0; }
.part-card .tag-row { gap:14px; margin-top:15px; }
.catalog-filter { margin-bottom:24px; max-width:560px; }
.catalog-filter p { font-size:13px; color:var(--muted); margin:10px 0; }
.catalog-more { display:block; margin:28px auto 0; }
.all-equipment .equipment-tile { grid-template-columns:30px minmax(0,1fr) 16px; padding:22px; }
.all-equipment .equipment-tile > .catalog-icon:first-child { width:28px; height:28px; }
.ad-card { margin-top:64px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.ad-card-headline { font-size:23px; }
.footer { border-top:1px solid var(--line); background:#fff; }
.footer-inner { max-width:1280px; padding:36px 24px; gap:32px; }
.footer-inner strong { color:var(--ink); font:600 14px var(--sans); }
.footer-inner span { color:var(--muted); font:400 12px/1.7 var(--sans); }
.footer-links { gap:14px 22px; }
.footer-links a { font:500 12px var(--sans); }
.photo-unavailable { color:var(--muted); font-size:13px; }
@media (max-width:1050px) {
  .brand-subtitle { display:none; }
  .discovery-copy h1 { font-size:45px; }
  .discovery-hero { min-height:420px; }
  .equipment-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .reference-section { gap:44px; }
  .part-hero-grid { grid-template-columns:minmax(0,1fr) 240px; gap:25px; }
  .part-photo-preview img { height:200px; }
  .quick-jump { padding:12px 16px; }
}
@media (max-width:760px) {
  .header-inner { padding:14px 20px; min-height:72px; gap:14px; flex-direction:row; }
  .brand img { width:170px; }
  .nav { gap:16px; }
  .nav a { font-size:12px; }
  .nav a:last-child { padding:8px 10px; }
  .main { padding:24px 20px 44px; }
  .home-main { padding-top:8px; }
  .discovery-hero { grid-template-columns:1fr; gap:8px; padding:30px 0 20px; }
  .discovery-copy { padding:0; }
  .discovery-copy h1 { font-size:clamp(35px,7.6vw,50px); }
  .discovery-copy .lede { font-size:16px; max-width:43ch; }
  .discovery-art { max-width:540px; justify-self:center; }
  .discovery-art img { max-height:300px; object-fit:contain; }
  .search-row { grid-template-columns:minmax(0,1fr) auto; }
  .search-row input { padding:14px 12px; border:0; }
  .search-row button { min-width:80px; padding:14px; }
  .catalog-context { display:block; padding:20px 0; font-size:12px; }
  .catalog-context p + p { margin-top:8px; }
  .section { margin-top:44px; }
  .section-intro p { font-size:14px; }
  .equipment-tile { padding:22px; }
  .reference-section { grid-template-columns:1fr; gap:30px; padding:36px 0; }
  .reference-intro h2 { max-width:none; font-size:32px; }
  .reference-intro p { max-width:50ch; }
  .reference-links { gap:24px; }
  .reference-links h3 { font-size:18px; }
  .reference-links p { font-size:13px; }
  .reference-note { padding:24px; margin-top:44px; }
  .part-hero-grid { grid-template-columns:1fr; gap:22px; padding:24px; }
  .part-subtitle { font-size:18px; }
  .part-photo-preview { width:100%; max-width:400px; }
  .part-photo-preview img { height:220px; }
  .facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fact { padding:16px; }
  .fact strong { font-size:14px; }
  .panel { padding:24px; }
  .spec-group-table { display:table; width:100%; table-layout:fixed; }
  .spec-group-table th,.spec-group-table td { padding:12px; font-size:13px; }
  .section-head { flex-wrap:wrap; gap:10px; }
  .result-row { padding:16px; gap:10px; display:block; }
  .result-row em { display:block; max-width:none; margin-top:7px; }
  .result-pagination button { padding:10px 14px; }
  .footer-inner { grid-template-columns:1fr; padding:30px 20px; gap:24px; }
  .ad-card { margin-top:44px; }
}
@media (max-width:540px) {
  .brand img { width:145px; }
  .nav { gap:12px; }
  .nav a:last-child { background:none; border:0; padding:8px 0; }
  .equipment-grid,.grid { grid-template-columns:1fr; }
  .equipment-tile { grid-template-columns:34px minmax(0,1fr) 18px; }
  .equipment-tile p { max-width:30ch; }
  .equipment-tile.illustrated,.all-equipment .equipment-tile.illustrated { grid-template-columns:minmax(0,1fr) 100px; gap:14px; padding:20px; }
  .equipment-illustration { grid-column:2; grid-row:1; width:100px; height:140px; margin:0; align-self:center; }
  .equipment-tile.illustrated > div { grid-column:1; grid-row:1; align-self:center; }
  .equipment-tile.illustrated > .catalog-icon:last-child { display:none; }
  .featured-grid { gap:12px; }
  .featured-photo { height:150px; padding:14px; }
  .featured-copy { padding:16px; }
  .featured-copy h3 { font-size:17px; }
  .featured-copy p { font-size:12px; }
  .featured-copy strong { font-size:12px; gap:6px; }
  .facts { grid-template-columns:1fr; }
  .part-resource-links { gap:8px 15px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
@media print { .site-header,.footer,.quick-jump,.ad-card,.part-resource-links,.search-form,.catalog-filter,.catalog-more { display:none !important; } .main { max-width:none; padding:0; } .part-hero,.fact,.spec-group { break-inside:avoid; } }
