.app-switcher-svg-defs{position:absolute;width:0;height:0;pointer-events:none}.app-switcher-dock{display:none;position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:4}@media (max-width:480px){.app-switcher-dock{display:flex}}.app-switcher{position:relative;display:flex;align-items:center;gap:4px;margin:0;padding:4px;border:1px solid var(--lg-edge);border-radius:999px;background:var(--lg-tint);box-shadow:var(--lg-shadow);box-sizing:border-box}.app-switcher-legend{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;white-space:nowrap;clip-path:inset(100%);overflow:hidden}.app-switcher:after{content:"";position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / var(--n-options));border-radius:999px;background:var(--noir-accent);box-shadow:0 2px 10px var(--noir-accent-glow);transform:translateX(calc(var(--active-index) * 100%));transform-origin:var(--pill-origin,center);transition:transform .4s cubic-bezier(1,0,.4,1);z-index:0}.app-switcher-option{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex:1 1 0;min-width:44px;min-height:44px;border-radius:999px;color:var(--noir-muted);cursor:pointer;transition:color .2s ease}.app-switcher-option:has(.app-switcher-input:checked){color:#fff}.app-switcher-option:hover:not(:has(.app-switcher-input:checked)){color:var(--app-accent,var(--noir-text))}.app-switcher-input,.app-switcher-sr-only{position:absolute;clip-path:inset(100%);height:1px;width:1px;overflow:hidden;white-space:nowrap}.app-switcher-sr-only{margin:-1px;border:0;padding:0}.app-switcher-icon-image{width:30px;height:30px;border-radius:8px}.app-switcher-icon-image .icon-glass-content{font-size:.9rem}@media (prefers-reduced-motion:reduce){.app-switcher-option,.app-switcher:after{transition:none}}.dock-app svg,.icon svg,.icon-image svg{width:60%;height:60%;display:block;fill:currentColor;color:#233240;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.desktop-wheel-row .icon-image{border-radius:16px}.desktop-wheel-row .icon-image svg{width:58%;height:58%}.dock-app svg{width:22px;height:22px}.desktop-items:focus{outline:none}.desktop-items:focus-visible .desktop-wheel-row[aria-selected=true] .icon-image{outline:2px solid rgba(255,255,255,.95);outline-offset:3px}@media (prefers-reduced-motion:reduce){.icon-glass,.icon-glass-base,.icon-image{transition:none}}@media (max-width:768px){.icon-image svg{width:62%;height:62%}}.macintosh-container{height:100vh;height:100dvh;width:100vw;overflow:hidden;background:#c0c0c0;background-image:url(/images/palmtreeleaves-5.jpg);background-size:cover;background-position:50%;background-repeat:no-repeat;color:#3b3a3a;font-family:Chicago,Geneva,sans-serif;display:flex;justify-content:center;align-items:center;padding:0;margin:0;position:relative}.flying-birds-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}.mac-screen{width:90vw;height:85vh;max-width:1500px;max-height:920px;background:#62dcf537;border:2px solid #3b3a3a;display:flex;flex-direction:column;position:relative}.mac-screen--app-view-open>.app-switcher-dock,.mac-screen--app-view-open>.desktop,.mac-screen--app-view-open>.menu-bar,.mac-screen--app-view-open>.taskbar,.mac-screen--app-view-open>.welcome-window{visibility:hidden;pointer-events:none}.menu-right{gap:10px}.desktop{flex:1;background:rgba(255,255,255,.1);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.05),0 4px 20px rgba(0,0,0,.1);position:relative;overflow:hidden;padding:20px}.desktop-rain{position:absolute;inset:0;pointer-events:none}.desktop-rain canvas{width:100%;height:100%;display:block}.desktop-rain:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.08)}@media (prefers-reduced-motion:reduce){.desktop-rain canvas{display:none}}.desktop-items{z-index:1;right:20px;width:320px;max-width:calc(100vw - 40px);overflow:hidden;touch-action:none;-webkit-mask-image:linear-gradient(180deg,transparent,black 12%,black 88%,transparent);mask-image:linear-gradient(180deg,transparent,black 12%,black 88%,transparent)}.desktop-items,.desktop-wheel-rail{position:absolute;top:0;height:100%}.desktop-wheel-rail{right:90px;width:130px;color:rgba(255,255,255,.22);pointer-events:none}.desktop-wheel-row{position:absolute;top:50%;left:0;right:0;height:120px;padding:0 12px 0 0;display:flex;align-items:center;justify-content:flex-end;gap:18px;cursor:pointer}.desktop-items.is-animating .desktop-wheel-row{will-change:transform,opacity}.desktop-wheel-label{color:rgba(241,245,249,.75);font-size:16px;font-weight:500;white-space:nowrap;text-shadow:0 2px 6px rgba(2,6,23,.72)}.desktop-wheel-label-active{color:#ffffff;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:8px 20px;font-size:18px;font-weight:600;white-space:nowrap;box-shadow:inset 1px 1px 1px rgba(255,255,255,.3),0 4px 12px rgba(0,0,0,.2)}.icon-image{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;position:relative;overflow:visible}.desktop-glass-filter{position:absolute;width:0;height:0;pointer-events:none}.icon-glass{position:relative;width:100%;height:100%;border-radius:inherit;overflow:hidden;display:inline-flex;align-items:center;justify-content:center}.icon-glass-distortion{z-index:0;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);filter:url(#desktop-icon-glass-distortion);isolation:isolate}.icon-glass-base,.icon-glass-distortion{position:absolute;inset:0;border-radius:inherit;pointer-events:none}.icon-glass-base{z-index:1;background:rgba(255,255,255,.16);transition:background .2s ease}.icon-glass-border{position:absolute;inset:0;z-index:2;border-radius:inherit;box-shadow:inset 1px 1px 1px rgba(255,255,255,.5),inset -1px -1px 1px rgba(255,255,255,.15);pointer-events:none}.icon-glass-content{position:relative;z-index:30;display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%}.desktop-wheel-row:hover .icon-glass-base{background:rgba(255,255,255,.22)}.notification-badge{position:absolute;top:3px;right:-1px;background:#ff3b30;color:white;border-radius:50%;width:15px;height:15px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid white;box-shadow:0 2px 6px rgba(0,0,0,.3);z-index:20;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 2px 6px rgba(0,0,0,.3),0 0 0 0 rgba(255,59,48,.7)}70%{box-shadow:0 2px 6px rgba(0,0,0,.3),0 0 0 10px rgba(255,59,48,0)}to{box-shadow:0 2px 6px rgba(0,0,0,.3),0 0 0 0 rgba(255,59,48,0)}}.welcome-window{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(400px,calc(100vw - 48px));background:#ffffff;border:2px solid #3b3a3a;box-shadow:2px 2px 0 #3b3a3a;z-index:10}.window-title-bar{height:20px;background:#3b3a3a;color:#ffffff;display:flex;align-items:center;padding:0 10px;position:relative}.window-controls{position:absolute;top:50%;left:5px;transform:translateY(-50%)}.close-btn{width:14px;height:14px;display:flex;align-items:center;justify-content:center;padding:0;background:#ffffff;border:1px solid #3b3a3a;color:#3b3a3a;font-size:12px;line-height:1;cursor:pointer;transition:background-color .2s ease}.close-btn:hover{background:#e0e0e0}.close-btn:active{background:#d0d0d0}.window-title{flex:1;text-align:center;font-size:11px}.window-content{padding:20px;text-align:center}.window-content h2{margin:0 0 10px;font-size:16px}.window-content p{margin:0 0 15px;font-size:12px;line-height:1.4}.quick-links{display:flex;gap:10px;justify-content:center}.quick-links button{padding:5px 10px;border:1px solid #3b3a3a;background:#e0e0e0;cursor:pointer;font-size:10px}.quick-links button:hover{background:#d0d0d0}.taskbar{height:25px;background:#c0c0c0;border-top:1px solid #3b3a3a;display:flex;align-items:center;padding:0 10px;gap:10px}.start-menu{font-size:12px;font-weight:700}.running-apps{display:flex;gap:5px}.app-tab{padding:2px 8px;font-size:10px;border:1px solid #3b3a3a;background:#ffffff;cursor:pointer}.app-tab.active{background:#3b3a3a;border-color:#3b3a3a;color:#ffffff}@media (max-width:768px){.mac-screen{width:94vw;height:88vh;height:88dvh}}@media (max-width:600px){.mac-screen{width:96vw;height:92vh;height:92dvh}.desktop{padding:16px}}@media (max-width:480px){.desktop{display:none}}.menu-bar{max-width:100%;background:linear-gradient(180deg,rgba(28,20,16,.72),rgba(20,14,11,.68) 50%,rgba(13,10,9,.74));justify-content:space-between;padding:6px 12px;box-shadow:var(--lg-shadow);border-bottom:1px solid var(--lg-edge);font-family:var(--font-primary);position:relative;z-index:1000;backdrop-filter:var(--lg-blur);-webkit-backdrop-filter:var(--lg-blur)}.menu-bar,.menu-left{display:flex;align-items:center}.menu-left{gap:6px}.my-logo{width:26px;height:22px;object-fit:contain;margin-right:8px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));transition:transform .2s ease}.my-logo:hover{transform:scale(1.05)}.menu-item-wrapper{position:relative;display:inline-block;z-index:1}.menu-item-wrapper-active{z-index:1010}.menu-item{cursor:pointer;padding:8px 16px;border-radius:8px;transition:color .2s ease,background .2s ease,border-color .2s ease;position:relative;z-index:2;user-select:none;appearance:none;background:transparent;color:var(--noir-muted);font-family:inherit;font-size:13px;font-weight:500;line-height:1;border:1px solid transparent;letter-spacing:.01em}.menu-item:hover{background:var(--lg-tint-strong);color:var(--noir-text);border-color:var(--lg-edge)}.menu-item-active{background:var(--noir-accent);color:#fff;border-color:var(--noir-accent);box-shadow:0 2px 10px var(--noir-accent-glow)}.menu-dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:240px;background:var(--lg-tint-strong);color:var(--noir-text);box-shadow:var(--lg-shadow-float);border:1px solid var(--lg-edge);border-radius:14px;padding:10px;z-index:1011;animation:dropdownFadeIn .2s cubic-bezier(.4,0,.2,1);font-family:var(--font-primary);font-size:14px;box-sizing:border-box}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.menu-dropdown:before{content:"";position:absolute;top:-6px;left:24px;width:12px;height:12px;background:var(--lg-tint-strong);border-left:1px solid var(--lg-edge);border-top:1px solid var(--lg-edge);transform:rotate(45deg);z-index:-1}.menu-dropdown-row{background:var(--noir-panel);border:1px solid var(--noir-border);border-radius:10px;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.menu-dropdown-row:focus-visible,.menu-dropdown-row:hover{transform:translateY(-2px);box-shadow:var(--lg-shadow-float);border-color:var(--lg-edge-bright)}.menu-dropdown-row:active{transform:translateY(-1px)}.menu-dropdown-about{width:min(320px,82vw);padding:12px 10px 10px;display:flex;flex-direction:column;gap:12px}.menu-dropdown-about-bio{margin:0;color:var(--noir-muted);font-size:13px;line-height:1.55}.menu-dropdown-about-link{align-self:flex-start;background:transparent;border:none;padding:0;color:var(--noir-accent);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:color .2s ease}.menu-dropdown-about-link:hover{color:var(--noir-text)}.menu-dropdown-services{margin:0;padding:2px;width:min(360px,88vw);list-style:none;display:flex;flex-direction:column;gap:8px;max-height:440px;overflow-y:auto}.menu-dropdown-service-item{display:flex;align-items:flex-start;gap:14px;padding:12px}.menu-dropdown-service-icon{flex-shrink:0;width:42px;height:42px;border-radius:10px;background:var(--noir-panel-strong);border:1px solid var(--noir-border);display:flex;align-items:center;justify-content:center;overflow:hidden}.menu-dropdown-service-icon img{width:26px;height:26px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}.menu-dropdown-service-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.menu-dropdown-service-title{color:var(--noir-text);font-size:14px;font-weight:700;letter-spacing:-.01em;line-height:1.3}.menu-dropdown-service-desc{color:var(--noir-muted);font-size:12px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.menu-dropdown-projects{margin:0;padding:2px;width:fit-content;max-width:90vw;max-height:480px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;list-style:none}.menu-dropdown-project-item{display:flex;align-items:center;gap:14px;padding:10px 12px;max-width:340px;width:100%;box-sizing:border-box;overflow:hidden}.menu-dropdown-project-img{width:52px;height:52px;border-radius:10px;background:var(--noir-panel-strong);border:1px solid var(--noir-border);flex-shrink:0}.menu-dropdown-project-icon,.menu-dropdown-project-img-icon{display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--noir-muted)}.menu-dropdown-project-img-media{width:34px!important;height:34px!important;display:block;object-fit:contain;border-radius:6px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}.menu-dropdown-project-icon .svg-inline--fa{display:block;vertical-align:0}.menu-dropdown-project-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px}.menu-dropdown-project-title{font-weight:700;font-size:14px;color:var(--noir-text);line-height:1.2;letter-spacing:-.01em}.menu-dropdown-project-desc,.menu-dropdown-project-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-dropdown-project-desc{font-size:12px;color:var(--noir-muted);line-height:1.4}.menu-right{display:flex;align-items:center}.menu-dropdown-projects,.menu-dropdown-services{scrollbar-width:thin;scrollbar-color:var(--noir-muted) var(--lg-tint)}.menu-dropdown-projects::-webkit-scrollbar,.menu-dropdown-services::-webkit-scrollbar{width:6px}.menu-dropdown-projects::-webkit-scrollbar-track,.menu-dropdown-services::-webkit-scrollbar-track{background:var(--lg-tint);border-radius:3px}.menu-dropdown-projects::-webkit-scrollbar-thumb,.menu-dropdown-services::-webkit-scrollbar-thumb{background:var(--noir-faint);border-radius:3px}.menu-dropdown-projects::-webkit-scrollbar-thumb:hover,.menu-dropdown-services::-webkit-scrollbar-thumb:hover{background:var(--noir-muted)}@media (max-width:1024px){.menu-bar{padding:8px 16px}.menu-item{padding:8px 12px;font-size:13px}.menu-dropdown-projects,.menu-dropdown-services{max-width:85vw}}@media (max-width:900px){.menu-dropdown{min-width:200px}}@media (prefers-reduced-motion:reduce){.menu-dropdown{animation:none!important}.menu-dropdown-row,.my-logo{transition-duration:.01ms!important;transition-delay:0s!important;transform:none!important}}:where(.menu-item,.menu-dropdown-row,.menu-dropdown-about-link):focus-visible{outline:2px solid var(--noir-accent);outline-offset:2px}@media (forced-colors:active),(prefers-contrast:more){.menu-dropdown,.menu-dropdown-row{background:Canvas!important;color:CanvasText!important;border-color:ButtonBorder!important;box-shadow:none!important;backdrop-filter:none!important}:where(.menu-item,.menu-dropdown-row,.menu-dropdown-about-link):focus-visible{outline:2px solid Highlight!important;outline-offset:2px;box-shadow:none!important}}@media (max-width:768px),(pointer:coarse){.menu-bar{display:none}}