/* Final visual polish: education, honors, community, and display typography */

.name-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 9px;
}

.hero h1 {
  font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  font-weight: 700;
  letter-spacing: -0.045em;
  font-size: clamp(2.05rem, 4.4vw, 3.15rem);
  line-height: 1;
}

.nickname {
  color: #737983;
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 560;
  letter-spacing: .005em;
}

.brand {
  font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  font-size: 17px;
  font-weight: 700;
}

.top-nav { gap: 18px; }

.education-list { display: grid; gap: 0; }
.education-item {
  display: grid;
  grid-template-columns: 125px minmax(0, 1fr);
  gap: 24px;
  padding: 20px 0;
  border-top: 1px solid #eef0f3;
}
.education-item:first-child { border-top: 0; padding-top: 2px; }
.education-date {
  padding-top: 3px;
  color: var(--muted);
  font-size: 12.5px;
  font-variant-numeric: tabular-nums;
}
.education-body h3 {
  margin: 0 0 3px;
  font-size: 17px;
  line-height: 1.45;
  font-weight: 680;
  letter-spacing: -.012em;
}
.education-body h3 a { color: #1c1e21; }
.education-body h3 a:hover { color: var(--accent); }
.education-degree { margin: 0; color: #3f4348; font-size: 14.5px; }
.education-meta { margin: 3px 0 0; color: var(--muted); font-size: 12.5px; line-height: 1.55; }

.curvbench-visual {
  color: #f7f3ff;
  background: radial-gradient(circle at 25% 30%, rgba(255,255,255,.22), transparent 19%), linear-gradient(135deg, #43345e, #6f5d8f 50%, #b7a9ce);
}
.curvbench-visual::before { width: 210px; height: 92px; border-radius: 50%; transform: rotate(-13deg); }
.curvbench-visual::after { width: 92px; height: 210px; border-radius: 50%; transform: rotate(31deg); }
.highlight-links { display: flex; gap: 12px; flex-wrap: wrap; }
.highlight-links a { font-size: 13px; font-weight: 600; }

/* News: color is carried only by text; no pills, boxes, or borders. */
.news-list {
  gap: 4px;
}
.news-row {
  padding: 5px 0;
}
.news-date {
  color: #7b818a !important;
  font-weight: 560;
}
.news-text {
  color: #30343a !important;
  line-height: 1.6;
}
.news-emoji {
  display: inline-block;
  width: 1.55em;
  margin-right: 3px;
  transform: translateY(1px);
}
.news-accent-blue,
.news-accent-red {
  padding: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  font-weight: 720 !important;
}
.news-accent-blue {
  color: #1d5fbf !important;
}
.news-accent-red {
  color: #b4232f !important;
}

/* Honors: all entries remain equal in size; only importance changes color/emphasis. */
.honor-list { gap: 0; }
.honor-row {
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 22px;
  padding: 12px 0;
  border-top: 1px solid #f0f1f3;
}
.honor-row:first-child { border-top: 0; padding-top: 1px; }
.honor-date {
  padding-top: 3px;
  color: #8a8f97;
  font-size: 12.5px;
  font-weight: 560;
  font-variant-numeric: tabular-nums;
}
.honor-row h3 {
  margin: 0;
  color: #34373b;
  font-family: var(--sans);
  font-size: 14.5px;
  line-height: 1.55;
  font-weight: 540;
  letter-spacing: 0;
}
.featured-honor h3 {
  color: #b4232f !important;
  font-weight: 700;
}
.featured-honor h3::before {
  content: "🏆";
  display: inline-block;
  margin-right: 7px;
  font-size: 13px;
  transform: translateY(-1px);
}
.featured-honor:nth-child(1) h3::before,
.featured-honor:nth-child(2) h3::before {
  content: "🌟";
}
.honor-inline-note {
  display: inline-block;
  margin-left: 8px;
  padding: 3px 9px;
  border-radius: 999px;
  color: #fff !important;
  background: linear-gradient(135deg, #d21f3c, #a8112a);
  box-shadow: 0 3px 10px rgba(180, 35, 47, .18);
  font-size: 11.5px !important;
  line-height: 1.25;
  font-weight: 800 !important;
  letter-spacing: .02em;
  vertical-align: 1px;
}

.community-section { padding-bottom: 38px; }
.community-intro { margin: -4px 0 15px; color: #5d6167; font-size: 14px; }
.service-line {
  display: flex;
  align-items: baseline;
  gap: 15px;
  padding: 13px 16px;
  border: 1px solid #e8ebef;
  border-radius: 10px;
  background: #fafbfc;
  color: #34373b;
  font-size: 14px;
}
.service-label {
  flex: 0 0 auto;
  color: #1d4f8b;
  font-size: 11px;
  font-weight: 760;
  letter-spacing: .07em;
  text-transform: uppercase;
}

@media (max-width: 840px) {
  .top-nav a:nth-child(6) { display: none; }
}

@media (max-width: 720px) {
  .hero h1 { font-size: 2.35rem; }
  .nickname { font-size: 13.5px; }
  .top-nav a:nth-child(2),
  .top-nav a:nth-child(3),
  .top-nav a:nth-child(5),
  .top-nav a:nth-child(6) { display: none; }
  .education-item,
  .honor-row { grid-template-columns: 1fr; gap: 3px; }
  .education-item { padding: 17px 0; }
  .education-date,
  .honor-date { padding-top: 0; }
  .honor-row { padding: 10px 0; }
  .service-line { align-items: flex-start; flex-direction: column; gap: 3px; }
}
