/* Shared interior-page design, matching the Bauhaus homepage. */
:root{--paper:#fff;--ink:#292929;--text:#292929;--muted:#57655b;--accent:#275d38;--accent-light:#eaf6f0;--gold:#ffdb05;--line:#cbd8ce;--soft:#f1f6f2;--max:1180px;--site-font:Aptos,Arial,sans-serif}
body{font-family:var(--site-font);background:white}h1,h2,h3{font-family:var(--site-font)}h1,h2{font-weight:500}.top-rule{height:8px}.site-header{background:white;border-bottom:1px solid #cbd8ce}.header-inner{min-height:75px;gap:24px}.brand{gap:13px}.brand-monogram{font-size:0;display:block;width:22px;height:22px;background:var(--accent);border-radius:50%;position:relative}.brand-monogram::after{content:'';position:absolute;width:9px;height:9px;background:var(--gold);right:-4px;bottom:-2px}.brand-name{color:var(--accent);font-size:16px;font-weight:600;letter-spacing:-.3px}.main-nav{gap:22px}.main-nav a{font-size:13px;color:var(--ink)}.main-nav a[aria-current=page]::after{height:4px;bottom:0;background:var(--gold)}.main-nav a:hover{color:var(--accent)}.menu-toggle{border-color:var(--line);border-radius:0}
.page-intro{position:relative;max-width:none;margin:32px 0 34px;padding:32px 38px 34px;background:var(--accent-light);border-left:6px solid var(--accent)}.page-intro::after{content:'';position:absolute;right:0;top:0;width:34px;height:34px;background:var(--gold)}.page-intro .eyebrow{font-size:10px;letter-spacing:.15em;margin-bottom:12px}.page-intro h1{font-size:clamp(36px,4vw,52px);line-height:1.1;letter-spacing:-1.6px;color:var(--accent);margin-bottom:14px}.page-intro>p{font-size:16px;line-height:1.6;max-width:820px;color:var(--ink)}
.eyebrow,.small-caps{font-size:10px;letter-spacing:.12em;font-weight:500}.section-heading{margin-bottom:24px}.section-heading h2{font-size:30px;letter-spacing:-.6px}.section-heading .eyebrow{margin-bottom:9px}.button{border-radius:0;padding:12px 18px;font-size:13px}.button:hover{background:#1d472a}.button-secondary:hover{background:var(--accent-light);color:var(--accent)}.jump-links{gap:14px 30px;border-bottom:1px solid var(--ink);padding-bottom:20px;margin-bottom:34px}.jump-links a{font-size:13px}.text-link{font-size:13px}.page-next{border-top:1px solid var(--ink)}.page-next>a{font-size:25px;color:var(--accent)}
.bio-layout{grid-template-columns:minmax(0,1.9fr) minmax(270px,1fr);gap:54px;padding-bottom:48px}.prose p,.prose p.prose-lead{font-size:16px;font-weight:400;line-height:1.85;letter-spacing:0;margin-bottom:24px;color:var(--ink)}.prose p.prose-lead{padding-bottom:0;border-bottom:0}.bio-aside{padding:26px;background:var(--soft);border-left:0;border-top:4px solid var(--accent);align-self:start}.timeline{margin-top:22px}.timeline li::before{background:var(--accent);width:8px;height:8px}.timeline h3{font-size:15px;font-weight:600}.timeline-date{font-size:12px;color:var(--accent)}.timeline p{font-size:13px}.affiliation-note h3{font-size:23px;line-height:1.3;font-weight:500;color:var(--accent)}
.filterbar{border-radius:0;background:var(--soft);border:1px solid var(--line);border-top:3px solid var(--accent);padding:20px;gap:14px}.filter-field>span{font-size:11px}.filter-field input,.filter-field select{background:white;border-radius:0;font-size:13px;min-height:44px}.reset-button{font-size:13px}.results-bar{font-size:12px}.section-note{font-size:12px;line-height:1.7}.year-group{grid-template-columns:120px minmax(0,1fr);gap:30px;padding-top:22px;border-top:1px solid var(--accent)}.year-label{font-size:28px;font-weight:500;letter-spacing:-.6px}.record{padding-top:12px;padding-bottom:28px}.record h3{font-size:22px;line-height:1.4;letter-spacing:-.35px;font-weight:500;max-width:920px}.authors,.venue{font-size:13px;line-height:1.8}.badge{border-radius:0;background:#f1f6f2;color:#3b5141;font-size:10px;border-color:var(--line)}.badge-status{background:#fff9cf;color:#554800;border-color:#e2d987}.record-meta{margin-bottom:11px}.record-actions{margin-top:13px}.manuscripts-section .record{margin-left:150px}.empty-state{border-radius:0;background:var(--soft)}
.grant-row{grid-template-columns:160px minmax(0,1fr) 120px;gap:26px;border-top-color:var(--line);padding:28px 0}.grant-body h3{font-size:22px;line-height:1.4;font-weight:500;letter-spacing:-.3px}.grant-amount{font-size:24px;font-weight:500}.grant-scheme{font-size:12px}.award-row{grid-template-columns:160px minmax(0,1fr) 150px;gap:26px}.award-row h3{font-size:18px;font-weight:500}.award-date{font-size:13px}.awards-section{padding-top:42px}.course-grid{gap:22px}.course-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--accent);padding:27px;position:relative}.course-card:nth-child(even){border-top-color:var(--gold)}.course-card h3{font-size:24px;font-weight:500;letter-spacing:-.4px;line-height:1.3}.course-code{font-size:12px}.course-meta{font-size:12px}.course-card>p{font-size:14px;line-height:1.85}.teaching-section{padding-top:44px}.workshop h3{font-size:24px;font-weight:500;line-height:1.4}.workshop>p:last-child{font-size:14px}.workshop .eyebrow{color:var(--accent)}
.contact-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:50px;padding-bottom:60px}.contact-primary{background:var(--accent);border-top:0;position:relative;padding:32px;color:white}.contact-primary::after{content:'';position:absolute;right:0;top:0;width:28px;height:28px;background:var(--gold)}.contact-primary h2,.contact-primary .eyebrow,.contact-primary .muted,.contact-primary a,.contact-primary button,.contact-help{color:white}.contact-primary h2{font-size:38px;letter-spacing:-1px;font-weight:500}.contact-email{font-size:clamp(17px,1.75vw,24px);font-weight:400}.contact-primary .button{background:var(--gold);color:var(--ink);border-color:var(--gold)}.contact-primary .button:hover{background:#ffe84a}.contact-help{opacity:.88;font-size:12px}.contact-appointment h3{font-size:17px;font-weight:600}.contact-appointment p{font-size:14px;line-height:1.7}.contact-affiliations{padding-top:0}.contact-affiliations>.eyebrow{margin-bottom:0}.contact-layout a:focus-visible,.contact-layout button:focus-visible{outline-color:var(--gold)}
.site-footer{background:var(--accent-light);border-top:1px solid var(--line)}.footer-inner{padding-top:30px;padding-bottom:28px}.footer-name{font-size:21px;font-weight:500;color:var(--accent)}.footer-meta>a,.back-to-top{font-size:13px}.footer-bottom{font-size:11px}.footer-inner p{font-size:12px}.toast{border-radius:0}.brand:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:var(--accent)}
@media(max-width:1320px){.header-inner,.site-main,.footer-inner,.footer-bottom{margin-left:4%;margin-right:4%}.main-nav{gap:17px}.brand-name{font-size:15px}}
@media(max-width:1100px){.brand-name{display:block}.main-nav{gap:12px}.main-nav a{font-size:12px}.header-inner{gap:16px}.bio-layout{gap:30px}.contact-layout{gap:30px}.year-group{grid-template-columns:95px minmax(0,1fr);gap:24px}.manuscripts-section .record{margin-left:119px}.grant-row{grid-template-columns:130px minmax(0,1fr) 100px}.award-row{grid-template-columns:130px minmax(0,1fr) 130px}}
@media(max-width:1000px){.header-inner{min-height:68px}.main-nav{gap:8px 22px}.main-nav a{font-size:14px}.page-intro{margin-top:25px}}
@media(max-width:760px){.header-inner,.site-main,.footer-inner,.footer-bottom{margin-left:6%;margin-right:6%}.page-intro{padding:24px 22px;margin:22px 0 26px;border-left-width:4px}.page-intro::after{width:24px;height:24px}.page-intro h1{font-size:36px;letter-spacing:-1px;overflow-wrap:normal}.page-intro>p{font-size:15px;line-height:1.6}.page-intro .eyebrow{font-size:9px}.bio-layout{grid-template-columns:1fr;gap:24px}.prose p,.prose p.prose-lead{font-size:16px;line-height:1.8}.bio-aside{padding:23px}.filterbar{padding:16px}.filter-field input,.filter-field select{font-size:14px}.year-group{grid-template-columns:1fr;gap:12px}.year-label{font-size:26px}.record h3{font-size:21px}.record-meta{gap:6px}.badge{font-size:9px;max-width:100%}.manuscripts-section .record{margin-left:0}.grant-row{grid-template-columns:minmax(0,1fr) auto;gap:12px 16px}.grant-meta{grid-column:1/-1}.grant-body h3{font-size:21px}.grant-amount{font-size:20px}.award-row{grid-template-columns:1fr;gap:10px}.award-amount{text-align:left}.course-card{padding:23px}.course-card h3{font-size:23px}.course-top{gap:12px}.course-level{text-align:right}.contact-layout{grid-template-columns:1fr;gap:28px}.contact-primary{padding:26px}.contact-primary h2{font-size:33px}.contact-email{font-size:19px}.footer-name{font-size:20px}.footer-bottom{font-size:10px}.section-heading h2{font-size:28px}.page-next>a{font-size:23px}}
@media(max-width:390px){.grant-row{grid-template-columns:1fr}.grant-amount{grid-column:1;padding-top:0}.brand-name{font-size:14px}.contact-email{font-size:17px}.page-intro h1{font-size:32px}}
@media(prefers-reduced-motion:no-preference){@keyframes page-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.page-intro{animation:page-arrive .5s ease-out both}.main-nav a,.text-link,.button{transition:color .18s ease,background-color .18s ease}.course-card{transition:border-color .2s ease}.course-card:hover{border-right-color:var(--accent);border-bottom-color:var(--accent);border-left-color:var(--accent)}}
@media print{.page-intro{background:white;border:0;padding:0;margin:0 0 24px}.page-intro::after{display:none}.bio-aside,.contact-primary{background:white;border:1px solid #ccc}.contact-primary h2,.contact-primary .eyebrow,.contact-primary .muted,.contact-primary a,.contact-help{color:#000}.year-group{grid-template-columns:75px 1fr}.manuscripts-section .record{margin-left:90px}}

/* Text links use the site's deep green without underlines. */
a{color:var(--accent);text-decoration:none}
a:hover,.text-link:hover,.jump-links a:hover{text-decoration:none}

/* Work history follows the education timeline. */
.work-experience{margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}
.work-experience h2.eyebrow{font-size:10px;letter-spacing:.12em;font-weight:500}
.work-experience .timeline p+p{margin-top:8px}

/* Keep funding amounts visually secondary to the award details. */
.grant-amount,.award-amount{font-size:13px;font-weight:400}

/* Quiet, tappable section shortcuts shared by Teaching and Grants. */
.jump-links{gap:10px;border-bottom:0;padding-bottom:0;margin-bottom:34px}
.jump-links a{
 min-height:44px;padding:10px 18px;border:1px solid #b8cbbd;border-radius:3px;
 background:var(--accent-light);color:var(--accent);font-size:13px;
 line-height:1.4;text-decoration:none;justify-content:center;
 transition:background-color .18s ease,border-color .18s ease;
}
.jump-links a:hover{background:#fff9cf;border-color:var(--accent);text-decoration:none}
.jump-links a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:760px){
 .jump-links{gap:8px;margin-bottom:28px}
 .jump-links a{padding:10px 13px;font-size:13px}
}

/* Minimal contact page with clear email, office and appointment groups. */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:54px;padding:4px 0 60px;align-items:start}
.contact-grid h2{font-size:20px;line-height:1.3;font-weight:500;color:var(--accent);margin:0 0 16px;letter-spacing:0}
.contact-card{padding:30px;background:var(--soft);border-top:3px solid var(--gold)}
.contact-address{display:block;font-size:clamp(16px,1.8vw,23px);line-height:1.5;overflow-wrap:anywhere;color:var(--accent)}
.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin-top:24px}
.contact-send{display:inline-flex;align-items:center;min-height:44px;padding:10px 17px;border:1px solid var(--accent);border-radius:3px;font-size:13px;color:var(--accent)}
.contact-send:hover{background:var(--accent-light)}
.contact-profiles{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.contact-profiles h2{font-size:16px;margin-bottom:12px}
.contact-profiles>div{display:flex;gap:24px;flex-wrap:wrap;font-size:14px}
.contact-details{padding-top:3px}
.office-location address{font-style:normal;font-size:16px;line-height:1.8;color:var(--ink)}
.contact-roles{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.contact-roles>div+div{margin-top:20px}
.contact-roles h3{font-size:15px;font-weight:500;color:var(--accent);margin-bottom:6px}
.contact-roles p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr;gap:30px;padding-bottom:40px}.contact-card{padding:24px}.contact-address{font-size:18px}.office-location address{font-size:15px}}
