*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:auto}body{background:#080808;color:#f0f0ef;font-family:Manrope,sans-serif;font-weight:400;line-height:1.6;overflow-x:hidden}.scroll-wrapper{height:500vh;position:relative}.scroll-sticky{position:sticky;top:0;height:100vh;overflow:hidden}.scroll-track{display:flex;width:500vw;height:100vh;will-change:transform}.panel{width:100vw;height:100vh;flex-shrink:0;padding-left:6rem;box-sizing:border-box;display:flex;align-items:center;position:relative;overflow:hidden}.section-eyebrow{font-family:Manrope,sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#ff7a00;margin-bottom:1rem}.section-title{font-family:Syne,sans-serif;font-size:clamp(2.4rem,5vw,4.5rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:#f0f0ef;margin-bottom:1.5rem}.section-lead{font-size:clamp(.95rem,1.4vw,1.1rem);color:#fdfdfdb1;line-height:1.7;max-width:44ch}.tag{display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.04em;padding:.3rem .7rem;border:1px solid rgba(255,255,255,.08);border-radius:100px;color:#fdfdfdb1;background:transparent;transition:border-color .2s ease,color .2s ease;white-space:nowrap}.tag:hover{border-color:#ff7a0073;color:#ff7a00}.btn{display:inline-flex;align-items:center;gap:.4rem;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:600;letter-spacing:.02em;padding:.7rem 1.5rem;border-radius:6px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-2px)}.btn--primary{background:#ff7a00;color:#000}.btn--primary:hover{box-shadow:0 8px 24px #ff7a0059}.btn--ghost{background:transparent;border-color:#ffffff14;color:#f0f0ef}.btn--ghost:hover{border-color:#ff7a0073;box-shadow:0 8px 24px #ff7a001f}@media(hover:none),(max-width:1100px){.custom-cursor{display:none}}.custom-cursor{position:fixed;top:10;left:10;width:32px;height:32px;background:#ff7a00d9;border-radius:50%;pointer-events:none;z-index:9999;margin-top:-16px;margin-left:-16px;will-change:transform}.dot-grid{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.dot-grid__wrap{width:100%;height:100%}.dot-grid__canvas{display:block}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:#080808}::-webkit-scrollbar-thumb{background:#ff7a0066;border-radius:10px}@media(max-width:1100px){.scroll-wrapper{height:auto}.scroll-sticky{position:static;height:auto;overflow:visible}.scroll-track{flex-direction:column;width:100%!important;height:auto;transform:none!important}.panel{width:100%;padding-left:0;padding-top:5rem;height:auto;min-height:100svh;overflow:visible}}.left-nav{position:fixed;top:0;left:0;width:6rem;height:100vh;z-index:9999;display:flex;flex-direction:column;align-items:center;padding:2rem 0;border-right:1px solid rgba(255,255,255,.08);background:#080808b8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.left-nav__logo{font-family:Syne,sans-serif;font-size:1.4rem;font-weight:800;color:#ff7a00;letter-spacing:-.02em;text-decoration:none;flex-shrink:0}.left-nav__links{display:flex;flex-direction:column;align-items:center;gap:2.5rem;margin:auto 0;list-style:none}.left-nav__link{writing-mode:vertical-rl;transform:rotate(180deg);font-family:Manrope,sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fdfdfdb1;cursor:pointer;text-decoration:none;background:none;border:none;padding:.25rem;transition:color .2s ease;white-space:nowrap;-webkit-user-select:none;user-select:none}.left-nav__link:hover{color:#f0f0ef}.left-nav__link--active{color:#ff7a00}.left-nav__progress-track{width:2px;height:4rem;background:#ffffff14;border-radius:2px;overflow:hidden;flex-shrink:0}.left-nav__progress-fill{width:100%;background:#ff7a00;border-radius:2px;transform-origin:top}.left-nav__burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;background:none;border:none;cursor:pointer;padding:4px;flex-shrink:0}.left-nav__burger span{display:block;width:100%;height:1.5px;background:#f0f0ef;border-radius:2px;transition:transform .25s ease,opacity .25s ease;transform-origin:center}.left-nav__burger--open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.left-nav__burger--open span:nth-child(2){opacity:0}.left-nav__burger--open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}@media(max-width:1100px){.left-nav{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100vw;height:auto;padding:.75rem 1.5rem;border-right:none;border-bottom:1px solid rgba(255,255,255,.08)}.left-nav__links,.left-nav__progress-track{display:none!important}.left-nav__burger{display:flex}}.nav-overlay{position:fixed;top:0;left:0;width:100vw;z-index:9998;background:#080808f7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08);padding:5rem 2rem 2rem}.nav-overlay__links{list-style:none;display:flex;flex-direction:column;gap:.25rem}.nav-overlay__link{display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;font-family:Syne,sans-serif;font-size:clamp(1.6rem,6vw,2.2rem);font-weight:700;color:#fdfdfdb1;padding:.5rem 0;letter-spacing:-.01em;transition:color .2s ease}.nav-overlay__link:hover,.nav-overlay__link--active{color:#ff7a00}@media(max-width:480px){.left-nav{padding:.65rem 1rem}}.home-panel{padding-left:calc(6rem + 6vw);padding-right:6vw}.home-panel .home-inner{max-width:860px}.home-panel .home-bar{position:absolute;right:0;bottom:0;background:linear-gradient(to top,#c45200,#723904 55%,#683d01);z-index:0;display:block;top:17px;left:25px}.home-panel .home-title-wrap{position:relative;display:inline-block;margin-bottom:.5rem}.home-panel .home-title-wrap .home-bar{top:30%;left:10%}.home-panel .home-title{position:relative;z-index:1;font-family:Clash Display,sans-serif;font-size:clamp(3rem,7vw,9rem);font-weight:500;line-height:1.05;letter-spacing:-.03em;color:#f0f0ef;padding:.05em .3em;margin:0}.home-panel .home-eyebrow-wrap{position:relative;display:inline-block;margin-bottom:2.5rem}.home-panel .home-eyebrow{position:relative;z-index:1;font-family:Manrope,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#f0f0ef;padding:.35em .7em;margin:0}.home-panel .home-lines{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;margin-bottom:2.5rem}.home-panel .home-line-wrap{position:relative;display:inline-block}.home-panel .home-line-text{position:relative;z-index:1;font-family:Syne,sans-serif;font-size:clamp(1.3rem,2.4vw,2rem);font-weight:700;line-height:1.2;color:#f0f0ef;padding:.1em .45em;margin:0}.home-panel .home-line-highlight{color:#9333ea}.home-panel .home-ctas{display:flex;gap:1rem;flex-wrap:wrap}@media(max-width:1100px){.home-panel{padding-left:1.5rem;padding-right:1.5rem;align-items:flex-start;padding-top:6rem}}@media(max-width:480px){.home-panel .home-title{font-size:clamp(2.4rem,12vw,3.2rem)}.home-panel .home-line-text{font-size:clamp(1rem,5.5vw,1.4rem)}.home-panel .home-ctas{flex-direction:column;gap:.75rem}}.about-panel{padding-left:calc(6rem + 6vw);padding-right:6vw;align-items:center}.about-panel .about-inner{display:grid;grid-template-columns:1fr 1fr;gap:6vw;width:100%;max-width:1100px}.about-panel .about-left{display:flex;flex-direction:column;gap:1.5rem}.about-panel .about-bio{font-size:clamp(1rem,1.35vw,1.15rem);color:#fdfdfdb1;line-height:1.75;max-width:50ch}.about-panel .about-right{display:flex;flex-direction:column;gap:.75rem}.about-panel .about-skills-label{font-family:Manrope,sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#ff7a00}.about-panel .about-skills-label--sub{margin-top:.5rem}.about-panel .about-tags{display:flex;flex-wrap:wrap;gap:.5rem}.about-panel .skill-model-viewer{width:100%;height:200px;border-radius:8px;overflow:hidden}.about-panel .tag--model{cursor:pointer}.about-panel .tag--active{background:#ff7a001a;border-color:#ff7a00;color:#ff7a00}@media(max-width:1100px){.about-panel{padding-left:1.5rem;padding-right:1.5rem;align-items:flex-start;padding-top:2rem}.about-panel .about-inner{grid-template-columns:1fr;gap:2.5rem}}@media(max-width:720px){.about-panel .skill-model-viewer{height:150px}}.projects-panel{padding-left:calc(6rem + 6vw);padding-right:6vw;align-items:center}.projects-panel .projects-inner{width:100%;max-width:1100px;display:flex;flex-direction:column;gap:1.5rem}.projects-panel .projects-header{margin-bottom:0}.projects-panel .projects-header .projects-company{font-family:Syne,sans-serif;font-size:clamp(1.6rem,3vw,2.8rem);font-weight:600;color:#f0f0ef;margin-bottom:.5rem}.projects-panel .projects-header .projects-desc{font-size:clamp(.8rem,1vw,.95rem);color:#fdfdfdb1;line-height:1.7;max-width:560px}.projects-panel .project-tabs{display:flex;gap:.5rem}.projects-panel .tab-btn{padding:.45rem 1.2rem;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:transparent;color:#fdfdfdb1;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:border-color .2s,color .2s,background .2s}.projects-panel .tab-btn:hover{border-color:#ff7a00;color:#ff7a00}.projects-panel .tab-btn.tab-btn--active{border-color:#ff7a00;background:#ff7a0014;color:#ff7a00}.projects-panel .project-bento{display:grid;gap:.6rem;width:100%}.projects-panel .project-bento--website{grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:auto auto auto;grid-template-areas:"gif  gif   desc " "gif  gif   feat " "live code  skill"}.projects-panel .project-bento--app{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;grid-template-areas:"gif   desc" "gif   feat" "skill code"}.projects-panel .project-bento--app .bt--gif{max-height:400px}.projects-panel .bt{border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff08;padding:.85rem 1rem;transition:border-color .2s ease}.projects-panel .bt:hover{border-color:#ff7a0033}.projects-panel .bt--gif{grid-area:gif;padding:0;overflow:hidden}.projects-panel .bt--feat{grid-area:feat}.projects-panel .bt--desc{grid-area:desc}.projects-panel .bt--desc p{font-size:clamp(.75rem,.9vw,.88rem);color:#fdfdfdb1;line-height:1.65}.projects-panel .bt--live{grid-area:live;border-color:#ff7a0073}.projects-panel .bt--code{grid-area:code}.projects-panel .bt--skills{grid-area:skill;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.projects-panel .skill-tag{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ff7a00;border:1px solid rgba(255,122,0,.3);border-radius:999px;padding:.2rem .65rem}.projects-panel .bt--gif img{width:100%;height:100%;object-fit:contain;border-radius:9px;display:block}.projects-panel .project-features{list-style:none;display:flex;flex-direction:column;gap:.45rem}.projects-panel .project-features li{font-size:.82rem;color:#fdfdfdb1}.projects-panel .bt--live a,.projects-panel .bt--code a{display:flex;align-items:center;justify-content:center;height:100%;min-height:2.5rem;font-size:.78rem;font-weight:600;color:#ff7a00;text-decoration:none;letter-spacing:.05em;transition:letter-spacing .2s ease,color .2s ease}.projects-panel .bt--live a:hover,.projects-panel .bt--code a:hover{letter-spacing:.1em;color:#f0f0ef}@media(max-width:1100px){.projects-panel{padding-left:1.5rem;padding-right:1.5rem;padding-top:2rem;align-items:flex-start}.projects-panel .project-bento--website{grid-template-columns:1fr 1fr;grid-template-areas:"gif   gif  " "desc  feat " "skill skill" "live  code "}.projects-panel .project-bento--app{grid-template-columns:1fr 1fr;grid-template-areas:"gif   desc" "feat  feat" "skill code"}}@media(max-width:720px){.projects-panel .project-bento--website{grid-template-columns:1fr;grid-template-areas:"gif" "desc" "feat" "skill" "live" "code"}.projects-panel .project-bento--app{grid-template-columns:1fr;grid-template-areas:"gif" "desc" "feat" "skill" "code"}.projects-panel .bt--gif img{object-fit:contain}}.experience-panel{padding-left:calc(6rem + 6vw);padding-right:6vw;align-items:center}.experience-panel .experience-inner{width:100%;max-width:900px}.experience-panel .experience-header{margin-bottom:3rem}.experience-panel .timeline{position:relative;padding-left:2rem}.experience-panel .timeline:before{content:"";position:absolute;left:0;top:.6rem;width:1px;background:#ffffff14;transform-origin:top}.experience-panel .timeline-item{position:relative;padding-bottom:2.75rem}.experience-panel .timeline-item:last-child{padding-bottom:0}.experience-panel .timeline-item:before{content:"";position:absolute;left:calc(-2rem - 3px);top:.55rem;width:7px;height:7px;background:#ff7a00;border-radius:50%;box-shadow:0 0 0 3px #ff7a0026}.experience-panel .timeline-period{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#ff7a00;margin-bottom:.35rem}.experience-panel .timeline-role{font-family:Syne,sans-serif;font-size:1.25rem;font-weight:700;color:#f0f0ef;margin-bottom:.15rem}.experience-panel .timeline-company{font-size:.85rem;color:#fdfdfdb1;margin-bottom:.65rem}.experience-panel .timeline-desc{font-size:.88rem;color:#fdfdfdb1;line-height:1.65;margin-bottom:.85rem;max-width:58ch}.experience-panel .timeline-tags{display:flex;flex-wrap:wrap;gap:.4rem}@media(max-width:1100px){.experience-panel{padding-left:1.5rem;padding-right:1.5rem;align-items:flex-start;padding-top:2rem}}@media(max-width:720px){.experience-panel .timeline{padding-left:1.5rem}.experience-panel .timeline-item:before{left:calc(-1.5rem - 3px)}}.contact-panel{padding-left:calc(6rem + 6vw);padding-right:6vw;align-items:center}.contact-panel .contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:6vw;width:100%;max-width:1100px;align-items:start}.contact-panel .contact-left{display:flex;flex-direction:column;gap:1.25rem}.contact-panel .contact-email{font-family:Syne,sans-serif;font-size:clamp(1.1rem,2vw,1.6rem);font-weight:700;color:#f0f0ef;text-decoration:none;letter-spacing:-.01em;transition:color .2s ease}.contact-panel .contact-email:hover{color:#ff7a00}.contact-panel .contact-tagline{font-size:.9rem;color:#fdfdfdb1}.contact-panel .contact-right{display:flex;flex-direction:column;gap:1.25rem}.contact-panel .form-group{display:flex;flex-direction:column;gap:.45rem}.contact-panel .form-label{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fdfdfdb1}.contact-panel .form-input,.contact-panel .form-textarea{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.75rem 1rem;color:#f0f0ef;font-family:Manrope,sans-serif;font-size:.92rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%;outline:none}.contact-panel .form-input::placeholder,.contact-panel .form-textarea::placeholder{color:#fff3}.contact-panel .form-input:focus,.contact-panel .form-textarea:focus{border-color:#ff7a0073;box-shadow:0 0 0 3px #ff7a0014}.contact-panel .form-textarea{min-height:120px;resize:vertical;font-family:Manrope,sans-serif}.contact-panel .form-status{font-size:.85rem;margin-top:.25rem}.contact-panel .form-status--success{color:#4ade80}.contact-panel .form-status--error{color:#f87171}.contact-panel .form-status--sending{color:#fdfdfdb1}@media(max-width:1100px){.contact-panel{padding-left:1.5rem;padding-right:1.5rem;align-items:flex-start;padding-top:2rem}.contact-panel .contact-inner{grid-template-columns:1fr;gap:2.5rem}}
