*,*::before,*::after{box-sizing:border-box}*{margin:0}@media(prefers-reduced-motion: no-preference){html{interpolate-size:allow-keywords}}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{text-decoration:none;color:inherit}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance}#root,#__next{isolation:isolate}.wrapper{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;padding:0 1.5rem}.wrapper--center{display:flex;justify-content:center}@media(min-width: 768px){.wrapper{padding:0 2rem}}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}.mt-4{margin-top:4rem}.mt-5{margin-top:5rem}.mt-6{margin-top:6rem}.mb-1{margin-bottom:1rem}.mb-2{margin-bottom:2rem}.mb-3{margin-bottom:3rem}.mb-4{margin-bottom:4rem}.mb-5{margin-bottom:5rem}.mb-6{margin-bottom:6rem}.my-1{margin-top:1rem;margin-bottom:1rem}.my-2{margin-top:2rem;margin-bottom:2rem}.my-3{margin-top:3rem;margin-bottom:3rem}.my-4{margin-top:4rem;margin-bottom:4rem}.my-5{margin-top:5rem;margin-bottom:5rem}.my-6{margin-top:6rem;margin-bottom:6rem}.py-1{padding-top:1rem;padding-bottom:1rem}.py-2{padding-top:2rem;padding-bottom:2rem}.py-3{padding-top:3rem;padding-bottom:3rem}.py-4{padding-top:4rem;padding-bottom:4rem}.py-5{padding-top:5rem;padding-bottom:5rem}.py-6{padding-top:6rem;padding-bottom:6rem}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}body{overflow-x:hidden;letter-spacing:.5px}section.section{padding:4rem 0}section#projects:has(+section#skills){padding-bottom:0}.skip-link{position:absolute;top:0;left:0;z-index:100;transform:translateY(-150%);padding:.75rem 1.25rem;background:#1a1a1a;color:#fff;font-size:1rem;letter-spacing:1px}.skip-link:focus{transform:translateY(0)}main:focus{outline:none}:root{font-size:16px;font-family:"Roboto",sans-serif}h1,h2,h3{font-weight:500;letter-spacing:1px;font-family:"EB Garamond",serif}h1{font-size:2.5rem}h2{font-size:2.25rem;margin-bottom:1rem}p{font-size:1.25rem}span.section-label{text-transform:uppercase;font-size:1.25rem;display:block;margin-bottom:1rem;letter-spacing:2px;font-weight:500}@media(max-width: 61.24em){nav.primary{position:absolute;top:100%;left:0;right:0;background:#fff;max-height:0;overflow:hidden;transition:max-height 400ms ease-in-out;border-bottom:1px solid #ebebeb;z-index:5}nav.primary ul{list-style:none;margin:0;padding:.75rem 0}nav.primary a{display:block;padding:.85rem 1.5rem;font-size:1rem;font-weight:400;text-transform:uppercase;letter-spacing:2px;color:#1a1a1a;background:rgba(0,0,0,0);opacity:0;transform:translateX(12px);transition:opacity 350ms ease,transform 450ms cubic-bezier(0.2, 0.8, 0.2, 1),color 200ms ease}nav.primary a.activeSlideIn{opacity:1;transform:translateX(0)}nav.primary a[data-in-viewport=true]{color:#c65124}}@media(min-width: 61.25em){nav.primary ul{list-style:none;margin:0;padding:0;display:flex;gap:3rem}nav.primary a{display:block;text-align:center;text-transform:uppercase;font-weight:400;font-size:1.1rem;padding-bottom:.5rem;border-bottom:2px solid rgba(0,0,0,0);background-color:rgba(0,0,0,0)}nav.primary a:hover,nav.primary a[data-in-viewport=true]{border-bottom-color:#c65124}}@media(max-width: 61.24em){header.primary.nav-open nav.primary{max-height:calc(100vh - 6rem)}}header{letter-spacing:.075rem;background-color:#fff}header.topbar{background-color:rgba(0,0,0,0);height:3rem;display:flex;align-items:center}@media(max-width: 61.24em){header.topbar{padding:0 1.5rem}}header.topbar .topbar-list{justify-content:flex-start;align-items:center;padding:0;margin:0;list-style-type:none;display:flex}header.topbar .topbar-list a{color:#abaaaa;text-transform:uppercase}header.topbar .topbar-list a:hover{color:#000}header.primary{position:sticky;top:0}header.primary .logotype-image{width:10rem;height:auto}header .header-inner{flex-direction:row-reverse;align-items:center;border-bottom:1px solid #dcdcdc}header .header-container{display:flex;flex-direction:row;justify-content:space-between;align-items:center}header .burger{cursor:pointer;width:1.875rem;height:.875rem;background:none;position:relative;border:0;padding:0}header .burger-line{position:absolute;transform-origin:center;transition:transform 350ms ease,top 350ms ease,bottom 350ms ease,background-color 200ms ease;width:100%;height:2.5px;left:0;background-color:#1a1a1a;border-radius:1px}header .burger-line-top{top:0}header .burger-line-bottom{bottom:0}header .burger-active .burger-line{background-color:#c65124}header .burger-active .burger-line-top{top:50%;transform:translateY(-50%) rotate(45deg)}header .burger-active .burger-line-bottom{bottom:50%;transform:translateY(50%) rotate(-45deg)}@media(max-width: 61.24em){header .header-container{padding:.75rem 1.5rem}header .wrapper{padding:0}}@media(min-width: 61.25em){header .header-container{flex-direction:row;justify-content:space-between;padding:1.25rem 0}header .header-inner{display:flex;justify-content:space-between;align-items:flex-end}header .burger{display:none}}footer.site-footer{padding:1.5rem 0;text-align:center;background:#d66036}footer.site-footer p{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.75rem;font-size:1.25rem;letter-spacing:1px}footer.site-footer a{display:inline-flex;align-items:center;gap:.4rem;border-bottom:1px dashed currentColor;padding-bottom:.15rem}footer.site-footer a:hover{border-bottom-style:solid}footer.site-footer a svg{width:1.25rem;height:1.25rem;fill:currentColor}footer.site-footer a .eleventy-mark{width:auto;height:1em}section#home{padding:0}section#home .hero{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem 0}section#home .hero-copy .hero-accent{color:#c65124}section#home .hero-copy .typewriter{border-right:2px solid #000;padding-right:2px;white-space:nowrap;word-break:keep-all;overflow:hidden;flex-shrink:0}@keyframes blink{0%,50%,100%{border-color:#000}25%,75%{border-color:rgba(0,0,0,0)}}section#home .hero-copy .typewriter{animation:blink 2600ms step-end infinite}section#home .hero-copy h1{font-family:"EB Garamond",serif;margin-bottom:1rem}section#home .hero-copy p{font-size:1.25rem;font-weight:400;line-height:2rem;letter-spacing:.5px}section#home .hero-image img{object-fit:cover;border-radius:50%;border-radius:.25rem;width:375px;height:375px;border-radius:50%}@media(max-width: 46.24em){section#home .hero{text-align:center}section#home .hero-image{margin-bottom:2rem}section#home .hero-image img{max-width:400px;object-fit:cover;height:250px;width:250px}}@media(min-width: 46.25em){section#home .hero{flex-direction:row-reverse;justify-content:space-around;padding:3rem 0}section#home .hero .break-mobile{display:none}section#home .hero-copy{width:55%}section#home .hero-image{width:auto}}section#projects .section-label{color:#453c62}section#projects .projects-list{list-style:none;padding:0;display:grid;gap:4rem;margin-top:1rem}@media(min-width: 61.25em){section#projects .projects-list{grid-template-columns:repeat(2, 1fr);grid-template-rows:auto auto auto;column-gap:4rem;row-gap:0}section#projects .projects-list>li{display:grid;grid-row:span 3;grid-template-rows:subgrid}}section#projects .project-logo{margin-bottom:1.75rem}section#projects .project-logo svg{height:3.2rem;width:auto}@media(min-width: 46.25em){section#projects .project-logo svg{height:3.85rem}}@media(min-width: 61.25em){section#projects .project-logo{display:flex;align-items:flex-end}}section#projects .project-name{font-size:1.6rem;margin-bottom:1.75rem}section#projects .project-description{max-width:60ch;line-height:1.65}section#projects .project-body{display:flex;flex-direction:column}section#projects .project-details{margin-top:1.75rem}section#projects .project-details summary{display:inline-flex;align-items:center;gap:.625rem;width:fit-content;min-height:2.75rem;cursor:pointer;font-size:1rem;font-weight:500;line-height:1;letter-spacing:1.75px;text-transform:uppercase;color:#453c62;transition:color 150ms ease;list-style:none}section#projects .project-details summary::-webkit-details-marker{display:none}@media(hover: hover){section#projects .project-details summary:hover{color:#342d4c}section#projects .project-details summary:hover svg{fill:#fff;background-color:#453c62;border-color:#453c62}}section#projects .project-details summary:focus-visible{outline:2px solid #453c62;outline-offset:3px}section#projects .project-details summary svg{box-sizing:border-box;width:1.75rem;height:1.75rem;padding:.4rem;fill:#453c62;background-color:rgba(0,0,0,0);border:1px solid #928da1;border-radius:50%;transition:transform 250ms ease,fill 150ms ease,background-color 150ms ease,border-color 150ms ease}@media(prefers-reduced-motion: reduce){section#projects .project-details summary svg{transition:none}}section#projects .project-details .project-details-close{display:none}section#projects .project-details .project-details-content{overflow:hidden}section#projects .project-details[open]:not(.is-closing) .project-details-open{display:none}section#projects .project-details[open]:not(.is-closing) .project-details-close{display:inline}section#projects .project-details[open]:not(.is-closing) summary svg{transform:rotate(180deg)}section#projects .project-label{display:block;text-transform:uppercase;font-size:1.125rem;letter-spacing:2.5px;font-weight:500;color:#453c62;line-height:1;padding-bottom:.875rem;margin-bottom:.75rem;border-bottom:1px solid #dcdcdc}section#projects .project-role,section#projects .project-architecture{max-width:60ch;line-height:1.65;margin-top:1.75rem}section#projects .project-tech{list-style:none;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;margin-top:2rem}section#projects .project-tech svg{width:1.75rem;height:1.75rem}section#projects .project-links{display:flex;gap:2rem;margin-top:2.25rem}section#projects .project-links a{display:inline-flex;align-items:center;gap:.5rem;font-size:1.25rem;letter-spacing:.5px;color:#453c62;border-bottom:1px dashed #453c62;padding-bottom:.25rem}section#projects .project-links a svg{width:1.25rem;height:1.25rem;fill:#453c62}section#projects .project-links a:hover{border-bottom-style:solid}section#about{background-color:#00808c;color:#fff}section#about .section-label{color:#fff}section#about .about-grid{display:flex;flex-direction:column;gap:2.5rem}@media(min-width: 46.25em){section#about .about-grid{flex-direction:row;gap:5rem;align-items:flex-start}}section#about .about-bio{flex:1;min-width:0}section#about .about-bio p{max-width:54ch;line-height:1.65;margin-bottom:1.25rem}section#about .about-bio p:last-child{margin-bottom:0}section#about .about-facts{display:flex;flex-direction:column;gap:2rem}@media(min-width: 46.25em){section#about .about-facts{flex-shrink:0;width:36%;max-width:360px}}section#about .about-fact-label{display:block;text-transform:uppercase;font-size:1.125rem;letter-spacing:2.5px;font-weight:500;padding-bottom:.75rem;margin-bottom:.9rem;border-bottom:1px solid hsla(0,0%,100%,.3)}section#about .about-fact p{font-size:1.25rem;line-height:1.55}section#about .about-fact-dates{display:block;margin-top:.5rem;font-size:1.1rem;color:#fff}section#about .about-fact-dates time{white-space:nowrap}section#about .about-fact a{border-bottom:1px dashed hsla(0,0%,100%,.6);padding-bottom:.1rem}section#about .about-fact a:hover{border-bottom-style:solid}section#skills .skills-header{display:flex;flex-direction:column;gap:2.5rem;margin-bottom:3rem}@media(min-width: 46.25em){section#skills .skills-header{flex-direction:row;align-items:center;gap:3rem;margin-bottom:4rem}}section#skills .skills-intro{flex:1;min-width:0}section#skills .skills-intro p{max-width:54ch}section#skills .skills-illustration{width:100%;max-width:420px;margin:0 auto}@media(min-width: 46.25em){section#skills .skills-illustration{flex-shrink:0;width:50%;max-width:500px;margin:0}}section#skills .skills-illustration svg{display:block;width:100%;height:auto}section#skills .skills-groups{display:grid;grid-template-columns:1fr;gap:2.5rem}@media(min-width: 46.25em){section#skills .skills-groups{grid-template-columns:repeat(3, 1fr);gap:3rem}}section#skills .skills-group-label{display:block;text-transform:uppercase;font-size:1.125rem;letter-spacing:2.5px;font-weight:500;color:#00808c;padding-bottom:.875rem;margin-bottom:1.25rem;border-bottom:1px solid #dcdcdc}section#skills ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:.75rem}section#skills li{font-size:1.25rem;letter-spacing:.3px;display:flex;align-items:center}section#skills .skill-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;margin-right:.85rem;flex-shrink:0}section#skills .skill-icon svg{width:100%;height:100%}section#connect{text-align:center;background:#f27b50}section#connect .section-label{color:#4d2314}section#connect .connect-content{margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid #d66036}@media(min-width: 46.25em){section#connect .connect-content p{width:70%;margin:0 auto}}section#connect .connect-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.25rem 2.5rem;margin-top:2.5rem}section#connect .connect-cv{background:#4d2314;color:#fff;padding:.9rem 1.75rem;border-radius:.25rem;font-size:1rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:500}section#connect .connect-cv:hover{background:#35180e}section#connect .connect-email{font-size:1.3rem;letter-spacing:1px;border-bottom:1px dashed #4d2314;padding-bottom:.2rem}section#connect .connect-email:hover{border-bottom-style:solid}@media(min-width: 46.25em){section#connect .connect-email{font-size:1.5rem}}section#connect .connect-platforms{display:flex;flex-direction:row;justify-content:center;align-items:center;margin:auto}section#connect .platforms{display:flex;justify-content:space-around;align-items:center;width:7.5rem}@media(min-width: 46.25em){section#connect .platforms{width:12rem}}section#connect .platform{display:flex;flex-direction:column;align-items:center}section#connect .platform:hover{text-decoration:underline}section#connect .platform-name{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}section#connect .platform-logo svg{width:2.25rem;height:2.25rem}@media(min-width: 46.25em){section#connect .platform-logo svg{width:2.5rem;height:2.5rem}}section#connect .linkedIn-logo,section#connect .github-logo{fill:#4d2314}section#connect .platform-logo-github:hover .github-logo{fill:#fff}section#connect .platform-logo-linkedIn:hover .linkedIn-logo{fill:#0a66c2}