*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;background:#05060a;font-family:system-ui,sans-serif}#scene{position:fixed;top:0;right:0;bottom:0;left:0;display:block;outline:none;touch-action:none}#title-still{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8;background-image:url(../title-mobile.jpg);background-size:cover;background-position:center;background-color:#05060a}#title-still.hidden{display:none}#title-orbs{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;pointer-events:none}#loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#05060a;color:#f4e7c1;z-index:20;transition:opacity .6s ease}#loading-screen.hidden{opacity:0;pointer-events:none}#loading-logo{width:84px;height:84px;object-fit:contain;animation:loading-logo-wobble 1.8s ease-in-out infinite;transform-origin:50% 65%}@keyframes loading-logo-wobble{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}#loading-percent{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:22px;font-weight:500;letter-spacing:.02em;color:#fff}#loading-subline{position:absolute;left:0;right:0;bottom:calc(28px + env(safe-area-inset-bottom,0px));font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:.01em;line-height:1.5;color:#ffffff8c;padding:0 16px;text-align:center}#intro-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#f4e7c1;background:#05060a59;z-index:10;cursor:pointer;text-align:center}#intro-overlay.visible{display:flex}#intro-overlay h1{font-size:32px;letter-spacing:.08em;text-transform:lowercase}#intro-overlay p{font-size:14px;opacity:.85}#welcome-bubble{position:fixed;top:34px;left:118px;z-index:14;max-width:320px;background:#fff;color:#111;border-radius:18px;padding:16px 20px;box-shadow:0 6px 24px #00000059;cursor:pointer;opacity:0;transform:translate(-8px) scale(.96);transition:opacity .25s ease,transform .25s ease;pointer-events:none}#welcome-bubble.visible{opacity:1;transform:translate(0) scale(1);pointer-events:auto}#welcome-bubble.hidden{display:none}#welcome-bubble p{margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;font-size:15px;line-height:1.35}#welcome-bubble:before{content:"";position:absolute;left:-10px;top:22px;border-width:8px 10px 8px 0;border-style:solid;border-color:transparent #fff transparent transparent}.mobile-only{display:none}.desktop-only{display:block}@media (hover: none) and (pointer: coarse){.mobile-only{display:block}.desktop-only{display:none}#scene{image-rendering:pixelated;image-rendering:crisp-edges}#main-menu{top:16px;left:16px;gap:10px;max-width:calc(100vw - 32px)}#main-menu-logo{width:34px}#main-menu-list>li:not(.has-submenu),.menu-label{font-size:15px;padding:2px 0;line-height:1}#main-menu-list{gap:0}.submenu{padding-left:8px}.submenu li{font-size:12px;padding:5px 0;opacity:.9}.has-submenu.open .menu-arrow{transform:rotate(90deg)}.has-submenu:hover .submenu{max-height:0;opacity:0;margin-top:0}.has-submenu.open .submenu{max-height:320px;opacity:1;margin-top:6px}body.portfolio-open .has-submenu:hover .submenu,body.about-open .has-submenu:hover .submenu{max-height:0;opacity:0;margin-top:0;padding:0;background:none;box-shadow:none}body.portfolio-open .has-submenu.open .submenu,body.about-open .has-submenu.open .submenu{max-height:320px;opacity:1;margin-top:6px;padding:10px 14px;background:#fff;box-shadow:0 8px 28px #00000024}}#touch-controls{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}#touch-controls.hidden{display:none}#joystick-zone{position:absolute;left:24px;bottom:24px;width:104px;height:104px;background:#0a080673;border:3px solid rgba(244,231,193,.55);box-shadow:0 0 0 3px #0a080673;pointer-events:auto}#joystick-zone:before,#joystick-zone:after{content:"";position:absolute;background:#f4e7c12e}#joystick-zone:before{left:0;right:0;top:50%;height:3px;margin-top:-1.5px}#joystick-zone:after{top:0;bottom:0;left:50%;width:3px;margin-left:-1.5px}#joystick-knob{position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px 0 0 -21px;background:#f4a13e;border:3px solid #2a1a08;clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px)}#main-menu{position:fixed;top:40px;left:40px;z-index:12;display:flex;flex-direction:column;align-items:flex-start;gap:22px;pointer-events:none;transition:opacity .3s ease}#main-menu.hidden{display:none}body.portfolio-open #main-menu{z-index:18}body.portfolio-open #main-menu-logo{filter:invert(1)}body.portfolio-open #main-menu-list>li:not(.has-submenu),body.portfolio-open .menu-label,body.portfolio-open .menu-arrow{color:#111}body.portfolio-open .submenu li{color:#111}body.portfolio-open #main-menu,body.about-open #main-menu{flex-direction:row;align-items:center;gap:32px}body.portfolio-open #main-menu-list li.has-submenu,body.about-open #main-menu-list li.has-submenu{position:relative}body.portfolio-open .has-submenu .submenu,body.about-open .has-submenu .submenu{position:absolute;top:100%;left:0;margin-top:0;padding:0;min-width:max-content;gap:0}body.portfolio-open .has-submenu:hover .submenu,body.about-open .has-submenu:hover .submenu{margin-top:6px;padding:10px 14px;background:#fff;box-shadow:0 8px 28px #00000024}body.portfolio-open .has-submenu .submenu li,body.about-open .has-submenu .submenu li{font-size:14px;line-height:1.2;padding:5px 0;white-space:nowrap}body.portfolio-open #main-menu-list,body.about-open #main-menu-list{flex-direction:row;align-items:flex-start;gap:32px}#main-menu-logo{width:64px;height:auto;display:block;pointer-events:auto;cursor:pointer}#main-menu-list{list-style:none;display:flex;flex-direction:column;gap:2px}#main-menu-list.collapsed{max-height:0;opacity:0;overflow:hidden;pointer-events:none;transition:max-height .25s ease,opacity .2s ease}#main-menu-list li.has-submenu{display:flex;flex-direction:column}#main-menu-list>li:not(.has-submenu),.menu-label{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;font-size:26px;line-height:1.15;letter-spacing:-.04em;color:#fff;text-transform:uppercase;cursor:pointer;pointer-events:auto;opacity:.95;transition:opacity .15s ease;display:inline-flex;align-items:center;gap:8px}#main-menu-list>li:not(.has-submenu):hover,.menu-label:hover{opacity:.6}#main-menu-list li#menu-home-item.hidden{display:none}.menu-arrow{display:inline-block;font-weight:700;font-size:1em;transition:transform .2s ease}.has-submenu:hover .menu-arrow{transform:rotate(90deg)}.submenu{list-style:none;overflow:hidden;max-height:0;opacity:0;padding-left:4px;display:flex;flex-direction:column;gap:3px;transition:max-height .25s ease,opacity .2s ease,margin-top .25s ease}.has-submenu:hover .submenu{max-height:260px;opacity:1;margin-top:8px}.submenu li{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;font-size:15px;line-height:1.3;letter-spacing:-.02em;color:#fff;text-transform:uppercase;cursor:pointer;pointer-events:auto;opacity:.8;transition:opacity .15s ease}.submenu li:hover{opacity:1}#social-links{position:fixed;right:40px;bottom:40px;z-index:12;display:flex;flex-direction:column;gap:20px;transition:opacity .3s ease}#social-links.hidden{display:none}#social-links a{color:#fff;opacity:.95;transition:opacity .15s ease;line-height:0}#social-links a:hover{opacity:.6}#social-links svg{width:22px;height:22px;display:block}#explore-nav{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11;pointer-events:none}#explore-nav.hidden{display:none}#explore-nav button{position:fixed;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;font-size:40px;line-height:1;opacity:.65;cursor:pointer;pointer-events:auto;padding:14px 18px;transition:opacity .15s ease}#explore-nav button:hover{opacity:1}#explore-nav-prev{left:16px}#explore-nav-next{right:16px}#vinyl-exit-btn{position:fixed;top:40px;right:40px;z-index:13;background:none;border:none;color:#fff;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;font-size:15px;letter-spacing:.03em;opacity:.85;cursor:pointer;padding:10px 14px;transition:opacity .15s ease}#vinyl-exit-btn:hover{opacity:1}#vinyl-exit-btn.hidden{display:none}#vinyl-debug-pos{position:fixed;top:70px;right:40px;z-index:13;color:#fff;font-family:Menlo,Courier New,monospace;font-size:12px;background:#05060ab3;padding:6px 10px;border-radius:4px;white-space:pre}#vinyl-debug-pos.hidden{display:none}#vinyl-booth{display:contents}#vinyl-booth.hidden #vinyl-booth-panel{display:none}#vinyl-booth-panel{position:fixed;left:50%;bottom:40px;transform:translate(-50%);z-index:13;width:180px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 16px;background:#05060ab3;border-radius:6px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#fff}#vinyl-booth-info{text-align:center}#vinyl-booth-title{font-weight:700;font-size:16px;letter-spacing:-.01em}#vinyl-booth-artist{font-size:12px;opacity:.7;margin-top:2px}#vinyl-booth-controls{display:flex;align-items:center;gap:22px}#vinyl-booth-controls button{background:none;border:none;color:#fff;cursor:pointer;opacity:.75;transition:opacity .15s ease;padding:6px}#vinyl-booth-controls button:hover{opacity:1}#vinyl-booth-prev,#vinyl-booth-next{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;font-size:20px}#vinyl-booth-play{font-size:13px}#portfolio-gallery{position:fixed;top:0;right:0;bottom:0;left:0;z-index:16;background:#fff;color:#111;overflow:hidden;transition:opacity .25s ease}#portfolio-gallery.hidden{display:none}#portfolio-gallery-title{position:fixed;top:40px;right:40px;line-height:59px;text-align:right;z-index:17;margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;font-size:32px;letter-spacing:-.02em;text-transform:uppercase;color:#111}#portfolio-gallery-scroll{position:absolute;top:110px;left:0;right:0;bottom:0;overflow-y:auto;overflow-x:hidden;padding:0 40px 60px}#portfolio-gallery-grid{width:100%;column-width:320px;column-gap:4px}.portfolio-tile{position:relative;break-inside:avoid;margin-bottom:4px;overflow:hidden;background:transparent;cursor:pointer;line-height:0}.portfolio-tile img,.portfolio-tile video{display:block;width:100%;height:auto;transition:opacity .2s ease}.portfolio-tile:hover img,.portfolio-tile:hover video{opacity:.85}.portfolio-tile.is-video:after{content:"▶";position:absolute;right:10px;bottom:8px;color:#fff;font-size:13px;opacity:.9;text-shadow:0 1px 3px rgba(0,0,0,.6);pointer-events:none}#contact-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:16;background:#05060a;color:#fff;display:flex;align-items:center;justify-content:center;padding:40px}#contact-overlay.hidden{display:none}#contact-links{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:44px 52px;max-width:720px}#contact-links a{display:flex;flex-direction:column;align-items:center;gap:12px;color:#fff;text-decoration:none;opacity:.85;transition:opacity .15s ease,transform .15s ease}#contact-links a:hover{opacity:1;transform:translateY(-3px)}#contact-links svg{width:46px;height:46px;display:block}#contact-links span{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}#contact-overlay-close{position:fixed;top:36px;right:40px;z-index:19;background:none;border:none;color:#fff;font-size:32px;line-height:1;font-weight:400;cursor:pointer;opacity:.8}#contact-overlay-close:hover{opacity:1}#portfolio-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:18;background:#05060aeb;display:flex;align-items:center;justify-content:center;padding:60px}#portfolio-lightbox.hidden{display:none}#portfolio-lightbox-content{max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}#portfolio-lightbox-content img,#portfolio-lightbox-content video{max-width:calc(100vw - 120px);max-height:calc(100vh - 120px);width:auto;height:auto;object-fit:contain;display:block;box-shadow:0 20px 60px #00000080}#portfolio-lightbox-close{position:fixed;top:36px;right:40px;z-index:19;background:none;border:none;color:#fff;font-size:32px;line-height:1;font-weight:400;cursor:pointer;opacity:.9;padding:6px 10px}#about-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8;color:#fff;transition:opacity .25s ease}#about-overlay.hidden{display:none}#about-overlay-scroll{position:absolute;top:120px;left:0;right:0;bottom:0;overflow-y:auto;padding:0 40px 60px}#about-overlay-content{max-width:1200px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.about-header-row{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:end}@media (max-width: 900px){.about-header-row{grid-template-columns:38% 1fr;gap:14px}}.about-profile-pic{width:100%;aspect-ratio:1;border:2px solid #fff;background:transparent}.about-header h1{font-size:56px;font-weight:800;letter-spacing:-.02em;text-transform:uppercase;margin:0}.about-header h2{font-size:30px;font-weight:700;letter-spacing:-.01em;text-transform:uppercase;margin:0 0 16px}.about-header p{font-size:14px;line-height:1.5;font-weight:600;max-width:620px;margin:0 0 10px}.about-columns{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:start;margin-top:28px}@media (max-width: 900px){.about-columns{grid-template-columns:38% 1fr;gap:14px}}.about-contact-list{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:10px;font-weight:700;font-size:16px}.about-contact-list a,.about-contact-location{color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px}.about-contact-list a:hover{text-decoration:underline}.about-contact-list svg{width:18px;height:18px;flex-shrink:0}.about-section-label{font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;margin:0 0 10px}.about-clients-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}.about-client-tile{width:100%;aspect-ratio:1;background-color:#ffffff14;border:1px solid rgba(255,255,255,.35);background-size:cover;background-position:center}.about-profile-pic img{display:block;width:100%;height:100%;object-fit:cover}.about-tag-box{background:#05060a;border:2px solid #fff;padding:16px 20px;margin-bottom:20px}.about-tag-box h4{font-size:16px;font-weight:800;font-style:italic;text-transform:uppercase;margin:0 0 8px}.about-skills-list{list-style:none;margin:0;padding:0;font-size:13px;font-weight:600;line-height:1.9}.about-skills-list li:before{content:"- "}.about-box{border:2px solid #fff;background:#05060a59;padding:20px 24px;margin-bottom:20px;max-width:640px}.about-box h3{font-size:22px;font-weight:700;text-transform:uppercase;margin:0 0 2px}.about-updated{font-size:12px;opacity:.7;margin:0 0 14px}.about-box p{font-size:14px;line-height:1.5;font-weight:600;margin:0 0 12px}.about-box p:last-child{margin-bottom:0}.about-job{margin-bottom:16px}.about-job:last-child{margin-bottom:0}.about-job-title{font-weight:700;font-size:15px;margin:0}.about-job-dates{font-size:12px;opacity:.75;margin:0 0 4px}.about-box-button{display:inline-block;border:2px solid #fff;color:#fff;text-decoration:none;font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;padding:10px 22px;background:none;cursor:pointer;font-family:inherit}.about-box-button:hover{background:#ffffff1f}#about-back-to-top{margin-top:10px;margin-bottom:30px}.about-footer{opacity:.55;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.about-footer p{margin:2px 0}#about-overlay-close{position:fixed;top:36px;right:40px;z-index:9;background:none;border:none;color:#fff;font-size:32px;line-height:1;font-weight:400;cursor:pointer;opacity:.85;padding:6px 10px;transition:opacity .15s ease}#about-overlay-close:hover{opacity:1}#debug-pos{position:fixed;left:12px;bottom:12px;z-index:15;padding:6px 10px;background:#05060a99;color:#f4e7c1;font-family:monospace;font-size:12px;line-height:1.5;white-space:pre;pointer-events:none;border-radius:4px}@media (hover: none) and (pointer: coarse){#about-overlay-scroll{top:76px;padding:0 14px 40px}.about-header-row{gap:12px}.about-header h1{font-size:26px}.about-header h2{font-size:15px;margin:0 0 8px}.about-contact-list{font-size:11px;gap:5px;margin:0 0 14px}.about-contact-list svg{width:12px;height:12px}.about-columns{gap:12px;margin-top:14px}.about-box{padding:10px 12px;margin-bottom:12px;border-width:1px}.about-box h3{font-size:14px}.about-box p{font-size:11px;line-height:1.45;margin:0 0 8px}.about-tag-box{padding:10px 12px;margin-bottom:12px;border-width:1px}.about-tag-box h4{font-size:11px;margin:0 0 5px}.about-tag-box li{font-size:10px}.about-updated{font-size:9px;margin:0 0 8px}.about-box-button{font-size:11px;padding:6px 12px}.about-profile-pic{border-width:1px}#portfolio-gallery-title{top:16px;right:26px;line-height:34px;font-size:14px;letter-spacing:.01em;max-width:calc(100vw - 110px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#portfolio-gallery-scroll{top:62px;padding:0 10px 40px}#portfolio-gallery-grid{width:100%;column-width:108px;column-gap:4px}#portfolio-lightbox{padding:16px}#portfolio-lightbox-content img,#portfolio-lightbox-content video{max-width:calc(100vw - 32px);max-height:calc(100vh - 32px)}#portfolio-lightbox-close{top:16px;right:18px}}
