@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap');
:root{--bg:#0b0d0f;--panel:#111417;--text:#f4f5f5;--muted:#979da3;--line:#ffffff14;--mono:"JetBrains Mono",monospace;--sans:Outfit,sans-serif;--ease:cubic-bezier(.2,.8,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.6 var(--sans);overflow-x:hidden}body:after{content:"";position:fixed;inset:0;z-index:30;pointer-events:none;opacity:.025;background:repeating-linear-gradient(0deg,transparent,transparent 2px,#fff 3px,transparent 4px)}::selection{background:#f4f5f5;color:#0b0d0f}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{line-height:1.04;letter-spacing:-.045em}h2{font-size:clamp(44px,6vw,88px);font-weight:700;margin-bottom:35px}em{font-style:normal;color:var(--muted)}a:focus-visible,button:focus-visible{outline:2px solid white;outline-offset:6px}.skip{position:fixed;z-index:100;background:white;color:black;padding:12px;transform:translateY(-150%)}.skip:focus{transform:none}.reading-progress{position:fixed;top:0;left:0;height:2px;background:#fff;width:100%;transform:scaleX(0);transform-origin:left;z-index:60}.topbar{height:78px;position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);background:#0b0d0fe8;backdrop-filter:blur(18px)}.wordmark{font:600 12px var(--mono);letter-spacing:.14em;white-space:nowrap}.wordmark span{color:#69717a;margin-left:8px}.topbar nav{display:flex;gap:26px}.topbar nav a,.nav-cv{font:500 10px var(--mono);letter-spacing:.06em;color:var(--muted)}.topbar nav a{transition:color .25s}.topbar nav a:hover,.topbar nav a.active{color:white}.nav-cv{padding:9px 13px;border:1px solid #ffffff24;border-radius:4px;color:white}.nav-cv span{margin-left:8px}.hero{position:relative;min-height:960px;height:100svh;padding:125px 5vw 45px;display:flex;flex-direction:column;align-items:center;text-align:center;overflow:hidden}.hero-grid{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px);background-size:90px 90px;mask-image:radial-gradient(ellipse at center,#000,transparent 65%);transform:perspective(800px) rotateX(55deg) scale(1.6);transform-origin:center bottom}.system-label{font:500 10px/1.5 var(--mono);letter-spacing:.13em;text-transform:uppercase;margin:0}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#b7d9c7;margin-right:9px;box-shadow:0 0 10px #b7d9c740}.hero-label{position:relative;color:var(--muted);margin:0}.portal-scene{position:relative;width:min(650px,80vw);height:330px;margin-top:16px}#portal{width:100%;height:100%;display:block}.portal-caption{position:absolute;bottom:9px;left:0;right:0;display:flex;justify-content:center;gap:28px;font:400 9px var(--mono);letter-spacing:.22em;color:#596168}.hero-copy{position:relative;z-index:2}.hero h1{font-weight:900;font-size:clamp(64px,9.4vw,150px);letter-spacing:-.052em;line-height:.88;margin:28px 0}.hero h1>span{display:block}.title-period{color:#7f8b94}.hero-copy>p{font-size:18px;color:var(--muted);line-height:1.6;max-width:650px;margin:30px auto}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:15px 23px;border:1px solid #ffffff2c;border-radius:4px;font:500 10px var(--mono);letter-spacing:.05em;background:#ffffff03;transition:background .3s,color .3s,box-shadow .3s;will-change:transform}.button:hover{background:#ffffff12;box-shadow:0 0 28px #fff1}.button.primary{background:#f4f5f5;color:#101315;border-color:#f4f5f5}.button.primary:hover{background:#cfd6da}.hero-foot{position:absolute;bottom:25px;left:5vw;right:5vw;display:flex;justify-content:space-between;gap:20px;font:400 9px var(--mono);letter-spacing:.07em;color:#6e767d}.hero-foot a{color:#c3c9cd}.section{padding:130px 6.7vw;border-top:1px solid var(--line);scroll-margin-top:75px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:65px}.fine,.text-link{font:400 10px var(--mono);letter-spacing:.1em;color:#636b73}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.intro-grid h2{margin:0}.intro-prose{max-width:600px;color:var(--muted)}.intro-prose p{margin-bottom:24px}.intro-prose .intro-note{color:#d0d4d6;border-left:1px solid #ffffff3a;padding-left:20px;font-size:16px}.evidence-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:80px;padding-top:40px;gap:30px}.evidence-strip>div{display:flex;align-items:center;gap:25px}.evidence-strip strong{font-size:clamp(38px,4vw,58px);font-weight:600;letter-spacing:-.04em;white-space:nowrap}.evidence-strip span{font:400 9px/1.8 var(--mono);letter-spacing:.05em;color:var(--muted)}.work-scroll{border-top:1px solid var(--line)}.work-sticky{padding:100px 0 35px;background:var(--bg)}.work-heading{position:relative;padding:0 6.7vw;margin-bottom:40px}.work-heading h2{font-size:clamp(40px,4.5vw,65px);margin:20px 0 24px}.work-controls{display:flex;gap:22px}.work-controls button{border:0;background:none;padding:4px 0;font:500 10px var(--mono);letter-spacing:.06em;color:#626a72;border-bottom:1px solid transparent}.work-controls button[aria-pressed="true"]{color:#f4f5f5;border-color:#f4f5f5}.work-count{position:absolute;right:6.7vw;bottom:0;font:500 11px var(--mono);color:#737b82}.work-track{padding:0 6.7vw;display:grid;gap:40px}.project-panel{border:1px solid #ffffff36;border-radius:18px;background:var(--panel);padding:40px;display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;position:relative;overflow:hidden;isolation:isolate}.project-panel:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at var(--px,70%) var(--py,30%),#ffffff07,transparent 55%);pointer-events:none}.project-content{position:relative;display:flex;flex-direction:column;align-items:start}.project-meta{font:400 9px var(--mono);letter-spacing:.07em;color:#b0b8bf}.project-number{position:absolute;right:0;top:22px;font-size:70px;color:#ffffff07;font-weight:700}.project-content h3{font-size:clamp(50px,5vw,72px);font-weight:700;margin:25px 0 20px}.project-content h3>span{display:block;font-size:clamp(24px,2.5vw,35px);line-height:1.2;margin-top:8px;color:#8f989f;letter-spacing:-.03em}.project-content>p{font-size:16px;line-height:1.65;color:#a5adb4;max-width:500px;margin-bottom:20px}.project-proof{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.project-proof span{padding:5px 9px;border:1px solid #ffffff15;border-radius:3px;font:400 9px var(--mono);color:#c0c7cc}.project-content .ownership{font-size:12px;color:#626e78;margin-bottom:25px}.project-content .button{margin-top:auto}.project-visual{position:relative;background:#080a0c;border:1px solid #ffffff10;border-radius:10px;min-height:390px;display:flex;align-items:center;justify-content:center;flex-direction:column;transform-style:preserve-3d;transition:transform .6s var(--ease);will-change:transform;overflow:hidden}.vxl-visual{background:radial-gradient(ellipse at center,#20262d,#080a0c 75%)}.vxl-emblem{display:flex;align-items:center;gap:15px;margin:18px 0 24px;transform:translateZ(50px)}.vxl-emblem>b{font:600 13px var(--mono);letter-spacing:.25em}.arch-mark{width:38px;height:55px;border:1px solid #cfd4d8;border-radius:22px 22px 0 0;display:grid;place-items:center;box-shadow:inset 0 0 0 4px #080a0c,inset 0 0 0 5px #ffffff33}.arch-mark span{font-size:24px}.studio-preview{width:85%;max-width:550px;transform:perspective(1100px) rotateY(-9deg) rotateX(5deg) translateZ(35px);background:linear-gradient(145deg,#f6f7f8,#d1d7db);color:#1c2226;border-radius:9px;box-shadow:20px 30px 80px #0008;border:1px solid #fff9;margin-bottom:40px;overflow:hidden;animation:studio-float 7s ease-in-out infinite}.studio-bar{display:flex;justify-content:space-between;border-bottom:1px solid #0001;padding:15px;font:500 8px var(--mono)}.studio-bar span{font-size:6px;color:#666}.studio-body{display:grid;grid-template-columns:30% 70%;min-height:205px}.studio-body aside{display:flex;flex-direction:column;gap:10px;background:#171d21;color:#929ca4;font:400 8px var(--mono);padding:20px 12px}.studio-body aside span{padding:6px}.studio-body aside .selected{background:#ffffff13;color:white;border-radius:4px}.studio-body>div{padding:24px}.studio-body small{font:400 7px var(--mono);color:#657079}.studio-body h4{font-size:26px;margin:12px 0 20px;letter-spacing:-.04em}.preview-cards{display:flex;gap:8px}.preview-cards i{flex:1;text-align:center;padding:15px 3px;background:#fff9;border-radius:5px;box-shadow:0 8px 12px #0000000a;font:500 6px var(--mono)}.preview-line{height:4px;background:linear-gradient(90deg,#6b7e75 80%,#0001 80%);margin:18px 0 8px;border-radius:2px}.preview-action{font:400 6px var(--mono)}.visual-caption{position:absolute;bottom:15px;left:20px;right:20px;text-align:center;font:400 8px var(--mono);letter-spacing:.08em;color:#74818b}.project-visual>img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.48;mix-blend-mode:screen;transform:scale(1.06);transition:transform .7s}.project-visual:hover>img{transform:scale(1.13)}.visual-type{font-size:clamp(45px,5vw,72px);font-weight:800;line-height:.95;letter-spacing:-.04em;position:relative;transform:translateZ(40px);text-shadow:0 0 60px #000;color:#fff}.ignyxx-visual .visual-type{color:#ece4fb}.work-bottom{display:flex;gap:25px;align-items:center;justify-content:space-between;padding:25px 6.7vw 0;font:400 8px var(--mono);color:#67727c}.rail-progress{width:150px;height:2px;background:#ffffff12}.rail-progress i{display:block;width:100%;height:100%;background:#c9d0d5;transform:scaleX(0);transform-origin:left}.horizontal-hint{display:none}.capabilities h2{margin-bottom:65px}.capability-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.capability-grid article{position:relative;padding:30px 25px;background:#111417;border:1px solid var(--line);border-radius:12px;transition:background .3s,transform .3s}.capability-grid article:hover{background:#171b20;transform:translateY(-5px)}.capability-grid article>span{font:400 9px var(--mono);color:#747e86}.capability-grid h3{font-size:25px;line-height:1.2;margin:25px 0 20px;letter-spacing:-.02em}.capability-grid p{font-size:15px;color:#8b969f;margin-bottom:30px}.capability-grid small{font:400 8px/1.8 var(--mono);color:#64707a;display:block}.statement{padding:150px 6.7vw;text-align:center;border-top:1px solid var(--line);position:relative;overflow:hidden}.statement .system-label{color:#656f78;margin-bottom:40px}.statement h2{font-size:clamp(47px,7.2vw,110px);margin:0;line-height:1.02}.statement em{color:#737f89}.statement-line{display:block;margin:55px auto 0;width:100px;height:1px;background:linear-gradient(90deg,transparent,#b6c0c7,transparent)}.experience-list{margin-top:70px;border-top:1px solid var(--line)}.experience-list article{display:grid;grid-template-columns:25% 1fr 30px;gap:30px;padding:45px 0;border-bottom:1px solid var(--line)}time,.job-index{font:400 10px/1.8 var(--mono);color:#86919a}.experience-list h3{font-size:32px;margin:0 0 12px;letter-spacing:-.02em}.experience-list b{font-size:17px;font-weight:500;color:#b4bfc7;display:block;margin-bottom:18px}.experience-list p{max-width:650px;color:#929ea7;line-height:1.7}.experience-list div>span{display:inline-block;padding:5px 9px;border:1px solid #ffffff26;border-radius:4px;font:400 9px var(--mono);color:#d0d8dd;margin-bottom:15px}.experience-list .secondary{font-size:14px;color:#667580;margin-bottom:0}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:55px}.education-grid article{padding:30px;border:1px solid var(--line);border-radius:10px;background:#101316}.education-grid span{font:400 9px var(--mono);color:#72818c}.education-grid h3{font-size:25px;margin:25px 0 15px}.education-grid p{font-size:15px;color:#929ea7;max-width:500px}.contact{padding-top:70px}.contact-box{border:1px solid #ffffff36;border-radius:20px;text-align:center;padding:80px 40px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 100%,#1a2026,#101316 70%)}.contact-box .system-label{color:#7a8791;margin-bottom:40px}.contact h2{font-size:clamp(46px,6.7vw,96px)}.contact-box>p:not(.system-label){max-width:600px;margin:25px auto 35px;color:#929ea7}.contact-details{display:flex;justify-content:center;flex-wrap:wrap;gap:25px;margin-top:50px;font-size:14px;color:#b2bec7}.contact-details a:hover{color:white}.contact-box>.visa-note{font:400 10px var(--mono);color:#586772!important;margin-bottom:0!important}footer{display:flex;justify-content:space-between;gap:20px;padding:35px 6.7vw;border-top:1px solid var(--line);font:400 9px var(--mono);letter-spacing:.04em;color:#63717c}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.js .reveal.visible{opacity:1;transform:none}.hero-copy{animation:hero-in 1.3s var(--ease) both}.button{touch-action:manipulation}
@media(min-width:1000px) and (min-height:760px){.motion-enabled .work-scroll{height:var(--work-height,330vh)}.motion-enabled .work-sticky{position:sticky;top:0;height:100svh;padding-top:105px;overflow:hidden}.motion-enabled .work-heading{margin-bottom:25px;display:grid;grid-template-columns:1fr auto;align-items:end}.motion-enabled .work-heading .system-label{grid-column:1}.motion-enabled .work-heading h2{margin:14px 0 0}.motion-enabled .work-controls{grid-column:2;grid-row:2}.motion-enabled .work-count{top:0;bottom:auto}.motion-enabled .work-viewport{overflow:hidden}.motion-enabled .work-track{display:flex;width:max-content;padding:0 5vw;gap:4vw;will-change:transform}.motion-enabled .project-panel{width:90vw;height:calc(100svh - 290px);min-height:470px;padding:35px;gap:35px;flex-shrink:0}.motion-enabled .project-visual{min-height:0}.motion-enabled .project-content h3{margin:20px 0 18px;font-size:56px}.motion-enabled .project-content h3>span{font-size:28px}.motion-enabled .project-content>p{font-size:15px;margin-bottom:15px}.motion-enabled .project-proof{margin-bottom:15px}.motion-enabled .ownership{margin-bottom:18px}.motion-enabled .horizontal-hint{display:inline}.motion-enabled .work-bottom{padding-top:20px}}
@media(max-width:1100px){.topbar nav{gap:14px}.topbar nav a{font-size:8px}.evidence-strip>div{flex-direction:column;align-items:start;gap:10px}.capability-grid{grid-template-columns:repeat(2,1fr)}.intro-grid{gap:45px}.project-panel{gap:30px;padding:30px}.studio-body h4{font-size:22px}.studio-body>div{padding:18px}}
@media(max-width:800px){html{scroll-padding-top:85px}.topbar{height:70px;padding-inline:6vw}.topbar nav{display:none}.wordmark{font-size:10px}.nav-cv{font-size:9px}.hero{height:auto;min-height:850px;padding-top:110px;padding-bottom:80px}.portal-scene{height:300px;width:100%;max-width:600px}.hero h1{font-size:clamp(58px,11vw,100px)}.hero-copy>p{font-size:17px}.hero-foot{bottom:22px;font-size:8px}.hero-foot>span:last-child{display:none}.hero-foot>span:first-child{max-width:50%;text-align:left;line-height:1.6}.section{padding:85px 6vw}.section-heading{margin-bottom:45px}.fine{display:none}.intro-grid{grid-template-columns:1fr;gap:35px}.intro-grid h2{font-size:64px}.intro-prose{max-width:none}.evidence-strip{margin-top:40px;padding-top:30px;gap:15px}.evidence-strip strong{font-size:35px}.evidence-strip span{font-size:8px}.work-sticky{padding-top:85px}.work-heading{padding:0 6vw}.work-track{padding:0 6vw;gap:25px}.project-panel{grid-template-columns:1fr;padding:28px;gap:30px}.project-content h3{font-size:52px}.project-content>p{max-width:none}.project-visual{min-height:340px}.project-content .button{margin-top:10px}.work-bottom{padding:25px 6vw;flex-direction:column;align-items:start;gap:12px}.rail-progress{display:none}.work-count{display:none}.statement{padding:100px 6vw}.experience-list article{grid-template-columns:1fr;gap:18px}.job-index{display:none}.experience-list h3{font-size:28px}.experience-list{margin-top:40px}.education-grid{grid-template-columns:1fr}.contact-box{padding:55px 20px}.contact-details{flex-direction:column;gap:14px}.contact-box .visa-note{line-height:1.7}.contact h2{font-size:53px}footer{padding:30px 6vw;flex-wrap:wrap}footer>span:nth-child(2){display:none}}
@media(max-width:480px){.capability-grid{grid-template-columns:1fr}.hero h1{font-size:15vw}.hero{min-height:820px}.hero-label{font-size:8px;letter-spacing:.08em}.portal-scene{height:270px}.hero-foot{font-size:7px}.hero-copy>p{font-size:16px}.hero-actions .button{font-size:9px;padding:14px 17px;gap:17px}.evidence-strip{grid-template-columns:1fr}.evidence-strip>div{flex-direction:row;align-items:center;gap:25px;padding:18px 0;border-bottom:1px solid var(--line)}.evidence-strip strong{min-width:120px;font-size:42px}.evidence-strip span{font-size:9px}.work-controls{gap:13px}.work-controls button{font-size:8px}.project-panel{padding:23px;border-radius:12px}.project-visual{min-height:300px}.studio-preview{width:91%}.studio-bar span{display:none}.studio-body>div{padding:16px}.studio-body aside{font-size:6px;padding:18px 7px}.studio-body h4{font-size:23px}.visual-caption{font-size:6px}.contact h2{font-size:44px}.contact-box .hero-actions{flex-direction:column}.contact-details{font-size:12px}.system-label{font-size:9px}}
@keyframes studio-float{0%,100%{transform:perspective(1100px) rotateY(-9deg) rotateX(5deg) translateY(0)}50%{transform:perspective(1100px) rotateY(-5deg) rotateX(3deg) translateY(-10px)}}@keyframes hero-in{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.journey-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:0;transition:opacity .5s}.journey-nav{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:45;display:flex;flex-direction:column;gap:22px}.journey-nav:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:1px;background:#ffffff18}.journey-nav:after{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:1px;background:#b6d5df;transform:scaleY(var(--journey-progress,0));transform-origin:top;transition:transform .5s}.journey-nav a{position:relative;display:flex;align-items:center;min-width:11px;min-height:11px;z-index:1}.journey-nav i{width:11px;height:11px;border:1px solid #647580;background:#0b0d0f;border-radius:50%;transition:background .3s,box-shadow .3s}.journey-nav .visited i{background:#849da9}.journey-nav [aria-current] i{background:#e7f2f6;box-shadow:0 0 15px #c9e7f966}.journey-nav span{position:absolute;right:24px;font:400 9px var(--mono);background:#0b0d0f;padding:6px 10px;border:1px solid #ffffff20;border-radius:4px;opacity:0;transform:translateX(5px);transition:opacity .2s,transform .2s;pointer-events:none}.journey-nav a:hover span,.journey-nav a:focus-visible span{opacity:1;transform:none}.section>*,.project-panel,.work-heading,.work-bottom,footer>*{position:relative;z-index:3}.work-sticky{background:#0b0d0ff2}.hero-foot{z-index:3}@media(max-width:800px){.journey-nav{display:none}.journey-canvas{opacity:.5}}
.journey-ending{position:relative;text-align:center;padding:35px 6vw 65px;border-top:1px solid var(--line)}.journey-destination{height:260px;max-width:400px;margin:auto}.journey-ending p{position:relative;z-index:3;color:#929da6;font-size:15px;line-height:1.7}.journey-ending .system-label{font-size:10px;color:#c2d3dc;letter-spacing:.18em;margin-bottom:12px}.journey-ending.assembled .system-label{color:#e3f1f6}.journey-nav a{min-width:24px;min-height:24px;justify-content:center}.journey-nav{gap:9px;right:12px}.journey-nav:before,.journey-nav:after{left:12px;top:12px;bottom:12px}@media(prefers-reduced-motion:reduce){.journey-destination{display:none}.journey-ending{padding-top:55px}}
/* Keep the footer in normal flow: content growth must never collide with it. */
.hero{height:auto;min-height:100svh;padding-bottom:30px}.hero-foot{position:relative;bottom:auto;left:auto;right:auto;width:100%;margin-top:65px;padding-top:24px;border-top:1px solid var(--line);align-items:center}.portal-scene{flex-shrink:0}.hero-copy{width:100%}.hero-foot>span{flex:1;text-align:left}.hero-foot>span:last-child{text-align:right}.hero-foot>a{flex-shrink:0}.screenshot-visual{background:#080a0c;padding:28px 18px 85px;gap:20px}.project-visual>img.product-shot{position:relative;width:100%;height:auto;max-height:100%;object-fit:contain;opacity:1;mix-blend-mode:normal;transform:none;border:1px solid #ffffff26;border-radius:8px;box-shadow:0 20px 45px #0005}.product-shot[hidden]{display:none!important}.project-visual:hover>img.product-shot{transform:none}.shot-controls{position:absolute;bottom:42px;left:12px;right:12px;display:flex;gap:8px;justify-content:center}.shot-controls button{background:#ffffff08;border:1px solid #ffffff20;border-radius:4px;font:400 9px var(--mono);padding:8px 10px;color:#a5adb4}.shot-controls button[aria-pressed=true]{background:#e6e9eb;color:#111;border-color:#e6e9eb}.visual-caption{color:#9aa5ad}.project-content .ownership{color:#929da6}
@media(max-width:800px){.hero-foot{margin-top:45px;gap:15px}.hero-foot>span:first-child{max-width:none}.screenshot-visual{min-height:280px;padding:22px 10px 80px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.work-track{transform:none!important}.tilt{transform:none!important}}
