footer{position:relative;width:100vw;height:100.5svh;background-color:var(--fb-mango,#f5a623);color:var(--fb-black,#0a0a0a);padding:2rem}footer .explosion-container{position:absolute;bottom:0;left:0;width:100%;height:200%;pointer-events:none;overflow:hidden}footer img.explosion-particle-img{position:absolute;bottom:-200px;left:50%;border-radius:1rem;-o-object-fit:cover;object-fit:cover;transform:translateX(-50%);will-change:transform}.sample-project-page footer img.explosion-particle-img,footer img.explosion-particle-img{width:var(--particle-size,300px)!important;height:auto!important}footer .footer-header-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:2rem}footer .footer-header h1{color:var(--fb-black,#0a0a0a);font-size:clamp(2.5rem,6vw,6rem)}footer .footer-byline{position:absolute;left:0;bottom:0;width:100%;display:flex;padding:2rem}footer .footer-byline>div{flex:1;display:flex}footer .footer-byline p{color:var(--fb-black,#0a0a0a);font-size:.9rem}footer .footer-copyright{justify-content:flex-end;width:100%}@media (max-width:1000px){footer{height:100svh}footer .explosion-container{display:none}footer .footer-header-content{width:100%;padding:1.25rem}footer .footer-copyright{justify-content:flex-end;display:flex!important}footer .footer-byline{padding:1.25rem}}@media (max-width:640px){footer{padding:1rem}footer .footer-header-content{width:100%;padding:1rem;gap:1.5rem}footer .footer-header h1{font-size:clamp(1.75rem,8vw,3rem)}footer .footer-byline{padding:1rem;flex-wrap:wrap;gap:.5rem}footer .footer-byline p{font-size:.75rem}}@media (max-width:375px){footer{padding:.75rem}footer .footer-header-content{padding:.75rem;gap:1rem}footer .footer-header h1{font-size:clamp(1.5rem,10vw,2rem)}footer .footer-byline{padding:.75rem;flex-direction:column;align-items:center;gap:.25rem}footer .footer-byline>div{justify-content:center!important}footer .footer-byline p{font-size:.7rem}}.button{text-transform:uppercase;text-decoration:none;display:flex;align-items:center;gap:.5rem}.button,.button .button-label{position:relative;color:var(--fb-light,#d4d4d4)}.button .button-label{display:inline-block;width:-moz-max-content;width:max-content;transform:translateY(.1rem);font-family:Akzidenz-Grotesk Pro,sans-serif;font-size:1rem;font-weight:700;-webkit-font-smoothing:antialiased;letter-spacing:-.025rem}.button .button-label:after{content:"";position:absolute;width:100%;height:.1rem;bottom:-.35rem;left:0;background:var(--fb-mango,#f5a623);transform:scaleX(0);transform-origin:bottom right;transition:transform .25s ease-out;will-change:transform}.button:hover .button-label:after{transform:scaleX(1);transform-origin:bottom left}.button .button-icon{transition:transform .6s ease-out;transform-style:preserve-3d;perspective:1000px;will-change:transform}.button .button-icon,.button .button-icon-inner{display:flex;justify-content:center;align-items:center}.button .button-icon-inner{width:100%;height:100%;width:1.5rem;height:1.5rem;background-color:var(--fb-mango,#f5a623);color:var(--fb-black,#0a0a0a);border-radius:10rem}.button:hover .button-icon{animation:flipTwice .8s ease-out forwards}.button:not(:hover) .button-icon{animation:flipBack .8s ease-out forwards}@keyframes flipTwice{0%{transform:rotateY(0deg)}to{transform:rotateY(2turn)}}@keyframes flipBack{0%{transform:rotateY(2turn)}to{transform:rotateY(0deg)}}.button--light,.button--light .button-label{color:var(--fb-light,#d4d4d4)}.button--light .button-label:after{background:var(--fb-mango,#f5a623)}.button--light .button-icon-inner{background-color:var(--fb-mango,#f5a623);color:var(--fb-black,#0a0a0a)}.button--dark,.button--dark .button-label{color:var(--fb-black,#0a0a0a)}.button--dark .button-label:after{background:var(--fb-mango,#f5a623)}.button--dark .button-icon-inner{background-color:var(--fb-black,#0a0a0a);color:var(--fb-mango,#f5a623)}@media (max-width:1000px){.button .button-label:after{display:none}.button:hover .button-icon,.button:not(:hover) .button-icon{animation:none}}@media (max-width:640px){.button{min-height:44px;padding:.5rem 0}.button .button-label{font-size:.9375rem}}@media (max-width:375px){.button .button-label{font-size:.875rem}.button .button-icon-inner{width:1.25rem;height:1.25rem}.button .button-icon-inner svg{width:10px;height:10px}}.button .line{position:relative;transform:translateY(100%);will-change:transform;padding-bottom:.2em;margin-bottom:-.2em}