:root{
  /* dark mode — matches the homepage palette */
  --white:#0e1622;--gray-bg:#131e2c;--charcoal:#eef2f8;--gray-text:#9aa6b8;--line:#26313f;
  --blue:#5aa9ff;--navy:#eef2f8;--gold:#c89b3c;--gold-cta:#DFB147;--gold-cta-deep:#c8982f;
  --radius:18px;--radius-sm:12px;--maxw:1080px;--ease:cubic-bezier(.4,0,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth;}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue","Segoe UI",Roboto,sans-serif;color:var(--charcoal);background:var(--white);line-height:1.5;letter-spacing:-0.01em;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.cat-nav{position:sticky;top:0;z-index:50;background:rgba(14,22,34,.82);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line);}
.cat-nav-inner{max-width:var(--maxw);margin:0 auto;padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.brand{font-size:1.05rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;display:flex;align-items:center;gap:8px;color:var(--navy);}
.brand .bstar{width:16px;height:16px;color:var(--gold);flex:none;transform:translateY(-1px);}
.brand .reg,.fname .reg{font-size:.55rem;font-weight:600;vertical-align:super;margin-left:1px;}
.cat-home{margin-right:auto;display:inline-flex;align-items:center;font-size:.82rem;font-weight:600;color:var(--charcoal);opacity:.9;border:1px solid var(--line);padding:6px 15px;border-radius:980px;transition:background .2s ease,border-color .2s ease,opacity .2s ease,color .2s ease;}
.cat-home:hover{opacity:1;color:#fff;background:var(--gold-cta);border-color:var(--gold-cta);}
.cat-links{display:flex;align-items:center;gap:20px;}
.cat-links a{font-size:.88rem;color:var(--charcoal);opacity:.85;}
.cat-links a:hover{opacity:1;color:var(--blue);}
.cat-links .cta{color:#fff!important;opacity:1;background:var(--gold-cta);padding:8px 16px;border-radius:980px;font-weight:600;font-size:.82rem;transition:background .2s ease,transform .2s ease;}
.cat-links .cta:hover{background:var(--gold-cta-deep);transform:translateY(-1px);}
@media(max-width:640px){.cat-links a:not(.cta){display:none;}}
.cat-main{padding:46px 0 70px;}
.crumbs{font-size:.82rem;color:var(--gray-text);margin-bottom:20px;}
.crumbs a{color:var(--blue);}
h1{font-size:clamp(2rem,5vw,3rem);font-weight:700;letter-spacing:-0.03em;line-height:1.07;}
.intro{margin:18px 0 26px;color:var(--gray-text);font-size:1.02rem;line-height:1.6;max-width:780px;}
.intro strong{color:var(--charcoal);font-weight:600;}
.cat-search{position:relative;max-width:600px;margin:0 0 40px;display:flex;align-items:center;gap:10px;height:52px;padding:0 16px;background:rgba(22,32,50,.6);border:1px solid var(--line);border-radius:26px;transition:border-color .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease);}
.cat-search:focus-within{background:rgba(22,32,50,.85);border-color:var(--gold-cta);box-shadow:0 0 0 4px rgba(223,177,71,.2);}
.cat-search svg{width:18px;height:18px;color:var(--gray-text);flex:none;}
.cat-search input{flex:1 1 auto;min-width:0;height:100%;border:none;background:none;outline:none;font-family:inherit;font-size:1rem;color:var(--charcoal);}
.cat-search input::placeholder{color:var(--gray-text);}
.cat-results{position:absolute;top:calc(100% + 10px);left:0;right:0;z-index:20;background:rgba(18,26,40,.96);backdrop-filter:saturate(160%) blur(15px);-webkit-backdrop-filter:saturate(160%) blur(15px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);box-shadow:0 10px 30px rgba(0,0,0,.5);max-height:380px;overflow-y:auto;padding:8px;}
.cr-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:var(--radius-sm);transition:background .2s ease;}
.cr-item:hover{background:rgba(255,255,255,.08);}
.cr-oem{font-weight:600;font-size:.95rem;color:#fff;}
.cr-hs{font-size:.84rem;color:var(--gold-cta);font-weight:600;}
.cr-empty{padding:16px;color:var(--gray-text);font-size:.9rem;line-height:1.5;}
.cr-empty a{color:var(--gold-cta);font-weight:600;}
.dir-h{font-size:1.2rem;font-weight:600;letter-spacing:-0.02em;margin:6px 0 16px;}
.page-dir,.brand-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;}
.page-dir a,.brand-grid a{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:14px 16px;background:var(--gray-bg);border:1px solid var(--line);border-radius:var(--radius-sm);transition:background .2s var(--ease),transform .2s var(--ease),border-color .2s var(--ease);}
.page-dir a:hover,.brand-grid a:hover{background:#18263a;border-color:#33425a;transform:translateY(-1px);}
.page-dir .pi,.brand-grid .bn{font-weight:600;font-size:.92rem;flex:none;}
.page-dir .pr,.brand-grid .bc{font-size:.78rem;color:var(--gray-text);text-align:right;font-variant-numeric:tabular-nums;}
.table-card{background:var(--gray-bg);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
table{width:100%;border-collapse:collapse;font-size:.93rem;}
thead th{text-align:left;font-weight:500;color:var(--gray-text);font-size:.76rem;letter-spacing:.01em;text-transform:uppercase;padding:16px 20px;border-bottom:1px solid var(--line);white-space:nowrap;}
tbody td{padding:16px 20px;border-bottom:1px solid var(--line);vertical-align:top;}
tbody tr:last-child td{border-bottom:none;}
tbody tr:target{background:rgba(223,177,71,.16);}
tbody tr:hover{background:rgba(255,255,255,.04);}
.oem,.equiv{font-weight:600;letter-spacing:-0.01em;white-space:nowrap;}
.equiv .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold-cta);margin-right:9px;vertical-align:middle;}
.spec-col{color:var(--gray-text);font-size:.88rem;line-height:1.5;}
.cat-note{margin-top:20px;font-size:.8rem;color:var(--gray-text);line-height:1.5;}
.pager{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:22px 0;}
.pager .pg{font-size:.9rem;font-weight:500;padding:9px 16px;border:1px solid var(--line);border-radius:980px;color:var(--charcoal);transition:border-color .2s var(--ease),background .2s var(--ease);}
.pager a.pg:hover{border-color:var(--gold-cta);background:var(--gray-bg);}
.pager .pg-off{font-size:.9rem;padding:9px 16px;color:var(--gray-text);opacity:.4;}
.pg-mid{font-size:.86rem;color:var(--gray-text);text-align:center;}
.pg-mid a{color:var(--blue);}
.cat-foot{background:var(--gray-bg);border-top:1px solid var(--line);padding:44px 0 0;margin-top:30px;}
.cat-foot-inner{max-width:var(--maxw);margin:0 auto;padding:0 24px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;}
.flogo{display:flex;align-items:center;gap:9px;}
.flogo .bstar{width:20px;height:20px;color:var(--gold);}
.fname{font-size:1.2rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);}
.fmeta{color:var(--gray-text);font-size:.82rem;line-height:1.7;}
.fmeta a{color:var(--blue);}
.legal{max-width:var(--maxw);margin:30px auto 0;padding:24px 24px 40px;border-top:1px solid var(--line);}
.legal p{color:var(--gray-text);font-size:.76rem;line-height:1.65;max-width:900px;}
.legal strong{color:var(--charcoal);font-weight:600;}
@media(max-width:680px){
  thead{display:none;}
  tbody tr{display:block;padding:14px 4px;border-bottom:1px solid var(--line);}
  tbody td{display:flex;flex-direction:column;gap:4px;padding:7px 20px;border:none;}
  tbody td::before{content:attr(data-label);color:var(--gray-text);font-size:.72rem;text-transform:uppercase;letter-spacing:.02em;font-weight:500;}
  .oem,.equiv{white-space:normal;}
}
