@import url(https://fonts.googleapis.com/css2?family=Raleway:wght@500&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:linear-gradient(270deg,#1b1429,#140f23);font-family:Raleway,serif!important}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{background:#0a0706;color:#f4ece8;font-family:Space Grotesk,sans-serif;margin:0;overflow-x:hidden}::selection{background:#ff5a36;color:#0a0706}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:#0a0706}::-webkit-scrollbar-thumb{background:#ff5a36;border-radius:12px}::-webkit-scrollbar-thumb:hover{background:#ff8a5e}#preloader{align-items:center;background:#0a0706;display:flex;inset:0;justify-content:center;position:fixed;z-index:999999}#preloader-none{opacity:0;pointer-events:none;transition:opacity .5s ease}#no-scroll{height:100vh;overflow:hidden}@-webkit-keyframes glowpulse{0%,to{opacity:.4}50%{opacity:.85}}@keyframes glowpulse{0%,to{opacity:.4}50%{opacity:.85}}@-webkit-keyframes marquee{to{-webkit-transform:translateX(-50%);transform:translateX(-50%)}}@keyframes marquee{to{-webkit-transform:translateX(-50%);transform:translateX(-50%)}}@-webkit-keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@-webkit-keyframes scrolldot{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}70%{opacity:0}to{opacity:0;-webkit-transform:translateY(16px);transform:translateY(16px)}}@keyframes scrolldot{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}70%{opacity:0}to{opacity:0;-webkit-transform:translateY(16px);transform:translateY(16px)}}@-webkit-keyframes yarnspin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes yarnspin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes ballJiggle{0%,to{-webkit-transform:scale(1) rotate(0deg);transform:scale(1) rotate(0deg)}30%{-webkit-transform:scale(1.28) rotate(22deg);transform:scale(1.28) rotate(22deg)}55%{-webkit-transform:scale(.86) rotate(-16deg);transform:scale(.86) rotate(-16deg)}80%{-webkit-transform:scale(1.1) rotate(8deg);transform:scale(1.1) rotate(8deg)}}@keyframes ballJiggle{0%,to{-webkit-transform:scale(1) rotate(0deg);transform:scale(1) rotate(0deg)}30%{-webkit-transform:scale(1.28) rotate(22deg);transform:scale(1.28) rotate(22deg)}55%{-webkit-transform:scale(.86) rotate(-16deg);transform:scale(.86) rotate(-16deg)}80%{-webkit-transform:scale(1.1) rotate(8deg);transform:scale(1.1) rotate(8deg)}}@-webkit-keyframes catPlay{0%,to{-webkit-transform:translateY(0) rotate(0deg);transform:translateY(0) rotate(0deg)}20%{-webkit-transform:translateY(-7px) rotate(-10deg);transform:translateY(-7px) rotate(-10deg)}45%{-webkit-transform:translateY(1px) rotate(4deg);transform:translateY(1px) rotate(4deg)}70%{-webkit-transform:translateY(-5px) rotate(10deg);transform:translateY(-5px) rotate(10deg)}}@keyframes catPlay{0%,to{-webkit-transform:translateY(0) rotate(0deg);transform:translateY(0) rotate(0deg)}20%{-webkit-transform:translateY(-7px) rotate(-10deg);transform:translateY(-7px) rotate(-10deg)}45%{-webkit-transform:translateY(1px) rotate(4deg);transform:translateY(1px) rotate(4deg)}70%{-webkit-transform:translateY(-5px) rotate(10deg);transform:translateY(-5px) rotate(10deg)}}@-webkit-keyframes expLineFill{0%{height:0}to{height:100%}}@keyframes expLineFill{0%{height:0}to{height:100%}}.custom-cursor-active,.custom-cursor-active *{cursor:none!important}#cat-cursor,#fur-ball{left:0;pointer-events:none;position:fixed;top:0;-webkit-transform:translate(-200px,-200px);transform:translate(-200px,-200px);will-change:transform;z-index:9999}#scroll-progress{background:linear-gradient(90deg,#ff5a36,#ff8a5e);box-shadow:0 0 12px rgba(255,90,54,.8);height:2px;left:0;position:fixed;top:0;transition:width .05s linear;width:0;z-index:9000}.grain-overlay{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");inset:0;mix-blend-mode:overlay;opacity:.07;z-index:60}.ambient-top,.grain-overlay{pointer-events:none;position:fixed}.ambient-top{-webkit-animation:glowpulse 9s ease-in-out infinite;animation:glowpulse 9s ease-in-out infinite;background:radial-gradient(circle,rgba(255,90,54,.16),transparent 60%);border-radius:50%;-webkit-filter:blur(40px);filter:blur(40px);height:60vw;left:-10%;top:-20%;width:60vw;z-index:0}.ambient-bottom{background:radial-gradient(circle,rgba(214,58,30,.14),transparent 62%);border-radius:50%;bottom:-25%;-webkit-filter:blur(50px);filter:blur(50px);height:55vw;pointer-events:none;position:fixed;right:-10%;width:55vw;z-index:0}.port-section{margin:0 auto;max-width:1280px;padding:clamp(60px,9vw,120px) clamp(20px,5vw,64px);position:relative;z-index:1}.port-section--wide{max-width:1100px}.section-label{color:#ff5a36;font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.3em;margin-bottom:18px;text-transform:uppercase}.section-heading{font-size:clamp(32px,4.6vw,60px);font-weight:600;letter-spacing:-.025em;line-height:1.04;margin:0 0 12px}.section-heading .accent{color:#ff5a36}.section-sub{color:#9a8b83;font-size:16px;margin:0 0 48px}.tilt-card{background:linear-gradient(150deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,.01));border:1px solid hsla(0,0%,100%,.08);border-radius:18px;overflow:hidden;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease;will-change:transform}.tilt-card:hover{-webkit-transform:perspective(900px) rotateX(-2deg) rotateY(4deg) translateY(-6px) scale(1.02);transform:perspective(900px) rotateX(-2deg) rotateY(4deg) translateY(-6px) scale(1.02)}.skill-bar-track{background:hsla(0,0%,100%,.07);border-radius:3px;height:5px;overflow:hidden}.skill-bar-fill{background:linear-gradient(90deg,#ff5a36,#ff8a5e);border-radius:3px;box-shadow:0 0 12px rgba(255,90,54,.6);height:100%;transition:width 1.1s cubic-bezier(.2,.7,.2,1)}.mag-btn{display:inline-block;transition:-webkit-transform .45s cubic-bezier(.2,.8,.2,1);transition:transform .45s cubic-bezier(.2,.8,.2,1);transition:transform .45s cubic-bezier(.2,.8,.2,1),-webkit-transform .45s cubic-bezier(.2,.8,.2,1);will-change:transform}#photo-frame{border:1px solid rgba(255,90,54,.4);border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.6);overflow:hidden;position:relative}#photo-bw{-webkit-filter:grayscale(1) contrast(1.08) brightness(1.02);filter:grayscale(1) contrast(1.08) brightness(1.02);height:100%;inset:0;object-fit:cover;object-position:center top;position:absolute;width:100%;z-index:0}#photo-color{--mx:-700px;--my:-700px;display:block;-webkit-filter:saturate(1.05) contrast(1.03);filter:saturate(1.05) contrast(1.03);height:auto;-webkit-mask-image:radial-gradient(circle 200px at var(--mx) var(--my),transparent 0,transparent 130px,#000 200px);mask-image:radial-gradient(circle 200px at var(--mx) var(--my),transparent 0,transparent 130px,#000 200px);position:relative;width:100%;z-index:1}.react-activity-calendar{overflow:hidden}.react-activity-calendar text{fill:#6b5d56!important;font-family:JetBrains Mono,monospace!important}.port-nav{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(180deg,rgba(10,7,6,.85),rgba(10,7,6,.35));border-bottom:1px solid hsla(0,0%,100%,.06);justify-content:space-between;left:0;padding:20px clamp(20px,5vw,64px);position:fixed;right:0;top:0;z-index:80}.port-nav,.port-nav-brand{align-items:center;display:flex}.port-nav-brand{color:#f4ece8;font-size:22px;font-weight:700;gap:2px;letter-spacing:-.02em;text-decoration:none}.port-nav-brand span{color:#ff5a36}.port-nav-links{align-items:center;display:flex;font-family:JetBrains Mono,monospace;font-size:13px;gap:clamp(14px,2.5vw,40px);letter-spacing:.06em;list-style:none;margin:0;padding:0}.port-nav-links a{color:#cdbfb8;text-decoration:none;transition:color .2s}.port-nav-links a.active,.port-nav-links a:hover{color:#f4ece8}.port-nav-cta{background:#ff5a36;border-radius:999px;box-shadow:0 6px 22px rgba(255,90,54,.35);color:#0a0706!important;display:inline-block;font-weight:500;padding:9px 16px;text-decoration:none;transition:box-shadow .2s,-webkit-transform .45s cubic-bezier(.2,.8,.2,1);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .2s;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .2s,-webkit-transform .45s cubic-bezier(.2,.8,.2,1);will-change:transform}.port-nav-cta:hover{box-shadow:0 8px 30px rgba(255,90,54,.55)}.port-nav-toggle{background:none;border:none;color:#f4ece8;cursor:pointer;display:none;padding:4px}@media (max-width:767px){.port-nav-toggle{display:flex;flex-direction:column;gap:5px}.port-nav-toggle span{background:#f4ece8;border-radius:2px;display:block;height:2px;width:24px}.port-nav-links{display:none}.port-nav-links.open{background:rgba(10,7,6,.96);border-bottom:1px solid hsla(0,0%,100%,.08);display:flex;flex-direction:column;gap:16px;left:0;padding:20px clamp(20px,5vw,64px);position:absolute;right:0;top:100%}}.hero-section{align-items:center;display:flex;min-height:100vh;overflow:hidden;padding:120px clamp(20px,5vw,64px) 80px;position:relative;z-index:1}.hero-3d{left:38%;pointer-events:none}.hero-3d,.hero-grid{inset:0;position:absolute;z-index:0}.hero-grid{background-image:linear-gradient(hsla(0,0%,100%,.04) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.04) 1px,transparent 0);background-size:64px 64px;mask-image:radial-gradient(circle at 30% 40%,#000,transparent 70%);-webkit-mask-image:radial-gradient(circle at 30% 40%,#000,transparent 70%)}.hero-content{max-width:760px;position:relative;z-index:2}.hero-badge{align-items:center;border:1px solid rgba(255,90,54,.3);border-radius:999px;color:#ff8a5e;display:inline-flex;font-family:JetBrains Mono,monospace;font-size:13px;gap:10px;letter-spacing:.18em;margin-bottom:28px;padding:7px 14px;text-transform:uppercase}.hero-badge-dot{-webkit-animation:glowpulse 2s infinite;animation:glowpulse 2s infinite;background:#ff5a36;border-radius:50%;box-shadow:0 0 10px #ff5a36;height:7px;width:7px}.hero-title{font-size:clamp(46px,8.5vw,116px);font-weight:600;letter-spacing:-.035em;line-height:.94;margin:0}.hero-title .accent{color:#ff5a36;text-shadow:0 0 50px rgba(255,90,54,.45)}.hero-typer{align-items:center;color:#cdbfb8;display:flex;font-family:JetBrains Mono,monospace;font-size:clamp(16px,2.4vw,24px);gap:8px;height:34px;margin-top:26px}.hero-typer-prompt{color:#6b5d56}.hero-typer-text{color:#f4ece8}.hero-typer-cursor{-webkit-animation:blink 1s step-end infinite;animation:blink 1s step-end infinite;background:#ff5a36;display:inline-block;height:22px;width:10px}.hero-desc{color:#9a8b83;font-size:clamp(15px,1.5vw,18px);line-height:1.7;margin:30px 0 0;max-width:480px}.hero-ctas{display:flex;flex-wrap:wrap;gap:16px;margin-top:40px}.hero-cta-primary{background:#ff5a36;border-radius:999px;box-shadow:0 14px 40px rgba(255,90,54,.4);color:#0a0706;font-weight:600;transition:box-shadow .2s,-webkit-transform .45s cubic-bezier(.2,.8,.2,1);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .2s;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .2s,-webkit-transform .45s cubic-bezier(.2,.8,.2,1)}.hero-cta-primary,.hero-cta-secondary{align-items:center;display:inline-flex;font-size:15px;gap:10px;padding:15px 28px;text-decoration:none;will-change:transform}.hero-cta-secondary{background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.14);border-radius:999px;color:#f4ece8;font-weight:500;transition:-webkit-transform .45s cubic-bezier(.2,.8,.2,1);transition:transform .45s cubic-bezier(.2,.8,.2,1);transition:transform .45s cubic-bezier(.2,.8,.2,1),-webkit-transform .45s cubic-bezier(.2,.8,.2,1)}.hero-scroll-indicator{align-items:center;bottom:34px;color:#6b5d56;display:flex;flex-direction:column;font-family:JetBrains Mono,monospace;font-size:11px;gap:10px;left:50%;letter-spacing:.2em;position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:2}.hero-scroll-pill{border:1px solid hsla(0,0%,100%,.2);border-radius:12px;display:flex;height:36px;justify-content:center;padding-top:7px;width:22px}.hero-scroll-dot{-webkit-animation:scrolldot 1.6s infinite;animation:scrolldot 1.6s infinite;background:#ff5a36;border-radius:2px;height:8px;width:4px}@media (max-width:860px){.hero-3d{opacity:.4}}.marquee-strip{background:rgba(255,90,54,.03);border-bottom:1px solid hsla(0,0%,100%,.06);border-top:1px solid hsla(0,0%,100%,.06);overflow:hidden;padding:20px 0;position:relative;z-index:1}.marquee-inner{-webkit-animation:marquee 26s linear infinite;animation:marquee 26s linear infinite;color:#6b5d56;display:flex;font-family:JetBrains Mono,monospace;font-size:15px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;width:-webkit-max-content;width:max-content}.marquee-accent{color:#ff5a36}.intro-grid{grid-gap:clamp(40px,6vw,80px);align-items:center;display:grid;gap:clamp(40px,6vw,80px);grid-template-columns:1.4fr .9fr}.intro-text{color:#b7a89f;display:flex;flex-direction:column;font-size:clamp(15px,1.5vw,18px);gap:22px;line-height:1.75;max-width:560px}.intro-text p{margin:0}.intro-text strong{color:#f4ece8;font-weight:600}.intro-text .hl{color:#ff8a5e}.photo-wrap{position:relative;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease;will-change:transform}.photo-glow{background:radial-gradient(circle at 50% 30%,rgba(255,90,54,.5),transparent 70%);border-radius:24px;-webkit-filter:blur(30px);filter:blur(30px);inset:-14px;position:absolute}.photo-overlay{background:linear-gradient(180deg,transparent 58%,rgba(10,7,6,.55));inset:0;mix-blend-mode:multiply;z-index:2}.photo-badge-loc,.photo-overlay{pointer-events:none;position:absolute}.photo-badge-loc{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:rgba(10,7,6,.55);border:1px solid hsla(0,0%,100%,.12);border-radius:8px;bottom:14px;color:#f4ece8;font-size:12px;left:14px;letter-spacing:.1em;padding:6px 12px}.photo-badge-hint,.photo-badge-loc{font-family:JetBrains Mono,monospace;z-index:3}.photo-badge-hint{background:rgba(10,7,6,.45);border:1px solid rgba(255,90,54,.3);border-radius:999px;color:#ff8a5e;font-size:10px;letter-spacing:.12em;padding:5px 10px;pointer-events:none;position:absolute;right:14px;text-transform:uppercase;top:14px}.social-row{align-items:center;display:flex;flex-wrap:wrap;gap:20px;margin-top:clamp(48px,7vw,88px)}.social-row-label{color:#6b5d56;font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.2em;text-transform:uppercase}.social-chips{display:flex;flex-wrap:wrap;gap:12px}.social-chip{align-items:center;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.12);border-radius:999px;color:#f4ece8;display:inline-flex;font-family:JetBrains Mono,monospace;font-size:13px;gap:8px;padding:10px 16px;text-decoration:none;transition:border-color .2s,background .2s}.social-chip:hover{background:rgba(255,90,54,.06);border-color:rgba(255,90,54,.5)}.social-chip-arrow{color:#ff5a36}@media (max-width:768px){.intro-grid{grid-template-columns:1fr}.photo-wrap{margin-top:32px}}.bg-grid{grid-gap:clamp(32px,5vw,64px);display:grid;gap:clamp(32px,5vw,64px);grid-template-columns:1fr 1fr}.hobbies-list{display:flex;flex-direction:column;gap:12px}.hobby-card{align-items:center;background:linear-gradient(120deg,hsla(0,0%,100%,.04),hsla(0,0%,100%,.01));border:1px solid hsla(0,0%,100%,.08);border-radius:14px;display:flex;gap:16px;padding:16px 20px;transition:border-color .2s,-webkit-transform .25s ease;transition:transform .25s ease,border-color .2s;transition:transform .25s ease,border-color .2s,-webkit-transform .25s ease}.hobby-card:hover{border-color:rgba(255,90,54,.3);-webkit-transform:perspective(900px) translateY(-4px) scale(1.01);transform:perspective(900px) translateY(-4px) scale(1.01)}.hobby-num{color:#ff5a36;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:15px}.hobby-title{color:#f4ece8;font-size:16px;font-weight:500}.hobby-sub{color:#6b5d56;font-size:13px}.quote-block{border-left:2px solid #ff5a36;margin:0;padding:8px 0 8px 34px;position:relative}.quote-mark{color:rgba(255,90,54,.2);font-family:Space Grotesk,sans-serif;font-size:120px;left:-10px;line-height:1;position:absolute;top:-30px}.quote-text{color:#f4ece8;font-size:clamp(22px,2.8vw,34px);font-weight:500;letter-spacing:-.02em;line-height:1.35;margin:0}.quote-footer{color:#ff8a5e;font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.12em;margin-top:24px}@media (max-width:768px){.bg-grid{grid-template-columns:1fr}}.skills-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.skill-card{background:linear-gradient(150deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,.01));border:1px solid hsla(0,0%,100%,.08);border-radius:18px;overflow:hidden;padding:24px;position:relative;transition:border-color .2s,-webkit-transform .25s ease;transition:transform .25s ease,border-color .2s;transition:transform .25s ease,border-color .2s,-webkit-transform .25s ease;will-change:transform}.skill-card:hover{border-color:rgba(255,90,54,.3);-webkit-transform:perspective(900px) rotateY(4deg) rotateX(-2deg) translateY(-6px) scale(1.02);transform:perspective(900px) rotateY(4deg) rotateX(-2deg) translateY(-6px) scale(1.02)}.skill-header{justify-content:space-between;margin-bottom:24px}.skill-header,.skill-icon{align-items:center;display:flex}.skill-icon{background:rgba(255,90,54,.12);border:1px solid rgba(255,90,54,.3);border-radius:12px;color:#ff8a5e;font-size:15px;font-weight:500;height:48px;justify-content:center;width:48px}.skill-icon,.skill-pct{font-family:JetBrains Mono,monospace}.skill-pct{color:#6b5d56;font-size:13px}.skill-name{color:#f4ece8;font-size:19px;font-weight:600;margin-bottom:14px}.tools-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-top:18px}.tool-card{align-items:center;background:linear-gradient(150deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,.01));border:1px solid hsla(0,0%,100%,.08);border-radius:14px;display:flex;gap:14px;padding:18px 20px;transition:border-color .2s,-webkit-transform .25s ease;transition:transform .25s ease,border-color .2s;transition:transform .25s ease,border-color .2s,-webkit-transform .25s ease}.tool-card:hover{border-color:rgba(255,90,54,.3);-webkit-transform:translateY(-4px);transform:translateY(-4px)}.tool-icon{align-items:center;background:rgba(255,90,54,.1);border:1px solid rgba(255,90,54,.25);border-radius:10px;color:#ff8a5e;display:flex;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:14px;height:40px;justify-content:center;width:40px}.tool-name{color:#f4ece8;font-size:16px;font-weight:500}.heatmap-wrap{background:linear-gradient(150deg,hsla(0,0%,100%,.04),hsla(0,0%,100%,.01));border:1px solid hsla(0,0%,100%,.08);border-radius:20px;margin-top:clamp(40px,6vw,80px);padding:clamp(24px,4vw,40px)}.heatmap-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:28px}.heatmap-title{font-size:clamp(22px,2.6vw,30px);font-weight:600;margin:0}.heatmap-sub{color:#6b5d56;font-family:JetBrains Mono,monospace;font-size:13px}.projects-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}.project-card{background:linear-gradient(160deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,.01));border:1px solid hsla(0,0%,100%,.08);border-radius:20px;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:border-color .2s,-webkit-transform .3s ease;transition:transform .3s ease,border-color .2s;transition:transform .3s ease,border-color .2s,-webkit-transform .3s ease;will-change:transform}.project-card:hover{border-color:rgba(255,90,54,.3);-webkit-transform:perspective(900px) rotateX(-2deg) translateY(-8px) scale(1.015);transform:perspective(900px) rotateX(-2deg) translateY(-8px) scale(1.015)}.project-thumb{align-items:center;aspect-ratio:16/10;background:repeating-linear-gradient(135deg,rgba(255,90,54,.08) 0 12px,rgba(255,90,54,.02) 12px 24px);border-bottom:1px solid hsla(0,0%,100%,.06);display:flex;justify-content:center;overflow:hidden;position:relative}.project-thumb img{height:100%;inset:0;object-fit:cover;opacity:.85;position:absolute;width:100%}.project-kind{background:rgba(10,7,6,.6);border:1px solid rgba(255,90,54,.3);border-radius:999px;color:#ff8a5e;font-family:JetBrains Mono,monospace;font-size:11px;left:14px;letter-spacing:.1em;padding:5px 10px;position:absolute;top:14px;z-index:1}.project-body{display:flex;flex:1 1;flex-direction:column;padding:24px}.project-title{color:#f4ece8;font-size:21px;font-weight:600;margin:0 0 10px}.project-desc{color:#9a8b83;flex:1 1;font-size:14px;line-height:1.6;margin:0 0 18px}.project-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.project-tag{border:1px solid hsla(0,0%,100%,.12);border-radius:999px;color:#cdbfb8;font-family:JetBrains Mono,monospace;font-size:11px;padding:4px 10px}.project-actions{display:flex;gap:10px}.project-btn-ghost{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.12);border-radius:10px;color:#f4ece8;flex:1 1;font-family:JetBrains Mono,monospace;font-size:13px;padding:10px;text-align:center;text-decoration:none;transition:background .2s}.project-btn-ghost:hover{background:hsla(0,0%,100%,.1)}.project-btn-fill{background:#ff5a36;border-radius:10px;color:#0a0706;flex:1 1;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;padding:10px;text-align:center;text-decoration:none;transition:opacity .2s}.project-btn-fill:hover{opacity:.9}#exp-line{background:rgba(255,90,54,.16);bottom:0;left:50%;position:absolute;top:0;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:2px}#exp-line-fill{background:linear-gradient(180deg,#ff5a36,#ff8a5e);box-shadow:0 0 12px rgba(255,90,54,.75);height:0;left:0;position:absolute;top:0;transition:height .1s linear;width:100%}#exp-line-dot{background:#ff5a36;border-radius:50%;box-shadow:0 0 16px #ff5a36;height:13px;left:50%;position:absolute;top:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:top .1s linear;width:13px}.exp-list{display:flex;flex-direction:column;gap:24px}.exp-entry{align-items:flex-start;display:flex;position:relative;width:100%}.exp-entry.side-left{justify-content:flex-end;padding-left:0;padding-right:calc(50% + 28px)}.exp-entry.side-right{justify-content:flex-start;padding-left:calc(50% + 28px);padding-right:0}.exp-bullet{background:#0a0706;border:2px solid #ff5a36;border-radius:50%;box-shadow:0 0 12px rgba(255,90,54,.7);height:14px;left:50%;position:absolute;top:20px;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:14px;z-index:2}.exp-card{background:linear-gradient(150deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,.01));border:1px solid hsla(0,0%,100%,.08);border-radius:14px;padding:18px 20px;transition:border-color .2s,-webkit-transform .25s ease;transition:transform .25s ease,border-color .2s;transition:transform .25s ease,border-color .2s,-webkit-transform .25s ease;width:100%;will-change:transform}.exp-card:hover{border-color:rgba(255,90,54,.3);-webkit-transform:translateY(-4px) scale(1.01);transform:translateY(-4px) scale(1.01)}.exp-role{color:#f4ece8;font-size:16px;font-weight:600;line-height:1.3;margin:0 0 4px}.exp-org-line{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.exp-org{color:#9a8b83;font-size:13px}.exp-type{border:1px solid rgba(255,90,54,.3);border-radius:999px;color:#ff8a5e;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.08em;padding:2px 8px}.exp-meta{font-family:JetBrains Mono,monospace;font-size:11px}.exp-loc,.exp-meta{color:#6b5d56;margin-bottom:8px}.exp-loc{font-size:12px}.exp-tags{display:flex;flex-wrap:wrap;gap:6px}.exp-tag{border:1px solid hsla(0,0%,100%,.1);border-radius:999px;color:#cdbfb8;font-family:JetBrains Mono,monospace;font-size:10px;padding:3px 8px}@media (max-width:640px){.exp-entry.side-left,.exp-entry.side-right{justify-content:flex-start;padding-left:32px;padding-right:0}#exp-line{left:8px;-webkit-transform:none;transform:none}.exp-bullet{left:8px;-webkit-transform:translateX(-50%);transform:translateX(-50%)}}.contact-section{overflow:hidden;padding:clamp(80px,12vw,160px) clamp(20px,5vw,64px) 48px;position:relative;text-align:center;z-index:1}.contact-glow{background:radial-gradient(circle,rgba(255,90,54,.18),transparent 65%);-webkit-filter:blur(50px);filter:blur(50px);height:50vh;left:50%;pointer-events:none;position:absolute;top:0;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:80vw}.contact-inner{margin:0 auto;max-width:760px;position:relative}.contact-label{color:#ff5a36;font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.3em;margin-bottom:22px;text-transform:uppercase}.contact-heading{font-size:clamp(38px,6.5vw,84px);font-weight:600;letter-spacing:-.03em;line-height:.98;margin:0 0 32px}.contact-heading .accent{color:#ff5a36;text-shadow:0 0 50px rgba(255,90,54,.5)}.contact-cta{align-items:center;background:#ff5a36;border-radius:999px;box-shadow:0 16px 50px rgba(255,90,54,.45);color:#0a0706;display:inline-flex;font-size:16px;font-weight:600;gap:10px;padding:17px 36px;text-decoration:none;transition:box-shadow .2s,-webkit-transform .45s cubic-bezier(.2,.8,.2,1);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .2s;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .2s,-webkit-transform .45s cubic-bezier(.2,.8,.2,1);will-change:transform}.contact-cta:hover{box-shadow:0 20px 60px rgba(255,90,54,.6)}.contact-socials{justify-content:center;margin-top:36px}.contact-socials,.footer-bar{display:flex;flex-wrap:wrap;gap:12px}.footer-bar{align-items:center;border-top:1px solid hsla(0,0%,100%,.08);color:#6b5d56;font-family:JetBrains Mono,monospace;font-size:12px;justify-content:space-between;margin-left:auto;margin-right:auto;margin-top:clamp(60px,9vw,110px);max-width:1280px;padding-top:28px;position:relative}.footer-bar span.hl{color:#ff8a5e}.App{background:#0a0706;min-height:100vh;position:relative;text-align:left}
/*# sourceMappingURL=main.4feaa8eb.css.map*/