/* Fourth section only. Both rows share columns; only the upper contents scrub. */
.about-section { padding: var(--section-space) var(--gutter); overflow: clip; background: var(--paper); }
.about-section__layout { --about-columns: minmax(0, 2fr) minmax(0, 3fr); --about-column-gap: var(--space-48); --about-row-gap: var(--space-48); }
.about-section__upper, .about-section__details { display: grid; grid-template-columns: var(--about-columns); column-gap: var(--about-column-gap); }
.about-section__upper { align-items: center; }
.about-section__photo-slot, .about-section__copy-slot { min-width: 0; }
.about-section__portrait { position: relative; width: min(100%, 320px); aspect-ratio: 2 / 3; margin: 0; background: var(--color-photo-placeholder); border: var(--border-media); }
.about-section__portrait-image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.about-section__copy { padding-top: 0; }
.about-section__copy h2 { margin: 0; }
.about-section__intro { margin: var(--space-24) 0 0; color: var(--color-body); font-size: var(--font-body); line-height: var(--leading-body); letter-spacing: var(--tracking-body); }
.about-section__intro p { margin: 0; }
.about-section__intro p + p { margin-top: var(--paragraph-gap); }
.about-section__details { --resume-title-size: 22px; --resume-subtitle-size: 18px; --resume-body-size: 15px; --resume-meta-size: 13px; --resume-heading-weight: 500; --resume-body-leading: 1.6; align-items: start; margin-top: var(--about-row-gap); }
.about-section__resume-block { min-width: 0; border-top: var(--border-subtle); padding-top: var(--space-24); }
.about-section__resume-block h3 { margin: 0; color: var(--ink); font-size: var(--resume-title-size); font-weight: var(--resume-heading-weight); line-height: var(--leading-heading); letter-spacing: var(--tracking-heading); }
.about-section__resume-block p { margin: 0; color: var(--color-body); font-size: var(--resume-body-size); font-weight: var(--weight-regular); line-height: var(--resume-body-leading); letter-spacing: var(--tracking-body); }
.about-section__education { list-style: none; margin: var(--space-32) 0 0; padding: 0; }
.about-section__education-item + .about-section__education-item { margin-top: var(--space-24); border-top: var(--border-subtle); padding-top: var(--space-24); }
.about-section__education-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: var(--space-16); }
.about-section__education-heading h4 { margin: 0; min-width: 0; color: var(--ink); font-size: var(--resume-subtitle-size); line-height: var(--leading-heading); font-weight: var(--resume-heading-weight); letter-spacing: var(--tracking-heading); overflow-wrap: break-word; }
.about-section__education-date { justify-self: end; color: var(--muted); font-size: var(--resume-meta-size); font-weight: var(--weight-regular); line-height: var(--leading-small); text-align: right; white-space: nowrap; }
.about-section__education-item p { margin-top: var(--space-8); }
.about-section__education-heading + p { margin-top: var(--space-12); }
.about-section__skills { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: var(--space-32); margin-top: var(--space-32); }
.about-section__skill-stack { display: grid; gap: var(--space-32); }
.about-section__skill-group { min-width: 0; }
.about-section__skill-group h4 { margin: 0 0 var(--space-12); color: var(--ink); font-size: var(--resume-subtitle-size); line-height: var(--leading-heading); font-weight: var(--resume-heading-weight); letter-spacing: var(--tracking-heading); }
.about-section__skill-group ul { display: grid; gap: var(--space-8); list-style: none; margin: 0; padding: 0; color: var(--color-body); font-size: var(--resume-body-size); font-weight: var(--weight-regular); line-height: var(--resume-body-leading); letter-spacing: var(--tracking-body); }
.about-section__footer { display: flex; justify-content: flex-end; margin-top: var(--space-24); }
.about-section__cv { display: inline-flex; align-items: center; min-height: var(--control-size); gap: var(--link-gap); border-bottom: var(--border-subtle); padding: var(--space-8) 0; color: var(--color-link); font-size: var(--font-small); line-height: var(--leading-small); letter-spacing: var(--tracking-small); transition: color var(--duration-feedback) var(--ease-feedback), border-color var(--duration-feedback) var(--ease-feedback); }
.about-section__cv-arrow { display: inline-block; font-size: var(--link-arrow-size); transition: transform var(--duration-feedback) var(--ease-feedback); }
.about-section__cv:hover, .about-section__cv:focus-visible { color: var(--ink); border-color: currentColor; }
.about-section__cv:hover .about-section__cv-arrow, .about-section__cv:focus-visible .about-section__cv-arrow { transform: translate(2px, -2px); }
.about-section[data-about-ready] [data-about-part] { transform: translate3d(var(--about-x, 0px), var(--about-y, 0px), 0); opacity: var(--about-opacity, 1); }
@media (max-width: 760px) {
  .about-section { padding-block: var(--section-space); }
  .about-section__layout { --about-columns: minmax(0, 1fr); --about-row-gap: var(--space-32); }
  .about-section__upper { row-gap: var(--space-32); }
  .about-section__portrait { width: min(82%, 280px); }
  .about-section__intro { margin-top: var(--space-24); }
  .about-section__details { row-gap: var(--space-32); }
}
@media (min-width: 761px) and (max-width: 1024px) {
  .about-section__layout { --about-column-gap: var(--space-32); }
  .about-section__education-heading { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
  .about-section__skills { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .about-section__skills { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .about-section[data-about-ready] [data-about-part] { transform: none; opacity: 1; }
  .about-section__cv, .about-section__cv-arrow { transition: none; }
  .about-section__cv:hover .about-section__cv-arrow, .about-section__cv:focus-visible .about-section__cv-arrow { transform: none; }
}
