/* Home / About — editorial direction B. Same content grid as Selected works. */
body.home-page .home-profile {
  width: min(var(--home-section-width, 1380px), calc(100% - clamp(48px, 8vw, 132px)));
  margin: 110px auto 56px;
  padding: 0;
  color: #111;
  font-family: Arial, "Microsoft YaHei", sans-serif;
}
.profile-editorial { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr); gap: 54px; align-items: stretch; }
.profile-copy { min-width: 0; }
.home-profile .profile-kicker { margin: 0 0 25px; color: #f33f1b; font-size: 17px; font-weight: 700; }
.home-profile h2 { margin: 0; font-size: clamp(68px, 8.4vw, 140px); font-weight: 800; line-height: .94; letter-spacing: -.065em; color: #111; text-transform: none; }
.home-profile h2 span { color: #f33f1b; }
.home-profile .profile-name { margin: 36px 0 7px; font-size: clamp(30px, 3.3vw, 50px); line-height: 1.2; font-weight: 700; }
.home-profile .profile-role { margin: 0; font-size: clamp(17px, 1.8vw, 26px); line-height: 1.5; color: #111; }
.home-profile .profile-bio { margin: 22px 0 36px; font-size: clamp(15px, 1.35vw, 20px); line-height: 1.8; color: #666; }
.profile-skills { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #bdbdbd; padding-top: 22px; }
.profile-skills article { padding: 0 18px; border-left: 1px solid #ddd; }
.profile-skills article:first-child { padding-left: 0; border-left: 0; }
.profile-skills article:last-child { padding-right: 0; }
.profile-skills article > span { color: #f33f1b; font-size: 15px; font-weight: 700; }
.home-profile .profile-skills h4 { margin: 9px 0 10px; font-size: clamp(17px, 1.65vw, 24px); line-height: 1.3; color: #111; }
.home-profile .profile-skills p { margin: 0; font-size: clamp(12px, .95vw, 14px); line-height: 1.8; color: #666; }
.profile-photo { position: relative; margin-top: 18px; margin-bottom: 0; min-height: 500px; }
.profile-photo-crop { height: 100%; overflow: hidden; background: #e5e5e5; }
.profile-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
.profile-photo::before, .profile-photo::after { content: ""; position: absolute; z-index: 1; width: 20px; height: 20px; pointer-events: none; }
.profile-photo::before { top: -9px; left: -9px; border-top: 3px solid #f33f1b; border-left: 3px solid #f33f1b; }
.profile-photo::after { bottom: -9px; right: -9px; border-bottom: 3px solid #f33f1b; border-right: 3px solid #f33f1b; }
.profile-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 46px; border-top: 1px solid #bdbdbd; padding-top: 24px; }
.home-profile .profile-footer p { margin: 0; font-size: 17px; color: #555; }
.profile-footer p span { margin: 0 9px; }
.profile-actions { display: flex; gap: 14px; }
.profile-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 11px 28px; border: 1px solid #111; border-radius: 999px; font-size: 16px; font-weight: 600; text-decoration: none; transition: background .2s ease, color .2s ease; }
.profile-actions .profile-action-primary { background: #f33f1b; border-color: #f33f1b; color: #fff; }
.profile-actions .profile-action-primary:hover { background: #d63213; border-color: #d63213; }
.profile-actions .profile-action-secondary { background: #fff; color: #111; }
.profile-actions .profile-action-secondary:hover { background: #111; color: #fff; }
.profile-actions a:focus-visible { outline: 3px solid #111; outline-offset: 5px; }
@media (min-width: 761px) and (max-width: 1100px) {
  .profile-editorial { gap: 32px; }
  .profile-photo { min-height: 450px; }
  .profile-skills article { padding-inline: 10px; }
}
/* Baseline small-screen fallback; desktop is the current design scope. */
@media (max-width: 760px) {
  body.home-page .home-profile { margin: 70px auto 40px; }
  body.home-page .home-selected,
  body.home-page .home-profile,
  body.home-page .home-experience-inner { width: calc(100% - 32px) !important; }
  .profile-editorial { grid-template-columns: 1fr; gap: 36px; }
  .home-profile h2 { font-size: clamp(58px, 12vw, 88px); }
  .profile-photo { height: 440px; min-height: 0; max-width: 380px; }
  .profile-skills { grid-template-columns: repeat(2, 1fr); gap: 24px 0; }
  .profile-skills article:nth-child(3) { border-left: 0; padding-left: 0; }
  .profile-footer { align-items: flex-start; flex-direction: column; }
}
