/* custom.css — load AFTER style.css and mobile.css. Overrides only; delete to revert.
   Palette from style.css: #077054 green, #21a51e heading green, #315f52 text, #99fa99 mint, #b6d8cf pale. */

/* ---------- Desktop only (mobile.css owns the hamburger menu below 919px) ---------- */
@media (min-width: 919px) {
	#header ul#navigation { display:flex; flex-wrap:wrap; justify-content:center; gap:.25rem 2rem; }
	#header ul#navigation li { display:block; margin:0; }
	#header ul#navigation li a { display:block; padding:.5rem .25rem; border-bottom:2px solid transparent; transition:border-color .2s, color .2s; }
	#header ul#navigation li a:hover,
	#header ul#navigation li a:focus-visible { border-bottom-color:#d3a3ff; }
	#header ul#navigation li.current a { border-bottom-color:#99fa99; }

	#body img.figure { width:260px; max-width:38%; height:auto; margin:.25rem 0 1rem 2rem; border-radius:6px; box-shadow:0 2px 10px rgba(0,0,0,.18); }
}

/* ---------- Body copy ---------- */
#body > h2 { padding-bottom:28px; }
.bio, .areas, .openings { max-width:46rem; }
.bio p { font-size:16px; line-height:1.7; margin:0 0 1.1rem; }

/* ---------- Research areas: native disclosure with chevron ---------- */
.areas { clear:both; margin-top:1.25rem; border-top:1px solid #cfe0d8; }
.areas details { border-bottom:1px solid #cfe0d8; }
.areas summary { list-style:none; cursor:pointer; padding:.9rem .25rem; font-size:17px; color:#077054; display:flex; align-items:center; gap:.75rem; }
.areas summary::-webkit-details-marker { display:none; }
.areas summary::before { content:""; width:.5rem; height:.5rem; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(-45deg); transition:transform .2s; flex:none; }
.areas details[open] > summary::before { transform:rotate(45deg); }
.areas summary:hover { color:#21a51e; }
.areas summary:focus-visible { outline:2px solid #077054; outline-offset:2px; }
.areas .pubs { padding:0 .25rem 1rem 1.5rem; }
.areas .pubs h3 { margin:.2rem 0 .6rem; font-size:13px; font-weight:bold; color:#5b7a6f; }
.areas .pubs ol { margin:0; padding-left:1.2rem; }
.areas .pubs li { margin:0 0 .7rem; line-height:1.5; font-size:14px; }
.areas .pubs li a { color:inherit; text-decoration:none; }
.areas .pubs li a:hover { text-decoration:underline; color:#c33; }
.areas .badge { color:#b42318; font-weight:bold; }

/* ---------- PhD openings callout ---------- */
.openings { margin-top:2.5rem; padding:1.25rem 1.5rem; background:#eef6f2; border-left:4px solid #077054; border-radius:0 6px 6px 0; }
.openings h2 { font-family:'nixie_oneregular', Georgia, serif; font-weight:normal; font-size:28px; line-height:1.2; color:#21a51e; margin:0 0 .75rem; }
.openings p { font-size:15px; line-height:1.65; margin:0 0 .75rem; }
.openings p:last-child { margin-bottom:0; }

/* ---------- Footer (original text was unreadable green-on-green) ---------- */
#footer { text-align:center; }
#footer img { vertical-align:middle; margin:0 .4rem; }
#footer span { color:#b6d8cf; font-size:13px; margin-left:.75rem; }

/* ---------- Tablet / phone ---------- */
@media (max-width: 918px) {
	.bio, .areas, .openings { margin-left:20px; margin-right:20px; }
	#body img.figure { max-width:70%; height:auto; margin:0 auto 1.5rem; border-radius:6px; }
}
@media (prefers-reduced-motion: reduce) { * { transition:none !important; } }

/* ---------- Publications page ---------- */
.intro { max-width:46rem; font-size:16px; line-height:1.7; margin:0 0 1rem; }
.jump { display:flex; flex-wrap:wrap; gap:.4rem 1.5rem; margin:0 0 .5rem; font-size:15px; }
.jump a { color:#077054; }
.pubs-list h3 { font-family:'nixie_oneregular', Georgia, serif; font-weight:normal; font-size:26px; line-height:1.2; color:#21a51e; margin:2.5rem 0 1rem; padding:0 0 .4rem; border-bottom:1px solid #cfe0d8; scroll-margin-top:1rem; }
.pubs-list h3 small { font-family:'latoregular', Arial, sans-serif; font-size:14px; color:#5b7a6f; margin-left:.5rem; }
.pubs-list ol { margin:0; padding-left:2.6rem; }
.pubs-list li { margin:0 0 .85rem; padding-left:.25rem; font-size:14.5px; line-height:1.55; }
.pubs-list li::marker { color:#88b4a8; font-size:13px; }
.pubs-list li a { color:inherit; text-decoration:none; }
.pubs-list li a:hover { color:#c33; text-decoration:underline; }
.pubs-list li a:focus-visible { outline:2px solid #077054; outline-offset:2px; }
.pubs-list .badge { display:inline-block; padding:0 .55rem; border-radius:99px; font-size:12px; font-weight:bold; background:#e3f5e1; color:#157a12; white-space:nowrap; }
.pubs-list .badge.nom { background:#fff1cf; color:#8a5a00; }
@media (max-width: 918px) { .intro, .jump, .pubs-list { margin-left:20px; margin-right:20px; } }

/* ---------- Mentoring page ---------- */
.mentoring-section { margin:0 0 2.5rem; }
.mentoring-section h2 { font-family:'nixie_oneregular', Georgia, serif; font-weight:normal; font-size:35px; line-height:1.1; color:#21a51e; margin:0 0 .5rem; padding:0; }
.mentoring-section h3 { font-family:'nixie_oneregular', Georgia, serif; font-weight:normal; font-size:26px; line-height:1.2; color:#21a51e; margin:0 0 1rem; padding:0 0 .4rem; border-bottom:1px solid #cfe0d8; }
.mentoring-section h4 { font-size:15px; color:#077054; margin:1.5rem 0 .4rem; }
.mentoring-section p { max-width:46rem; font-size:16px; line-height:1.7; margin:0 0 1rem; }
.mentoring-section ul { max-width:46rem; margin:0; padding-left:1.25rem; }
.mentoring-section li { margin:0 0 .5rem; font-size:15px; line-height:1.6; }
.team-grid { display:flex; flex-wrap:wrap; gap:28px; margin-top:1.5rem; }
.team-member { width:180px; margin:0; text-align:center; }
.team-member img { display:block; width:140px; height:160px; object-fit:cover; object-position:center top; margin:0 auto .75rem; border-radius:6px; box-shadow:0 2px 10px rgba(0,0,0,.18); }
.team-member figcaption { font-size:16px; font-weight:bold; line-height:1.4; }
.team-member figcaption span { display:block; font-size:14px; font-weight:normal; color:#5b7a6f; }
@media (max-width: 918px) { .mentoring-section { margin-left:20px; margin-right:20px; } }
@media (max-width: 480px) {
	.team-grid { gap:24px 16px; }
	.team-member { width:calc(50% - 8px); }
	.team-member img { width:120px; height:140px; }
}
