@import "https://fonts.googleapis.com/css2?family=Anton&family=IBM+Plex+Mono:wght@400;500&family=Space+Grotesk:wght@300;400;500;600;700&display=swap";:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-width:320px;min-height:100vh}#root{isolation:isolate}button,input,textarea{font-family:inherit}::selection{background:color-mix(in srgb, var(--accent) 25%, transparent);color:var(--text)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#0a0a0a}::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}.navbar{z-index:500;padding:0 1.2rem;transition:top .3s;position:fixed;top:.55rem;left:0;right:0}.navbar-inner{z-index:3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(135deg,#ffffff0e,#0000 45%),#141412e8;border:1px solid #f0ede65c;border-radius:999px;justify-content:space-between;align-items:center;gap:.5rem;width:min(100%,720px);min-height:62px;margin:0 auto;padding:.32rem .38rem .32rem .32rem;transition:background .3s,border-color .3s,box-shadow .3s;display:flex;position:relative;box-shadow:0 13px 38px #0000004d,inset 0 1px #ffffff14,inset 0 -1px #ffffff06}.navbar-inner:before{content:"";border-radius:inherit;pointer-events:none;border:1px solid #f0ede614;position:absolute;inset:4px 5px}.navbar .navbar-inner{width:min(100%,720px)}.navbar.scrolled .navbar-inner{border-color:#f0ede661;box-shadow:0 16px 44px #00000061,inset 0 1px #ffffff0f}.nav-logo{color:#fff;width:46px;height:46px;font-family:var(--font-display);letter-spacing:-.07em;cursor:none;background:#10100f;border:1px solid #f0ede6ad;border-radius:50%;flex:0 0 46px;justify-content:center;align-items:center;gap:.02em;font-size:1rem;transition:background .22s,color .22s,transform .22s;display:flex}.nav-logo span{color:var(--mra-accent)}.nav-logo:hover{color:#fff;background:#262624;transform:rotate(-5deg)}.nav-links{background:#ffffff05;border:1px solid #f0ede61a;border-radius:999px;justify-content:center;align-items:center;gap:.06rem;margin:0 auto;padding:.08rem .18rem;list-style:none;display:flex;box-shadow:inset 0 1px #ffffff09}.nav-item{position:relative}.nav-links button{min-width:40px;min-height:40px;color:var(--muted2);cursor:none;background:0 0;border:0;border-radius:50%;place-items:center;padding:.55rem;transition:color .2s,background .2s;display:grid;position:relative}.nav-links button:hover,.nav-item.active button{color:var(--text);background:#ffffff17}.nav-item.active button:after{content:"";background:var(--red);border-radius:50%;width:3px;height:3px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.nav-link-label{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.theme-toggle{color:var(--text);font:500 .54rem var(--font-mono);letter-spacing:.06em;cursor:none;background:0 0;border:0;flex:none;align-items:center;gap:.5rem;padding:.25rem .2rem .25rem .45rem;display:inline-flex}.theme-toggle-track{background:#ffffff0a;border:1px solid #f0ede6c2;border-radius:999px;align-items:center;width:49px;height:27px;padding:2px;display:flex}.theme-toggle-thumb{background:var(--text);width:21px;height:21px;color:var(--bg);border-radius:50%;place-items:center;margin-left:auto;font:700 .85rem sans-serif;transition:margin .38s cubic-bezier(.22,1,.36,1),transform .46s cubic-bezier(.22,1,.36,1);display:grid}[data-theme=light] .theme-toggle-thumb{margin-left:0;transform:rotate(180deg)}.nav-cta{min-height:44px;color:var(--text);font:500 .55rem var(--font-mono);letter-spacing:.02em;text-transform:uppercase;border:1px solid #f0ede694;border-radius:999px;flex:none;align-items:center;gap:.45rem;padding:.3rem .35rem .3rem .7rem;text-decoration:none;transition:border-color .2s,background .2s,color .2s;display:inline-flex}.nav-cta:hover{border-color:var(--red);background:var(--red);color:#fff}.nav-cta-status{width:18px;height:18px;color:var(--muted2);border:1px solid #f0ede64d;border-radius:50%;place-items:center;font-size:.58rem;display:grid}.nav-cta-arrow{background:var(--text);width:34px;height:34px;color:var(--bg);font:400 1.1rem var(--font-body);border-radius:50%;place-items:center;transition:transform .2s;display:grid}.nav-cta:hover .nav-cta-arrow{transform:rotate(45deg)}.hamburger{cursor:none;background:0 0;border:1px solid #f0ede640;border-radius:50%;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:0 10px;display:none}.hamburger span{background:var(--text);width:20px;height:1.5px;transition:transform .25s,opacity .25s;display:block}.hamburger.open span:first-child{transform:translateY(6.5px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.nav-mobile-backdrop{display:none}@media (width<=1024px){.navbar .navbar-inner{gap:.25rem;width:min(100%,720px)}.nav-links{gap:0}.nav-links button{min-width:39px;padding-inline:.48rem}.nav-cta{gap:.3rem;padding-left:.52rem;font-size:.5rem}}@media (width<=680px){.navbar{padding:0 1rem;top:.55rem}.navbar .navbar-inner{width:100%;min-height:54px;padding:.28rem .34rem .28rem .4rem}.navbar.menu-open .navbar-inner{border-color:#f0ede666}.nav-logo{flex-basis:42px;width:42px;height:42px}.hamburger{display:flex}.nav-cta{display:none}.theme-toggle{margin-left:auto}.nav-links{background:color-mix(in srgb, var(--bg) 97%, transparent);opacity:0;visibility:hidden;pointer-events:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #f0ede633;border-radius:1rem;flex-direction:column;align-items:stretch;gap:.2rem;margin:0;padding:.55rem;transition:opacity .2s,transform .2s,visibility .2s;display:flex;position:absolute;top:calc(100% + .55rem);left:0;right:0;transform:translateY(-8px);box-shadow:0 22px 50px #00000073}.nav-links.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.nav-links li{width:100%}.nav-links button{border-radius:.65rem;justify-content:flex-start;gap:.8rem;width:100%;min-height:46px;padding:.72rem .85rem;font-size:.69rem;display:flex}.nav-links button svg{flex:0 0 18px}.nav-link-label{clip:auto;clip-path:none;white-space:normal;width:auto;height:auto;font:500 .68rem var(--font-mono);text-transform:uppercase;position:static;overflow:visible}.nav-item.active button:after{bottom:50%;left:auto;right:.85rem;transform:translateY(50%)}.nav-mobile-backdrop{z-index:1;opacity:0;pointer-events:none;background:#00000047;border:0;transition:opacity .2s;display:block;position:fixed;inset:-1rem}.nav-mobile-backdrop.open{opacity:1;pointer-events:auto}}@media (width<=420px){.nav-cta{display:none}.theme-toggle{gap:.35rem;font-size:.48rem}.theme-toggle-track{width:43px;height:25px}.theme-toggle-thumb{width:19px;height:19px}}.hero{--hero-accent:var(--red);--hero-role-stroke:#f0ede6b3;--hero-orbit-stroke:#f0ede62e;--hero-orbit-stroke-soft:#f0ede630;--hero-orbit-halo:#f0ede60d;isolation:isolate;min-height:max(720px,100svh);padding:7.4rem 3rem 1rem;transition:--hero-accent .56s cubic-bezier(.22,1,.36,1),--hero-role-stroke .56s cubic-bezier(.22,1,.36,1),--hero-orbit-stroke .56s cubic-bezier(.22,1,.36,1),--hero-orbit-stroke-soft .56s cubic-bezier(.22,1,.36,1),--hero-orbit-halo .56s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.hero:before{content:"";z-index:-1;background:radial-gradient(ellipse at 50% 40%, color-mix(in srgb, var(--hero-accent) 14%, transparent), transparent 30%), linear-gradient(180deg, transparent 64%, var(--bg) 100%);pointer-events:none;position:absolute;inset:0}[data-theme=light] .hero{--hero-accent:var(--accent);--hero-role-stroke:#19191794;--hero-orbit-stroke:#19191757;--hero-orbit-stroke-soft:#19191747;--hero-orbit-halo:#1919171a}.hero-inner{width:min(100%,1500px);min-height:calc(max(720px,100svh) - 8.4rem);margin:0 auto;position:relative;transform:translateY(-3rem)}.hero-topline{z-index:5;color:var(--muted2);font-family:var(--font-mono);letter-spacing:.13em;justify-content:flex-end;align-items:center;gap:1rem;font-size:.67rem;display:flex;position:absolute;top:12%;left:0;right:0}.hero-location{margin:0}.hero-location span{color:var(--red);padding-inline:.15rem}.hero-title{z-index:2;width:100%;font-family:var(--font-display);letter-spacing:-.035em;white-space:nowrap;pointer-events:none;translate:var(--hero-scroll-x,0px) 0;will-change:translate;justify-content:center;margin:0;font-size:clamp(2.55rem,11vw,13rem);font-weight:400;line-height:.74;animation:.8s cubic-bezier(.2,.75,.25,1) both hero-rise;display:flex;position:absolute;top:18.5%;left:0}.hero-title-name{color:var(--text);text-shadow:0 3px 1px #10100e33}.hero-title-outline{z-index:1;color:#0000;-webkit-text-stroke:1.5px var(--hero-role-stroke);width:max-content;max-width:100%;font-family:var(--font-display);letter-spacing:.015em;white-space:nowrap;pointer-events:none;translate:calc(-50% + var(--hero-outline-scroll-x,0px)) 0;will-change:translate;margin:0;font-size:clamp(3.5rem,8.2vw,8rem);line-height:.82;position:absolute;top:50%;left:50%}.hero-orbit{z-index:0;aspect-ratio:1;pointer-events:none;width:min(75vw,920px);position:absolute;top:34.5%;left:50%;transform:translate(-50%,-50%)}.hero-orbit-ring{border:1px solid var(--hero-orbit-stroke);border-radius:50%;position:absolute;inset:0}.hero-orbit-ring--middle{border-style:dashed;border-color:var(--hero-orbit-stroke-soft);inset:10%}.hero-orbit-ring--inner{border-color:var(--hero-orbit-stroke);inset:25%}.hero-orbit-core{background:radial-gradient(circle, var(--hero-accent) 0 48%, color-mix(in srgb, var(--hero-accent) 82%, transparent) 49% 58%, color-mix(in srgb, var(--hero-accent) 6%, transparent) 59% 100%);box-shadow:0 0 90px color-mix(in srgb, var(--hero-accent) 22%, transparent);border-radius:50%;position:absolute;inset:31%}.hero-orbit-point{border:1px solid var(--text);background:var(--bg);width:9px;height:9px;box-shadow:0 0 0 5px var(--hero-orbit-halo);border-radius:50%;position:absolute}.hero-orbit-point--top{top:14%;left:78%}.hero-orbit-point--side{background:var(--hero-accent);border-color:var(--hero-accent);bottom:28%;right:9%}.hero-portrait{z-index:3;pointer-events:none;justify-content:center;align-items:flex-end;width:min(42vw,570px);margin:0;animation:.95s cubic-bezier(.2,.75,.25,1) 80ms both hero-rise;display:flex;position:absolute;top:9%;bottom:-4.8rem;left:50%;translate:-50%}.hero-portrait-frame{filter:drop-shadow(0 24px 48px color-mix(in srgb, var(--hero-accent) 25%, transparent));border-radius:49% 49% 0 0/38% 38% 0 0;position:absolute;inset:0;overflow:hidden}.hero-portrait-frame img{object-fit:cover;object-position:center 8%;filter:saturate(.66)contrast(1.06)brightness(.83);width:100%;height:100%;display:block}.hero-copy{z-index:4;width:min(29rem,38%);animation:.7s .16s both hero-rise;position:absolute;bottom:.65rem;left:0}.hero-sub{color:var(--text);max-width:25rem;margin:0 0 1.15rem;font-size:clamp(1.35rem,1.75vw,1.85rem);font-weight:500;line-height:1.28}.hero-btn-group{flex-wrap:wrap;align-items:center;gap:1.3rem;display:flex}.hero .hero-btn-primary{background:var(--text);min-height:46px;color:var(--bg);text-transform:uppercase;font-family:var(--font-mono);letter-spacing:.055em;border-radius:0;padding:.8rem 1rem;font-size:.64rem}.hero .hero-btn-primary:hover{background:var(--red);color:#fff}.hero .hero-btn-primary span{margin-left:.45rem;font-size:.95rem;line-height:0}.hero-text-link,.hero-resume-link{color:var(--text);font-family:var(--font-mono);text-transform:uppercase;border-bottom:1px solid #f0ede69e;padding:.65rem 0;font-size:.65rem;text-decoration:none;transition:color .2s,border-color .2s}.hero-text-link span{color:var(--red)}.hero-text-link:hover,.hero-resume-link:hover{color:var(--red);border-color:var(--red)}.hero-caption{color:var(--muted2);font-family:var(--font-mono);letter-spacing:.09em;margin:1.1rem 0 0;font-size:.56rem}.hero-contact-bubble{z-index:5;color:var(--text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font:500 .56rem var(--font-mono);letter-spacing:.06em;background:#11110fbf;border:1px solid #f0ede6b8;border-radius:999px;align-items:center;gap:.65rem;padding:.38rem .42rem .38rem .65rem;text-decoration:none;transition:background .2s,border-color .2s,transform .2s;display:inline-flex;position:absolute;bottom:21%;right:0}.hero-contact-bubble:hover{border-color:var(--red);background:var(--red);transform:translateY(-2px)}.hero-contact-dot{width:27px;height:27px;color:var(--bg);background:var(--text);border-radius:50%;place-items:center;font-size:.9rem;display:grid}.capability-strip{z-index:6;border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);background:color-mix(in srgb, var(--bg) 94%, transparent);position:relative}.capability-strip-inner{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.capability-item{border-right:1px solid var(--border2);justify-content:center;align-items:center;gap:.8rem;min-height:92px;padding:1rem;display:flex}.capability-item:last-child{border-right:0}.capability-mark{border:1px solid var(--border2);width:34px;height:34px;color:var(--red);font:500 .53rem var(--font-mono);place-items:center;display:grid}.capability-item p{color:var(--muted2);font:400 .52rem var(--font-mono);letter-spacing:.09em;margin:0 0 .16rem}.capability-item strong{color:var(--text);font-size:.75rem;font-weight:500}@keyframes hero-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media (width<=1024px){.hero{padding:7.2rem 2rem 1rem}.hero-inner{min-height:calc(max(720px,100svh) - 8.2rem);transform:translateY(-1.75rem)}.hero-topline{top:11%}.hero-title{font-size:clamp(2.55rem,11vw,8rem);top:23%}.hero-title-outline{font-size:clamp(3.3rem,8vw,6rem);top:49%}.hero-portrait{width:min(51vw,510px);top:13.5%;bottom:-3.55rem}.hero-copy{width:42%;bottom:.8rem}.hero-orbit{width:88vw;top:35%}.hero-contact-bubble{bottom:19%}}@media (width<=768px){.hero{min-height:790px;padding:6.3rem 1.4rem 1rem}.hero-inner{min-height:710px;transform:translateY(-1.25rem)}.hero-topline{align-items:flex-start;font-size:.54rem;top:5%}.hero-location{text-align:right;max-width:55%;line-height:1.65}.hero-title{font-size:clamp(2.55rem,10.8vw,5.4rem);top:19%}.hero-title-outline{font-size:clamp(2.3rem,8.2vw,4.3rem);top:38%}.hero-orbit{width:min(116vw,650px);top:28.5%;left:50%}.hero-portrait{width:min(74vw,390px);top:15%;bottom:-2.25rem}.hero-copy{width:min(100%,29rem);bottom:.6rem}.hero-sub{max-width:23rem;font-size:1.3rem}.hero-contact-bubble{bottom:23%;right:0}.hero-caption{margin-top:.8rem}.capability-strip-inner{grid-template-columns:repeat(2,minmax(0,1fr))}.capability-item{justify-content:flex-start;min-height:76px;padding:.8rem 1rem}.capability-item:nth-child(2){border-right:0}.capability-item:nth-child(-n+2){border-bottom:1px solid var(--border2)}}@media (width<=480px){.hero{min-height:740px;padding-inline:1rem}.hero-inner{min-height:665px}.hero-topline{gap:.5rem;font-size:.49rem;top:4%}.hero-location{max-width:60%}.hero-title{font-size:clamp(2.45rem,10vw,3.4rem);top:21%}.hero-title-outline{font-size:clamp(1.9rem,7.2vw,2.75rem);top:39%}.hero-orbit{width:122vw;top:27%}.hero-portrait{width:min(82vw,350px);top:19%;bottom:-2.25rem}.hero-copy{bottom:.55rem}.hero-sub{max-width:19rem;font-size:1.2rem}.hero-btn-group{gap:.8rem 1rem}.hero-btn-primary{min-height:42px;padding-inline:.8rem}.hero-resume-link{display:none}.hero-contact-bubble{padding:.3rem;bottom:22%}.hero-contact-bubble>span:last-child{display:none}.hero-caption{font-size:.49rem}.capability-item{gap:.55rem;padding:.75rem .6rem}.capability-mark{flex:0 0 30px;width:30px;height:30px}.capability-item p{font-size:.46rem}.capability-item strong{font-size:.66rem}}@media (prefers-reduced-motion:reduce){.hero-title,.hero-portrait,.hero-copy{animation:none}}.about{border-top:1px solid var(--border);padding:2.2rem 3rem 3rem}.about-inner{width:min(100%,1500px);margin:0 auto}.about-divider{color:var(--text);font:600 .78rem var(--font-mono);letter-spacing:.08em;align-items:center;gap:1.4rem;margin:0 0 2.7rem;display:flex}.about-divider:before,.about-divider:after{content:"";background:var(--border2);flex:1;height:1px}.about-divider span{white-space:nowrap}.about-layout{grid-template-columns:minmax(0,1fr) minmax(440px,.92fr);align-items:center;gap:clamp(3rem,7vw,7rem);display:grid}.about-content{max-width:39rem}.about-kicker{color:var(--red);font:500 .61rem var(--font-mono);letter-spacing:.12em;margin:0 0 1rem}.about-title{color:var(--text);font:400 clamp(2.7rem, 4.6vw, 4.7rem)/.98 var(--font-display);letter-spacing:-.01em;text-transform:uppercase;margin:0 0 1.55rem}.about-text{max-width:62ch;color:var(--muted2);margin:0 0 1.05rem;font-size:clamp(.96rem,1.15vw,1.08rem);line-height:1.82}.about-practice-tags{flex-wrap:wrap;gap:.55rem;margin:1.65rem 0 1.4rem;display:flex}.about-practice-tags span{border:1px solid var(--border2);color:var(--text);font:500 .59rem var(--font-mono);letter-spacing:.06em;padding:.5rem .75rem}.about-github{border-bottom:1px solid var(--muted2);color:var(--text);font:500 .64rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.55rem;padding:.2rem 0 .45rem;text-decoration:none;transition:color .2s,border-color .2s;display:inline-flex}.about-github span{color:var(--red);font-size:.9rem}.about-github:hover{color:var(--red);border-color:var(--red)}.about-orbit{border-left:1px solid var(--border2);min-width:0;padding-left:clamp(2rem,4vw,4rem)}[data-theme=light] .about-orbit{border-color:#a09c94}.about-orbit-heading{color:var(--muted2);font:400 .57rem var(--font-mono);letter-spacing:.08em;justify-content:space-between;gap:1rem;margin-bottom:.7rem;display:flex}.about-orbit-heading span:first-child{color:var(--text);font-size:.72rem;font-weight:500}.about-orbit-heading i{background:var(--red);width:.65rem;height:1px;margin:0 0 .2rem .45rem;display:inline-block}.tech-orbit-scene{aspect-ratio:1;width:100%;max-width:620px;margin:0 auto;position:relative;container-type:inline-size}.tech-orbit-ring{border:1px dashed #9a958e3d;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tech-orbit-ring--outer{width:94%;height:94%}.tech-orbit-ring--middle{border-color:#9a958e33;width:66%;height:66%}.tech-orbit-ring--inner{border-color:color-mix(in srgb, var(--accent) 42%, transparent);width:36%;height:36%}[data-theme=light] .tech-orbit-ring--outer{border-color:#1919173d}[data-theme=light] .tech-orbit-ring--middle{border-color:#19191733}[data-theme=light] .tech-orbit-ring--inner{border-color:color-mix(in srgb, var(--accent) 72%, #191917 28%)}.tech-orbit-center{z-index:2;box-sizing:border-box;aspect-ratio:1;border:1px solid var(--red);width:25%;box-shadow:0 0 38px color-mix(in srgb, var(--accent) 8%, transparent);background:#10100f;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;padding:.4rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tech-orbit-center strong{color:#fff;max-width:100%;font:400 2.3rem/1 var(--font-display);text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tech-orbit-center strong .tech-orbit-accent{color:var(--mra-accent);font:inherit;letter-spacing:inherit}.tech-orbit-center>span{color:#a09c94;font:400 .43rem/1.2 var(--font-mono);letter-spacing:.035em;text-align:center}.tech-orbit-track{transform-origin:50%;animation:tech-orbit-spin var(--orbit-duration) linear infinite;will-change:transform;position:absolute;inset:0}.tech-orbit-track--counterclockwise{animation-direction:reverse}.tech-orbit-position{width:0;height:0;transform:rotate(var(--orbit-angle)) translateX(var(--orbit-radius));position:absolute;top:50%;left:50%}.tech-orbit-node{z-index:3;appearance:none;border:1px solid color-mix(in srgb, var(--node-accent) 42%, transparent);background:color-mix(in srgb, var(--surface) 90%, transparent);width:42px;height:42px;color:var(--node-accent);font:600 .8rem var(--font-mono);cursor:pointer;transform:rotate(var(--orbit-counter-angle));animation:tech-orbit-counter-spin var(--orbit-duration) linear infinite;border-radius:11px;place-items:center;margin:-21px;padding:0;transition:border-color .2s,scale .2s,background .2s,box-shadow .2s;display:grid;position:absolute;top:0;left:0;box-shadow:0 7px 22px #00000047,inset 0 1px #ffffff0d}[data-theme=light] .tech-orbit-node{border-color:color-mix(in srgb, var(--node-accent) 78%, #191917 22%)}.tech-orbit-track--counterclockwise .tech-orbit-node{animation-name:tech-orbit-forward-spin}.tech-orbit-node img{object-fit:contain;filter:drop-shadow(0 0 6px #ffffff17);width:23px;height:23px;display:block}.tech-orbit-node .tech-orbit-openai-logo{filter:brightness(0)invert()drop-shadow(0 0 6px #ffffff29)}.tech-orbit-node-badge{color:var(--node-accent)}.tech-orbit-node:hover,.tech-orbit-node:focus-visible{z-index:4;border-color:var(--node-accent);background:var(--card2);box-shadow:0 0 18px color-mix(in srgb, var(--node-accent) 24%, transparent);scale:1.1}.tech-orbit-node:focus-visible{outline:2px solid var(--node-accent);outline-offset:3px}.tech-orbit-legend{flex-wrap:wrap;justify-content:center;gap:.55rem 1rem;margin:.7rem 0 0;padding:0;list-style:none;display:flex}.tech-orbit-legend li{color:var(--muted2);font:400 .5rem/1.2 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.35rem;display:inline-flex}.tech-orbit-legend-dot{background:var(--node-accent);width:.38rem;height:.38rem;box-shadow:0 0 8px color-mix(in srgb, var(--node-accent) 44%, transparent);border-radius:50%;flex:none}.tech-orbit-legend small{color:var(--text);font-size:.48rem}@keyframes tech-orbit-spin{to{transform:rotate(1turn)}}@keyframes tech-orbit-counter-spin{0%{transform:rotate(var(--orbit-counter-angle))}to{transform:rotate(calc(var(--orbit-counter-angle) - 1turn))}}@keyframes tech-orbit-forward-spin{0%{transform:rotate(var(--orbit-counter-angle))}to{transform:rotate(calc(var(--orbit-counter-angle) + 1turn))}}@media (width<=1024px){.about{padding:2rem 2rem 3rem}.about-layout{grid-template-columns:minmax(0,1fr) minmax(370px,.9fr);gap:2rem}.about-orbit{padding-left:2rem}}@media (width<=768px){.about{padding:1.8rem 1.4rem 2.75rem}.about-divider{margin-bottom:2rem}.about-layout{grid-template-columns:1fr;gap:3rem}.about-content{max-width:100%}.about-title{font-size:clamp(2.6rem,9vw,4rem)}.about-orbit{border-left:0;border-top:1px solid var(--border2);padding:2rem 0 0}.tech-orbit-scene{max-width:560px}}@media (width<=480px){.about{padding-inline:1rem}.about-text{font-size:.92rem}.about-orbit-heading{font-size:.46rem}.about-orbit-heading span:first-child{font-size:.62rem}.tech-orbit-node{border-radius:8px;width:34px;height:34px;margin:-17px}.tech-orbit-node img{width:20px;height:20px}.tech-orbit-center strong{font-size:1.75rem}.tech-orbit-center span{font-size:.35rem}.tech-orbit-legend{gap:.5rem .7rem}.tech-orbit-legend li{font-size:.45rem}}@media (prefers-reduced-motion:reduce){.tech-orbit-track,.tech-orbit-node{animation:none}}.projects{--project-arrow-color:#fff;border-top:1px solid var(--border);background-color:var(--bg);padding:clamp(3.25rem,5vw,4.5rem) 3rem clamp(3rem,4vw,4rem);position:relative;overflow:hidden}[data-theme=light] .projects{--project-arrow-color:#191917}.projects-inner{width:min(100%, var(--content-max));margin:0 auto}.projects-header{justify-content:space-between;align-items:flex-start;gap:3rem;margin:0 auto 1.4rem;display:flex}.projects-heading{color:var(--text);font-family:var(--font-mono,monospace);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.65rem;margin:0;font-size:.7rem;font-weight:600;line-height:1.5;display:flex}.projects-heading-dot{background:var(--text);border-radius:50%;flex:none;width:.45rem;height:.45rem}.projects-heading-years{color:var(--muted)}.projects-header-note{width:min(100%,22rem);color:var(--muted2)}.projects-header-note p{margin:0 0 .6rem;font-size:.84rem;line-height:1.65}.projects-header-note a,.project-open-link{color:var(--text);font-family:var(--font-mono,monospace);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.55rem;font-size:.65rem;text-decoration:none;transition:color .18s;display:inline-flex}.projects-header-note a:hover,.project-open-link:hover{color:var(--orange,var(--accent))}.projects-carousel{width:100%}.projects-stage{z-index:0;isolation:isolate;width:100%;height:clamp(310px,43vw,545px);margin:0 auto;position:relative}.project-preview{aspect-ratio:16/9;display:block;position:absolute;top:50%;overflow:visible}.project-preview--previous,.project-preview--next{z-index:1;cursor:pointer;opacity:.64;filter:grayscale(.82)brightness(.58)blur(.45px);background:0 0;border:0;width:min(55vw,790px);padding:0;transition:opacity .26s,filter .26s,transform .26s}.project-preview--previous{left:4.5%;transform:translate(-4%,-50%)scale(.82)rotate(-1.5deg)}.project-preview--next{right:4.5%;transform:translate(4%,-50%)scale(.82)rotate(1.5deg)}.project-preview--previous:hover,.project-preview--previous:focus-visible{opacity:.9;filter:grayscale(.15)brightness(.88);transform:translate(-2%,-50%)scale(.85)rotate(-.5deg)}.project-preview--next:hover,.project-preview--next:focus-visible{opacity:.9;filter:grayscale(.15)brightness(.88);transform:translate(2%,-50%)scale(.85)rotate(.5deg)}.project-preview--active{z-index:3;width:min(64vw,920px);animation:.45s cubic-bezier(.2,.75,.25,1) both project-feature-enter;left:50%;transform:translate(-50%,-50%)}.project-preview--active.project-preview--enter-next{animation-name:project-feature-enter-next}.project-preview--active.project-preview--enter-previous{animation-name:project-feature-enter-previous}.project-stage-arrow{z-index:4;border:1px solid color-mix(in srgb, var(--project-arrow-color) 62%, transparent);background:var(--bg);width:2.7rem;height:2.7rem;color:var(--project-arrow-color);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:border-color .22s,transform .22s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 .4rem 1.2rem #0003}.project-stage-arrow--previous{left:calc(600px - 45vw - 1.35rem)}.project-stage-arrow--next{right:calc(600px - 45vw - 1.35rem)}.project-stage-arrow span{font-size:1.2rem;line-height:1}.project-stage-arrow--previous:hover,.project-stage-arrow--previous:focus-visible{border-color:var(--project-arrow-color);transform:translate(-3px,-50%)}.project-stage-arrow--next:hover,.project-stage-arrow--next:focus-visible{border-color:var(--project-arrow-color);transform:translate(3px,-50%)}.project-preview--active:focus-visible,.project-preview--previous:focus-visible,.project-preview--next:focus-visible,.project-stage-arrow:focus-visible,.project-carousel-controls button:focus-visible,.project-pagination-dots button:focus-visible,.projects-header-note a:focus-visible,.project-open-link:focus-visible{outline:2px solid var(--orange,var(--accent));outline-offset:5px}.project-artwork{isolation:isolate;background:linear-gradient(140deg,#17191d,#0e0f11 72%);border:1px solid #f0ede640;border-radius:clamp(1rem,2vw,1.55rem);place-items:center;width:100%;height:100%;display:grid;position:relative;overflow:hidden;box-shadow:0 2rem 5.5rem #00000073,0 0 5rem #e6e6ff12}.project-artwork:before{z-index:-1;content:"";opacity:.42;background-image:linear-gradient(#f5f5f50e 1px,#0000 1px),linear-gradient(90deg,#f5f5f50e 1px,#0000 1px),radial-gradient(at 50% 48%,#dce0ec30,#0000 58%);background-size:5.5rem 5.5rem,5.5rem 5.5rem,auto;position:absolute;inset:0}.project-artwork:after{z-index:-1;aspect-ratio:1;content:"";border:1px solid #f0ede630;border-radius:50%;width:48%;position:absolute;bottom:-54%;right:-5%;box-shadow:0 0 0 2rem #f0ede606,0 0 0 4rem #f0ede606}.project-artwork.bg1{background:radial-gradient(at 56% 47%,#284865 0,#182738 38%,#101319 78%)}.project-artwork.bg2{background:radial-gradient(at 54% 44%,#493260 0,#281b37 42%,#111014 82%)}.project-artwork.bg3{background:radial-gradient(at 52% 48%,#345645 0,#1d342a 42%,#101411 82%)}.project-artwork.bg4{background:radial-gradient(at 54% 46%,#673c37 0,#371f1e 42%,#151110 82%)}.project-artwork.bg5{background:radial-gradient(at 54% 46%,#315b5d 0,#1a3536 42%,#101415 82%)}.project-artwork-orbit{z-index:0;aspect-ratio:1;border:1px solid #ffffff29;border-radius:50%;width:48%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1.2rem #ffffff06,0 0 0 2.4rem #ffffff06}.project-artwork-logo{z-index:1;object-fit:contain;filter:drop-shadow(0 1.1rem 2.1rem #0006);width:86%;height:70%;display:block;position:relative}.project-artwork-label{z-index:2;color:#f5f3eead;max-width:42%;font-family:var(--font-mono,monospace);letter-spacing:.09em;text-transform:uppercase;font-size:clamp(.48rem,.62vw,.62rem);line-height:1.5;position:absolute}.project-artwork-label--top{top:6%;left:4.5%}.project-artwork-label--top span{color:var(--orange,var(--accent));padding:0 .3rem}.project-artwork-label--bottom{text-align:right;bottom:6%;right:4.5%}.project-info{text-align:center;max-width:920px;margin:0 auto;animation:.42s both project-info-enter}.project-info--enter-next{animation-name:project-info-enter-next}.project-info--enter-previous{animation-name:project-info-enter-previous}.project-info-category{color:var(--muted);font-family:var(--font-mono,monospace);letter-spacing:.09em;text-transform:uppercase;margin:0 0 .65rem;font-size:.65rem;line-height:1.5}.project-info-category span{color:var(--orange,var(--accent));padding:0 .35rem}.project-info h3{color:var(--text);letter-spacing:-.055em;margin:0 0 .55rem;font-size:clamp(2rem,3.4vw,3.2rem);font-weight:600;line-height:1.08}.project-info-description{max-width:82ch;color:var(--muted2);margin:0 auto;font-size:clamp(.91rem,1.05vw,1.04rem);line-height:1.65}.project-info-tags{flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:1rem;display:flex}.project-info-tags span{border:1px solid var(--border2);color:var(--muted2);font-family:var(--font-mono,monospace);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.38rem .72rem;font-size:.58rem}.project-carousel-controls{justify-content:center;align-items:center;gap:1.1rem;margin:1.55rem auto 0;display:flex}.project-control-arrow{border:1px solid var(--border2);width:2.7rem;height:2.7rem;color:var(--text);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;transition:border-color .22s,background .22s,color .22s,transform .22s;display:grid}.project-control-arrow span{font-size:1.2rem;line-height:1;transition:transform .22s}.project-control-arrow:hover,.project-control-arrow:focus-visible{border-color:var(--text);background:var(--text);color:var(--bg)}.project-control-arrow--previous:hover span,.project-control-arrow--previous:focus-visible span{transform:translate(-2px)}.project-control-arrow--next:hover span,.project-control-arrow--next:focus-visible span{transform:translate(2px)}.project-pagination{align-items:center;gap:.75rem;display:flex}.project-pagination-count{color:var(--muted);font-family:var(--font-mono,monospace);font-variant-numeric:tabular-nums;font-size:.62rem}.project-pagination-dots{align-items:center;gap:.35rem;display:flex}.project-pagination-dots button{background:var(--border2);cursor:pointer;border:0;border-radius:999px;width:.38rem;height:.38rem;padding:0;transition:width .18s,background .18s}.project-pagination-dots button.is-active{background:var(--text);width:1.15rem}.project-open-link{border:1px solid var(--border2);border-radius:999px;margin-left:.5rem;padding:.65rem .85rem}@keyframes project-feature-enter{0%{opacity:.65;transform:translate(-50%,-47%)scale(.975)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes project-feature-enter-next{0%{opacity:.35;transform:translate(calc(2.5rem - 50%),-48%)scale(.975)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes project-feature-enter-previous{0%{opacity:.35;transform:translate(calc(-50% - 2.5rem),-48%)scale(.975)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes project-info-enter{0%{opacity:.35;transform:translateY(.45rem)}to{opacity:1;transform:translateY(0)}}@keyframes project-info-enter-next{0%{opacity:0;transform:translate(.8rem)}to{opacity:1;transform:translate(0)}}@keyframes project-info-enter-previous{0%{opacity:0;transform:translate(-.8rem)}to{opacity:1;transform:translate(0)}}@media (width<=1024px){.projects{padding-left:2rem;padding-right:2rem}.project-stage-arrow--previous{left:calc(5vw - 3.35rem)}.project-stage-arrow--next{right:calc(5vw - 3.35rem)}}@media (width<=768px){.projects{padding:3.25rem 1.5rem 3.5rem}.projects-header{flex-direction:column;gap:.9rem;margin-bottom:.7rem}.projects-header-note{width:min(100%,34rem)}.projects-stage{height:clamp(280px,72vw,450px)}.project-preview--active{width:90%}.project-stage-arrow--previous{left:.2rem}.project-stage-arrow--next{right:.2rem}.project-preview--previous,.project-preview--next{width:80%}.project-preview--previous{left:-16%;transform:translateY(-50%)scale(.82)rotate(-1deg)}.project-preview--next{right:-16%;transform:translateY(-50%)scale(.82)rotate(1deg)}.project-preview--previous:hover,.project-preview--previous:focus-visible{transform:translateY(-50%)scale(.85)rotate(-.5deg)}.project-preview--next:hover,.project-preview--next:focus-visible{transform:translateY(-50%)scale(.85)rotate(.5deg)}.project-info-description{max-width:70ch}}@media (width>=1025px) and (width<=1295px){.project-stage-arrow--previous{left:calc(5vw - 4.35rem)}.project-stage-arrow--next{right:calc(5vw - 4.35rem)}}@media (width<=480px){.projects{padding:2.85rem 1rem 3rem}.projects-heading{letter-spacing:.07em;gap:.45rem;font-size:.62rem}.projects-stage{height:clamp(250px,78vw,340px)}.project-preview--active{width:94%}.project-preview--previous,.project-preview--next{width:82%}.project-preview--previous{left:-22%}.project-preview--next{right:-22%}.project-artwork-label{font-size:.45rem}.project-info h3{font-size:clamp(1.75rem,9vw,2.25rem)}.project-info-description{font-size:.88rem;line-height:1.6}.project-info-tags span{padding:.34rem .56rem;font-size:.52rem}.project-carousel-controls{flex-wrap:wrap;gap:.7rem}.project-open-link{flex-basis:100%;justify-content:center;width:max-content;max-width:max-content;margin:.2rem auto 0}}@media (prefers-reduced-motion:reduce){.project-preview,.project-preview--previous,.project-preview--next,.project-preview--active,.project-info,.project-stage-arrow,.project-control-arrow,.project-pagination-dots button,.projects-header-note a,.project-open-link{transition:none;animation:none}}.experience{border-top:1px solid var(--border);background:var(--bg);padding:clamp(3rem,4vw,3.75rem) 3rem;scroll-margin-top:5.25rem}.experience-inner{width:min(100%, var(--content-max));margin:0 auto}.experience-header{justify-content:space-between;align-items:flex-start;gap:3rem;padding-bottom:2rem;display:flex}.experience-heading{color:var(--text);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.65rem;margin:0;font-size:.7rem;font-weight:600;line-height:1.5;display:flex}.experience-heading-dot{background:var(--text);border-radius:50%;flex:none;width:.45rem;height:.45rem}.experience-heading>span:last-child{color:var(--muted)}.experience-header>p{max-width:23rem;color:var(--muted2);margin:0;font-size:.88rem;line-height:1.65}.experience-list{border-top:1px solid var(--border2)}.experience-entry{border-bottom:1px solid var(--border);grid-template-columns:minmax(8.5rem,.56fr) minmax(0,1.45fr) minmax(0,1.4fr);gap:clamp(1.2rem,3vw,3rem);padding:clamp(2rem,4vw,3rem) 0;display:grid}.experience-index{color:var(--muted2);font-family:var(--font-mono);letter-spacing:.055em;text-transform:uppercase;align-items:flex-start;gap:.45rem;margin:.15rem 0 0;font-size:.63rem;line-height:1.6;display:flex}.experience-index span{color:var(--orange)}.experience-company h3{color:var(--text);letter-spacing:-.055em;margin:0;font-size:clamp(1.65rem,2.5vw,2.45rem);font-weight:500;line-height:1.08}.experience-company p{color:var(--muted2);font-family:var(--font-mono);letter-spacing:.065em;text-transform:uppercase;margin:.65rem 0 0;font-size:.6rem;line-height:1.55}.experience-details h4{color:var(--text);letter-spacing:-.025em;margin:0;font-size:clamp(1.05rem,1.4vw,1.35rem);font-weight:600;line-height:1.3}.experience-details>p{color:var(--muted2);margin:.75rem 0 1rem;font-size:.9rem;line-height:1.7}.experience-tags{flex-wrap:wrap;gap:.45rem;display:flex}.experience-tags span{border:1px solid var(--border2);color:var(--text);font-family:var(--font-mono);letter-spacing:.045em;text-transform:uppercase;border-radius:999px;padding:.38rem .68rem;font-size:.56rem;line-height:1.3}@media (width<=1024px){.experience{padding-left:2rem;padding-right:2rem}.experience-entry{grid-template-columns:minmax(6.5rem,.55fr) minmax(0,1.2fr) minmax(0,1.4fr);gap:1.5rem}}@media (width<=768px){.experience{padding:3rem 1.5rem 3.25rem}.experience-header{flex-direction:column;gap:.9rem;padding-bottom:1.6rem}.experience-header>p{max-width:34rem}.experience-entry{grid-template-columns:1fr 1.7fr;gap:.75rem 1.2rem}.experience-index{grid-column:1/-1}}@media (width<=520px){.experience{padding:2.5rem 1rem 3rem}.experience-heading{letter-spacing:.07em;gap:.45rem;font-size:.62rem}.experience-entry{grid-template-columns:1fr;gap:.85rem;padding:1.65rem 0 1.8rem}.experience-index{grid-column:auto}.experience-company h3{font-size:1.85rem}.experience-details h4{font-size:1rem}.experience-details>p{font-size:.86rem}.experience-tags span{padding:.34rem .55rem;font-size:.51rem}}.certificates{border-top:1px solid var(--border);background:0 0;padding:3.25rem 3rem}.certificates-inner{width:min(100%, var(--content-max));margin:0 auto}.certificates-header{margin-bottom:1.6rem}.certificates-header .section-title{margin:0}.certificates-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:clamp(1rem,2vw,1.5rem);display:grid}.certificate-card{isolation:isolate;min-height:330px;color:inherit;background:var(--card);border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);box-shadow:0 0 22px color-mix(in srgb, var(--accent) 6%, transparent);border-radius:.2rem;flex-direction:column;text-decoration:none;transition:transform .42s cubic-bezier(.22,1,.36,1),border-color .3s,background .3s,box-shadow .42s;display:flex;position:relative;overflow:hidden}.certificate-card:after{content:"";z-index:2;border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);border-radius:inherit;box-shadow:inset 0 0 18px color-mix(in srgb, var(--accent) 2.5%, transparent);pointer-events:none;transition:border-color .3s,box-shadow .3s;position:absolute;inset:0}.certificate-card.reveal.visible:hover,.certificate-card.reveal.visible:focus-visible{border-color:color-mix(in srgb, var(--accent) 78%, transparent);background:var(--card2);box-shadow:0 0 12px color-mix(in srgb, var(--accent) 30%, transparent), 0 0 38px color-mix(in srgb, var(--accent) 18%, transparent), 0 24px 48px #00000038;transform:translateY(-5px)}.certificate-card.reveal.visible:hover:after,.certificate-card.reveal.visible:focus-visible:after{border-color:color-mix(in srgb, var(--accent) 80%, transparent);box-shadow:inset 0 0 26px color-mix(in srgb, var(--accent) 12%, transparent), 0 0 18px color-mix(in srgb, var(--accent) 28%, transparent)}.certificate-preview{border-bottom:1px solid var(--border2);background:linear-gradient(135deg,#161616,#0f0f0f);flex:0 0 180px;justify-content:center;align-items:center;height:180px;padding:0;display:flex;position:relative;overflow:hidden}.certificate-preview:before{content:"";background:radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 45%);pointer-events:none;position:absolute;inset:0}.certificate-preview img{z-index:1;object-fit:cover;object-position:center;width:100%;height:100%;box-shadow:none;background:#fff;border-radius:0;position:relative}.certificate-card--landscape{min-height:330px}.certificate-info{flex-direction:column;justify-content:end;padding:1.5rem;display:flex}.certificate-info p{color:var(--orange);letter-spacing:1px;text-transform:uppercase;margin:0 0 .45rem;font-size:.72rem;font-weight:600}.certificate-info h3{color:#fff;margin:0 0 1.1rem;font-size:1.1rem;line-height:1.3}.certificate-info span{color:var(--muted2);font-size:.82rem;transition:color .25s}.publication-preview{color:var(--text);background:#10100f;display:block}.publication-preview-certificate{object-fit:cover;object-position:center 49%;opacity:.9;width:100%;height:100%;transition:transform .5s cubic-bezier(.22,1,.36,1);inset:0;z-index:0!important;position:absolute!important}.publication-preview:before{z-index:1;background:radial-gradient(ellipse at 50% 100%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 60%);opacity:.65}.certificate-card:hover .publication-preview-certificate,.certificate-card:focus-visible .publication-preview-certificate{transform:scale(1.035)}.certificate-info .certificate-description{color:var(--muted2);letter-spacing:0;text-transform:none;margin:-.45rem 0 1rem;font-size:.83rem;font-weight:400;line-height:1.55}.certificate-card:hover .certificate-info span{color:var(--orange)}@media (width<=1024px){.certificates{padding:3.25rem 2rem}.certificates-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.certificate-card--publication{grid-column:1/-1;justify-self:center;width:min(100%,50% - .75rem)}}@media (width<=768px){.certificates{padding:2.75rem 1.5rem}.certificates-header{flex-direction:column;align-items:start;margin-bottom:1.5rem}.certificate-card{min-height:auto}.certificate-preview{height:170px}}@media (width<=480px){.certificates{padding:2.5rem 1rem 2.75rem}.certificates-grid{grid-template-columns:1fr}.certificate-card--publication{grid-column:auto;width:auto}.certificate-preview{height:155px}.certificate-info{padding:1.2rem}}.contact{border-top:1px solid var(--border);padding:4.25rem 3rem;position:relative;overflow:hidden}.contact-inner{z-index:1;text-align:center;position:relative}.contact-glow{background:radial-gradient(ellipse, color-mix(in srgb, var(--accent) 5%, transparent), transparent 70%);pointer-events:none;width:700px;height:400px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact-headline{font-family:var(--font-display);letter-spacing:2px;margin-bottom:1.2rem;font-size:clamp(2.5rem,5.5vw,5rem);line-height:1.08}.contact-headline span{color:var(--orange)}.contact-sub{max-width:42rem;color:var(--muted);text-align:center;text-wrap:balance;margin:0 auto 1.75rem;font-size:.85rem}.contact-email{font-family:var(--font-display);letter-spacing:2px;color:var(--orange);overflow-wrap:anywhere;margin-bottom:1.75rem;font-size:clamp(1.5rem,3.5vw,3rem);text-decoration:none;transition:opacity .2s;display:inline-block}.contact-email:hover{opacity:.75}.contact-links{flex-wrap:wrap;justify-content:center;gap:2rem;display:flex}.contact-link{color:var(--muted2);align-items:center;gap:.4rem;font-size:.85rem;text-decoration:none;transition:color .2s;display:flex}.contact-link:hover{color:var(--orange)}@media (width<=1024px){.contact{padding:4rem 2rem}}@media (width<=768px){.contact{padding:3.5rem 1.5rem}.contact-sub{margin-bottom:2rem;line-height:1.7}.contact-email{letter-spacing:1px;font-size:clamp(1.35rem,8vw,2.3rem)}.contact-links{gap:1rem}}@media (width<=480px){.contact{padding:3rem 1rem}.contact-link{font-size:.8rem}}.footer{border-top:1px solid var(--border);padding:2rem 3rem}.footer-inner{justify-content:space-between;align-items:center;gap:2rem;display:flex}.footer-main{flex:1;align-items:center;gap:2rem;min-width:0;display:flex}.footer-logo{font-family:var(--font-display);letter-spacing:3px;color:#fff;background:#10100f;border-radius:999px;align-items:center;padding:.15rem .45rem;font-size:1.3rem;display:inline-flex}.footer-logo .footer-logo-accent{color:var(--mra-accent)}.footer-logo .footer-logo-period{color:var(--muted2)}.footer-copy{color:var(--muted);text-align:center;flex:1;min-width:0;font-size:.72rem}@media (width<=900px){.footer{padding:1.75rem 2rem}.footer-inner,.footer-main{text-align:center;flex-direction:column}}@media (width<=600px){.footer{padding:1.5rem}.footer-inner{text-align:center;flex-direction:column;gap:.8rem}.footer-main{flex-direction:column;gap:.8rem}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}@property --bg{syntax:"<color>";inherits:true;initial-value:#10100f}@property --surface{syntax:"<color>";inherits:true;initial-value:#151513}@property --card{syntax:"<color>";inherits:true;initial-value:#181817}@property --card2{syntax:"<color>";inherits:true;initial-value:#20201e}@property --text{syntax:"<color>";inherits:true;initial-value:#f0ede6}@property --muted{syntax:"<color>";inherits:true;initial-value:#77736d}@property --muted2{syntax:"<color>";inherits:true;initial-value:#a09c94}@property --border{syntax:"<color>";inherits:true;initial-value:#262624}@property --border2{syntax:"<color>";inherits:true;initial-value:#373734}@property --gridline{syntax:"<color>";inherits:true;initial-value:#f0ede609}@property --accent{syntax:"<color>";inherits:true;initial-value:#ea382f}@property --orange2{syntax:"<color>";inherits:true;initial-value:#f26a60}@property --hero-accent{syntax:"<color>";inherits:true;initial-value:#ea382f}@property --hero-role-stroke{syntax:"<color>";inherits:true;initial-value:#f0ede6b3}@property --hero-orbit-stroke{syntax:"<color>";inherits:true;initial-value:#f0ede62e}@property --hero-orbit-stroke-soft{syntax:"<color>";inherits:true;initial-value:#f0ede630}@property --hero-orbit-halo{syntax:"<color>";inherits:true;initial-value:#f0ede60d}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#10100f;--surface:#151513;--card:#181817;--card2:#20201e;--accent:#ea382f;--red:var(--accent);--mra-accent:var(--accent);--orange:var(--accent);--orange2:#f26a60;--orange-dim:color-mix(in srgb, var(--accent) 8%, transparent);--text:#f0ede6;--muted:#77736d;--muted2:#a09c94;--border:#262624;--border2:#373734;--gridline:#f0ede609;--font-display:"Anton", sans-serif;--font-body:"Space Grotesk", sans-serif;--font-mono:"IBM Plex Mono", monospace;--content-max:1200px;transition:--bg .56s cubic-bezier(.22,1,.36,1),--surface .56s cubic-bezier(.22,1,.36,1),--card .56s cubic-bezier(.22,1,.36,1),--card2 .56s cubic-bezier(.22,1,.36,1),--text .56s cubic-bezier(.22,1,.36,1),--muted .56s cubic-bezier(.22,1,.36,1),--muted2 .56s cubic-bezier(.22,1,.36,1),--border .56s cubic-bezier(.22,1,.36,1),--border2 .56s cubic-bezier(.22,1,.36,1),--gridline .56s cubic-bezier(.22,1,.36,1),--accent .56s cubic-bezier(.22,1,.36,1),--orange2 .56s cubic-bezier(.22,1,.36,1)}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f1efe9;--surface:#e8e6df;--card:#e5e2da;--card2:#dad7cf;--accent:#3478e5;--red:var(--accent);--mra-accent:var(--accent);--orange:var(--accent);--orange2:#5594f2;--orange-dim:color-mix(in srgb, var(--accent) 8%, transparent);--text:#191917;--muted:#74716a;--muted2:#5e5b55;--border:#d7d4cc;--border2:#c5c2ba;--gridline:#1919170b}html{scroll-behavior:smooth}body{background-color:var(--bg);background-image:linear-gradient(var(--gridline) 1px, transparent 1px), linear-gradient(90deg, var(--gridline) 1px, transparent 1px);color:var(--text);font-family:var(--font-body);cursor:none;background-position:top;background-size:84px 84px;font-size:16px;line-height:1.6;overflow-x:hidden}.cursor{background:var(--orange);pointer-events:none;z-index:9999;mix-blend-mode:normal;border-radius:50%;width:10px;height:10px;transition:transform .1s,width .2s,height .2s,background .2s;position:fixed;transform:translate(-50%,-50%)}.cursor-ring{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);pointer-events:none;z-index:9998;border-radius:50%;width:36px;height:36px;transition:transform .12s,width .2s,height .2s;position:fixed;transform:translate(-50%,-50%)}.cursor.hovered{width:6px;height:6px}.cursor-ring.hovered{border-color:var(--orange);width:52px;height:52px}.reveal{opacity:0;transition:opacity .76s cubic-bezier(.22,1,.36,1),transform .76s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform;transform:translateY(30px)scale(.99)}.reveal.visible{opacity:1;will-change:auto;transform:none}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.section-label{letter-spacing:3px;color:var(--orange);text-transform:uppercase;margin-bottom:.8rem;font-size:.72rem}.section-title{font-family:var(--font-display);letter-spacing:1.5px;margin-bottom:1.5rem;font-size:clamp(2.4rem,4.5vw,3.8rem);line-height:.96}.btn-primary{background:var(--orange);color:#fff;cursor:none;border:none;border-radius:2rem;align-items:center;gap:.5rem;padding:.75rem 1.8rem;font-size:.88rem;font-weight:500;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.btn-primary:hover{background:var(--orange2);transform:translateY(-2px)}.btn-outline{color:var(--text);border:1px solid var(--border2);cursor:none;background:0 0;border-radius:2rem;align-items:center;gap:.5rem;padding:.75rem 1.8rem;font-size:.88rem;font-weight:400;text-decoration:none;transition:border-color .2s,color .2s;display:inline-flex}.btn-outline:hover{border-color:var(--orange);color:var(--orange)}a{cursor:none}:where(a,button):focus-visible{outline:2px solid var(--orange);outline-offset:4px}.site-shell{width:min(100%, var(--content-max));margin:0 auto}[data-theme=light] .navbar-inner{background:#f0eee8eb;border-color:#19191747}[data-theme=light] .navbar.scrolled .navbar-inner{background:#f0eee8f7;border-color:#19191757}[data-theme=light] .nav-logo{color:#fff;background:#10100f;border-color:#19191780}[data-theme=light] .nav-cta,[data-theme=light] .theme-toggle-track{border-color:#1919177a}[data-theme=light] .nav-links button:hover,[data-theme=light] .nav-item.active button{background:#19191714}[data-theme=light] .hero-contact-bubble{background:#f0eee8e0;border-color:#19191773}[data-theme=light] .proj-name,[data-theme=light] .certificate-info h3{color:var(--text)}[data-theme=light] .proj-card:hover,[data-theme=light] .certificate-card:hover{background:#eeece6}[data-theme=light] .proj-visual{border-color:var(--border2)}[data-theme=light] .nav-links{background:#191917;border-color:#1919179e;box-shadow:inset 0 1px #ffffff14}[data-theme=light] .nav-links button{color:#c6c2ba}[data-theme=light] .nav-links button:hover,[data-theme=light] .nav-item.active button{color:#f0ede6;background:#ffffff24}[data-theme=light] ::selection{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--text)}@media (width<=1024px){.section-title{margin-bottom:1.2rem;font-size:clamp(2.1rem,5vw,3.2rem)}}@media (width<=768px){body,a,.btn-primary,.btn-outline{cursor:auto}.cursor,.cursor-ring{display:none}.section-label{letter-spacing:2.4px;font-size:.68rem}.section-title{letter-spacing:1px;font-size:clamp(1.9rem,9vw,2.8rem);line-height:1}.btn-primary,.btn-outline{min-height:46px;padding:.72rem 1.3rem;font-size:.82rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
