:root{--navy:#0b1c2e;--blue:#153e61;--accent:#b8ddf2;--ink:#142b3e;--muted:#526676;--line:#d7e1e8;--paper:#f5f8fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit}header{background:var(--navy);color:white;display:flex;justify-content:space-between;align-items:center;padding:22px 5%;gap:25px;border-bottom:1px solid #314455}header a{text-decoration:none}.brand{display:flex;align-items:center;gap:18px;font-size:22px;font-weight:700;letter-spacing:-1px}.brand span{font-size:16px;letter-spacing:0;font-weight:400}nav{display:flex;gap:28px;font-size:14px}nav a:hover{color:var(--accent)}.wrap{padding-left:7%;padding-right:7%;max-width:1600px;margin:auto}.hero{background:var(--navy);color:#fff;padding-top:75px;padding-bottom:0;max-width:none}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;display:block}.hero .eyebrow{color:var(--accent)}h1{font-size:clamp(40px,6.8vw,96px);font-weight:500;line-height:1.06;letter-spacing:-4px;margin:30px 0 38px}h2{font-size:clamp(32px,4vw,52px);font-weight:500;line-height:1.15;letter-spacing:-1.6px;margin:16px 0}h3{font-size:25px;line-height:1.25;font-weight:500;letter-spacing:-.5px}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:44px}.hero-bottom p{max-width:680px;font-size:20px;color:#cfdae4;margin:0}.button{display:inline-block;border:1px solid #7893a9;color:white;text-decoration:none;padding:13px 24px;white-space:nowrap;font-size:15px;transition:background .2s}.button:hover{background:#224762}.hero-meta{border-top:1px solid #314455;padding:24px 0;display:flex;gap:30px;justify-content:space-between;color:#b8c9d8;font-size:13px}.projects,.credentials,.about{padding-top:85px;padding-bottom:75px}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px;gap:30px}.section-top>p{color:var(--muted);margin:0}.featured{display:grid;grid-template-columns:1.05fr 1fr;background:white;border:1px solid var(--line)}.project-cover{min-height:400px;background:var(--blue);color:white;padding:32px;display:flex;flex-direction:column;justify-content:space-between}.cover-label,.cover-footer{font-size:12px;letter-spacing:1.5px;color:#c9deec}.large-number{font-size:80px;color:#83b3d0;line-height:1}.project-cover h3{font-size:44px;margin:14px 0}.project-copy{padding:40px}.project-copy h3{font-size:31px}.project-copy p,.project-card p{color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:23px 0}.tags span{font-size:12px;letter-spacing:.2px;border:1px solid var(--line);padding:5px 10px;color:var(--muted)}details{border-top:1px solid var(--line);margin-top:26px;padding-top:17px}summary{font-size:14px;cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:15px}summary:after{content:'+';font-size:20px;line-height:1}details[open] summary:after{content:'−'}dl{font-size:15px}dt{font-weight:700;margin-top:17px}dd{margin:5px 0 0;color:var(--muted)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}.project-card{padding:30px;background:white;border:1px solid var(--line)}.card-top{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:12px;letter-spacing:.6px}.credentials{background:#e9eff3;max-width:none}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c4d1db;border-bottom:1px solid #c4d1db;padding:32px 0}.stats>div{padding-left:30px;border-left:1px solid #c4d1db}.stats>div:first-child{padding-left:0;border:0}.stats strong{font-size:70px;line-height:1.2;letter-spacing:-3px;font-weight:500}.stats strong span{font-size:20px;letter-spacing:0;margin-left:10px}.stats p{margin:4px 0;color:var(--muted)}.small{font-size:12px;color:var(--muted)}.qualification-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:40px}.qualification-grid h3{font-size:22px}.qualification-grid p,.qualification-grid li{font-size:15px;color:var(--muted)}ul{padding-left:18px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:14px}.about-grid p{color:var(--muted);margin-top:16px;font-size:18px}.resume{background:var(--navy);color:white;padding-top:45px;padding-bottom:45px;display:flex;align-items:center;justify-content:space-between;gap:35px;max-width:none}.resume p{color:#b8c9d8}.resume h2{font-size:40px}.light{background:#d9eaf5;color:var(--navy);border:0}.light:hover{background:white}footer{display:flex;justify-content:space-between;gap:24px;padding-top:30px;padding-bottom:30px;font-size:13px;color:var(--muted)}a:focus-visible,summary:focus-visible{outline:3px solid #57a0d0;outline-offset:5px}.resume-page{max-width:900px;margin:60px auto;padding:0 30px}.resume-page h1{font-size:50px;letter-spacing:-2px}.resume-page section{border-top:1px solid var(--line);padding:15px 0}.resume-page h2{font-size:25px;letter-spacing:-.5px}.print-button{background:var(--navy);cursor:pointer;font-family:inherit}@media(max-width:750px){header{padding:18px 6%;align-items:start;flex-direction:column;gap:15px}nav{gap:24px;flex-wrap:wrap}.hero{padding-top:45px}h1{letter-spacing:-2px}.hero-bottom{flex-direction:column;align-items:start;gap:25px}.hero-bottom p{font-size:18px}.hero-meta{flex-direction:column;gap:6px}.projects,.credentials,.about{padding-top:50px;padding-bottom:45px}.section-top{align-items:start;flex-direction:column;gap:10px}.featured,.project-grid,.about-grid,.qualification-grid{grid-template-columns:1fr}.project-cover{min-height:300px}.project-copy,.project-card{padding:25px}.project-copy h3{font-size:27px}.card-top{flex-direction:column;gap:4px}.stats strong{font-size:43px;letter-spacing:-1px}.stats strong span{display:block;font-size:15px;margin:0}.stats>div{padding-left:14px}.stats p{font-size:13px}.qualification-grid{gap:20px}.about-grid{gap:15px}.resume{flex-direction:column;align-items:start}.resume h2{font-size:32px}footer{flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{header,.print-button,.return{display:none}.resume-page{margin:0;max-width:none}body{background:white;font-size:11pt}.resume-page h1{font-size:30pt}.resume-page h2{font-size:16pt}.resume-page section{break-inside:avoid}}

.contact-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:26px 0;font-size:15px}.contact-links a{text-underline-offset:4px;overflow-wrap:anywhere}.contact-links a:hover{color:#236b9b}.project-grid>.project-card:last-child:nth-child(odd){grid-column:1 / -1}

.headshot{display:block;width:min(100%,340px);height:auto;border-radius:2px;margin-bottom:24px}.academic-honors{border-top:1px solid #c4d1db;margin-top:38px;padding-top:30px}.honors-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.honors-grid h3{margin-bottom:8px}.honors-grid p{color:var(--muted)}.resume-actions{display:flex;gap:12px;flex-wrap:wrap}@media(max-width:750px){.honors-grid{grid-template-columns:1fr;gap:4px}.headshot{max-width:280px}}

.poster-preview{display:flex;align-items:center;justify-content:center;background:#e3eaf0;padding:18px;min-width:0}.poster-preview img{display:block;width:100%;height:auto}.poster-preview:focus-visible{outline-offset:-5px}.poster-actions{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:14px}.poster-actions a{text-underline-offset:4px}.featured{align-items:start}.poster-preview:hover{background:#d5e1eb}
