:root{--sky:#b9def7;--ink:#0b1720;--muted:#14232e;--line:#8dbbd9;--accent:#073758}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--sky);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.75}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:#bbdcf3}.site-wrap{max-width:960px;margin:auto;padding:0 48px}.skip{position:absolute;top:-100px;background:white;padding:12px}.skip:focus{top:12px}nav{display:flex;justify-content:flex-end;gap:30px;padding:32px 0;font-size:14px}nav a{color:var(--muted)}.hero{padding:75px 0 85px}.hero h1{font-family:'Manrope',sans-serif;font-size:clamp(38px,5vw,54px);font-weight:600;letter-spacing:-1.8px;line-height:1.2;margin:0 0 20px}.hero p{font-size:19px;color:var(--muted);margin:0;line-height:1.8}section{margin-bottom:66px}.section-header{margin-bottom:5px}.section-header h2{font-family:'Manrope',sans-serif;font-size:22px;letter-spacing:-.4px;font-weight:600;margin:0 0 22px}.project{border-top:1px solid var(--line);padding:27px 0 30px}.project-head{display:flex;align-items:baseline;gap:8px 16px;flex-wrap:wrap}.project-name{font-family:'Manrope',sans-serif;font-size:21px;letter-spacing:-.4px;line-height:1.4;font-weight:650;margin:0 auto 0 0}.project-status{font-size:14px;color:var(--muted)}.project-desc{font-size:16px;color:var(--muted);margin:15px 0 18px;max-width:780px}.project-foot{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.tags{display:flex;flex-wrap:wrap;gap:5px 14px;color:var(--muted);font-size:14px}.links{flex-shrink:0}.plink{font-size:14px;text-decoration:underline;text-underline-offset:4px}.exp{display:grid;grid-template-columns:150px 1fr;gap:30px;border-top:1px solid var(--line);padding:27px 0 30px}.exp-side{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:14px}.badge{font-size:14px}.exp-role{font-family:'Manrope',sans-serif;font-size:20px;letter-spacing:-.4px;line-height:1.4;margin:0 0 6px;font-weight:650}.exp-org{color:var(--muted);font-size:15px;margin-bottom:14px}.exp-body{font-size:16px;color:var(--muted)}.exp-body ul{padding-left:20px;margin:12px 0}.exp-body li{padding-left:3px;margin:8px 0}footer{border-top:1px solid var(--line);padding:25px 0 35px;display:flex;justify-content:space-between;align-items:baseline;gap:20px;font-size:14px;color:var(--muted)}.contact-links{display:flex;gap:24px;font-size:14px}@media(max-width:600px){.site-wrap{padding:0 25px}nav{justify-content:flex-start;padding:25px 0;gap:25px}.hero{padding:50px 0 60px}.hero h1{font-size:39px}.hero p{font-size:17px}.project-head{gap:6px 12px}.project-name{flex-basis:100%;margin-bottom:3px}.project-foot{align-items:flex-start}.exp{grid-template-columns:1fr;gap:12px}.exp-side{flex-direction:row;gap:12px}.exp-role{font-size:19px}section{margin-bottom:44px}footer{align-items:flex-start;flex-direction:column;gap:16px}.contact-links{gap:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.project-status,.exp-side,.tags{font-weight:500}nav a,.contact-links a,.plink{font-weight:600}

/* Strong text contrast throughout the blue page. */
body{font-weight:500;-webkit-font-smoothing:auto}.hero p,.project-desc,.exp-body{font-size:17px}.project-status,.exp-side,.tags,nav a,footer{color:var(--ink)}.project-status,.exp-side,.tags{font-weight:600}

nav,.contact-links{flex-wrap:wrap}footer{flex-wrap:wrap}.copy-contact{position:relative;display:inline-flex;align-items:center}.copy-button{position:absolute;bottom:100%;left:0;opacity:0;pointer-events:none;border:1px solid var(--accent);border-radius:6px;background:#f4faff;color:var(--ink);padding:6px 12px;font:600 14px 'DM Sans',sans-serif;cursor:pointer;white-space:nowrap;z-index:2}.copy-contact:hover .copy-button,.copy-contact:focus-within .copy-button{opacity:1;pointer-events:auto}.copy-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.copy-feedback{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:calc(100% - 40px);margin:0;padding:10px 16px;border-radius:8px;background:var(--ink);color:white;font-size:14px;z-index:5}.copy-feedback:empty{display:none}@media(hover:none),(pointer:coarse){.copy-contact{gap:8px}.copy-button{position:static;opacity:1;pointer-events:auto;min-height:44px}}
