@import "https://fonts.googleapis.com/css2?family=Jersey+10&family=Libre+Bodoni:ital,wght@0,400..700;1,400..700&family=Raleway:ital,wght@0,100..900;1,100..900&display=swap";@font-face{font-family:montserrat;src:url(.././fonts/Montserrat-Black.ttf)format("truetype");font-weight:400;font-style:normal}*{box-sizing:border-box;margin:0;padding:0}body{height:300vh;font-family:Raleway;overflow:visible}img{object-fit:cover;width:100%;height:100%}p{color:#fff;font-size:.9rem;font-weight:450}a{color:#fff;font-weight:600;text-decoration:none;transition:all .3s}a:hover{color:#92cef6;text-decoration:underline;transform:scale(1.05)}a span{transition:transform .3s;display:inline-block;position:relative}a:hover span{animation:1s ease-in-out infinite wave}nav,.hero-footer{z-index:2;justify-content:space-between;align-items:center;width:100vw;padding:2rem;display:flex;position:absolute;left:0}nav{z-index:1000;justify-content:space-between;align-items:center;width:100%;padding:2rem;display:flex;position:fixed;top:0;left:0}.nav-items{gap:4rem;display:flex}.nav-items p{margin:0}.nav-items a{color:#fff;font-weight:600;text-decoration:none;transition:all .3s}.nav-items a span{transition:transform .3s;display:inline-block;position:relative}.nav-items a:hover span{animation:1s ease-in-out infinite wave;transform:scale(1.05)}nav .logo p{font-weight:700}.hero-title{opacity:1;letter-spacing:-.02em;text-transform:uppercase;color:#fff;z-index:10;font-family:Libre Bodoni,serif;font-size:clamp(2rem,4vw,4rem);font-style:italic;font-weight:600;line-height:.85;transition:opacity .5s ease-in-out;position:fixed;top:47%;left:42%;transform:skew(-10deg)}.contact-title{opacity:1;letter-spacing:-.02em;text-transform:uppercase;color:#fff;z-index:10;font-family:montserrat,sans-serif;font-size:clamp(2rem,4vw,4rem);font-weight:600;transition:opacity .5s ease-in-out;position:fixed;top:47%;left:42%;transform:skew(-10deg)}.hero-title.fixed{opacity:.5}.hero-footer{transition:opacity .5s ease-in-out;bottom:0}section{width:100vw;height:100svh;position:relative;overflow:hidden}.hero-logo{width:25%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gradient-canvas,.torus-canvas{width:100%;height:100%;position:absolute;top:0;left:0}.gradient-canvas{z-index:0}.torus-canvas{z-index:1;pointer-events:none}.gradient-canvas{z-index:0;position:fixed;inset:0}.deco-ascii{color:#fff;opacity:1;pointer-events:none;z-index:10;letter-spacing:0;white-space:pre;margin:0;font-family:Courier New,monospace;line-height:1.2;transition:opacity .5s ease-in-out;position:fixed}.deco-ascii.fixed{opacity:.5}.gradient-canvas canvas{width:100%!important;height:100%!important}.image-gallery{width:100vw;height:300svh;position:relative;overflow:visible}.image-gallery img{transform-origin:0 0;width:800px;height:auto;position:absolute}.image-wrapper{width:800px;height:500px;position:absolute;top:10%;left:5%}.overlay-title{color:#fff;z-index:2;pointer-events:none;font-family:"Jersey 10",sans-serif;font-weight:400;position:absolute}.overlay-text{color:#fff;pointer-events:none;font-family:"Jersey 10",sans-serif;font-weight:400;position:absolute}.desktop-section{z-index:2;background:0 0;width:100vw;height:auto;min-height:100svh;position:relative;overflow:visible}.win-icon{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:2px;flex-direction:column;align-items:center;gap:5px;width:88px;padding:4px;display:inline-flex;position:absolute}.win-icon:hover{background:#ffffff14;border:1px dotted #ffffffb3}.win-icon.selected{background:#00008073;border:1px dotted #fff}.win-icon-img{background:0 0;border:2px inset #888;flex-shrink:0;width:64px;height:64px;overflow:hidden}.win-icon-img img{display:block;object-fit:cover!important;width:100%!important;max-width:100%!important;height:100%!important}.win-icon-label{color:#fff;text-align:center;text-shadow:1px 1px 2px #000;word-break:break-word;max-width:86px;padding:1px 3px;font-family:"Jersey 10",sans-serif;font-size:12px;line-height:1.3}.win-icon.selected .win-icon-label{background:navy}.win95{z-index:100;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;flex-direction:column;width:520px;max-width:96vw;font-family:"Jersey 10",sans-serif;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:4px 4px #000}.win95-titlebar{cursor:grab;background:#0000a9;flex-shrink:0;justify-content:space-between;align-items:center;padding:3px 4px;display:flex}.win95-titlebar:active{cursor:grabbing}.win95-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 70px);font-size:20px;font-weight:700;overflow:hidden}.win95-controls{flex-shrink:0;gap:2px;display:flex}.win95-btn-ctrl{cursor:pointer;color:#000;background:silver;border:1px solid #404040;border-color:#fff #404040 #404040 #fff;justify-content:center;align-items:center;width:18px;height:16px;padding:0;font-family:Arial,sans-serif;font-size:10px;font-weight:700;line-height:1;display:flex}.win95-btn-ctrl:active{border:1px solid #fff;border-color:#404040 #fff #fff #404040}.win95-body{background:silver;border-top:2px inset gray;flex-direction:column;gap:0;display:flex}.win95-imgbox{background:#fff;border-bottom:2px inset gray;flex-shrink:0;width:100%;height:auto;overflow:hidden}.win95-imgbox img{object-fit:cover;width:100%;height:100%;display:block}.win95-text{flex-direction:column;gap:6px;max-height:200px;padding:10px 12px;display:flex;overflow-y:auto}.win95-text p{color:#000;font-family:"Jersey 10",sans-serif;font-size:13px;line-height:1.5}.win95-subtitle{border-bottom:1px solid gray;margin-bottom:2px;padding-bottom:4px;font-weight:700;font-size:16px!important}.win95-statusbar{color:#000;background:silver;border-top:1px solid gray;flex-shrink:0;padding:2px 8px;font-family:"Jersey 10",sans-serif;font-size:11px}.link{color:#0000a9;z-index:2;pointer-events:auto;font-family:"Jersey 10",sans-serif;font-size:20px;font-weight:400;position:absolute}.win95-email-button-wrap{z-index:10;position:absolute;top:60%;left:65%}.win95-email-link{text-decoration:none}.win95-email-button{color:#000;cursor:pointer;background:silver;border:3px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0;padding:6px 18px;font-family:"Jersey 10",sans-serif;font-size:22px;box-shadow:2px 2px #000}.win95-email-button:hover{background:#d6d6d6}.win95-email-button:active{box-shadow:none;border:3px solid #fff;border-color:#404040 #fff #fff #404040;transform:translate(2px,2px)}.win95-email-button:focus{outline-offset:-5px;outline:1px dotted #000}@media (width<=1000px){nav{flex-direction:column;gap:2rem}}.contact-page{height:100svh;overflow:hidden}.contact-hero{height:100svh;min-height:100svh;overflow:hidden}.contact-layout{z-index:20;grid-template-columns:1.05fr 1fr;align-items:center;width:100%;height:100%;padding:7rem 8vw 4rem;display:grid;position:relative}.contact-left,.contact-right{z-index:20;position:relative}.contact-left{justify-content:center;align-items:center;display:flex}.contact-right{flex-direction:column;align-items:flex-start;gap:clamp(1.4rem,4vh,2.5rem);display:flex}.contact-main-title{color:#fff;text-transform:uppercase;letter-spacing:-.04em;font-family:montserrat,sans-serif;font-size:clamp(3rem,5vw,5.5rem);font-weight:900;line-height:.95;transform:skew(-10deg)}.contact-label,.contact-email,.contact-location{color:#fff;text-transform:uppercase;text-shadow:0 2px 3px #00000014;font-family:"Jersey 10",sans-serif;line-height:.95;transform:skew(-10deg)}.contact-label{font-size:clamp(2rem,3.2vw,4rem)}.contact-email{word-break:break-word;font-size:clamp(2.35rem,4.1vw,5rem)}.contact-location{font-size:clamp(2.1rem,3.5vw,4.5rem)}.contact-page .win95-email-button-wrap{z-index:20;margin:0;position:static}.contact-page .torus-canvas{z-index:1;pointer-events:none;width:100vw;height:100svh;display:block;position:absolute;inset:0}@media (width<=700px){body{height:auto;min-height:100svh;overflow:hidden visible}p{font-size:.85rem}nav{background:linear-gradient(#00000047,#0000);flex-direction:row;align-items:center;gap:.75rem;padding:1.05rem 1rem}.nav-items{flex-wrap:nowrap;justify-content:flex-end;gap:clamp(.85rem,4vw,1.35rem)}nav .logo p,.nav-items p{white-space:nowrap;font-size:clamp(.78rem,3.4vw,.95rem)}.hero{height:100svh;min-height:100svh;overflow:hidden}.torus-canvas{transform-origin:50% 43%;z-index:1;pointer-events:none;position:absolute;inset:0;transform:scale(.65)translate(-18vw,18svh);width:100vw!important;height:100svh!important}.hero-title{text-align:center;z-index:20;text-shadow:0 2px 7px #00000024;width:max-content;max-width:92vw;font-size:clamp(2.35rem,13.5vw,3.75rem);line-height:.82;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)skew(-10deg)rotate(-10deg)}.hero-footer{text-align:center;justify-content:center;font-size:1rem;width:100vw!important;padding:0!important;bottom:1.5rem!important;left:0!important;right:0!important}.deco-ascii{display:none!important}.image-gallery{flex-direction:column;align-items:stretch;gap:1.15rem;height:auto;min-height:auto;padding:1rem;display:flex;overflow:visible}.image-gallery>img{display:none!important}.image-wrapper{background:silver;border:3px solid #404040;border-color:#fff #404040 #404040 #fff;min-height:0;margin:0 auto;padding:3.15rem 1.25rem 1.35rem;overflow:hidden;box-shadow:6px 6px #000;width:min(100%,34rem)!important;height:auto!important;position:relative!important;top:auto!important;left:auto!important}.image-wrapper:before{content:attr(data-mobile-title);color:#fff;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;background:#0000a9;height:2.15rem;padding:.22rem 2.1rem .2rem .55rem;font-family:"Jersey 10",sans-serif;font-size:clamp(1.2rem,6vw,1.65rem);font-weight:700;line-height:1;position:absolute;top:4px;left:4px;right:4px;overflow:hidden}.image-wrapper:after{content:"×";color:#000;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;place-items:center;width:1.35rem;height:1.25rem;font-family:Arial,sans-serif;font-size:1rem;font-weight:900;line-height:1;display:grid;position:absolute;top:.48rem;right:.5rem}.overlay-title,.overlay-text{pointer-events:auto;font-family:"Jersey 10",sans-serif;display:block;color:#000!important;width:auto!important;max-width:100%!important;position:static!important}.image-wrapper>.overlay-title{display:none!important}.overlay-text{margin-top:.8rem;font-weight:700;font-size:clamp(1.15rem,5.35vw,1.45rem)!important;line-height:1.35!important}.overlay-text:first-of-type{margin-top:0;margin-bottom:.9rem;font-size:clamp(1.45rem,7vw,1.9rem)!important;line-height:1.1!important}.win-icon{z-index:5;width:76px;margin:.1rem .4rem .35rem;position:relative!important;top:auto!important;left:auto!important}.image-gallery>.win-icon:nth-of-type(odd){align-self:flex-start}.image-gallery>.win-icon:nth-of-type(2n){align-self:flex-end}.win-icon-img{width:54px;height:54px}.win-icon-label{max-width:76px;font-size:10px;line-height:1.15}.win95{z-index:2500;max-height:82svh;overflow:hidden;box-shadow:6px 6px #000;width:calc(100vw - 1.35rem)!important;max-width:36rem!important;position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.win95-titlebar{min-height:2rem;padding:.25rem .35rem}.win95-title{font-size:clamp(1rem,5.4vw,1.4rem);line-height:1}.win95-text{max-height:38svh;padding:.85rem 1rem;overflow-y:auto}.win95-text p{font-size:clamp(1rem,4.6vw,1.25rem);line-height:1.35}.win95-subtitle{font-size:clamp(1.25rem,5.7vw,1.55rem)!important}.win95-imgbox{max-height:42svh;overflow:hidden}.win95-imgbox img{max-height:42svh;display:block;object-fit:contain!important;width:100%!important;height:auto!important}.link{color:#0000a9;margin-top:.5rem;font-size:clamp(1.1rem,5vw,1.35rem);display:inline-block;position:static!important}.win95-email-button-wrap{justify-content:center;margin:1.5rem auto;display:flex;position:static}.win95-email-button{padding:7px 20px;font-size:20px}.contact-page,.contact-hero{height:100svh;min-height:100svh;overflow:hidden}.contact-layout{z-index:20;grid-template-rows:.9fr 1.1fr;grid-template-columns:1fr;align-items:center;height:100%;padding:5.75rem 1.35rem 2rem;display:grid;position:relative}.contact-left{justify-content:flex-start;align-items:end}.contact-right{justify-content:start;align-items:flex-start;gap:clamp(1.05rem,3.6vh,1.6rem);padding-left:clamp(.25rem,4vw,1.25rem)}.contact-main-title{max-width:92vw;font-size:clamp(2.9rem,14vw,5rem);line-height:.9}.contact-label{font-size:clamp(1.9rem,9vw,3rem)}.contact-email{max-width:92vw;font-size:clamp(1.75rem,8.5vw,2.9rem)}.contact-location{font-size:clamp(1.85rem,8.8vw,3rem)}.contact-page .win95-email-button-wrap{justify-content:flex-start;margin:.35rem 0 0;display:flex;position:static}.contact-page .torus-canvas{z-index:1;pointer-events:none;width:100vw!important;height:100svh!important;position:absolute!important;inset:0!important;overflow:visible!important;transform:none!important}.contact-page .torus-canvas canvas{display:block;width:100vw!important;height:100svh!important}.contact-layout{z-index:20;position:relative}.contact-page .win95-email-button{padding:.45rem 1.15rem;font-size:clamp(1.05rem,5vw,1.35rem)}.contact-page .gradient-canvas,.contact-page .gradient-canvas canvas{width:100vw!important;height:100svh!important}.gradient-canvas{top:calc(env(safe-area-inset-top,0px) * -1);right:calc(env(safe-area-inset-right,0px) * -1);bottom:calc(env(safe-area-inset-bottom,0px) * -1);left:calc(env(safe-area-inset-left,0px) * -1);width:calc(100vw + env(safe-area-inset-left,0px) + env(safe-area-inset-right,0px))!important;height:calc(100svh + env(safe-area-inset-top,0px) + env(safe-area-inset-bottom,0px))!important}.gradient-canvas canvas{width:100%!important;height:100%!important}}@media (width<=380px){nav{padding:.75rem}.nav-items{gap:.65rem}nav .logo p,.nav-items p{font-size:.72rem}.hero-title{font-size:clamp(2.15rem,12.5vw,3.25rem)}.torus-canvas{transform:scale(.52)translateY(-9svh)}.image-gallery{padding-left:.8rem;padding-right:.8rem}.image-wrapper{padding-left:1rem;padding-right:1rem}.contact-layout{padding:5.25rem 1rem 1.5rem}.contact-main-title{font-size:clamp(2.55rem,13vw,4rem)}.contact-email{font-size:clamp(1.45rem,7.8vw,2.35rem)}}.mobile-project-icons{display:none}@media (width<=700px){.image-gallery{align-items:center}.image-gallery>.win-icon{display:none!important}.mobile-project-icons{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:.75rem;width:min(100%,34rem);margin:-.25rem auto 1.35rem;display:flex}.mobile-project-icons .win-icon{z-index:5;width:76px;margin:0!important;display:inline-flex!important;position:relative!important;top:auto!important;left:auto!important}.mobile-project-icons .win-icon-img{width:54px;height:54px}.mobile-project-icons .win-icon-label{max-width:76px;font-size:10px;line-height:1.15}nav{padding-top:1.75rem}}
