@font-face{font-family:Lato;src:url('assets/lato-regular.ttf')}@font-face{font-family:Lato;src:url('assets/lato-bold.ttf');font-weight:700}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#fff;color:#152230;font:1rem/1.65 Lato,sans-serif}a{color:inherit}a:focus-visible{outline:3px solid #176daa;outline-offset:5px}header,main,footer{max-width:1320px;margin:auto}header{padding:28px 50px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d9e1e7}.brand{text-decoration:none;font-weight:700;font-size:1.4rem}.brand span{font-size:.8rem;letter-spacing:.1em;padding-left:12px}nav{display:flex;gap:30px}nav a{text-decoration:none;font-size:.95rem}nav a:hover,.text-link:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;padding:80px 50px 85px}.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.12em;color:#315d79;margin:0 0 22px}h1{font-size:clamp(4.5rem,8.5vw,7.4rem);line-height:.94;letter-spacing:-.055em;margin:0 0 24px;font-weight:700}.period{color:#007da1}.role{font-weight:700;font-size:1rem;margin:0}h2{font-size:2.4rem;line-height:1.2;letter-spacing:-.025em;margin:0 0 22px}.intro{padding-top:35px}.intro p{max-width:440px;color:#506171}.button{display:inline-block;background:#152230;color:#fff;padding:12px 22px;text-decoration:none;margin-top:18px}.button:hover{background:#315d79}#work{padding:0 50px}.section-head{border-top:2px solid #152230;border-bottom:1px solid #d9e1e7;display:flex;justify-content:space-between;align-items:center;padding:22px 0}.section-head h2{font-size:1rem;letter-spacing:.08em;margin:0}.section-head p{margin:0;color:#536475;font-size:.9rem}.project{display:grid;grid-template-columns:.85fr 1.4fr;gap:52px;align-items:center;padding:65px 0;border-bottom:1px solid #d9e1e7}.project h3,.payments h3{font-size:2.7rem;letter-spacing:-.035em;line-height:1.1;margin:0 0 22px}.lead{font-size:1.25rem;line-height:1.4;color:#152230}.project-copy>p:not(.eyebrow):not(.lead){color:#536475}h4{font-size:.8rem;letter-spacing:.09em;margin:24px 0 4px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.tags span{background:#edf3f6;padding:4px 10px;font-size:.8rem;color:#315367}.text-link{display:inline-block;font-weight:700;text-underline-offset:5px}figure{margin:0;background:#edf2f6;padding:22px}figure img{display:block;width:100%;height:auto;border:1px solid #dde4e9}figcaption{font-size:.8rem;color:#536475;margin-top:14px}.reverse .project-copy{order:2}.reverse figure{order:1}.reverse{grid-template-columns:1.4fr .85fr}.payments{padding:52px;background:#152230;color:#fff;margin-top:55px}.payments>.eyebrow{color:#9bc9e3}.payments>div{display:grid;grid-template-columns:1fr 1.5fr;gap:45px}.payments .lead{color:white;margin-top:0}.payments .tags span{background:#2a4050;color:#cde8f9}.credit{font-size:.8rem;color:#60707e;margin:22px 0 0}.experience{padding:90px 50px;display:grid;grid-template-columns:1fr 1fr;gap:90px}.experience p{color:#536475}.skills>div{padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid #d9e1e7}.skills h3{font-size:1.15rem;margin:0 0 8px}.skills p{margin:0}.contact{background:#eaf3f8;padding:55px 50px}.contact h2{font-size:3rem}.contact>a{font-size:clamp(1rem,3vw,1.8rem);text-underline-offset:7px}footer{display:flex;justify-content:space-between;padding:28px 50px;font-size:.8rem;font-weight:700}.skip{position:absolute;left:10px;top:-100px;background:white;padding:10px;z-index:3}.skip:focus{top:5px}@media(max-width:760px){header{padding:22px}.brand span{display:none}nav{gap:18px}.hero{padding:50px 22px;grid-template-columns:1fr;gap:24px}.intro{padding:0}h1{font-size:5rem}#work{padding:0 22px}.section-head{display:block}.section-head p{margin-top:8px}.project,.reverse{grid-template-columns:1fr;gap:24px;padding:40px 0}.reverse .project-copy,.reverse figure{order:initial}.payments{padding:28px}.payments>div{grid-template-columns:1fr;gap:0}.experience{padding:55px 22px;grid-template-columns:1fr;gap:30px}.contact{padding:40px 22px}.contact h2{font-size:2.4rem}footer{padding:25px 22px;gap:20px;flex-wrap:wrap}figure{padding:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Full-size project galleries */
.case-study{padding:65px 0;border-bottom:1px solid #d9e1e7}.project-heading{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;margin-bottom:30px}.case-study h3{font-size:2.8rem;line-height:1.1;letter-spacing:-.035em;margin:0 0 20px}.contribution h4{margin-top:0}.contribution p,.contribution li{color:#536475}.contribution ul{padding-left:20px}.contribution li{margin:8px 0}.gallery{display:grid;gap:24px}.gallery figure{padding:14px;background:#f0f4f7;border:1px solid #e0e7ec}.gallery figure>a{display:block;cursor:zoom-in}.gallery img{width:100%;height:auto}.gallery figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:12px 4px 0}.gallery figcaption a{font-weight:700;text-underline-offset:3px}.supporting{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.pdf-section{margin:65px 50px 0;padding:35px;background:#eaf3f8;display:flex;justify-content:space-between;align-items:center;gap:30px}.pdf-section .eyebrow{margin-bottom:12px}.pdf-section p{margin-bottom:0}.pdf-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;flex-shrink:0}.pdf-actions .button{margin:0}@media(max-width:760px){nav{flex-wrap:wrap;justify-content:flex-end;gap:10px 16px}.project-heading{grid-template-columns:1fr;gap:16px}.case-study{padding:40px 0}.case-study h3{font-size:2.3rem}.supporting{grid-template-columns:1fr}.gallery figure{padding:8px}.pdf-section{margin:40px 22px 0;padding:24px;flex-direction:column;align-items:flex-start}}

.name-lockup{width:430px;max-width:100%}.name-lockup h1{margin:0 0 20px;line-height:1;letter-spacing:0}.name-lockup svg{display:block;width:100%;height:auto;overflow:visible}.name-lockup h1 text{font-family:Lato,sans-serif;font-size:118px;font-weight:700;fill:#152230}.name-lockup .role{margin:0;color:#007da1}.name-lockup .role text{font-family:Lato,sans-serif;font-size:20px;font-weight:700;fill:currentColor}
