*{box-sizing:border-box}
:root{font-family:"Segoe UI",system-ui,sans-serif;color:#243747;background:#edf3f3;font-synthesis:none}
body{margin:0}button,select{font:inherit;color:inherit}button{cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #4b70a0;outline-offset:3px}
.page{max-width:76rem;margin:auto;padding:clamp(1rem,4vw,3rem)}
.intro{overflow:hidden;border:1px solid #c5d6d8;border-radius:1rem;background:#182d3b;color:#f5faf9;box-shadow:0 16px 42px #203a4620}
.intro-body{padding:clamp(1.25rem,4vw,2.75rem)}
.eyebrow,.tag{font:600 .82rem/1.4 ui-monospace,monospace}
.eyebrow{margin:0;color:#a8e5d1}
h1{margin:.55rem 0 1rem;font-size:clamp(2.25rem,6vw,4.6rem);font-weight:750;letter-spacing:-.05em;line-height:1.04}
.lede{margin:0;max-width:48ch;font-size:1.12rem;line-height:1.65;color:#deebe9}
.jump{display:inline-flex;gap:.65rem;margin-top:1.5rem;color:#102c2a;background:#a9e5ce;border-radius:.55rem;padding:.65rem 1rem;text-decoration:none;font-weight:650}
.jump:hover{background:#c4f0df}
.profile-illustration{margin:0;background:#c6e0e2}
.profile-illustration img{display:block;width:100%;height:auto}
.section{margin-top:clamp(1.8rem,5vw,3.8rem)}
h2{margin:0 0 1rem;font-size:clamp(1.45rem,3vw,2rem);font-weight:700}
.module-filter{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1rem;margin-bottom:1rem}
.module-filter label{font-weight:650}
.module-filter select{max-width:100%;padding:.5rem .7rem;border:1px solid #8397af;border-radius:.45rem;background:#fbfdfc}
.module-group{margin-top:.7rem}
.module-group h3{margin:0;font-size:1.05rem}
.module-toggle{display:flex;justify-content:space-between;align-items:center;gap:.6rem;width:100%;min-height:3rem;text-align:left;padding:.65rem .85rem;border:1px solid #c5d6d8;border-radius:.55rem;background:#fbfdfc;font-weight:700}
.module-toggle:hover{background:#e7efed}
.module-count{color:#40536c;font-size:.86rem;font-weight:600;white-space:nowrap}
.project-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin-top:.7rem}
.project-card{padding:clamp(1rem,3vw,1.65rem);border:1px solid #c5d6d8;border-top:3px solid #81bba9;border-radius:1rem;background:#fbfdfc;overflow-wrap:anywhere}
.tag{display:inline-block;margin:0;border-radius:.4rem;padding:.22rem .55rem;color:#235447;background:#deefe8}
h4{margin:.55rem 0 1.15rem;font-size:1.25rem}
dl,dd{margin:0}dl div+div{margin-top:1rem}dt{font-size:.9rem;font-weight:700}dd{margin-top:.22rem;color:#40536c;line-height:1.65}
@media(min-width:56rem){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}