.projects { padding: 130px 4vw; overflow: hidden; }
.projects-head { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 3vw; align-items: end; margin-bottom: 65px; }
.projects-head h2 { margin: 0; font-size: clamp(45px, 5.8vw, 86px); font-weight: 500; line-height: .98; letter-spacing: -.06em; }
.projects-head h2 em { color: var(--lime); font-family: var(--serif); font-weight: 400; }
.projects-head p { margin: 0; color: #aeb1ac; line-height: 1.7; }
.project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.project-card { position: relative; display: flex; flex-direction: column; align-items: center; min-height: 340px; padding: 24px; background: #181a17; text-align: center; transition: background .3s; }
.project-card:hover { background: #20241c; }
.project-logo { display: flex; align-items: center; justify-content: center; width: 100%; height: 220px; padding: 30px; overflow: hidden; background: #fff; }
.project-logo img { display: block; width: auto; max-width: 100%; height: auto; max-height: 100%; object-fit: contain; object-position: center; }
.project-card--dark .project-logo { background: #080908; }
.project-name { margin-top: auto; padding-top: 26px; font-size: 15px; font-weight: 600; line-height: 1.4; }
.project-arrow { margin-top: 8px; color: var(--lime); transition: transform .25s; }
.project-card:hover .project-arrow { transform: translate(3px, -3px); }
.project-card--ledger .project-logo { background: #edf1e4; }
.project-card--ledger .project-logo img { width: 132px; }
.project-description { margin-top: 7px; color: #aeb1ac; font-size: 12px; line-height: 1.45; }
.project-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 15px; }
.project-actions a { padding: 8px 11px; border: 1px solid #3b3f38; color: #d9ddd5; font-family: var(--mono); font-size: 10px; letter-spacing: .04em; text-transform: uppercase; transition: border-color .2s, color .2s, background .2s; }
.project-actions a:hover { border-color: var(--lime); color: var(--lime); }
.project-status { display: inline-block; padding: 8px 11px; border: 1px solid #555b4c; color: var(--lime); font-family: var(--mono); font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.project-status--inactive { color: #b7bbb3; border-color: #454a40; }
.project-message { grid-column: 1 / -1; margin: 0; padding: 32px; background: #181a17; color: #b7bbb3; text-align: center; }
.project-actions .project-download { border-color: var(--lime); background: var(--lime); color: #10120f; }
.project-actions .project-download:hover { background: transparent; color: var(--lime); }

@media (max-width: 1050px) {
  .project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .projects-head { grid-template-columns: 1fr 2fr; }
  .projects-head p { grid-column: 2; }
}

@media (max-width: 800px) {
  .projects { padding: 90px 20px; }
  .projects-head { display: block; margin-bottom: 45px; }
  .projects-head h2 { margin: 35px 0 25px; }
  .project-grid { grid-template-columns: 1fr 1fr; }
  .project-card { min-height: 235px; padding: 12px; }
  .project-logo { height: 145px; padding: 18px; }
  .project-name { padding-top: 18px; font-size: 13px; }
  .project-arrow { margin-top: 6px; }
}

@media (max-width: 470px) {
  .project-grid { grid-template-columns: 1fr; }
  .project-card { min-height: 255px; }
  .project-logo { height: 175px; }
}
