@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";.layout-container{position:relative;z-index:1;min-height:100vh;width:100%}.particle-fallback{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-color);z-index:-1}.hero{width:100%;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:var(--section-padding);overflow:hidden}.hero-content{text-align:center;z-index:2;display:flex;flex-direction:column;align-items:center;gap:1.5rem;perspective:1000px}.hero-name{font-size:clamp(1.8rem,8vw,6.5rem);font-weight:800;margin:0;letter-spacing:-.04em;line-height:1;color:#fff;display:flex;flex-wrap:wrap;justify-content:center}.hero-name .char{display:inline-block;will-change:transform,opacity;transform-style:preserve-3d;backface-visibility:hidden}.hero-title{font-size:clamp(1rem,2.5vw,1.5rem);font-weight:400;margin:0;color:var(--text-secondary);letter-spacing:.3em;text-transform:uppercase;will-change:transform,opacity}.hero-image-container{position:absolute;bottom:15%;right:8%;z-index:1;will-change:transform,opacity}.hero-image-frame{position:relative;width:clamp(80px,12vw,150px);height:clamp(80px,12vw,150px);border-radius:50%;padding:3px;background:linear-gradient(135deg,#ffffff4d,#ffffff0d);box-shadow:0 8px 32px #0006,inset 0 0 20px #ffffff0d;transition:transform .6s var(--ease-out-expo)}.hero-image-frame:hover{transform:scale(1.05)}.hero-image{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;filter:grayscale(30%) contrast(1.1);transition:filter .6s var(--ease-out-expo)}.hero-image-frame:hover .hero-image{filter:grayscale(0%) contrast(1.1)}.scroll-indicator{position:absolute;bottom:3rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.75rem;z-index:2;will-change:opacity}.scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,transparent 0%,var(--text-secondary) 50%,transparent 100%);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(.8)}50%{opacity:1;transform:scaleY(1)}}.scroll-text{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);opacity:.6}@media(max-width:768px){.hero{padding:2rem;justify-content:center}.hero-name{font-size:clamp(2rem,15vw,4rem);letter-spacing:-.02em}.hero-title{letter-spacing:.15em;font-size:.9rem}.hero-image-container{position:relative;bottom:auto;right:auto;margin-top:3rem}.hero-image-frame{width:100px;height:100px}.scroll-indicator{bottom:2rem}.scroll-line{height:40px}}@media(max-width:480px){.hero-name{font-size:clamp(1.8rem,12vw,3rem)}.hero-title{font-size:.75rem}}.about-section{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--section-padding);padding-top:8rem;padding-bottom:8rem}.about-container{max-width:1200px;width:100%;display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:center}.about-left{display:flex;flex-direction:column;gap:2rem}.about-title{font-size:clamp(3rem,8vw,6rem);font-weight:800;margin:0;letter-spacing:-.04em;line-height:1;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-about) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;will-change:transform,opacity}.about-text{display:flex;flex-direction:column;gap:1.5rem}.about-text p{font-size:1.1rem;line-height:1.8;color:var(--text-secondary);margin:0;will-change:transform,opacity}.about-text .highlight{color:var(--accent-about);font-weight:500}.about-right{display:flex;justify-content:center;align-items:center}.interests-container{display:flex;flex-direction:column;gap:1.5rem;align-items:center}.interests-label{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);opacity:.6}.interests-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.interest-icon{width:70px;height:70px;border-radius:50%;background:#ffffff08;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:all .4s var(--ease-out-expo);position:relative;will-change:transform}.interest-icon:before{content:attr(data-title);position:absolute;bottom:-30px;left:50%;transform:translate(-50%);font-size:.7rem;white-space:nowrap;color:var(--text-secondary);opacity:0;transition:opacity .3s ease;pointer-events:none}.interest-icon:hover{background:#d4a57426;border-color:var(--accent-about);color:var(--accent-about);transform:scale(1.15)}.interest-icon:hover:before{opacity:1}@media(max-width:968px){.about-container{grid-template-columns:1fr;gap:4rem}.about-left{text-align:center}.about-title{font-size:clamp(2.5rem,10vw,4rem)}.about-text p{font-size:1rem}.interests-grid{gap:1.25rem}.interest-icon{width:60px;height:60px}}@media(max-width:480px){.about-section{padding-top:4rem;padding-bottom:4rem}.about-title{font-size:2.5rem}.about-text p{font-size:.95rem;line-height:1.7}.interests-grid{gap:1rem}.interest-icon{width:55px;height:55px}.interest-icon svg{width:22px;height:22px}}.scroll-hint{position:absolute;bottom:4rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:1.5rem;opacity:0;transition:opacity .5s ease;pointer-events:none}.scroll-hint.visible{opacity:1}.scroll-hint-track{display:flex;flex-direction:column;align-items:center;gap:1rem;height:120px;position:relative}.scroll-hint-dot{width:12px;height:12px;border-radius:50%;background:var(--accent-about);opacity:0;animation:flowDown 2s ease-in-out infinite;box-shadow:0 0 20px var(--accent-about),0 0 40px #d4a57466}.scroll-hint-dot:nth-child(1){animation-delay:0s}.scroll-hint-dot:nth-child(2){animation-delay:.25s}.scroll-hint-dot:nth-child(3){animation-delay:.5s}@keyframes flowDown{0%{opacity:0;transform:translateY(-20px) scale(.3)}20%{opacity:1;transform:translateY(0) scale(1)}80%{opacity:1;transform:translateY(60px) scale(1)}to{opacity:0;transform:translateY(80px) scale(.3)}}.scroll-hint-text{font-size:.75rem;letter-spacing:.4em;text-transform:uppercase;color:var(--accent-about);opacity:.7;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.9}}@media(max-width:768px){.scroll-hint{bottom:2.5rem;gap:1rem}.scroll-hint-track{height:80px;gap:.75rem}.scroll-hint-dot{width:8px;height:8px}@keyframes flowDown{0%{opacity:0;transform:translateY(-15px) scale(.3)}20%{opacity:1;transform:translateY(0) scale(1)}80%{opacity:1;transform:translateY(40px) scale(1)}to{opacity:0;transform:translateY(55px) scale(.3)}}.scroll-hint-text{font-size:.65rem}}.skills-section{width:100%;min-height:100vh;position:relative;overflow:hidden}.skills-header{position:absolute;top:3rem;left:var(--section-padding);z-index:10}.skills-title{font-size:clamp(1.5rem,5vw,3rem);font-weight:800;margin:0;letter-spacing:-.02em;color:transparent;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-skills) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 60px rgba(116,184,212,.3);position:relative}.skills-title:after{content:"";position:absolute;bottom:-8px;left:0;width:60px;height:2px;background:linear-gradient(90deg,var(--accent-skills),transparent);animation:expandLine 2s ease-out forwards}@keyframes expandLine{0%{width:0;opacity:0}to{width:60px;opacity:1}}.skills-container{display:flex;height:100vh;width:fit-content}.skill-panel{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}.skill-panel-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:clamp(4rem,18vw,18rem);font-weight:900;letter-spacing:-.05em;color:var(--accent-skills);opacity:0;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform,opacity}.skill-panel-content{display:flex;flex-direction:column;align-items:center;gap:2.5rem;z-index:2;max-width:90%;padding:0 1rem}.skill-category-title{font-size:clamp(2rem,6vw,4rem);font-weight:800;margin:0;letter-spacing:-.03em;text-align:center;color:transparent;background:linear-gradient(180deg,#ffffff 0%,var(--accent-skills) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;text-shadow:0 0 80px rgba(116,184,212,.4)}.skill-category-title:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:150%;height:150%;background:radial-gradient(ellipse at center,rgba(116,184,212,.1) 0%,transparent 70%);pointer-events:none;z-index:-1}.skill-panel.active .skill-category-title{animation:titleGlow 2s ease-in-out infinite alternate}@keyframes titleGlow{0%{text-shadow:0 0 60px rgba(116,184,212,.3);filter:brightness(1)}to{text-shadow:0 0 80px rgba(116,184,212,.5),0 0 120px rgba(116,184,212,.3);filter:brightness(1.1)}}.skill-tags{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;max-width:800px;width:100%;perspective:1000px}.skill-tag{padding:1rem 1.8rem;background:linear-gradient(135deg,#74b8d414,#74b8d405);border:1px solid rgba(116,184,212,.15);border-radius:16px;font-weight:600;color:var(--text-primary);cursor:default;overflow:hidden;transform-style:preserve-3d;will-change:transform,box-shadow;transition:box-shadow .4s ease;white-space:nowrap}@media(min-width:769px){.skill-tags{gap:2rem 2.5rem}.skill-tag:nth-child(1){font-size:1.2rem;padding:1.1rem 2rem;transform:translateY(-15px) rotate(-2deg)}.skill-tag:nth-child(2){font-size:1rem;transform:translateY(10px) rotate(2deg)}.skill-tag:nth-child(3){font-size:1.15rem;padding:1.05rem 1.9rem;transform:translateY(-8px) rotate(-1deg)}.skill-tag:nth-child(4){font-size:1.3rem;padding:1.2rem 2.2rem;transform:translateY(12px) rotate(1deg)}.skill-tag:nth-child(5){font-size:.95rem;transform:translateY(-20px) rotate(3deg)}.skill-tag:nth-child(6){font-size:1.1rem;transform:translateY(8px) rotate(-2deg)}.skill-tag:nth-child(7){font-size:1.05rem;transform:translateY(-12px) rotate(2deg)}.skill-tag:nth-child(8){font-size:1.15rem;padding:1.1rem 2rem;transform:translateY(15px) rotate(-1deg)}.skill-tag:nth-child(9){font-size:.9rem;transform:translateY(-5px) rotate(-3deg)}.skill-tag:nth-child(10){font-size:1rem;transform:translateY(10px) rotate(1deg)}}.skill-tag:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;padding:1px;background:linear-gradient(var(--gradient-angle, 0deg),transparent 0%,rgba(116,184,212,.5) 50%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s ease}.skill-tag:after{content:"";position:absolute;top:50%;left:50%;width:120%;height:120%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(116,184,212,.15) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:-1}.skill-panel.active .skill-tag:before{opacity:1;animation:rotateBorder 3s linear infinite}.skill-panel.active .skill-tag:after{opacity:1}.skill-panel.active .skill-tag{box-shadow:0 4px 20px #74b8d426,0 0 40px #74b8d40d}@keyframes rotateBorder{0%{--gradient-angle: 0deg}to{--gradient-angle: 360deg}}.skill-tag:hover{box-shadow:0 8px 30px #74b8d440,0 0 60px #74b8d41a}.skill-tag:hover:after{opacity:1}.skill-panel-number{position:absolute;bottom:2rem;right:2rem;font-size:.85rem;font-weight:300;color:var(--text-secondary);opacity:.4;letter-spacing:.1em}.skills-indicator{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);display:flex;gap:.75rem;z-index:10}.indicator-dot{width:8px;height:8px;border-radius:50%;background:#fff3;transition:all .4s var(--ease-out-expo)}.indicator-dot.active{background:var(--accent-skills);transform:scale(1.3);box-shadow:0 0 15px var(--accent-skills)}@media(max-width:768px){.skills-header{top:2rem;left:1.5rem}.skill-panel-content{gap:2rem;padding:0 1.5rem}.skill-tags{gap:1rem;max-width:100%}.skill-tag{padding:.8rem 1.4rem;font-size:.9rem;border-radius:12px;transform:none!important}.skill-panel-number{bottom:1.5rem;right:1.5rem;font-size:.75rem}.skills-indicator{bottom:1.5rem}.indicator-dot{width:6px;height:6px}}@media(max-width:480px){.skill-panel-bg{font-size:3.5rem}.skill-panel-content{gap:1.5rem}.skill-tags{gap:.8rem}.skill-tag{padding:.7rem 1.2rem;font-size:.8rem;border-radius:10px}}.history-section{width:100%;padding:var(--section-padding);padding-top:6rem;padding-bottom:6rem}.history-header{position:sticky;top:3rem;z-index:10;width:fit-content;padding-bottom:2rem}.history-section-title{font-size:clamp(3rem,8vw,6rem);font-weight:800;margin:0;letter-spacing:-.04em;line-height:1;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-history) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.history-subtitle{font-size:1rem;color:var(--text-secondary);margin:1rem 0 0;letter-spacing:.1em}.history-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:0}.history-card{position:relative;min-height:80vh;display:flex;align-items:center;padding:4rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.history-card:last-child{border-bottom:none}.history-year{position:absolute;left:-5%;top:50%;transform:translateY(-50%);font-size:clamp(6rem,15vw,12rem);font-weight:900;letter-spacing:-.05em;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform,opacity;z-index:0;color:transparent;-webkit-text-stroke:1px rgba(160,116,212,.25);text-shadow:0 0 0 transparent,0 0 40px rgba(160,116,212,0);transition:text-shadow .4s ease,-webkit-text-stroke .4s ease}.history-card.in-view .history-year{-webkit-text-stroke:1.5px rgba(160,116,212,.5);text-shadow:0 0 30px rgba(160,116,212,.15),0 0 60px rgba(160,116,212,.1),0 0 100px rgba(160,116,212,.05)}.history-content{position:relative;z-index:1;max-width:700px;margin-left:auto;padding-left:2rem;will-change:transform,opacity}.history-period{display:inline-block;padding:.4rem 1rem;background:#a074d41a;border:1px solid rgba(160,116,212,.2);border-radius:100px;font-size:.85rem;color:var(--accent-history);margin-bottom:1.5rem}.history-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;margin:0 0 .5rem;color:var(--text-primary);letter-spacing:-.02em;line-height:1.3}.history-company{font-size:1rem;color:var(--accent-history);margin:0 0 1.5rem;font-weight:500}.history-description{font-size:1rem;line-height:1.8;color:var(--text-secondary);margin:0 0 2rem}.history-tags{display:flex;flex-wrap:wrap;gap:.5rem}.history-tag{padding:.4rem .8rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:6px;font-size:.75rem;color:var(--text-secondary);transition:all .3s var(--ease-out-quart);will-change:transform,opacity}.history-tag:hover{background:#a074d41a;border-color:#a074d44d;color:var(--accent-history)}.history-index{position:absolute;bottom:2rem;right:0;font-size:.8rem;color:var(--text-secondary);opacity:.4;letter-spacing:.1em;font-weight:300}@media(max-width:968px){.history-section{padding-top:4rem;padding-bottom:4rem}.history-card{min-height:auto;padding:3rem 0}.history-year{position:relative;left:auto;top:auto;transform:none;font-size:4rem;margin-bottom:1rem;-webkit-text-stroke:1px rgba(160,116,212,.3)}.history-card.in-view .history-year{-webkit-text-stroke:1.5px rgba(160,116,212,.6);text-shadow:0 0 20px rgba(160,116,212,.2),0 0 40px rgba(160,116,212,.1)}.history-content{margin-left:0;padding-left:0;max-width:100%}.history-index{position:relative;bottom:auto;right:auto;margin-top:1.5rem}}@media(max-width:480px){.history-header{margin-bottom:2rem}.history-section-title{font-size:2rem}.history-card{padding:2rem 0}.history-year{font-size:3rem}.history-title{font-size:1.25rem}.history-description{font-size:.95rem}.history-tags{gap:.4rem}.history-tag{padding:.3rem .6rem;font-size:.7rem}}.contact-section{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--section-padding);position:relative;overflow:hidden}.earth-bg{position:absolute;bottom:-30%;left:50%;width:min(140vw,1400px);height:min(140vw,1400px);pointer-events:none;z-index:0;will-change:transform,opacity}.earth-bg img{width:100%;height:100%;object-fit:contain;opacity:.9;position:relative;z-index:1}.earth-bg:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:62%;height:62%;border-radius:50%;background:radial-gradient(circle at center,transparent 70%,rgba(255,255,255,.4) 85%,rgba(255,255,255,.2) 95%,transparent 100%);filter:blur(8px);pointer-events:none;z-index:0}.contact-container{text-align:center;max-width:800px;position:relative;z-index:1}.contact-title{font-size:clamp(2.5rem,10vw,6rem);font-weight:800;margin:0 0 1.5rem;letter-spacing:-.04em;line-height:1.1;color:#fff;display:flex;flex-wrap:wrap;justify-content:center;perspective:1000px}.contact-title .char{display:inline-block;will-change:transform,opacity;transform-style:preserve-3d;color:#fff;text-shadow:0 0 40px rgba(116,212,165,.8),0 0 80px rgba(116,212,165,.4)}.contact-subtitle{font-size:1.1rem;color:#fffc;margin:0 0 4rem;line-height:1.6}.contact-links{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-bottom:4rem}.contact-link{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;background:#0a0a0ab3;border:1px solid rgba(255,255,255,.15);border-radius:16px;color:var(--text-primary);transition:all .4s var(--ease-out-expo);min-width:100px;will-change:transform,opacity;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.contact-link:hover{background:#74d4a514;border-color:var(--accent-contact);color:var(--accent-contact);transform:translateY(-8px)}.contact-link svg{transition:transform .4s var(--ease-out-expo)}.contact-link:hover svg{transform:scale(1.2)}.contact-link-label{font-size:.8rem;font-weight:500;letter-spacing:.05em}.contact-footer{padding-top:2rem;border-top:1px solid rgba(255,255,255,.05)}.contact-copyright{font-size:.8rem;color:var(--text-secondary);opacity:.5;margin:0}@media(max-width:768px){.contact-section{min-height:100vh;padding-top:8rem;padding-bottom:6rem}.earth-bg{width:min(150vw,600px);height:min(150vw,600px);bottom:-20%}.earth-bg:before{width:70%;height:70%}.contact-title{font-size:2.5rem}.contact-subtitle{font-size:1rem;margin-bottom:3rem}.contact-links{gap:1rem}.contact-link{padding:1.25rem;min-width:80px}.contact-link svg{width:20px;height:20px}.contact-link-label{font-size:.75rem}}@media(max-width:480px){.contact-title{font-size:2rem}.contact-links{gap:.75rem}.contact-link{padding:1rem;min-width:70px;border-radius:12px}}:root{--bg-color: #050505;--text-primary: #f0f0f0;--text-secondary: #888888;--border-color: rgba(255, 255, 255, .1);--accent-about: #d4a574;--accent-skills: #74b8d4;--accent-history: #a074d4;--accent-contact: #74d4a5;--font-main: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--section-padding: 4rem;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1)}*{box-sizing:border-box}html{font-size:16px}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-scrolling iframe{pointer-events:none}body{margin:0;padding:0;background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-main);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}a{color:var(--text-primary);text-decoration:none;transition:color .3s var(--ease-out-quart)}a:hover,a:visited{color:var(--text-primary)}#root{width:100%;min-height:100vh;position:relative}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}.section-title{font-size:clamp(2rem,5vw,4rem);font-weight:700;margin:0;background:linear-gradient(135deg,var(--text-primary) 0%,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}::selection{background:#fff3;color:var(--text-primary)}@media(max-width:768px){:root{--section-padding: 2rem}html{font-size:14px}}@media(max-width:480px){html{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
