/* Portfolio page-specific styles */
.portfolio-grid > article, .testimonials-grid > blockquote, .services-list > div, .process-list > li, .expertise-list > div, .portfolio-impact > div, .case-studies-list > article, .contact-grid > * {
  min-height: 100%;
}
.portfolio-grid img,
.case-studies-list img {
  border-radius: var(--radius-md);
  margin-bottom: var(--space-4);
  box-shadow: var(--shadow-sm);
}
.portfolio-grid h3,
.testimonials-grid h3,
.services-list h3,
.process-list h3,
.expertise-list h3,
.portfolio-impact h3,
.case-studies-list h3 {
  margin-top: 0;
}
.testimonials-grid blockquote {
  font-style: italic;
  color: var(--color-gray-700);
  position: relative;
}
h2 {
  text-align: center;
}
p, ul {
  margin: 0 auto;
  list-style: none;
  text-align: center;
}
.process-list {
  margin: 0 auto;
}
.testimonials-grid footer {
  margin-top: var(--space-2);
  font-size: var(--font-size-2);
  color: var(--color-gray-500);
}
.process-list li h3 {
  color: var(--color-primary);
  font-size: var(--font-size-4);
}
.expertise-list .card {
  border-left: 4px solid var(--color-primary);
}
.social-links {
  display: flex;
  gap: var(--space-3);
}
@media (max-width: 900px) {
  .portfolio-grid, .services-list, .expertise-list {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 600px) {
  .portfolio-grid, .testimonials-grid, .services-list, .process-list, .expertise-list, .portfolio-impact, .case-studies-list, .contact-grid {
    grid-template-columns: 1fr !important;
  }
  .card {
    margin-bottom: var(--space-6);
  }
}
form#portfolio-contact-form input, form#portfolio-contact-form textarea {
  margin-bottom: var(--space-2);
}
form#portfolio-contact-form button[type="submit"] {
  width: 100%;
  margin-top: var(--space-3);
}
.button-outline {
  background: transparent;
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
}
.button-outline:hover, .button-outline:focus-visible {
  background: var(--color-primary);
  color: #fff;
}
