:root{--bg:#0b1220;--panel:#111c2e;--panel-2:#172438;--text:#faf9f8;--muted:#9ea8bb;--line:#96a7c729;--accent:#ceb075;--accent-2:#d9c192;--accent-soft:#ceb07529;--shadow:0 24px 70px #00000059}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{color:var(--text);background:radial-gradient(circle at 75% 13%,#cdae700d,#0000 30%),linear-gradient(#0b1220 0%,#101c2e 72%,#0b1422 100%);min-height:100vh;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}::selection{background:#d2b78059}main{isolation:isolate;position:relative}.section-shell{width:min(1160px,100% - 48px);margin:0 auto}.scroll-progress{z-index:100;transform-origin:0;background:linear-gradient(90deg,#cfb278,#ddc89d);height:2px;position:fixed;top:0;left:0;right:0}.ambient{filter:blur(120px);pointer-events:none;z-index:-2;opacity:.07;border-radius:50%;position:fixed}.ambient-one{background:#cdae70;width:420px;height:420px;animation:12s ease-in-out infinite drift;top:80px;right:-130px}.ambient-two{background:#cdae70;width:300px;height:300px;animation:15s ease-in-out infinite reverse drift;top:45%;left:-180px}@keyframes drift{50%{transform:translateY(35px)scale(1.12)}}.topbar{z-index:30;border-bottom:1px solid #8596b524;grid-template-columns:1fr auto 1fr;align-items:center;width:min(1160px,100% - 48px);height:72px;margin:0 auto;display:grid;position:relative}.brand{letter-spacing:-.02em;align-items:center;gap:9px;font-size:19px;font-weight:760;display:flex}.brand svg{color:#efede8}.brand-dot{color:var(--accent-2)}.desktop-nav{color:#d3d7e1;align-items:center;gap:34px;font-size:13px;display:flex}.desktop-nav a{padding:26px 0 24px;transition:all .25s;position:relative}.desktop-nav a:hover,.desktop-nav a.active{color:#decaa2}.desktop-nav a.active:after{content:"";background:#d1b47b;border-radius:50%;width:4px;height:4px;position:absolute;bottom:14px;left:50%;box-shadow:0 0 16px #d1b47b}.header-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.icon-button,.outline-button,.primary-button,.ghost-link{cursor:pointer;border:0;justify-content:center;align-items:center;gap:9px;display:inline-flex}.icon-button{color:#cdd4df;border:1px solid var(--line);background:#080d17;border-radius:9px;width:38px;height:38px}.theme-toggle{isolation:isolate;transition:color .3s,background .3s,border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.theme-toggle:before{content:"";z-index:-1;background:radial-gradient(circle,#dac39547,#0000 62%);border-radius:50%;transition:transform .4s cubic-bezier(.22,1,.36,1);position:absolute;inset:-50%;transform:scale(0)}.theme-toggle:hover:before{transform:scale(1)}.theme-toggle>span{place-items:center;display:grid}.outline-button{color:#fff;background:#090e199e;border:1px solid #a9b5ce59;border-radius:8px;min-height:44px;padding:0 20px;transition:all .25s}.outline-button:hover{background:#cdae701f;border-color:#d9c294b3;transform:translateY(-2px)}.outline-button.compact{min-height:38px;padding:0 14px;font-size:12px}.outline-button.small{min-height:39px;padding:0 15px;font-size:12px}.primary-button{color:#fff;background:linear-gradient(135deg,#cdae70,#cdae70 60%,#cdae70);border-radius:8px;min-height:46px;padding:0 21px;font-size:13px;font-weight:650;transition:all .25s;box-shadow:0 10px 30px #cdae7047,inset 0 1px #ffffff2e}.primary-button:hover{transform:translateY(-3px);box-shadow:0 14px 38px #cdae7061,0 0 0 1px #dbc49747}.hero{border-bottom:1px solid var(--line);grid-template-columns:1.05fr .95fr;align-items:center;min-height:510px;padding:34px 0 0;display:grid}.hero-copy{padding:18px 0 42px}.eyebrow{color:#eeece8;background:#cdae7021;border:1px solid #dbc4973d;border-radius:999px;width:max-content;margin-bottom:17px;padding:7px 11px;font-size:12px}.hero h1{letter-spacing:-.048em;max-width:650px;margin:0;font-size:clamp(42px,5vw,69px);line-height:1.05}.hero h1 span{background:linear-gradient(110deg,#d2b67f,#decaa2 70%,#ebdfc7);color:#0000;-webkit-background-clip:text}.hero-copy>p{max-width:540px;color:var(--muted);margin:19px 0 23px;font-size:15px;line-height:1.72}.hero-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.socials{color:#d6dce6;align-items:center;gap:17px;margin-top:26px;display:flex}.socials>span{color:#9ba5b5;margin-right:4px;font-size:12px}.socials a{transition:all .2s}.socials a:hover{color:#d9c293;transform:translateY(-2px)}.hero-visual{place-items:center;min-height:460px;display:grid;position:relative}.avatar-halo{background:radial-gradient(circle at 50% 40%,#cdae70 0% 42%,#cdae7047 68%,#0000 70%);border-radius:50%;width:340px;height:340px;position:absolute;box-shadow:0 0 70px #cdae7042}.orbit{border:1px solid #dac49740;border-radius:50%;position:absolute}.orbit-one{width:420px;height:420px;animation:28s linear infinite spin}.orbit-two{opacity:.45;border-style:dashed;width:355px;height:355px;animation:22s linear infinite reverse spin}@keyframes spin{to{transform:rotate(360deg)}}.avatar{z-index:2;background:linear-gradient(#111827 0%,#080d16 62%,#05070d 100%);border-radius:46% 46% 18% 18%/38% 38% 12% 12%;flex-direction:column;justify-content:center;align-items:center;width:285px;height:350px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0d,0 30px 80px #0000007a}.avatar:before{content:"";background:radial-gradient(circle,#d2b7803b,#0000 65%);position:absolute;inset:-20% -40% 47%}.avatar-code{letter-spacing:-.08em;color:#f9f8f7;text-shadow:0 0 35px #d3b88259;font-size:82px;font-weight:820}.avatar-label{color:#cbd4e0;background:#070b13;border:1px solid #a4b2ca2e;border-radius:999px;align-items:center;gap:7px;padding:8px 12px;font-size:11px;display:flex;position:absolute;bottom:28px}.tech-float{z-index:5;width:56px;height:56px;box-shadow:var(--shadow);background:linear-gradient(145deg,#121b2ee6,#050a12f5);border:1px solid #7e92bc40;border-radius:10px;place-items:center;display:grid;position:absolute}.tech-float.react{color:#38d9ff;font-size:30px;top:19%;left:13%}.tech-float.js{color:#111;background:linear-gradient(145deg,#111927,#070b12);top:55%;left:9%}.tech-float.js b{background:#f7df1e;padding:7px 6px 3px;font-size:16px}.tech-float.ts{color:#fff;top:31%;right:4%}.tech-float.ts b{background:#3178c6;border-radius:2px;padding:7px 5px}.tech-float.node{color:#80cf35;font-size:25px;bottom:17%;right:5%}.about-band{border-bottom:1px solid var(--line);grid-template-columns:.75fr 1.55fr;gap:38px;padding:38px 0;display:grid}.about-copy{border-right:1px solid var(--line);padding-right:32px}.about-copy h2,.section-heading h2,.skills-block h3{color:#ebdfc7;align-items:center;gap:10px;margin:0 0 16px;font-size:18px;display:flex}.about-copy h2 svg,.section-heading h2 svg,.skills-block h3 svg{color:#d0b37a}.about-copy p{color:var(--muted);margin:0 0 22px;font-size:13px;line-height:1.75}.stats-grid{grid-template-columns:repeat(4,1fr);gap:13px;display:grid}.stat-card{background:linear-gradient(145deg,#131b30c7,#0a0f1bb8);border:1px solid #8799bc2e;border-radius:9px;flex-direction:column;justify-content:center;min-height:112px;padding:16px;display:flex;box-shadow:inset 0 1px #ffffff06}.stat-card svg{color:#d0b37a;width:19px;margin-bottom:10px}.stat-card strong{letter-spacing:-.04em;font-size:27px}.stat-card span{color:#aab4c5;margin-top:2px;font-size:11px}.skills-block h3{margin-bottom:10px;font-size:14px}.skill-list{flex-wrap:wrap;gap:8px;display:flex}.skill-list span,.tag-row span{color:#cdd5e2;background:#0a0f1bad;border:1px solid #8495b538;border-radius:7px;align-items:center;gap:7px;padding:7px 10px;font-size:10.5px;display:inline-flex}.skill-list .skill-icon{color:#dcc79d;background:0 0;border:0;padding:0;font-size:10px;font-weight:700}.projects,.experience{border-bottom:1px solid var(--line);padding:27px 0 34px}.section-heading{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.section-heading h2{margin:0}.profile-questions{padding-top:48px;padding-bottom:24px}.profile-answers{gap:20px;margin:0;display:grid}.profile-answers>div{border-bottom:1px solid var(--line);padding-bottom:20px}.profile-answers dt{font-size:16px;font-weight:600;line-height:1.5}.profile-answers dd{color:var(--muted);max-width:85ch;margin:8px 0 0;font-size:14px;line-height:1.8}.profile-answers a{color:inherit;text-underline-offset:3px;text-decoration:underline}.section-heading>a{color:#dce0e9;align-items:center;gap:7px;font-size:12px;display:flex}.project-grid{perspective:1000px;grid-template-columns:repeat(4,1fr);gap:15px;display:grid}.project-card{min-width:0;transform-style:preserve-3d;background:linear-gradient(#0e1524e0,#090e18db);border:1px solid #8697b933;border-radius:10px;padding:9px;box-shadow:0 16px 34px #00000029}.project-preview{background:#080d18;border:1px solid #9caac726;border-radius:7px;grid-template-columns:36px 1fr;gap:8px;height:155px;padding:9px;display:grid;overflow:hidden}.project-preview.analytics{background:radial-gradient(circle at 65% 20%,#cdae7059,#0000 40%),#08101e}.project-preview.commerce{background:linear-gradient(145deg,#f6f4f2 0 58%,#eae8e6 58%)}.project-preview.chat{background:radial-gradient(circle at 70% 10%,#2a5bda47,#0000 38%),#08111f}.project-preview.tasks{background:linear-gradient(145deg,#f2f4f8,#e9edf4)}.mock-sidebar{flex-direction:column;gap:7px;padding-top:5px;display:flex}.mock-sidebar i{background:#d4ba86a6;border-radius:99px;height:5px}.mock-content{flex-direction:column;gap:10px;min-width:0;display:flex}.mock-top{background:#94a4c547;border-radius:99px;width:60%;height:8px}.mock-chart{background:#43527e21;border-radius:6px;flex:1;align-items:flex-end;gap:6px;padding:12px;display:flex}.mock-chart span{background:linear-gradient(#d2b67f,#cdae70);border-radius:3px 3px 0 0;flex:1}.mock-chart span:first-child{height:30%}.mock-chart span:nth-child(2){height:70%}.mock-chart span:nth-child(3){height:47%}.mock-chart span:nth-child(4){height:86%}.mock-chart span:nth-child(5){height:58%}.commerce .mock-chart,.tasks .mock-chart{background:#2d354617}.commerce .mock-chart span,.tasks .mock-chart span{background:#49567559}.mock-row{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.mock-row i{background:#5a6b9133;border-radius:4px;height:22px}.project-title-row{justify-content:space-between;align-items:center;gap:10px;margin-top:9px;display:flex}.project-title-row h3{margin:0;font-size:14px}.project-title-row button{color:#cbd4e0;background:#0a101b;border:1px solid #8596b533;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.project-card>p{color:#9fa9ba;min-height:44px;margin:6px 0 9px;font-size:11px;line-height:1.55}.tag-row{flex-wrap:wrap;gap:6px;display:flex}.tag-row span{padding:6px 9px;font-size:9.5px}.timeline{position:relative}.timeline-row{border-bottom:1px solid #8b9ab81c;grid-template-columns:130px 26px 245px 1fr 280px;align-items:center;gap:12px;min-height:74px;display:grid}.timeline-row:last-child{border-bottom:0}.timeline-year{color:#e1cea8;font-size:12px}.timeline-line{place-items:center;height:100%;display:grid;position:relative}.timeline-line:after{content:"";background:linear-gradient(#2b66d9,#cdae70);width:1px;position:absolute;top:0;bottom:0}.timeline-line span{z-index:2;background:#d1b57e;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #d1b57e1f,0 0 16px #d1b57e}.timeline-title h3{margin:0 0 4px;font-size:14px}.timeline-title p,.timeline-copy{color:#9ea8ba;margin:0;font-size:11px;line-height:1.55}.timeline-title i{background:#d1b57e;border-radius:50%;width:4px;height:4px;margin:0 6px;display:inline-block}.timeline-copy{max-width:390px}.contact{border-bottom:1px solid var(--line);grid-template-columns:.92fr 1.25fr .78fr;gap:30px;padding:35px 0 44px;display:grid}.contact-intro h2{letter-spacing:-.035em;margin:0 0 18px;font-size:28px;line-height:1.2}.contact-intro h2 span{color:#dac497}.contact-intro>p{color:var(--muted);max-width:290px;margin-bottom:23px;font-size:12px;line-height:1.65}.ghost-link{color:#fff;font-size:12px;font-weight:650}.contact-form{flex-direction:column;gap:10px;display:flex}.contact-form>div{grid-template-columns:1fr 1fr;gap:9px;display:grid}.contact-form input,.contact-form textarea{resize:vertical;color:#eef1f7;background:#070d17a8;border:1px solid #8b9bbb3b;border-radius:7px;outline:0;width:100%;padding:12px 13px;font-size:11px;transition:all .2s}.contact-form input:focus,.contact-form textarea:focus{border-color:#cdae71;box-shadow:0 0 0 3px #ceb0751a}.contact-form .primary-button{width:max-content}.contact-details{flex-direction:column;gap:18px;padding-top:7px;display:flex}.contact-details>div:not(.availability){align-items:flex-start;gap:12px;display:flex}.contact-details svg{color:#d1b57e;width:19px}.contact-details p{flex-direction:column;gap:3px;margin:0;font-size:11px;display:flex}.contact-details p span{color:#99a4b6}.contact-details p a{color:#aeb7c6;text-decoration:none;transition:color .2s,transform .2s}.contact-details p a:hover{color:#e3d2b1}.availability{color:#9bcfac;background:#36885014;border:1px solid #53b47233;border-radius:999px;align-items:center;gap:6px;width:max-content;padding:7px 10px;font-size:10px;display:flex}.availability svg{color:#73c38a}.footer{color:#818da0;justify-content:space-between;align-items:center;min-height:78px;padding-bottom:88px;font-size:11px;display:flex}.purple{color:#d5bc89}.mac-dock-positioner{left:0;right:0;bottom:max(18px,env(safe-area-inset-bottom));z-index:80;pointer-events:none;justify-content:center;display:flex;position:fixed}.mac-dock{-webkit-backdrop-filter:blur(20px)saturate(150%);backdrop-filter:blur(20px)saturate(150%);pointer-events:auto;background:#080c14b8;border:1px solid #b1bbcf33;border-radius:18px;align-items:flex-end;gap:7px;height:66px;padding:9px 11px;display:flex;box-shadow:0 24px 60px #0006,inset 0 1px #ffffff14}.dock-lights{border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 50% 0,#d2b78033,#0000 55%);position:absolute;inset:0}.dock-item{z-index:1;color:#dde3ed;transform-origin:50% 100%;background:linear-gradient(145deg,#161d2df2,#0a0e17f2);border:1px solid #919fbd29;border-radius:13px;place-items:center;min-width:42px;min-height:42px;display:grid;position:relative;box-shadow:inset 0 1px #ffffff0f}.dock-item:hover{color:#fff;background:linear-gradient(145deg,#cdae70cc,#cdae70e6);box-shadow:0 0 24px #d1b57c40,inset 0 1px #ffffff1a}.dock-tooltip{opacity:0;pointer-events:none;white-space:nowrap;background:#111827;border:1px solid #9cabca33;border-radius:6px;padding:5px 7px;font-size:10px;transition:all .18s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.dock-item:hover .dock-tooltip{opacity:1;transform:translate(-50%,-3px)}.back-to-top{z-index:75;color:#fff;cursor:pointer;isolation:isolate;background:linear-gradient(145deg,#d3b881,#cdae70 55%,#cdae70);border:1px solid #e9dcc26b;border-radius:16px;place-items:center;width:56px;height:56px;display:grid;position:fixed;bottom:24px;right:24px;overflow:visible;box-shadow:0 16px 38px #cdae706b,inset 0 1px #ffffff2e}.back-to-top:after{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle at 35% 22%,#ffffff47,#0000 38%);border-radius:12px;position:absolute;inset:5px}.back-to-top-ring{opacity:.55;pointer-events:none;border:1px solid #d9c19280;border-radius:20px;animation:2.2s ease-out infinite backTopPulse;position:absolute;inset:-6px}.back-to-top-icon{filter:drop-shadow(0 3px 8px #ffffff2e);place-items:center;display:grid}.back-to-top:hover{box-shadow:0 20px 48px #cdae7094,0 0 30px #d1b57c40,inset 0 1px #ffffff38}@keyframes backTopPulse{0%{opacity:.65;transform:scale(.88)}70%,to{opacity:0;transform:scale(1.22)}}.network-toast{z-index:120;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#090e18ed;border:1px solid #919fbd38;border-radius:11px;align-items:center;gap:10px;min-width:280px;max-width:min(420px,100% - 32px);padding:10px 13px;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #00000052}.network-toast.offline{border-color:#ef627047}.network-toast.online{border-color:#5ed28047}.network-toast.low{border-color:#ecb44a47}.network-toast svg{color:#dbc599;flex:none}.network-toast div{flex-direction:column;gap:1px;display:flex}.network-toast strong{font-size:12px}.network-toast span{color:#9da8ba;font-size:10px}html[data-bandwidth=low] .ambient,html[data-bandwidth=low] .orbit,html[data-bandwidth=low] .dock-lights{display:none}html[data-bandwidth=low] .mac-dock,html[data-bandwidth=low] .network-toast{-webkit-backdrop-filter:none;backdrop-filter:none}html[data-bandwidth=low] .hero-visual *{animation:none!important}html[data-bandwidth=low] .project-card,html[data-bandwidth=low] .stat-card{box-shadow:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:1050px){.desktop-nav{gap:20px}.hero{grid-template-columns:1fr .8fr}.avatar-halo{width:300px;height:300px}.orbit-one{width:360px;height:360px}.orbit-two{width:315px;height:315px}.avatar{width:250px;height:320px}.project-grid{grid-template-columns:repeat(2,1fr)}.timeline-row{grid-template-columns:110px 24px 210px 1fr;padding:12px 0}.timeline-row>.tag-row{grid-column:4}.contact{grid-template-columns:.85fr 1.15fr}.contact-details{flex-flow:wrap;grid-column:1/-1;justify-content:space-between}}@media (max-width:820px){.section-shell,.topbar{width:min(100% - 30px,720px)}.topbar{grid-template-columns:1fr auto}.desktop-nav,.header-actions .compact{display:none}.hero{grid-template-columns:1fr;padding-top:54px}.hero-copy{text-align:center;flex-direction:column;align-items:center;padding-bottom:0;display:flex}.hero-copy>p{max-width:620px}.hero-visual{min-height:410px}.about-band{grid-template-columns:1fr}.about-copy{border-right:0;border-bottom:1px solid var(--line);padding:0 0 25px}.stats-grid{grid-template-columns:repeat(2,1fr)}.timeline-row{grid-template-columns:94px 20px 1fr}.timeline-row .timeline-copy,.timeline-row>.tag-row{grid-column:3}.contact{grid-template-columns:1fr}.contact-intro{text-align:center;flex-direction:column;align-items:center;display:flex}.contact-details{grid-column:auto}.back-to-top{bottom:98px}}@media (max-width:560px){.section-shell,.topbar{width:calc(100% - 24px)}.topbar{height:64px}.hero{min-height:auto;padding-top:38px}.hero h1{font-size:clamp(40px,13vw,58px)}.hero-copy>p{font-size:14px}.hero-visual{min-height:360px;margin-inline:-18px;transform:scale(.9)}.avatar-halo{width:260px;height:260px}.avatar{width:220px;height:280px}.avatar-code{font-size:64px}.orbit-one{width:320px;height:320px}.orbit-two{width:280px;height:280px}.tech-float{width:48px;height:48px}.tech-float.react{left:3%}.tech-float.js{left:0}.tech-float.ts{right:0}.tech-float.node{right:1%}.about-band{padding-top:28px}.stats-grid{gap:9px}.stat-card{min-height:104px;padding:14px}.project-grid{grid-template-columns:1fr}.project-preview{height:180px}.timeline-row{grid-template-columns:1fr;gap:5px;padding:16px 0 18px}.timeline-line{display:none}.timeline-row .timeline-copy,.timeline-row>.tag-row{grid-column:auto}.timeline-year{margin-bottom:3px}.contact-form .contact-row{grid-template-columns:1fr}.contact-details{flex-direction:column}.footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:7px}.mac-dock{justify-content:space-around;gap:2px;width:calc(100% - 24px);padding-inline:8px}.dock-item{width:42px!important;height:42px!important}.dock-tooltip{display:none}.back-to-top{right:14px}}html{scroll-padding-top:92px}:root{--section-y:clamp(58px, 7vw, 92px)}.hero{min-height:610px;padding-top:48px;padding-bottom:24px}.about-band,.projects,.experience,.contact{padding-top:var(--section-y);padding-bottom:var(--section-y)}.section-heading{margin-bottom:26px}.project-grid{gap:18px}.project-card{padding:11px}.stats-grid{gap:16px}.stat-card{padding:18px}.skills-block{padding-top:24px}.skill-list{gap:10px}.timeline-row{min-height:92px;padding:10px 0}.terminal-section{padding-top:var(--section-y);padding-bottom:var(--section-y);border-bottom:1px solid var(--line);grid-template-columns:.82fr 1.18fr;align-items:center;gap:clamp(34px,6vw,76px);display:grid;position:relative}.terminal-section:before{content:"";filter:blur(36px);pointer-events:none;z-index:-1;background:radial-gradient(circle,#cfb17521,#0000 68%);border-radius:50%;width:440px;height:300px;position:absolute;top:50%;right:5%;transform:translateY(-50%)}.terminal-intro{max-width:470px}.section-kicker{color:#ede2cd;background:#cdae701f;border:1px solid #dbc49740;border-radius:999px;align-items:center;gap:8px;width:max-content;margin-bottom:18px;padding:7px 11px;font-size:11px;display:inline-flex}.terminal-intro h2{color:#faf9f8;letter-spacing:-.045em;margin:0;font-size:clamp(30px,4vw,46px);line-height:1.08}.terminal-intro h2 span{background:linear-gradient(110deg,#d3b881,#dfcba4);color:#0000;-webkit-background-clip:text}.terminal-intro>p{max-width:440px;color:var(--muted);margin:20px 0 22px;font-size:13px;line-height:1.75}.terminal-command-chips{flex-wrap:wrap;gap:8px;display:flex}.terminal-command-chips button{color:#cbd5e1;cursor:pointer;background:#0a0f1bb3;border:1px solid #8495b538;border-radius:7px;padding:7px 10px;font:600 10px/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;transition:transform .2s,border-color .2s,background .2s}.terminal-command-chips button:hover{background:#cdae7024;border-color:#dbc4978c;transform:translateY(-2px)}.terminal-window{background:linear-gradient(#0b111ff5,#050a12fa);border:1px solid #9aa8c73d;border-radius:16px;min-width:0;position:relative;overflow:hidden;box-shadow:0 28px 80px #0000006b,0 0 0 1px #cfb17514,0 0 80px #cdae7014}.terminal-titlebar{background:linear-gradient(#192030f5,#0e1420f5);border-bottom:1px solid #919fbd26;grid-template-columns:1fr auto 1fr;align-items:center;height:48px;padding:0 15px;display:grid}.traffic-lights{gap:7px;display:flex}.traffic-lights span{border-radius:50%;width:11px;height:11px;box-shadow:inset 0 -1px 1px #00000040}.traffic-lights span:first-child{background:#ff5f57}.traffic-lights span:nth-child(2){background:#febc2e}.traffic-lights span:nth-child(3){background:#28c840}.terminal-title{color:#9ea8bb;align-items:center;gap:7px;font:500 10.5px ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;display:flex}.terminal-window-icons{color:#647084;justify-self:end;gap:10px;display:flex}.terminal-body{scrollbar-width:thin;scrollbar-color:#353f55 transparent;cursor:text;background:radial-gradient(circle at 75% 20%,#cdae7014,#0000 38%);height:315px;padding:22px 22px 18px;overflow:auto}.terminal-line,.terminal-prompt{color:#aeb8c8;word-break:break-word;font:500 12px/1.68 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.terminal-line{margin-bottom:5px}.terminal-line.command{color:#f2f4f8}.terminal-line.accent{color:#e2d0ad}.terminal-line.error{color:#ff8e9b}.terminal-prefix{color:#d7bf8e;white-space:nowrap}.terminal-prefix b{color:#5bd5a4;font-weight:650}.terminal-prompt{align-items:center;gap:8px;min-width:0;display:flex}.terminal-prompt input{color:#faf9f8;caret-color:#d9c293;min-width:0;font:inherit;background:0 0;border:0;outline:0;flex:1;padding:0}.terminal-prompt input::placeholder{color:#515d70}.terminal-caret{opacity:0;pointer-events:none;background:#d9c293;width:7px;height:15px;margin-left:-7px}.terminal-prompt:focus-within .terminal-caret{animation:1s step-end infinite terminalBlink}@keyframes terminalBlink{50%{opacity:.95}}.terminal-statusbar{color:#657187;background:#080d16;border-top:1px solid #919fbd1f;justify-content:flex-end;align-items:center;gap:17px;min-height:34px;padding:0 15px;font:500 9.5px ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;display:flex}.terminal-statusbar span:first-child{color:#7e8a9f;margin-right:auto}.terminal-statusbar i{background:#48c978;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block;box-shadow:0 0 10px #48c9788c}html[data-bandwidth=low] .terminal-section:before{display:none}html[data-bandwidth=low] .terminal-window{box-shadow:none}html[data-bandwidth=low] .terminal-command-chips button{transition:none}@media (max-width:900px){.terminal-section{grid-template-columns:1fr}.terminal-intro{text-align:center;flex-direction:column;align-items:center;max-width:680px;margin:0 auto;display:flex}.terminal-intro>p{max-width:620px}.terminal-command-chips{justify-content:center}.terminal-window{width:100%;max-width:760px;margin:0 auto}}@media (max-width:560px){:root{--section-y:54px}.hero{padding-top:42px;padding-bottom:12px}.terminal-section{gap:30px}.terminal-body{height:300px;padding:18px 14px 15px}.terminal-titlebar{grid-template-columns:1fr auto;padding:0 12px}.terminal-title{justify-self:end;font-size:9px}.terminal-window-icons{display:none}.terminal-statusbar{gap:10px;padding:0 12px}.terminal-statusbar span:nth-child(2){display:none}.terminal-line,.terminal-prompt{font-size:11px}}.socials a{border:1px solid #0000;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.socials a:hover{background:#cfb27817;border-color:#dac39538;box-shadow:0 0 22px #cfb27829}.socials a svg{display:block}.interactive-avatar{z-index:3;perspective:900px;filter:drop-shadow(0 28px 42px #00000061);flex-direction:column;justify-content:flex-start;align-items:center;width:300px;height:376px;display:flex;position:relative}.avatar-character{width:274px;height:326px;transform-style:preserve-3d;will-change:transform;position:relative}.avatar-face{z-index:4;background:linear-gradient(145deg,#c98566 0%,#b36c53 56%,#8c4e40 100%);border-radius:48% 48% 45% 45%/42% 42% 55% 55%;width:154px;height:174px;position:absolute;top:54px;left:61px;box-shadow:inset 16px 0 24px #ffcdb117,inset -18px -8px 26px #3a121433,0 5px 22px #0003}.avatar-face:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,#ffebdb12,#0000 42%);position:absolute;inset:3px 8px 0}.avatar-hair{z-index:7;background:linear-gradient(145deg,#151724,#05060b 78%);border-radius:55% 55% 30% 30%;position:absolute;box-shadow:inset 5px 5px 11px #ffffff06}.avatar-hair-one{width:174px;height:96px;top:13px;left:50px;transform:rotate(-5deg)}.avatar-hair-two{border-radius:55% 20% 60% 25%;width:86px;height:72px;top:49px;left:50px;transform:rotate(-25deg)}.avatar-hair-three{border-radius:25% 60% 28% 58%;width:74px;height:89px;top:42px;right:42px;transform:rotate(20deg)}.avatar-ear{z-index:3;background:#9c5a48;border-radius:50%;width:28px;height:43px;position:absolute;top:117px;box-shadow:inset 0 0 0 5px #4c1f1f14}.avatar-ear-left{left:47px;transform:rotate(-8deg)}.avatar-ear-right{right:47px;transform:rotate(8deg)}.avatar-brow{background:#1a2330;border-radius:99px;width:43px;height:7px;position:absolute;top:58px;box-shadow:0 1px 1px #0003}.avatar-brow-left{left:26px;transform:rotate(-5deg)}.avatar-brow-right{right:24px;transform:rotate(4deg)}.avatar-eye{background:#f8eee6;border-radius:50%;width:45px;height:28px;position:absolute;top:77px;overflow:hidden;box-shadow:inset 0 4px 6px #64312b2e,0 0 0 1px #461e1e1a}.avatar-eye-left{left:25px}.avatar-eye-right{right:23px}.avatar-pupil{will-change:transform;background:radial-gradient(circle at 37% 32%,#594038 0 15%,#251d1b 17% 57%,#09090b 59% 100%);border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 2px #3d221f38}.avatar-pupil i{background:#fff;border-radius:50%;width:4px;height:4px;position:absolute;top:3px;left:3px;box-shadow:0 0 5px #ffffffa6}.avatar-nose{border:0 solid #5d2f2a52;border-width:0 0 2px 2px;border-radius:0 0 0 13px;width:17px;height:35px;position:absolute;top:93px;left:71px;transform:skew(-7deg)}.avatar-mouth{border-bottom:3px solid #4c2528;border-radius:50%;width:39px;height:8px;position:absolute;top:140px;left:59px}.avatar-beard{z-index:-1;clip-path:polygon(0 0,13% 20%,20% 62%,50% 100%,81% 62%,88% 20%,100% 0,100% 70%,76% 100%,25% 100%,0 70%);background:linear-gradient(#0000 0 15%,#1a181de0 17%,#111218 100%);border-radius:20% 20% 48% 48%;height:72px;position:absolute;bottom:-3px;left:18px;right:16px}.avatar-neck{z-index:2;background:linear-gradient(90deg,#8c4e40,#b66c52 45%,#8d4c40);border-radius:0 0 26px 26px;width:67px;height:61px;position:absolute;top:207px;left:104px}.avatar-hoodie{z-index:5;background:linear-gradient(145deg,#151a25,#090c13 64%,#05070b);border-radius:48px 48px 22px 22px;height:126px;position:absolute;bottom:0;left:16px;right:16px;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,inset 0 18px 24px #d4ba860a}.avatar-hoodie:before{content:"";background:#05070b;border-radius:0 0 50% 50%;width:70px;height:39px;position:absolute;top:0;left:89px;box-shadow:0 0 0 8px #111620}.hood{background:#0d111a;border:1px solid #ffffff0a;width:86px;height:58px;position:absolute;top:-3px}.hood-left{border-radius:52% 15% 55% 20%;left:20px;transform:rotate(12deg)}.hood-right{border-radius:15% 52% 20% 55%;right:20px;transform:rotate(-12deg)}.hoodie-string{z-index:3;background:#424958;border-radius:99px;width:2px;height:58px;position:absolute;top:28px;box-shadow:0 0 0 1px #0000003d}.string-left{left:121px;transform:rotate(3deg)}.string-right{right:121px;transform:rotate(-3deg)}.avatar-label{z-index:9;color:#d2d8e4;white-space:nowrap;background:#060a11eb;border:1px solid #a4b2ca2e;border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font-size:10px;display:flex;position:absolute;bottom:15px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #00000040}.avatar-look-hint{z-index:10;color:#b2a998;white-space:nowrap;opacity:.72;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#0a0d16b3;border:1px solid #dac3942b;border-radius:999px;align-items:center;gap:5px;padding:6px 8px;font-size:9px;animation:3.8s ease-in-out infinite lookHint;display:flex;position:absolute;top:8px;right:-44px}@keyframes lookHint{50%{opacity:1;transform:translateY(-4px)}}.tech-float svg{width:28px;height:28px}.tech-float.react{color:#61dafb}.tech-float.js{color:#f7df1e;background:linear-gradient(145deg,#121b2eeb,#050a12fa)}.tech-float.ts{color:#3178c6}.tech-float.node{color:#75b957}.tech-float.next{color:#f5f5f7;width:50px;height:50px;bottom:6%;left:23%}html[data-bandwidth=low] .avatar-look-hint{display:none}html[data-bandwidth=low] .avatar-pupil{transform:none!important}@media (max-width:1050px){.interactive-avatar{width:265px;height:340px;transform:scale(.9)}.avatar-look-hint{right:-24px}}@media (max-width:760px){.interactive-avatar{transform-origin:bottom;transform:scale(.92)}.avatar-look-hint{display:none}}@media (max-width:550px){.interactive-avatar{margin-top:-22px;margin-bottom:-42px;transform:scale(.76)}.tech-float.next{bottom:8%;left:19%}}@media (pointer:coarse){.avatar-look-hint{display:none}}.contact-form{gap:12px}.contact-form .contact-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field-group{flex-direction:column;gap:0;min-width:0;display:flex}.contact-form .field-group input,.contact-form .field-group textarea{transition:border-color .22s,box-shadow .22s,background .22s,transform .22s}.contact-form .field-group.has-error input,.contact-form .field-group.has-error textarea{background:linear-gradient(#360f1d52,#0c1016c7);border-color:#ff5c75bf;box-shadow:0 0 0 3px #ff486914,0 10px 30px #59122714}.contact-form .field-group.has-error input:focus,.contact-form .field-group.has-error textarea:focus{border-color:#ff6b86;box-shadow:0 0 0 3px #ff48691f,0 0 28px #ff486914}.field-error{color:#ff8ca1;align-items:flex-start;gap:6px;margin:7px 2px 0;font-size:10px;line-height:1.45;display:flex;overflow:hidden}.field-error svg{flex:none;margin-top:1px}.field-meta{justify-content:space-between;align-items:flex-start;gap:10px;min-height:16px;display:flex}.field-meta>.field-error{flex:1}.field-meta>span{color:#667085;flex:none;margin-top:7px;font:500 9.5px/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;transition:color .2s}.field-meta>span.near-limit{color:#e8ad5d}.contact-submit-row{align-items:center;gap:12px;min-height:40px;display:flex}.form-status{align-items:center;gap:6px;margin:0;font-size:10px;line-height:1.4;display:flex}.form-status.error{color:#ff8ca1}.form-status.success{color:#82d99e}.form-status svg{flex:none}@media (max-width:560px){.contact-form .contact-row{grid-template-columns:1fr}.contact-submit-row{flex-direction:column;align-items:flex-start}}.contact-honeypot{clip:rect(0,0,0,0)!important;white-space:nowrap!important;pointer-events:none!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.contact-security-note{color:#7f8b9e;align-items:flex-start;margin:1px 1px 2px;font-size:9.5px;line-height:1.5;grid-template-columns:none!important;gap:7px!important;display:flex!important}.contact-security-note svg{color:#d9c192;flex:none;margin-top:1px}.contact-form .primary-button:disabled{opacity:.72;cursor:wait;transform:none!important}.form-status.sending{color:#e8dabf}.spin-icon{animation:.9s linear infinite contact-spin}@keyframes contact-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spin-icon{animation-duration:1.8s}}html.theme-transition,html.theme-transition body,html.theme-transition body :not(.avatar-pupil):not(.hero-copy):not(.hero-visual){transition-property:color,background-color,background,border-color,box-shadow,fill,stroke;transition-duration:.42s;transition-timing-function:cubic-bezier(.22,1,.36,1)}html[data-theme=light]{--bg:#faf9f7;--panel:#fff;--panel-2:#f5f4f1;--text:#151c26;--muted:#626773;--line:#514b4024;--accent:#8c6c2c;--accent-2:#8c6c2c;--accent-soft:#8c6c2c1a;--shadow:0 22px 55px #47423821}html[data-theme=light] body{background:radial-gradient(circle at 76% 10%,#8c6c2c24,#0000 31%),radial-gradient(circle at 8% 55%,#8c6c2c1c,#0000 27%),linear-gradient(#fdfdfc 0%,#f7f6f4 70%,#fcfbfa 100%)}html[data-theme=light] .ambient{opacity:.1}html[data-theme=light] .ambient-one,html[data-theme=light] .ambient-two{background:#8c6c2c}html[data-theme=light] .topbar{border-color:#514b401f}html[data-theme=light] .brand svg{color:#8c6c2c}html[data-theme=light] .desktop-nav{color:#504a5c}html[data-theme=light] .desktop-nav a:hover,html[data-theme=light] .desktop-nav a.active{color:#8c6c2c}html[data-theme=light] .icon-button{color:#8c6c2c;background:#ffffffb8;border-color:#6f67572e;box-shadow:0 8px 24px #534d4117,inset 0 1px #ffffffe6}html[data-theme=light] .icon-button:hover{background:#fff;box-shadow:0 10px 28px #87682b26}html[data-theme=light] .outline-button{color:#3a362d;background:#ffffffa8;border-color:#5d56493d;box-shadow:inset 0 1px #ffffffe6}html[data-theme=light] .outline-button:hover{color:#8c6c2c;background:#fff;border-color:#8c6c2c73}html[data-theme=light] .eyebrow,html[data-theme=light] .section-kicker{color:#8c6c2c;background:#8c6c2c14;border-color:#8c6c2c2e}html[data-theme=light] .hero h1 span,html[data-theme=light] .terminal-intro h2 span{background:linear-gradient(110deg,#8c6c2c,#8c6c2c);-webkit-background-clip:text}html[data-theme=light] .socials{color:#635c4e}html[data-theme=light] .socials>span{color:#716a7d}html[data-theme=light] .about-copy h2,html[data-theme=light] .section-heading h2,html[data-theme=light] .skills-block h3{color:#8c6c2c}html[data-theme=light] .stat-card,html[data-theme=light] .project-card{background:linear-gradient(145deg,#ffffffe8,#f8f7f5d6);border-color:#5e574a21;box-shadow:0 16px 40px #48433914,inset 0 1px #fffffff2}html[data-theme=light] .stat-card span,html[data-theme=light] .project-card>p,html[data-theme=light] .timeline-title p,html[data-theme=light] .timeline-copy{color:#6c6578}html[data-theme=light] .skill-list span,html[data-theme=light] .tag-row span,html[data-theme=light] .terminal-command-chips button{color:#5c5548;background:#ffffffb3;border-color:#615a4d24}html[data-theme=light] .section-heading>a{color:#585245}html[data-theme=light] .project-title-row button{color:#635c4d;background:#f9f8f6;border-color:#60594c29}html[data-theme=light] .timeline-row{border-color:#5852461a}html[data-theme=light] .timeline-year{color:#8c6c2c}html[data-theme=light] .contact-form input,html[data-theme=light] .contact-form textarea{color:#1b2533;background:#ffffffb8;border-color:#5c55482b;box-shadow:inset 0 1px #ffffffe6}html[data-theme=light] .contact-form input::placeholder,html[data-theme=light] .contact-form textarea::placeholder{color:#8a8295}html[data-theme=light] .contact-details p span,html[data-theme=light] .contact-details p a,html[data-theme=light] .contact-security-note{color:#6b6478}html[data-theme=light] .terminal-intro h2{color:var(--text)}html[data-theme=light] .mac-dock{color:#3a362e;background:#faf9f8c2;border-color:#60594b2e;box-shadow:0 24px 60px #433e342e,inset 0 1px #fffffff2}html[data-theme=light] .dock-item{color:#5d5649;background:linear-gradient(145deg,#fffffff5,#f0eeebf0);border-color:#5c564921;box-shadow:0 5px 14px #4e493e14,inset 0 1px #fff}html[data-theme=light] .dock-tooltip{color:#fff;background:#332f28}html[data-theme=light] .network-toast{color:#1c2633;background:#ffffffeb;box-shadow:0 14px 40px #423d3424}html[data-theme=light] .footer{color:#756e81}@media (prefers-reduced-motion:reduce){html.theme-transition,html.theme-transition body,html.theme-transition body *{transition-duration:.01ms!important}}.primary-button,.back-to-top{color:#172131;background:linear-gradient(135deg,#e5c995,#c6a366);box-shadow:0 10px 28px #0000002e,inset 0 1px #ffffff59}.primary-button:hover,.back-to-top:hover{box-shadow:0 14px 32px #0000003d,0 0 0 1px #c6a36666}html[data-theme=light] .dock-item:hover{color:#172131;background:linear-gradient(135deg,#e5c995,#c6a366)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent-2);outline-offset:4px}
