/* Figma About 156:4316 / m-About 160:5556, composed in normal document flow. */
.about-main { min-height: 0; padding-block: 150px 60px; }
.about-intro { padding-bottom: 60px; border-bottom: 1px solid #ccc; }
.about-intro h1 { font-size: 80px; font-weight: 400; line-height: 82px; }
.about-intro-grid { display: grid; grid-template-columns: minmax(0,1fr) 287px; gap: 10px; align-items: end; margin-top: 48px; }
.about-intro-story { min-width: 0; }
.about-intro-story h2 { font-size: 28px; line-height: 26px; font-weight: 400; color: #666; }
.about-intro-copy { max-width: 817px; margin-top: 32px; font-size: 20px; line-height: 28px; text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.about-page .about-intro-copy p { text-box-trim: none; }
.about-page .nav-placeholder .is-active::after { transform: scaleX(1); }
.about-intro-copy p + p { margin-top: 20px; }
.about-contact { padding: 10px; min-width: 0; font-size: 18px; line-height: 26px; }
.about-contact-row + .about-contact-row { margin-top: 58px; }
.about-contact-label { color: #666; }
.about-contact-values, .about-cv { margin-top: 20px; }
.about-contact-values { display: flex; flex-direction: column; gap: 24px; }
.about-contact-values a { color: #333; text-decoration: none; text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.about-contact-values a:hover { text-decoration: underline; text-underline-offset: 4px; }
.about-cv-download { display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 12px 16px; border-radius: 4px; background: #333; color: white; font-size: 14px; line-height: 22px; text-decoration: none; transition: background-color .2s; }
.about-cv-download:hover { background: #555; }
.about-cv p { margin-top: 10px; text-align: center; color: #666; font-size: 14px; line-height: 20px; }
.about-sections { margin-top: 75px; }
.about-section { display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 48px; padding-bottom: 60px; border-bottom: 1px solid #ccc; }
.about-section + .about-section { margin-top: 60px; }
.about-section > h2 { align-self: start; font-size: 22px; line-height: 26px; font-weight: 400; letter-spacing: -.33px; }
.about-section-content { min-width: 0; }
.about-expertise { display: flex; flex-direction: column; gap: 40px; }
.about-expertise-group { display: grid; grid-template-columns: 182px minmax(0,1fr); gap: 30px; }
.about-expertise-group h3 { font-size: 18px; line-height: 26px; font-weight: 400; color: #666; }
.about-expertise-group ul { padding-left: 27px; font-size: 18px; line-height: 26px; text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.about-expertise-group li + li { margin-top: 8px; }
.about-entry { display: grid; grid-template-columns: 182px minmax(0,1fr); gap: 30px; }
.about-entry:not(:last-child) { padding-bottom: 40px; border-bottom: 1px solid #ccc; }
.about-entry + .about-entry { margin-top: 40px; }
.about-period { color: #666; font-size: 18px; line-height: 26px; }
.about-entry-content { min-width: 0; }
.about-entry-head { display: flex; flex-direction: column; gap: 12px; }
.about-entry-head h3 { font-size: 20px; line-height: 26px; font-weight: 600; }
.about-entry--earlier h3, .about-entry--education h3 { font-size: 18px; }
.about-company { color: #666; font-size: 14px; line-height: 18px; font-weight: 600; }
.about-description { margin-top: 32px; font-size: 16px; line-height: var(--reading-line); }
.about-entry-details { margin-top: 40px; }
.about-entry-details summary { display: none; }
.about-entry-list { color: #666; padding-left: 21px; font-size: 14px; line-height: 24px; text-box-trim: none; }
.about-entry-list strong { color: #333; font-weight: 500; }
.about-entry-list li + li { margin-top: 8px; }
@media (min-width: 621px) and (max-width: 1199px) {
  .about-main { padding-top: 144px; padding-bottom: 60px; }
  .about-intro h1 { font-size: 64px; line-height: 70px; }
  .about-intro-grid { grid-template-columns: 1fr; gap: 48px; align-items: start; }
  .about-intro-story h2 { font-size: 24px; line-height: 30px; }
  .about-intro-copy { max-width: none; font-size: 18px; line-height: 28px; }
  .about-contact { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; padding: 0; font-size: 16px; }
  .about-contact-row + .about-contact-row { margin-top: 0; }
  .about-cv { max-width: 280px; }
  .about-section { grid-template-columns: 140px minmax(0,1fr); gap: 32px; }
  .about-expertise-group, .about-entry { grid-template-columns: 1fr; gap: 24px; }
  .about-description { line-height: 28px; }
  .about-entry-list { line-height: 24px; }
  .about-entry-list li + li { margin-top: 12px; }
  .about-period { font-size: 16px; line-height: 24px; }
  .about-expertise-group ul { font-size: 16px; line-height: 26px; }
}
@media (max-width: 620px) {
  .about-main { padding-block: 115px 80px; }
  .about-intro { width: 100%; padding-inline: 20px; padding-bottom: 40px; }
  .about-intro h1 { font-size: 46.561px; line-height: 47.725px; }
  .about-intro-grid { display: flex; flex-direction: column; align-items: stretch; margin-top: 40px; gap: 80px; }
  .about-intro-story h2 { color: #666; font-size: 22px; font-weight: 500; line-height: 28px; letter-spacing: -.33px; }
  .about-intro-copy { margin-top: 24px; font-size: 18px; line-height: 26px; }
  .about-intro-copy p + p { margin-top: 24px; }
  .about-contact { padding: 0; }
  .about-contact-row { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 20px; align-items: start; }
  .about-contact-row + .about-contact-row { margin-top: 40px; }
  .about-contact-values, .about-cv { margin-top: 0; }
  .about-contact-values { gap: 32px; }
  .about-cv-download { min-height: 47px; font-size: 16px; }
  .about-sections { margin-top: 55px; width: 100%; }
  .about-section { display: flex; flex-direction: column; gap: 40px; padding: 0 20px 40px; }
  .about-section + .about-section { margin-top: 45px; }
  .about-section > h2 { font-size: 18px; line-height: 26px; font-weight: 500; letter-spacing: -.27px; }
  .about-section-content { margin-left: 20px; }
  .about-expertise-group { display: flex; flex-direction: column; gap: 20px; }
  .about-expertise-group h3 { font-size: 16px; line-height: 28px; font-weight: 500; }
  .about-expertise-group ul { padding-left: 21px; font-size: 14px; line-height: 24px; text-box-trim: none; }
  .about-expertise-group li + li { margin-top: 6px; }
  .about-entry { display: flex; flex-direction: column; gap: 20px; }
  .about-period { font-size: 14px; line-height: 20px; }
  .about-entry-head h3 { font-size: 18px; line-height: 28px; }
  .about-company { font-weight: 500; }
  .about-description { margin-top: 40px; font-size: 16px; line-height: 28px; }
  .about-entry-details { padding: 10px; background: #e8e8e6; border-radius: 10px; }
  .about-entry-details summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: var(--tap-size); padding: 10px; margin: -10px; cursor: pointer; list-style: none; color: #666; font-size: 14px; font-weight: 600; line-height: 24px; text-box-trim: none; }
  .about-entry-details summary::-webkit-details-marker { display: none; }
  .about-details-icon { display: flex; flex-shrink: 0; width: 24px; height: 16px; }
  .about-details-icon img { max-width: none; }
  .about-entry-details .details-up { display: none; }
  .about-entry-details[open] .details-up { display: block; }
  .about-entry-details[open] .details-down { display: none; }
  .about-entry-list { padding-left: 21px; color: #333; line-height: 24px; margin-top: 30px; }
  .about-entry-list strong { font-weight: 600; }
  .about-entry-list li + li { margin-top: 16px; }
}
@media (max-width: 380px) {
  .about-contact-row { grid-template-columns: 72px minmax(0,1fr); gap: 16px; font-size: 16px; }
  .about-cv p { font-size: 12px; line-height: 18px; }
}
@media (prefers-reduced-motion: reduce) { .about-cv-download { transition: none; } }
@media print {
  .about-main { padding-block: 0; }
  .about-page .site-header, .about-page .poc-footer, .about-entry-details summary { display: none; }
}
