/* ============================================================
   PROJECTS — EpoxyOn (engineering). 1:1 with OkFg3. Fluid / rem. Dark.
   ============================================================ */

/* Proj hero */
.epj-hero{ display:flex; flex-direction:column; gap:0.875rem; padding-block:3.5rem 2.75rem; }
.epj-crumb{ font-family:var(--font-display); font-weight:700; font-size:0.719rem; letter-spacing:.1em; color:var(--text-secondary); margin:0; }
.epj-title{ font-family:var(--font-display); font-weight:800; font-size:3.25rem; letter-spacing:-.01em; line-height:1; color:var(--text-primary); margin:0; }
.epj-sub{ font-size:0.9375rem; line-height:1.5; color:var(--text-secondary); max-width:35rem; margin:0; }

/* Featured */
.epj-featured{ display:flex; padding-block:0 3.5rem; }
.epj-feat-img{ flex:1 1 0; min-height:27.5rem; background-size:cover; background-position:center; border-radius:0.25rem 0 0 0.25rem; }
.epj-feat-info{ flex:0 0 26.875rem; display:flex; flex-direction:column; justify-content:center; gap:0.875rem; background:var(--surface); border-radius:0 0.25rem 0.25rem 0; padding:2.5rem 2.75rem; }
.epj-eyebrow{ font-family:var(--font-display); font-weight:700; font-size:0.719rem; letter-spacing:.12em; color:var(--text-secondary); margin:0; }
.epj-feat-t{ font-family:var(--font-display); font-weight:800; font-size:1.625rem; line-height:1.15; color:var(--text-primary); margin:0; }
.epj-feat-d{ font-size:0.875rem; line-height:1.6; color:var(--text-secondary); margin:0; }
.epj-feat-row{ display:flex; gap:1rem; padding-block:0.625rem; border-top:1px solid var(--line); }
.epj-feat-k{ flex:0 0 6.875rem; font-family:var(--font-display); font-weight:700; font-size:0.656rem; letter-spacing:.1em; color:var(--text-secondary); }
.epj-feat-v{ font-size:0.813rem; color:var(--text-primary); }
.epj-feat-lk{ font-family:var(--font-display); font-weight:700; font-size:0.781rem; letter-spacing:.03em; color:var(--text-primary); }
.epj-feat-lk:hover{ color:var(--brand); }

/* Case grid */
.epj-cases{ display:flex; flex-direction:column; gap:1.375rem; padding-block:3.5rem 4rem; }
.epj-hdr{ display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.epj-h2{ font-family:var(--font-display); font-weight:800; font-size:1.375rem; color:var(--text-primary); margin:0; }
.epj-hdr-c{ font-family:var(--font-display); font-weight:700; font-size:0.719rem; letter-spacing:.09em; color:var(--text-secondary); white-space:nowrap; }
.epj-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.125rem; }
.epj-case{ display:flex; flex-direction:column; gap:0.625rem; }
.epj-case-img{ display:block; height:14.375rem; background-size:cover; background-position:center; border-radius:0.25rem; }
.epj-case-n{ font-family:var(--font-display); font-weight:700; font-size:0.9375rem; color:var(--text-primary); }
.epj-case-m{ font-family:var(--font-display); font-weight:600; font-size:0.688rem; letter-spacing:.06em; color:var(--text-secondary); }
.epj-case-txt{ display:flex; flex-direction:column; gap:0.1875rem; }

/* Trusted (logo wall) */
.epj-trusted{ background:var(--surface); }
.epj-trusted .wrap{ display:flex; flex-direction:column; gap:1.125rem; padding-block:3rem; }
.epj-trust-t{ font-family:var(--font-display); font-weight:700; font-size:0.719rem; letter-spacing:.12em; color:var(--text-secondary); margin:0; }
.epj-logos{ display:grid; grid-template-columns:repeat(6,1fr); gap:1rem; }
.epj-logo-card{ display:flex; align-items:center; justify-content:center; background:#fff; border-radius:0.375rem; padding:0.875rem 1rem; }
.epj-logo{ display:block; width:100%; height:2.375rem; background-size:contain; background-position:center; background-repeat:no-repeat; }

/* CTA */
.epj-cta{ display:flex; flex-direction:column; align-items:center; gap:1.125rem; background:#171B17; padding:3.75rem 3rem; text-align:center; }
.epj-cta-eyebrow{ font-family:var(--font-display); font-weight:700; font-size:0.75rem; letter-spacing:.1em; color:rgba(255,255,255,.65); margin:0; }
.epj-cta-h{ font-family:var(--font-display); font-weight:800; font-size:1.875rem; color:#fff; max-width:44rem; margin:0; }
.epj-cta-btn{ margin-top:0.5rem; }

/* Responsive */
@media (max-width:1000px){
  .epj-title{ font-size:2.5rem; }
  .epj-featured{ flex-direction:column; }
  .epj-feat-img{ min-height:16rem; border-radius:0.25rem 0.25rem 0 0; }
  .epj-feat-info{ flex-basis:auto; border-radius:0 0 0.25rem 0.25rem; padding:2rem; }
  .epj-grid{ grid-template-columns:repeat(2,1fr); }
  .epj-logos{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:640px){
  .epj-grid{ grid-template-columns:1fr; }
  .epj-logos{ grid-template-columns:repeat(2,1fr); }
  .epj-hdr{ flex-direction:column; align-items:flex-start; gap:0.375rem; }
  .epj-hdr-c{ white-space:normal; }
}
