.tracking--wide{letter-spacing:.25em!important}.tracking--xwide{letter-spacing:.35em!important}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:Bebas Neue,Space Grotesk,Arial,sans-serif;background:#30f;color:#fff;line-height:1.2;overflow:hidden;font-weight:300}#asciiCanvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;pointer-events:none;opacity:.8;background-color:#30f;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;object-fit:cover;object-position:center;transition:opacity .3s ease-in-out}#asciiCanvas:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:inherit;z-index:-1}@media (max-width: 768px){#asciiCanvas{opacity:.6;will-change:opacity;transform:translateZ(0)}}@media (max-width: 480px){#asciiCanvas{opacity:.4;filter:blur(.5px)}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){#asciiCanvas{image-rendering:auto}}#asciiCanvas.ascii-error,#asciiCanvas.ascii-loading-failed{background-color:#30f;opacity:.3;animation:subtlePulse 8s ease-in-out infinite}@media (prefers-reduced-motion: reduce){#asciiCanvas{animation:none;transition:none;opacity:.2}}.loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#30f;display:flex;align-items:center;justify-content:center;z-index:10000;opacity:1;transition:opacity 1.5s cubic-bezier(.23,1,.32,1)}.loading-screen.loaded{opacity:0;pointer-events:none}.loading-screen .loading-text{font-weight:100;text-transform:lowercase;letter-spacing:.25em;line-height:1.6;color:#fff;font-size:14px;margin-bottom:1.5rem;animation:pulse 2s ease-in-out infinite}@media (min-width: 768px){.loading-screen .loading-text{font-weight:200;letter-spacing:.25em}}@media (min-width: 1024px){.loading-screen .loading-text{font-weight:300;letter-spacing:.25em}}.loading-screen .loading-text:last-child{margin-bottom:0}.composition{min-height:100vh;position:relative;padding:0;overflow:hidden}.header-name{position:absolute;top:5%;left:50%;transform:translate(-50%);z-index:10;text-align:center}.header-name h1{font-family:Arial,sans-serif;font-size:clamp(.7rem,1.5vw,.9rem);font-weight:700;color:#fff;letter-spacing:.8em;text-transform:uppercase;margin:0;opacity:1}.main-title-block{position:absolute;top:19%;left:calc(45% - 25px);transform:translate(-50%);z-index:10;text-align:left}.main-title-block .portfolio-title{font-family:Arial,sans-serif;font-size:clamp(1.1rem,2.75vw,1.8rem);font-weight:700;color:#fff;letter-spacing:.8em;text-transform:uppercase;margin:0;line-height:1.1;transform:scaleY(1.8) translate(-25%) translateY(-5%);white-space:pre}.main-title-block .portfolio-title .ampersand-link{color:#fff;text-decoration:none;transition:color .3s ease;cursor:pointer}.main-title-block .portfolio-title .ampersand-link:hover{color:#ff00f6}.development-status{position:absolute;top:40%;left:50%;z-index:10}.development-status p{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(1.1rem,2.4vw,1.5rem);font-weight:700;color:#fff;letter-spacing:.2em;text-transform:lowercase;margin:0;opacity:1;transform:translate(40%)}.ascii-centerpiece{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60%;height:30%;z-index:5;pointer-events:none}.content-fragment{position:absolute;top:60%;right:10%;max-width:350px;z-index:10}.content-fragment .fragment-text .fragment-label{font-family:Bebas Neue,Bebas Neue,Space Grotesk,Arial,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.35em;line-height:1.2;font-size:10px;color:#bec2c1;margin-bottom:.375rem;opacity:.7}@media (min-width: 768px){.content-fragment .fragment-text .fragment-label{font-weight:700;letter-spacing:.35em}}@media (min-width: 1024px){.content-fragment .fragment-text .fragment-label{font-weight:800;letter-spacing:.35em}}.content-fragment .fragment-text .fragment-label:last-child{margin-bottom:0}.content-fragment .fragment-text .fragment-content p{font-weight:100;line-height:1.6;font-size:clamp(.9rem,1.5vw,1.2rem);font-weight:300;line-height:1.4;color:#bec2c1;text-transform:lowercase;letter-spacing:.25em}@media (min-width: 768px){.content-fragment .fragment-text .fragment-content p{font-weight:200;letter-spacing:.25em}}@media (min-width: 1024px){.content-fragment .fragment-text .fragment-content p{font-weight:300;letter-spacing:.25em}}.content-fragment .fragment-text .fragment-content p:hover{color:#fff;transition:color .3s ease}.services-matrix{position:absolute;bottom:20%;left:8%;z-index:10}.services-matrix .matrix-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:.75rem;border-bottom:1px solid #bec2c1;width:400px}.services-matrix .matrix-header .matrix-label{font-family:Bebas Neue,Bebas Neue,Space Grotesk,Arial,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.35em;line-height:1.2;font-size:12px;color:#fff}@media (min-width: 768px){.services-matrix .matrix-header .matrix-label{font-weight:700;letter-spacing:.35em}}@media (min-width: 1024px){.services-matrix .matrix-header .matrix-label{font-weight:800;letter-spacing:.35em}}.services-matrix .matrix-header .matrix-status{font-size:10px;font-weight:400;color:#30f;text-transform:uppercase;letter-spacing:1px}.services-matrix .service-blocks{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;width:400px}.services-matrix .service-blocks .service-block{padding:1rem;border:1px solid transparent;transition:all .4s cubic-bezier(.23,1,.32,1);cursor:pointer;position:relative;overflow:hidden}.services-matrix .service-blocks .service-block .service-number{font-family:Bebas Neue,Bebas Neue,Space Grotesk,Arial,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.35em;line-height:1.2;font-size:10px;color:#bec2c1;margin-bottom:calc(1.5rem * .15)}@media (min-width: 768px){.services-matrix .service-blocks .service-block .service-number{font-weight:700;letter-spacing:.35em}}@media (min-width: 1024px){.services-matrix .service-blocks .service-block .service-number{font-weight:800;letter-spacing:.35em}}.services-matrix .service-blocks .service-block .service-number:last-child{margin-bottom:0}.services-matrix .service-blocks .service-block .service-name{font-family:Bebas Neue,Bebas Neue,Space Grotesk,Arial,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.35em;line-height:1.2;font-size:14px;color:#fff;transition:all .3s ease}@media (min-width: 768px){.services-matrix .service-blocks .service-block .service-name{font-weight:700;letter-spacing:.35em}}@media (min-width: 1024px){.services-matrix .service-blocks .service-block .service-name{font-weight:800;letter-spacing:.35em}}.services-matrix .service-blocks .service-block .service-hover-content{position:absolute;top:0;left:0;right:0;bottom:0;background:#000;color:#fff;padding:1rem;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateY(20px);transition:all .4s cubic-bezier(.23,1,.32,1)}.services-matrix .service-blocks .service-block .service-hover-content p{font-weight:100;text-transform:lowercase;letter-spacing:.25em;line-height:1.6;font-size:11px;margin-bottom:calc(1.5rem * .15);color:#bec2c1}@media (min-width: 768px){.services-matrix .service-blocks .service-block .service-hover-content p{font-weight:200;letter-spacing:.25em}}@media (min-width: 1024px){.services-matrix .service-blocks .service-block .service-hover-content p{font-weight:300;letter-spacing:.25em}}.services-matrix .service-blocks .service-block .service-hover-content p:last-child{margin-bottom:0}.services-matrix .service-blocks .service-block .service-hover-content .service-access{font-family:Bebas Neue,Bebas Neue,Space Grotesk,Arial,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.35em;line-height:1.2;font-size:12px;color:#30f;margin-bottom:calc(1.5rem * .2)}@media (min-width: 768px){.services-matrix .service-blocks .service-block .service-hover-content .service-access{font-weight:700;letter-spacing:.35em}}@media (min-width: 1024px){.services-matrix .service-blocks .service-block .service-hover-content .service-access{font-weight:800;letter-spacing:.35em}}.services-matrix .service-blocks .service-block .service-hover-content .service-access:last-child{margin-bottom:0}.services-matrix .service-blocks .service-block:hover{border-color:#000;transform:translateY(-2px)}.services-matrix .service-blocks .service-block:hover .service-hover-content{opacity:1;transform:translateY(0)}.services-matrix .service-blocks .service-block:hover .service-name{opacity:0}.contact-fragment{position:absolute;top:40%;right:8%;z-index:10}.contact-fragment .contact-content .contact-label{font-family:Bebas Neue,Bebas Neue,Space Grotesk,Arial,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.35em;line-height:1.2;font-size:10px;color:#bec2c1;margin-bottom:.75rem}@media (min-width: 768px){.contact-fragment .contact-content .contact-label{font-weight:700;letter-spacing:.35em}}@media (min-width: 1024px){.contact-fragment .contact-content .contact-label{font-weight:800;letter-spacing:.35em}}.contact-fragment .contact-content .contact-label:last-child{margin-bottom:0}.contact-fragment .contact-content .contact-methods .contact-method{display:block;text-decoration:none;color:#000;margin-bottom:1rem;transition:all .3s ease}.contact-fragment .contact-content .contact-methods .contact-method.primary{display:flex;flex-direction:column;margin-bottom:2rem}.contact-fragment .contact-content .contact-methods .contact-method.primary .method-label{font-family:Bebas Neue,Bebas Neue,Space Grotesk,Arial,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.35em;line-height:1.2;font-size:10px;color:#bec2c1;margin-bottom:.12rem}@media (min-width: 768px){.contact-fragment .contact-content .contact-methods .contact-method.primary .method-label{font-weight:700;letter-spacing:.35em}}@media (min-width: 1024px){.contact-fragment .contact-content .contact-methods .contact-method.primary .method-label{font-weight:800;letter-spacing:.35em}}.contact-fragment .contact-content .contact-methods .contact-method.primary .method-label:last-child{margin-bottom:0}.contact-fragment .contact-content .contact-methods .contact-method.primary .method-value{font-family:Bebas Neue,Bebas Neue,Space Grotesk,Arial,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.35em;line-height:1.2;font-size:16px;color:#fff}@media (min-width: 768px){.contact-fragment .contact-content .contact-methods .contact-method.primary .method-value{font-weight:700;letter-spacing:.35em}}@media (min-width: 1024px){.contact-fragment .contact-content .contact-methods .contact-method.primary .method-value{font-weight:800;letter-spacing:.35em}}.contact-fragment .contact-content .contact-methods .contact-method.primary:hover .method-value{color:#30f}.contact-fragment .contact-content .contact-methods .contact-method.secondary{font-weight:100;text-transform:lowercase;letter-spacing:.25em;line-height:1.6;font-size:11px;color:#bec2c1;line-height:2}@media (min-width: 768px){.contact-fragment .contact-content .contact-methods .contact-method.secondary{font-weight:200;letter-spacing:.25em}}@media (min-width: 1024px){.contact-fragment .contact-content .contact-methods .contact-method.secondary{font-weight:300;letter-spacing:.25em}}.contact-fragment .contact-content .contact-methods .contact-method.secondary:hover{color:#30f;transform:translate(5px)}.site-footer{position:absolute;bottom:8%;left:50%;transform:translate(-50%);z-index:10;text-align:center;width:auto}.site-footer .footer-logo{margin-bottom:20px;text-align:center}.site-footer .footer-logo .pxm-logo{width:90px;height:90px;filter:invert(1) brightness(1);opacity:.8;transition:opacity .3s ease;display:block;margin:0 auto}.site-footer .footer-logo .pxm-logo:hover{opacity:1}.site-footer .social-links{display:flex;justify-content:center;align-items:center;gap:40px;margin:0 auto}.site-footer .social-links .social-link{font-family:Arial,sans-serif;font-size:clamp(.7rem,1.5vw,.9rem);font-weight:400;color:#fff;text-decoration:none;letter-spacing:.1em;text-transform:lowercase;opacity:.7;transition:all .3s ease}.site-footer .social-links .social-link:hover{opacity:1;transform:translateY(-2px)}@keyframes expand{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes subtlePulse{0%,to{opacity:.3;background-size:100% 100%}25%{opacity:.4;background-size:105% 105%}50%{opacity:.35;background-size:110% 110%}75%{opacity:.4;background-size:105% 105%}}@media (max-width: 768px){.header-name h1{font-size:clamp(.6rem,2vw,.8rem);letter-spacing:.5em}.main-title-block{top:20%}.main-title-block .portfolio-title{font-size:clamp(2rem,8vw,3rem);letter-spacing:.4em}.development-status{top:38%;right:10%}.development-status p{font-size:clamp(.8rem,2.5vw,1rem)}.ascii-centerpiece{width:80%;height:25%}.site-footer{bottom:5%}.site-footer .social-links{gap:25px}.site-footer .social-links .social-link{font-size:clamp(.6rem,2vw,.8rem)}}@media (max-width: 480px){.header-name h1{font-size:clamp(.5rem,3vw,.7rem);letter-spacing:.3em}.main-title-block{top:16%;left:calc(58% - 15px)}.main-title-block .portfolio-title{font-size:clamp(1.2rem,8vw,2rem);letter-spacing:.2em;transform:scaleY(1.6) translate(-15%) translateY(-5%)}.development-status{top:32%;right:8%}.development-status p{font-size:clamp(1rem,4vw,1.3rem);transform:translate(15%)}.ascii-centerpiece{width:90%;height:20%;transform:translate(-48%,-50%)}.site-footer{bottom:12%}.site-footer .footer-logo{margin-bottom:10px}.site-footer .footer-logo .pxm-logo{width:45px;height:45px}.site-footer .social-links{gap:10px;flex-wrap:nowrap}.site-footer .social-links .social-link{font-size:clamp(.35rem,1.8vw,.55rem);white-space:nowrap}}
