:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}body,html{margin:0;padding:0;width:100vw;min-height:100vh;height:auto;overflow-x:hidden;overflow-y:auto;background-color:#000;font-family:Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;transform:translateZ(0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.site-preloader{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .8s cubic-bezier(.4,0,.2,1);will-change:opacity}.site-preloader.hidden{opacity:0;pointer-events:none}.site-spinner{border:8px solid rgba(255,255,255,.2);border-top:8px solid #ffe259;border-radius:50%;width:64px;height:64px;animation:spin 1s linear infinite}.flex-container,.box,.avatar-container,.large-text,.small-text-container,.summary,.icon-links{opacity:0;transition:opacity 1.2s cubic-bezier(.4,0,.2,1);will-change:opacity;transform:translateZ(0)}.flex-container.fade-in,.flex-container.fade-in *,.location-insights{opacity:1!important}.fade-in{opacity:1}.flex-container{display:flex;justify-content:center;gap:5%;padding:2%;box-sizing:border-box;z-index:2;position:relative;align-items:center;min-height:100vh;width:100vw;flex-wrap:nowrap}.box{border:2px solid rgba(255,255,255,.3);padding:0;max-width:900px;min-width:500px;width:60vw;box-sizing:border-box;position:relative;overflow:hidden;background-color:#0006;mix-blend-mode:normal;height:85vh;min-height:600px;border-radius:18px;box-shadow:0 8px 32px #00000040;scrollbar-width:thin;-ms-overflow-style:none;transform:translateZ(0);will-change:auto;display:flex;flex-direction:column}.box::-webkit-scrollbar{width:8px;display:block}.box::-webkit-scrollbar-track{background:transparent}.box::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:4px}.box::-webkit-scrollbar-thumb:hover{background-color:#ffffff80}.box:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1}.large-text{font-size:clamp(3rem,7vw,7rem);font-weight:700;color:transparent;-webkit-text-stroke:2px white;text-transform:uppercase;margin:0;line-height:.85;z-index:2;text-align:left}.small-text-container{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-start;align-items:center;width:100%;margin:1rem 0;z-index:2}.small-text{font-size:1.3rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.1em;display:flex;align-items:center;-webkit-text-stroke:1px black;max-width:100%;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;margin-right:.4rem}.small-text i{margin-right:.3rem;font-size:1.4rem}.summary{font-size:1.4rem;color:#fff;text-align:left;line-height:1.5;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:300;text-shadow:1px 1px 3px rgba(0,0,0,.7);z-index:2}.avatar-container{position:relative;width:300px;height:300px;flex-shrink:0}.linkedin-avatar{width:100%;height:100%;object-fit:cover;border-radius:50%;border:2px solid black;transition:transform .3s ease;cursor:pointer;position:relative;z-index:10}.avatar-container:hover .linkedin-avatar{transform:rotate(3deg) scale(1.02);transition:transform .3s}.avatar-container:before{content:"";position:absolute;left:50%;top:50%;width:340px;height:340px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid black;border-top:none;border-left:none;z-index:1}.icon-links{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.icon-links a{color:#fff;transition:transform .3s,color .3s;display:inline-block}.icon-links a:hover{transform:scale(1.1) rotate(-5deg);color:#00a0dc}.linkedin-icon{position:absolute;top:-40px;right:-40px;pointer-events:all;font-size:3rem}.pdf-icon{position:absolute;bottom:-40px;right:-40px;pointer-events:all;font-size:3rem}.gradient-background{position:absolute;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(45deg,#ff0080,#ff8000,#0ff,#8000ff);background-size:400% 400%;z-index:0;animation:gradientFlow 15s ease infinite;transform:translateZ(0);will-change:background-position}@keyframes gradientFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.location-insights{position:fixed;bottom:3vh;right:3vw;z-index:1000;background:#000c;border-radius:10px;box-shadow:0 0 20px #00000080;width:20%;min-width:300px}.calculator-screen{background:#000;border:2px solid #333;border-radius:5px;padding:10px;overflow:hidden}.marquee{width:100%;overflow:hidden;white-space:nowrap}.marquee-content{display:inline-block;color:#0f0;font-family:Courier New,monospace;font-size:14px;animation:scroll-left 30s linear infinite;padding-left:100%}@keyframes scroll-left{0%{transform:translate(0)}to{transform:translate(-100%)}}.marquee:hover .marquee-content{animation-play-state:paused}@media (max-width: 768px){body,html{overflow-x:hidden;overflow-y:auto;height:auto;min-height:100vh}.gradient-background{position:fixed;top:0;left:0;width:100vw;height:100%;min-height:100vh;z-index:0;pointer-events:none;background:linear-gradient(45deg,#c06,#c60,#066,#60c);background-size:400% 400%;animation:gradientFlow 15s ease infinite}.flex-container{flex-direction:column-reverse;justify-content:flex-start;align-items:center;gap:0;padding:0;width:100vw;min-height:100vh;height:auto;margin-bottom:0;position:relative}.avatar-container{width:200px;height:200px;margin:2.5rem auto 1.2rem;position:relative;display:flex;justify-content:center;align-items:center}.linkedin-avatar{width:190px;height:190px;border-radius:50%;object-fit:cover;border:2px solid black;z-index:2}.avatar-container:before{content:"";position:absolute;left:50%;top:50%;width:200px;height:206px;transform:translate(-50%,-50%);border-radius:50%;border:2.5px solid black;border-top:none;border-left:none;z-index:1;pointer-events:none}.icon-links{width:100%;height:100%;pointer-events:none;margin-left:20px}.icon-links a{font-size:9vw;pointer-events:all;border-radius:50%;padding:.2em;transition:background .2s}.icon-links a:not(:last-child){margin-bottom:1.5em}.linkedin-icon{top:0;right:-40px}.pdf-icon{bottom:0;right:-40px}.box{max-width:96vw;min-width:0;width:96vw;height:auto;min-height:500px;max-height:none;padding:0;border-radius:12px;background:#0006;margin-bottom:2rem;transform:translateZ(0);will-change:auto;display:flex;flex-direction:column;transition:height .3s ease,max-height .3s ease;position:relative}.large-text{font-size:12vw;line-height:.85;-webkit-text-stroke:1px white;text-stroke:1px white}.name-parts{flex-direction:column;align-items:flex-start;width:100%;margin-top:0}.name-part.color-wash,.name-part.color-wash.dally{font-size:12vw;line-height:1.1;-webkit-text-stroke:.5px white;text-stroke:.5px white}.name-separator{font-size:5vw;margin:0 .1em;vertical-align:middle}.small-text{font-size:1.1rem;-webkit-text-stroke:.3px black;text-stroke:.3px black;letter-spacing:.01em}.small-text i{margin-right:.2rem;font-size:1.2rem}.summary{font-size:1.1rem;line-height:1.5}.location-insights{display:none;width:70%;padding:3px;min-width:unset;left:50%;transform:translate(-50%);bottom:5vh}.calculator-screen{padding:4px}.marquee-content{font-size:12px}.rock-background{display:none!important}.app-launcher-icon{width:56px;height:56px;font-size:2.2rem;bottom:-40px}.ideas-icon{width:56px;height:56px;font-size:2.4rem;top:-32px;left:-32px}.box-close-btn{font-size:4rem;height:2.2em;width:2.2em;top:.5rem;right:.5rem}}.tetris-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:hidden}.tetris-container{background:#000000b3;border:2px solid rgba(255,255,255,.3);border-radius:12px;width:90vw;height:90vh;max-width:1200px;max-height:800px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 40px #00000080;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.tetris-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#000000b3;border-bottom:2px solid rgba(255,255,255,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.tetris-header h2{color:#fff;margin:0;font-size:1.5rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.tetris-close-btn{background:none;border:none;color:#fff;font-size:1.5rem;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center}.tetris-game-container{flex:1;display:flex;flex-direction:column;align-items:center;padding:20px;background:transparent;color:#fff;font-family:Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}.tetris-stats{display:flex;gap:20px;font-size:24px;color:#fff;margin-bottom:20px;font-weight:700;-webkit-text-stroke:1px rgba(255,255,255,.3)}.tetris-score,.tetris-level{font-weight:700}.tetris-game-layout{display:flex;gap:20px;align-items:flex-start;margin-bottom:20px}.tetris-hold-container,.tetris-preview-container{display:flex;flex-direction:column;align-items:center}.tetris-hold-label,.tetris-preview-label{color:#fff;font-size:14px;margin-bottom:8px;font-weight:700}.tetris-main-canvas,.tetris-hold-canvas,.tetris-preview-canvas{border:2px solid rgba(255,255,255,.3);border-radius:4px}.tetris-controls{color:#fff;font-size:14px;text-align:center;opacity:.8}@media (max-width: 768px){.tetris-container{width:95vw;height:95vh;max-width:none;max-height:none}.tetris-game-layout{flex-direction:column;align-items:center;gap:15px}.tetris-main-canvas{order:1}.tetris-hold-container,.tetris-preview-container{order:2;display:inline-block;margin:0 15px}.tetris-preview-container{order:2}.tetris-hold-container{order:3}.tetris-controls{order:3;margin-top:15px;text-align:center;position:absolute;bottom:10px;right:10px;background:#000000b3;padding:8px 12px;border-radius:6px;font-size:11px;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}}.tetris-game-over{flex:1;display:flex;align-items:center;justify-content:center;background:transparent}.tetris-game-over-content{text-align:center;color:#fff;padding:40px}.tetris-game-over-content h3{font-size:2.5rem;margin-bottom:30px;color:#ff6b6b;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.tetris-final-score{margin-bottom:30px}.tetris-final-score p{font-size:1.5rem;margin:10px 0;color:#fff}.tetris-final-score span{color:#00f5ff;font-weight:700;font-size:1.8rem}.tetris-restart-btn{padding:15px 30px;font-size:1.2rem;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);color:#fff;border:none;border-radius:8px;cursor:pointer;font-family:Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-weight:700;text-transform:uppercase;transition:all .3s ease;box-shadow:0 4px 12px #0000004d}.tetris-restart-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0006}.rock-background{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;background:linear-gradient(to bottom,#0000 60%,#00000080,#000),url(/images/rock_bg.avif) center/cover no-repeat;background-color:#000;opacity:.5;animation:slowZoom 40s linear infinite alternate;transform:translateZ(0);will-change:transform}@keyframes slowZoom{0%{transform:scale(1) translate(0)}to{transform:scale(1.15) translate(-2vw,-2vh)}}.name-parts{display:flex;flex-direction:column;align-items:flex-start;margin-top:0}.name-part.color-wash{background:linear-gradient(90deg,#ffe259,#ffa751,#43cea2,#185a9d,#43cea2,#ffe259);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent;animation:colorWash 4s linear infinite}@keyframes colorWash{0%{background-position:0% 50%}to{background-position:100% 50%}}@keyframes spinOff{0%{transform:rotate(0) scale(1);opacity:1}to{transform:rotate(720deg) scale(0);opacity:0}}.spin-off{animation:spinOff 1s ease-in-out forwards}.show-more-container{text-align:center;margin:2rem 0;padding:1rem 0}.show-more-btn{background:#64ffda1a;color:#64ffda;border:2px solid #64ffda;padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:inherit}.show-more-btn:hover{background:#64ffda;color:#0a192f;transform:translateY(-2px);box-shadow:0 4px 16px #64ffda4d}.show-more-btn:active{transform:translateY(0)}@media (max-width: 768px){.show-more-container{margin:1.5rem 0}.show-more-btn{padding:.6rem 1.5rem;font-size:.9rem}}@media (min-width: 769px) and (max-width: 1024px){.flex-container{gap:3vw;padding:2vw 0;justify-content:center;align-items:center}.avatar-container{width:220px;height:220px;margin:0 0 0 2vw;display:flex;justify-content:center;align-items:center;position:relative}.linkedin-avatar{width:180px;height:180px}.avatar-container:before{content:"";position:absolute;left:50%;top:50%;width:210px;height:210px;transform:translate(-50%,-50%);border-radius:50%;border:1.5px solid black;border-top:none;border-left:none;opacity:.5;z-index:1;pointer-events:none}.icon-links{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none}.linkedin-icon{position:absolute;top:10px;right:10px;font-size:2rem;pointer-events:all}.pdf-icon{position:absolute;bottom:10px;right:10px;font-size:2rem;pointer-events:all}.portfolio-title{font-size:5vw;margin-bottom:1.5rem}.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.website-image{height:150px}}.app-launcher-icon{position:absolute;left:50%;bottom:-60px;transform:translate(-50%);background:#fff;color:#222;border:none;border-radius:50%;box-shadow:0 2px 8px #0000001f;width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:2rem;cursor:pointer;z-index:3;transition:background .2s,color .2s,box-shadow .2s,transform .2s}.app-launcher-icon:hover,.app-launcher-icon:focus{background:#00a0dc;color:#fff;box-shadow:0 4px 16px #00a0dc2e;outline:none;transform:translate(-50%) scale(1.08)}.ideas-icon{position:absolute;top:-36px;left:-40px;background:none;color:#fff;border:none;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:3rem;cursor:pointer;z-index:3;transition:color .2s,transform .2s;pointer-events:all;box-shadow:none}.ideas-icon i{color:#fff;transition:color .2s}.ideas-icon:hover,.ideas-icon:focus{background:none;outline:none;transform:scale(1.08)}.ideas-icon:hover i,.ideas-icon:focus i{color:#ffe259}.ideas-icon i.highlight-yellow{color:#ffe259!important;text-shadow:0 0 12px #ffe25999,0 0 4px #ffe25966;animation:lightbulb-pulse 1.2s ease-in-out infinite}@keyframes lightbulb-pulse{0%{color:#ffe259;text-shadow:0 0 12px #ffe25999,0 0 4px #ffe25966}50%{color:#fffbe6;text-shadow:0 0 24px #ffe259cc,0 0 12px #ffe25999}to{color:#ffe259;text-shadow:0 0 12px #ffe25999,0 0 4px #ffe25966}}.portfolio-container{width:100%;height:100%;overflow-y:auto;padding:0;box-sizing:border-box;display:flex;flex-direction:column;position:relative;scrollbar-width:none;-ms-overflow-style:none}.portfolio-container::-webkit-scrollbar{display:none}.portfolio-title{font-size:3vw;font-weight:700;color:transparent;-webkit-text-stroke:2px white;text-transform:uppercase;margin:0 0 1rem 1rem;line-height:1.1;text-align:left}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;padding:.5rem;visibility:hidden;opacity:0;filter:blur(10px);transition:opacity 1.2s cubic-bezier(.4,0,.2,1),visibility 0s linear 1.2s,filter 1.2s cubic-bezier(.4,0,.2,1);position:relative}.portfolio-grid.grid-loaded{visibility:visible;opacity:1;filter:blur(0);transition:opacity 1.2s cubic-bezier(.4,0,.2,1),visibility 0s linear 0s,filter 1.2s cubic-bezier(.4,0,.2,1)}.website-card{background:#000000b3;border:2px solid rgba(255,255,255,.3);border-radius:10px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;text-decoration:none;display:block;cursor:pointer;position:relative;height:100%}.website-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000004d}.website-card:after{content:"↗";position:absolute;top:1rem;right:1rem;color:#fff9;font-size:1.2rem;transition:color .3s ease}.website-card:hover:after{color:#ffffffe6}.website-image{width:100%;height:200px;object-fit:cover;object-position:top;border-bottom:1px solid rgba(255,255,255,.3);opacity:0;transition:opacity .3s ease}.portfolio-grid.grid-loaded .website-image{opacity:1}.website-info{padding:1rem}.website-info h3{color:#fff;font-size:1.2rem;margin:0 0 .5rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.website-info p{color:#fffc;font-size:.9rem;margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}@media (min-width: 769px) and (max-width: 1024px){.portfolio-container{padding:1rem}.portfolio-title{font-size:3vw;margin-bottom:1rem}.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.website-image{height:180px}}@media (max-width: 768px){.portfolio-container{padding:.75rem;height:auto;overflow-y:visible}.portfolio-title{font-size:5vw;-webkit-text-stroke:1px white;margin-bottom:1rem}.portfolio-grid{grid-template-columns:1fr;gap:1.25rem}.website-card{max-width:100%}.website-image{height:160px}.website-info h3{font-size:1.1rem}.website-info p{font-size:.85rem}.ideas-icon{font-size:2.4rem;top:-1.5rem}}.case-studies-section{margin-top:2rem;padding:1.5rem 0;border-top:1px solid rgba(255,255,255,.1)}.case-studies-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:.5rem;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.case-studies-subtitle{text-align:center;color:#fffc;font-size:1.1rem;margin-bottom:2rem;font-style:italic}.case-studies-grid{display:flex;flex-direction:column;gap:3rem;max-width:1200px;margin:0 auto}.case-study-card{background:#ffffff0d;border-radius:16px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;gap:2rem;align-items:flex-start}.case-study-card:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-2px);box-shadow:0 8px 32px #0000004d}.case-study-image{flex-shrink:0;width:200px;height:120px;border-radius:12px;overflow:hidden;border:2px solid rgba(255,255,255,.1)}.case-study-thumbnail{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .3s ease}.case-study-card:hover .case-study-thumbnail{transform:scale(1.05)}.case-study-content{flex:1;display:flex;flex-direction:column;gap:1.5rem}.case-study-title{font-size:1.5rem;font-weight:600;color:#fff;margin:0;line-height:1.3}.case-study-client{color:#ffffffe6;font-size:1rem;margin:0}.case-study-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.case-study-section h4{color:#64ffda;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .5rem}.case-study-section p{color:#fffc;font-size:.95rem;line-height:1.5;margin:0}.case-study-technologies h4{color:#64ffda;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:0 0 1rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{background:#64ffda1a;color:#64ffda;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;border:1px solid rgba(100,255,218,.3);transition:all .2s ease}.tech-tag:hover{background:#64ffda33;border-color:#64ffda80}.case-study-link{align-self:flex-start;color:#64ffda;text-decoration:none;font-weight:600;font-size:1rem;padding:.75rem 1.5rem;border:2px solid #64ffda;border-radius:8px;transition:all .3s ease;background:#64ffda1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.case-study-link:hover{background:#64ffda;color:#0a192f;transform:translateY(-2px);box-shadow:0 4px 16px #64ffda4d}@media (max-width: 768px){.case-studies-section{margin-top:3rem;padding:1.5rem 0}.case-studies-title{font-size:2rem;margin-bottom:.75rem}.case-studies-subtitle{font-size:1rem;margin-bottom:2rem}.case-studies-grid{gap:2rem;padding:0 1rem}.case-study-card{flex-direction:column;padding:1.5rem;gap:1.5rem;text-align:center}.case-study-image{width:100%;height:160px;align-self:center}.case-study-details{grid-template-columns:1fr;gap:1rem}.case-study-section h4,.case-study-technologies h4{text-align:center}.tech-tags{justify-content:center}.case-study-link{align-self:center}}@media (min-width: 1800px){.ideas-icon{font-size:4rem}.box{max-width:1200px;min-width:700px;width:50vw;padding:4rem 5rem 4rem 4rem;min-height:880px;max-height:90vh}.large-text{font-size:clamp(4rem,6vw,8rem)}.avatar-container{width:400px;height:400px}}.portfolio-nav{display:flex;justify-content:space-between;align-items:center;min-height:3.2em;margin:0;font-size:1.6rem;font-weight:700;text-transform:uppercase;gap:.5rem;padding:1.5rem 2rem 1rem;border-bottom:2px solid rgba(255,255,255,.3);background:#0003;border-radius:18px 18px 0 0}.portfolio-nav-group{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.portfolio-nav-btn{background:none;border:none;color:#fff;font-size:1.4rem;font-weight:700;cursor:pointer;padding:.5rem 1rem;border-radius:6px;transition:color .2s,background .2s;-webkit-text-stroke:1px white;white-space:nowrap;min-width:fit-content}.portfolio-nav-btn.active{color:#ffe259;background:#ffffff14;-webkit-text-stroke:1px #ffe259}.portfolio-nav-btn:hover:not(.active){color:#ffe259;background:#ffffff0d}.portfolio-nav-sep{color:#fff;opacity:.5;font-size:1.2rem;margin:0 .2em;-webkit-user-select:none;user-select:none}.tab-content{flex:1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column;scrollbar-width:none;-ms-overflow-style:none;background:#0006}.tab-content::-webkit-scrollbar{display:none}.intro-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:2rem;max-width:100%;box-sizing:border-box}.skills-section{color:#fff;padding:1rem 1.5rem;font-size:1.1vw;line-height:1.6;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;background:#000000a6;border-radius:12px;box-shadow:0 2px 12px #0000001f;margin-bottom:1rem;overflow-y:auto;max-height:none;width:100%;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}.skills-section::-webkit-scrollbar{display:none}.skills-heading{font-size:1.5vw;color:#ffe259;margin:1.2em 0 .5em;-webkit-text-stroke:1px #ffe259;text-transform:uppercase}.skills-block{margin-bottom:1em;font-size:1.1vw}.skills-list{margin:0;padding-left:1em;list-style:disc outside;font-size:1.1vw;text-align:left}.skills-list li{margin-bottom:.3em;text-align:left}@media (max-width: 768px){.portfolio-nav{font-size:1.2rem;margin:0;min-height:2.2em;padding:1rem 1rem .5rem;flex-direction:row;justify-content:space-between;align-items:center;gap:.3rem;border-radius:12px 12px 0 0}.portfolio-nav-group{gap:.2rem;justify-content:flex-start;flex:1}.portfolio-nav-btn{font-size:1rem;padding:.4rem .8rem;-webkit-text-stroke:.5px white}.portfolio-nav-btn.active{-webkit-text-stroke:.5px #ffe259}.portfolio-nav-sep{font-size:.9rem;margin:0 .1em}.box-close-btn{font-size:2rem;height:1.8em;width:1.8em;top:.5rem;right:.5rem;position:absolute}.tab-content{padding:1rem;overflow-y:visible;max-height:none}.intro-content{padding:1.2rem 1.2rem 2rem;justify-content:flex-start;min-height:400px}.intro-section.box{height:auto;min-height:450px;max-height:none;position:relative}@media (max-width: 480px){.portfolio-nav{font-size:1rem;padding:.8rem 1rem .4rem;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.portfolio-nav-group{gap:.1rem;justify-content:flex-start;flex:1}.portfolio-nav-btn{font-size:.9rem;padding:.3rem .6rem}.portfolio-nav-sep{font-size:.8rem}.box-close-btn{font-size:1.5rem;height:1.5em;width:1.5em;top:.5rem;right:.5rem;position:absolute}.intro-content{padding:1rem 1rem 2rem}.box.expanded{height:auto;max-height:none;position:relative}.box:has(.portfolio-nav){height:auto;max-height:none;position:relative}}.skills-section{font-size:3.2vw;padding:.7rem 1rem;max-height:none;overflow-y:visible;width:100%;box-sizing:border-box}.skills-heading{font-size:4vw;-webkit-text-stroke:.5px #ffe259}.skills-block,.skills-list{font-size:3vw;width:100%;box-sizing:border-box}.skills-list{padding-left:1em;margin-left:0;text-align:left}.skills-list li{text-align:left}}.box-close-btn{background:none;border:none;color:#fff;font-size:6vh;font-weight:700;cursor:pointer;opacity:.7;transition:opacity .2s,color .2s;margin-left:0;top:unset;position:absolute;top:.2rem;right:.2rem;line-height:1;vertical-align:middle;padding:0;height:2em;width:2em;display:flex;align-items:center;justify-content:center;z-index:10}.box-close-btn:hover,.box-close-btn:focus{color:#ffe259;opacity:1;outline:none}@media (max-width: 1024px){.portfolio-nav{font-size:1.4rem;margin:0 0 1rem .5rem;min-height:2.6em}.box-close-btn{font-size:2rem;height:1.7em;width:1.7em;top:.2rem;right:.7rem;position:absolute}}.portfolio-preloader{display:flex;align-items:center;justify-content:center;min-height:320px;width:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10}.spinner{border:6px solid rgba(255,255,255,.2);border-top:6px solid #ffe259;border-radius:50%;width:48px;height:48px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.contact-form-container{padding:2rem;max-width:600px;margin:0 auto}@media (max-width: 768px){.contact-form-container{padding:1rem;max-width:100%;margin:0}.contact-title{font-size:2rem;margin-bottom:.8rem}.contact-subtitle{font-size:1rem;margin-bottom:1.5rem}.contact-form{gap:1rem}.form-input,.form-textarea{padding:1rem;font-size:16px}.form-textarea{min-height:100px}.submit-button{padding:1rem;font-size:1rem}}.contact-title{font-size:2.5rem;font-weight:700;color:#fff;margin-bottom:1rem;text-align:center}.contact-subtitle{font-size:1.1rem;color:#fffc;text-align:center;margin-bottom:2rem;line-height:1.5}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:#fff;font-weight:500;font-size:1rem}.form-input,.form-textarea{padding:.75rem;border:2px solid rgba(255,255,255,.3);border-radius:8px;background:#0000004d;color:#fff;font-size:1rem;transition:border-color .3s ease,background-color .3s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:#ffe259;background:#00000080}.form-input::placeholder,.form-textarea::placeholder{color:#ffffff80}.form-textarea{resize:vertical;min-height:120px;font-family:inherit}.submit-button{background:linear-gradient(45deg,#ffe259,#ffa751);color:#000;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ffe2594d}.submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.success-message,.error-message{padding:2rem;border-radius:8px;margin-bottom:1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem;font-weight:500;text-align:center}.success-message{background:#4caf5033;border:1px solid rgba(76,175,80,.5);color:#4caf50}.error-message{background:#f4433633;border:1px solid rgba(244,67,54,.5);color:#f44336}.reset-button{background:linear-gradient(45deg,#ffe259,#ffa751);color:#000;border:none;padding:.8rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;margin-top:1rem}.reset-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffe2594d}.email-link{color:#ffe259;text-decoration:none;font-weight:700;transition:color .3s ease}.email-link:hover{color:#ffa751;text-decoration:underline}@media (max-width: 768px){.contact-form-container{padding:1rem}.contact-title{font-size:2rem}.contact-subtitle{font-size:1rem}.form-input,.form-textarea{padding:.6rem;font-size:.9rem}.submit-button{padding:.8rem 1.5rem;font-size:1rem}}.portfolio-preloader-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:transparent;z-index:10;pointer-events:none}@media (max-width: 1024px){.portfolio-preloader-overlay{position:absolute;top:50%}}
