.about-hero {
  margin-bottom: 34px;
  padding: 30px 32px;
  border: 1px solid rgba(73,177,245,.22);
  border-radius: 15px;
  background:
    linear-gradient(
      135deg,
      rgba(73,177,245,.08),
      rgba(255,255,255,.88) 58%
    );
}

.about-kicker {
  margin-bottom: 9px;
  color: #49b1f5;
  font-size: .8em;
  font-weight: 750;
  letter-spacing: .09em;
}

.about-name {
  margin-bottom: 8px;
  font-size: 2em;
  font-weight: 750;
}

.about-intro {
  max-width: 820px;
  line-height: 1.9;
  opacity: .8;
}

.about-route {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(0,0,0,.07);
  line-height: 1.85;
  font-size: .92em;
}

.about-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

.about-tag {
  padding: 6px 11px;
  border-radius: 999px;
  background: rgba(73,177,245,.10);
  color: #358cc4;
  font-size: .84em;
  font-weight: 650;
}

.about-quote {
  margin: 24px 0 32px;
  padding: 20px 22px;
  border-left: 4px solid #49b1f5;
  border-radius: 8px;
  background: rgba(73,177,245,.07);
  line-height: 1.9;
}

.about-section {
  margin: 30px 0 40px;
}

.about-section-number {
  margin-bottom: 7px;
  color: #49b1f5;
  font-size: .8em;
  font-weight: 750;
  letter-spacing: .07em;
}

.about-section p {
  line-height: 1.95;
}

.about-principles {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 14px;
  margin: 24px 0 34px;
}

.about-principle {
  padding: 20px 21px;
  border: 1px solid #e6e6e6;
  border-radius: 10px;
  background: rgba(255,255,255,.84);
}

.about-principle strong {
  display: block;
  margin-bottom: 7px;
  color: #358cc4;
  font-size: 1.04em;
}

.about-principle span {
  line-height: 1.75;
  opacity: .72;
}

.about-link-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 15px;
  margin: 24px 0 36px;
}

.about-link-card,
.about-link-card:visited {
  display: block;
  padding: 21px 22px;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  background: rgba(255,255,255,.84);
  color: inherit !important;
  text-decoration: none !important;
  transition: .2s ease;
}

.about-link-card:hover {
  transform: translateY(-2px);
  border-color: #49b1f5;
}

.about-link-label {
  margin-bottom: 6px;
  color: #49b1f5;
  font-size: .78em;
  font-weight: 700;
}

.about-link-title {
  margin-bottom: 6px;
  font-weight: 750;
}

.about-link-desc {
  font-size: .88em;
  line-height: 1.75;
  opacity: .68;
}

.about-sign {
  margin: 38px 0 12px;
  text-align: right;
  font-weight: 700;
}

@media (max-width: 768px) {
  .about-principles,
  .about-link-grid {
    grid-template-columns: 1fr;
  }

  .about-hero {
    padding: 23px 21px;
  }

  .about-name {
    font-size: 1.55em;
  }
}

/* =========================
   ASK ME · 问问站长
   ========================= */

.ask-intro {
  margin: 6px 0 22px;
  line-height: 1.95;
  opacity: .78;
}

.ask-form {
  margin: 24px 0 12px;
  padding: 28px 30px;

  border: 1px solid rgba(73,177,245,.22);
  border-radius: 15px;

  background:
    linear-gradient(
      135deg,
      rgba(73,177,245,.07),
      rgba(255,255,255,.9) 60%
    );
}

.ask-field {
  margin-bottom: 22px;
}

.ask-field label {
  display: block;

  margin-bottom: 9px;

  font-size: .93em;
  font-weight: 700;
}

.ask-required {
  color: #49b1f5;
}

.ask-optional {
  font-size: .88em;
  font-weight: 400;
  opacity: .55;
}

.ask-field input,
.ask-field textarea {
  width: 100%;

  box-sizing: border-box;

  padding: 12px 14px;

  border: 1px solid rgba(0,0,0,.12);
  border-radius: 9px;

  background: rgba(255,255,255,.88);

  color: inherit;
  font: inherit;

  line-height: 1.7;

  outline: none;

  transition:
    border-color .2s ease,
    box-shadow .2s ease,
    background .2s ease;
}

.ask-field textarea {
  min-height: 160px;
  resize: vertical;
}

.ask-field input::placeholder,
.ask-field textarea::placeholder {
  color: inherit;
  opacity: .36;
}

.ask-field input:focus,
.ask-field textarea:focus {
  border-color: #49b1f5;

  background: #fff;

  box-shadow:
    0 0 0 3px rgba(73,177,245,.10);
}

.ask-bottom {
  display: flex;

  align-items: flex-end;
  justify-content: space-between;

  gap: 20px;

  margin-top: 7px;
}

.ask-note {
  max-width: 520px;

  font-size: .82em;
  line-height: 1.75;

  opacity: .55;
}

.ask-submit {
  flex-shrink: 0;

  padding: 10px 20px;

  border: 1px solid #49b1f5;
  border-radius: 999px;

  background: #49b1f5;

  color: #fff;

  font-size: .9em;
  font-weight: 700;

  cursor: pointer;

  transition:
    transform .2s ease,
    box-shadow .2s ease,
    opacity .2s ease;
}

.ask-submit:hover {
  transform: translateY(-2px);

  box-shadow:
    0 6px 18px rgba(73,177,245,.22);
}

.ask-submit:disabled {
  cursor: default;
  opacity: .65;
  transform: none;
  box-shadow: none;
}

.ask-status {
  min-height: 24px;

  margin-top: 18px;

  font-size: .9em;
  font-weight: 650;
}

.ask-status.success {
  color: #358cc4;
}

.ask-status.error {
  color: #c75b5b;
}

.ask-honeypot {
  position: absolute !important;

  left: -9999px !important;

  width: 1px !important;
  height: 1px !important;

  opacity: 0 !important;

  pointer-events: none !important;
}


/* =========================
   Q&A
   ========================= */

.qa-empty {
  margin-top: 18px;

  padding: 20px 22px;

  border-left: 4px solid rgba(73,177,245,.65);
  border-radius: 8px;

  background: rgba(73,177,245,.055);

  font-size: .92em;
  line-height: 1.9;

  opacity: .7;
}


/* =========================
   Mobile
   ========================= */

@media (max-width: 768px) {

  .ask-form {
    padding: 22px 18px;
  }

  .ask-bottom {
    display: block;
  }

  .ask-submit {
    width: 100%;

    margin-top: 18px;

    padding: 12px 18px;
  }

}