*{box-sizing:border-box}
:root{--bg:#f3f4f6;--card:#fff;--text:#171717;--muted:#6b7280;--border:#e5e7eb;--soft:#fafafa;--shadow:0 18px 55px rgba(0,0,0,.07)}
html{scroll-behavior:smooth}body{margin:0;min-height:100vh;padding:34px 18px;background:var(--bg);color:var(--text);font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit}.wrap{width:min(100%,520px);margin:auto}.profile-card,.section-card{background:var(--card);border:1px solid var(--border);border-radius:0;box-shadow:var(--shadow)}
.profile-card{padding:32px 24px 24px;text-align:center}.avatar{width:90px;height:90px;margin:0 auto 17px;border-radius:0;display:grid;place-items:center;overflow:hidden;border:1px solid var(--border);background:#f7f7f7;font-size:25px;font-weight:750}
.avatar img{width:100%;height:100%;object-fit:cover}h1{margin:0;font-size:27px;line-height:1.2;letter-spacing:-.45px}.role{margin:7px 0 2px;color:var(--muted);font-size:14px}.location{margin:0 0 16px;color:#8a8a8a;font-size:13px}.bio{max-width:410px;margin:0 auto;color:#444}
.section-card{margin-top:16px;overflow:hidden}.foldout-card{padding:0;scroll-margin-top:18px}.foldout-card>summary{position:relative;display:flex;align-items:center;gap:10px;min-height:64px;padding:18px 52px 18px 22px;cursor:pointer;list-style:none;font-size:18px;font-weight:750;user-select:none}.foldout-card>summary::-webkit-details-marker{display:none}.foldout-card>summary::after{content:'+';position:absolute;right:22px;top:50%;transform:translateY(-50%);width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--border);border-radius:0;color:#777;font-size:18px;font-weight:500;line-height:1;background:var(--soft);transition:.16s}.foldout-card[open]>summary::after{content:'−';background:#f1f1f1;color:#333}.foldout-card>summary:hover{background:#fafafa}.foldout-card>summary:focus-visible{outline:3px solid rgba(0,0,0,.14);outline-offset:-3px}.foldout-title{min-width:0}.foldout-count{display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 7px;border-radius:0;background:#f3f4f6;color:var(--muted);font-size:12px;font-weight:700}.foldout-content{padding:0 22px 22px;border-top:1px solid var(--border);animation:foldIn .16s ease}.foldout-content>p:first-child{margin-top:18px}.foldout-content>p:last-child{margin-bottom:0}@keyframes foldIn{from{opacity:.4;transform:translateY(-3px)}to{opacity:1;transform:none}}
.muted{color:var(--muted)}
.project,.download{padding:16px 0;border-top:1px solid var(--border)}.project:first-of-type,.download:first-of-type{border-top:0;padding-top:18px}.project:last-child,.download:last-child{padding-bottom:0}
.project-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.project h3,.download h3{margin:0;font-size:16px}.year{color:var(--muted);font-size:13px;white-space:nowrap}.project p,.download p{margin:7px 0 0;color:#4b5563;font-size:14px}
.text-link{display:inline-block;margin-top:8px;font-weight:650;text-decoration:none}.text-link:hover{text-decoration:underline}
form{display:grid;gap:11px;padding-top:18px}label{font-weight:650;font-size:13px}input,textarea{width:100%;padding:11px 12px;border:1px solid #d1d5db;border-radius:0;background:#fff;color:var(--text);font:inherit;resize:none}textarea{min-height:125px}
button{padding:12px;border:0;border-radius:0;background:#171717;color:#fff;font:inherit;font-weight:700;cursor:pointer}button:hover{opacity:.9}
.notice{padding:11px 12px;border-radius:0;margin:18px 0 0}.notice.ok{background:#ecfdf3;color:#166534}.notice.error{background:#fff1f1;color:#9b1c1c}
footer{padding:20px 8px 4px;text-align:center;color:#9ca3af;font-size:12px}.social-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 12px}.social-links a{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--border);border-radius:0;background:#fff;color:#555;text-decoration:none;transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease}.social-links a:hover{transform:translateY(-1px);background:#f8f8f8;border-color:#d4d4d4;color:#171717}.social-links a:focus-visible{outline:3px solid rgba(0,0,0,.14);outline-offset:2px}.social-links svg{width:18px;height:18px;display:block;fill:currentColor}.footer-copy{line-height:1.4}
@media(max-width:520px){body{padding:20px 12px}.profile-card{padding:27px 16px 18px}.foldout-card>summary{padding:17px 48px 17px 18px}.foldout-card>summary::after{right:18px}.foldout-content{padding:0 18px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.foldout-card>summary::after,.foldout-content{transition:none;animation:none}}
