@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/bebas-neue-latin.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/space-grotesk-latin.woff2)format("woff2")}:root{--bg:#1a1917;--surface:#252422;--surface-alt:#2e2c29;--surface-lift:#353330;--glass-bg:#161513f5;--glass-border:#e2e2e21a;--chrome-bg:#1615139e;--text-main:#faf9f6;--text-mid:#afaeac;--text-muted:#9d9b98;--accent:#c8a97e;--accent-dim:#c8a97e17;--accent-mid:#c8a97e38;--accent-glow:0 0 28px #c8a97e38;--card-radius:12px;--font-display:"Bebas Neue", "Arial Narrow", sans-serif;--font-body:"Space Grotesk", system-ui, sans-serif;--ease-out:cubic-bezier(.22, 1, .36, 1);--easing-bounce:cubic-bezier(.34, 1.26, .64, 1)}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth;scrollbar-color:var(--surface-lift) var(--bg);font-size:100%;overflow-x:clip}@media (pointer:fine){html{overscroll-behavior:none}}body{font-family:var(--font-body);color:var(--text-main);background-color:var(--bg);line-height:1.6;position:relative;overflow-x:clip}::selection{background:var(--accent);color:var(--bg)}a,button{touch-action:manipulation}h1,h2,h3,h4{text-wrap:balance}.sprite{position:absolute;overflow:hidden}.icon{fill:currentColor;vertical-align:-.125em;flex-shrink:0;width:auto;height:1em;display:inline-block}.skip-link{z-index:2000;background:var(--accent);color:var(--bg);transition:transform .2s var(--ease-out);border-radius:50px;padding:10px 16px;font-size:.875rem;font-weight:600;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}main:focus{outline:none}@keyframes enterDown{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes navbarEnterDown{0%{opacity:0;transform:translate(-50%)translateY(-24px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes enterScale{0%{opacity:0;transform:scale(.94)translateY(14px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes pulseRing{0%{opacity:.6;transform:scale(1)}80%{opacity:0;transform:scale(1.18)}to{opacity:0;transform:scale(1.18)}}@keyframes shimmer{0%{left:-80%}to{left:120%}}@keyframes blink{50%{opacity:0}}@keyframes clickBounce{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}@keyframes iconSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes chevronFlow{0%{opacity:0;transform:rotate(45deg)translate(-3px,-3px)}40%{opacity:.85;transform:rotate(45deg)translate(0)}80%{opacity:.2;transform:rotate(45deg)translate(3px,3px)}to{opacity:0;transform:rotate(45deg)translate(3px,3px)}}@keyframes glowPulse{0%,to{opacity:.7}50%{opacity:1}}.bg-fixed{z-index:-1;pointer-events:none;width:100%;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.bg-glow{pointer-events:none;z-index:5;background:radial-gradient(60% 55% at 50% 48%,#c8a97e24 0%,#c8a97e0a 40%,#0000 70%),radial-gradient(90% 90%,#0000 28%,#0000007a 100%);animation:7s ease-in-out infinite glowPulse;position:absolute;inset:0}@media (width<=768px){.bg-glow{opacity:.85;animation:none}}.bg-scanlines{z-index:2;pointer-events:none;background:repeating-linear-gradient(#0000 0 3px,#ffffff02 3px 4px);position:absolute;inset:0}.bg-noise{z-index:3;opacity:.12;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");position:absolute;inset:0}.navbar{z-index:1000;background:var(--chrome-bg);-webkit-backdrop-filter:blur(28px)saturate(180%);width:max-content;max-width:calc(100vw - 32px);animation:navbarEnterDown .55s var(--ease-out) both;border:1px solid #ffffff1a;border-radius:50px;justify-content:center;align-items:center;padding:5px 8px;transition:box-shadow .3s;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 40px #00000059,inset 0 1px #ffffff12}@keyframes navbarScrollRevealBottom{0%{opacity:0;filter:blur(8px);transform:translate(-50%)translateY(20px)scale(.95)}to{opacity:1;filter:blur();transform:translate(-50%)translateY(0)scale(1)}}@keyframes navbarScrollHideBottom{to{opacity:0;transform:translate(-50%)translateY(14px)scale(.96)}}.navbar:hover{box-shadow:0 6px 40px #00000080,inset 0 1px #ffffff0a}.nav-links{align-items:center;gap:2px;display:flex}.nav-btn{font-family:var(--font-body);color:var(--text-mid);cursor:pointer;letter-spacing:.02em;white-space:nowrap;background:0 0;border:none;border-radius:30px;align-items:center;padding:9px 18px;font-size:.875rem;font-weight:500;line-height:1.28;text-decoration:none;transition:background .2s,color .2s,transform .15s;display:inline-flex}.nav-btn:hover{color:var(--accent);background:#c8a97e14;transform:translateY(-1px)}.nav-btn:active{transform:scale(.96)}.lang-btn{align-items:center;gap:6px;margin-left:2px;display:flex}.lang-anim{animation:.4s clickBounce}.lang-anim .icon{animation:.6s iconSpin}@media (width<=600px){.navbar{top:auto;bottom:calc(20px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(24px)saturate(160%);opacity:0;pointer-events:none;padding:4px 6px;animation:none;box-shadow:0 -4px 32px #0006,inset 0 1px #ffffff17}.navbar:not(.nav-visible):not(.nav-hiding){visibility:hidden}.navbar.nav-visible{animation:navbarScrollRevealBottom .55s var(--ease-out) forwards;pointer-events:auto}.navbar.nav-hiding{animation:.3s forwards navbarScrollHideBottom}.nav-btn{justify-content:center;min-width:44px;min-height:44px;padding:8px 14px;font-size:.825rem}}section{flex-direction:column;justify-content:center;width:100%;min-height:100dvh;display:flex;position:relative}.section-container{justify-content:flex-start;max-width:1200px;margin:0 auto;padding:120px 24px 80px}.hero-cursor{color:var(--accent);animation:.5s ease-in-out infinite blink;display:inline}h1{color:var(--text-main);font-family:var(--font-display);letter-spacing:.08em;text-align:center;z-index:10;text-transform:uppercase;width:100%;margin:0;font-size:clamp(2rem,4vw,3.2rem);font-weight:400;line-height:1.1;position:relative}.section-title{color:var(--text-main);font-family:var(--font-display);text-align:center;letter-spacing:.06em;text-transform:uppercase;min-height:1.15em;margin-bottom:60px;font-size:clamp(2rem,6vw,4.5rem);font-weight:400;display:block}.section-title:after{content:"|";color:var(--accent);animation:1s step-end infinite blink}.action-btn{font-family:var(--font-body);cursor:pointer;transition:transform .25s var(--easing-bounce), box-shadow .25s ease;letter-spacing:.03em;border:none;border-radius:50px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:.875rem;font-weight:500;line-height:1.28;text-decoration:none;display:flex;position:relative;overflow:hidden}.action-btn.primary{background:var(--accent);color:var(--bg);box-shadow:0 4px 20px #c8a97e40}.action-btn.primary:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#fff3,#0000);width:55%;height:100%;animation:3s ease-in-out 1.5s infinite shimmer;position:absolute;top:0;left:-80%}.action-btn.secondary{background:var(--surface-alt);border:1px solid var(--glass-border);color:var(--text-mid)}.action-btn:hover{transform:translateY(-3px)}.action-btn.primary:hover{box-shadow:0 8px 28px #c8a97e59}.action-btn.secondary:hover{border-color:var(--accent-mid);color:var(--accent);background:var(--accent-dim)}.action-btn:active{transform:scale(.97)translateY(0)}.projects-grid{perspective:1400px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.bento-card{background:var(--surface);border-radius:var(--card-radius);color:inherit;height:290px;transform-style:preserve-3d;border:1px solid #e2e2e21a;flex-direction:column;text-decoration:none;transition:box-shadow .35s,border-color .3s;display:flex;overflow:hidden;box-shadow:0 2px 16px #00000040}.bento-card:hover{border-color:#c8a97e40;box-shadow:0 32px 80px #000000b3,0 0 0 1px #c8a97e47,0 0 60px #c8a97e12,inset 0 1px #ffffff0a}.bento-card:active{transform:scale(.98)}.card-image-container{background:var(--surface-alt);flex-shrink:0;width:100%;height:65%;overflow:hidden}.browser-frame{flex-direction:column;width:100%;height:100%;display:flex}.browser-bar{background:var(--surface-lift);border-bottom:1px solid #e2e2e20f;flex-shrink:0;align-items:center;gap:7px;height:30px;padding:0 10px;display:flex}.browser-dots{flex-shrink:0;align-items:center;gap:4px;display:flex}.browser-dots span{opacity:.85;border-radius:50%;width:7px;height:7px}.browser-dots span:first-child{background:#ff5f57}.browser-dots span:nth-child(2){background:#febc2e}.browser-dots span:nth-child(3){background:#28c840}.browser-url{height:19px;font-family:var(--font-body);color:var(--text-muted);white-space:nowrap;letter-spacing:.01em;background:#ffffff0a;border:1px solid #e2e2e214;border-radius:4px;flex:1;align-items:center;max-width:200px;margin:0 auto;padding:0 8px;font-size:.6875rem;display:flex;overflow:hidden}.browser-viewport{flex:1;position:relative;overflow:hidden}.browser-viewport:before{content:"";pointer-events:none;z-index:2;background:linear-gradient(135deg,#ffffff0f 0%,#ffffff05 30%,#0000 60%);transition:opacity .35s;position:absolute;inset:0}.bento-card:hover .browser-viewport:before{opacity:.5}.browser-viewport img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .55s cubic-bezier(.22,1,.36,1);display:block}.bento-card:hover .browser-viewport img{transform:scale(1.06)translateY(-2%)}.card-content{background:var(--surface);border-top:1px solid #e2e2e212;justify-content:space-between;align-items:center;height:35%;padding:0 20px;transition:background .3s;display:flex}.bento-card:hover .card-content{background:#c8a97e08}.card-text h3{color:var(--text-main);margin-bottom:3px;font-size:.95rem;font-weight:600;transition:color .2s}.bento-card:hover .card-text h3{color:var(--accent)}.card-text p{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}.card-icon{background:var(--surface-alt);border:1px solid var(--glass-border);width:34px;height:34px;color:var(--text-muted);transition:background .25s ease, color .25s ease, transform .35s var(--easing-bounce);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.bento-card:hover .card-icon{background:var(--accent);color:var(--bg);border-color:var(--accent);transform:scale(1.1)rotate(-8deg);box-shadow:0 4px 16px #c8a97e4d}.bento-card.is-archived{cursor:default}.bento-card.is-archived .browser-viewport img{filter:grayscale(.6)}.card-badge{border:1px solid var(--glass-border);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);border-radius:50px;flex-shrink:0;padding:4px 10px;font-size:.65rem;font-weight:600}.cv-grid{grid-template-columns:1.5fr 1fr;gap:24px;display:grid}.cv-card{margin-bottom:24px;padding:28px}.cv-card h3{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--glass-border);align-items:center;gap:10px;margin-bottom:24px;padding-bottom:12px;font-size:.6875rem;font-weight:600;display:flex}.cv-card h3 .icon{opacity:.8;font-size:.9rem}.timeline-item{border-left:1.5px solid var(--accent-mid);margin-bottom:28px;padding-left:22px;transition:border-color .3s;position:relative}.timeline-item:hover{border-left-color:var(--accent)}.timeline-item:before{content:"";background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 3px var(--accent-dim);transition:transform .3s var(--easing-bounce), box-shadow .3s ease;border-radius:50%;position:absolute;top:4px;left:-5px}.timeline-item:hover:before{box-shadow:0 0 0 5px var(--accent-dim), var(--accent-glow);transform:scale(1.4)}.date-badge{background:var(--surface-alt);border:1px solid var(--glass-border);color:var(--text-muted);letter-spacing:.06em;border-radius:4px;margin-bottom:7px;padding:3px 9px;font-size:.7rem;font-weight:600;display:inline-block}.date-badge.current{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-mid)}.timeline-item h4{color:var(--text-main);margin-bottom:2px;font-size:.97rem;font-weight:600;transition:color .2s}.timeline-item:hover h4{color:var(--accent)}.institution{color:var(--text-mid);margin-bottom:5px;font-size:.82rem;font-weight:500}.details{color:var(--text-muted);font-size:.85rem;line-height:1.55}.details-list{color:var(--text-muted);gap:8px;margin-top:8px;font-size:.85rem;line-height:1.55;list-style:none;display:grid}.details-list li{padding-left:14px;position:relative}.details-list li:before{content:"";background:var(--accent);opacity:.6;border-radius:50%;width:4px;height:4px;position:absolute;top:.65em;left:0}.details-list strong{color:var(--text-mid);font-weight:600}.cv-card .timeline-item:last-child{margin-bottom:0}.cv-profile{color:var(--text-mid);max-width:70ch;font-size:.9rem;line-height:1.65}.skill-group+.skill-group{margin-top:22px}.skill-group-title{color:var(--text-main);margin-bottom:10px;font-size:.82rem;font-weight:600}.skill-tags{flex-wrap:wrap;gap:6px;list-style:none;display:flex}.skill-tags li{background:var(--surface-alt);border:1px solid var(--glass-border);color:var(--text-mid);border-radius:4px;padding:4px 10px;font-size:.78rem;line-height:1.4}.download-container{text-align:center;margin-top:20px}.download-btn{background:var(--accent);min-height:44px;color:var(--bg);letter-spacing:.03em;transition:transform .3s var(--easing-bounce), box-shadow .3s ease;border-radius:50px;align-items:center;gap:8px;padding:11px 24px;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #c8a97e33}.download-btn:after{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:55%;height:100%;transition:left .4s;position:absolute;top:0;left:-80%}.download-btn:hover{transform:translateY(-3px)scale(1.02);box-shadow:0 10px 30px #c8a97e52}.download-btn:hover:after{left:120%}.glass-card{background:var(--surface);border:1px solid #e2e2e259;box-shadow:0 8px 40px #0000004d}.glass-panel{background:var(--surface);border:1px solid #e2e2e21a;border-radius:14px;transition:box-shadow .3s,transform .3s;box-shadow:0 2px 20px #0003}.glass-panel:hover{box-shadow:0 6px 32px #0000004d}.personal-details p{color:var(--text-mid);margin-bottom:8px;font-size:.88rem;line-height:1.55;transition:color .2s}.personal-details p:hover{color:var(--text-main)}.personal-details strong{color:var(--text-main);font-weight:600}.scroll-indicator{z-index:50;pointer-events:none;opacity:0;filter:blur(5px);flex-direction:column;align-items:center;gap:10px;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1),filter .5s;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(18px)scale(.88)}.scroll-indicator.is-visible{opacity:1;filter:blur();transform:translate(-50%)translateY(0)scale(1)}.scroll-code{font-family:var(--font-body);letter-spacing:.1em;color:var(--text-muted);align-items:center;gap:4px;font-size:.68rem;display:flex}.scroll-comment{color:var(--accent);opacity:.8;font-style:italic}.scroll-label{text-transform:uppercase;letter-spacing:.15em}.scroll-cur{color:var(--accent);font-weight:700;animation:1s step-end infinite blink}.scroll-chevrons{flex-direction:column;align-items:center;gap:4px;display:flex}.scroll-chevrons span{border-right:1.5px solid var(--accent);border-bottom:1.5px solid var(--accent);opacity:0;width:8px;height:8px;animation:1.6s ease-in-out infinite chevronFlow;display:block;transform:rotate(45deg)}.scroll-chevrons span:first-child{animation-delay:0s}.scroll-chevrons span:nth-child(2){animation-delay:.2s}.scroll-chevrons span:nth-child(3){animation-delay:.4s}.scroll-indicator.hidden{pointer-events:none;opacity:0!important;filter:blur(4px)!important;transform:translate(-50%)translateY(12px)scale(.9)!important}.go-back{z-index:900;opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s;position:fixed;bottom:30px;right:30px}.go-back.visible{opacity:1;visibility:visible;transition-delay:0s}.go-back a{background:var(--chrome-bg);-webkit-backdrop-filter:blur(20px)saturate(160%);cursor:pointer;width:46px;height:46px;transition:transform .3s var(--easing-bounce), color .2s ease, border-color .2s ease, background .2s ease, box-shadow .3s ease;color:var(--text-mid);border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;display:flex;box-shadow:0 4px 24px #00000059,inset 0 1px #ffffff12}.go-back a:active{transform:scale(.94)}.go-back a:hover{color:var(--accent);border-color:var(--accent-mid);background:var(--accent-dim);transform:scale(1.15)translateY(-3px);box-shadow:0 8px 28px #c8a97e33}footer{text-align:center;color:var(--text-muted);letter-spacing:.06em;flex-direction:column;align-items:center;padding:60px 24px 40px;font-size:.82rem;display:flex}.footer-socials{justify-content:center;gap:4px;margin-bottom:6px;display:flex}.footer-socials a{width:44px;height:44px;color:var(--text-muted);transition:color .3s ease, transform .35s var(--easing-bounce);justify-content:center;align-items:center;font-size:1.2rem;display:inline-flex}.footer-socials a:hover{color:var(--accent);transform:translateY(-4px)scale(1.15)}.footer-line{background:var(--glass-border);width:32px;height:1px;margin-bottom:12px}.social-links{flex-direction:column;gap:10px;width:100%;margin-top:20px;display:flex}.social-item{background:var(--surface-alt);border:1px solid var(--glass-border);color:var(--text-mid);transition:background .25s ease, color .25s ease, border-color .25s ease, transform .3s var(--easing-bounce);border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:12px;font-size:.88rem;font-weight:500;text-decoration:none;display:flex}.social-item:hover{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-mid);transform:translate(4px)}.social-item .icon{transition:transform .3s var(--easing-bounce)}.social-item:hover .icon{transform:scale(1.2)rotate(-5deg)}.js [data-reveal]{opacity:0;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transform:translateY(24px)}.js [data-reveal=from-left]{transform:translate(-24px)}.js [data-reveal=from-right]{transform:translate(24px)}.js .bento-card[data-reveal]{transition:opacity .7s var(--ease-out), transform .7s var(--ease-out), box-shadow .35s ease, border-color .3s ease}.js [data-reveal].is-revealed{opacity:1;transform:none}.js .bento-card[data-reveal].is-revealed:active{transform:scale(.98)}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100dvh;padding:24px;display:flex}.not-found p{color:var(--text-mid);max-width:36ch}.not-found .not-found-code{font-family:var(--font-display);letter-spacing:.06em;color:var(--accent);font-size:clamp(5rem,22vw,6rem);line-height:.9}.not-found .action-btn{width:auto;margin-top:8px;padding:12px 28px}@media (width<=900px){.cv-grid{grid-template-columns:1fr}}@media (width<=600px){.go-back{bottom:80px}.go-back a{width:44px;height:44px}section{padding-bottom:80px}footer{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}.section-container{justify-content:flex-start;padding-top:60px}}@media (width<=400px){h1{font-size:1.75rem}.nav-btn{padding:7px 11px;font-size:.78rem}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.15s!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.bg-glow,.profile-img-wrapper:after,.action-btn.primary:after,.hero-cursor,.scroll-cur,.section-title:after,.scroll-chevrons span{animation:none!important}.scroll-chevrons span{opacity:.7}.js [data-reveal]{transform:none}.bento-card{transition-property:opacity,box-shadow,border-color!important}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.navbar,.go-back a{background:var(--surface);-webkit-backdrop-filter:none}}@media (prefers-contrast:more){:root{--text-mid:#d2d0cd;--text-muted:#bebcb9;--glass-border:#e2e2e266}.navbar,.go-back a,.bento-card,.glass-panel{border-color:#e2e2e28c}}html.is-loading{overflow:hidden}.intro{z-index:3000;background:var(--bg);clip-path:inset(0);animation:introFailsafe .6s 4s var(--ease-out) forwards;place-items:center;display:grid;position:fixed;inset:0}.intro.is-running{animation:none}@keyframes introFailsafe{to{opacity:0;visibility:hidden}}.intro-name{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;color:var(--text-main);flex-direction:column;align-items:center;font-size:clamp(3.6rem,14vw,12.5rem);line-height:.86;display:flex}.intro-line{padding:.04em .06em 0;display:block;overflow:hidden}.intro-word{animation:introRise 1.05s var(--ease-out) .1s forwards;display:block;transform:translateY(105%)}.intro-line:nth-child(2) .intro-word{animation-delay:.22s}.intro-dot{color:var(--accent)}@keyframes introRise{to{transform:translateY(0)}}.intro.is-exiting .intro-word{animation:none;transform:none}.intro-foot{letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted);opacity:0;animation:introFade .8s var(--ease-out) .6s forwards;justify-content:space-between;align-items:baseline;font-size:.72rem;display:flex;position:absolute;bottom:clamp(28px,5vh,48px);left:clamp(20px,4vw,48px);right:clamp(20px,4vw,48px)}.intro-count{font-family:var(--font-display);letter-spacing:.06em;color:var(--accent);font-variant-numeric:tabular-nums;font-size:1.6rem}@keyframes introFade{to{opacity:1}}.intro-bar{background:#ffffff0d;height:2px;position:absolute;bottom:0;left:0;right:0}.intro-bar span{background:var(--accent);transform-origin:0;height:100%;display:block;transform:scaleX(0);box-shadow:0 0 12px #c8a97e99}@media (prefers-reduced-motion:reduce){.intro-word{transform:none}}.stage-section{min-height:100svh;display:block}.stage-sticky{flex-direction:column;align-items:center;gap:48px;padding:110px 20px 90px;display:flex;position:relative}.stage-head{text-align:center;width:100%}.stage-kicker{letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted);margin-bottom:14px;font-size:.72rem}.stage-head h1{min-height:1.1em}.stage-canvas{display:none}.stage-anchor{pointer-events:none;visibility:hidden;width:1px;height:100svh;position:absolute;bottom:0;left:0}.stage-sticky .scroll-indicator{position:absolute}.showcase{flex-direction:column;align-items:center;gap:72px;width:100%;display:flex}.showcase-info{text-align:center;width:100%;max-width:440px}.showcase-thumb{border:1px solid var(--glass-border);border-radius:var(--card-radius);width:100%;height:auto;margin-bottom:24px;display:none}.no-3d .showcase-thumb{display:block}@media (scripting:none){.showcase-thumb{display:block}}.showcase-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.showcase-live{width:auto;padding:13px 22px;display:inline-flex}.showcase-live[hidden]{display:none}.live-dot{background:#ff4b4b;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #ff4b4b2e}.showcase-live[aria-pressed=true]{color:var(--text-main);border-color:#ff4b4b73}.showcase-live[aria-pressed=true] .live-dot{animation:1.2s ease-in-out infinite liveBlink}.showcase-live .live-on,.showcase-live[aria-pressed=true] .live-off{display:none}.showcase-live[aria-pressed=true] .live-on{display:inline}@keyframes liveBlink{50%{opacity:.25}}.showcase-index{letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted);justify-content:center;align-items:baseline;gap:10px;margin-bottom:18px;font-size:.72rem;display:flex}.showcase-num{font-family:var(--font-display);letter-spacing:.04em;color:var(--accent);font-size:1.7rem}.showcase-total{margin-right:6px}.showcase-title{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;color:var(--text-main);margin-bottom:14px;font-size:clamp(2.6rem,6vw,5.5rem);font-weight:400;line-height:.92}.showcase-cat{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-size:.75rem;font-weight:500}.showcase-desc{max-width:36ch;color:var(--text-mid);margin:0 auto 26px;font-size:1rem;line-height:1.6}.showcase-cta{width:auto;padding:13px 26px;display:inline-flex}.has-3d .stage-section{height:660svh;position:relative}.has-3d .stage-anchor{height:1px;bottom:auto}.has-3d .stage-sticky{height:100svh;padding:0;display:block;position:sticky;top:0;overflow:hidden}.has-3d .stage-canvas{z-index:1;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.stage-css{z-index:2;pointer-events:none;position:absolute;inset:0}.has-3d .stage-head{z-index:3;pointer-events:none;padding:0 20px;position:absolute;top:clamp(78px,11svh,120px);left:0;right:0}.has-3d .showcase{z-index:3;pointer-events:none;display:block;position:absolute;inset:0}.has-3d .showcase-info{text-align:left;width:min(440px,34vw);position:absolute;top:50%;translate:0 -50%}.has-3d .showcase-info[data-side=left]{left:max(24px,7vw)}.has-3d .showcase-info[data-side=right]{right:max(24px,7vw)}.has-3d .showcase-info [data-part]{pointer-events:auto}.has-3d .showcase-thumb{display:none}.has-3d .showcase-index,.has-3d .showcase-actions{justify-content:flex-start}.has-3d .showcase-desc{margin-left:0}@media (width<=759.98px){.has-3d .stage-head{top:clamp(56px,9svh,90px)}.has-3d .showcase-info,.has-3d .showcase-info[data-side]{top:auto;left:20px;right:20px;bottom:calc(96px + env(safe-area-inset-bottom,0px));text-align:center;width:auto;translate:none}.has-3d .showcase-index,.has-3d .showcase-actions{justify-content:center}.has-3d .showcase-desc{margin:0 auto 18px;font-size:.9rem}.showcase-title{font-size:clamp(2.4rem,12vw,3.4rem)}}.screen{aspect-ratio:16/10;width:min(1000px,100%);color:var(--text-main);-webkit-font-smoothing:antialiased;background:#12110f;border:1px solid #e2e2e21f;border-radius:12px;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000080;container:screen/inline-size}.has-3d .screen{aspect-ratio:auto;width:1000px;height:625px;box-shadow:none;backface-visibility:hidden;border:0;border-radius:0}.has-3d .screen.is-compact{width:600px;height:375px}.screen:before{content:"";z-index:5;pointer-events:none;background:repeating-linear-gradient(#0000 0 3px,#ffffff04 3px 4px);position:absolute;inset:0}.screen:after{content:"";z-index:6;pointer-events:none;transform:translateX(var(--glare,0%));background:linear-gradient(112deg,#ffffff13 0%,#ffffff05 26%,#0000 44%);position:absolute;inset:0 -30%}.screen-app{background:radial-gradient(70% 65% at 72% 30%,#c8a97e1c,#0000 70%),linear-gradient(#181715,#100f0d);flex-direction:column;display:flex;position:absolute;inset:0}.os-bar{letter-spacing:.08em;height:4.4cqi;color:var(--text-muted);background:#ffffff06;border-bottom:1px solid #e2e2e214;flex:none;align-items:center;gap:1.6cqi;padding:0 1.8cqi;font-size:1.3cqi;display:flex}.os-dots{gap:.7cqi;display:flex}.os-dots i{background:#ff5f57;border-radius:50%;width:1.1cqi;height:1.1cqi}.os-dots i:nth-child(2){background:#febc2e}.os-dots i:nth-child(3){background:#28c840}.os-title{text-align:center;flex:1}.os-clock{font-variant-numeric:tabular-nums}.os-body{flex:1;grid-template-columns:22cqi 1fr;min-height:0;display:grid}.os-menu{background:#0000002e;border-right:1px solid #e2e2e212;flex-direction:column;gap:.6cqi;padding:2.4cqi 1.6cqi;display:flex}.os-item{font-family:var(--font-body);color:var(--text-mid);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:1cqi;align-items:center;gap:1.3cqi;padding:1.2cqi 1.5cqi;font-size:1.75cqi;font-weight:500;line-height:1.2;text-decoration:none;transition:background .2s,color .2s;display:flex;position:relative}.os-item .icon{width:1.9cqi;height:1.9cqi;color:var(--text-muted);transition:color .2s}.os-item:hover{color:var(--text-main);background:#ffffff0b}.os-item.is-active{background:var(--accent-dim);color:var(--accent)}.os-item.is-active .icon{color:var(--accent)}.os-item.is-active:before{content:"";background:var(--accent);border-radius:0 4px 4px 0;width:.35cqi;position:absolute;top:25%;bottom:25%;left:-1.6cqi}.os-views{align-items:center;min-width:0;padding:4cqi 5cqi;display:flex}.os-view{width:100%;display:none}.os-view.is-active{display:flex}.os-view[data-panel=profile]{align-items:center;gap:4.4cqi}.os-avatar{aspect-ratio:1;flex:none;width:19cqi;position:relative}.os-avatar img{border:.25cqi solid var(--accent);object-fit:cover;width:100%;height:100%;box-shadow:0 0 0 .7cqi var(--accent-dim), 0 2cqi 5cqi #00000073;border-radius:50%;display:block}.os-avatar:after{content:"";border:.18cqi solid var(--accent);pointer-events:none;border-radius:50%;animation:3s ease-out infinite pulseRing;position:absolute;inset:-.4cqi}.os-profile-text{min-width:0}.os-kicker{letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.8cqi;font-size:1.45cqi}.os-name{font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;color:var(--text-main);margin-bottom:1cqi;font-size:6.2cqi;font-weight:400;line-height:.95}.os-role{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:2cqi;font-size:1.35cqi;font-weight:500}.os-bio{max-width:46ch;color:var(--text-mid);margin-bottom:2.8cqi;font-size:1.95cqi;line-height:1.55}.os-actions{gap:1.2cqi;display:flex}.os-actions .action-btn{gap:.8cqi;width:auto;padding:1.3cqi 2.6cqi;font-size:1.6cqi}.os-view[data-panel=contact]{flex-direction:column}.os-contact-title{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-main);margin-bottom:2.4cqi;font-size:5.2cqi;font-weight:400}.os-view .social-links{gap:1.2cqi;max-width:52cqi;margin-top:0}.os-view .social-item{border-radius:1cqi;justify-content:flex-start;gap:1.4cqi;padding:1.6cqi 2cqi;font-size:1.9cqi}.screen-project{z-index:3;opacity:0;visibility:hidden;background:#12110f;flex-direction:column;display:flex;position:absolute;inset:0}.screen-project .browser-bar{gap:1.2cqi;height:4.4cqi;padding:0 1.8cqi}.screen-project .browser-dots{gap:.7cqi}.screen-project .browser-dots span{width:1.1cqi;height:1.1cqi}.screen-project .browser-url{border-radius:.6cqi;max-width:34cqi;height:2.6cqi;padding:0 1.2cqi;font-size:1.3cqi}.screen-project-view{background:#fff;flex:1;min-height:0;position:relative;overflow:hidden}.screen-shot{width:100%;height:auto;display:block}.screen-project.is-live{pointer-events:auto}.screen-live{transform-origin:0 0;opacity:0;background:#fff;border:0;transition:opacity .4s;position:absolute;top:0;left:0}.is-live-ready .screen-live{opacity:1}.browser-live{letter-spacing:.14em;text-transform:uppercase;color:#ff6b6b;flex:none;align-items:center;gap:.6cqi;font-size:1.15cqi;font-weight:600;display:none}.browser-live:before{content:"";background:currentColor;border-radius:50%;width:.8cqi;height:.8cqi;animation:1.2s ease-in-out infinite liveBlink}.screen-project.is-live .browser-live{display:inline-flex}.screen-project .browser-bar{position:relative}.screen-project.is-live:not(.is-live-ready) .browser-bar:after{content:"";background:var(--accent);width:40%;height:2px;animation:1.1s ease-in-out infinite liveLoading;position:absolute;bottom:-1px;left:0}@keyframes liveLoading{0%{transform:translate(-100%)}to{transform:translate(250%)}}.screen-boot{z-index:4;pointer-events:none;opacity:0;background:#0b0a09;place-items:center;display:grid;position:absolute;inset:0}.has-3d .screen-boot{opacity:1}.screen-boot span{font-family:var(--font-display);letter-spacing:.1em;color:var(--accent);text-shadow:0 0 4cqi #c8a97e80;font-size:9cqi}@container screen (width<=700px){.os-bar{height:7cqi;font-size:2.4cqi}.os-dots i{width:1.8cqi;height:1.8cqi}.os-body{grid-template-rows:1fr auto;grid-template-columns:1fr}.os-menu{border-top:1px solid #e2e2e212;border-right:0;flex-direction:row;order:2;gap:1cqi;padding:1.4cqi 2cqi}.os-item{text-align:center;flex-direction:column;flex:1;justify-content:center;gap:.8cqi;padding:1.4cqi 1cqi;font-size:2.8cqi}.os-item .icon{width:4.2cqi;height:4.2cqi}.os-item.is-active:before{border-radius:4px 4px 0 0;width:auto;height:.6cqi;inset:auto 30% -1.4cqi}.os-views{padding:3cqi 5cqi}.os-view[data-panel=profile]{gap:4cqi}.os-avatar{width:22cqi}.os-kicker{font-size:2.4cqi}.os-name{font-size:8.4cqi}.os-role{letter-spacing:.14em;margin-bottom:0;font-size:2.3cqi}.os-bio,.os-actions{display:none}.os-contact-title{margin-bottom:2cqi;font-size:7cqi}.os-view .social-links{flex-direction:row;gap:2cqi;max-width:none}.os-view .social-item{flex-direction:column;flex:1;justify-content:center;padding:2.4cqi 1cqi;font-size:2.6cqi}.os-view .social-item .icon{width:4.4cqi;height:4.4cqi}.screen-project .browser-bar{height:7cqi}.screen-project .browser-dots span{width:1.8cqi;height:1.8cqi}.screen-project .browser-url{max-width:56cqi;height:4.4cqi;font-size:2.4cqi}}@media (prefers-reduced-motion:reduce){.os-avatar:after{animation:none!important}}
