*{box-sizing:border-box}body{margin:0;color:#263735;font-family:Arial,Helvetica,sans-serif}a,button{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit;border:0;background:none}a,button{color:inherit}a{text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #237f89;outline-offset:4px}.desktop{height:100dvh;min-height:560px;overflow:hidden;position:relative;background:#d9dcc9}.landscape{inset:0;background:linear-gradient(#c5d6d0,#e7dac0 43%,#dfc7a3 58%,#b5c3b0 59%);overflow:hidden;transition:filter .7s}.landscape,.sun{position:absolute}.sun{left:73%;top:17%;width:130px;height:130px;border-radius:50%;background:#f8e5b7;box-shadow:0 0 100px #f9dfae}.mountain{position:absolute;width:120%;height:60%;left:-15%;top:37%;background:#728f7d;clip-path:polygon(0 50%,15% 15%,30% 45%,45% 22%,60% 50%,77% 31%,100% 57%,100% 100%,0 100%)}.mountain.front{top:48%;left:25%;background:#425f58;transform:scaleX(-1)}.water{position:absolute;bottom:0;height:31%;width:100%;background:repeating-linear-gradient(177deg,#a9b9aa88 0 2px,#d2d4b5aa 3px 7px);clip-path:polygon(0 8%,45% 45%,70% 0,100% 30%,100% 100%,0 100%)}.night .landscape{filter:brightness(.45) hue-rotate(35deg)}.menubar{position:relative;height:38px;background:#f2f0e1ad;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;align-items:center;gap:25px;padding:0 26px;font-size:12px;z-index:5;border-bottom:1px solid #fff6}.brand{font-size:24px;font-weight:800;letter-spacing:-3px}.brand span{font-size:18px}.status{margin-left:auto;display:flex;align-items:center;gap:20px}.status button{font-size:21px}.desktop-label{position:absolute;left:42px;top:75px;font-size:9px;letter-spacing:2px;color:#476457;display:flex;align-items:center;gap:9px}.live-dot,.window-footer i{display:inline-block;width:6px;height:6px;background:#57876a;border-radius:50%}.desktop-icons{position:absolute;right:35px;top:80px;display:grid;gap:26px;z-index:2}.desktop-icons button{display:grid;justify-items:center;gap:8px;font-size:11px;text-shadow:0 1px 5px #fff}.file-icon{width:59px;height:48px;background:linear-gradient(#99bfba,#5c938e);border:1px solid #a2c4b8;border-radius:5px 8px 7px 7px;box-shadow:0 5px 10px #243e3820;position:relative;font-size:30px;color:#e6f0dc}.file-icon:before{content:"";position:absolute;left:0;top:-7px;width:25px;height:8px;background:#9ac0ba;border-radius:4px 5px 0 0}.file-icon.resume{background:#f2eedc;color:#7f8d83;width:40px}.file-icon.credits{background:#ead58e;color:#88732c}.window{position:absolute;width:min(760px,72vw);left:calc(50% - 430px);top:50%;transform:translateY(-53%);background:#f9f8f0;border:1px solid #fff9;border-radius:12px;box-shadow:0 25px 70px #203c3740,0 2px 6px #203c3720;z-index:3;overflow:hidden;transition:width .2s}.window.expanded{width:min(940px,82vw);left:7%}.titlebar{height:39px;background:linear-gradient(#f6f5ed,#e9e9df);border-bottom:1px solid #d8dbd0;display:flex;align-items:center;justify-content:center;font-size:11px;color:#7c857b;position:relative}.traffic{position:absolute;left:15px;display:flex;gap:7px}.traffic button{height:11px;width:11px;border-radius:50%;background:#ec8e7c;border:1px solid #cd7969}.traffic button:nth-child(2){background:#e8c46e;border-color:#d3b263}.traffic button:nth-child(3){background:#91b78a;border-color:#7ea375}.title-icon{position:absolute;right:16px}.intro{padding:43px 46px 0}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#758377;font-weight:600}h1{font-family:Georgia,serif;font-size:clamp(36px,4.5vw,61px);font-weight:400;letter-spacing:-2.8px;line-height:1.04;margin:24px 0 21px}h1>span{color:#bd773f}.lead{font-size:14px;color:#7c867b;line-height:1.7}.intro-bottom{display:flex;align-items:center;justify-content:space-between;margin:32px 0}.intro-bottom>div{display:flex;align-items:center;gap:12px}.avatar{width:48px;height:48px;border-radius:50%;background:#dbe1cb;display:grid;place-items:center;font:italic 22px Georgia;position:relative}.avatar span{position:absolute;bottom:-2px;right:-3px;color:#a57942;font-size:20px}.person{display:grid;gap:5px;font-size:11px}.person span{color:#899084;font-size:10px}.primary{display:inline-flex;align-items:center;gap:30px;background:#2e5148;color:#fbf9e9;padding:13px 18px;border-radius:5px;font-size:11px;box-shadow:0 3px 5px #23483c15}.primary:hover{background:#3e6b5e}.intro-footer{border-top:1px solid #dfe1d5;padding:17px 0;font-size:9px;color:#8c9486}.intro-footer,.window-footer{display:flex;justify-content:space-between}.window-footer{height:29px;background:#eeeee4;border-top:1px solid #dedfd3;align-items:center;padding:0 16px;font-size:8px;color:#8c9585}.window-footer i{margin-right:6px;width:5px;height:5px}.desktop-note{position:absolute;right:42px;bottom:145px;text-align:right;font:25px/1.2 Georgia;color:#f6f1db}.desktop-note em{font-weight:400}.desktop-note>span{display:block;font:8px Arial;letter-spacing:1.4px;margin-top:14px}.dock{position:absolute;bottom:39px;left:50%;transform:translateX(-50%);display:flex;gap:10px;align-items:center;padding:10px 12px 6px;border-radius:17px;background:#eef0dc55;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #fff7;box-shadow:0 9px 25px #243d3822;z-index:5}.dock button{position:relative;padding:0 0 6px;transition:transform .2s}.dock button:hover{transform:translateY(-7px)}.dock-icon{display:grid;place-items:center;width:49px;height:49px;border-radius:12px;font-size:30px;box-shadow:inset 0 2px 3px #fff7,0 2px 3px #19382c22;background:linear-gradient(#aec3a9,#748e76);color:#f5f4e8}.dock-icon.work{background:linear-gradient(#a7cecf,#62999b)}.dock-icon.skills{background:linear-gradient(#5c6e66,#2d3d36)}.dock-icon.resume{background:linear-gradient(#fffdf0,#dedac7);color:#7a8676}.dock-icon.contact{background:linear-gradient(#a7c2d5,#60859b)}.dock-icon.wallpaper{background:linear-gradient(#f0dba6,#c7aa6a)}.dock-divider{height:40px;width:1px;background:#f5f0dd77;margin:0 2px}.dock i{position:absolute;bottom:0;width:3px;height:3px;border-radius:50%;left:48%}.running i{background:#345246}.tooltip{display:none;position:absolute;bottom:70px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#f8f6e9;padding:7px 10px;border-radius:5px;font-size:10px}.dock button:hover .tooltip{display:block}.bottom-hint{position:absolute;bottom:15px;width:100%;text-align:center;font-size:9px;letter-spacing:.4px;color:#f0f0dd}.content,.work-content{padding:30px 40px}h2{font:36px/1.1 Georgia;letter-spacing:-1px;margin:17px 0 23px}.content p,.work-content p{font-size:13px;line-height:1.7;color:#738071}.tags{display:flex;flex-wrap:wrap;gap:7px}.tags a,.tags span{background:#e9ece1;border:1px solid #dce2d2;padding:7px 10px;border-radius:5px;font-size:10px}.skill-row{padding:8px 0}.skill-row h3{font-size:12px;margin:8px 0}.project-tabs{display:flex;gap:8px;margin:20px 0}.project-tabs button{flex:1 1;padding:10px 5px;border:1px solid #dee2d5;border-radius:5px;font-size:10px}.project-tabs .selected{background:#31574c}.project-art{display:flex;align-items:center;gap:25px;padding:25px;border-radius:6px;background:#eadbd3}.project-art>span{font:80px Georgia;color:#a46e60}.project-art small{font-size:8px;letter-spacing:1px}.project-art h2{margin:12px 0;font-size:33px}.project-art.blue{background:#d6e4e1}.project-art.green{background:#dce2c7}.muted{display:block;margin-top:20px;color:#929a8c;font-size:9px}.timeline p{display:flex;justify-content:space-between;border-bottom:1px solid #e0e4d7;padding-bottom:13px;gap:12px}.timeline span{font-size:11px}.contact{text-align:center;padding:30px}.contact-star{font-size:50px;color:#ab8c50}.contact .eyebrow{margin-top:15px}.contact h2{font-size:43px}.email{font-size:14px;border-bottom:1px solid #9ba892;padding-bottom:6px}.contact-actions{gap:20px;font-size:11px;margin:30px 0 10px}.contact-actions,.search-overlay{display:flex;justify-content:center}.search-overlay{position:absolute;inset:0;background:#20382d55;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;align-items:flex-start;padding-top:18vh}.search-box{width:min(500px,90vw);background:#f6f6ea;border-radius:12px;padding:20px;box-shadow:0 30px 80px #0003}.search-box input{width:100%;padding:14px;border:0;background:transparent;font-size:18px;outline:none}.search-box button{display:flex;padding:12px;width:100%;border-top:1px solid #dce0d2;text-align:left}.search-box button:hover{background:#dfe7d5}.search-box button span{margin-left:auto}.search-box small{font-size:10px;color:#899382}@media(max-width:900px){.window{left:5%;width:76vw}.desktop-note{display:none}.desktop-icons{right:15px}.intro{padding:30px 28px 0}.desktop-label{left:25px}.intro-bottom{gap:15px}.intro-bottom .primary{gap:12px}}@media(max-width:600px){.desktop{min-height:0}.menubar{padding:0 14px;gap:15px;font-size:10px}.menubar>button:not(.brand){display:none}.status{gap:12px}.status>span:not(.clock){display:none}.desktop-label{top:61px;left:20px;font-size:7px;letter-spacing:1.2px}.desktop-icons{display:none}.window,.window.expanded{left:4%;width:92%;top:48%;transform:translateY(-50%);max-height:calc(100dvh - 190px)}.window-body{max-height:calc(100dvh - 258px);overflow:auto;overscroll-behavior:contain}.intro{padding:27px 23px 0}.eyebrow{font-size:7px;letter-spacing:1px}h1{font-size:42px;letter-spacing:-2px;margin:23px 0}.lead{font-size:12px}.intro-bottom{margin:24px 0;flex-wrap:wrap}.intro-bottom .primary{padding:12px}.person{font-size:10px}.intro-footer{font-size:7px;gap:10px}.window-footer{font-size:7px;padding:0 10px}.dock{gap:7px;bottom:32px;padding:8px 9px 4px}.dock-icon{width:42px;height:42px;font-size:27px}.dock-divider{margin:0}.bottom-hint{bottom:12px;font-size:8px}.content,.work-content{padding:24px}.project-art{padding:18px;gap:16px}.project-art>span{font-size:55px}.project-art h2{font-size:26px}.project-tabs button{font-size:9px}.timeline p{display:grid;gap:2px}.content h2{font-size:30px}.contact h2{font-size:36px}.email{font-size:12px}.contact-actions{gap:18px}.tooltip{display:none!important}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}:root{--glass-edge:rgba(255,255,255,.65);--glass-shadow:inset 0 1px 0 #fff9,inset 0 -1px 0 #ffffff30,0 18px 55px #183a352b}.menubar{background:#eef5ee55;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border-color:var(--glass-edge)}.window{background:rgba(244,248,239,.76)!important;backdrop-filter:blur(32px) saturate(145%);-webkit-backdrop-filter:blur(32px) saturate(145%);box-shadow:var(--glass-shadow)!important;border:1px solid var(--glass-edge)!important;border-radius:17px!important;padding:0!important}.titlebar{background:#ffffff30;border-bottom:1px solid #ffffff65}.window-footer{background:#e7efdf50;border-color:#ffffff60}.window-body{position:relative}.content p,.lead,.work-content p{color:#536652}.eyebrow,.intro-footer{color:#536750}.window-footer{color:#586d55}.dock{background:linear-gradient(135deg,#ffffff55,#d5e8e42e);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border:1px solid #ffffffa0;box-shadow:var(--glass-shadow);padding:11px 13px 7px;gap:12px}.dock-icon{width:53px;height:53px;border-radius:14px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 2px #ffffffcf,inset 0 -2px 3px #0002,0 4px 6px #203d3b33;border:1px solid #ffffff70;color:#fff}.dock-icon:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(150deg,#ffffff40,transparent 45%,#ffffff10);border-radius:inherit}.dock-icon svg{width:31px;height:31px;position:relative;z-index:1;flex-shrink:0}.dock-icon.about{background:linear-gradient(140deg,#45d2ff,#0878f3)}.dock-icon.work{background:linear-gradient(#7ad4ff,#198bea)}.dock-icon.skills{background:linear-gradient(#424954,#11161f)}.dock-icon.skills svg{color:#a2f5bb}.dock-icon.resume{background:linear-gradient(#ffe480 0 24%,#fff 25%,#e5e8ee);color:#6c7583}.dock-icon.resume svg{margin-top:7px;width:27px;height:27px}.dock-icon.contact{background:linear-gradient(#4fbdff,#0565e7);color:white}.dock-icon.wallpaper{background:linear-gradient(145deg,#ffce54,#f38e32);color:white}.file-icon{display:flex;align-items:center;justify-content:center;background:linear-gradient(#92d7ff,#379ee0);color:#eaf8ff}.file-icon svg{width:29px;height:29px}.file-icon:before{background:#a3dfff}.file-icon.skills{background:linear-gradient(#485264,#202939)}.file-icon.skills:before{background:#65738c}.file-icon.credits:before,.file-icon.resume:before{display:none}.file-icon.resume{height:51px;border-radius:5px;background:linear-gradient(#fff,#e4e9ef);color:#7b8fa4}.file-icon.credits{background:linear-gradient(#fdd482,#eaa549);color:white}.primary{background:linear-gradient(#3b726de8,#234e4be8);border:1px solid #ffffff65;box-shadow:inset 0 1px 0 #ffffff50,0 3px 10px #28493625;border-radius:9px}.contact-actions>*,.project-tabs button,.tags a,.tags span{background:#ffffff45;border:1px solid #ffffff80;box-shadow:inset 0 1px 0 #ffffff40;border-radius:8px}.contact-actions>*{padding:9px 12px}.project-tabs .selected{background:#315b52db}.search-box{background:#edf5e6bb!important;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border:1px solid #ffffff99;box-shadow:var(--glass-shadow)!important}.search-box button{align-items:center;gap:12px}.search-box button svg{width:19px;height:19px}.tooltip{background:#f4f8eecc;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid #fff9;box-shadow:0 4px 15px #0001}.night .window{background:rgba(229,239,232,.87)!important}@media(max-width:600px){.dock{gap:8px;padding:9px 10px 5px;border-radius:20px}.dock-icon{width:43px;height:43px;border-radius:12px}.dock-icon svg{width:27px;height:27px}.dock-icon.resume svg{width:23px;height:23px}.contact-actions{gap:8px}.contact-actions>*{padding:8px}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.search-box,.window{background:#eef3e7!important}.dock,.menubar{background:#d8e5dbf5}}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;color:#181818;-webkit-font-smoothing:antialiased}.avatar,.desktop-note,h1,h2{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Arial,sans-serif}h1{font-weight:600;letter-spacing:-2.7px;line-height:1.06}h2{font-weight:550;letter-spacing:-1.3px}.desktop{background:#ddd}.landscape{filter:grayscale(1)}.night .landscape{filter:grayscale(1) brightness(.45)}.content p,.desktop-label,.eyebrow,.intro-footer,.lead,.muted,.person span,.window-footer,.work-content p{color:#454545}.live-dot,.running i,.window-footer i{background:#333}.avatar span,.contact-star,h1>span{color:#222}.avatar{background:#ffffff33}.intro-footer{border-color:#0002}.night .window,.search-box,.window{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:1px solid #ffffffa6!important;box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 #fff7,0 18px 50px #0003!important}.titlebar,.window-footer{background:transparent;border-color:#ffffff55;color:#444}.traffic button,.traffic button:nth-child(2),.traffic button:nth-child(3){background:linear-gradient(#fff8,#4445);border-color:#0003}.traffic button:hover{background:#fff}.menubar{background:#ffffff0a;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#fff8;color:#222;box-shadow:0 1px 3px #0001}.status button{display:flex;align-items:center}.dock{display:block!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:0!important;border-radius:23px;box-shadow:inset 0 1px 0 #fff,0 12px 30px #0004!important}.dock-apps{display:flex;align-items:center;gap:12px;padding:11px 13px 7px}.dock-divider{background:#0003}.dock-icon,.file-icon{filter:grayscale(1)}.dock-icon{background:linear-gradient(145deg,#ffffffc9,#8c8c8c80)!important;color:#222!important;border:1px solid #fff9;box-shadow:inset 0 1px 1px #fff,inset 0 -2px 3px #0002,0 3px 5px #0003}.dock-icon.skills{background:linear-gradient(#555,#111)!important}.dock-icon.skills svg{color:#fff}.file-icon{background:linear-gradient(#ececec,#999)!important;color:#222!important}.file-icon:before{background:#ddd}.dock-icon.resume svg{margin-top:0}.dock-icon svg{filter:drop-shadow(0 1px 0 #fff6)}.primary{background:linear-gradient(#333,#101010);color:white;border-color:#ffffff70;box-shadow:inset 0 1px 0 #fff5,0 3px 8px #0003}.primary:hover{background:#444}.contact-actions>*,.project-tabs button,.tags a,.tags span{background:#ffffff12;border-color:#ffffff80;color:#222;box-shadow:inset 0 1px 0 #ffffff70,0 2px 4px #0001}.project-tabs .selected{background:#222;color:white}.project-art,.project-art.blue,.project-art.green{background:#ffffff20;border:1px solid #fff7}.project-art>span{color:#333}.email{border-color:#444}.timeline p{border-color:#0002}.tooltip{background:#fffffff0;color:#222;-webkit-backdrop-filter:none;backdrop-filter:none}.bottom-hint,.desktop-note{color:#fff;text-shadow:0 1px 3px #0008}.search-overlay{background:#0004;-webkit-backdrop-filter:none;backdrop-filter:none}.search-box input{color:#111}.search-box button{border-color:#0002}.search-box button:hover{background:#fff5}.search-box small{color:#444}@media(max-width:600px){.dock-apps{gap:8px;padding:9px 10px 5px}h1{font-size:39px;letter-spacing:-2px}.window,.window.expanded{max-height:calc(100dvh - 190px)}}@media(prefers-reduced-transparency:reduce){.night .window,.search-box,.window{background:#eeeeee!important}.dock{background:#ccc!important}}:root{color-scheme:dark;--label:#f5f5f7;--secondary-label:#b9b9c0;--accent:#0a84ff;--close:#ff5f57;--minimize:#febc2e;--zoom:#28c840}body{color:var(--label)}.desktop,body{background:#050505}.landscape,.night .landscape{background:radial-gradient(ellipse at 20% 70%,#131313,#030303 70%);filter:none;isolation:isolate}.ribbon{position:absolute;border-radius:180px;background:linear-gradient(100deg,#0b0b0b 2%,#191919 52%,#0a0a0a 90%);border:1px solid #ffffff16;box-shadow:inset 2px 1px 4px #ffffff16,inset -2px 0 5px #ffffff09,8px 0 20px #000c;transform:rotate(-21deg);width:380px;height:160vh;top:-35%;left:9%}.ribbon-one{left:-20%;top:3%;background:linear-gradient(100deg,#080808,#222 75%,#151515)}.ribbon-two{left:8%;top:-12%}.ribbon-three{left:38%;top:-45%}.ribbon-four{left:65%;top:-75%;background:linear-gradient(100deg,#060606,#111 75%,#050505)}.night .ribbon{transform:rotate(-29deg) translateX(5%)}.ribbon{transition:transform 1s ease}.menubar{background:#08080838;color:var(--label);border-color:#ffffff15}.content p,.desktop-label,.eyebrow,.intro-footer,.lead,.muted,.person span,.window-footer,.work-content p{color:var(--secondary-label)}.person b,.timeline b,h1,h2,h3{color:var(--label)}h1>span{color:#fff}.night .window,.search-box,.window{background:#ffffff03!important;border:1px solid #ffffff42!important;box-shadow:inset 0 1px 0 #ffffff35,inset 0 -1px 0 #ffffff12,0 28px 80px #0009!important}.window-body{color:var(--label)}.titlebar,.window-footer{color:#aaaab0;background:#ffffff02;border-color:#ffffff14}.titlebar{height:42px}.intro-footer{border-color:#ffffff1c}.avatar{background:#ffffff12;border:1px solid #ffffff22}.avatar,.avatar span,.contact-star{color:#fff}.live-dot,.window-footer i{background:#30d158}.desktop-icons button{color:#f5f5f7;text-shadow:0 1px 4px #000}.traffic{gap:8px}.traffic button{width:12px;height:12px;background:var(--close);border:1px solid #e44740;position:relative}.traffic button:nth-child(2){background:var(--minimize);border-color:#df9f20}.traffic button:nth-child(3){background:var(--zoom);border-color:#1eaa31}.traffic button:hover{background:var(--close)}.traffic button:nth-child(2):hover{background:var(--minimize)}.traffic button:nth-child(3):hover{background:var(--zoom)}.traffic:hover button:after{content:"×";position:absolute;inset:0;display:grid;place-items:center;font:11px/1 Arial;color:#0009}.traffic:hover button:nth-child(2):after{content:"−"}.traffic:hover button:nth-child(3):after{content:"+"}.dock{border-color:#ffffff50;background:#ffffff03!important;box-shadow:inset 0 1px 0 #ffffff50,0 15px 35px #0009!important}.dock-divider{background:#ffffff30}.running i{background:#fff}.dock-icon,.file-icon{filter:none}.dock-icon.about{background:linear-gradient(145deg,#47cbff,#0879ed)!important;color:white!important}.dock-icon.work{background:linear-gradient(#7bd8ff,#178be2)!important;color:white!important}.dock-icon.skills{background:linear-gradient(#3b414c,#11141a)!important}.dock-icon.skills svg{color:#60e695}.dock-icon.resume{background:linear-gradient(#ffdb5c 0 23%,#fff 24%,#e3e4e9)!important;color:#666d79!important}.dock-icon.contact{background:linear-gradient(#54c0ff,#086be5)!important;color:white!important}.dock-icon.wallpaper{background:linear-gradient(145deg,#ffc658,#ee8529)!important;color:white!important}.dock-icon svg{filter:drop-shadow(0 1px 1px #0002)}.file-icon.work{background:linear-gradient(#96ddff,#278bdb)!important;color:#fff!important}.file-icon.work:before{background:#90d8ff}.file-icon.skills{background:linear-gradient(#424b5b,#1a202a)!important;color:#70efa3!important}.file-icon.skills:before{background:#566173}.file-icon.resume{background:linear-gradient(#fff,#e0e5ed)!important;color:#6e8298!important}.file-icon.credits{background:linear-gradient(#ffd978,#e8a22e)!important;color:white!important}.primary{background:linear-gradient(#198dff,#0070eb);border-color:#70b8ff80;color:#fff;box-shadow:inset 0 1px 0 #ffffff38,0 4px 12px #0005}.primary:hover{background:#319bff}.contact-actions>*,.project-tabs button,.tags a,.tags span{color:var(--label);background:#ffffff08;border-color:#ffffff22;box-shadow:inset 0 1px 0 #ffffff10}.project-tabs .selected{background:#0a84ff;color:#fff;border-color:#66b2ff}.project-art,.project-art.blue,.project-art.green{background:#ffffff05;border-color:#ffffff20}.project-art>span{color:#fff}.email{color:#64b0ff;border-color:#64b0ff70}.contact-actions>:hover,.tags a:hover{background:#ffffff15}.timeline p{border-color:#ffffff18}.search-box input{color:white}.search-box button{color:white;border-color:#ffffff22}.search-box button:hover{background:#0a84ff50}.search-box small{color:#bbb}.search-overlay{background:#000b}.search-box{background:#161616e8!important}.tooltip{background:#242424f5;border-color:#ffffff30;color:#fff}.bottom-hint,.desktop-note{color:#dedee3}.desktop-note>span{color:#aaa}.intro-footer span{color:#b9b9c0}a:focus-visible,button:focus-visible{outline-color:#64b0ff}.dock button:hover{filter:brightness(1.12)}@media(max-width:600px){.ribbon{width:230px;border-radius:100px}.ribbon-one{left:-45%}.ribbon-two{left:5%}.ribbon-three{left:55%}.ribbon-four{left:95%}}@media(prefers-reduced-transparency:reduce){.night .window,.search-box,.window{background:#181818!important}.dock{background:#222!important}}.managed-window{transition:box-shadow .2s!important;max-height:calc(100dvh - 150px);animation:window-arrive .2s ease-out}.managed-window .window-body{max-height:calc(100dvh - 225px);overflow:auto;overscroll-behavior:contain}.managed-window .titlebar{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.managed-window .titlebar:active{cursor:grabbing}.managed-window.focused{border-color:#ffffff70!important;box-shadow:inset 0 1px 0 #ffffff55,0 25px 75px #000c!important}.managed-window.maximized{left:16px!important;top:50px!important;transform:none!important;width:calc(100% - 32px)!important;height:calc(100dvh - 160px);margin:0!important}.managed-window.maximized .window-body{height:calc(100dvh - 233px)}.dock,.menubar{z-index:60}.search-overlay{z-index:100}.ribbon{animation:ribbon-drift 30s ease-in-out infinite alternate}.ribbon-two{animation-duration:37s;animation-delay:-12s}.ribbon-three{animation-duration:43s;animation-delay:-22s}.ribbon-four{animation-duration:48s;animation-delay:-9s}.night .ribbon{animation-name:ribbon-drift-night}@keyframes ribbon-drift{0%{transform:rotate(-21deg) translate3d(-12px,-10px,0)}to{transform:rotate(-18deg) translate3d(16px,16px,0)}}@keyframes ribbon-drift-night{0%{transform:rotate(-29deg) translate3d(0,-12px,0)}to{transform:rotate(-25deg) translate3d(25px,12px,0)}}@keyframes window-arrive{0%{opacity:0}to{opacity:1}}@media(max-width:600px){.managed-window{margin:0!important}.managed-window.maximized{left:3%!important;width:94%!important}.managed-window:not(.focused){visibility:hidden}.managed-window .titlebar{min-height:44px}.traffic button{width:14px;height:14px}.traffic{gap:10px}}@media(prefers-reduced-motion:reduce){.managed-window,.ribbon{animation:none!important;will-change:auto}}.managed-window{background:rgba(8,8,8,.78)!important}.managed-window.focused{background:rgba(8,8,8,.88)!important}.managed-window:not(.focused) .window-body{opacity:.72}.project-art{position:relative;min-height:225px;overflow:hidden;align-items:flex-end;padding:24px!important;background:#101018!important}.project-image{object-fit:cover;transition:transform .6s ease}.project-art:hover .project-image{transform:scale(1.035)}.project-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,#0003 40%,#000d);pointer-events:none}.project-caption{position:relative;z-index:1;text-shadow:0 2px 12px #0008}.project-caption small{color:#e8e8ed;letter-spacing:1.6px}.project-caption h2{margin-bottom:0}.artwork-credit a{color:#a9bddb}.artwork-credit a:hover{text-decoration:underline}@media(max-width:600px){.project-art{min-height:190px;padding:18px!important}}:root{--motion-spring:cubic-bezier(.16,1,.3,1);--motion-quick:cubic-bezier(.2,.8,.2,1)}a,button{transition:background-color .16s var(--motion-quick),color .16s var(--motion-quick),box-shadow .2s var(--motion-quick),scale .22s var(--motion-spring),translate .28s var(--motion-spring)}.contact-actions a:active,.primary:active,button:active{scale:.96}.traffic button:active{scale:.85}.dock button{transform-origin:50% 100%;transition:transform .32s var(--motion-spring),filter .2s,scale .25s var(--motion-spring)}.dock button:hover{transform:translateY(-9px) scale(1.13)}.dock button:has(+button:hover),.dock button:hover+button{transform:translateY(-3px) scale(1.05)}.dock button:active{scale:.9}.desktop-icons button:hover .file-icon{translate:0 -4px;scale:1.04}.file-icon{transition:translate .3s var(--motion-spring),scale .3s var(--motion-spring)}.desktop-icons button:active .file-icon{scale:.94}.tooltip{animation:tooltip-in .16s var(--motion-spring)}.primary:hover{translate:0 -1px}.primary span{display:inline-block;transition:translate .25s var(--motion-spring)}.primary:hover span{translate:2px -2px}.project-art,.project-description{animation:content-reveal .28s var(--motion-spring)}.project-tabs button{transition:background .2s,box-shadow .2s,scale .2s var(--motion-spring)}.search-overlay{animation:overlay-in .15s ease-out}.search-box{animation:search-in .3s var(--motion-spring)}.search-box button:hover svg{translate:3px 0}.search-box button svg{transition:translate .22s var(--motion-spring)}.status button:hover svg{scale:1.12}.status svg{transition:scale .25s var(--motion-spring)}.managed-window{animation:none!important}.managed-window .traffic button{transition:scale .16s var(--motion-spring)}@keyframes content-reveal{0%{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes search-in{0%{opacity:0;scale:.96;translate:0 -8px}to{opacity:1;scale:1;translate:0 0}}@keyframes tooltip-in{0%{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}@media(hover:none){.dock button:has(+button:hover),.dock button:hover,.dock button:hover+button{transform:none}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}.dock button:has(+button:hover),.dock button:hover,.dock button:hover+button{transform:none}.desktop-icons button:hover .file-icon,.primary:hover,.primary:hover span{translate:none;scale:1}}.landscape:after{content:"";position:absolute;inset:-30%;pointer-events:none;background:radial-gradient(ellipse at 45% 50%,#ffffff09,transparent 55%);mix-blend-mode:screen;animation:ambient-light 14s ease-in-out infinite alternate;will-change:transform}.ribbon{animation:fluid-ribbon 16s cubic-bezier(.45,0,.55,1) infinite alternate!important;transform-origin:50% 65%;will-change:transform;border-color:#ffffff20;box-shadow:inset 3px 1px 9px #ffffff1f,inset -2px 0 8px #ffffff0b,12px 0 30px #000c}.ribbon-two{animation-duration:19s!important;animation-delay:-7s!important}.ribbon-three{animation-duration:23s!important;animation-delay:-14s!important}.ribbon-four{animation-duration:26s!important;animation-delay:-5s!important}.night .ribbon{animation-name:fluid-ribbon-night!important}@keyframes fluid-ribbon{0%{transform:translate3d(-35px,-25px,0) rotate(-24deg) scaleX(.94)}50%{transform:translate3d(10px,12px,0) rotate(-18deg) scaleX(1.02)}to{transform:translate3d(65px,40px,0) rotate(-11deg) scaleX(1.1)}}@keyframes fluid-ribbon-night{0%{transform:translate3d(-45px,15px,0) rotate(-32deg) scaleX(.96)}50%{transform:translate3d(0,-12px,0) rotate(-25deg) scaleX(1.04)}to{transform:translate3d(55px,-35px,0) rotate(-18deg) scaleX(1.12)}}@keyframes ambient-light{0%{transform:translate3d(-12%,-6%,0) scale(.95);opacity:.35}to{transform:translate3d(18%,12%,0) scale(1.2);opacity:1}}@media(prefers-reduced-motion:reduce){.landscape:after,.night .ribbon,.ribbon{animation:none!important;will-change:auto}}.overview-toggle{gap:7px;display:flex;align-items:center}.overview-toggle span{font-size:11px}.mission-mode .desktop-icons,.mission-mode .desktop-label,.mission-mode .desktop-note{display:none}.mission-heading{position:absolute;top:70px;left:7%;right:7%;display:flex;justify-content:space-between;align-items:center}.mission-heading h2{font-size:28px;margin:9px 0}.mission-heading p{font-size:12px;color:#a9a9b1;margin:0}.mission-add{display:flex;gap:7px;align-items:center;border:1px solid #ffffff35;border-radius:9px;background:#ffffff0b;padding:11px 14px;font-size:12px}.mission-grid{position:absolute;inset:190px 7% 135px;overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 25px;align-content:start;padding:5px;scrollbar-width:thin}.mission-item{min-width:0}.mission-preview{position:relative}.mission-grid .mission-preview{height:190px;border-radius:12px;border:1px solid #ffffff25;background:#0b0b0b80;overflow:hidden;transition:box-shadow .2s,border-color .2s,translate .3s var(--motion-spring)}.mission-grid .mission-preview:hover{border-color:#3399ff;box-shadow:0 0 0 3px #0a84ff44;translate:0 -3px}.mission-grid .managed-window,.mission-grid .managed-window.maximized{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:700px!important;height:470px!important;max-height:none!important;margin:0!important;zoom:.4;border-radius:20px!important;pointer-events:none;visibility:visible!important;overflow:hidden}.mission-grid .maximized .window-body,.mission-grid .window-body{height:399px!important;max-height:399px!important;overflow:hidden!important;opacity:1!important}.mission-grid .window-footer{display:none}.mission-grid .window-body h1{font-size:58px}.mission-grid .intro{padding:30px 40px 0}.mission-grid .intro-bottom{margin:22px 0}.mission-grid .project-art{min-height:180px}.preview-select{position:absolute;inset:0;z-index:50;border-radius:12px;width:100%;height:100%}.preview-select:focus-visible{outline:3px solid #0a84ff;outline-offset:-3px}.mission-caption{display:flex;align-items:center;gap:8px;padding:11px 3px;color:#e2e2e7;font-size:12px}.mission-caption>svg{width:16px;height:16px;color:#8fc5ff}.mission-caption button:last-child{margin-left:auto;padding:4px;color:#aaa}.mission-caption button:last-child:hover{color:#ff5f57}.mission-empty{grid-column:1/-1;text-align:center;padding:35px;color:#ccc}.parked{display:none}.focused-stage .managed-window{left:50%!important;top:48%!important;transform:translate(-50%,-50%)!important;margin:0!important;width:min(760px,88vw)!important}.focused-stage .managed-window.maximized{left:16px!important;top:50px!important;transform:none!important;width:calc(100% - 32px)!important}.managed-window .titlebar,.managed-window .titlebar:active{cursor:default;touch-action:auto}.dock-icon.mission{background:linear-gradient(#5e6572,#252a34)!important;color:#fff!important}.mission-mode .dock{scale:.94;transform-origin:0 100%}.mission-grid{animation:content-reveal .3s var(--motion-spring)}@media(min-width:1200px){.mission-grid .managed-window,.mission-grid .managed-window.maximized{zoom:.48}.mission-grid .mission-preview{height:230px}}@media(max-width:900px){.mission-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.mission-heading{top:65px}.mission-grid{top:170px}.mission-grid .mission-preview{height:190px}}@media(max-width:600px){.overview-toggle span{display:none}.mission-heading{top:62px;left:5%;right:5%;gap:15px}.mission-heading h2{font-size:23px}.mission-heading p{font-size:10px;max-width:200px}.mission-add{font-size:10px;padding:9px;white-space:nowrap}.mission-grid{inset:165px 4% 115px;gap:15px 10px}.mission-grid .managed-window,.mission-grid .managed-window.maximized{zoom:.23;visibility:visible!important;width:700px!important}.mission-grid .mission-preview{height:110px}.mission-caption{font-size:10px;gap:4px}.mission-caption>svg{width:13px}.dock-apps{gap:5px;padding:8px 8px 4px}.dock-icon{width:36px;height:36px}.dock-icon svg{width:24px;height:24px}.dock-divider{height:30px}.focused-stage .managed-window{width:92vw!important}.mission-grid .managed-window:not(.focused){visibility:visible!important}.bottom-hint{font-size:7px}}.focused-stage .mission-preview{position:static}.mission-grid .mission-preview{display:flex;justify-content:center}.mission-grid .managed-window{flex-shrink:0}.mission-grid .window{visibility:visible!important}@media(min-width:700px) and (max-width:1199px){.mission-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 18px}.mission-grid .managed-window,.mission-grid .managed-window.maximized{zoom:.3}.mission-grid .mission-preview{height:145px}}.stage-mode .desktop-icons,.stage-mode .desktop-note{display:none}.stage-mode .desktop-label{left:220px;top:65px}.stage-new{position:absolute;right:30px;top:60px;z-index:55;display:flex;align-items:center;gap:6px;color:#bdbdc6;font-size:11px;padding:8px 12px;border-radius:8px;border:1px solid #ffffff25;background:#ffffff06}.stage-workspace{position:absolute;inset:90px 0 120px;pointer-events:none;perspective:1500px}.stage-item{position:absolute;width:min(740px,calc(100vw - 250px));pointer-events:auto;transform-origin:0 0;transition:left .52s cubic-bezier(.22,1,.36,1),top .52s cubic-bezier(.22,1,.36,1),transform .52s cubic-bezier(.22,1,.36,1),opacity .3s;will-change:transform}.stage-item .mission-preview{position:relative}.stage-item .managed-window,.stage-item .managed-window.maximized{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:100%!important;height:auto!important;margin:0!important;max-height:calc(100dvh - 220px)!important;visibility:visible!important}.stage-item .maximized .window-body,.stage-item .window-body{height:auto!important;max-height:calc(100dvh - 295px)!important;overflow:auto}.stage-active{left:calc(50% + 85px);top:50%;transform:translate(-50%,-50%);z-index:40}.stage-active .managed-window{background:#080808d9!important}.stage-recent{left:20px;top:calc(var(--slot) * (100% / var(--count)));transform:scale(.19) rotateY(8deg);z-index:15}.stage-recent:hover{transform:scale(.205) rotateY(0deg)}.stage-recent .managed-window{height:470px!important;max-height:none!important;background:#171717e8!important;border-color:#ffffff60!important}.stage-recent .window-body{height:399px!important;max-height:399px!important;overflow:hidden!important;opacity:1!important}.stage-recent .window-footer{display:none}.stage-recent .preview-select{inset:0;cursor:pointer}.stage-recent .mission-caption{position:absolute;top:100%;left:0;width:100%;font-size:42px;gap:18px;padding:18px 0;color:#ddd;white-space:nowrap}.stage-recent .mission-caption>svg{width:50px;height:50px}.stage-recent .mission-caption button:last-child{display:none}.stage-recent .mission-caption button{font-size:inherit}.rail-hidden .stage-recent{opacity:0;pointer-events:none;transform:translateX(-200px) scale(.16)}.rail-hidden .stage-active{left:50%}.stage-workspace .mission-empty{pointer-events:auto;position:absolute;inset:20% 20%;text-align:center}.stage-mode .dock{z-index:60}.stage-active .managed-window .titlebar{cursor:default}.stage-active:has(.maximized){width:calc(100vw - 220px)}@media(min-width:1400px){.stage-recent{transform:scale(.22) rotateY(8deg)}.stage-recent:hover{transform:scale(.235) rotateY(0)}}@media(max-width:900px) and (min-width:601px){.stage-item{width:calc(100vw - 190px)}.stage-active{left:calc(50% + 65px)}.stage-recent{left:12px;transform:scale(.17) rotateY(8deg)}.stage-recent:hover{transform:scale(.18)}.stage-mode .desktop-label{left:170px;font-size:7px}.stage-new{right:20px}.stage-active .intro{padding:30px 26px 0}.stage-active h1{font-size:43px}.stage-active:has(.maximized){width:calc(100vw - 165px)}}@media(max-width:600px){.stage-mode .desktop-label{display:none}.stage-new{top:47px;right:15px;font-size:10px;padding:5px 8px}.stage-workspace{inset:85px 0 110px}.stage-item{width:92vw}.stage-active{left:50%;top:56%;transform:translate(-50%,-50%)}.stage-recent{top:0;left:calc(12px + var(--slot) * 24vw);transform:scale(.22)}.stage-recent:hover{transform:scale(.23)}.stage-recent .managed-window{height:240px!important;overflow:hidden}.stage-recent .mission-caption{font-size:34px;padding-top:10px;gap:10px}.stage-recent .mission-caption>svg{width:35px;height:35px}.stage-recent .window-body{height:195px!important}.stage-active .managed-window,.stage-active .managed-window.maximized{max-height:calc(100dvh - 280px)!important}.stage-active .window-body{max-height:calc(100dvh - 353px)!important}.stage-active:has(.maximized){width:94vw}.rail-hidden .stage-active{top:48%}.stage-recent:nth-child(n+6){display:none}.stage-mode .status{gap:10px}}@media(prefers-reduced-motion:reduce){.stage-item{transition:none!important;will-change:auto}}.skill-row .tags{gap:8px}.tool-chip{display:inline-flex;align-items:center;gap:9px;min-height:39px;padding:8px 12px!important;font-size:11px!important}.tool-logo{width:22px;height:22px;display:inline-block;flex-shrink:0;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}.tool-symbol{flex-shrink:0;color:#9baec5}.skill-row{padding:9px 0}.skill-row h3{margin-bottom:11px}.stage-recent .tool-chip{min-height:36px}.desktop.light{color-scheme:light;--label:#18181b;--secondary-label:#53535b;--accent:#007aff;color:var(--label);background:#f4f4f7}.light .landscape{background:radial-gradient(ellipse at 25% 65%,#fff,#e4e5e9 75%)}.light .ribbon{background:linear-gradient(100deg,#e4e5e9 2%,#fafafa 52%,#d5d7dd 90%);border-color:#ffffffb3;box-shadow:inset 3px 1px 9px #ffffffdb,inset -2px 0 8px #0000000c,12px 0 30px #00000013}.light .ribbon-one{background:linear-gradient(100deg,#d5d7dd,#fafafa 75%,#e0e1e6)}.light .ribbon-four{background:linear-gradient(100deg,#dddfe5,#f9f9fb 75%,#e2e4e9)}.light .landscape:after{mix-blend-mode:normal;background:radial-gradient(ellipse at 45% 50%,#ffffff99,transparent 55%)}.light .menubar{background:#ffffff38;color:#222;border-color:#00000012}.light .managed-window.focused,.light .stage-active .managed-window{background:#ffffffbd!important;box-shadow:inset 0 1px 0 #fff,0 20px 60px #20203022!important;border-color:#ffffffdb!important}.light .stage-recent .managed-window{background:#f7f7fbdc!important;border-color:#ffffffb0!important;box-shadow:0 10px 30px #0002!important}.light .window-body{color:#25252a}.light .titlebar,.light .window-footer{color:#5a5a64;background:#ffffff10;border-color:#00000012}.light .intro-footer,.light .timeline p{border-color:#00000018}.light .intro-footer span{color:#5a5a64}.light .avatar{background:#00000008;color:#222;border-color:#00000015}.light .avatar span,.light .contact-star,.light h1>span{color:#222}.light .stage-new{color:#45454c;background:#ffffff60;border-color:#00000020}.light .bottom-hint,.light .desktop-note,.light .mission-caption{color:#40404a;text-shadow:none}.light .mission-caption>svg{color:#007aff}.light .mission-caption button:last-child{color:#555}.light .dock{background:#ffffff25!important;border-color:#ffffffd0;box-shadow:inset 0 1px 0 #fff,0 12px 35px #0002!important}.light .dock-divider{background:#0002}.light .running i{background:#3b3b44}.light .tooltip{background:#ffffffed;color:#222;border-color:#0002}.light .contact-actions>*,.light .project-tabs button,.light .tags a,.light .tags span{color:#33333b;background:#ffffff40;border-color:#00000016;box-shadow:inset 0 1px 0 #fff7}.light .project-tabs .selected{background:#007aff;color:#fff;border-color:#007aff}.light .project-caption h2,.light .project-caption small{color:#fff}.light .project-art{border-color:#0002}.light .artwork-credit a,.light .email{color:#0064d3}.light .email{border-color:#007aff66}.light .search-overlay{background:#8c91996b}.light .search-box{background:#fafafaed!important;border-color:#ffffffbb!important;box-shadow:0 20px 70px #0002!important}.light .search-box button,.light .search-box input{color:#222}.light .search-box button{border-color:#00000012}.light .search-box button:hover{background:#007aff18}.light .search-box small{color:#666}.light .tool-symbol{color:#536c87}.light .contact-actions>:hover,.light .tags a:hover{background:#00000008}@media(prefers-reduced-transparency:reduce){.light .managed-window,.light .search-box,.light .stage-active .managed-window,.light .stage-recent .managed-window{background:#f7f7fa!important}.light .dock{background:#eaeaf0!important}}.skill-row .tags{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.tool-chip{padding:8px 6px!important;gap:6px;font-size:10px!important;white-space:nowrap}.tool-logo,.tool-symbol{width:18px;height:18px}.skill-row h3{margin:6px 0 10px}@media(max-width:700px){.skill-row .tags{grid-template-columns:repeat(3,minmax(0,1fr))}.tool-chip{padding:8px!important}}.dock .dock-icon.native-icon{background:none!important;border:0!important;border-radius:0;box-shadow:none!important;overflow:visible;width:58px;height:58px;filter:none!important}.dock .dock-icon.native-icon:after{display:none}.dock .native-icon img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 3px #0003)}.dock .dock-apps{gap:8px;padding:8px 10px 5px}.dock .dock-divider{margin:0 3px}@media(max-width:600px){.dock .dock-icon.native-icon{width:39px;height:39px}.dock .dock-apps{gap:4px;padding:7px 8px 4px}.dock .dock-divider{margin:0 1px}}.dock .dock-icon.native-icon{padding:0!important}.dock .dock-icon.theme-icon{width:48px;height:48px;margin:5px;background:linear-gradient(145deg,#ffcf69,#f09b32);border-radius:12px;color:white;border:1px solid #ffffff65;box-shadow:inset 0 1px 1px #ffffff90,0 3px 5px #0003}.dock .theme-icon svg{width:29px;height:29px}.light .dock .dock-icon.theme-icon{background:linear-gradient(145deg,#6276b8,#303f79);color:#f3f4ff}@media(max-width:600px){.dock .dock-icon.theme-icon{width:33px;height:33px;margin:3px;border-radius:9px}.dock .theme-icon svg{width:23px;height:23px}}.stage-workspace{--panel-width:min(740px,calc(100vw - 250px));--panel-height:min(530px,calc(100dvh - 230px));--center-offset:85px;--preview-scale:.19;--preview-x:20px}.stage-workspace .stage-item{left:0!important;top:0!important;width:var(--panel-width)!important;transition:transform .56s cubic-bezier(.22,.8,.22,1),opacity .22s ease;backface-visibility:hidden;transform-style:flat}.stage-workspace .stage-active{transform:translate3d(calc(50vw + var(--center-offset) - var(--panel-width)/2),calc((100dvh - 210px - var(--panel-height))/2),0) scale(1);z-index:40}.stage-workspace .stage-recent{transform:translate3d(var(--preview-x),calc(var(--slot) * ((100dvh - 210px) / var(--count))),0) scale(var(--preview-scale));z-index:15}.stage-workspace .stage-recent:hover{transform:translate3d(calc(var(--preview-x) + 4px),calc(var(--slot) * ((100dvh - 210px) / var(--count))),0) scale(calc(var(--preview-scale) + .008))}.stage-workspace .stage-item .managed-window,.stage-workspace .stage-item .managed-window.maximized{height:var(--panel-height)!important;max-height:none!important;transition:background-color .35s ease,border-color .25s ease,box-shadow .35s ease!important}.stage-workspace .stage-item .maximized .window-body,.stage-workspace .stage-item .window-body{height:calc(var(--panel-height) - 72px)!important;max-height:none!important;overflow:auto!important}.stage-workspace .stage-recent .window-body{overflow:hidden!important}.stage-workspace .stage-recent .window-footer{display:flex}.stage-workspace .stage-recent .mission-caption{opacity:.85;transition:opacity .2s}.stage-workspace .stage-recent:hover .mission-caption{opacity:1}.rail-hidden .stage-workspace .stage-recent{transform:translate3d(-220px,calc(var(--slot) * ((100dvh - 210px) / var(--count))),0) scale(var(--preview-scale));opacity:0}.rail-hidden .stage-workspace{--center-offset:0px}.brand{letter-spacing:-1px;padding-right:4px}.ribbon{animation:fluid-orbit 28s linear infinite!important}.ribbon-two{animation-duration:34s!important;animation-delay:-9s!important}.ribbon-three{animation-duration:39s!important;animation-delay:-21s!important}.ribbon-four{animation-duration:43s!important;animation-delay:-15s!important}@keyframes fluid-orbit{0%,to{transform:translate3d(-20px,-12px,0) rotate(-23deg) scaleX(.98);animation-timing-function:cubic-bezier(.45,0,.55,1)}25%{transform:translate3d(25px,-5px,0) rotate(-18deg) scaleX(1.03);animation-timing-function:cubic-bezier(.45,0,.55,1)}50%{transform:translate3d(55px,26px,0) rotate(-14deg) scaleX(1.07);animation-timing-function:cubic-bezier(.45,0,.55,1)}75%{transform:translate3d(10px,36px,0) rotate(-19deg) scaleX(1.02);animation-timing-function:cubic-bezier(.45,0,.55,1)}}@media(min-width:1400px){.stage-workspace{--preview-scale:.22}}@media(max-width:900px) and (min-width:601px){.stage-workspace{--panel-width:calc(100vw - 190px);--center-offset:65px;--preview-scale:.17;--preview-x:12px}}@media(max-width:600px){.stage-workspace{--panel-width:92vw;--panel-height:min(500px,calc(100dvh - 300px));--center-offset:0px;--preview-scale:.22}.stage-workspace .stage-active{transform:translate3d(4vw,90px,0) scale(1)}.stage-workspace .stage-recent{transform:translate3d(calc(12px + var(--slot) * 24vw),0,0) scale(.22)}.stage-workspace .stage-recent:hover{transform:translate3d(calc(12px + var(--slot) * 24vw),-2px,0) scale(.225)}.rail-hidden .stage-workspace .stage-active{transform:translate3d(4vw,10px,0) scale(1)}}@media(prefers-reduced-motion:reduce){.stage-workspace .managed-window,.stage-workspace .stage-item{transition:none!important}.ribbon{animation:none!important}}.resume-download{display:flex;align-items:center;gap:13px;margin-top:23px;padding:14px 16px;border:1px solid #ffffff1f;border-radius:11px;background:linear-gradient(135deg,#ffffff08,#ffffff02);box-shadow:inset 0 1px 0 #ffffff09;transition:background .2s,border-color .2s,box-shadow .2s;outline-offset:4px}.resume-file-icon{display:grid;place-items:center;width:38px;height:43px;flex-shrink:0;border:1px solid #ffffff1f;border-radius:7px;background:#ffffff08;color:#d5d8e0}.resume-file-copy{display:grid;gap:5px;min-width:0}.resume-file-copy strong{font-size:12px;letter-spacing:.1px;font-weight:550;color:var(--label)}.resume-file-copy>span{font-size:10px;color:var(--secondary-label)}.resume-download-action{display:flex;align-items:center;gap:7px;margin-left:auto;color:#9fc9ff;font-size:11px;padding-left:12px}.resume-download:hover{background:#ffffff0b;border-color:#ffffff38;box-shadow:inset 0 1px 0 #ffffff12,0 3px 12px #0001}.resume-download:hover .resume-download-action{color:#cee4ff}.resume-download:active{background:#ffffff05}.light .resume-download{background:linear-gradient(135deg,#ffffff60,#ffffff20);border-color:#00000013;box-shadow:inset 0 1px 0 #fff9}.light .resume-file-icon{background:#ffffff80;border-color:#00000014;color:#69798b}.light .resume-download-action{color:#0069db}.light .resume-download:hover{background:#ffffffb0;border-color:#00000025}.light .resume-download:hover .resume-download-action{color:#004da6}@media(max-width:600px){.resume-download{padding:12px;gap:10px}.resume-file-copy>span{font-size:9px}.resume-download-action>span{display:none}}.desktop{--action-bg:linear-gradient(135deg,#ffffff08,#ffffff02);--action-hover:#ffffff0c;--action-pressed:#ffffff05;--action-border:#ffffff1f;--action-border-hover:#ffffff38;--action-rim:#ffffff09;--action-text:#e1e1e7;--action-accent:#9fc9ff;--selection-bg:#ffffff11}.desktop.light{--action-bg:linear-gradient(135deg,#ffffff60,#ffffff20);--action-hover:#ffffffb0;--action-pressed:#00000005;--action-border:#00000013;--action-border-hover:#00000025;--action-rim:#ffffff99;--action-text:#34343b;--action-accent:#0069db;--selection-bg:#ffffffd9}.desktop .contact-actions>*,.desktop .primary,.desktop .tags>a{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--action-bg);border:1px solid var(--action-border);border-radius:9px;color:var(--action-text);box-shadow:inset 0 1px 0 var(--action-rim);font-size:11px;font-weight:500;line-height:1.3;padding:12px 15px;transition:background .18s,border-color .18s,box-shadow .18s,scale .22s var(--motion-spring)}.desktop .contact-actions>:hover,.desktop .primary:hover,.desktop .tags>a:hover{background:var(--action-hover);border-color:var(--action-border-hover);box-shadow:inset 0 1px 0 var(--action-rim),0 3px 12px #0000000a;translate:none}.desktop .contact-actions>:active,.desktop .primary:active,.desktop .tags>a:active{background:var(--action-pressed);scale:.98}.desktop .contact-actions svg,.desktop .primary svg{color:var(--action-accent);flex-shrink:0}.desktop .primary:hover svg{translate:1px -1px}.desktop .primary svg{transition:translate .22s var(--motion-spring)}.desktop .project-tabs{padding:4px;border:1px solid var(--action-border);border-radius:11px;background:#0000000a;gap:4px}.desktop .project-tabs button{background:transparent;border:1px solid transparent;border-radius:7px;box-shadow:none;color:var(--secondary-label);padding:10px 6px;font-weight:500;line-height:1.3}.desktop .project-tabs button:hover{background:var(--action-hover);color:var(--label)}.desktop .project-tabs .selected{background:var(--selection-bg);color:var(--label);border-color:var(--action-border);box-shadow:inset 0 1px 0 var(--action-rim),0 1px 3px #0001}.desktop .project-tabs button:active{scale:.98}.desktop .contact-actions{gap:9px}.desktop .contact-actions>*{min-height:37px;padding:10px 13px}.desktop .tags>a{padding:8px 10px;font-size:10px}.desktop .menubar>button:not(.brand),.desktop .status>button{border-radius:6px;transition:background .15s,scale .2s var(--motion-spring)}.desktop .menubar>button:not(.brand){padding:5px 8px;margin:0 -8px}.desktop .status>button{padding:5px;margin:-5px}.desktop .menubar>button:not(.brand):hover,.desktop .status>button:hover{background:var(--action-hover)}.desktop .search-box button{border-radius:8px;margin:3px 0;border:1px solid transparent;color:var(--action-text)}.desktop .search-box button:hover{background:var(--action-hover);border-color:var(--action-border)}.desktop .search-box button>span:last-child{color:var(--secondary-label)}.desktop .dock .dock-icon.theme-icon,.desktop.light .dock .dock-icon.theme-icon{background:var(--action-bg)!important;color:var(--action-text)!important;border-color:var(--action-border);box-shadow:inset 0 1px 0 var(--action-rim),0 2px 5px #0002}.desktop .dock .theme-icon:after{display:none}.desktop .dock .theme-icon svg{filter:none}.desktop .dock button:hover .theme-icon{background:var(--action-hover)!important}.desktop .mission-caption button:not(:last-child):hover{color:var(--action-accent)}@media(max-width:600px){.desktop .contact-actions>*{padding:9px 11px;gap:6px;font-size:10px}.desktop .primary{padding:11px 13px}.desktop .project-tabs button{font-size:9px}}@media(prefers-reduced-motion:reduce){.desktop .contact-actions>*,.desktop .primary,.desktop .primary svg,.desktop .tags>a{transition:none}.desktop .primary:hover svg{translate:none}}.desktop.light{background:#d8dbe2}.light .landscape{background:radial-gradient(ellipse at 25% 65%,#e7e9ee 0,#d2d6df 75%)}.light .ribbon{background:linear-gradient(100deg,#c6cbd5 2%,#e5e8ed 52%,#bfc6d2 90%);border-color:#ffffff75;box-shadow:inset 3px 1px 9px #ffffff80,inset -2px 0 8px #29334912,12px 0 30px #26334c1a}.light .ribbon-one{background:linear-gradient(100deg,#c3c9d3,#e2e5eb 75%,#ccd2dd)}.light .ribbon-four{background:linear-gradient(100deg,#c9cfda,#e1e5ed 75%,#c6ccd7)}.light .landscape:after{background:radial-gradient(ellipse at 45% 50%,#ffffff40,transparent 55%)}.light .managed-window.focused,.light .stage-active .managed-window{background:rgba(250,249,247,.96)!important;border:1px solid #ffffffed!important;box-shadow:0 0 0 1px #37415122,inset 0 1px 0 #fff,0 20px 55px #2733482b,0 3px 10px #27334814!important}.light .stage-recent .managed-window{background:rgba(246,245,243,.95)!important;border-color:#ffffffd9!important;box-shadow:0 0 0 1px #37415120,0 8px 24px #27334826!important}.light .titlebar{background:linear-gradient(#f3f2f0a6,#eae9e6a6);border-bottom-color:#30364217;color:#575861}.light .window-footer{background:#efeeebc4;border-top-color:#30364212;color:#686973}.light .menubar{background:#f7f7f8a6;border-bottom-color:#3741511a;box-shadow:0 1px 3px #26334c08}.light .dock{background:#f3f3f45c!important;border-color:#ffffffc9;box-shadow:0 0 0 1px #37415118,inset 0 1px 0 #fff,0 12px 30px #27334824!important}.light .mission-caption{color:#333843}.light .bottom-hint,.light .desktop-label{color:#505867}.light .search-box{background:#faf9f7fa!important;border-color:#ffffffed!important;box-shadow:0 0 0 1px #37415122,0 20px 65px #27334840!important}@media(prefers-reduced-transparency:reduce){.light .managed-window.focused,.light .stage-active .managed-window,.light .stage-recent .managed-window{background:#faf9f7!important}}.desktop-label .tagline-icon{color:var(--secondary-label);flex-shrink:0;opacity:.8}.work-showcase{padding:24px 30px 20px}.showcase-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.showcase-heading>span{font-size:9px;color:var(--secondary-label);letter-spacing:1px}.desktop .showcase-tabs{margin:16px 0 21px}.desktop .showcase-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;padding:9px 5px}.showcase-tabs small{font-size:8px;opacity:.5}.case-heading h2{font-size:32px;margin:9px 0 8px;line-height:1.05}.case-heading>p{font-size:11px;margin:0 0 17px;color:var(--label)}.case-heading>p>span{color:var(--secondary-label);font-size:10px}.gallery-image{position:relative;height:210px;overflow:hidden;border:1px solid var(--action-border);border-radius:10px;background:#10131b}.gallery-image>img{object-fit:cover;animation:content-reveal .28s var(--motion-spring)}.placeholder-label{position:absolute;top:10px;right:10px;font-size:6px;letter-spacing:1px;color:#c4c9d2;border:1px solid #ffffff20;border-radius:4px;padding:5px 7px;background:#10131b99}.gallery-controls{position:absolute;bottom:11px;right:11px;display:flex;align-items:center;gap:10px;padding:4px;border:1px solid #ffffff20;border-radius:7px;background:#10131bda;color:#d7dce4}.gallery-controls button{display:grid;place-items:center;width:25px;height:25px;border-radius:4px}.gallery-controls button:hover{background:#ffffff15}.gallery-controls span{font-size:9px;min-width:28px;text-align:center}.gallery-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}.gallery-thumbnails button{display:flex;align-items:center;gap:7px;min-width:0;padding:5px;border:1px solid var(--action-border);border-radius:6px;background:var(--action-bg);text-align:left;color:var(--secondary-label)}.gallery-thumbnails img{width:45px;height:29px;object-fit:cover;border-radius:3px;flex-shrink:0}.gallery-thumbnails span{font-size:8px;line-height:1.4}.gallery-thumbnails button.chosen{border-color:var(--action-accent);background:var(--selection-bg);color:var(--label)}.gallery-thumbnails button:hover{background:var(--action-hover)}.case-summary{font-size:12px;line-height:1.65;color:var(--secondary-label);margin:16px 0 12px}.case-highlight{padding:11px 12px;border-left:2px solid var(--action-accent);background:var(--action-bg);border-radius:0 6px 6px 0;font-size:11px;color:var(--label);line-height:1.5}.case-stack{margin:13px 0}.case-stack>span{font-size:9px;padding:6px 8px}.case-disclosure{width:100%;display:flex;align-items:center;gap:10px;padding:14px 0;border-top:1px solid var(--action-border);font-size:11px;color:var(--label);text-align:left}.case-disclosure>span:nth-child(2){margin-left:auto;font-size:8px;color:var(--secondary-label)}.case-disclosure svg{transition:rotate .25s var(--motion-spring);flex-shrink:0}.case-contributions{padding-left:16px;margin:0 0 18px;color:var(--secondary-label);font-size:11px;line-height:1.7;animation:content-reveal .25s var(--motion-spring)}.case-contributions li{margin-bottom:9px;padding-left:3px}.case-note{font-size:8px;line-height:1.6;color:var(--secondary-label);opacity:.7;margin:6px 0}.resume .timeline p{display:grid;gap:4px}.resume .timeline{margin-bottom:17px}.resume .timeline p{font-size:12px;margin:0 0 12px;padding-bottom:11px}.resume .timeline span{font-size:10px}.resume-download{margin-top:16px}.stage-recent .gallery-image{height:180px}.stage-recent .work-showcase{padding-top:20px}@media(max-width:600px){.work-showcase{padding:20px}.case-heading h2{font-size:27px}.case-heading>p>span{display:block;margin-top:5px}.gallery-image{height:180px}.gallery-thumbnails button{display:grid;gap:4px}.gallery-thumbnails img{width:100%;height:36px}.gallery-thumbnails span{font-size:8px}.case-disclosure>span:nth-child(2){display:none}.desktop .showcase-tabs button{gap:5px;font-size:9px}.case-summary{font-size:11px}.showcase-heading .eyebrow{font-size:6px}}.work-showcase{padding:20px 27px}.desktop .showcase-tabs{margin:12px 0 16px}.case-heading h2{font-size:28px;margin:7px 0}.case-heading>p{margin-bottom:12px}.gallery-image{height:155px}.case-summary{font-size:11px;margin:12px 0 10px}.gallery-thumbnails img{height:25px}.gallery-thumbnails button{padding:4px}.case-heading .eyebrow{font-size:7px}@media(max-width:600px){.work-showcase{padding:18px}.gallery-image{height:145px}.case-heading h2{font-size:25px}.gallery-thumbnails img{height:30px}}.case-highlight strong{display:block;font-size:11px;font-weight:550;line-height:1.65}.case-scale{display:block;margin-top:6px;font-size:10px;color:var(--secondary-label)}.case-integrations{border-top:1px solid var(--action-border);padding:12px 0 2px}.case-integrations>span{font-size:8px;text-transform:uppercase;letter-spacing:1.2px;color:var(--secondary-label)}.case-integrations>p{margin:6px 0 10px;font-size:10px;line-height:1.8;color:var(--label)}.case-details{animation:content-reveal .25s var(--motion-spring)}.case-details section{margin:4px 0 16px}.case-details h3{font-size:11px;font-weight:550;margin:0 0 6px}.case-details section p{font-size:11px;line-height:1.8;color:var(--secondary-label);margin:0}.case-disclosure>span:nth-child(2){max-width:42%;text-align:right;line-height:1.5}.case-technologies{margin:19px 0 15px}.case-technologies h3{font-size:11px;font-weight:550;margin:0 0 13px;color:var(--label)}.case-technologies dl{margin:0}.technology-group{display:grid;grid-template-columns:117px minmax(0,1fr);gap:12px;align-items:start;padding:8px 0;border-bottom:1px solid var(--action-border)}.technology-group:last-child{border-bottom:0}.technology-group dt{font-size:10px;color:var(--secondary-label);line-height:1.6;padding-top:4px}.technology-group dd{margin:0;gap:5px}.technology-group dd>span{font-size:9px;padding:5px 8px;line-height:1.5;background:var(--action-bg);border-color:var(--action-border);color:var(--label)}@media(max-width:600px){.technology-group{grid-template-columns:95px minmax(0,1fr);gap:8px}.technology-group dt{font-size:9px}.technology-group dd>span{font-size:8px;padding:5px 7px}}@media(min-width:901px){.stage-workspace{--panel-width:min(clamp(740px,64vw,2600px),calc(100vw - 250px));--panel-height:min(78dvh,calc(100dvh - 230px));--center-offset:calc(85px * var(--ui-scale,1))}.stage-workspace .stage-item .titlebar,.stage-workspace .stage-item .window-footer{zoom:var(--ui-scale,1)}.stage-workspace .stage-item .window-body{zoom:var(--ui-scale,1);height:calc(var(--panel-height) / var(--ui-scale,1) - 72px)!important}.stage-mode .desktop-label{left:calc(220px * var(--ui-scale,1));font-size:calc(9px * var(--ui-scale,1))}.stage-workspace .stage-active:has(.maximized){--panel-width:min(82vw,calc(100vw - 220px))}}.resume-panel{padding:25px 28px 28px}.resume-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--action-border)}.resume-heading h2{font-size:27px;margin:9px 0 8px;line-height:1.15}.resume-heading p{font-size:10px;line-height:1.6;color:var(--secondary-label);margin:0}.resume-top-download{display:flex;align-items:center;gap:9px;flex-shrink:0;padding:11px 12px;border:1px solid var(--action-border);border-radius:9px;background:var(--action-bg);box-shadow:inset 0 1px 0 var(--action-rim);font-size:10px;color:var(--action-text);transition:background .2s,border-color .2s}.resume-top-download:hover{background:var(--action-hover);border-color:var(--action-border-hover)}.resume-top-download svg{color:var(--action-accent)}.resume-top-download small{font-size:7px;letter-spacing:.6px;color:var(--secondary-label);border-left:1px solid var(--action-border);padding-left:8px}.resume-layout{display:grid;grid-template-columns:minmax(0,1fr) 185px;gap:26px;margin-top:21px}.career-section>h3{font-size:9px;text-transform:uppercase;letter-spacing:1.1px;color:var(--secondary-label);font-weight:500;margin:0 0 19px}.career-employer{padding-bottom:19px;margin-bottom:19px;border-bottom:1px solid var(--action-border)}.career-employer:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.employer-heading{display:flex;align-items:center;gap:10px;justify-content:space-between}.employer-heading h4{font-size:13px;font-weight:600;margin:0;color:var(--label)}.employer-heading>span{padding:4px 6px;border-radius:5px;background:var(--action-bg);border:1px solid var(--action-border);white-space:nowrap}.employer-heading>span,.employer-meta{font-size:8px;color:var(--secondary-label)}.employer-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:8px 0 15px}.career-roles{border-left:1px solid var(--action-border);padding-left:13px}.career-role{position:relative;margin:0 0 14px}.career-role:last-child{margin-bottom:0}.career-role:before{content:"";position:absolute;left:-16px;top:5px;width:5px;height:5px;border-radius:50%;background:var(--secondary-label)}.career-role-heading{display:grid;gap:4px}.career-role-heading strong{font-size:10px;font-weight:550;color:var(--label)}.career-role-heading time{font-size:8px;color:var(--secondary-label)}.career-role>p{font-size:10px;color:var(--secondary-label);line-height:1.7;margin:7px 0 0}.resume-sidebar{display:flex;flex-direction:column;gap:15px}.education-card,.resume-profile-card{border:1px solid var(--action-border);background:var(--action-bg);border-radius:10px;padding:15px}.education-card>svg,.resume-profile-card>svg{color:var(--action-accent);margin-bottom:11px}.education-card h3{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--secondary-label);margin:0 0 14px;font-weight:500}.education-card>strong{font-size:11px;line-height:1.5;display:block}.education-card>p{font-size:10px;line-height:1.6;color:var(--secondary-label);margin:7px 0}.education-card>span{display:block;font-size:9px;color:var(--secondary-label);margin-top:6px}.education-card>.education-honor{color:var(--action-accent);padding-top:8px}.education-card>small{display:block;font-size:8px;color:var(--secondary-label);margin-top:14px}.resume-profile-card>strong{font-size:10px;display:block;line-height:1.5}.resume-profile-card>p{font-size:10px;line-height:1.7;color:var(--secondary-label);margin:8px 0 0}.resume-document-note{display:flex;gap:8px;padding:0 3px;color:var(--secondary-label)}.resume-document-note svg{flex-shrink:0;margin-top:2px}.resume-document-note p{font-size:9px;line-height:1.6;margin:0}@media(max-width:1100px){.resume-heading{align-items:flex-start;flex-direction:column;gap:14px}.resume-layout{grid-template-columns:minmax(0,1fr) 160px;gap:18px}.resume-heading h2{font-size:25px}}@media(max-width:700px){.resume-panel{padding:20px}.resume-layout{grid-template-columns:1fr}.resume-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:10px}.resume-document-note{grid-column:1/-1}.employer-meta{font-size:9px}.career-role-heading strong,.career-role>p{font-size:11px}.education-card,.resume-profile-card{padding:13px}.resume-top-download{font-size:11px}.resume-heading h2{font-size:25px}}.gallery-image .gallery-open{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:inherit;overflow:hidden;background:transparent;cursor:zoom-in}.gallery-open>img{object-fit:cover}.product-gallery .gallery-image{height:auto;aspect-ratio:2.28;background:#f4f6f9;border:1px solid var(--action-border)}.gallery-expand{position:absolute;bottom:9px;right:9px;display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid #ffffff45;border-radius:7px;background:#141820d9;color:#fff;font-size:9px;box-shadow:0 2px 8px #0002}.gallery-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0 9px}.gallery-caption strong{font-size:11px;font-weight:550;color:var(--label)}.gallery-caption p{font-size:10px;line-height:1.6;color:var(--secondary-label);margin:4px 0 0;max-width:490px}.gallery-paging{display:flex;align-items:center;gap:7px;flex-shrink:0}.gallery-paging button{width:27px;height:27px;border:1px solid var(--action-border);background:var(--action-bg);border-radius:7px;color:var(--label);display:grid;place-items:center;cursor:pointer}.gallery-paging span{font-size:9px;color:var(--secondary-label);min-width:30px;text-align:center}.product-gallery .gallery-thumbnails{display:flex;gap:7px;overflow-x:auto;padding:3px 1px 9px;scrollbar-width:thin;scroll-snap-type:x proximity}.product-gallery .gallery-thumbnails button{flex:0 0 101px;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:5px;border-radius:8px;scroll-snap-align:start}.product-gallery .gallery-thumbnails img{width:100%;height:43px;object-fit:contain;background:#f4f6f9;border-radius:4px}.product-gallery .gallery-thumbnails span{font-size:8px;white-space:nowrap;text-align:left;padding:2px}.gallery-privacy{font-size:8px;letter-spacing:.7px;color:var(--secondary-label);margin:2px 0 16px}.gallery-privacy span{letter-spacing:0}.product-viewer{position:fixed;inset:0;z-index:100000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px;padding:24px 32px;background:#0b0c10f7;color:#f5f5f7;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;animation:content-reveal .24s ease-out}.product-viewer footer,.product-viewer header{display:flex;justify-content:space-between;align-items:center;gap:20px}.product-viewer header small{text-transform:uppercase;letter-spacing:1.8px;color:#a8abb4;font-size:10px}.product-viewer h2{font-size:21px;font-weight:550;margin:6px 0 0}.product-viewer button{display:grid;place-items:center;width:40px;height:40px;background:#ffffff0d;border:1px solid #ffffff26;border-radius:12px;color:white;cursor:pointer}.product-viewer button:hover{background:#ffffff20}.product-viewer button:focus-visible{outline:2px solid #8abaff;outline-offset:3px}.viewer-image{position:relative;min-height:0}.viewer-image img{object-fit:contain}.product-viewer footer p{font-size:13px;line-height:1.6;margin:0;max-width:760px;color:#e0e2e7}.product-viewer footer small{display:block;font-size:10px;color:#959ba6;margin-top:5px}.product-viewer footer>div{display:flex;align-items:center;gap:15px;white-space:nowrap;font-size:12px}.gallery-open:focus-visible{outline:2px solid var(--action-accent);outline-offset:-3px}@media(max-width:700px){.gallery-caption{flex-direction:column;gap:9px}.gallery-caption p{font-size:11px}.gallery-paging{align-self:flex-end}.product-gallery .gallery-image{aspect-ratio:2.1}.product-viewer{padding:16px 12px;gap:12px}.product-viewer footer{align-items:flex-start;flex-direction:column}.product-viewer footer>div{align-self:center}.product-viewer h2{font-size:18px}.product-viewer footer p{font-size:12px}.gallery-expand{font-size:8px;padding:5px}}@media(prefers-reduced-motion:reduce){.product-viewer{animation:none}}.product-gallery .safari-toolbar{border:1px solid #cdd0d6;border-bottom:0;border-radius:10px 10px 0 0}.product-gallery .gallery-image{aspect-ratio:3024/1454;border-radius:0 0 9px 9px;border-top:0;background:#fff}.product-gallery .gallery-open>img{object-fit:contain}.safari-toolbar{height:42px;gap:15px;padding:0 14px;background:linear-gradient(#f6f6f7,#e6e7ea);color:#6a6c73;font-family:-apple-system,BlinkMacSystemFont,sans-serif}.safari-lights,.safari-toolbar{display:flex;align-items:center;flex-shrink:0}.safari-lights{gap:7px}.safari-lights button,.safari-lights i{display:block;width:11px;height:11px;border:1px solid #00000018;border-radius:50%;padding:0}.safari-lights .safari-close{background:#ff5f57}.safari-lights .safari-minimize{background:#febc2e}.safari-lights .safari-maximize{background:#28c840}.safari-tools{gap:13px}.safari-address,.safari-tools{display:flex;align-items:center}.safari-address{justify-content:center;gap:7px;position:relative;background:#ffffffab;border:1px solid #0000000b;border-radius:6px;height:25px;max-width:530px;flex:1 1;margin:auto;font-size:10px;color:#51535a;box-shadow:0 1px 1px #00000005}.safari-address>svg:last-child{position:absolute;right:8px}.safari-share{display:flex}.product-viewer{padding:12px;background:#131418eF;display:flex;gap:0}.safari-window{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;border-radius:12px;overflow:hidden;box-shadow:0 25px 100px #0009;border:1px solid #ffffff40;background:#f2f3f5;color:#30323a}.safari-window .safari-toolbar{height:48px;padding:0 17px;gap:22px}.product-viewer .safari-lights button{width:12px;height:12px;border-radius:50%;color:#7b1612;background:#ff5f57;cursor:pointer}.product-viewer .safari-lights button svg{opacity:0}.product-viewer .safari-lights button:focus-visible svg,.product-viewer .safari-lights button:hover svg{opacity:1}.safari-tabs{display:flex;flex-shrink:0;overflow-x:auto;background:#e2e3e7;border-bottom:1px solid #c6c8ce;scrollbar-width:thin;padding:0 8px;gap:1px}.product-viewer .safari-tabs button{display:block;flex:1 1;min-width:110px;width:auto;height:34px;border:0;border-right:1px solid #00000012;border-radius:7px 7px 0 0;background:transparent;color:#666973;font-size:10px;padding:0 12px;white-space:nowrap}.product-viewer .safari-tabs button[aria-current=page]{background:#f8f9fb;color:#252830;box-shadow:0 -1px 4px #0000000a}.safari-window .viewer-image{flex:1 1;min-height:0;position:relative;background:#f8f9fb}.safari-window .viewer-image img{object-fit:contain}.safari-window footer{flex-shrink:0;padding:13px 18px;border-top:1px solid #d8dbe0;background:#f0f1f3;gap:18px}.safari-window footer p{font-size:11px;color:#545963;line-height:1.6}.safari-window footer p strong{color:#252830;font-weight:600}.safari-window footer small{font-size:9px;color:#81858e;margin-top:3px}.safari-window footer>div{font-size:10px;color:#666973;gap:10px}.product-viewer .safari-window footer button{width:29px;height:29px;border-radius:7px;background:#fff8;border:1px solid #cfd2d8;color:#525761}.product-viewer .safari-window button:focus-visible{outline:2px solid #007aff;outline-offset:-2px}@media(max-width:700px){.safari-toolbar{padding:0 10px;gap:10px;height:34px}.safari-toolbar .safari-tools{display:none}.safari-address{height:23px;font-size:9px}.safari-share{display:none}.product-gallery .gallery-image{aspect-ratio:3024/1454}.product-viewer{padding:5px}.safari-window{border-radius:9px}.safari-window .safari-toolbar{height:41px;padding:0 12px;gap:13px}.safari-window footer{padding:11px 12px;gap:9px}.safari-window footer>div{align-self:center}.product-viewer .safari-tabs button{min-width:105px;font-size:9px}.safari-window .viewer-image{overflow:auto}}