*{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:none;margin:0;padding:0}html,body{background:#fff0d0;width:100%;height:100%;font-family:Lato,sans-serif;overflow:hidden}.webgl{background:#fff0d0;width:100%;height:100dvh;position:fixed;inset:0}.ui-layer{z-index:100;pointer-events:none;position:fixed;inset:0}.ui-layer *{pointer-events:auto}.overlay{color:#b55233;text-align:center;z-index:10;background:#fff0d0;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay .title{justify-content:space-between;width:80%;font-size:3rem;font-weight:300;display:flex}#cursor-dot{pointer-events:none;z-index:9999;background:#b55233;border-radius:50%;width:6px;height:6px;position:fixed;transform:translate(-50%,-50%)}.loading-bar{transform-origin:0;background:#b55233;width:80%;height:2px;transition:transform .15s;position:absolute;top:60%;transform:scaleX(0)}.loading-bar.ended{opacity:0}.point{opacity:0;z-index:20;list-style:none;position:absolute;top:50%;left:50%}.point.visible{opacity:1}.point a{color:#b55233;flex-direction:column;align-items:center;gap:2px;text-decoration:none;display:flex}.point .icn{fill:#b55233;pointer-events:all;width:1rem;height:1rem;transition:transform .3s}.point .icn:hover{transform:scale(1.2)}.point .text{text-align:center;font-size:.5rem;font-weight:100}.point:hover .text{letter-spacing:.1rem;font-weight:400}.hover-ring{fill:none;stroke:#b55233;stroke-width:1px;stroke-dasharray:63;stroke-dashoffset:63px;transition:stroke-dashoffset .4s}.point .icn:hover .hover-ring{stroke-dashoffset:0}.point-content{color:#b55233;z-index:999;background:#fff0d0;border-left:.5px solid #b55233;flex-direction:column;width:420px;padding:20px;line-height:1.2rem;display:none;position:absolute;top:15px;left:15px}.point-content.active{animation:.3s forwards fadeIn;display:flex}.point-content h2{font-size:1/25rem;letter-spacing:.75rem;margin-bottom:20px;font-weight:400}.point-content p,.point-content a{letter-spacing:.2rem;font-size:.75rem;font-weight:300}.point-content a{color:#b55233;letter-spacing:.1rem;text-decoration:none}.point-content li{margin-bottom:.5rem}.point-content a:hover{font-weight:700}.portfolio-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2px;margin-top:10px;display:grid}.card{border-radius:16px;text-decoration:none;transition:transform .2s,background .2s;display:block}.card hr{border:none;border-top:.5px solid #b55233;margin-block:.5rem}.card:hover{transform:translateY(-3px)}.card h3{letter-spacing:.3rem;margin:0 0 10px;font-size:1rem;font-weight:400}.card:hover h3{font-weight:700}.card:hover hr{border-top:1.5px solid #b55233}.info{text-align:right;color:#6a1008;z-index:50;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:0;flex-direction:column;align-items:flex-end;max-width:250px;padding:10px;font-family:Lato,sans-serif;transition:opacity .5s;display:flex;position:absolute;top:15px;right:15px}.info *{pointer-events:none}.info li{letter-spacing:1px;font-size:10px;font-weight:300;line-height:1rem;list-style:none}.footer{letter-spacing:.2rem;color:#b55233;box-sizing:border-box;width:100%;padding:10px;font-size:.6rem;display:none;position:absolute;bottom:5px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:5px;max-width:95%;margin:0 auto;display:flex}.footer a{color:#b55233;white-space:nowrap;text-decoration:none;transition:opacity .3s}.footer a:hover{font-weight:700}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (pointer:coarse),(hover:none){#cursor-dot{display:none}*{cursor:auto}}@media (width<=1024px){.point-content{width:300px}}@media (width<=480px){.point-content{width:60%}}
