@font-face{src:url("/fonts/FiraCode/FiraCode-var.woff2") format("woff2"),url("/fonts/FiraCode/FiraCode-var.woff") format("woff");font-family:FiraCode;font-display:swap}@font-face{src:url("/fonts/Lexend/Lexend.woff2") format("woff2"),url("/fonts/Lexend/Lexend.woff") format("woff");font-family:"Lexend";font-display:swap}@font-face{font-style:normal;font-weight:normal;src:url("/fonts/fontello/font/fontello.woff2") format("woff2"),url("/fonts/fontello/font/fontello.woff") format("woff");font-family:"fontello";font-display:swap}[class^=icon-]:before,[class*=" icon-"]:before{display:inline-block;margin-right:.2em;margin-left:.2em;width:1em;font-style:normal;font-variant:normal;font-weight:normal;line-height:1em;font-family:"fontello";text-align:center;text-decoration:inherit;text-transform:none}.icon-chevron-right:before{content:""}.icon-chevron-left:before{content:""}.icon-check:before{content:""}.icon-clipboard:before{content:""}.icon-facebook-f:before{content:""}.icon-flickr:before{content:""}.icon-github:before{content:""}.icon-instagram:before{content:""}.icon-lastfm:before{content:""}.icon-linkedin-in:before{content:""}.icon-magnifying-glass:before{content:""}.icon-pinterest-p:before{content:""}.icon-rss:before{content:""}.icon-spotify:before{content:""}.icon-x-twitter:before{content:""}.icon-skull-crossbones:before{content:""}.icon-cube:before{content:""}.icon-dice:before{content:""}.icon-eye:before{content:""}.icon-fire-flame-curved:before{content:""}.icon-gamepad:before{content:""}.icon-headphones-simple:before{content:""}.icon-heart:before{content:""}.icon-lightbulb:before{content:""}.icon-quote-left:before{content:""}.icon-record-vinyl:before{content:""}.icon-spray-can:before{content:""}.icon-apple-whole:before{content:""}.icon-asterisk:before{content:""}.icon-bolt-lightning:before{content:""}.icon-book-open:before{content:""}.icon-browser:before{content:""}.icon-camera-cctv:before{content:""}.icon-camera-retro:before{content:""}.icon-chart-simple:before{content:""}.icon-code:before{content:""}.icon-compact-disc:before{content:""}.icon-compass:before{content:""}:root{--color-accent: #b71f22;--color-base: oklch(from var(--color-accent) 0.985 0.0015 h);--color-contrast: #1a1a1a;--color-grey-50: oklch(from var(--color-accent) 0.96 0.0025 h);--color-grey-100: oklch(from var(--color-accent) 0.9 0.0025 h);--color-grey-200: oklch(from var(--color-accent) 0.8 0.0025 h);--color-grey-300: oklch(from var(--color-accent) 0.7 0.0025 h);--color-grey-400: oklch(from var(--color-accent) 0.6 0.0025 h);--color-grey-500: oklch(from var(--color-accent) 0.5 0.0025 h);--color-grey-600: oklch(from var(--color-accent) 0.4 0.0025 h);--color-grey-700: oklch(from var(--color-accent) 0.3 0.0025 h);--color-grey-800: oklch(from var(--color-accent) 0.2 0.0025 h);--color-grey-900: oklch(from var(--color-accent) 0.1 0.0025 h);--color-grey-950: oklch(from var(--color-accent) 0.05 0.0025 h);--color-danger: #b71f22;--color-success: #24a474;--color-warning: #ffc527;--color-info: #1a1a1a;--font-text: "Lexend", system-ui, sans-serif;--font-heading: "Lexend", system-ui, sans-serif;--font-monospace: monospace;--weight-regular: 350;--weight-semibold: 600;--weight-bold: 800;--weight-black: 800;--text-xs: 14px;--text-sm: 16px;--text-md: 18px;--text-lg: 22px;--text-h1: 60px;--text-h2: 40px;--text-h3: 30px;--text-h4: 20px;--text-h5: 18px;--text-h6: 18px;--line-height-xs: 1.15;--line-height-sm: 1.25;--line-height-md: 1.5;--line-height-lg: 1.75;--spacing-sm: 0.5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 3rem;--spacing-2xl: 4.5rem;--spacing-3xl: 6rem;--spacing-4xl: 8rem;--spacing-5xl: 12rem;--border-size: 3px;--border-size-lg: 5px;--radius-sm: 5px;--radius-md: 10px;--radius-lg: 20px;--shadow-lg: 0 30px 45px -30px rgb(from var(--color-contrast) r g b / 0.25);--shadow-lg-hover: 0 30px 45px -20px rgb(from var(--color-contrast) r g b / 0.3);--shadow-xl: 25px 0 45px -25px rgb(from var(--color-contrast) r g b / 0.1);--aside-width: 60px;--navigation-tip-width: 60px;--navigation-card-height: 300px;--featured-aspect-ratio: 16/9;--blog-cover-height: 500px}@media(min-width: 992px){:root{--text-xs: 18px;--text-sm: 20px;--text-md: 22px;--text-lg: 25px;--text-h1: 80px;--text-h2: 50px;--text-h3: 40px;--text-h4: 30px;--text-h5: 20px;--text-h6: 20px}}*,*:before,*:after{box-sizing:border-box}body{margin:0;background-color:var(--color-base);width:100vw;overflow-x:hidden;color:var(--color-contrast);font-weight:var(--weight-regular);font-size:var(--text-md);line-height:var(--line-height-md);font-family:var(--font-text)}.hidden{display:none}.discrete{clip:rect(0 0 0 0);position:absolute;clip-path:inset(50%)}.highlight{position:relative;box-shadow:inset 0 5px 10px -5px rgb(from var(--color-contrast) r g b/0.1);border-bottom:2px solid #fff;border-radius:var(--radius-md);max-width:calc(100vw - var(--spacing-md)*2);overflow-x:auto}.highlight div,.highlight pre{background-color:rgba(0,0,0,0) !important;overflow-x:auto}.highlight tr>td:nth-child(1) span{display:block;padding-left:1em !important}.highlight .button{display:none;position:absolute;top:var(--spacing-md);right:var(--spacing-md)}.highlight:hover .button{display:block}.overline{border-top:var(--border-size-lg) solid var(--color-accent)}.color-contrast{color:var(--color-contrast)}input[type=text],input[type=email],textarea{border:none;border-bottom:var(--border-size) solid var(--color-grey-50);background-color:#fff;padding:.65em .5em;width:100%;font-weight:var(--weight-regular);font-size:var(--text-md);font-family:var(--font-text)}input[type=text]:placeholder-shown,input[type=email]:placeholder-shown,textarea:placeholder-shown{color:var(--color-grey-400);font-style:italic}input[type=text]:focus-within,input[type=email]:focus-within,textarea:focus-within{outline:none;border-color:var(--color-accent)}textarea{min-height:150px;resize:vertical}label{display:block;margin-bottom:var(--spacing-sm);color:var(--color-grey-800)}label em{color:var(--color-danger)}.input-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.input-row>div{width:100%}.input-row div:has(input:focus-within,textarea:focus-within) label{color:var(--color-accent)}.status{font-style:italic;font-size:var(--text-sm)}.status--error{color:var(--color-danger)}.status--success{color:var(--color-success)}@media(min-width: 576px){.input-row{flex-wrap:nowrap}}@media(min-width: 992px){.input-row{flex-wrap:wrap}}@media(min-width: 1200px){.input-row{flex-wrap:nowrap}}.page{display:grid}.container{margin:var(--spacing-lg) auto;padding:var(--spacing-md);max-width:1400px}@media(min-width: 768px){.page{grid-template-columns:var(--aside-width) 1fr}.container{margin:var(--spacing-3xl) auto}}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-weight:var(--weight-semibold);line-height:var(--line-height-md);font-family:var(--font-heading)}h1,.h1{font-size:var(--text-h1)}h2,.h2{font-size:var(--text-h2)}h3,.h3{font-size:var(--text-h3)}h4,.h4{font-size:var(--text-h4)}h5,.h5{font-size:var(--text-h5)}h6,.h6{font-size:var(--text-h6)}label{cursor:pointer}a{color:var(--color-accent)}blockquote{position:relative;margin-right:0;margin-left:0;font-style:italic}blockquote:before{position:absolute;top:.05em;left:-0.25ch;z-index:-1;content:"“";color:var(--color-grey-100);font-size:10em;line-height:1ex;font-family:Georgia,serif}a:hover{text-underline-offset:.25rem}kbd{margin-right:.25em;margin-left:.25em;border:1px solid var(--color-grey-200);border-radius:var(--radius-sm);background-color:var(--color-grey-50);padding:.15em .45em;color:var(--color-grey-800);font-size:var(--text-sm);font-family:var(--font-monospace)}.button{--arrow-size: 1.75em;--arrow-padding: 2.5em;--arrow-offset: 0.4em;--arrow-offset-hover: 0.3em;display:inline-block;cursor:pointer;border:var(--border-size) solid var(--color-accent);background-color:var(--color-base);padding:.75em 1em;min-width:150px;color:var(--color-accent);font-weight:var(--weight-semibold);font-size:var(--text-sm) !important;line-height:1em;font-family:var(--font-text);text-align:center;text-decoration:none}.button:hover{background-color:var(--color-accent);color:var(--color-base)}.button.prev,.button.next{position:relative}.button.prev:before,.button.prev:after,.button.next:before,.button.next:after{position:absolute;transition:left .15s ease-out,right .15s ease-out;font-size:var(--arrow-size)}.button.prev{padding-left:var(--arrow-padding)}.button.prev:before{left:var(--arrow-offset);content:"↜"}.button.prev:hover:before{left:var(--arrow-offset-hover)}.button.next{padding-right:var(--arrow-padding)}.button.next:after{right:var(--arrow-offset);content:"↝"}.button.next:hover:after{right:var(--arrow-offset-hover)}@media(min-width: 992px){.button{font-size:var(--text-md)}}.container--breadcrumb{margin-top:0;margin-bottom:0;padding:0 var(--spacing-md);max-width:1600px}@media(min-width: 992px){.container--breadcrumb{margin-bottom:var(--spacing-lg);padding:0}}.footer{background-color:var(--color-accent);padding:var(--spacing-sm);color:var(--color-base);font-size:var(--text-sm);text-align:center}.footer a{color:var(--color-base);text-decoration:none}.footer a:hover{text-decoration:underline}.footer p{margin-top:0;line-height:var(--line-height-xs);font-size:var(--text-h4);margin-bottom:var(--spacing-lg)}.footer ul{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-sm);margin:0;margin-bottom:var(--spacing-3xl);padding:0;font-size:1.4em;list-style:none}.footer nav+p{font-size:.9em}.footer i{display:block;transition:transform .1s ease-out}.footer i:hover{transform:scale(1.2)}#ripples{display:block;margin-bottom:-1px;width:100%}@media(min-width: 992px){.footer{padding:0 0 var(--spacing-lg) 0}.footer ul{gap:var(--spacing-md)}.footer p{font-size:var(--text-h3)}}.header{display:flex;justify-content:center;align-items:center;border-top:var(--border-size-lg) solid var(--color-accent);padding:var(--spacing-md)}.header img{width:40px;height:40px}@media(min-width: 768px){.header{padding:var(--spacing-lg)}.header img{width:65px;height:65px}}.menu{position:absolute;top:var(--spacing-lg);right:var(--spacing-md);z-index:10}.menu .bar{display:flex;position:relative;justify-content:center;align-items:center;z-index:1;height:100%}.menu label{display:flex;position:relative;justify-content:center;align-items:center;transform:rotate(90deg);transition:transform .1s ease-out;width:30px;height:30px}.menu label:hover span:nth-child(1){margin-left:calc(var(--border-size-lg)*-4.5)}.menu label:hover span:nth-child(3){margin-left:calc(var(--border-size-lg)*4.5)}.menu span{position:absolute;transition-duration:.1s,.3s,.25s;transition-property:margin,transform,height;transition-timing-function:ease-out;border-radius:var(--border-size-lg);background-color:var(--color-accent);width:var(--border-size-lg);height:100%}.menu span:nth-child(1){margin-left:calc(var(--border-size-lg)*-4)}.menu span:nth-child(3){margin-left:calc(var(--border-size-lg)*4)}.menu .drawer{position:fixed;top:0;left:0;transform:translateX(100%);opacity:0;transition-delay:0s,.25s;transition-duration:.25s,0s;transition-property:transform,opacity;transition-timing-function:ease-out;box-shadow:var(--shadow-lg);border-top:5px solid var(--color-accent);border-right:var(--border-size) solid var(--color-grey-100);background-color:var(--color-base);width:100vw;height:100dvh}.menu .drawer-content{display:flex;align-items:center;box-shadow:var(--shadow-xl);width:100%;height:100%}.menu ul{margin:0;padding:0;list-style:none;text-align:center}.menu nav{width:100%}.menu a{color:var(--color-grey-200);font-size:1.65em;line-height:1.75;text-decoration:none;text-transform:lowercase}.menu a:hover{color:var(--color-accent)}.menu a[aria-current=page]{color:var(--color-accent)}.menu i{display:none;position:fixed;right:.5ch;bottom:0em;color:var(--color-grey-50);font-style:normal;font-weight:var(--weight-bold);font-size:1.5em;font-size:6em;line-height:1em;text-align:right}.menu #drawer-toggle{display:none}.menu #drawer-toggle:checked~.drawer{transform:translateX(0);opacity:1;transition-delay:0s,0s}.menu #drawer-toggle:checked~.bar label span:nth-child(1){transform:rotate(45deg);margin-left:0}.menu #drawer-toggle:checked~.bar label span:nth-child(2){height:0}.menu #drawer-toggle:checked~.bar label span:nth-child(3){transform:rotate(-45deg);margin-left:0}.menu #drawer-toggle:checked~.bar label:hover{transform:rotate(90deg) scale(1.1)}body:has(#drawer-toggle:checked){overflow:hidden}@media(min-width: 768px){.menu{position:sticky;top:0;right:unset;border-top:5px solid var(--color-accent);height:100dvh}.menu label{transform:rotate(0)}.menu .bar{background-color:var(--color-base)}.menu label{width:40px;height:40px}.menu .drawer{transform:translateX(-100%)}.menu .drawer-content{max-width:500px}.menu ul{padding-left:var(--spacing-md);text-align:left}.menu a:hover i{display:block}.menu #drawer-toggle:checked~.drawer{left:var(--aside-width);transform:translateX(0)}.menu #drawer-toggle:checked~.bar label:hover{transform:rotate(0) scale(1.1)}}.container--term header,.container--taxonomy header{display:flex;flex-direction:column}.container--term h1,.container--taxonomy h1{margin:0;font-size:var(--text-h2)}.container--term p,.container--taxonomy p{margin:0}.container--term p:before,.container--taxonomy p:before{margin-right:.5ch;content:"#";color:var(--color-accent)}.container--404{text-align:center}.container--404 h1{margin-top:0;margin-bottom:0;line-height:1;font-weight:var(--weight-black);font-size:calc(var(--text-h1)*2)}.container--blog{display:flex;flex-direction:column;gap:var(--spacing-xl);max-width:1500px}.container--blog article{display:grid;position:relative;box-shadow:var(--shadow-lg);border-top:2px solid #fff}.container--blog img{transition:transform 5s ease-out;width:100%;height:100%;object-fit:cover}.container--blog h2{margin-top:0;margin-bottom:var(--spacing-sm);color:var(--color-contrast);font-weight:var(--weight-semibold);font-size:var(--text-h3);line-height:var(--line-height-xs);letter-spacing:-0.025em}.container--blog ul{display:flex;margin-top:0;padding:0;list-style:none}.container--blog ul a:hover{text-decoration:underline}.container--blog li:not(:last-child):after{margin-right:.5ch;content:",";color:var(--color-accent)}.container--blog a{font-size:var(--text-sm);text-decoration:none}.container--blog .item-image{overflow:hidden}.container--blog .item-content{padding:var(--spacing-sm)}.container--blog .item-content>i{position:absolute;right:var(--spacing-lg);bottom:var(--spacing-lg);color:var(--color-grey-50);font-size:var(--text-h1);text-shadow:0 1px 2px #fff,0 0 2px rgb(from var(--color-contrast) r g b/0.45)}.container--blog p{margin-top:0}.container--blog span,.container--blog time{display:none;color:var(--color-grey-500);font-size:var(--text-sm)}.container--blog .button{margin-bottom:var(--spacing-lg)}@media(min-width: 768px){.container--blog{gap:var(--spacing-3xl)}.container--blog article{grid-template-columns:1fr 2fr}.container--blog .item-content{padding:var(--spacing-2xl)}.container--blog h2{font-size:var(--text-h2)}.container--blog a{font-size:var(--text-md)}.container--blog span,.container--blog time{display:block}}.container--blog-single{position:relative;margin-top:0;max-width:1600px}.container--blog-single img{width:100%;height:auto}.container--blog-single>img{max-height:150px;object-fit:cover}.container--blog-single section{position:relative;margin:0 auto;background-color:var(--color-base);font-size:var(--text-sm);line-height:var(--line-height-lg)}.container--blog-single h1{margin-bottom:var(--spacing-xl);font-size:var(--text-h3);line-height:var(--line-height-xs);letter-spacing:-0.025em;text-align:center}.container--blog-single aside,.container--blog-single article{margin:0 auto;max-width:1024px;width:100%}.container--blog-single dl{display:none;grid-template-columns:max-content auto max-content auto;gap:.5ch;font-size:var(--text-xs);line-height:var(--line-height-md);text-align:left}.container--blog-single dt{font-weight:var(--weight-semibold)}.container--blog-single dd ul{display:flex;padding:0;list-style:none}.container--blog-single dd li+li:before{content:", "}.container--blog-single h2{font-size:var(--text-h3)}.container--blog-single h3{font-size:var(--text-h4)}.container--blog-single h4{font-size:var(--text-h5)}.container--blog-single .suggestion h2{font-size:var(--text-h2);text-align:center}.container--blog-single nav{display:flex;flex-direction:column;justify-content:space-between;gap:var(--spacing-lg);padding:0}.container--blog-single nav a{display:grid;align-items:center;align-self:center;gap:var(--spacing-md);box-shadow:var(--shadow-lg);border-top:2px solid #fff;padding:var(--spacing-lg);width:100%;max-width:850px;color:var(--color-contrast);text-decoration:none}.container--blog-single nav a:hover i{transform:translateX(0.25em)}.container--blog-single nav div{height:100%}.container--blog-single nav figure{margin:0;height:100%}.container--blog-single nav img{width:100%;height:100%;object-fit:cover}.container--blog-single nav p{margin:0;font-size:var(--text-h4);line-height:var(--line-height-sm)}.container--blog-single nav span{display:block;margin-bottom:var(--spacing-sm);color:var(--color-accent)}.container--blog-single nav span:after{display:block;border-bottom:var(--border-size) solid var(--color-accent);width:100%;max-width:50px;content:""}.container--blog-single nav i{display:none;transition:transform .15s ease-out;color:var(--color-accent);font-size:var(--text-h2)}@media(min-width: 576px){.container--blog-single>img{max-height:250px}.container--blog-single nav a{grid-template-columns:1fr 2fr .25fr}.container--blog-single nav i{display:block}}@media(min-width: 992px){.container--blog-single{box-shadow:var(--shadow-lg);padding:var(--spacing-4xl)}.container--blog-single>img{position:absolute;top:0;left:0;z-index:-1;height:var(--blog-cover-height);max-height:unset}.container--blog-single section{margin-top:var(--spacing-4xl);padding:var(--spacing-2xl)}.container--blog-single section:before{position:absolute;top:0;left:0;z-index:-1;box-shadow:var(--shadow-lg);width:100%;height:var(--blog-cover-height);content:""}.container--blog-single header{margin-bottom:var(--spacing-4xl)}.container--blog-single h1{margin-top:0;margin-bottom:var(--spacing-2xl);font-size:var(--text-h2)}}@media(min-width: 1200px){.container--blog-single section{padding:var(--spacing-4xl)}.container--blog-single dl{display:grid}}.container--contact{display:grid;grid-template-columns:1fr}.container--contact h1{position:absolute;clip-path:inset(50%)}.container--contact form{position:relative;box-shadow:var(--shadow-lg);border-top:2px solid #fff;padding:var(--spacing-lg)}.container--contact form p{margin:0}.container--contact i{position:absolute;right:var(--spacing-lg);bottom:var(--spacing-lg);color:var(--color-grey-50);font-size:var(--text-h2)}.container--contact .input-row:has(.status)>div:first-child{width:unset}@media(min-width: 768px){.container--contact{gap:var(--spacing-xl)}}@media(min-width: 992px){.container--contact{grid-template-columns:1fr 1.5fr;gap:var(--spacing-4xl)}.container--contact form{padding:var(--spacing-xl)}}@media(min-width: 1200px){.container--contact{align-items:center}.container--contact form{padding-top:var(--spacing-2xl)}}.container--lab ul{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);padding:0;list-style:none}.container--lab a{display:flex;position:relative;justify-content:center;align-items:center;transform:scale(1);transition-duration:.3s;transition-property:box-shadow,transform;transition-timing-function:ease-out;box-shadow:var(--shadow-lg);border:1px solid var(--color-grey-50);border-top:2px solid #fff;border-radius:var(--radius-md);background-color:var(--color-base);padding:1.25em;padding-bottom:2em}.container--lab a:hover{transform:scale(1.025);box-shadow:var(--shadow-lg-hover)}.container--lab img{z-index:0;filter:brightness(1);transition:filter .3s ease-out;border-radius:var(--radius-md);width:100%;height:auto;object-fit:cover;display:block}.container--lab div{position:relative}.container--lab div:after{content:"";position:absolute;width:100%;height:100%;background:linear-gradient(to bottom, transparent 65%, rgb(from var(--color-contrast) r g b/0.9) 100%);left:0;top:0;border-radius:var(--radius-md)}.container--lab h2{position:absolute;bottom:var(--spacing-md);z-index:1;transition-duration:.3s;transition-property:transform,opacity;transition-timing-function:ease-out;color:var(--color-base);font-size:var(--text-h2)}.container--lab p{display:none;position:absolute;top:3.5em;left:.875em;transform:rotate(180deg);z-index:1;margin:0;color:var(--color-contrast);font-size:.65em;line-height:1;font-family:var(--font-monospace);writing-mode:vertical-rl}#lab-canvas{position:fixed;inset:0;width:100%;height:100dvh;touch-action:none}#view-toggle{position:fixed;top:var(--spacing-md);left:var(--spacing-md);z-index:5;padding:var(--spacing-sm);min-width:unset;font-size:var(--text-xs)}body:not(:has(.container--lab.hidden)) #lab-canvas{display:none}body:has(.container--lab.hidden) header,body:has(.container--lab.hidden) footer,body:has(.container--lab.hidden) #ripples{display:none}@media(min-width: 576px){.container--lab ul{grid-template-columns:repeat(auto-fit, minmax(300px, 1fr))}.container--lab a{padding:1.75em;padding-bottom:2.5em}.container--lab a:hover h2{display:block;transform:scale(1);opacity:1}.container--lab a:hover img{filter:brightness(0.25)}.container--lab div:after{display:none}.container--lab h2{bottom:unset;transform:scale(0.9);opacity:0}.container--lab p{display:block}}@media(min-width: 992px){#view-toggle{top:var(--spacing-md);right:var(--spacing-md);left:unset}}.container--lab-single{text-align:center}.container--lab-single h1{margin-bottom:var(--spacing-lg);line-height:var(--line-height-xs)}.container--lab-single .button{margin-bottom:var(--spacing-lg)}.container--lab-single .gallery{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:var(--spacing-md)}.container--lab-single .gallery img{width:100%;height:auto;object-fit:cover}.container--page h1{text-align:center}.container--portfolio{display:flex;flex-direction:column;gap:var(--spacing-xl)}.container--portfolio article{display:flex;flex-direction:column;width:100%}.container--portfolio article>a{display:flex;flex-direction:column;justify-content:center;z-index:1}.container--portfolio article:has(a:hover) figure{transform:scale(1.025);box-shadow:var(--shadow-lg-hover)}.container--portfolio article:has(a:hover) span{transform:rotate(90deg)}.container--portfolio a{position:relative;color:var(--color-contrast);text-decoration:none}.container--portfolio h2{margin:0;font-weight:var(--weight-black);font-size:var(--text-h3);line-height:1.125em}.container--portfolio p{margin:0;font-size:var(--text-sm);white-space:nowrap}.container--portfolio p:before{margin-right:.5ch;content:"#";color:var(--color-accent)}.container--portfolio span{display:none}.container--portfolio figure{transition-duration:.5s;transition-property:transform,box-shadow;transition-timing-function:ease-out;margin:0;box-shadow:var(--shadow-lg);border-top:2px solid #fff;aspect-ratio:var(--featured-aspect-ratio);width:100%;max-width:800px}.container--portfolio figure a{display:block;background-color:var(--color-grey-50);width:100%;height:100%}.container--portfolio img{width:100%;height:100%;object-fit:cover}@media(min-width: 576px){.container--portfolio h2{font-size:var(--text-h2)}}@media(min-width: 992px){.container--portfolio{gap:var(--spacing-3xl)}.container--portfolio article{justify-content:flex-end;gap:var(--spacing-lg)}.container--portfolio article:nth-child(even){flex-direction:row-reverse;text-align:left}.container--portfolio article:nth-child(even) h2{margin-left:-10rem}.container--portfolio article:nth-child(even) span{left:0}.container--portfolio article:nth-child(odd){flex-direction:row;text-align:right}.container--portfolio article:nth-child(odd) h2{margin-right:-10rem}.container--portfolio article:nth-child(odd) span{right:0}.container--portfolio article>a{gap:var(--spacing-md)}.container--portfolio span{display:flex;position:absolute;bottom:0;justify-content:center;align-items:center;transform:rotate(0deg);transition:transform .5s ease-out;width:3rem;height:3rem}.container--portfolio span:before,.container--portfolio span:after{position:absolute;background-color:var(--color-accent);width:100%;height:8px;content:""}.container--portfolio span::after{transform:rotate(90deg)}}@media(min-width: 992px){.container--portfolio h2{font-size:calc(var(--text-h2)*1.15)}}@media(min-width: 1200px){.container--portfolio h2{font-size:var(--text-h1)}}.container--portfolio-single{margin-top:0}.container--portfolio-single header{display:flex;position:relative;justify-content:center;align-items:center}.container--portfolio-single header img{aspect-ratio:var(--featured-aspect-ratio)}.container--portfolio-single h1{position:absolute;font-weight:var(--weight-black);font-size:var(--text-h2);line-height:var(--line-height-xs);text-align:center}.container--portfolio-single img{width:100%;max-width:1200px;height:auto}.container--portfolio-single aside{font-size:var(--text-sm)}.container--portfolio-single dl{text-align:center}.container--portfolio-single dt{margin-bottom:var(--spacing-sm);font-weight:var(--weight-semibold)}.container--portfolio-single dd{margin:0}.container--portfolio-single .content{display:grid}.container--portfolio-single figure{margin:0}.container--portfolio-single .gallery{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.container--portfolio-single nav{display:flex;flex-direction:column;flex-wrap:wrap;align-items:center;gap:var(--spacing-lg)}.container--portfolio-single nav a{display:flex;position:relative;flex-direction:column-reverse;justify-content:center;align-items:center;box-shadow:var(--shadow-lg);border-top:2px solid #fff;background:var(--color-grey-50);overflow:hidden;pointer-events:auto;color:var(--color-contrast);text-decoration:none}.container--portfolio-single nav a:hover img{transform:scale(1.25)}.container--portfolio-single nav figure{display:flex;position:relative;justify-content:center;align-items:center}.container--portfolio-single nav img{transition:transform 5s ease-out;width:100%;height:100%;object-fit:contain}.container--portfolio-single nav span{display:flex;position:absolute;top:0;flex-shrink:0;justify-content:center;align-items:center;color:var(--color-accent);font-weight:400;font-size:var(--text-md);text-align:center;text-transform:uppercase}.container--portfolio-single nav span:before,.container--portfolio-single nav span:after{font-weight:900;flex-direction:row-reverse;margin:var(--spacing-md) 0;content:"·"}.container--portfolio-single nav p{position:absolute}@media(min-width: 768px){.container--portfolio-single h1{font-size:var(--text-h2)}.container--portfolio-single .content{grid-template-columns:1fr 3fr;gap:var(--spacing-xl)}.container--portfolio-single dl{text-align:right}.container--portfolio-single aside{position:sticky;top:0;height:fit-content}.container--portfolio-single nav{position:fixed;top:50dvh;left:var(--aside-width);flex-direction:row;justify-content:space-between;align-items:center;width:calc(100% - var(--aside-width));pointer-events:none}.container--portfolio-single nav a{position:absolute;right:0;flex-direction:row-reverse;transform:translateX(calc(100% - var(--navigation-tip-width) + 3px));transition:transform .3s ease-out;border-radius:var(--radius-lg) 0 0 var(--radius-lg);height:var(--navigation-card-height)}.container--portfolio-single nav a:nth-child(1){right:unset;left:0;flex-direction:row;transform:translateX(calc(-100% + var(--navigation-tip-width) - 3px));border-radius:0 var(--radius-lg) var(--radius-lg) 0}.container--portfolio-single nav a:nth-child(1) span{transform:rotate(180deg)}.container--portfolio-single nav a:hover{transform:translateX(0)}.container--portfolio-single nav span{position:static;top:unset;border-right:3px dotted var(--color-grey-100);width:var(--navigation-tip-width);height:100%;font-size:var(--text-xs);writing-mode:vertical-rl}.container--portfolio-single nav figure{aspect-ratio:4/3;height:var(--navigation-card-height)}.container--portfolio-single .gallery{margin-bottom:0}}@media(min-width: 1200px){.container--portfolio-single h1{font-size:var(--text-h1)}}