@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600&family=Inter:wght@400;500;600&display=swap";:root{--bg:#fff;--surface:#fff;--ink:#787878;--muted:#a2a2a2;--line:#efefef;--accent:#49bf9d;--accent-hover:#5cc6a7;--accent-soft:#49bf9d1a;--header-bg:#1f1815;--header-text:#ffffff80;--nav-link:#333;--nav-height:56px;--btn-top:#3498db;--btn-bottom:#2980b9;--btn-hover-top:#3cb0fd;--shadow:0 1px 2px #0000000a, 0 8px 24px #0000000f;--radius:14px;--serif:"Fraunces", Georgia, serif;--sans:"Inter", system-ui, -apple-system, sans-serif;--sidebar:340px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.7}.page{animation:.45s both page-in}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.page{animation:none}}h1,h2,h3{font-family:var(--serif);margin:0;font-weight:600;line-height:1.25}p{margin:0 0 1em}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}ul{margin:0;padding:0;list-style:none}.icon:before{-webkit-font-smoothing:antialiased;font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;line-height:1;display:inline-block}.icon.solid:before{font-weight:900}.icon.brands:before{font-family:"Font Awesome 5 Brands"}#menu{z-index:100;height:var(--nav-height);background:var(--surface);border-bottom:1px solid var(--line);align-items:center;padding:0 32px;transition:box-shadow .2s;display:flex;position:sticky;top:0}#menu.is-scrolled{box-shadow:0 4px 16px #0000000f}#menu ul.nav-links{flex:1;align-items:center;gap:4px;display:flex}#menu a{color:var(--nav-link);padding:8px 14px;font-size:.95rem;font-weight:500;display:block;position:relative}#menu a:hover{color:#000;text-decoration:none}#menu a.active:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:2px;left:14px;right:14px}#menu .cv-item{margin-left:auto}#menu a.cv-button{background:var(--accent);color:#1f1815;border-radius:999px;padding:8px 18px;font-weight:600;transition:background .2s}#menu a.cv-button:hover{background:var(--accent-hover)}#menu .menu-toggle{display:none}@media (width>=981px){#menu ul.nav-links{margin-left:calc(var(--sidebar) + 56px - 14px)}}.layout{padding:48px 32px}#main{min-width:0;max-width:960px}@media (width>=981px){.layout{grid-template-columns:var(--sidebar) 1fr;align-items:start;gap:56px;display:grid}#header{top:calc(var(--nav-height) + 32px);position:sticky}}#header{background-color:var(--header-bg);color:var(--header-text);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;background-image:url(/images/overlay.png),url(/images/bg.jpg);background-position:0 0,50%;background-repeat:repeat,no-repeat;background-size:auto,cover;padding:32px 28px}#header .avatar{object-fit:cover;border:4px solid #ffffff26;border-radius:50%;width:148px;height:148px;margin:0 auto 20px;display:block}#header h1{color:#fff;font-size:1.6rem}#header .role{color:#ffffffd9;margin:8px 0 4px;font-weight:500}#header .role span{color:var(--header-text);font-weight:400}#header .pronouns{color:var(--header-text);font-size:.9rem;font-style:italic}#header .education{text-align:left;border-top:1px solid #ffffff26;margin-top:24px;padding-top:24px}#header .education h2{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--header-text);margin-bottom:12px;font-size:.75rem;font-weight:600}#header .education li{color:#ffffffd9;align-items:baseline;gap:10px;padding:4px 0;font-size:.95rem;display:flex}#header .education i{color:var(--accent);width:18px}#main section{scroll-margin-top:calc(var(--nav-height) + 24px);border-bottom:1px solid var(--line);margin-bottom:56px;padding-bottom:56px}#main section:last-child{border-bottom:0;margin-bottom:0}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-size:.75rem;font-weight:600;display:inline-block}#main h2{margin-bottom:24px;font-size:2.1rem}.lead{color:var(--ink);font-size:1.15rem}#about p{color:var(--muted);max-width:68ch}#about p.lead{color:var(--ink)}.cards{gap:20px;display:grid}@media (width>=737px){.cards.two-up{grid-template-columns:1fr 1fr}}.work-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:24px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.work-item:hover{box-shadow:var(--shadow);border-color:color-mix(in srgb, var(--accent) 30%, var(--line));transform:translateY(-2px)}.work-item .year{color:var(--accent);background:var(--accent-soft);border-radius:999px;align-self:flex-start;margin-bottom:14px;padding:2px 10px;font-size:.8rem;font-weight:600}.work-item .citation{flex:1;font-size:.95rem}.work-item .citation strong{color:var(--ink)}.work-item h3{margin-bottom:12px;font-size:1.35rem}.work-item .meta{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin-bottom:16px;font-size:.9rem;display:flex}.work-item .meta b{color:var(--ink);font-weight:600}.work-item .description{color:var(--muted)}.btn{background:linear-gradient(to bottom, var(--btn-top), var(--btn-bottom));color:#fff;border-radius:28px;align-self:flex-start;align-items:center;gap:8px;margin-top:8px;padding:8px 16px;font-size:.9rem;font-weight:500;display:inline-flex}.btn:hover{background:linear-gradient(to bottom, var(--btn-hover-top), var(--btn-top));text-decoration:none}.work-item .note{color:var(--muted);font-size:.85rem;font-style:italic}#form{gap:16px;max-width:640px;display:grid}#form .pair{gap:16px;display:grid}@media (width>=481px){#form .pair{grid-template-columns:1fr 1fr}}#form input[type=text],#form input[type=email],#form textarea{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}#form input:focus,#form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}#form input[type=submit]{font:inherit;color:#fff;background:var(--accent);cursor:pointer;border:0;border-radius:999px;justify-self:start;padding:12px 28px;font-weight:600;transition:filter .2s}#form input[type=submit]:hover{background:var(--accent-hover)}#form input[type=submit]:disabled{opacity:.6;cursor:wait}.form-status{color:var(--muted);margin:0;font-size:.95rem}.form-status.sent{color:#3f8f5a}.form-status.error{color:#c0392b}#footer{border-top:1px solid var(--line);text-align:center;color:var(--muted);margin-top:24px;padding-top:24px;font-size:.85rem}#footer .icons{justify-content:center;gap:10px;margin-bottom:12px;display:flex}#footer .icons a{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}#footer .icons a:hover{background:var(--accent);color:var(--surface);text-decoration:none}#footer .icons .label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}#header #footer{color:var(--header-text);border-top-color:#ffffff26}#header #footer .icons a{color:#ffffffd9;background:#ffffff1a}#header #footer .icons a:hover{background:var(--accent);color:#fff}#footer .copyright li{display:inline}#footer .copyright li+li:before{content:"·";margin:0 8px}@media (width<=980px){.layout{padding:32px 20px}#header{margin-bottom:48px}#menu{padding:0 20px}#menu ul.nav-links{margin-left:-14px}}@media (width<=736px){#menu{justify-content:flex-end;padding:0 16px}#menu .menu-toggle{width:40px;height:40px;color:var(--nav-link);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:1.4rem;display:flex}#menu .menu-toggle:before{content:"☰"}#menu.is-open .menu-toggle:before{content:"✕"}#menu ul.nav-links{top:var(--nav-height);background:var(--surface);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;margin-left:0;padding:8px 16px 16px;display:none;position:absolute;left:0;right:0;box-shadow:0 8px 16px #0000000f}#menu.is-open ul.nav-links{display:flex}#menu a.active:after{width:24px;right:auto}#menu .cv-item{margin:8px 0 0}#menu a.cv-button{text-align:center}#main h2{font-size:1.7rem}}
