#hero {
  --section-hero-aside: 0.8fr;

  & .hero-overview {
    max-width: var(--content-wide);
  }

  & .tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;

    & > .tag-item {
      display: inline-flex;
      align-items: center;
      min-height: 34px;
      padding: 0 14px;
      border: var(--border-card);
      border-radius: var(--radius-pill);
      font-size: 0.85rem;
      font-weight: 600;
      color: var(--color-text-high);
      background: var(--color-card-prime);
    }
  }

  & > .snapshot-card {
    min-height: 100%;
    padding: 24px;
    border: var(--border-card);
    border-radius: var(--radius-card);
    background: var(--color-card-prime);

    & > .snapshot-kicker {
      font-size: 0.8rem;
      font-weight: 800;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--color-text-high);
    }
    & > .snapshot-title {
      margin-top: 14px;
      font-size: 1.55rem;
      font-weight: 600;
    }
    & > .snapshot-desc {
      margin-top: 12px;
      font-size: 0.98rem;
      line-height: 1.75;
      color: var(--color-text-high);
    }

    & > .snapshot-list {
      margin-top: 22px;
      border-top: var(--border-card);

      & > .snapshot-row {
        display: flex;
        gap: 10px;
        align-items: center;
        justify-content: space-between;
        min-height: 58px;
        border-bottom: var(--border-card);
        & > span {
          font-size: 0.9rem;
          color: var(--color-text-high);
        }
        & > strong {
          font-size: 0.9rem;
          font-weight: 600;
          text-align: right;
          color: var(--color-text-max);
        }
      }
    }
  }

  @media (width < 800px) {
    & .hero-actions {
      gap: 10px;
      &,
      & .primary-btn,
      & .secondary-btn {
        max-width: 100%;
      }
    }
    & .hero-desc,
    & .snapshot-desc {
      overflow-wrap: anywhere;
    }
    & .hero-overview,
    & > .snapshot-card {
      min-width: 0;
      max-width: 100%;
    }
    & > .snapshot-card {
      min-height: auto;
      padding: 22px;
      & .snapshot-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: 6px;
        align-items: start;
        min-height: auto;
        padding: 14px 0;
        & > span,
        & > strong {
          min-width: 0;
          overflow-wrap: anywhere;
        }
        & > strong {
          text-align: left;
        }
      }
    }
  }
}

#snapshot {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: var(--border-card);
  border-radius: var(--radius-card);
  background: var(--color-card-prime);
  & > .metric-item {
    min-height: 140px;
    padding: 24px;
    border-right: var(--border-card);
    & > span {
      display: block;
      font-size: 0.86rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--color-text-high);
    }
    & > strong {
      display: block;
      margin-top: 14px;
      font-size: 1.16rem;
      font-weight: 600;
      line-height: 1.75;
      color: var(--color-text-max);
    }
    &:last-child {
      border-right: 0;
    }
  }
  @media (width < 800px) {
    grid-template-columns: 1fr;
    overflow: hidden;
    & > .metric-item {
      min-width: 0;
      min-height: auto;
      border-right: 0;
      border-bottom: 1px solid var(--color-line);
      & :is(strong, span) {
        overflow-wrap: anywhere;
      }
      & > span {
        width: 100%;
        max-width: 100%;
        font-size: 0.98rem;
        word-break: break-all;
      }
      & > strong {
        font-size: 2rem;
      }
      &:last-child {
        border-bottom: 0;
      }
    }
  }
}

#skills {
  & > .resume-shell {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-card);
    color: var(--color-text-max);
    background: var(--color-card-prime);
    & > .resume-sidebar {
      padding: 28px 24px;
      border-right: 1px solid var(--color-line);
      background: var(--color-card-prime);
      & > .avatar {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 90px;
        height: 90px;
        border: 1px solid var(--line-strong);
        border-radius: calc(var(--radius) + 10px);
        font-size: 1.45rem;
        font-weight: 800;
        color: var(--color-text-prime);
        background: var(--color-card-max);
      }
      & > .profile-name {
        margin-top: 18px;
        font-size: 1.9rem;
        font-weight: 800;
        color: var(--color-text-max);
      }
      & > .profile-sub {
        margin-top: 7px;
        font-size: 0.96rem;
        color: var(--color-text-high);
      }
      & > .profile-role {
        margin-top: 10px;
        font-size: 0.94rem;
        line-height: 1.75;
        color: var(--color-text-high);
      }
      & > .side-section {
        margin-top: 24px;
        padding-top: 20px;
        border-top: 1px solid var(--color-line);
        & > .side-kicker {
          font-size: 0.8rem;
          font-weight: 800;
          letter-spacing: 0.1em;
          text-transform: uppercase;
          color: var(--color-text-high);
        }
        & > .side-title {
          margin-top: 8px;
          font-size: 1.22rem;
          font-weight: 600;
          color: var(--color-text-max);
        }
        & > .detail-list {
          display: grid;
          gap: 10px;
          margin-top: 13px;
          & > .detail-item {
            display: grid;
            gap: 4px;
            & > span {
              font-size: 0.82rem;
              color: var(--color-text-high);
            }
            & > strong,
            & > strong > a {
              font-size: 0.9rem;
              font-weight: 600;
              word-break: break-word;
              color: var(--color-text-max);
            }
            &.detail-item-edu > span {
              font-size: 0.86rem;
              line-height: 1.65;
            }
            &.detail-item-edu > strong {
              font-size: 0.95rem;
            }
          }
        }
      }
    }
    & > .resume-main {
      padding: 30px;
      & > .resume-section {
        & + .resume-section {
          margin-top: 24px;
          padding-top: 24px;
          border-top: 1px solid var(--color-line);
        }
        & > .resume-kicker {
          font-size: 0.8rem;
          font-weight: 800;
          letter-spacing: 0.1em;
          text-transform: uppercase;
          color: var(--color-text-high);
        }
        & > .resume-title {
          margin-top: 8px;
          font-size: 1.22rem;
          font-weight: 600;
          color: var(--color-text-max);
        }
        & > .timeline-panel {
          padding: 30px;
          border: 1px solid var(--color-line);
          border-radius: var(--radius-card);
          background: var(--color-card-prime);
          & > .timeline-item {
            padding-left: 18px;
            border-left: 1px solid var(--line-strong);
            & > .timeline-head {
              display: flex;
              flex-wrap: wrap;
              gap: 16px;
              align-items: baseline;
              justify-content: space-between;
              & > h3 {
                font-size: 1.18rem;
                font-weight: 600;
              }
              & > span {
                font-size: 0.86rem;
                font-weight: 600;
                color: var(--color-text-high);
              }
            }
            & > .timeline-role {
              margin-top: 8px;
              font-size: 1rem;
              font-weight: 600;
              color: var(--color-text-high);
            }
            & > .timeline-desc {
              margin-top: 12px;
              font-size: 1rem;
              line-height: 1.82;
              color: var(--color-text-high);
            }
          }
        }
        & > .skill-table {
          margin-top: 14px;
          & > .skill-row {
            display: grid;
            grid-template-columns: 160px minmax(0, 1fr);
            gap: 12px;
            align-items: center;
            min-height: 56px;
            border-bottom: 1px solid var(--color-line);
            &:first-child {
              border-top: 1px solid var(--color-line);
            }
            & > span {
              font-size: 0.82rem;
              font-weight: 800;
              letter-spacing: 0.08em;
              text-transform: uppercase;
              color: var(--color-text-high);
            }
            & > strong {
              font-size: 0.95rem;
              font-weight: 600;
              line-height: 1.75;
              color: var(--color-text-max);
            }
          }
        }
        & > .statement-box {
          margin-top: 14px;
          padding: 16px;
          border: 1px solid var(--line-strong);
          border-radius: var(--radius);
          font-size: 0.98rem;
          line-height: 1.82;
          color: var(--color-text-max);
          background: var(--color-card-prime);
        }
        & > .statement-text {
          margin-top: 24px;
          font-size: 0.96rem;
          line-height: 2.24;
          letter-spacing: 0.03em;
          color: var(--color-text-high);
        }
        & > .tag-list {
          display: flex;
          flex-wrap: wrap;
          gap: 10px;
          margin-top: 18px;
          & > .tag-item {
            display: inline-flex;
            align-items: center;
            min-height: 34px;
            padding: 0 14px;
            border: var(--border-card);
            border-radius: var(--radius-pill);
            font-size: 0.85rem;
            font-weight: 600;
            color: var(--color-text-high);
            background: var(--color-card-prime);
          }
        }
      }
    }
    @media (width < 800px) {
      grid-template-columns: 1fr;
      & > .resume-sidebar {
        padding: 22px;
        border-right: 0;
        border-bottom: 1px solid var(--color-line);
      }
      & > .resume-main {
        padding: 22px;
        & > .resume-section {
          & > .timeline-panel {
            padding: 22px;
          }
          & > .skill-table > .skill-row {
            grid-template-columns: 1fr;
            gap: 6px;
            padding: 10px 0;
          }
        }
      }
    }
  }
}

#addition {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) repeat(2, minmax(0, 0.5fr));
  grid-template-rows: repeat(2, minmax(148px, 1fr));
  overflow: hidden;
  margin-top: 32px;
  padding: 0;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-card);
  background: var(--color-card-prime);
  & > .addition-copy {
    grid-row: span 2;
    padding: 34px;
    border-right: var(--border-card);
    & > .kicker {
      color: var(--color-text-high);
    }
    & > h2 {
      margin-top: 12px;
      font-size: clamp(1.8rem, 3.4vw, 2.6rem);
      font-weight: 800;
      line-height: 1.08;
    }
    & > p:not(.kicker) {
      margin-top: 16px;
      font-size: 1.02rem;
      line-height: 1.82;
      color: var(--color-text-high);
    }
  }
  & > .addition-grid {
    display: contents;
    & > .addition-info {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      min-height: 148px;
      padding: 30px;
      border-right: var(--border-card);
      border-bottom: var(--border-card);
      background: var(--color-card-prime);
      transition: background-color var(--motion-fast);
      & > span {
        font-size: 0.92rem;
        font-weight: 800;
        color: var(--color-text-high);
      }
      & > strong {
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.52;
        color: var(--color-text-max);
      }
      &:nth-child(2n) {
        border-right: 0;
      }
      &:nth-last-child(-n + 2) {
        border-bottom: 0;
      }
    }
  }
  @media (width < 800px) {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    margin-top: 32px;
    & > .addition-copy {
      grid-row: auto;
      padding: 22px;
      border-right: 0;
      border-bottom: 1px solid var(--color-line);
    }
    & > .addition-grid {
      display: grid;
      grid-template-columns: 1fr;
      & > .addition-info {
        padding: 22px;
        border-right: 0;
        border-bottom: 1px solid var(--color-line);
        &:last-child {
          border-bottom: 0;
        }
      }
    }
  }
}
