/* Compact project presentation: keeps the complete offer visible without losing hierarchy. */
.case-card {
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
  margin-top: 38px;
  border-radius: 26px;
}

.case-visual {
  min-height: 510px;
}

.case-copy {
  padding: 30px 34px;
}

.case-copy h3 {
  margin: 12px 0;
  font-size: 34px;
}

.case-copy > p:not(.eyebrow):not(.billing-note) {
  font-size: 12px;
  line-height: 1.58;
}

.case-tags {
  gap: 6px;
  margin: 15px 0 0;
}

.case-tags span {
  padding: 7px 9px;
  font-size: 8px;
}

.case-offer {
  margin-top: 17px;
  padding: 15px 17px;
  border-radius: 16px;
}

.case-price {
  margin-top: 3px;
}

.case-price strong {
  font-size: 37px;
}

.case-price strong small {
  font-size: 15px;
}

.case-price span {
  padding-bottom: 4px;
  font-size: 11px;
}

.case-offer ul {
  gap: 5px;
  margin-top: 11px;
}

.case-offer li {
  gap: 7px;
  font-size: 9.5px;
  line-height: 1.4;
}

.case-actions {
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 13px;
}

.case-actions .button {
  min-height: 43px;
  padding-inline: 14px;
  font-size: 10px;
}

.billing-note {
  margin-top: 8px !important;
  font-size: 8.5px !important;
}

@media (max-width: 1050px) {
  .case-card {
    grid-template-columns: 1fr 1fr;
  }

  .case-visual {
    min-height: 480px;
  }

  .case-copy {
    padding: 28px;
  }
}

@media (max-width: 800px) {
  .case-card {
    grid-template-columns: 1fr;
    margin-top: 30px;
  }

  .case-visual,
  .case-card--law .case-visual {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .case-copy {
    padding: 28px 30px 30px;
  }
}

@media (max-width: 600px) {
  .case-card {
    border-radius: 22px;
  }

  .case-copy {
    padding: 23px 20px 24px;
  }

  .case-copy h3 {
    margin-block: 10px;
    font-size: 31px;
  }

  .case-tags {
    margin-top: 13px;
  }

  .case-offer {
    margin-top: 14px;
    padding: 14px;
  }

  .case-price strong {
    font-size: 34px;
  }

  .case-actions {
    grid-template-columns: 1fr;
  }
}
