/* ═══ Companies Page Premium Styles ═══ */
.cp-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.cp-filter{padding:8px 18px;border-radius:24px;font-size:13px;font-weight:600;border:1px solid rgba(0,0,0,0.08);background:transparent;color:rgba(26,26,26,0.6);cursor:pointer;transition:all 0.3s;white-space:nowrap}
.cp-filter:hover{border-color:var(--maroon);color:var(--maroon)}
.cp-filter.active{background:var(--maroon);color:#fff;border-color:var(--maroon)}
.cp-search{margin-bottom:24px}
.cp-search input{width:100%;max-width:400px;padding:10px 16px;border:1px solid rgba(0,0,0,0.08);border-radius:12px;font-size:14px;background:transparent;color:inherit;transition:border-color 0.3s}
.cp-search input:focus{outline:none;border-color:var(--gold)}
.cp-search input::placeholder{color:rgba(0,0,0,0.3)}
#companiesGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:28px}
.cp-card{border-radius:16px;overflow:hidden;border:1px solid rgba(0,0,0,0.06);background:#fff;transition:all 0.4s cubic-bezier(0.4,0,0.2,1);opacity:0;transform:translateY(20px)}
.cp-card.visible{opacity:1;transform:translateY(0)}
.cp-card:hover{transform:translateY(-8px);box-shadow:0 20px 60px rgba(0,0,0,0.12);border-color:rgba(201,168,76,0.3)}
.cp-card-hero{position:relative;height:180px;display:flex;align-items:flex-end;padding:16px;overflow:hidden}
.cp-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cp-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,0.6) 100%)}
.cp-logo-wrap{position:absolute;top:14px;right:14px;width:48px;height:48px;background:rgba(255,255,255,0.95);border-radius:12px;padding:6px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,0.15);z-index:2}
.cp-logo{width:100%;height:100%;object-fit:contain}
.cp-hero-info{position:relative;z-index:2;display:flex;align-items:center;gap:8px}
.cp-industry{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:0.5px;backdrop-filter:blur(8px)}
.cp-est{font-size:11px;color:rgba(255,255,255,0.7);font-weight:600}
.cp-card-body{padding:20px}
.cp-name{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;color:var(--dark);margin-bottom:4px;line-height:1.2}
.cp-tagline{font-size:13px;color:var(--gold);font-style:italic;margin-bottom:14px;font-weight:500}
.cp-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.cp-metric{text-align:center;padding:8px 4px;background:rgba(0,0,0,0.02);border-radius:8px}
.cp-metric-val{display:block;font-size:16px;font-weight:700;color:var(--dark)}
.cp-metric-lbl{display:block;font-size:10px;color:rgba(0,0,0,0.4);margin-top:2px;text-transform:uppercase;letter-spacing:0.5px}
.cp-desc{font-size:13px;color:rgba(0,0,0,0.6);line-height:1.6;margin-bottom:12px}
.cp-features{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}
.cp-feat{font-size:12px;color:rgba(0,0,0,0.5);font-weight:500}
.cp-cta{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--accent,var(--maroon));text-decoration:none;padding:8px 0;border-top:1px solid rgba(0,0,0,0.04);width:100%;transition:gap 0.3s,color 0.3s}
.cp-cta:hover{gap:10px;color:var(--gold)}

/* ── Dark Theme ── */
.theme-dark .cp-filter{border-color:rgba(255,255,255,0.08);color:rgba(245,240,232,0.5)}
.theme-dark .cp-filter:hover{border-color:var(--gold);color:var(--gold)}
.theme-dark .cp-filter.active{background:var(--maroon);color:#fff}
.theme-dark .cp-search input{border-color:rgba(255,255,255,0.08);color:#F5F0E8}
.theme-dark .cp-search input::placeholder{color:rgba(245,240,232,0.3)}
.theme-dark .cp-card{background:rgba(255,255,255,0.03);border-color:rgba(255,255,255,0.06)}
.theme-dark .cp-card:hover{border-color:rgba(201,168,76,0.25);box-shadow:0 20px 60px rgba(0,0,0,0.3)}
.theme-dark .cp-name{color:#F5F0E8}
.theme-dark .cp-metric{background:rgba(255,255,255,0.04)}
.theme-dark .cp-metric-val{color:#F5F0E8}
.theme-dark .cp-metric-lbl{color:rgba(245,240,232,0.4)}
.theme-dark .cp-desc{color:rgba(245,240,232,0.5)}
.theme-dark .cp-feat{color:rgba(245,240,232,0.45)}
.theme-dark .cp-cta{border-top-color:rgba(255,255,255,0.06)}

@media(max-width:768px){
  #companiesGrid{grid-template-columns:1fr;gap:20px}
  .cp-card-hero{height:150px}
  .cp-metrics{grid-template-columns:repeat(3,1fr)}
}
