:root{--ink:#102c44;--muted:#506176;--blue:#125fbe;--line:#d7e0e8;--paper:#f6f9fc;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.65;color:var(--ink);background:white}a{color:inherit;text-underline-offset:.3em}a:focus-visible{outline:3px solid #f3b24d;outline-offset:5px}h1,h2,h3,h4,p{margin:0}h1,h2,h3{line-height:1.14;letter-spacing:-.035em}h2{font-size:clamp(2rem,3.5vw,3rem);font-family:Georgia,serif;font-weight:400}h3{font-size:1.45rem}p{margin-top:1rem}.wrap{width:min(1160px,calc(100% - 5rem));margin:auto}header{width:min(1280px,calc(100% - 5rem));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.7rem 0;border-bottom:1px solid var(--line)}.brand{display:flex;gap:.9rem;align-items:center;font-family:Georgia,serif;font-size:1.6rem;text-decoration:none}.brand span{font-family:Arial,sans-serif;font-size:.9rem;font-weight:700;letter-spacing:0}nav{display:flex;gap:1.8rem;font-size:.9rem}nav a{text-decoration:none}nav a:hover{color:var(--blue)}.skip{position:absolute;top:-100px;left:10px;background:white;padding:1rem;z-index:10}.skip:focus{top:10px}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:5rem;padding-top:5.5rem;padding-bottom:5.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;margin:0;color:var(--blue)}h1{font-size:clamp(3rem,5.1vw,4.7rem);font-family:Georgia,serif;font-weight:400;line-height:1.05;margin-top:1.6rem}.period{color:var(--blue)}.lead{font-size:1.5rem;line-height:1.4;margin-top:1.9rem}.summary{color:var(--muted);max-width:37rem}.actions{display:flex;align-items:center;gap:1.8rem;margin-top:2rem}.button{display:inline-block;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:.8rem 1.25rem;text-decoration:none;font-size:.9rem;font-weight:700}.button:hover{background:var(--blue);border-color:var(--blue)}.text-link{font-weight:700;font-size:.9rem}.profile{background:var(--ink);color:white;padding:2.5rem;align-self:center;position:relative;border-top:5px solid #4b9cf5}.profile-top{display:flex;justify-content:space-between;gap:1rem}.profile .eyebrow{color:#94c6ff}.index{font-size:.75rem;color:#94aabd}.profile h2{margin-top:2rem;font-size:2.5rem}.practice{border-top:1px solid #37526a;padding:1rem 0;display:flex;flex-direction:column;gap:.2rem}.practice:first-of-type{margin-top:2rem}.practice span{font-size:.9rem;color:#c3d5e5}.profile-note{border-top:1px solid #37526a;margin-top:.3rem;padding-top:1.3rem;font-size:.9rem;color:#c3d5e5}.profile-note strong{color:white;font-weight:400}.ribbon{background:#edf4fc;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ribbon .wrap{display:flex;justify-content:space-between;gap:1rem;padding:1.1rem 0;font-size:.9rem}.section{padding-top:5.5rem;padding-bottom:5.5rem}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:1.6rem 3rem;margin-bottom:3rem}.section-head h2{grid-column:2}.section-head .eyebrow{grid-row:1 / span 2;padding-top:.3rem}.section-head>p:last-child:not(.eyebrow){grid-column:2;max-width:40rem;color:var(--muted);margin:0}.featured{display:grid;grid-template-columns:1.45fr 1fr;border:1px solid var(--line)}.project-story{padding:2.8rem}.project-story h3{font-size:3rem;margin-top:1rem;font-family:Georgia,serif;font-weight:400}.project-sub{font-size:1.15rem;margin-top:.4rem}.project-story>p:not(.eyebrow):not(.project-sub),li{color:var(--muted)}ul{padding-left:1.2rem}li{margin:.6rem 0}.tags{display:flex;flex-wrap:wrap;gap:.45rem;margin:1.4rem 0}.tags span{font-size:.8rem;padding:.25rem .6rem;border:1px solid var(--line);background:#f5f8fc}.system{background:#edf4fc;padding:3rem;display:flex;flex-direction:column;justify-content:center}.flow{display:flex;gap:1.3rem;padding:1.7rem 0;border-bottom:1px solid #c8d9eb}.step{color:var(--blue);font-family:Georgia,serif;font-size:1.8rem}.flow b{font-size:1.3rem}.flow p{margin:.3rem 0 0;color:var(--muted)}.system-note{font-size:.9rem;color:var(--muted);margin-top:2rem}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}.projects article{padding:1.7rem 0;border-top:2px solid var(--ink)}.projects h3{margin-top:1rem}.projects p{color:var(--muted)}.experience-band{background:var(--paper)}.role{display:grid;grid-template-columns:1fr 2fr;gap:3rem;padding:2rem 0;border-top:1px solid var(--line)}.date{font-size:.9rem;color:var(--muted)}.role h3{font-size:1.5rem}.org{color:var(--blue);margin-top:.4rem}.role p:not(.org){color:var(--muted)}.role-details{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.6rem}.role-details p{margin-top:.5rem}.publication{display:grid;grid-template-columns:1fr auto;gap:3rem;padding:2.5rem;background:var(--ink);color:white}.publication .eyebrow{color:#9ac9ff}.publication h3{font-family:Georgia,serif;font-size:2rem;font-weight:400;max-width:40rem;margin-top:1.2rem}.publication p:not(.eyebrow){color:#ccdae6}.citation{font-size:.9rem}.publication-links{display:flex;flex-direction:column;justify-content:center;gap:1.2rem;font-size:.9rem}.publication .button{background:white;color:var(--ink)}.interests{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:3rem}.interests span{font-family:Georgia,serif;color:var(--blue);font-size:1.8rem}.interests h3{font-size:1.35rem;margin-top:1rem}.interests p{color:var(--muted)}.engagement{padding-top:2rem;margin-top:2.5rem;border-top:1px solid var(--line);color:var(--muted)}.foundation{border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr 1fr;gap:5rem}.foundation h2{margin-top:1rem;font-size:2.4rem}.tool-row{display:grid;grid-template-columns:1fr 2fr;gap:1rem;padding:1.4rem 0;border-bottom:1px solid var(--line)}.tool-row p{margin:0;color:var(--muted)}h4{font-size:1rem}.education article{padding:1.4rem 0;border-bottom:1px solid var(--line)}.education span{font-size:.85rem;color:var(--blue)}.education h3{font-size:1.15rem;margin-top:.4rem}.education p{margin-top:.5rem;color:var(--muted)}.contact{background:#0b2236;color:#fff;padding:4.5rem 0}.contact .eyebrow{color:#9ac9ff}.contact h2{margin-top:1.3rem;font-size:clamp(2rem,3.4vw,3rem)}.contact p:not(.eyebrow){color:#c4d3e0}.email{display:inline-block;font-size:clamp(1.1rem,2.5vw,1.6rem);margin-top:1.8rem;overflow-wrap:anywhere}.social{display:flex;gap:2rem;margin-top:1.5rem;font-size:.95rem}footer{display:flex;justify-content:space-between;gap:1rem;padding-top:1.5rem;padding-bottom:1.5rem;font-size:.85rem;color:var(--muted)}@media(max-width:950px){.hero{gap:2rem}.profile{padding:1.8rem}.section-head{grid-template-columns:1fr 2fr}.featured{grid-template-columns:1fr 1fr}.project-story,.system{padding:2rem}.projects{gap:1.4rem}.foundation{gap:2rem}.publication{grid-template-columns:1fr}.publication-links{flex-direction:row;align-items:center;justify-content:flex-start}}@media(max-width:700px){.wrap,header{width:calc(100% - 2.5rem)}header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.2rem 0}.brand span{font-size:.85rem}nav{gap:1.5rem;flex-wrap:wrap}.hero{grid-template-columns:1fr;padding:3rem 0;gap:2.5rem}h1{font-size:3.2rem}.profile h2{font-size:2.2rem}.ribbon .wrap{flex-direction:column;gap:.4rem}.section{padding:3.5rem 0}.section-head{display:block;margin-bottom:2rem}.section-head h2{margin-top:1rem}.section-head>p:last-child:not(.eyebrow){margin-top:1rem}.featured,.projects,.role,.role-details,.interests,.foundation{grid-template-columns:1fr}.project-story,.system{padding:1.5rem}.system{padding-top:2rem;padding-bottom:2rem}.projects{gap:0}.role{gap:.6rem}.role-details{gap:1rem}.publication{padding:1.7rem;gap:1.8rem}.publication-links{flex-direction:column;align-items:flex-start}.interests{gap:2rem}.foundation{gap:2.5rem}.tool-row{grid-template-columns:1fr;gap:.4rem}.contact{padding:3rem 0}footer{flex-wrap:wrap}.actions{gap:1.3rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header,nav,.actions,.contact,footer{display:none}.wrap{width:100%}.hero,.section{padding:1rem 0}.featured,.publication{break-inside:avoid}body{font-size:11pt}.profile,.publication{color:#102c44;background:#eee}.profile *,.publication *{color:#102c44!important}}
