/* Shared academic website styles. No external fonts required. */
:root { --paper:#fcfbf8; --ink:#24332f; --muted:#5d6963; --accent:#285b4c; --line:#d9dfd8; }
body { background:var(--paper); color:var(--ink); font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:17px; line-height:1.75; }
#quarto-content { max-width:1160px; margin:auto; }
main.content { max-width:960px; padding-top:3rem; padding-bottom:3rem; }
h1,h2,h3,.navbar-brand { font-family:Georgia,"Times New Roman",serif; color:var(--ink); font-weight:400; }
h1 { font-size:2.8rem; letter-spacing:-.035em; margin-bottom:1.4rem; }
h2 { font-size:1.8rem; margin-top:2.8rem; padding-bottom:.65rem; border-bottom:1px solid var(--line); }
h3 { font-size:1.35rem; line-height:1.4; margin-top:2rem; }
a { color:var(--accent); text-underline-offset:4px; }
a:hover { color:#173b30; }
a:focus-visible,summary:focus-visible { outline:3px solid #a66b28; outline-offset:5px; }
.navbar { background:var(--paper)!important; border-bottom:1px solid var(--line); padding:1.1rem 0; }
.navbar-container { max-width:1160px; margin:auto; }
.navbar-brand { font-size:1.25rem; }
.navbar-nav .nav-link { color:var(--muted); font-size:.95rem; }
.navbar-nav .nav-link.active { color:var(--accent); text-decoration:underline; text-underline-offset:8px; }
.profile-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:4rem; align-items:start; }
.eyebrow { font-size:.72rem; letter-spacing:.14em; font-weight:650; color:var(--accent); margin-bottom:1.2rem; }
.eyebrow p { margin:0; }
.profile-text h1 { font-size:2.15rem; line-height:1.2; margin:0 0 .8rem; }
.position-line { color:var(--muted); font-size:.95rem; margin-bottom:1.7rem; }
.intro { font-size:1.28rem; line-height:1.55; font-family:Georgia,"Times New Roman",serif; }
.profile-photo { padding-top:.1rem; color:var(--muted); font-size:.85rem; }
.profile-photo img { width:100%; height:auto; border-radius:2px; }
.profile-photo p { margin-top:.8rem; }
.market-note { border-left:3px solid var(--accent); padding:.25rem 0 .25rem 1rem; margin:1.6rem 0; font-size:.95rem; }
.market-note p { margin:0; }
.profile-links p { display:flex; flex-wrap:wrap; align-items:center; gap:1.4rem; }
.primary-link { display:inline-block; background:var(--accent); color:white; padding:.6rem 1rem; text-decoration:none; font-size:.9rem; border-radius:2px; }
.primary-link:hover { background:#173b30; color:white; }
.text-link { font-size:.95rem; font-weight:550; }
.featured-paper { background:#eef2ec; border-top:3px solid var(--accent); padding:2rem 2.3rem; margin-top:3.4rem; }
.featured-paper h2 { margin:.5rem 0 .7rem; border:0; padding:0; font-size:1.8rem; line-height:1.35; }
.paper-meta,.section-note { color:var(--muted); font-size:.95rem; }
.contact-block { margin-top:2.5rem; }
.contact-block h2 { font-size:1.4rem; border:0; margin:0; }
.paper-abstract { border-bottom:1px solid var(--line); padding:0 0 1.4rem; margin-bottom:2rem; }
.paper-abstract summary { cursor:pointer; color:var(--accent); font-size:.95rem; width:fit-content; }
.paper-abstract[open] summary { margin-bottom:1rem; }
.course-list h3 { margin:1.5rem 0 .2rem; font-size:1.22rem; }
.course-list p { color:var(--muted); font-size:.95rem; padding-bottom:1rem; border-bottom:1px solid var(--line); }
table { font-size:.92rem; }
.nav-footer { border-top:1px solid var(--line); color:var(--muted); background:var(--paper); }
@media(max-width:767px) {
 main.content { padding-top:1.6rem; }
 .profile-grid { grid-template-columns:1fr; gap:1.6rem; }
 .profile-text h1 { font-size:2rem; }
 .profile-photo { max-width:250px; }
 .featured-paper { padding:1.4rem; margin-top:2rem; }
 .featured-paper h2 { font-size:1.5rem; }
 h1 { font-size:2.3rem; }
 .navbar-brand { font-size:1.05rem; }
 .contact-block a { overflow-wrap:anywhere; }
}

/* Let the About page use the container width, including Quarto's side columns. */
body.about-page #quarto-content > main.content {
  grid-column: screen-start-inset / screen-end-inset;
  width: 100%;
  max-width: none;
  min-width: 0;
}
@media (min-width: 768px) {
  body.about-page .profile-grid {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 330px);
    gap: clamp(2rem, 5vw, 4rem);
  }
}

/* About page: name, fields, job market paper card, and contact card. */
body.about-page .profile-text h1 { font-size:2.6rem; line-height:1.15; margin:0 0 .4rem; border:0; }
body.about-page .position-line p { margin:0; }
body.about-page .market-note { margin:1.2rem 0 1.8rem; }
.fields { color:var(--muted); font-size:.95rem; margin:1.4rem 0 0; }
.fields strong { color:var(--ink); font-weight:600; }
body.about-page .featured-paper { margin:2.2rem 0; }
body.about-page .featured-paper .eyebrow { margin-bottom:.4rem; }
body.about-page .featured-paper h2 { font-size:1.45rem; }
body.about-page .featured-paper h2 a { color:var(--ink); text-decoration:none; }
body.about-page .featured-paper h2 a:hover { color:var(--accent); text-decoration:underline; }
body.about-page .featured-paper .paper-meta p { margin:0 0 .9rem; font-style:italic; }
.contact-card { margin-top:1.4rem; padding-top:1.1rem; border-top:1px solid var(--line); font-size:.9rem; line-height:1.55; color:var(--ink); }
.contact-card p { margin:0 0 1rem; }
.contact-card a { overflow-wrap:anywhere; }
.contact-label { display:inline-block; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; font-weight:650; color:var(--accent); margin-bottom:.15rem; }
@media(max-width:767px) {
 body.about-page .profile-text h1 { font-size:2.1rem; }
 body.about-page .profile-photo { max-width:none; }
 body.about-page .profile-photo img { max-width:250px; }
}
body.about-page .position-line { font-size:1.05rem; margin-bottom:0; }
.jmp-line { margin:1.8rem 0; padding:1rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.jmp-line p { margin:0; }
.jmp-line a { font-family:Georgia,"Times New Roman",serif; font-size:1.15rem; }
.jmp-line .coauthor { font-style:italic; color:var(--muted); font-size:.95rem; }

/* Research page: lead sentence and paper cards. */
.lead p { font-family:Georgia,"Times New Roman",serif; font-size:1.3rem; line-height:1.5; color:var(--ink); margin-bottom:1rem; }
.paper { border-top:1px solid var(--line); padding:1.4rem 0 1.2rem; }
.paper h3 { margin:0 0 .35rem; font-size:1.3rem; }
.paper-meta p { color:var(--muted); font-size:.92rem; font-style:italic; margin:0 0 .8rem; }
.paper .paper-abstract { border-bottom:0; padding:0; margin:0; }
.paper .paper-abstract[open] { margin-bottom:.6rem; }
.paper-links p { margin:.9rem 0 0; }
.paper-links a { font-size:.9rem; font-weight:550; text-decoration:none; border:1px solid var(--accent); border-radius:2px; padding:.35rem .8rem; }
.paper-links a:hover { background:var(--accent); color:white; }
.paper.featured { background:#eef2ec; border-top:3px solid var(--accent); padding:1.6rem 1.8rem 1.5rem; margin-top:.5rem; }
.paper.featured h3 { font-size:1.45rem; }
h2 + .paper { border-top:0; padding-top:.6rem; }
@media(max-width:767px) {
 .paper.featured { padding:1.2rem; }
 .lead p { font-size:1.15rem; }
}

/* CV page summary. */

/* Compact PDF links immediately following paper titles. */
.paper h3 .paper-pdf { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size:.85rem; font-weight:500; white-space:nowrap; margin-left:.35rem; text-decoration:none; }
.paper h3 .paper-pdf:hover { text-decoration:underline; }

/* About page: tighten the space below the job market note so the footer fits on the first screen. */
body.about-page #quarto-content { grid-template-rows: [content-top] auto [content-bottom] 0 [page-bottom]; }
body.about-page main.content { padding-bottom: 1.5rem; margin-bottom: 0; }
body.about-page .market-note { margin-bottom: 0; }

/* Research page: topic labels within Working Papers. */
.topic-label { font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; font-weight:650; color:var(--accent); margin:2.2rem 0 .2rem; }
.topic-label p { margin:0; }

/* Teaching page: one line per course, term on the right. */
.course-lines ul { list-style:none; padding:0; margin:0 0 .5rem; }
.course-lines li { display:flex; justify-content:space-between; align-items:baseline; gap:1.5rem; padding:.7rem 0; border-bottom:1px solid var(--line); }
.course-lines .course-name strong { font-family:Georgia,"Times New Roman",serif; font-weight:400; font-size:1.08rem; color:var(--ink); }
.course-lines .course-name { color:var(--muted); font-size:.95rem; }
.course-lines .course-level { font-style:italic; margin-left:.3rem; }
.course-lines .course-term { color:var(--muted); font-size:.92rem; white-space:nowrap; }
@media(max-width:767px) {
 .course-lines li { flex-direction:column; gap:.1rem; }
 .course-lines .course-term { white-space:normal; }
}
.course-lines .syllabus-link { font-size:.85rem; font-weight:500; white-space:nowrap; margin-left:.4rem; text-decoration:none; }
.course-lines .syllabus-link:hover { text-decoration:underline; }

/* Teaching page width. Change 920px to make the column wider or narrower.
   Below about 880px, Comparative Economic Systems wraps onto two lines. */
body.teaching-page { --teaching-width: 880px; }
body.teaching-page #quarto-content > main.content {
  grid-column: screen-start-inset / screen-end-inset;
  width: 100%;
  max-width: var(--teaching-width);
  min-width: 0;
  justify-self: center;
}

/* About page: start the text level with the top of the photo. */
body.about-page .profile-text { padding-top: 30px; }

/* About page: LinkedIn and ResearchGate icon buttons under the job market note. */
.social-links p { display:flex; justify-content:center; gap:.7rem; margin:3rem 0 0; }
.social-icon { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:var(--accent); color:#fff !important; text-decoration:none !important; font-size:.95rem; line-height:1; transition:background .15s; }
.social-icon:hover, .social-icon:focus-visible { background:#173b30; }
.social-rg { font-family:Georgia,"Times New Roman",serif; font-size:.85rem; font-weight:600; letter-spacing:-.02em; }
.social-rg sup { font-size:.62em; top:-.45em; margin-left:.02em; }


/* Research page width. Change 920px to make the column wider or narrower. */
body.research-page { --research-width: 1100px; }
body.research-page #quarto-content > main.content {
  grid-column: screen-start-inset / screen-end-inset;
  width: 100%;
  max-width: var(--research-width);
  min-width: 0;
  justify-self: center;
}

/* Contact card: label on the left, value on the same line. */
.contact-card p { display:grid; grid-template-columns:5.2rem 1fr; align-items:baseline; margin:0 0 .9rem; }
.contact-card .contact-label { margin:0; }
.contact-card p:has(.social-row) { align-items:center; }
.contact-card .social-row { display:flex; gap:.6rem; align-items:center; }
