.section-about {
  overflow: hidden;
}

.about-layout {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: var(--space-4xl);
  align-items: start;
  position: relative;
}

.about-bg-text {
  position: absolute;
  top: -5%;
  right: -5%;
  font-family: var(--font-display);
  font-size: clamp(6rem, 18vw, 14rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: transparent;
  -webkit-text-stroke: 1px var(--color-border);
  opacity: 0.4;
  pointer-events: none;
  line-height: 0.9;
  z-index: 0;
}

.about-portrait {
  position: relative;
  z-index: 1;
}

.about-portrait-frame {
  aspect-ratio: 3 / 4;
  max-width: 420px;
  overflow: hidden;
  position: relative;
  clip-path: polygon(0 8%, 100% 0, 100% 92%, 0 100%);
}

.about-portrait-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.05);
  transition: transform 1.2s var(--ease-reveal);
}

.about-portrait-frame:hover img {
  transform: scale(1);
}

.about-portrait-frame.no-image {
  background: var(--color-bg-card);
  display: flex;
  align-items: center;
  justify-content: center;
}

.about-portrait-frame.no-image::after {
  content: "Portrait";
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  color: var(--color-text-dim);
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.about-content {
  position: relative;
  z-index: 1;
  padding-top: var(--space-2xl);
}

.about-title {
  font-size: var(--text-3xl);
  margin-bottom: var(--space-xl);
  letter-spacing: 0.15em;
}

.about-bio {
  font-size: var(--text-lg);
  line-height: 1.8;
  color: var(--color-text);
  max-width: 52ch;
  margin-bottom: var(--space-3xl);
}

.about-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
  padding-top: var(--space-2xl);
  border-top: 1px solid var(--color-border);
}

.about-block h3 {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-accent-1);
  margin-bottom: var(--space-sm);
}

.about-meta {
  color: var(--color-text-dim);
  margin-bottom: var(--space-xs);
}

.about-link {
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  border-bottom: 1px solid var(--color-border);
  transition: border-color var(--duration-fast), color var(--duration-fast);
}

.about-link:hover {
  border-color: var(--color-accent-1);
  color: var(--color-accent-2);
}

.about-press-list li {
  display: flex;
  gap: var(--space-md);
  margin-bottom: var(--space-sm);
  font-size: var(--text-sm);
  color: var(--color-text-dim);
}

.press-year {
  font-family: var(--font-mono);
  color: var(--color-accent-1);
  min-width: 3ch;
}
