.portfolio-page {}

.portfolio-hero-grid {
  display: grid;
  grid-template-columns: 0.4fr 0.6fr;
  gap: var(--space-4);
  align-items: center;
}

.portfolio-hero-text {
  max-width: 55ch;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.portfolio-hero-media img {
  width: 100%;
  height: auto;
}

@media (max-width: 1024px) {
  .portfolio-hero-grid {
    grid-template-columns: 1fr;
  }
}

.portfolio-intro-inner {
  max-width: 800px;
}

.portfolio-grid {
  column-count: 3;
  column-gap: var(--space-3);
}

.portfolio-card {
  break-inside: avoid;
  margin-bottom: var(--space-3);
  border: 1px solid var(--color-border-soft);
  background: var(--color-surface-secondary);
}

.portfolio-card img {
  width: 100%;
}

.portfolio-card-body {
  padding: var(--space-2);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

@media (max-width: 1024px) {
  .portfolio-grid {
    column-count: 2;
  }
}

@media (max-width: 640px) {
  .portfolio-grid {
    column-count: 1;
  }
}

.portfolio-character-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: var(--space-4);
}

.portfolio-character-block {
  max-width: 50ch;
}

@media (max-width: 900px) {
  .portfolio-character-grid {
    grid-template-columns: 1fr;
  }
}

.portfolio-entertainment-inner {
  max-width: 800px;
}

.portfolio-process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: var(--space-4);
}

.portfolio-process-step {
  max-width: 45ch;
}

@media (max-width: 900px) {
  .portfolio-process-grid {
    grid-template-columns: 1fr;
  }
}

.portfolio-diversity-inner {
  max-width: 800px;
}

.portfolio-cta {
  background: var(--color-cta-primary-bg);
  color: var(--color-cta-primary-text);
  text-align: center;
}

.portfolio-cta-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
}

.portfolio-cta h2,
.portfolio-cta p {
  color: var(--color-cta-primary-text);
}

.portfolio-card{border-radius:var(--radius-card);overflow:hidden;box-shadow:0 14px 42px rgba(16,37,53,.06);transition:transform .3s ease,box-shadow .3s ease}
.portfolio-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft)}
.portfolio-card img{transition:transform .6s ease}
.portfolio-card:hover img{transform:scale(1.035)}
.portfolio-character-block{padding-left:var(--space-2);border-left:2px solid var(--color-border-strong)}
