body {
  font-family: inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;

  background: #1e1f24;
  /* medium dark gray */
  color: #e5e7eb;
  /* light text */
  display: flex;
  width: 50%;
  margin: 10px auto;
}

b {
  font-weight: 600;
  padding-top: 10px;
  color: #e5e7eb;
}

#hero>h1 {
  margin: 20px 0 20px 0;
  text-align: center;
  font-weight: 500;
  font-size: 27px;
  letter-spacing: 0.5px;
  color: #f9fafb;
}

#hero>p {
  color: #cbd5f5;
  /* softer light gray-blue */
  padding-bottom: 15px;
  font-weight: 400;
}

img {
  border-radius: 10px;
}

/* small pill heading */
.summary_header {
  display: inline-flex;
  width: 100px;
  justify-content: center;
  padding: 5px;
  border: 1px solid #4b5563;
  color: #e5e7eb;
  border-radius: 10px;
  font-weight: 500;
  background: #2d313a;
}

section {
  display: flex;
}

/* Left-column navigation links */
#links>a {
  display: block;
  margin: 10px 0 25px 0;
  text-align: center;
  font-size: 22px;
  color: #e5e7eb;
  /* light neutral */
  text-decoration: none;
  background: #262a33;
  border-radius: 10px;
  border: 1px solid #3b3f4a;
  transition: background 140ms ease, border-color 140ms ease, transform 80ms ease;
}

#links>a:hover {
  background: #111827;
  border-color: #38bdf8;
  /* cyan-ish accent on hover */
  transform: translateY(-1px);
}

/* Inline links in text (GitHub, Ben Eater, etc.) */
#right a {
  color: #38bdf8;
  /* cyan, readable on dark */
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

#right a:hover {
  color: #7dd3fc;
  /* lighter cyan on hover */
}

#left {
  margin-top: 15px;
  flex: 0 1 250px;
  align-content: flex-start;
  margin-right: 38px;
}

#btn {
  border: solid 1px #4b5563;
  border-radius: 10px;
  font-size: 20px;
  display: block;
  text-align: center;
  margin-bottom: 5px;
  background: #262a33;
}

#btn>a {
  color: #f9fafb;
  text-decoration: none;
}

#btn>* {
  display: block;
  padding: 12px;
}

/* cards on the left */
#left>section {
  display: flex;
  flex-direction: column;
  background: #262a33;
  /* card background */
  border-radius: 10px;
  padding: 8px 10px 5px 10px;
  width: 200px;
  margin-bottom: 15px;
  border: 1px solid #3b3f4a;
}

#right {
  flex: 1;
  display: flex;
  flex-direction: column;
  position: relative;
  justify-self: flex-end;
  float: right;
}

#right>* {
  display: flex;
  flex-direction: column;
}

/* paragraphs in main sections */
#about_me>p,
#experience>p {
  line-height: 1.2;
  font-size: 16px;
  color: #e5e7eb;
}

.section_divider {
  display: flex;
  align-items: center;
  text-align: center;
  color: #cbd5f5;
  gap: 1rem;
}

.section_divider::before,
.section_divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #4b5563;
}

/* contact pill */
#copy_me {
  background: #111827;
  border-radius: 9px;
  color: #e5e7eb;
  line-height: 24px;
}

#copy_me:not(.no-selection-style)::selection {
  background: transparent;
}

.mouseover {
  font-size: 14px;
  color: #a5b4fc;
  /* light accent when hovered */
}

/* ===== Responsive tweaks ===== */

/* Slightly relax the fixed 50% width on medium screens */
@media (max-width: 1200px) {
  body {
    width: 70%;
  }
}

/* Even looser on smaller laptops */
@media (max-width: 900px) {
  body {
    width: 90%;
  }
}

/* Stack columns on tablets / phones */
@media (max-width: 768px) {
  body {
    width: 100%;
    margin: 0;
    padding: 16px;
    flex-direction: column;
  }

  #left {
    margin: 0 0 16px 0;
    flex: none;
    align-self: stretch;
  }

  #left>section {
    width: 100%;
    /* hero + links cards stretch full width */
  }

  #right {
    float: none;
  }
}

/* Smaller phones: tighten fonts a bit */
@media (max-width: 480px) {
  #hero>h1 {
    font-size: 22px;
  }

  #links>a {
    font-size: 18px;
    margin: 8px 0 18px 0;
  }

  #about_me>p,
  #experience>p {
    font-size: 14px;
  }
}
