*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0a0a0f;--surface: #13131f;--border: rgba(255, 255, 255, .07);--text: #e8e6e0;--text-muted: #5a5870;--accent: #f0a500;--accent-glow: rgba(240, 165, 0, .25);--blue: #4a8fff;--purple: #9b72f5;--green: #3ecf8e;--red: #f06060;--font-display: "Syne", sans-serif;--font-body: "Inter", sans-serif}html,body{width:100vw;height:100vh;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font-body)}#root{width:100vw;height:100vh;overflow:hidden;position:relative;z-index:1}*{cursor:none!important}::selection{background:var(--accent-glow);color:var(--accent)}.sections-stage{position:fixed;top:0;right:0;bottom:0;left:0;perspective:1200px;overflow:hidden;z-index:1}.section{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;overflow:hidden;visibility:hidden;backface-visibility:hidden}.section--active{visibility:visible;z-index:2}.section--leaving{visibility:visible;z-index:1}.section--about{align-items:stretch}.section--brain{align-items:flex-start;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.section--brain::-webkit-scrollbar{display:none}.section--leaving.dir-left{transform-origin:left center}.section--active.dir-left{transform-origin:right center}.section--active.dir-left{animation:cube-in-left 1s cubic-bezier(.77,0,.175,1) both}.section--leaving.dir-left{animation:cube-out-left 1s cubic-bezier(.77,0,.175,1) both}@keyframes cube-in-left{0%{transform:rotateY(90deg);opacity:0}to{transform:rotateY(0);opacity:1}}@keyframes cube-out-left{0%{transform:rotateY(0);opacity:1}to{transform:rotateY(90deg);opacity:0}}.section--leaving.dir-right{transform-origin:right center}.section--active.dir-right{transform-origin:left center}.section--active.dir-right{animation:cube-in-right 1s cubic-bezier(.77,0,.175,1) both}.section--leaving.dir-right{animation:cube-out-right 1s cubic-bezier(.77,0,.175,1) both}@keyframes cube-in-right{0%{transform:rotateY(-90deg);opacity:0}to{transform:rotateY(0);opacity:1}}@keyframes cube-out-right{0%{transform:rotateY(0);opacity:1}to{transform:rotateY(-90deg);opacity:0}}.section--leaving.dir-up{transform-origin:center top}.section--active.dir-up{transform-origin:center bottom}.section--active.dir-up{animation:cube-in-up 1s cubic-bezier(.77,0,.175,1) both}.section--leaving.dir-up{animation:cube-out-up 1s cubic-bezier(.77,0,.175,1) both}@keyframes cube-in-up{0%{transform:rotateX(-90deg);opacity:0}to{transform:rotateX(0);opacity:1}}@keyframes cube-out-up{0%{transform:rotateX(0);opacity:1}to{transform:rotateX(90deg);opacity:0}}.section--leaving.dir-down{transform-origin:center bottom}.section--active.dir-down{transform-origin:center top}.section--active.dir-down{animation:cube-in-down 1s cubic-bezier(.77,0,.175,1) both}.section--leaving.dir-down{animation:cube-out-down 1s cubic-bezier(.77,0,.175,1) both}@keyframes cube-in-down{0%{transform:rotateX(90deg);opacity:0}to{transform:rotateX(0);opacity:1}}@keyframes cube-out-down{0%{transform:rotateX(0);opacity:1}to{transform:rotateX(90deg);opacity:0}}.cursor{position:fixed;width:12px;height:12px;border-radius:50%;background:var(--accent);pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .05s,width .2s,height .2s,opacity .2s;mix-blend-mode:difference}.cursor--large{width:40px;height:40px;background:transparent;border:1.5px solid var(--accent)}.landing{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;position:relative;width:100%;height:100%}.landing__eyes-row{display:flex;align-items:center;gap:clamp(2rem,6vw,7rem)}.landing__name{font-family:var(--font-display);font-size:clamp(2rem,5.5vw,5.5rem);font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--text);line-height:1}.landing__title{font-size:clamp(.75rem,1.4vw,1rem);color:var(--text-muted);letter-spacing:.25em;text-transform:uppercase;font-weight:300}.landing__hint{position:absolute;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);opacity:.5;font-family:var(--font-body);transition:opacity .3s;pointer-events:none}.landing__hint--left{left:2rem;top:50%;transform:translateY(-50%)}.landing__hint--right{right:2rem;top:50%;transform:translateY(-50%)}.landing__hint--up{top:2rem;left:50%;transform:translate(-50%)}.landing__hint--down{bottom:2rem;left:50%;transform:translate(-50%)}.landing__hint--active{opacity:1;color:var(--accent)}.eye-wrap{border-radius:50%;transform-origin:center;animation:blink 7s ease-in-out infinite}@keyframes blink{0%,92%,to{transform:scaleY(1)}96%{transform:scaleY(.06)}}.eye{border-radius:50%;position:relative;overflow:hidden;background:radial-gradient(circle at 38% 35%,#fff,#e8dfd0 70%,#c8bfaf);box-shadow:0 0 0 3px #ffffff0f,0 0 60px var(--accent-glow),inset 0 4px 12px #0000004d}.eye__iris{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 32%,#c4950a,#7a5c08 40%,#3a2c04);transition:transform .06s linear;will-change:transform}.eye__pupil{position:absolute;border-radius:50%;background:#060608;box-shadow:inset 0 0 6px #ffffff26}.eye__shine-1{position:absolute;border-radius:50%;background:#ffffffd9;pointer-events:none}.eye__shine-2{position:absolute;border-radius:50%;background:#fff6;pointer-events:none}.nose-wrap{display:flex;flex-direction:column;align-items:center;gap:.3rem;margin-top:-.5rem}.nose{cursor:pointer!important;transition:filter .3s,transform .3s;filter:drop-shadow(0 0 0px var(--accent))}.nose:hover{filter:drop-shadow(0 0 10px var(--accent));transform:scale(1.08)}.nose--inhaling{animation:inhale .7s cubic-bezier(.34,1.56,.64,1)}@keyframes inhale{0%{transform:scale(1)}25%{transform:scale(1.35) scaleX(.75)}55%{transform:scale(1.5) scaleX(.65)}75%{transform:scale(1.2) scaleX(.85)}to{transform:scale(1)}}.nose-label{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);opacity:0;transition:opacity .3s}.nose-wrap:hover .nose-label{opacity:1}.edge-indicator{position:fixed;z-index:100;pointer-events:none;display:flex;align-items:center;justify-content:center;gap:.5rem}.edge-indicator--left{left:1.2rem;top:50%;transform:translateY(-50%);flex-direction:column}.edge-indicator--right{right:1.2rem;top:50%;transform:translateY(-50%);flex-direction:column}.edge-indicator--up{top:1.2rem;left:50%;transform:translate(-50%)}.edge-indicator--down{bottom:1.2rem;left:50%;transform:translate(-50%)}.edge-indicator__arrow{font-size:1.4rem;color:var(--accent);animation:pulse-arrow .8s ease-in-out infinite}@keyframes pulse-arrow{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.edge-indicator__progress{background:#ffffff1a;border-radius:4px;overflow:hidden}.edge-indicator--left .edge-indicator__progress,.edge-indicator--right .edge-indicator__progress{width:3px;height:60px}.edge-indicator--up .edge-indicator__progress,.edge-indicator--down .edge-indicator__progress{width:60px;height:3px}.edge-indicator__fill{background:var(--accent);border-radius:4px;animation:fill-progress var(--fill-duration, .7s) linear forwards}.edge-indicator--left .edge-indicator__fill,.edge-indicator--right .edge-indicator__fill{width:100%;height:0%;animation-name:fill-v}.edge-indicator--up .edge-indicator__fill,.edge-indicator--down .edge-indicator__fill{width:0%;height:100%;animation-name:fill-h}@keyframes fill-v{to{height:100%}}@keyframes fill-h{to{width:100%}}.edge-indicator__label{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-family:var(--font-body);white-space:nowrap}.section-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.section-bg:after{content:none}.face-silhouette{position:absolute;width:min(50vw,50vh);height:min(65vw,65vh);border-radius:50%/45% 45% 55% 55%;border:1px solid rgba(255,255,255,.03);box-shadow:0 0 120px #f0a5000a inset;pointer-events:none}.about{display:flex;flex-direction:column;align-items:flex-start;max-width:680px;padding:4rem;gap:2rem;position:relative}.about__ear{position:absolute;right:-2rem;top:50%;transform:translateY(-50%);opacity:.15}.section-tag{font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;color:var(--accent);font-family:var(--font-body);font-weight:500}.section-heading{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:1.05;color:var(--text)}.section-body{font-size:clamp(.9rem,1.5vw,1.05rem);line-height:1.75;color:#e8e6e0b3;font-weight:300}.about__photo{width:90px;height:90px;border-radius:50%;background:var(--surface);border:2px solid var(--border);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.7rem;letter-spacing:.1em;flex-shrink:0}.about__header{display:flex;align-items:center;gap:1.5rem}.about__name-block{display:flex;flex-direction:column;gap:.4rem}.about__hero{width:100%;height:300px;position:relative;border-radius:.75rem;overflow:hidden;border:1px solid var(--border);flex-shrink:0}.about__hero-img{width:100%;height:100%;object-fit:cover;object-position:center top}.about__hero-overlay{position:absolute;bottom:0;left:0;right:0;padding:1.2rem 1.5rem;background:linear-gradient(to top,rgba(8,8,10,.88) 0%,transparent 100%);display:flex;flex-direction:column;gap:.25rem}.about__tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.tag{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:.3rem .8rem;border-radius:2rem;border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-body);transition:border-color .3s,color .3s}.tag:hover{border-color:var(--accent);color:var(--accent);cursor:default!important}.about-scroller{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;display:flex;justify-content:center;align-items:flex-start}.about-scroller::-webkit-scrollbar{display:none}.about__scroll-line{position:absolute;left:-2rem;top:2rem;bottom:2rem;width:2px;background:#ffffff0f;border-radius:2px;pointer-events:none}.about__scroll-fill{position:absolute;top:0;left:0;width:100%;background:linear-gradient(to bottom,var(--accent),rgba(240,165,0,.3));box-shadow:0 0 10px #f0a50080;border-radius:2px;transition:height .1s ease}.about__scroll-dot{position:absolute;left:50%;transform:translate(-50%,-50%);width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent),0 0 4px #f0a500cc;transition:top .1s ease}.section--research{align-items:flex-start;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.section--research::-webkit-scrollbar{display:none}.research{max-width:680px;width:100%;padding:3rem 4rem;display:flex;flex-direction:column;gap:2rem;position:relative}.pub-list{display:flex;flex-direction:column;gap:1rem}.pub-item{display:flex;flex-direction:column;gap:.5rem;padding:1.1rem 1.3rem;border:1px solid var(--border);border-radius:.75rem;background:#ffffff05;transition:border-color .25s,background .25s,transform .25s;text-decoration:none;color:inherit;position:relative}.pub-item--link{cursor:pointer!important}.pub-item--link:hover{border-color:#4a8fff66;background:#4a8fff0a;transform:translateY(-2px)}.pub-item--static{cursor:default!important}.pub-item__arrow{position:absolute;top:1.1rem;right:1.2rem;font-size:.85rem;color:var(--blue);opacity:0;transition:opacity .2s,transform .2s}.pub-item--link:hover .pub-item__arrow{opacity:1;transform:translate(2px,-2px)}.pub-item__status{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;font-family:var(--font-body);font-weight:600;width:fit-content;padding:.2rem .6rem;border-radius:1rem}.pub-item__body{display:flex;flex-direction:column;gap:.2rem}.pub-item__title{font-family:var(--font-display);font-size:.88rem;font-weight:700;color:var(--text)}.pub-item__venue{font-size:.72rem;color:var(--blue);letter-spacing:.05em}.pub-item__desc{font-size:.78rem;color:#e8e6e08c;line-height:1.6;font-weight:300;margin-top:.15rem}.brain{max-width:640px;padding:4rem;display:flex;flex-direction:column;gap:2rem}.thought-bubbles{display:flex;flex-direction:column;gap:1rem}.thought{display:flex;align-items:flex-start;gap:1rem;opacity:0;transform:translateY(20px);animation:float-in .5s ease forwards}.thought:nth-child(1){animation-delay:.1s}.thought:nth-child(2){animation-delay:.25s}.thought:nth-child(3){animation-delay:.4s}.thought:nth-child(4){animation-delay:.55s}@keyframes float-in{to{opacity:1;transform:translateY(0)}}.thought__dot{width:8px;height:8px;border-radius:50%;background:var(--purple);margin-top:.4rem;flex-shrink:0;box-shadow:0 0 12px var(--purple)}.thought__text{font-size:.95rem;color:#e8e6e0bf;line-height:1.65;font-weight:300}.thought__text strong{color:var(--text);font-weight:500}.contact{display:flex;flex-direction:column;align-items:center;gap:2.5rem;padding:4rem;max-width:600px;text-align:center}.contact__mouth{position:relative;width:180px;height:80px}.contact__links{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:360px}.contact-link{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#ffffff08;border:1px solid var(--border);border-radius:.75rem;text-decoration:none;color:var(--text);font-family:var(--font-body);font-size:.9rem;letter-spacing:.05em;transition:border-color .3s,background .3s,transform .3s;cursor:pointer!important;opacity:0;animation:slide-up .4s ease forwards}.contact-link:nth-child(1){animation-delay:.1s}.contact-link:nth-child(2){animation-delay:.2s}.contact-link:nth-child(3){animation-delay:.3s}.contact-link:nth-child(4){animation-delay:.4s}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.contact-link:hover{border-color:var(--accent);background:var(--accent-glow);transform:translate(4px)}.contact-link__icon{font-size:1.2rem;width:1.5rem;text-align:center;flex-shrink:0}.contact-link__label{flex:1}.contact-link__value{font-size:.75rem;color:var(--text-muted);letter-spacing:.05em}.back-btn{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:50;font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-muted);background:transparent;border:1px solid var(--border);padding:.5rem 1.2rem;border-radius:2rem;font-family:var(--font-body);transition:color .3s,border-color .3s;cursor:pointer!important;opacity:0;animation:fade-in .6s .8s ease forwards}.back-btn:hover{color:var(--accent);border-color:var(--accent)}@keyframes fade-in{to{opacity:1}}.edge-glow-container{position:fixed;pointer-events:none;z-index:200}.edge-glow-container--left{left:0;top:0;width:32vw;height:100vh}.edge-glow-container--right{right:0;top:0;width:32vw;height:100vh}.edge-glow-container--up{top:0;left:0;width:100vw;height:32vh}.edge-glow-container--down{bottom:0;left:0;width:100vw;height:32vh}.edge-glow__bloom{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.edge-glow__label{position:absolute;font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;font-family:var(--font-body);white-space:nowrap;font-weight:500}.edge-glow-container--left .edge-glow__label{left:1.2rem;top:50%;transform:translateY(-50%) rotate(-90deg)}.edge-glow-container--right .edge-glow__label{right:1.2rem;top:50%;transform:translateY(-50%) rotate(90deg)}.edge-glow-container--up .edge-glow__label{top:1rem;left:50%;transform:translate(-50%)}.edge-glow-container--down .edge-glow__label{bottom:1rem;left:50%;transform:translate(-50%)}.edge-glow__progress{position:absolute;border-radius:2px}.edge-glow-container--left .edge-glow__progress{left:0;top:0;width:2px;height:0;animation:grow-v var(--dur) linear forwards}.edge-glow-container--right .edge-glow__progress{right:0;top:0;width:2px;height:0;animation:grow-v var(--dur) linear forwards}.edge-glow-container--up .edge-glow__progress{top:0;left:0;height:2px;width:0;animation:grow-h var(--dur) linear forwards}.edge-glow-container--down .edge-glow__progress{bottom:0;left:0;height:2px;width:0;animation:grow-h var(--dur) linear forwards}@keyframes grow-v{to{height:100%}}@keyframes grow-h{to{width:100%}}.experience{max-width:1060px;width:100%;padding:3rem 4rem;display:grid;grid-template-columns:200px 1fr;gap:0 3.5rem;align-items:start;position:relative}.experience__header-row{grid-column:1 / -1;display:flex;align-items:baseline;gap:1.5rem;flex-wrap:wrap;margin-bottom:.5rem}.experience__tag-row{grid-column:1 / -1}.skills-panel{display:flex;flex-direction:column;gap:1.6rem;position:sticky;top:3rem;align-self:start}.skill-group{display:flex;flex-direction:column;gap:.55rem}.skill-group__label{font-size:.55rem;letter-spacing:.25em;text-transform:uppercase;font-family:var(--font-body);font-weight:600;padding-bottom:.35rem;border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:.1rem}.skill-bar{display:flex;flex-direction:column;gap:.22rem}.skill-bar__name{font-size:.68rem;color:var(--text-muted);font-family:var(--font-body);letter-spacing:.03em}.skill-bar__track{height:2px;background:#ffffff0f;border-radius:2px;overflow:hidden}.skill-bar__fill{height:100%;border-radius:2px;width:0%;animation:skill-grow .9s cubic-bezier(.22,1,.36,1) forwards;animation-delay:var(--delay, 0s);background:var(--color, var(--purple));box-shadow:0 0 6px var(--color, var(--purple))}@keyframes skill-grow{to{width:var(--target, 0%)}}.timeline{display:flex;flex-direction:column;gap:0;position:relative}.timeline:before{content:"";position:absolute;left:5.5rem;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,var(--purple),transparent);opacity:.3}.timeline-item{display:grid;grid-template-columns:5.5rem 1px 1fr;gap:0 1.5rem;padding-bottom:2rem;position:relative}.timeline-item__year{font-size:.65rem;letter-spacing:.12em;color:var(--purple);text-align:right;padding-top:.1rem;opacity:.75;font-family:var(--font-body)}.timeline-item__dot{width:7px;height:7px;border-radius:50%;background:var(--purple);margin:.25rem auto 0;box-shadow:0 0 10px var(--purple);flex-shrink:0}.timeline-item__content{padding-left:0}.timeline-item__title{font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--text);margin-bottom:.2rem}.timeline-item__sub{font-size:.75rem;color:var(--text-muted);letter-spacing:.05em;margin-bottom:.5rem}.timeline-item__desc{font-size:.82rem;color:#e8e6e099;line-height:1.65;font-weight:300}.timeline-section-label{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:#9b72f580;padding:1.2rem 0 .8rem 7rem;font-family:var(--font-body)}.cv-download-btn{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--purple);border:1px solid rgba(155,114,245,.35);padding:.45rem 1rem;border-radius:2rem;text-decoration:none;font-family:var(--font-body);font-weight:500;transition:color .25s,border-color .25s,background .25s;cursor:pointer!important;white-space:nowrap}.cv-download-btn:hover{color:#fff;border-color:var(--purple);background:#9b72f526}.contact{display:flex;flex-direction:column;align-items:flex-start;gap:2.2rem;padding:4rem 5rem;max-width:680px;position:relative;width:100%}.contact__monogram{position:absolute;right:2rem;top:50%;transform:translateY(-50%);font-family:var(--font-display);font-size:clamp(6rem,14vw,12rem);font-weight:800;color:#ffffff06;pointer-events:none;-webkit-user-select:none;user-select:none;letter-spacing:.05em;line-height:1}.contact__header{display:flex;flex-direction:column;gap:.7rem}.contact__grid{display:flex;flex-direction:column;gap:.6rem;width:100%;max-width:440px}.contact-item{display:flex;align-items:center;gap:1.2rem;padding:.85rem 1.2rem;border-radius:.6rem;border:1px solid transparent;text-decoration:none;color:var(--text);transition:border-color .25s,background .25s,transform .25s;cursor:pointer!important;opacity:0;animation:slide-up .4s ease forwards}.contact-item:nth-child(1){animation-delay:.08s}.contact-item:nth-child(2){animation-delay:.18s}.contact-item:nth-child(3){animation-delay:.28s}.contact-item:nth-child(4){animation-delay:.38s}.contact-item:hover{border-color:var(--item-color, var(--accent));background:#ffffff08;transform:translate(6px)}.contact-item__key{font-family:var(--font-display);font-size:.8rem;font-weight:700;width:2rem;text-align:center;flex-shrink:0;letter-spacing:.04em}.contact-item__text{display:flex;flex-direction:column;gap:.1rem;flex:1}.contact-item__label{font-size:.82rem;font-weight:500;color:var(--text);letter-spacing:.04em}.contact-item__value{font-size:.72rem;color:var(--text-muted);letter-spacing:.03em}.contact-item__arrow{font-size:.9rem;color:var(--text-muted);opacity:0;transition:opacity .2s,transform .2s}.contact-item:hover .contact-item__arrow{opacity:1;transform:translate(3px)}.contact__hint{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);opacity:.45;font-family:var(--font-body);margin-top:.5rem}
