:root{--bg:#fff;--ink:#111;--muted:#555;--msr-purple:#5c2d91;--line:var(--msr-purple);--accent:var(--msr-purple);--brand-font:"Sackers Gothic Medium","Century Gothic","Avenir Next",Arial,sans-serif;--max:760px}
*{box-sizing:border-box}
html{font-size:17px;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--ink)}
.site-header,main,footer{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.site-header{display:flex;align-items:center;justify-content:space-between;padding:32px 0 20px;border-bottom:1px solid var(--line)}
.site-name{color:var(--ink);font-family:var(--brand-font);font-weight:500;text-decoration:none;letter-spacing:.08em}
nav{display:flex;gap:24px;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
nav a{color:var(--muted);text-decoration:none}
nav a[aria-current="page"],nav a:hover{color:var(--ink)}
main{min-height:68vh;padding:64px 0 90px}
.intro{max-width:680px;margin-bottom:64px}
.eyebrow{margin:0 0 8px;color:var(--muted);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
h1,h2,h3,p{margin-top:0}
h1{margin-bottom:8px;font-family:var(--brand-font);font-size:clamp(2.25rem,6vw,3.25rem);line-height:1.08;letter-spacing:.045em;font-weight:500}
h1 span{display:block;margin-top:9px;color:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:.38em;font-weight:400;letter-spacing:.06em}
.role,.page-header>p:last-child{color:var(--muted);font-size:1.08rem}
.contact{margin-bottom:12px}.links{display:flex;gap:20px;font-size:.92rem}.profile-links{display:flex;align-items:center;gap:14px}.profile-links>a{display:inline-flex;width:24px;height:24px;border-radius:3px}.profile-links img{display:block;width:24px;height:24px;object-fit:contain}
.prose,.updates{border-top:1px solid var(--line);padding-top:30px;margin-top:48px}
h2{margin-bottom:15px;font-family:var(--brand-font);font-size:1.35rem;line-height:1.25;font-weight:500;letter-spacing:.045em}
.prose p{max-width:680px}.section-heading{display:flex;justify-content:space-between;align-items:baseline}.section-heading>a{font-size:.82rem}
.updates ol{list-style:none;margin:0;padding:0}.updates li{display:grid;grid-template-columns:100px 34px 1fr;gap:14px;align-items:center;padding:13px 0;border-top:1px dotted var(--line)}.update-logo{display:block;width:30px;height:30px;object-fit:contain;border-radius:2px}
time{color:var(--muted);font-size:.76rem;font-weight:600;line-height:1.65;text-transform:uppercase;letter-spacing:.04em}
.page-header{max-width:650px;margin-bottom:60px}.page-header h1{margin-bottom:16px}.page-header h1 span{display:inline}
.topic-list section{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:30px 0;border-top:1px solid var(--line)}
.topic-list h2{margin-bottom:8px}.topic-list p{margin:0;color:var(--muted)}
.topic-number{color:var(--accent);font:700 .72rem Arial,sans-serif;letter-spacing:.08em}
.empty-state{padding:56px 0;border-block:1px solid var(--line);text-align:center}.empty-state p{color:var(--muted)}.empty-state .empty-mark{color:var(--accent);font-size:2rem;margin-bottom:8px}
.cv-section{border-top:1px solid var(--line);padding-top:28px}.cv-row{display:grid;grid-template-columns:130px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.cv-row h3{margin-bottom:3px;font-size:1.1rem}.cv-row p{margin:0;color:var(--muted)}.cv-note{margin-top:45px;color:var(--muted)}
.experience{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:center}.brand-icon{width:52px;height:52px;object-fit:contain}.photo-logo{display:block;border-radius:2px}
.content-section{margin-top:64px}.content-section>.topic-list section:first-child{margin-top:8px}.topic-list h3{margin-bottom:8px;font-size:1.08rem}.publication-note{padding:22px 0}.publication-note p{margin:0;color:var(--muted)}
.blog-list article{padding:24px 0;border-top:1px solid var(--line)}.blog-list h2{margin:4px 0 6px}.blog-list h2 a{text-decoration:none}.blog-list p{margin:0;color:var(--muted)}
.article-page{max-width:680px}.article-body{font-size:1.02rem}.article-body p{margin-bottom:1.25em}
footer{display:block;padding:24px 0 42px;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}
@media(max-width:620px){.site-header{align-items:flex-start}.site-name{margin-top:1px}nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;text-align:right}main{padding-top:50px}.updates li{grid-template-columns:32px 1fr;gap:6px 12px}.updates li time{grid-column:1/-1}.cv-row{grid-template-columns:1fr;gap:5px}.topic-list section{grid-template-columns:38px 1fr}}
