/* =========================================================
   Federico Castillo -- minimal academic theme
   Change colors in :root and the whole site updates.
   ========================================================= */

:root{
  --bg: #fcfcfd;
  --text: #1f2328;        /* near-black */
  --muted: #55606c;       /* gray for secondary text */

	--heading: #2b3440;
	--link: #0f766e;
	--link-hover: #115e59;
	--paper: #7c2d12;

  --card: #f6f8fa;        /* very light gray for subtle panels */
  --border: #e6e8eb;

  --maxw: 980px;
}

body{
  background: var(--bg);
  color: var(--text);
  font-family: Roboto, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.65;
  max-width: var(--maxw);
  margin: 48px auto 72px auto;
  padding: 0 20px;
}

/* ===== Simple Navbar ===== */
.navbar {
  display: flex;
  gap: 2rem;
  padding: 0 0 1rem 0;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--border);
}

.navbar a {
  text-decoration: none;
  color: var(--muted);
  font-size: 1rem;
  padding-bottom: 0.5rem;
  transition: color 0.2s;
}

.navbar a:hover {
  color: var(--text);
}

.navbar a.active {
  color: var(--text);
  border-bottom: 2px solid var(--link);
}

/* ===== Images ===== */
img{
  display: block;
  max-width: 320px;
  height: auto;
  border-radius: 10px;
}

/* ===== Headings ===== */
h1{
  color: var(--heading);
  margin: 0 0 10px 0;
  font-weight: 700;
  letter-spacing: -0.01em;
}

h2{
  color: var(--heading);
  margin: 28px 0 10px 0;
  font-weight: 700;
}

h3{
  color: var(--muted);
  margin: 22px 0 8px 0;
  font-weight: 700;
  font-size: 1.1rem;
  border-bottom: 1px solid var(--border);
  padding-bottom: 4px;
}

h3 + p {
  margin-top: 0.3rem;
}

/* ===== Links ===== */
a{
  color: var(--link);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

a:hover,
a:focus{
  color: var(--link-hover);
  text-decoration-thickness: 2px;
}

.paper{
  color: var(--paper);
  font-weight: 600;
}

/* ===== Paragraphs ===== */
p{
  margin: 0.6rem 0;
}

.header-lines p{
  margin: 0.25rem 0;
  color: var(--muted);
}

/* ===== Lists ===== */
.list li{ margin: 0.9rem 0; }
.list--tight li{ margin: 0.35rem 0; }

/* ===== Layout ===== */
.profile-section {
  display: flex;
  gap: 2rem;
  margin-bottom: 1.5rem;
  align-items: flex-start;
}

.content-section {
  margin-top: 1.5rem;
}

/* ===== Publications ===== */
.pubs ol, .pubs ul{
  padding-left: 1.4rem;
}

.pubs ol li, .pubs ul li{
  margin: 0.9rem 0;
  padding: 0.85rem 0.9rem;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--bg);
  line-height: 1.55;
}

a.paper{
  color: var(--heading);
  font-weight: 700;
  text-decoration: none;
}

a.paper:hover,
a.paper:focus{
  color: var(--link-hover);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 2px;
}

.pubs ol li b, .pubs ul li b{
  color: var(--muted);
  font-weight: 700;
}

.pubs ol[reversed] > li:first-child{
  background: var(--card);
}

.pub-link{
  color: var(--link);
  text-decoration: underline;
}

/* ===== Responsive ===== */
@media (max-width: 600px) {
  .navbar {
    gap: 1.5rem;
    justify-content: center;
  }

  .profile-section {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  img {
    max-width: 200px;
  }
}
