:root { --bg:#f6f7f9; --card:#fff; --text:#191b20; --muted:#6b7079; --line:#e7e8ec; --purple:#6558d9; --purple-soft:#eeecff; --green:#2aaa72; }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.6} a{color:inherit;text-decoration:none} a:hover{color:var(--purple)}
.shell{width:min(1040px,calc(100% - 36px));margin:0 auto}.profile-card,.card,.work-card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 2px 8px rgba(18,23,38,.035)}
.site-nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:30px}.site-nav>div{display:flex;gap:24px}.site-nav>div a{color:var(--muted);font-size:.82rem;font-weight:600}.wordmark{font-weight:750;font-size:1rem}.profile-card{margin-bottom:18px;overflow:hidden;display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.35fr)}.photo-wrap{min-height:430px;background:#e9ece9;overflow:hidden}.photo-wrap img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 38%}.profile-content{padding:48px 44px;display:flex;flex-direction:column;justify-content:center}.identity{margin:0}.intro-label{margin:0 0 9px;color:var(--purple);font-size:.73rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.name-line{display:flex;align-items:center;gap:9px}.name-line h1{max-width:430px;margin:0;font-size:2.45rem;line-height:1.08;letter-spacing:-.05em}.title{margin:13px 0 0;font-weight:650}.location{margin:2px 0 0;color:var(--muted);font-size:.87rem}.bio{max-width:580px;margin:22px 0;color:#4f545d}.profile-actions{display:flex;flex-wrap:wrap;gap:9px}.button{min-height:40px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:.82rem;font-weight:650}.button:hover{border-color:#c9c6eb;color:var(--purple)}.button.primary{background:var(--purple);border-color:var(--purple);color:#fff}.icon-button{padding:0 13px}
.content-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,.8fr);gap:18px;align-items:start}.main-column,.side-column{display:grid;gap:18px}.card{padding:25px}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:16px}.section-title h2,.compact-card h2{margin:0;font-size:1.05rem}.section-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--purple-soft);color:var(--purple)}.card p{margin:0 0 12px;color:#51565f}.card p:last-child{margin-bottom:0}.card p a,.publication a,.availability-card a{color:var(--purple);font-weight:600}
.outside-heading{padding:12px 4px 0;display:flex;justify-content:space-between;align-items:end}.outside-heading h2{margin:2px 0 12px;font-size:1.3rem}.outside-heading>span,.eyebrow{color:var(--muted);font-size:.74rem}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.work-grid{display:grid;gap:12px}.work-card{padding:18px;display:grid;grid-template-columns:78px 1fr;gap:17px}.project-mark{width:78px;height:78px;display:grid;place-items:center;border-radius:12px;font-size:.75rem;font-weight:800;letter-spacing:.08em}.mark-1{background:#e8ecff;color:#545cc7}.mark-2{background:#e7f4ee;color:#347d61}.work-copy h3{margin:1px 0 6px;font-size:1rem}.work-copy p{margin:0 0 12px;color:var(--muted);font-size:.88rem}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{padding:4px 7px;border-radius:5px;background:#f3f4f6;color:#5f646c;font-size:.68rem}
.publication{padding:18px 0;display:grid;grid-template-columns:52px 1fr;gap:14px;border-top:1px solid var(--line)}.publication:last-child{padding-bottom:0}.publication .year{color:var(--muted);font-size:.78rem}.publication h3{margin:0 0 5px;font-size:.93rem;line-height:1.45}.publication div p{font-size:.8rem}.publication a{font-size:.8rem}.compact-card{padding:20px}.focus-list{padding:0;margin:16px 0 0;display:flex;flex-wrap:wrap;gap:7px;list-style:none}.focus-list li{padding:7px 9px;background:#f4f4f7;border-radius:7px;color:#555a63;font-size:.75rem}.experience-item{padding:15px 0;border-top:1px solid var(--line);display:flex;flex-direction:column}.experience-item:first-of-type{margin-top:14px}.experience-item span{color:var(--muted);font-size:.72rem}.experience-item strong{margin-top:3px;font-size:.84rem}.experience-item p{font-size:.78rem}.availability-card{background:#fbfffd}.green-dot{width:8px;height:8px;display:inline-block;margin-right:5px;border-radius:50%;background:var(--green)}.availability-card>strong{font-size:.86rem}.availability-card p{margin:12px 0;font-size:.8rem}.availability-card a{font-size:.8rem}footer{padding:30px 4px 40px;display:flex;justify-content:space-between;color:var(--muted);font-size:.75rem}
@media(max-width:760px){.content-grid{grid-template-columns:1fr}.side-column{grid-row:auto}.profile-card{grid-template-columns:1fr}.photo-wrap{min-height:430px;max-height:520px}.profile-content{padding:34px 28px}.name-line h1{font-size:2rem}}
@media(max-width:500px){.shell{width:min(100% - 24px,1040px)}.site-nav{min-height:72px}.site-nav>div{gap:12px}.site-nav>div a:nth-child(3){display:none}.profile-actions{display:grid;grid-template-columns:1fr 1fr}.button.primary{grid-column:1/-1}.photo-wrap{min-height:340px}.work-card{grid-template-columns:1fr}.project-mark{width:64px;height:64px}.card{padding:20px}footer{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media (min-width: 600px) {
  .bio,
  #about p {
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
  }
}
