:root{--bg: #ffffff;--ink: #222222;--muted: #666666;--line: #eeeeee;--accent: #147da0;--accent-soft: #eaf6f9;--container: 800px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;font-family:Raleway,sans-serif;font-size:16px;line-height:1.65;color:var(--ink);background:var(--bg)}img{display:block;max-width:100%}a{color:var(--accent);text-decoration:none}a:hover,a:focus-visible{text-decoration:underline}p,h1,h2,ul{margin:0}p+p{margin-top:.8rem}strong{font-weight:600}.container{width:min(var(--container),calc(100vw - 2rem));margin:0 auto}.profile-header{display:grid;grid-template-columns:190px minmax(0,1fr);gap:2rem;align-items:center;margin:4.5rem 0 3.5rem}.profile-photo{display:block;border:1px solid var(--line)}.profile-photo img{aspect-ratio:1;width:100%;height:100%;object-fit:cover;object-position:center top}.profile-summary h1{margin-bottom:.1rem;font-size:2.7rem;font-weight:500;line-height:1.1}.profile-summary p{margin-top:0;margin-bottom:.18rem;color:var(--muted)}.site-nav{display:flex;flex-wrap:wrap;gap:2.1rem;height:4.3rem;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.site-nav a{font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}.docs-section{padding:3.2rem 0;border-top:1px solid var(--line)}.site-nav+.docs-section{border-top:0}.docs-section h2{margin-bottom:1rem;font-size:1.1rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.plain-list,.timeline-list,.contact-list{padding:0;margin:0;list-style:none}.plain-list{display:grid;gap:.9rem}.compact-list{margin-top:.9rem}.work-entry{margin-bottom:1.55rem}.work-entry:last-child{margin-bottom:0}.work-entry p{margin-top:0;margin-bottom:.18rem}.work-title span,.timeline-time,.contact-list span{color:var(--muted)}.work-title span:before{content:" / ";color:var(--muted)}.work-links,.work-entry em{color:var(--muted);font-size:.95rem}.timeline-list{position:relative;display:grid;gap:2.5rem;padding:1rem 0}.timeline-list:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:3px;background:linear-gradient(180deg,transparent,#444444 8%,#444444 92%,transparent);transform:translate(-50%)}.timeline-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);align-items:start}.timeline-node{grid-column:2;justify-self:center;z-index:1;width:1.35rem;height:1.35rem;margin-top:.45rem;border:4px solid var(--accent);border-radius:999px;background:var(--bg)}.timeline-card{display:grid;gap:.55rem;max-width:340px}.timeline-item--left .timeline-card{grid-column:1;justify-self:end;text-align:right}.timeline-item--right .timeline-card{grid-column:3;justify-self:start;text-align:left}.timeline-heading{display:inline-flex;flex-wrap:wrap;gap:.45rem;align-items:center}.timeline-item--left .timeline-heading{justify-content:flex-end}.timeline-heading strong{display:inline-block;padding:.35rem .65rem;border:1px solid var(--line);border-radius:7px;background:#fbfbfb;box-shadow:0 2px 4px #00000014;font-size:1.05rem;line-height:1.2}.timeline-time{padding:.2rem .45rem;color:var(--muted);background:#fafafa;font-size:.86rem}.timeline-card p{margin:0;color:var(--muted)}.contact-list{display:grid;gap:.35rem;margin-top:.8rem}.footer{padding:1.3rem 0 3rem;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:.92rem}@media(max-width:700px){body{font-size:15px}.profile-header{grid-template-columns:1fr;gap:1.2rem;margin:2rem 0 2.2rem}.profile-photo{width:190px}.profile-summary h1{font-size:2.2rem}.site-nav{height:auto;gap:.8rem 1.3rem;padding:1rem 0}.docs-section{padding:2.4rem 0}.timeline-list{gap:1.35rem;padding-left:1.1rem}.timeline-list:before{left:0;transform:none}.timeline-item{grid-template-columns:24px minmax(0,1fr)}.timeline-node{grid-column:1;width:1rem;height:1rem;margin-top:.55rem;border-width:3px}.timeline-item--left .timeline-card,.timeline-item--right .timeline-card{grid-column:2;justify-self:stretch;max-width:none;text-align:left}.timeline-item--left .timeline-heading{justify-content:flex-start}}
