@font-face{font-family:vhsGothic;src:url(../media/vhs_gothic-s.p.fc9938e6.ttf)format("truetype");font-display:swap}@font-face{font-family:vhsGothic Fallback;src:local(Arial);ascent-override:60.84%;descent-override:7.61%;line-gap-override:0.0%;size-adjust:164.36%}.vhsgothic_e8f25323-module__mZnsZG__className{font-family:vhsGothic,vhsGothic Fallback}.vhsgothic_e8f25323-module__mZnsZG__variable{--font-vhs:"vhsGothic","vhsGothic Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}.block{display:block}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.break-all{word-break:break-all}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}:root{--color-bg:#131515;--color-primary:#7d8491;--color-text:#f3edec;--color-text-dim:#d5d5d5;--color-text-muted:#7d8491;--color-white:#fcfcfc;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-md:1.125rem;--font-size-lg:1.25rem;--font-size-xl:clamp(1.5rem,4vw,2.5rem);--font-size-2xl:clamp(2rem,6vw,4rem);--font-size-3xl:clamp(4rem,15vw,16rem);--font-weight-normal:400;--letter-spacing-tight:.02em;--letter-spacing-normal:.04em;--letter-spacing-wide:.08em;--letter-spacing-wider:.1em;--letter-spacing-widest:.15em;--line-height-tight:1.1;--line-height-snug:1.3;--line-height-normal:1.7;--line-height-relaxed:1.9;--spacing-xs:clamp(.25rem,1vw,.5rem);--spacing-sm:clamp(.75rem,2vw,1rem);--spacing-md:clamp(1.5rem,4vw,2rem);--spacing-lg:clamp(2rem,6vw,4rem);--spacing-xl:clamp(4rem,10vw,6rem);--spacing-xxl:clamp(6rem,12vw,8rem);--color-primary-rgb:125,132,145;--z-background:0;--z-content:10;--z-dock:1000}*{box-sizing:border-box;margin:0;padding:0}html{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;overflow:hidden auto}body{font-family:var(--font-vhs),"Courier New",monospace;background:var(--color-bg)url("/pics/heroavatars/Unreleased Assets by GstaikDesigns (23).png") no-repeat center center fixed;color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal);-webkit-font-smoothing:none;-moz-osx-font-smoothing:auto;text-rendering:optimizeSpeed;touch-action:pan-y;-webkit-tap-highlight-color:transparent;word-break:normal;overflow-wrap:break-word;text-wrap:pretty;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:6 3 2;background-size:cover;overflow:hidden auto}.video-range-input{appearance:none;cursor:pointer;background:0 0;outline:none}.video-range-input::-webkit-slider-thumb{appearance:none;background-color:var(--color-text);border:2px solid var(--color-primary);z-index:30;border-radius:0;width:12px;height:12px;margin-top:-6px;position:relative}.video-range-input::-moz-range-thumb{background-color:var(--color-text);border:2px solid var(--color-primary);box-sizing:border-box;z-index:30;cursor:pointer;border-radius:0;width:12px;height:12px;position:relative}.video-range-input::-webkit-slider-runnable-track{background:0 0;border:none;width:100%;height:100%}.video-range-input::-moz-range-track{background:0 0;border:none;width:100%;height:100%}#hero{background:0 0;justify-content:center;align-items:center;width:100%;height:100vh;min-height:100vh;display:flex;position:relative;overflow:hidden}@media screen and (orientation:landscape) and (max-height:500px){.hero-content{padding-top:1rem;padding-bottom:4rem}.hero-title{font-size:clamp(2rem,8vw,6rem)}.hero-image-container{max-width:200px;margin:var(--spacing-sm)auto}.hero-line:first-child{margin-top:1rem}}.section-tile{text-align:center;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.hero-tile{height:100vh;max-height:100dvh;position:relative;overflow:hidden}.tile-content{z-index:var(--z-content);width:100%;max-width:1200px;padding:var(--spacing-lg);flex-direction:column;justify-content:center;align-items:center;margin:0 auto;display:flex;position:relative}.hero-content{z-index:var(--z-content);text-align:center;padding:var(--spacing-sm);pointer-events:auto;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:100vw;margin:0 auto;padding-bottom:6rem;display:flex;position:relative}.hero-image-container{width:100%;max-width:320px;margin:var(--spacing-sm)auto;justify-content:center;display:flex}.hero-image{object-fit:cover;border:2px solid #ffffff26;border-radius:0;width:100%;max-width:320px;height:auto;box-shadow:4px 4px #0006}.project-item{opacity:0;visibility:hidden}.project-title,.project-description,.project-role,.project-link,.project-credits,.tag,.project-number,.mockup-container{opacity:0}.project-item.is-revealed{opacity:1!important;visibility:visible!important;transform:translate(0)!important}.project-item.is-revealed .project-title,.project-item.is-revealed .project-description,.project-item.is-revealed .project-role,.project-item.is-revealed .project-link,.project-item.is-revealed .project-credits,.project-item.is-revealed .tag,.project-item.is-revealed .project-number,.project-item.is-revealed .mockup-container{opacity:1!important;visibility:visible!important}.project-item.is-revealed .project-number{opacity:.9!important}.content-tile.is-revealed,.skill-item.is-revealed{opacity:1!important;visibility:visible!important;transform:translateY(0)!important}.contact-link.is-revealed{opacity:1!important;visibility:visible!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.content-tile,.project-item,.skill-item,.project-title,.project-description,.project-role,.project-link,.project-credits,.project-number,.mockup-container,.tag,.skill-line,.contact-link{opacity:1!important;visibility:visible!important;transform:none!important}.hero-image{position:static!important;transform:none!important}}@media (max-width:360px) and (max-height:640px){.project-item,.content-tile{animation:.3s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}.hero-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-normal);line-height:var(--line-height-tight);margin-bottom:var(--spacing-sm);letter-spacing:var(--letter-spacing-normal);text-transform:uppercase;text-shadow:0 4px 24px #000000e6,0 2px 8px #000000b3,0 0 60px #00000080;color:var(--color-text);text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:100%;margin-left:auto;margin-right:auto;display:flex}.hero-line{opacity:1;text-align:center;white-space:nowrap;width:100%;display:block}.hero-line span,.hero-subtitle span{transition:color .1s;display:inline-block}.hero-line:first-child{margin-top:0;font-size:clamp(7rem,28vw,30rem)}.hero-line-solutions{color:var(--color-primary);max-width:100vw;margin:0 auto;display:inline-block;overflow:visible;white-space:nowrap!important;width:auto!important}.hero-line-solutions span{display:inline-block;white-space:nowrap!important}.hero-title,.hero-content{overflow:visible}@media (min-width:1280px){.hero-line-solutions{white-space:nowrap!important;width:auto!important;max-width:none!important;display:inline-block!important}.hero-title{max-width:none}.tile-content{max-width:1400px}}.hero-subtitle{font-size:var(--font-size-lg);color:var(--color-text);background-color:rgba(var(--color-primary-rgb),.2);letter-spacing:var(--letter-spacing-widest);text-transform:uppercase;font-weight:700;line-height:var(--line-height-snug);text-shadow:0 2px 8px #000000b3;opacity:0;display:inline-block}.hero-subtitle-name{white-space:nowrap}.content-tile{width:90%;max-width:1200px;margin:var(--spacing-xl)auto;padding:var(--spacing-lg)var(--spacing-md);z-index:var(--z-content);contain:layout style paint;will-change:transform,opacity;background:0 0;position:relative}#about.content-tile{margin-top:calc(var(--spacing-xl)*-.5);margin-bottom:var(--spacing-md);padding-bottom:calc(var(--spacing-lg) + 3rem)}#projects.content-tile{margin-top:calc(var(--spacing-xl)*-.5)}.content-tile:last-of-type{margin-bottom:calc(var(--spacing-xl)*2);padding-bottom:var(--spacing-xl)}.tile-inner{width:100%;z-index:var(--z-content);flex-direction:column;align-items:stretch;gap:0;display:flex;position:relative}.section-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-normal);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--spacing-md);color:var(--color-primary);text-transform:uppercase;text-shadow:0 0 30px #7d849166;text-wrap:balance;word-break:keep-all;-webkit-hyphens:none;hyphens:none}#projects .section-title{margin-bottom:var(--spacing-xl)}.glass-card{-webkit-backdrop-filter:none;padding:var(--spacing-md);box-shadow:none;background:0 0;border:none;border-radius:0;position:relative}.glass-card:before{display:none}.glass-card:hover{box-shadow:none;border-color:#0000}.about-description{font-size:var(--font-size-md);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);letter-spacing:var(--letter-spacing-normal);margin-bottom:var(--spacing-xl);color:var(--color-text);box-shadow:none;text-shadow:0 2px 8px #00000080;text-wrap:pretty;-webkit-hyphens:auto;hyphens:auto;background:0 0;border:none;padding:0}.about-skills{gap:var(--spacing-xl);-webkit-backdrop-filter:none;box-shadow:none;will-change:transform;backface-visibility:hidden;contain:layout style paint;box-sizing:border-box;background:0 0;border:none;border-radius:0;grid-template-columns:1fr 1fr;grid-auto-rows:min-content;align-items:start;width:100%;margin-left:auto;margin-right:auto;padding:0;display:grid;position:relative;left:auto;right:auto;transform:translateZ(0)}.about-skills[data-pinned=true]{width:var(--locked-width)!important;min-width:var(--locked-width)!important;max-width:var(--locked-width)!important;margin-left:calc(calc(var(--locked-width)/-2) + var(--locked-offset,0px))!important;grid-template-columns:var(--locked-grid-cols,repeat(auto-fit,minmax(250px,1fr)))!important;margin-right:auto!important;left:50%!important;transform:translateZ(0)!important}.skill-item{background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.skill-item h3{font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:var(--font-weight-normal);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-wide);color:var(--color-primary);margin-bottom:var(--spacing-md);text-transform:uppercase;text-align:center;text-shadow:0 0 20px #7d849166;text-wrap:balance;width:100%}.skill-item p{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal);color:var(--color-text-dim)}.skill-list{gap:var(--spacing-xs);flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}.skill-line{font-size:clamp(1rem,2vw,1.25rem);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);letter-spacing:var(--letter-spacing-normal);color:var(--color-text);text-align:center;contain:layout style;box-sizing:border-box;white-space:nowrap;width:100%;min-height:1.75em;display:inline-block}.skill-line span{white-space:pre;box-sizing:border-box;-webkit-user-select:none;user-select:none;transition:color .1s;display:inline-block}.project-item{margin-bottom:var(--spacing-xl);perspective:1200px;will-change:transform,opacity;contain:none;box-sizing:border-box;isolation:isolate;backface-visibility:hidden;border:none;width:100%;padding-top:clamp(4rem,8vw,6rem);display:block;position:relative;overflow:visible}.project-number{font-size:clamp(2.5rem,6vw,4rem);font-weight:var(--font-weight-normal);color:var(--color-primary);z-index:10;letter-spacing:var(--letter-spacing-tight);text-shadow:0 0 15px #7d849199,0 0 30px #7d849166;opacity:.85;white-space:nowrap;pointer-events:none;text-align:center;width:100%;line-height:1;position:absolute;top:-2.5rem;left:50%;transform:translate(-50%)}.matrix-scramble{letter-spacing:.1em;white-space:nowrap;font-family:Courier New,monospace}.project-number-scramble{transition:opacity .1s}@media (min-width:768px){.project-number{font-size:clamp(3rem,5vw,4.5rem);top:-3rem}}@media (min-width:1024px){.project-number{font-size:clamp(3.5rem,4vw,5rem);top:-3.5rem}}@media (min-width:1280px){.project-number{font-size:5rem;top:-4rem}}.project-content{z-index:2;-webkit-backdrop-filter:none;box-shadow:none;box-sizing:border-box;gap:var(--spacing-lg);width:100%;max-width:100%;color:var(--color-text);background:0 0;border:none;border-radius:0;flex-direction:column;margin:0 auto;padding:0;display:flex;position:relative}.mockup-container{-webkit-backdrop-filter:none;backdrop-filter:none;width:100%;transform-style:preserve-3d;will-change:transform,opacity;background:0 0;border:1px solid #7d84914d;border-radius:0;position:relative;overflow:hidden}.mockup-container:before{display:none}.mockup-placeholder{background:linear-gradient(135deg,#1e40af 0%,#3b82f6 50%,#60a5fa 100%);border-radius:0;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.mockup-label{color:#fffc;font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);opacity:.9;text-shadow:0 2px 8px #0000004d}.mockup-large{max-width:800px;height:600px}.mockup-medium{max-width:100%;height:auto;min-height:300px}.mockup-small{max-width:500px;height:350px}.mockup-video{object-fit:contain;border-radius:0;width:100%;height:auto;display:block}.mockup-container:has(.mockup-video){justify-content:center;align-items:center;height:auto;max-height:none;padding:0;display:flex}.mockup-container:hover{border-color:#7d849180}.mockup-grid{grid-template-columns:1fr;gap:clamp(.75rem,2vw,1rem);width:100%;padding:clamp(.75rem,2vw,1.25rem);display:grid}@media (min-width:768px){.mockup-grid{grid-template-rows:auto auto auto;grid-template-columns:1fr 1fr}.mockup-item:first-child{grid-area:1/1/auto/3}.mockup-item:nth-child(2){grid-area:2/1}.mockup-item:nth-child(3){grid-area:3/1}.mockup-item:nth-child(4){grid-area:2/2/4;align-self:stretch}}.mockup-item{background:0 0;border:1px solid #7d849133;border-radius:0;flex-direction:column;gap:0;padding:0;transition:border-color .3s;display:flex;overflow:hidden}.mockup-item:hover{border-color:#7d849166}.mockup-media{object-fit:cover;background:#0003;border-radius:0;width:100%;height:auto;display:block}.mockup-media video{object-fit:cover;border-radius:0;width:100%;height:auto;display:block}.mockup-item:nth-child(4){min-height:350px}.mockup-item:nth-child(4) .mockup-media{object-fit:contain;height:100%;min-height:350px;max-height:420px}@media (min-width:1024px){.mockup-item:nth-child(4){min-height:380px}.mockup-item:nth-child(4) .mockup-media{min-height:380px;max-height:460px}}.mockup-label-small{color:var(--color-text-dim);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);text-align:center;opacity:.7;padding-top:.25rem;font-size:clamp(.65rem,1.5vw,.75rem)}.mockup-container:has(.mockup-grid){min-height:unset;height:auto;padding:0}.mockup-container:has(.project-carousel-wrapper){background:0 0;border:none;padding:0}.mockup-container:has(.project-carousel-wrapper):before{display:none}.project-carousel-wrapper{width:100%}.embla{-webkit-backdrop-filter:none;backdrop-filter:none;touch-action:pan-x pan-y;background:0 0;border:1px solid #7d84914d;border-radius:0;overflow:hidden}.embla__container{gap:0;display:flex}.embla__slide{flex:0 0 100%;justify-content:center;align-items:center;min-width:0;padding:clamp(1rem,2vw,1.5rem);display:flex}.embla__slide img,.embla__slide video{object-fit:contain;border-radius:0;width:100%;height:auto;max-height:70vh}.embla__controls{flex-direction:column;align-items:center;gap:.75rem;margin-top:clamp(1rem,2vw,1.5rem);display:flex}.embla__buttons{justify-content:center;gap:1rem;display:flex}.embla__button{-webkit-backdrop-filter:none;backdrop-filter:none;width:44px;height:44px;color:var(--color-primary);cursor:pointer;background:0 0;border:1px solid #7d849166;border-radius:0;justify-content:center;align-items:center;transition:border-color .3s,color .3s;display:flex}.embla__button:hover:not(:disabled){border-color:var(--color-text);color:var(--color-text)}.embla__button:disabled{opacity:.3;cursor:not-allowed;border-color:#7d84911a}.embla__button:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-color:var(--color-primary)}.embla__button svg{width:20px;height:20px}.embla__dots{flex-wrap:wrap;justify-content:center;gap:.5rem;padding-bottom:clamp(1rem,2vw,1.5rem);display:flex}.embla__dot{cursor:pointer;background:#7d849133;border:1px solid #7d84914d;border-radius:0;width:10px;height:10px;padding:0;transition:all .3s}.embla__dot:hover{background:#7d849166;box-shadow:2px 2px #7d849133}.embla__dot--selected{background:var(--color-primary);border-color:var(--color-primary);box-shadow:2px 2px #7d84914d}@media (max-width:768px){.embla__button{width:44px;height:44px}.embla__button svg{width:18px;height:18px}.embla__slide{padding:clamp(.75rem,2vw,1rem)}}.project-role{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal);color:#fffc;text-wrap:pretty;-webkit-hyphens:auto;hyphens:auto;word-wrap:break-word;overflow-wrap:break-word}.project-metrics{gap:var(--spacing-xs);margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.metric-item{color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;background:#7d84911a;border:1px solid #7d849133;border-radius:0;padding:.4rem .8rem;transition:all .3s;display:inline-block}.metric-item:hover{background:#7d849126;border-color:#7d84914d;box-shadow:2px 2px #7d849133}.project-link{margin-top:var(--spacing-md);background:var(--color-primary);color:var(--color-bg);font-weight:var(--font-weight-normal);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;border:2px solid var(--color-primary);border-radius:0;align-items:center;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s;display:inline-flex;box-shadow:3px 3px #0000004d}.project-link:hover{color:var(--color-primary);background:0 0;box-shadow:4px 4px #7d849166}.project-link:hover .link-arrow{transform:rotate(45deg)}.project-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;color:var(--color-primary);background:0 0}.link-arrow{will-change:transform;transition:transform .3s}.project-credits{margin-top:var(--spacing-sm);color:var(--color-text-dim);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-normal)}.credit-link{color:var(--color-primary);text-decoration:none;transition:color .3s;position:relative}.credit-link:after{content:"";background:var(--color-primary);width:0;height:1px;transition:width .3s;position:absolute;bottom:-2px;left:0}.credit-link:hover:after{width:100%}.credit-link:hover{color:var(--color-text)}.project-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-normal);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-tight);margin-bottom:var(--spacing-sm);color:var(--color-white);text-transform:uppercase;text-shadow:0 0 20px #f3edec4d;text-wrap:balance;word-break:keep-all;-webkit-hyphens:none;hyphens:none;overflow-wrap:anywhere;z-index:1;backface-visibility:hidden;display:block;position:relative;transform:translate(0);visibility:visible!important}.project-description{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal);color:var(--color-text-dim);margin-bottom:var(--spacing-md);text-shadow:0 2px 8px #00000080;text-wrap:pretty;-webkit-hyphens:auto;hyphens:auto;word-wrap:break-word;overflow-wrap:break-word;z-index:1;backface-visibility:hidden;display:block;position:relative;transform:translate(0);visibility:visible!important}.project-title span,.project-description span{backface-visibility:hidden;display:inline-block;position:relative;transform:translate(0);visibility:visible!important}.project-info{z-index:1;isolation:isolate;visibility:visible;position:relative}.project-tags{gap:var(--spacing-xs);flex-wrap:wrap;align-items:center;display:flex}.project-tags .tag:not(:last-child):after{content:"·";margin-left:var(--spacing-xs);color:var(--color-text-dim);opacity:.5}.tag{color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-wide);cursor:default;white-space:nowrap;background:0 0;border:none;padding:0;transition:color .2s,text-shadow .2s;display:inline-block}.tag:hover{color:var(--color-text);text-shadow:0 0 8px #7d849180}.tag:focus-visible{color:var(--color-text);text-shadow:0 0 8px #7d849180;outline:none}.contact-content{text-align:center;box-shadow:none;background:0 0;border:none;border-radius:0;max-width:800px;margin:0 auto;padding:0}.contact-content h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-normal);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--spacing-md);text-transform:uppercase;color:var(--color-primary);text-shadow:0 0 20px #7d849166;text-wrap:balance;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.contact-content p{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal);color:var(--color-text-dim);margin-bottom:var(--spacing-lg);text-shadow:0 2px 8px #00000080;text-wrap:pretty}.contact-links{justify-content:center;gap:var(--spacing-lg);flex-wrap:wrap;display:flex}.contact-link{background:var(--color-primary);border:2px solid var(--color-primary);color:var(--color-bg);font-weight:var(--font-weight-normal);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;border-radius:0;padding:.75rem 1.5rem;text-decoration:none;transition:color .3s,border-color .3s,box-shadow .3s;position:relative;box-shadow:3px 3px #0000004d}.contact-link:hover{background:var(--color-primary);color:var(--color-bg);box-shadow:4px 4px #7d849166}.contact-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;background:var(--color-primary);color:var(--color-bg)}.floating-dock{-webkit-backdrop-filter:none;z-index:var(--z-dock);box-shadow:none;will-change:transform;background:#131515f2;border:1px solid #7d84914d;border-radius:0;align-items:center;gap:2rem;padding:1rem 2rem;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)translateZ(0)}.dock-item{color:var(--color-text-dim);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);text-transform:uppercase;letter-spacing:var(--letter-spacing-widest);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:.25rem 0 .5rem;font-family:inherit;text-decoration:none;transition:color .3s;position:relative}.dock-item.active{color:var(--color-primary)}.dock-item:hover{color:var(--color-text)}.dock-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;color:var(--color-text)}.dock-indicator{background:var(--color-primary);transform-origin:0;width:100%;height:2px;transition:transform .3s;position:absolute;bottom:0;left:0;transform:scaleX(0)}.dock-item.active .dock-indicator{transform:scaleX(1)}.dock-icon{display:block}.skill-category-primary{color:var(--color-white)}.skill-category-secondary{color:var(--color-white);margin-left:.5em}.project-video{object-fit:contain;border-radius:0;width:100%;height:auto;display:block}@media (max-width:768px){#hero{justify-content:center;align-items:center;display:flex}.hero-tile .tile-content,.hero-content{text-align:center;width:100%;padding-left:var(--spacing-sm);padding-right:var(--spacing-sm);justify-content:center;align-items:center;padding-bottom:6rem}.hero-title{text-align:center;text-shadow:0 2px 12px #000c;justify-content:center;align-items:center;width:100%}.hero-line{text-align:center;filter:none;width:100%}.hero-subtitle{text-align:center;text-shadow:0 1px 4px #000c;width:100%}.content-tile{width:95%;padding:var(--spacing-md)var(--spacing-sm);margin:var(--spacing-md)auto}.about-skills{gap:var(--spacing-lg);padding:var(--spacing-lg)var(--spacing-md);grid-template-columns:1fr;max-width:100%}.skill-item h3{margin-bottom:var(--spacing-sm);font-size:clamp(1.1rem,4vw,1.5rem)}.skill-line{min-height:1.5em;font-size:clamp(.9rem,3vw,1.1rem)}.project-item{padding-top:4rem}.project-content{padding:var(--spacing-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin-top:0;margin-left:0}.project-number{opacity:.8;z-index:10;text-shadow:0 0 10px #7d849180;font-size:2rem;display:block;position:absolute;top:.5rem;left:50%;transform:translate(-50%)}.glass-card{padding:var(--spacing-md);box-shadow:none;background:0 0;border:none}.floating-dock{justify-content:space-between;gap:1rem;width:90%;max-width:400px;padding:.75rem 1rem;bottom:1rem}.dock-item{letter-spacing:var(--letter-spacing-wider);font-size:.65rem}.contact-links{gap:var(--spacing-md);flex-direction:column;width:100%}.contact-link{text-align:center;width:100%;padding:1rem 1.5rem}.mockup-large{height:300px}.mockup-medium{min-height:200px}.mockup-small{height:200px}.project-role{font-size:var(--font-size-xs)}.project-metrics{gap:.4rem}.metric-item{padding:.3rem .6rem;font-size:.7rem}.project-link{font-size:var(--font-size-xs);justify-content:center;width:100%;padding:.6rem 1.2rem}.project-credits{font-size:.65rem}}@media (min-width:769px){.content-tile,.project-item,.skill-item{will-change:transform,opacity;backface-visibility:hidden;transform:translate(0)}}@media (max-width:768px){.content-tile,.project-item,.skill-item{will-change:auto;backface-visibility:hidden;transform:translateZ(0)}}@supports (-webkit-touch-callout:none){html{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.section-tile,#hero{min-height:-webkit-fill-available}body{-webkit-font-smoothing:none;text-rendering:optimizeSpeed}.glass-card,.about-description,.about-skills,.project-content{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}}@media (max-width:768px){html,body{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;overflow-y:auto}.glass-card,.about-description,.about-skills,.project-content,.floating-dock{-webkit-backdrop-filter:none!important;background:0 0!important}.floating-dock{background:#131515f2!important}.contact-content{background:0 0;max-width:100%;padding:0}.project-item,.skill-item,.hero-image,.hero-image-container,.about-skills,.content-tile,.tile-inner,.link-arrow,.dock,.floating-dock,.project-content,.about-description,.mockup-item{will-change:auto!important}.project-item{transform:translateZ(0)}.glass-card,.about-description,.about-skills,.project-content{-webkit-backdrop-filter:none!important}.project-number{text-shadow:0 0 8px #7d849166!important}.glass-card,.about-description,.about-skills,.project-content{box-shadow:none!important}body,p,.project-description,.about-description,.skill-line{text-rendering:optimizeSpeed;word-break:normal;overflow-wrap:break-word;orphans:2;widows:2;-webkit-hyphens:auto;hyphens:auto}.project-title{word-break:keep-all!important;-webkit-hyphens:none!important;hyphens:none!important;font-size:clamp(1.25rem,5vw,2rem)!important}.project-description{font-size:clamp(.875rem,3vw,1.125rem)!important}.section-title{word-break:keep-all!important;-webkit-hyphens:none!important;hyphens:none!important;font-size:clamp(1.5rem,6vw,3rem)!important}.about-description{font-size:clamp(.875rem,3vw,1.125rem)!important}.skill-item h3{font-size:clamp(1.1rem,4vw,1.5rem)!important}.skill-line{font-size:clamp(.9rem,3vw,1.1rem)!important}}@media (max-width:480px){.hero-title{font-size:clamp(2.5rem,9vw,8rem)}.floating-dock{gap:.75rem;width:95%;padding:.6rem .8rem}.dock-item{letter-spacing:var(--letter-spacing-normal);font-size:.6rem}.project-number{font-size:1.75rem}.embla__button{width:44px;height:44px}.legal-modal-scroll{padding:var(--spacing-md);padding-right:calc(var(--spacing-md) + 2rem)}}@media (max-width:360px){.hero-title{font-size:clamp(2rem,8vw,6rem)}.floating-dock{gap:.5rem;width:98%;padding:.5rem .6rem}.dock-item{padding:.25rem 0;font-size:.55rem}.project-content{padding:var(--spacing-sm)}.tag{font-size:var(--font-size-xs);padding:0}.contact-link{padding:.65rem 1.2rem;font-size:.75rem}}.contact-link,.project-link,.dock-item{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.legal-modal-backdrop{z-index:9998;background:#000000b3;position:fixed;inset:0}.legal-modal{background:var(--color-bg);z-index:9999;will-change:transform;width:100vw;height:100vh;position:fixed;inset:0;overflow:hidden}.legal-modal-content{flex-direction:column;height:100%;display:flex;position:relative}.legal-modal-close{top:var(--spacing-md);right:var(--spacing-md);color:var(--color-text-dim);cursor:pointer;z-index:10;background:0 0;border:none;padding:.5rem;font-family:Arial,sans-serif;font-size:2.5rem;line-height:1;transition:color .2s;position:absolute}.legal-modal-close:hover{color:var(--color-primary)}.legal-modal-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;color:var(--color-primary)}.legal-modal-scroll{height:100%;padding:var(--spacing-xl);padding-right:calc(var(--spacing-xl) + 3rem);max-width:1200px;margin:0 auto;overflow-y:auto}.legal-section{margin-bottom:var(--spacing-lg)}.legal-section:last-child{margin-bottom:0}.legal-section h2{font-size:var(--font-size-lg);color:var(--color-primary);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;margin-bottom:var(--spacing-sm);line-height:var(--line-height-snug)}.legal-section p{font-size:var(--font-size-sm);color:var(--color-text-dim);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-sm)}.legal-section p:last-child{margin-bottom:0}.legal-section a{color:var(--color-primary);word-break:normal;overflow-wrap:break-word;word-break:break-word;text-decoration:none;transition:opacity .2s}.legal-section a:hover{opacity:.8}@media (max-width:768px){.legal-modal-scroll{padding:var(--spacing-lg);padding-right:calc(var(--spacing-lg) + 2.5rem);max-width:100%}.legal-modal-close{top:var(--spacing-sm);right:var(--spacing-sm);font-size:2rem}.legal-section h2{font-size:clamp(1rem,4vw,1.25rem)}.legal-section p{font-size:clamp(.75rem,3vw,.875rem)}}input,select,textarea{font-size:16px}.floating-dock{transform:translate(-50%)translate(0)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
