:root {
  --light-background: #f8f9fa;
  --card-background: #ffffff;
  --text-primary: #212529;
  --text-secondary: #6c757d;
  --border-color: #dee2e6;
  --shadow-sm: 0 4px 10px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 8px 25px rgba(0, 0, 0, 0.1);
  --border-radius: 1rem;
}

body.light-theme {
  background-color: var(--light-background);
  color: var(--text-primary);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

main {
  padding-top: 88px;
}

.section-padding {
  padding: 5rem 1rem;
}

body.light-theme h1,
body.light-theme h2,
body.light-theme h3,
body.light-theme h4,
body.light-theme h5,
body.light-theme h6 {
  color: var(--text-primary);
}

.display-light {
  font-weight: 300;
  letter-spacing: -1.5px;
}

.lead-muted {
  color: var(--text-secondary);
  max-width: 600px;
  margin-inline: auto;
}

.content-card {
  background-color: var(--card-background);
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-sm);
  transition: all 0.3s ease;
  height: 100%;
}

.content-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-md);
}

.cta-button {
  background: #212529;
  color: white !important;
  padding: 14px 32px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  display: inline-block;
  border: none;
}
.cta-button:hover {
  background: #424242;
  transform: translateY(-2px);
}

/* --- Styles for 'Other Projects' Partial --- */
.horizontal-scroll-wrapper { display: flex; overflow-x: auto; padding-bottom: 1.5rem; scrollbar-width: none; -ms-overflow-style: none; }
.horizontal-scroll-wrapper::-webkit-scrollbar { display: none; }
.scroll-item { flex: 0 0 320px; margin-right: 1.5rem; }
.other-project-card { display: block; text-decoration: none; }
.other-project-card .content-card { overflow: hidden; }
.other-project-card:hover .content-card { transform: translateY(-8px); box-shadow: var(--shadow-md); }
.other-project-card-image-wrapper { overflow: hidden; }
.other-project-card img { transition: transform 0.35s ease; height: 180px; width: 100%; object-fit: cover; }
.other-project-card:hover img { transform: scale(1.05); }

/* Responsive adjustments for mobile padding */
@media (max-width: 768px) {
  .section-padding {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  main {
    padding-top: 70px;
  }
  .scroll-item { flex-basis: 280px; }
}
