*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;text-decoration:none}img,video{max-width:100%;display:block}html{font-size:62.5%}:root{--color-white:#fff;--color-jet:#333;--color-itense-grey:#8d8d8d;--color-dim-grey:#d6d6d6}h1,h2{color:var(--color-jet);font-family:"Inconsolata",sans-serif}.home p,.home p span{opacity:0}footer,header{background:var(--color-white);padding:1rem 2rem}.bot-message .message,nav a{position:relative;overflow:hidden}.bot-message .alert,.bot-message .message::before,article{border:1px solid var(--color-jet)}.bot-message .message::before,.card-body::before{content:"";transition:transform .3s;position:absolute}h1{font-weight:700;font-size:5.2rem;line-height:120%}h2{font-weight:600;font-size:3.8rem;margin:0 0 2rem}.home p,.welcome p:not(.bot-function),body.home main,h3{font-size:2.4rem}h2 span{color:var(--color-dim-grey)}.home p,h3{font-family:"Inconsolata",sans-serif;font-weight:400;color:var(--color-jet)}.bot-message .alert,.bot-message .message,h4{font-size:1.6rem;color:var(--color-jet);font-family:"Inconsolata",sans-serif;font-weight:400}p{font-family:"Geologica",sans-serif;font-weight:200;font-size:2rem;color:var(--color-jet)}.home p{color:var(--color-white);transition:opacity .3s}.content a{text-decoration:underline}.bot-awake,.burger-close{display:none}.bot,.bot-awake,.bot-sleep{cursor:pointer;transition:opacity .2s}.bot-function{font-family:"Inconsolata",sans-serif;font-weight:500;font-size:1.4rem;color:var(--color-itense-grey);margin:.5rem 0 0}.bot-message div{display:flex;gap:1rem}.bot-message .alert{background:var(--color-white);padding:1rem;display:flex;align-items:center}.bot-message .message{background:var(--color-white);padding:1rem;display:flex;align-items:center;opacity:0}.card-title h3,article a:hover .card-body h4,article a:hover .card-body p,body.home,nav a:hover{color:var(--color-white)}.bot-message .message::before{inset:0;transform:scaleX(0);transform-origin:left;pointer-events:none}.bot-message .message.is-active{opacity:1}.bot-message .message.is-active::before,.screen-wipe.is-active,nav a:hover::before{transform:scaleX(1)}.bot-message svg{width:71px;height:71px;flex-shrink:0}.eye{transition:transform .12s ease-out;transform-origin:center}.screen-wipe,nav a::before{transform:scaleX(0);inset:0}body{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.015) 0,rgba(0,0,0,.015) 1px,rgba(0,0,0,0) 2px,rgba(0,0,0,0) 4px),repeating-linear-gradient(to right,rgba(0,0,0,.015) 0,rgba(0,0,0,.015) 1px,rgba(0,0,0,0) 2px);background-size:100% 4px,3px 100%}header{position:fixed;top:0;border-bottom:1px solid var(--color-dim-grey);width:100%;z-index:2}footer{margin:10rem 0 0;width:100%;display:flex;justify-content:end;border-top:1px solid var(--color-dim-grey)}footer p{font-family:"Inconsolata",sans-serif;font-size:1.4rem}nav ul{list-style:none;display:flex;justify-content:end;gap:3rem}nav a{font-family:"Inconsolata",sans-serif;font-weight:500;font-size:1.6rem;display:flex;align-items:center;gap:.4rem;padding:.4rem .6rem;border:1px solid transparent;color:var(--color-jet)}nav a::before{content:"";position:absolute;background:var(--color-jet);transform-origin:left;transition:transform .25s;z-index:0}.card-body>*,nav a>*{position:relative;z-index:1}nav a:hover{border-color:var(--color-jet)}nav a svg{flex-shrink:0}nav a svg path{fill:var(--color-itense-grey);transition:fill .15s}.highlight .bot-message rect:first-of-type,nav a:hover svg path{fill:var(--color-white)}nav a:focus-visible{outline:2px solid var(--color-jet);outline-offset:2px}.back-button{display:flex;justify-content:start;flex-grow:1}.burger-toggle{display:none;background:0 0;border:none;cursor:pointer;z-index:3}body.home{background-color:var(--color-jet);background-image:repeating-linear-gradient(to bottom,rgba(255,255,255,.04) 0,rgba(255,255,255,.04) 1px,rgba(255,255,255,0) 3px,rgba(255,255,255,0) 5px);background-size:100% 5px}body.home main{height:100vh;font-family:"Inconsolata",sans-serif;font-weight:400;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.screen-wipe{position:fixed;background:var(--color-white);transform-origin:left;z-index:9999;pointer-events:none;transition:transform .6s cubic-bezier(.4,0,.2,1)}body.project-page main,body.projects{display:flex;flex-direction:column;align-items:center}body.projects main{max-width:1024px}.owner{margin:10rem 0}.project-tags,.titles{display:flex;flex-wrap:wrap;gap:0 1rem}.project-tags h3:not(:last-of-type),.project-tags h4:not(:last-of-type),.titles h3:not(:last-of-type){padding:0 1rem 0 0;border-right:1px solid var(--color-dim-grey)}.welcome{display:flex;align-items:center;gap:5rem}.project-intro p:not(:last-of-type),.welcome p:not(:last-of-type){margin:0 0 4rem}.works{margin:10rem 0 0;display:flex;flex-direction:column}.works h2:not(:first-of-type){margin:10rem 0 2rem}.case-studies,.fencing,.research{height:30rem;display:flex;gap:2rem}.fencing article,.research article{max-width:32.8rem}article a{display:flex;flex-direction:column;height:100%}.card-title{background:var(--color-jet);padding:1rem;display:flex;align-items:center;gap:1rem}.card-body{position:relative;overflow:hidden;background:var(--color-white);padding:1.5rem;display:flex;flex-direction:column;flex:1}.card-body::before{inset:0;background:var(--color-jet);transform:scaleY(0);transform-origin:top;z-index:0}article a:hover .card-body::before{transform:scaleY(1)}.card-body p{flex-grow:1}body.project-page .container{width:100%;max-width:1001px}.project-title{margin:10rem 0 5rem}.highlight .bot-message,.project-intro{margin:5rem 0 0}.content,.highlight{margin:10rem 0 0}.content .bot-message,.content img{margin:3rem 0 0}.project-intro p{font-size:2.2rem}.project-question{margin:10rem 0 0;font-size:4rem;font-weight:500}.highlight{padding:5rem 1rem;width:100%;background:var(--color-jet);display:flex;flex-direction:column;align-items:center}.highlight .container{display:flex;align-items:start;justify-content:space-between}.highlight :is(.left-col,.right-col){flex-grow:1;max-width:45rem}.highlight :is(span,h2,p){color:var(--color-white)}.highlight-list{display:flex;flex-direction:column;align-items:start;gap:2rem}.highlight-list p{font-family:"Inconsolata",sans-serif;font-size:2rem;font-weight:400;width:100%}.highlight-list p:not(:last-of-type){padding:0 0 2rem;border-bottom:1px solid var(--color-white)}.highlight-list p.highlight-subtitle{font-family:"Geologica",sans-serif;font-weight:500;border:none;padding:0 0 .5rem}.content p:not(:last-of-type){margin:0 0 1.5rem}.content img{width:100%;border:1px solid var(--color-dim-grey)}.highlight .bot-message rect:not(:first-of-type){fill:var(--color-jet)}@media (max-width:1040px){main{padding:0 1.5rem}header nav{padding:0 3rem}}@media (max-width:900px){.case-studies,.fencing,.research{flex-direction:column;height:auto}.case-studies article,.fencing article,.research article{width:100%;max-width:100%}.bot-function,.welcome-bot{display:none}.card-body .project-tags{margin:1rem 0 0}.highlight .container{flex-direction:column;gap:5rem}.highlight :is(.left-col,.right-col){width:100%;max-width:none}.bot-message .message{width:auto;max-width:100%;height:auto}}@media (max-width:600px){header{display:flex;align-items:center;justify-content:space-between}.burger-toggle{display:block;margin-left:auto}.back-button,header.is-open .burger-open{display:none}nav{position:fixed;inset:0;background:var(--color-white);transform:translateY(-100%);transition:transform .4s;z-index:2}header.is-open nav{transform:translateY(0)}nav ul{height:100%;flex-direction:column;justify-content:center;align-items:flex-start;gap:3rem;width:fit-content;margin:0 auto}header.is-open .burger-close{display:block}}@media (max-width:480px){h1{font-size:4rem}h2{font-size:2.5rem}.home p{text-align:center}.project-intro p,.welcome p:not(.bot-function),h3{font-size:2rem}h4{font-size:1.4rem}.highlight-list p,p{font-size:1.6rem}nav a{font-size:2.4rem}.titles h3:not(:last-of-type){border-right:none;padding:0}.project-intro p:not(:last-of-type),.welcome p:not(:last-of-type){margin:0 0 2.5rem}.owner{margin:10rem 0 5rem}.content,.works{margin:5rem 0 0}.works h2:not(:first-of-type){margin:5rem 0 2rem}.bot-message{display:none}.project-question{margin:5rem 0 0;font-size:3rem}}
