@font-face{font-family:Newsreader;src:url('/fonts/newsreader-latin-wght-normal.woff2');font-display:swap}@font-face{font-family:Newsreader;src:url('/fonts/newsreader-latin-wght-italic.woff2');font-style:italic;font-display:swap}@font-face{font-family:Manrope;src:url('/fonts/manrope-latin-wght-normal.woff2');font-display:swap}
body.portfolio-page{--navy:#f3f0e7;--navy-light:#f3f0e7;--navy-card:#f3f0e7;--border:#88917d;--gold:#343d31;--teal:#343d31;--text:#343d31;--text-muted:#343d31;--text-dim:#343d31;--radius-lg:0px;--radius:0px;margin:0;background:#f3f0e7;color:#343d31;font:16px/1.75 Manrope,Arial,sans-serif;background-image:radial-gradient(ellipse at 95% 4%,#88917d,transparent 40%)}.portfolio-page *{box-sizing:border-box}.portfolio-page h1,.portfolio-page h2,.portfolio-page h3,.portfolio-page h4{font-family:Manrope,Arial,sans-serif;font-weight:450;letter-spacing:-.035em;color:#343d31}.portfolio-page h1{font-size:clamp(58px,7vw,98px);line-height:1.02}.portfolio-page h2{font-size:clamp(32px,4vw,48px);line-height:1.15}.portfolio-page h3{font-size:30px;line-height:1.2}.portfolio-page h4{font-size:26px}.portfolio-page p,.portfolio-page li{font-size:16px;line-height:1.8}.portfolio-page a{color:inherit;text-underline-offset:5px}.portfolio-page a:focus-visible,.portfolio-page summary:focus-visible,.portfolio-page button:focus-visible{outline:3px solid #343d31;outline-offset:5px}.portfolio-nav{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:24px 5%;border-bottom:1px solid #88917d;background:#f3f0e7;position:relative;z-index:2}.portfolio-nav a{text-decoration:none;font-size:14px}.portfolio-nav .portfolio-name{font-size:18px;letter-spacing:-.045em}.portfolio-nav .portfolio-name span{font-size:13px;color:#343d31}.portfolio-nav>div{display:flex;gap:25px;flex-wrap:wrap}.portfolio-nav a:hover{color:#343d31}.portfolio-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:30px 5%;margin-top:60px;border-top:1px solid #88917d;background:#f3f0e7;color:#343d31;font-size:14px}.portfolio-page .page-hero{max-width:1200px;margin:auto;padding:65px 40px 42px;text-align:left;background:none;border:0}.portfolio-page .page-hero h1{text-transform:lowercase;margin:16px 0 24px}.portfolio-page .page-hero>p{max-width:65ch;color:#343d31;font-size:18px}.portfolio-page .section-eyebrow,.portfolio-page .project-tag,.portfolio-page .project-date{font:13px/1.6 monospace;text-transform:lowercase;color:#343d31;letter-spacing:.025em}.portfolio-page main,.portfolio-page .contact-section,.portfolio-page .about-section{max-width:1200px;margin:auto;padding-inline:40px}.portfolio-page .project-card-full,.portfolio-page .resume-block,.portfolio-page .contact-form-card,.portfolio-page .notes-principles{border:1px solid #88917d;border-radius:0;background:#f3f0e7;box-shadow:none}.portfolio-page .project-card-full:hover{transform:none;border-color:#88917d}.portfolio-page .timeline-item{border-color:#88917d}.portfolio-page .timeline-item::before{background:#343d31;box-shadow:0 0 0 5px #f3f0e7}.portfolio-page .org{color:#343d31}.portfolio-page .dates{color:#343d31;font-size:14px}.portfolio-page .about-lead{font-size:21px;color:#343d31}.portfolio-page .about-copy p,.portfolio-page .timeline-bullets li{color:#343d31}.portfolio-page .about-photo{border-radius:0;border-color:#88917d}.portfolio-page .resume-downloads{margin-bottom:35px}.portfolio-page .resume-download-card{border:1px solid #88917d;background:#343d31;color:#f3f0e7;border-radius:0;padding:30px;min-height:200px;box-shadow:none}.portfolio-page .resume-download-card strong{font-family:Manrope,Arial,sans-serif;font-size:30px;color:#f3f0e7;line-height:1.2}.portfolio-page .resume-download-card span,.portfolio-page .resume-download-card em{color:#88917d;font-size:15px}.portfolio-page .resume-download-card:hover{transform:none;background:#343d31}.portfolio-page .resume-summary{max-width:70ch;color:#343d31}.portfolio-page .resume-block-title{font:14px monospace;color:#343d31;letter-spacing:.035em}.portfolio-page .btn{font:14px Manrope,Arial,sans-serif;border-radius:0;padding:12px 20px}.portfolio-page .btn-primary{background:#343d31;border:1px solid #343d31;color:#f3f0e7}.portfolio-page .btn-ghost{border-color:#88917d;color:#343d31}.portfolio-page .contact-detail>span{font-size:13px;color:#343d31}.portfolio-page .contact-detail strong{font-size:17px;color:#343d31}.portfolio-page .form-group label{font-size:14px;color:#343d31}.portfolio-page .form-group input,.portfolio-page .form-group textarea{background:#f3f0e7;color:#343d31;border:1px solid #88917d;border-radius:0;font:16px Manrope,Arial,sans-serif}.portfolio-page .form-group input:focus,.portfolio-page .form-group textarea:focus{border-color:#343d31;outline:2px solid #343d31}.portfolio-page .notes-principles{padding:18px 22px;max-width:72ch}.portfolio-page .notes-principles summary{color:#343d31;font-size:15px}.portfolio-page .notes-robotics{background:#f3f0e7!important;border:1px solid #343d31!important;border-top:4px solid #343d31!important;border-radius:0}.portfolio-page .notes-robotics h2,.portfolio-page .notes-robotics h3,.portfolio-page .notes-robotics a{color:#343d31!important}.portfolio-page .notes-robotics p{color:#343d31!important}.portfolio-page .avail-section,.portfolio-page .avail-card,.portfolio-page .avail-divider{border-color:#88917d}.portfolio-page .avail-item-body strong{color:#343d31;font-size:18px}.portfolio-page .avail-item-body>span{color:#343d31;font-size:16px}.portfolio-page .avail-tag{background:#f3f0e7;border:1px solid #88917d;color:#343d31;border-radius:0;padding:5px 9px;font-size:13px}.portfolio-page .avail-section-label{color:#343d31;font:13px monospace}.portfolio-page .avail-ask{background:#f3f0e7;border-color:#88917d}.portfolio-page .notfound .hero-sub{color:#343d31}.integrated-projects{margin-bottom:50px}.integrated-project{display:grid;grid-template-columns:60px 1fr;gap:25px;padding:36px 0;border-top:1px solid #88917d}.integrated-project:last-child{border-bottom:1px solid #88917d}.project-number{font:14px monospace;color:#88917d;padding-top:8px}.integrated-project h2{margin:10px 0 15px}.integrated-project .project-medium{font:13px monospace;color:#343d31;margin:0}.integrated-project p{color:#343d31;max-width:75ch}.integrated-project .project-intro{font-size:19px;color:#343d31}.integrated-project .project-limit{font-size:14px;border-left:2px solid #88917d;padding-left:15px;color:#343d31}.integrated-project a{color:#343d31;border-bottom:1px solid;text-decoration:none;font-size:14px}.earlier-writeups{padding:24px;border:1px solid #88917d;background:#f3f0e7}.earlier-writeups>summary{cursor:pointer;font:24px Manrope,Arial,sans-serif;color:#343d31}.earlier-writeups[open]>summary{margin-bottom:30px}.portfolio-page .project-group{margin-block:40px}.portfolio-page .project-group-heading h2{font-size:34px}.portfolio-page .project-meta>span{border-radius:0;background:#f3f0e7;color:#343d31;border-color:#88917d}.portfolio-page .project-bullets li{font-size:15px}.portfolio-page .project-link{color:#343d31}.portfolio-page .notes-post-card{border-radius:0}.portfolio-page img{max-width:100%;height:auto}.portfolio-page .fade-in,.portfolio-page .reveal{opacity:1;transform:none;animation:none}
@media(max-width:750px){.portfolio-nav{align-items:start;flex-direction:column;padding:20px 6%;gap:14px}.portfolio-nav>div{gap:17px}.portfolio-nav .portfolio-name span{display:block;font-size:12px;margin-top:4px}.portfolio-page .page-hero{padding:38px 6% 28px}.portfolio-page main,.portfolio-page .contact-section,.portfolio-page .about-section{padding-inline:6%}.portfolio-page .contact-section,.portfolio-page .about-section{grid-template-columns:1fr;gap:30px}.portfolio-page .resume-download-grid{grid-template-columns:1fr}.portfolio-page .projects-full-grid{grid-template-columns:1fr}.integrated-project{grid-template-columns:30px 1fr;gap:12px;padding:28px 0}.integrated-project h2{font-size:34px}.earlier-writeups{padding:20px 16px}.portfolio-page .resume-download-card{padding:24px}.portfolio-page .page-hero h1{font-size:64px}.portfolio-footer{padding:25px 6%;font-size:13px}.portfolio-page .contact-form-card{padding:24px}.portfolio-page .about-photo{max-width:320px}}
@media(prefers-reduced-motion:reduce){.portfolio-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.portfolio-page .about-avatar{background:#f3f0e7;border:1px solid #88917d;border-radius:0}.portfolio-page .about-avatar .title{color:#343d31}.portfolio-page .about-body h2{font-size:46px}.portfolio-page .about-body{padding-inline:0}.portfolio-page .about-contact-info{border-color:#88917d}

.portfolio-page em{font-family:inherit;font-style:normal;color:inherit}.portfolio-page h1,.portfolio-page h2,.portfolio-page h3,.portfolio-page h4{font-weight:500;letter-spacing:-.055em}.portfolio-page .resume-download-card strong{font-family:Manrope,Arial,sans-serif}.portfolio-page .page-hero{padding-top:45px}.portfolio-page .project-card-full{background:#e7e9de}.portfolio-page .project-card-full p{color:#59634f}
