.container{width:100%;height:inherit;margin:0 auto;padding:0 1.25rem}@media (min-width: 480px){.container{max-width:480px}}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px;padding:0 2.5rem}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.three-scene{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}.three-scene canvas{width:100%;height:100%}.scene-controls-toggle{display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:3.75rem;height:3.75rem;position:absolute;bottom:.9375rem;right:calc(50% - 30px);background-color:transparent;border:none;color:#f0f0f0;cursor:pointer}.scene-controls-toggle:focus-visible{outline-style:outset;outline-width:2px;outline-color:#0286eb}.scene-controls-toggle:hover .icon-cube__border,.scene-controls-toggle.active .icon-cube__border{fill:#0286eb!important}.icon-cube{width:100%;height:100%}.icon-cube__border{transition:fill .5s cubic-bezier(.165,.84,.44,1)}.scene-controls{position:absolute;bottom:5.625rem;width:calc(100% - 40px);margin:0 1.25rem;display:none}.scene-controls.visible{display:block}.slider-group{display:flex;flex-flow:row wrap;justify-content:space-evenly;gap:2rem;width:-moz-fit-content;width:fit-content;margin:0 auto;padding:1.5rem 2rem;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:solid 1px #373737}.slider-control{display:flex;flex-direction:column;align-items:center;width:100%;font-size:.75rem;color:#f0f0f0}@media (min-width: 480px){.slider-control{width:40%}}@media (min-width: 768px){.slider-control{width:auto}}.slider-control label{margin-bottom:.4375rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.slider-control input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:.125rem;background:linear-gradient(to right,#0286eb 0%,#0286eb var(--progress),#373737 var(--progress),#8b8b8b 100%);border-radius:.125rem;outline:none;transition:background .2s ease;cursor:pointer}@media (min-width: 768px){.slider-control input[type=range]{width:7.5rem}}.slider-control input[type=range]:focus{outline:none}.slider-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:14px;width:14px;border-radius:50%;background:#151515;border:solid 2px #0286eb;-webkit-transition:transform .2s ease,box-shadow .2s ease;transition:transform .2s ease,box-shadow .2s ease}.slider-control input[type=range]:hover::-webkit-slider-thumb,.slider-control input[type=range]:focus::-webkit-slider-thumb{transform:scale(1.2);box-shadow:0 0 0 4px #00aaff59}.slider-control input[type=range]::-moz-range-thumb{-moz-appearance:none;-webkit-appearance:none;appearance:none;height:14px;width:14px;border-radius:50%;background:#151515;border:solid 2px #0286eb;-moz-transition:transform .2s ease,box-shadow .2s ease;transition:transform .2s ease,box-shadow .2s ease}.slider-control input[type=range]:hover::-moz-range-thumb,.slider-control input[type=range]:focus::-moz-range-thumb{transform:scale(1.2);box-shadow:0 0 0 4px #00aaff59}.panel{margin-bottom:1.875rem;padding:1.875rem;border:solid 1px #373737;background-color:#151515}@media (min-width: 768px){.panel{margin-bottom:3.75rem;padding:3.75rem}}.panel>:first-child{margin-top:0}.panel>:last-child{margin-bottom:0}.panel>:only-child{margin-bottom:0}.panel img{width:100%}.form{padding:1.5em;background-color:#00000080;border:solid 1px #373737}@media (min-width: 768px){.form{padding:2.5em}}.label{display:block;margin-bottom:.75em;text-transform:uppercase;letter-spacing:.15em;color:#8b8b8b}.input-text,.input-textarea{width:100%;margin-bottom:1.5em;padding:1em;background-color:#000;border:solid 2px #373737;font-family:Roboto,sans-serif;font-size:1em;color:#8b8b8b;outline:none}.input-text:focus,.input-textarea:focus{border-color:#0286eb;border-width:2px}.input-textarea{resize:vertical}.thankyou{padding:1.5em;background-color:#00000080;border:solid 1px #373737;color:#f0f0f0;text-align:center}@media (min-width: 768px){.thankyou{padding:2.5em}}.card-grid{display:grid;grid-template-columns:1fr;gap:2em;margin-bottom:2em}@media (min-width: 640px){.card-grid{grid-template-columns:1fr 1fr}}@media (min-width: 1024px){.card-grid{grid-template-columns:1fr 1fr 1fr}}@media (min-width: 1280px){.card-grid{grid-template-columns:1fr 1fr 1fr}}@media (min-width: 1536px){.card-grid{gap:3em;margin-bottom:3em}}.card{display:flex;flex-flow:column nowrap;align-items:flex-start;justify-content:flex-start;padding:1.875rem;background-color:#00000040;border:solid 1px #373737}.card .li:last-child{margin-bottom:0}@media (min-width: 1536px){.card{padding:3.75rem}}.card__title{margin:1em 0;text-align:center;font-size:2em}@media (min-width: 768px){.card__title{font-size:1.75em}}@media (min-width: 1536px){.card__title{margin:1.5em 0;font-size:2em}}.card__hero-image{width:100%;margin:0 auto;padding:10%;border:solid 1px #202020}.card__hero-image img,.card__hero-image svg{display:block;width:100%}@keyframes scrollGridY{0%{background-position:50% 0,50% 0}to{background-position:50% 100px,50% 100px}}.card--extra{align-items:center;justify-content:flex-end;background:linear-gradient(0deg,rgba(55,55,55,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(55,55,55,.5) 1px,transparent 1px);background-size:100px 100px;background-position:50% 50%;background-repeat:repeat;animation:scrollGridY 5s linear infinite;transition:background-size .8s cubic-bezier(.165,.84,.44,1),background-position .8s cubic-bezier(.165,.84,.44,1)}.card--extra .card__text{margin-top:auto;margin-bottom:auto}.card--extra:hover{background-size:120px 120px;animation-play-state:paused}@media (min-width: 1024px){.card--extra{grid-column:1/-1}}.project-cards{display:grid;grid-template-columns:1fr;gap:2em;margin-bottom:1.875rem}@media (min-width: 768px){.project-cards{margin-bottom:3.75rem}}@media (min-width: 1536px){.project-cards{grid-template-columns:1fr 1fr;gap:3em}}.project-card{position:relative;display:flex;flex-flow:column nowrap;align-items:center;justify-content:center;gap:1.875rem;padding:1.875rem;min-height:13.75rem;background-color:#00000040;background-size:cover;border:solid 1px #373737;overflow:hidden}.project-card:hover{background-color:#000;cursor:pointer}.project-card:hover .project-card__logo{scale:.95;filter:blur(3px)}.project-card:hover .project-card__bar{background-color:#00000080;border:solid 1px #373737;padding:1.25rem}.project-card:hover .project-card__title,.project-card:hover .project-card__label{color:#f0f0f0}.project-card:hover .project-card__description{color:#f0f0f0;border-top-color:#373737}.project-card:focus-visible{outline-style:outset;outline-width:2px;outline-color:#0286eb}@media (min-width: 640px){.project-card{min-height:16.25rem}}@media (min-width: 768px){.project-card{min-height:18.75rem;padding:3.75rem}}.project-card__logo{text-align:center;scale:1;transition:scale 2s cubic-bezier(.165,.84,.44,1),filter 2s cubic-bezier(.165,.84,.44,1)}.project-card__logo img{max-width:80%}@media (min-width: 768px){.project-card__logo img{max-width:100%}}.project-card__bar{display:flex;flex-flow:column nowrap;align-items:flex-start;justify-content:flex-start;width:calc(100% - 1.25rem);position:absolute;bottom:0;left:0;margin:.625rem;padding:.625rem;background-color:#0000001a;transition:background-color .5s cubic-bezier(.165,.84,.44,1),border-color .5s cubic-bezier(.165,.84,.44,1),padding .5s cubic-bezier(.165,.84,.44,1)}.project-card__row{width:100%;display:flex;align-items:center;justify-content:space-between}.project-card__title{margin:0;margin-right:1.25rem;font-size:1rem;color:#000;transition:color .5s cubic-bezier(.165,.84,.44,1)}.project-card__label{font-size:.75rem;color:#000;transition:color .5s cubic-bezier(.165,.84,.44,1)}.project-card__description{display:none;width:inherit;padding-top:.625rem;margin-top:.625rem;border-top:solid 1px #000000;color:#000;font-size:1rem;transition:color .5s cubic-bezier(.165,.84,.44,1),border-color .5s cubic-bezier(.165,.84,.44,1)}.project-card__subline{font-size:1.125rem}.project-card .bfg-button{position:absolute;right:.3125rem;bottom:.3125rem}.project-card__grid{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.project-card__tile{position:absolute;background-color:#000000e6;opacity:0;will-change:opacity;transition:opacity .5s cubic-bezier(.165,.84,.44,1)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:666;display:flex;align-items:center;justify-content:center}.modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#000c}.modal__content{position:relative;max-width:90vw;max-height:90vh;padding:1.25rem;display:flex;flex-direction:row;align-items:initial;justify-content:center}.modal__content img{max-width:100%;max-height:100%;width:auto;height:auto;-o-object-fit:contain;object-fit:contain;display:block}.modal__close{position:absolute;top:.5rem;right:.5rem;padding:.3125rem .625rem;background:none;border:solid 1px #373737;background-color:#151515;font-size:1.5rem;color:#f0f0f0;cursor:pointer;outline:none;transition:color .5s cubic-bezier(.165,.84,.44,1),border-color .5s cubic-bezier(.165,.84,.44,1)}.modal__close:hover,.modal__close:focus{border-color:#0286eb;color:#0286eb}.modal__caption{margin-top:.5rem;font-size:.875rem;color:#8b8b8b;text-align:center}.aspect-16-9{width:100%;aspect-ratio:16/9;overflow:hidden;margin-bottom:1.875rem;padding:0;border:solid 1px #373737;outline:none;cursor:pointer;box-shadow:0 0 #fffc;transition:border-color 2s cubic-bezier(.165,.84,.44,1),box-shadow 2s cubic-bezier(.165,.84,.44,1)}.aspect-16-9:hover{border-color:#f0f0f0;animation:noisy-glow 3s infinite ease-in-out}.aspect-16-9:hover .aspect-16-9__image{transform:translateY(-120px)}.aspect-16-9:focus{border-color:#f0f0f0;animation:noisy-glow 3s infinite ease-in-out}@media (min-width: 768px){.aspect-16-9{margin-bottom:3.75rem}}.aspect-16-9__image{display:block;width:100%;transition:scale 2s cubic-bezier(.165,.84,.44,1),transform 5s cubic-bezier(.165,.84,.44,1)}@keyframes noisy-glow{0%{box-shadow:0 0 6px 2px #fff0;border-color:#373737}50%{box-shadow:0 0 12px 2px #ffffff80;border-color:#f0f0f0}to{box-shadow:0 0 6px 2px #fff0;border-color:#373737}}.dev-panel{position:fixed;bottom:10px;right:10px;z-index:1000;font-family:sans-serif}.dev-panel .dev-panel-toggle{background:#333;color:#fff;border:none;padding:8px 12px;cursor:pointer;font-size:14px;border-radius:4px}.dev-panel .dev-panel-content{background:#000000e6;color:#fff;padding:10px;border-radius:4px;margin-top:5px;min-width:150px}.dev-panel .dev-panel-content h4{margin:0 0 8px;font-size:14px}.dev-panel .dev-panel-content ul{list-style:none;padding:0;margin:0}.dev-panel .dev-panel-content ul li{margin-bottom:4px}.dev-panel .dev-panel-content ul li a{color:#00c3ff;text-decoration:none;font-size:13px}.dev-panel .dev-panel-content ul li a:hover{text-decoration:underline}.logomini{display:block;width:100%;height:auto;cursor:pointer}.logomini #logomini_base{fill:#515151;opacity:1}.logomini #logomini_core{fill:url(#logomini_core);opacity:0}.logomini #logomini_bottomHighlight{fill:url(#logomini_bottomHighlight);opacity:0}.logomini #logomini_highlight{fill:url(#logomini_highlight);opacity:0}.nav-bar{display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-end;position:fixed;top:0;right:0;width:100%;height:5rem;background-color:#151515;border-bottom:solid 1px #373737;z-index:200}.nav-bar__ul{position:absolute;top:100px;right:20px;width:calc(100% - 40px);margin:0;padding:1.875rem;list-style:none;background-color:#000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;border:solid 1px #373737}@media (min-width: 480px){.nav-bar__ul{width:320px}}@media (min-width: 768px){.nav-bar__ul{display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-end;height:inherit;padding:0;top:auto;right:auto;width:auto;background-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;opacity:1;border:none}}.nav-bar__ul{opacity:0;visibility:hidden;pointer-events:none}.nav-bar__ul.nav-bar__ul--mobile-on{opacity:1;visibility:visible;pointer-events:auto}@media (min-width: 768px){.nav-bar__ul{opacity:1;visibility:visible;pointer-events:auto}}.nav-bar__li{width:100%;margin-right:2.5rem;margin-bottom:.9375rem;font-size:.875rem;font-weight:700;text-transform:uppercase}.nav-bar__li.active a{color:#0286eb;border-color:#0286eb;animation:navTextPulse 10s ease-in-out infinite}.nav-bar__li:last-child{margin-bottom:0}.nav-bar__li a{display:block;color:#515151;text-decoration:none;border-bottom-color:transparent;transition:color .5s cubic-bezier(.165,.84,.44,1),border-color .5s cubic-bezier(.165,.84,.44,1);border:solid 1px #515151;padding:.625rem;outline:none}.nav-bar__li a:hover,.nav-bar__li a:focus{color:#0286eb}.nav-bar__li a:focus-visible{outline-style:outset;outline-width:2px;outline-color:#0286eb}@media (min-width: 768px){.nav-bar__li{display:inline-block;width:auto;margin-bottom:0}.nav-bar__li a{padding:initial;border:none}.nav-bar__li.active a{border-bottom:solid 1px #0286eb;padding-bottom:.3125rem}}@keyframes navTextPulse{0%{filter:brightness(1)}50%{filter:brightness(1.5)}to{filter:brightness(1)}}.nav-bar__logo{display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-start;margin-left:1.25rem;margin-right:auto;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none}.nav-bar__logo:focus-visible{outline-style:outset;outline-width:2px;outline-color:#0286eb}@media (min-width: 768px){.nav-bar__logo{margin-left:2.5rem}}.nav-bar__logo-text{margin-left:1.25rem;color:#373737;display:none}.nav-bar__burger{margin-right:1.25rem;cursor:pointer;background:none;border:none;outline:none}.nav-bar__burger path{fill:#515151;transition:fill .5s cubic-bezier(.165,.84,.44,1)}.nav-bar__burger:hover path,.nav-bar__burger:focus-visible path{fill:#0286eb}@media (min-width: 768px){.nav-bar__burger{display:none}}.nav-bar__ul--mobile-on+.nav-bar__burger path{fill:#0286eb}footer{border-top:solid 1px #373737;padding:0 1.25rem}footer p{padding:1.25rem 0;font-size:.75rem;text-transform:uppercase}@media (min-width: 768px){footer{padding:0 2.5rem}footer p{font-size:.875rem}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-color:#151515;opacity:0;pointer-events:none;transition:opacity .5s cubic-bezier(.165,.84,.44,1);z-index:100}.overlay.visible{opacity:1;pointer-events:auto}.layout-row{display:flex;flex-flow:column nowrap;align-items:stretch;justify-content:space-between;width:100%;gap:2em}@media (min-width: 1024px){.layout-row{flex-flow:row wrap}}.layout-cell{width:100%;min-width:0;flex:0 1 auto}.layout-cell :last-child{margin-bottom:0}.layout-cell :only-child{margin:0}@media (min-width: 1024px){.layout-row--2 .layout-cell{width:calc(50% - 2em)}}@media (min-width: 1024px){.layout-row--3 .layout-cell{width:calc(33.333% - 2em)}}@media (min-width: 1024px){.layout-row--4 .layout-cell{width:calc(25% - 2em)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem}body{width:100%;margin:0;padding:80px 0 0;background-color:#151515;font-family:Roboto,sans-serif;color:#8b8b8b}.bfg-button{display:block;width:-moz-fit-content;width:fit-content;background-color:#151515;padding:.625rem 1.25rem;border:solid 1px #0286eb;color:#0286eb;text-decoration:none;font-size:1.125rem;font-weight:400;cursor:pointer;transition:background-color .5s cubic-bezier(.165,.84,.44,1),color .5s cubic-bezier(.165,.84,.44,1)}.bfg-button:hover{background-color:#0286eb;color:#151515}.bfg-button:focus-visible{outline-style:outset;outline-width:2px;outline-color:#0286eb}@media (min-width: 768px){.bfg-button{padding:1.25rem 1.875rem;font-size:1.5rem}}.bfg-button--secondary{padding:.625rem 1.25rem;border-color:#8b8b8b;color:#8b8b8b;font-size:1rem}.bfg-button--secondary:hover{background-color:#8b8b8b}.btn-group{display:flex;flex-flow:column nowrap;align-items:flex-start;justify-content:flex-start}.btn-group .bfg-button{width:100%;display:inline-block;margin-right:1em;margin-bottom:1em}.btn-group .bfg-button:last-child{margin-bottom:0}@media (min-width: 480px){.btn-group{flex-flow:row nowrap}.btn-group .bfg-button{width:auto;display:inline-block;margin-bottom:0}.btn-group .bfg-button:last-child{margin-right:0}}.hide{display:none!important;visibility:hidden!important}.no-margin-top{margin-top:0!important}header{margin-top:3rem;margin-bottom:3rem}@media (min-width: 640px){header{margin-top:3.75rem;margin-bottom:3.75rem}}@media (min-width: 768px){header{margin-top:5rem;margin-bottom:5rem}}@media (min-width: 1024px){header{margin-top:5.625rem;margin-bottom:5.625rem}}@media (min-width: 1536px){header{margin-top:7.5rem;margin-bottom:7.5rem}}h1{margin-top:0;margin-bottom:0;font-size:3rem;font-weight:200;color:#f0f0f0;text-align:center}@media (min-width: 640px){h1{font-size:3.75rem}}@media (min-width: 768px){h1{font-size:5rem}}@media (min-width: 1024px){h1{font-size:5.625rem}}@media (min-width: 1536px){h1{font-size:7.5rem}}h2{margin:1.2em 0;font-weight:400;color:#cdcdcd}h3{border:solid 1px #8b8b8b;margin:2em 0;padding:1em;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#8b8b8b}p{font-size:1.125rem;line-height:1.5em;font-weight:300}@media (min-width: 768px){p{font-size:1.5rem;font-weight:200}}@media (min-width: 1280px){p{font-size:1.75rem}}.ul{line-height:1.5;margin-left:0;padding-left:0}.li{margin-bottom:1.75em;margin-left:1em}.li::marker{color:#0286eb}.li strong{color:#cdcdcd}.ul--grid{display:grid;grid-template-columns:1fr;gap:1rem;list-style:none;margin:0}.ul--grid .li{display:flex;flex-flow:row wrap;align-items:center;justify-content:flex-start;margin:0;padding:10px;border:solid 1px rgba(139,139,139,.6);font-size:.75rem;letter-spacing:.125em;text-transform:uppercase;color:#8b8b8b99}@media (min-width: 480px){.ul--grid{grid-template-columns:1fr 1fr}}@media (min-width: 768px){.ul--grid{grid-template-columns:1fr 1fr 1fr}}@media (min-width: 1280px){.ul--grid{grid-template-columns:1fr 1fr 1fr 1fr}}.subheading{display:block;margin:1em 0;font-size:1.375rem;font-weight:200;line-height:1.3em;color:#8b8b8b;text-align:center}@media (min-width: 640px){.subheading{padding:0 8%}}@media (min-width: 768px){.subheading{padding:0 10%;font-size:2rem}}@media (min-width: 1536px){.subheading{font-size:2.625rem}}h1+.subheading{margin-top:.5em}.tagline{margin-bottom:1em;font-size:1.75rem;font-weight:300;font-style:italic;line-height:1.4;color:#f0f0f0e6}@media (min-width: 640px){.tagline{font-size:2rem}}@media (min-width: 768px){.tagline{font-size:2.25rem}}main{min-height:calc(100svh - 80px);overflow:hidden}
