@import "https://fonts.googleapis.com/css2?family=PT+Serif:ital,wght@0,400;0,700;1,400;1,700&family=Bebas+Neue&display=swap";:root{--background:#181818;--text-color:#e8edf5;--meta-text-color:#b9b1bc;--heading-color:#fff23d;--subheader-color:#48e0da;--accent:#e39af9;--text-font:"PT Serif", serif;--text-font-weight:400;--text-font-size:1.15rem;--intro-text-font-size:1.3rem;--heading-font:"Bebas Neue", serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--text-color);background-color:var(--background)}h1,h2,h3,h4,h5,h6{font-family:var(--heading-font);color:var(--accent);font-weight:400}p{font-family:var(--text-font);font-weight:var(--text-font-weight);font-size:var(--text-font-size);color:var(--text-color);margin-top:20px;margin-bottom:20px;line-height:1.6}h2{margin-top:0;margin-bottom:26px;font-size:5rem}@media screen and (width<=500px){h2{margin-top:0}}h3{margin-top:2em;margin-bottom:1em;font-size:2rem}.background{margin:auto}.sticky-toolbar{z-index:100;background-color:var(--background);border-bottom:2px solid var(--subheader-color);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:100%;position:sticky;top:0}nav{width:50vw;min-width:350px;max-width:800px;height:70px;font-family:var(--heading-font);justify-content:flex-end;align-items:center;margin:auto;display:flex}.pages-nav a{letter-spacing:.04em;text-align:center;padding:4px 10px;font-size:1.2rem;text-decoration:none;display:inline-block}.pages-nav a:hover,.pages-nav a:focus-visible,.pages-nav a.active{color:var(--background);background-color:var(--accent)}.pages-nav .nav-social{align-items:center;padding:4px 8px;font-size:1.4rem;line-height:1;display:inline-flex}.pages-nav .nav-social:hover,.pages-nav .nav-social:focus-visible{color:var(--accent);background-color:#0000}@media screen and (width<=820px){nav{width:100%;min-width:0;padding:0 30px}}@media screen and (width<=500px){.pages-nav a{padding:4px 6px;font-size:1.5rem}.pages-nav{column-gap:10px}}.pages-nav{justify-content:flex-end;align-items:center;column-gap:16px;display:flex}.section-wrapper{width:50vw;min-width:350px;max-width:800px;margin:auto auto 140px}@media screen and (width<=820px){.section-wrapper{width:100%;min-width:0;margin-bottom:60px;padding:30px}}#about,#work,#cv{scroll-margin-top:90px}@keyframes wordmark-pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1}to{opacity:1;transform:scale(1)}}.hero{align-items:center;min-height:calc(100svh - 70px);margin-bottom:120px;padding:0 max(20px,5vw);display:flex;overflow-x:clip}.hero-inner{justify-content:center;align-items:flex-start;gap:clamp(1.5rem,4vw,4rem);width:100%;max-width:1240px;margin:0 auto;display:flex;container-type:inline-size}.hero-block{flex-direction:column;flex:none;align-items:flex-start;min-width:0;max-width:100%;display:flex}.hero-wordmark{flex-direction:column;flex:none;align-items:flex-start;min-width:0;max-width:100%;margin:0;animation:.7s cubic-bezier(.34,1.7,.5,1) both wordmark-pop;display:flex;position:relative}.hero-name-line{font-family:var(--heading-font);color:var(--accent);font-size:clamp(2.5rem,14cqw,9.5rem);font-weight:700;line-height:.55;position:relative}.hero-name-line--second{margin-left:.5em;font-size:clamp(3rem,16cqw,11rem)}.hero-ribbon{z-index:1;font-family:var(--heading-font);letter-spacing:.13em;text-transform:uppercase;margin:0 0 1em 2.5em;font-size:clamp(1rem,3.4cqw,1.9rem);line-height:1.4;position:relative}.hero-ribbon-fill{-webkit-box-decoration-break:clone;box-decoration-break:clone;border:3px solid var(--background);color:var(--background);padding:.05em .4em}.ribbon-square{vertical-align:.12em;background-color:var(--background);width:.32em;height:.32em;display:inline-block}.hero-ribbon--yellow .hero-ribbon-fill{background-color:var(--heading-color)}.hero-ribbon--cyan{max-width:92cqw;margin-left:1.5em}.hero-ribbon--cyan .hero-ribbon-fill{background-color:var(--subheader-color)}@media (prefers-reduced-motion:reduce){.hero-wordmark{animation:none}}.hero-lead{font-family:var(--text-font);color:var(--text-color);margin:.25rem 0 0 clamp(1.5rem,8cqw,5.5rem);font-size:clamp(1.15rem,2.6cqw,1.75rem);font-weight:400;line-height:1.45}.hero-lead-line{text-wrap:balance;margin-bottom:-.15em;padding-bottom:.15em;display:block;overflow:hidden}.hero-lead-line>span{animation:.65s cubic-bezier(.2,.75,.2,1) both lead-rise;display:inline-block}.hero-lead-line:first-child>span{animation-delay:.55s}.hero-lead-line:nth-child(2)>span{animation-delay:.67s}.hero-lead-line:nth-child(3)>span{animation-delay:.79s}@keyframes lead-rise{0%{opacity:0;transform:translateY(105%)}to{opacity:1;transform:translateY(0)}}.hero-lead-mark{--mark-color:var(--subheader-color);background:linear-gradient(var(--mark-color), var(--mark-color)) no-repeat 0 100% / 0% .12em;padding-bottom:.04em}.hero-lead-mark--design{--mark-color:var(--accent);animation:.4s cubic-bezier(.55,0,1,1) 1.3s both mark-draw}.hero-lead-mark--engineering{animation:.5s cubic-bezier(0,0,.3,1) 1.7s both mark-draw}.hero-lead-mark--production{--mark-color:var(--heading-color);animation:.55s cubic-bezier(.6,0,.3,1) 2.35s both mark-draw}@keyframes mark-draw{to{background-size:100% .12em}}@media (prefers-reduced-motion:reduce){.hero-lead-line>span,.hero-lead-mark{animation:none}.hero-lead-mark{background-size:100% .12em}}@media screen and (width<=600px){.hero-name-line{font-size:20cqw}.hero-name-line--second{font-size:23cqw}.hero-ribbon{font-size:4.8cqw}.hero-ribbon-fill{border-width:1px}.hero-lead{contain:inline-size;align-self:stretch;margin-left:11.5cqw}}@media screen and (width<=520px){.hero-ribbon{white-space:normal;overflow-wrap:break-word;word-break:break-word}.hero-ribbon--cyan{margin-left:0}}.about-lead{font-size:var(--intro-text-font-size)}.hero-meta{--hero-divider:1px solid #e6e2d524;grid-template-columns:1fr 1fr;margin-top:0;display:grid}.hero-meta-item{padding:18px 0}.hero-meta-item:nth-child(odd){padding-right:44px}.hero-meta-item:nth-child(2n){border-left:var(--hero-divider);padding-left:44px}.hero-meta-item:nth-child(n+3){border-top:var(--hero-divider)}.hero-meta dt{font-family:var(--heading-font);text-transform:uppercase;color:var(--subheader-color);margin-bottom:8px;font-size:1.7rem;line-height:1}.hero-meta dd{font-family:var(--text-font);color:var(--meta-text-color);margin:0;font-size:1rem;line-height:1.3}.hero-meta .project-link{margin-top:4px}.hero-meta dd+dd{margin-top:8px}@media screen and (width<=820px){.hero-meta{grid-template-columns:1fr}.hero-meta-item:nth-child(n){border-top:none;border-left:none;padding-left:0;padding-right:0}.hero-meta-item:nth-child(n+2){border-top:var(--hero-divider)}}.hero-meta-col{width:50vw;min-width:350px;max-width:800px;margin:0 auto}@media screen and (width<=820px){.hero-meta-col{width:100%;min-width:0;margin-bottom:60px;padding:0 30px}}@media screen and (width>=821px){.layout{--rail:clamp(220px, 24vw, 300px);--rail-gap:56px;grid-template-columns:var(--rail) minmax(0, 680px);column-gap:var(--rail-gap);justify-content:center;align-items:start;padding:0 max(20px,5vw);display:grid}.layout>.about-row{grid-area:2/1/auto/-1;grid-template-columns:var(--rail) minmax(0, 1fr);column-gap:var(--rail-gap);align-items:start;display:grid}.about-row>.hero-meta-col{grid-area:1/1;width:auto;min-width:0;max-width:none;margin:calc(6.3rem + 10px) 0 0;padding:0;position:sticky;top:82px}.about-row>#about{grid-area:1/2;margin:0}.layout>#work{grid-area:1/1/auto/-1;margin:0}.layout>#work h2{margin-left:calc(var(--rail) + var(--rail-gap))}.layout>#work .project-card{grid-template-columns:var(--rail) minmax(0, 1fr);column-gap:var(--rail-gap)}.layout>#cv{grid-area:3/1/auto/-1;margin:0}.layout>#cv h2{margin-left:calc(var(--rail) + var(--rail-gap))}.layout .cv-group{grid-template-columns:var(--rail) minmax(0, 1fr);column-gap:var(--rail-gap);display:grid}.layout .cv-group-title{font-size:min(3rem, calc(var(--rail) / 5.8));align-self:start;margin:0;line-height:.95;position:sticky;top:100px}.layout .section-wrapper{width:100%;min-width:0;max-width:none;margin-left:0;margin-right:0}.hero-meta{display:block}.hero-meta .hero-meta-item{border-top:none;border-left:none;padding:16px 0}.hero-meta .hero-meta-item+.hero-meta-item{border-top:var(--hero-divider)}.hero-meta dt,.hero-meta dd{overflow-wrap:break-word}.hero-meta dd{font-size:1rem}}.cv-group+.cv-group{margin-top:96px}.cv-group-title{color:var(--subheader-color);margin:0 0 32px;font-size:3rem}.cv-org+.cv-org{margin-top:44px}.cv-org-name{color:var(--accent);margin:0;font-size:1.9rem}.cv-entries{border-left:2px solid #e6e2d524;margin:18px 0 0;padding-left:26px;list-style:none}.cv-entry{position:relative}.cv-entry+.cv-entry{margin-top:26px}.cv-entry:before{content:"";background-color:var(--accent);width:10px;height:10px;position:absolute;top:.5em;left:-32px}.cv-entry-title{font-family:var(--text-font);font-weight:700;font-size:var(--text-font-size);color:var(--text-color);margin:0;line-height:1.4}.cv-entry-dates{color:var(--meta-text-color);margin:2px 0 0;font-size:1rem}.cv-entry-description{margin:8px 0 0}.cv-entry .project-link{margin-top:10px}.projects-list{flex-direction:column;gap:56px;margin-top:8px;display:flex}.project-card{grid-template-columns:320px 1fr;align-items:start;gap:36px;display:grid}.project-image{aspect-ratio:4/3;object-fit:cover;background-color:#e6e2d50f;border-radius:4px;width:100%;max-width:320px}.project-title{margin-top:0;margin-bottom:4px}.project-description{margin-top:14px;margin-bottom:0}.project-tags{flex-wrap:wrap;align-items:center;gap:.7em;margin-top:10px;padding:0;list-style:none;display:flex}.project-tags li{font-family:var(--heading-font);letter-spacing:.04em;text-transform:uppercase;color:var(--subheader-color);align-items:center;gap:.7em;font-size:1rem;line-height:1;display:flex}.project-tags li:not(:first-child):before{content:"";background-color:var(--subheader-color);width:.35em;height:.35em}@media screen and (width<=700px){.project-card{grid-template-columns:1fr;gap:20px}}a{text-decoration:none}a:visited,a:link{color:var(--heading-color)}a:hover,a:active,a:focus-visible{color:var(--accent)}a:focus-visible,button:focus-visible{outline-offset:6px;outline:2px solid var(--subheader-color)}p a,dd a{padding:0 .2em}p a:hover,p a:active,p a:focus-visible,dd a:hover,dd a:active,dd a:focus-visible{color:var(--background);background-color:var(--accent)}.project-link{font-family:var(--heading-font);letter-spacing:.04em;text-transform:uppercase;margin-top:18px;margin-left:-8px;padding:4px 8px;font-size:1.1rem;display:inline-block}.project-link:after{content:"";vertical-align:.02em;border:.32em solid #0000;border-left:.5em solid;border-right-width:0;width:0;height:0;margin-left:.5em;display:inline-block}.project-link:hover,.project-link:focus-visible{color:var(--background);background-color:var(--accent)}.error-page{flex-direction:column;justify-content:center;max-width:420px;min-height:100vh;margin:0 auto;padding:30px;display:flex}.eyebrow{font-family:var(--heading-font);text-transform:uppercase;letter-spacing:.08em;color:var(--meta-text-color);margin:0 0 8px;font-size:1rem}.error-page-title{color:var(--accent);margin-bottom:20px;font-size:clamp(2.5rem,8vw,4rem);line-height:.9}.cases-topnav{justify-content:space-between;width:100%;min-width:0;max-width:900px;margin:0 auto;padding:0 max(5vw,20px)}.cases-home{letter-spacing:.04em;padding:4px 10px;font-size:1.2rem;display:inline-block}.cases-home:hover,.cases-home:focus-visible{color:var(--background);background-color:var(--accent)}.cases-main{max-width:900px;margin:0 auto;padding:60px max(5vw,20px) 120px}.case{margin-bottom:120px;scroll-margin-top:90px}.cases-nav-label{letter-spacing:.04em;color:var(--subheader-color);padding:4px 4px 4px 0;font-size:1.2rem}.case .eyebrow{margin-bottom:16px}.case-title{margin-bottom:0;font-size:clamp(2.5rem,6.5vw,4rem);line-height:1.05}.case-tags{margin-top:9px}.case-figure{margin:32px 0}.case-figure-row{align-items:flex-start;gap:20px;display:flex}.case-figure-row .case-figure-item{flex-shrink:1;flex-basis:0;min-width:0}.case-figure-item{flex-direction:column;gap:8px;min-width:0;display:flex}.case-figure-label{font-family:var(--heading-font);letter-spacing:.04em;text-transform:uppercase;color:var(--meta-text-color);white-space:nowrap;font-size:.95rem;display:block;overflow:hidden}.case-figure img{object-fit:cover;border-radius:4px;width:100%;height:auto;display:block}.case-figure img.case-figure-single{width:auto;max-width:100%;max-height:80vh}.case-figure figcaption{font-family:var(--text-font);color:var(--meta-text-color);margin-top:12px;font-size:.95rem;line-height:1.5}@media screen and (width<=640px){.case-figure-row{overflow-x:auto}.case-figure-row .case-figure-item{flex:none}.case-figure-row .case-figure-item img{width:auto;height:min(60vh,88vw);max-height:520px}.case-figure-row--wide .case-figure-item img{max-width:82vw;height:auto;max-height:60vh}}.case-block h3{margin-top:40px}.case-list{margin:16px 0 0;padding:0;list-style:none}.case-list li{font-family:var(--text-font);font-size:var(--text-font-size);color:var(--text-color);margin-bottom:12px;padding-left:26px;line-height:1.6;position:relative}.case-list li:before{content:"";background-color:var(--accent);width:8px;height:8px;position:absolute;top:.55em;left:0}.case-emph{color:var(--subheader-color);font-weight:600}.case-group{margin-top:32px}.case-group h4{font-family:var(--heading-font);letter-spacing:.06em;color:var(--subheader-color);margin-bottom:4px;font-size:1.6rem}.case-subgroup{margin-top:24px}.case-subgroup h5{font-family:var(--heading-font);letter-spacing:.06em;color:var(--text-color);margin-bottom:4px;font-size:1.2rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
