:root{--ink:#172638;--muted:#536275;--blue:#174dc8;--pale:#edf3ff;--line:#d9e1ec;--paper:#fff;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;line-height:1.7}a{color:var(--blue);text-underline-offset:.25em}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.shell{max-width:1120px;padding:0 40px;margin:auto}.skip{position:absolute;top:-6rem;left:1rem;background:white;padding:1rem;z-index:10}.skip:focus{top:1rem}header{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--line);padding:1.6rem 0}.identity{text-decoration:none;color:var(--ink);font-weight:650;letter-spacing:-.025em;display:flex;align-items:center;gap:.8rem}.monogram{display:grid;place-items:center;background:var(--ink);color:white;width:36px;height:36px;font-family:var(--mono);font-size:.8rem;border-radius:4px}nav{display:flex;gap:1.6rem}nav a{font-size:.925rem;color:var(--muted);text-decoration:none;padding:.4rem 0}nav a[aria-current=page]{color:var(--blue);box-shadow:0 2px var(--blue)}main{min-height:65vh}.hero{padding:5rem 0 4rem;display:grid;grid-template-columns:1fr 240px;gap:4rem}.eyebrow{font-family:var(--mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin:0 0 1.3rem}h1{font-size:clamp(2.5rem,5vw,4.1rem);line-height:1.14;letter-spacing:-.055em;font-weight:600;margin:0 0 1.5rem;overflow-wrap:anywhere}h1 em{font-style:normal;color:var(--blue)}.lead{font-size:1.2rem;line-height:1.75;color:var(--muted);max-width:660px;margin:0}.hero-aside{align-self:end;border-left:2px solid var(--blue);padding-left:1.3rem}.hero-aside p{margin:0 0 .8rem;font-size:.9rem;color:var(--muted)}.hero-aside strong{color:var(--ink);font-weight:600;display:block}.link-row{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1.8rem;font-size:.95rem;font-weight:600}.section{border-top:1px solid var(--line);padding:2.8rem 0}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.5rem}h2{font-size:1.65rem;letter-spacing:-.035em;line-height:1.3;margin:0 0 1rem}.section-head h2{margin:0}.section-head a{font-size:.9rem}.project{display:grid;grid-template-columns:65px 1fr;gap:1.25rem;padding:1.75rem 0;border-top:1px solid var(--line)}.project:first-child{border-top:0}.number{font-family:var(--mono);color:var(--muted);font-size:.9rem;padding-top:.2rem}.meta{display:flex;gap:.75rem;align-items:center;font-size:.8rem;font-family:var(--mono);color:var(--muted);margin-bottom:.7rem}.badge{color:#674600;background:#fff2cc;padding:.12rem .5rem;border-radius:3px}h3{font-size:1.35rem;line-height:1.4;letter-spacing:-.02em;margin:0 0 .6rem}h3 a{color:var(--ink);text-decoration:none}h3 a:hover{color:var(--blue)}.project p{color:var(--muted);max-width:660px;margin:0 0 1rem}.tags{font-family:var(--mono);font-size:.8rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:1rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.split p,.prose p{color:var(--muted)}.timeline{padding:0;margin:0;list-style:none}.timeline li{padding:1rem 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem}.timeline li:first-child{padding-top:0}.timeline strong{display:block;font-weight:600}.timeline span{font-size:.9rem;color:var(--muted)}.timeline .when{font-size:.8rem;white-space:nowrap}.questions{list-style:none;margin:0;padding:0}.questions li{padding:1.25rem 0;border-bottom:1px solid var(--line)}.questions li:last-child{border:0}.questions strong{font-size:.9rem;color:var(--blue);font-family:var(--mono);font-weight:400}.questions p{margin:.4rem 0 0;color:var(--muted);max-width:680px}.page-head{padding:4rem 0 2.7rem;max-width:800px}.page-head h1{font-size:3.5rem}.empty{border:1px solid var(--line);border-left:3px solid var(--blue);padding:2rem;background:#f8faff;margin-bottom:3rem}.empty p{max-width:600px;color:var(--muted);margin:.5rem 0 1rem}.empty h2{font-size:1.3rem}.detail{max-width:760px;margin:auto;padding:3rem 0}.back{font-size:.9rem;display:inline-block;margin-bottom:2rem}.detail h1{font-size:clamp(2.3rem,5vw,3.5rem)}.prose section{margin:2.5rem 0}.prose h2{font-size:1.4rem}.prose p{margin:.5rem 0}.notice{padding:1rem 1.2rem;background:var(--pale);color:var(--muted);font-size:.9rem;border-left:3px solid var(--blue)}footer{border-top:1px solid var(--line);padding:2rem 0;display:flex;justify-content:space-between;gap:1rem;font-size:.85rem;color:var(--muted);margin-top:2rem}footer div{display:flex;gap:1.2rem}footer a{color:var(--muted)}@media(max-width:760px){.shell{padding:0 24px}.hero{grid-template-columns:1fr;gap:2rem;padding:3rem 0}.hero-aside{display:none}.split{grid-template-columns:1fr;gap:2rem}.page-head{padding-top:3rem}.page-head h1{font-size:2.8rem}.identity .full-name{display:none}.project{grid-template-columns:35px 1fr;gap:.6rem}.section{padding:2rem 0}}@media(max-width:400px){nav{gap:1rem}.shell{padding:0 18px}footer{flex-direction:column}.timeline li{flex-direction:column;gap:.2rem}.section-head{align-items:start;flex-direction:column}.empty{padding:1.3rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{nav,.skip,footer{display:none}.shell{max-width:none;padding:0}a{color:inherit}.hero{padding:1rem 0}.section{break-inside:avoid}}

.writing-entry{grid-template-columns:110px 1fr}.writing-entry .number{font-size:.8rem}@media(max-width:600px){.writing-entry{grid-template-columns:1fr;gap:.7rem}}

.expertise{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.expertise h2{font-size:1.3rem}.expertise p{color:var(--muted);margin:0}.career-role{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:2.5rem;padding:2rem 0;border-top:1px solid var(--line)}.career-meta strong,.career-meta span{display:block}.career-meta strong{font-weight:650}.career-meta span{font-size:.875rem;color:var(--muted);margin-top:.3rem}.career-role p,.career-role li{color:var(--muted)}.career-role p{margin:.5rem 0}.career-role ul{padding-left:1.2rem;margin:.8rem 0 0}.career-role li{margin:.5rem 0}.experience-caption{font-size:.875rem;color:var(--muted)}#experience{scroll-margin-top:2rem}@media(max-width:760px){.expertise,.career-role{grid-template-columns:1fr}.career-role{gap:1rem}.expertise{gap:1.5rem}}

.education-entry{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}.education-entry .degree{color:var(--ink)}.education-entry .degree span{color:var(--muted);font-size:.9rem}
