.portfolio{--bg: #101210;--panel: #181b17;--ink: #f1f0e8;--muted: #9b9f94;--accent: #d0f790;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;overflow:hidden}.portfolio *{box-sizing:border-box}.portfolio a{color:inherit;text-decoration:none}.portfolio button{font:inherit}.portfolio ::selection{background:var(--accent);color:var(--bg)}html{scroll-behavior:smooth;scroll-padding-top:100px}.portfolio a:focus-visible,.portfolio button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.section-wrap{width:min(1280px,88%);margin:auto}.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;transform-origin:0;background:var(--accent);z-index:100}.skip-link{position:fixed;left:20px;top:-80px;padding:12px;background:var(--bg);z-index:101}.skip-link:focus{top:15px}.portfolio-header{height:112px;display:flex;align-items:center;justify-content:space-between;width:min(1280px,88%);margin:auto;border-bottom:1px solid #ffffff17}.wordmark{display:inline-flex;align-items:center;font-size:48px;font-weight:800;letter-spacing:-5px;line-height:1}.wordmark>span{color:var(--accent)}.wordmark small{font-size:10px;line-height:1.4;letter-spacing:2px;font-weight:500;margin-left:24px}.portfolio-header nav{display:flex;align-items:center;gap:36px;font-size:13px}.portfolio-header nav>a:hover,.text-link:hover,.contact-links a:hover{color:var(--accent)}.nav-contact{border:1px solid #ffffff35;padding:12px 20px;border-radius:6px;display:flex;align-items:center;gap:22px}.menu-toggle{display:none}.hero{padding-top:32px}.hero-topline{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.7px;color:var(--muted)}.hero-topline span:first-child{display:flex;align-items:center;gap:10px}.portfolio i:not(.document-art i){display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px #d0f76666}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;min-height:640px}.eyebrow{font-size:10px!important;letter-spacing:2px;line-height:1.6;font-weight:500;color:var(--accent);margin-bottom:23px}.hero h1{font-size:clamp(48px,5.2vw,76px);font-weight:500;line-height:1.05;letter-spacing:-4px;margin:0 0 30px}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.hero-description{font-size:16px;line-height:1.8;max-width:445px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.button-primary{background:var(--accent);color:#152010!important;padding:15px 21px;border-radius:5px;display:inline-flex;align-items:center;gap:25px;font-size:12px;font-weight:600;transition:transform .25s,background .25s}.button-primary:hover{transform:translateY(-4px);background:#e1ffb1}.text-link{font-size:12px;display:inline-flex;align-items:center;gap:12px}.orbital-scene{height:500px;position:relative;perspective:1000px;isolation:isolate;background:radial-gradient(ellipse at center,#8cb95f12,transparent 65%)}.orbital-grid{position:absolute;top:10%;right:10%;bottom:10%;left:10%;background-image:linear-gradient(#a1ba8010 1px,transparent 1px),linear-gradient(90deg,#a1ba8010 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse,#000,transparent 68%);mask-image:radial-gradient(ellipse,#000,transparent 68%)}.orbital-object{position:absolute;top:12%;right:12%;bottom:12%;left:12%;transform-style:preserve-3d;transform:rotateX(var(--my, 0deg)) rotateY(var(--mx, 0deg));transition:transform .4s ease-out}.orbit{position:absolute;top:6%;right:6%;bottom:6%;left:6%;border:1px solid #d0f79077;border-radius:50%;box-shadow:inset 0 0 18px #b3e77a0c,0 0 20px #b3e77a0c;transform-style:preserve-3d;animation:orbital 22s linear infinite}.orbit:after{content:"";position:absolute;width:9px;height:9px;background:var(--accent);box-shadow:0 0 20px #d0f790;left:50%;top:-4px;border-radius:50%}.orbit-one{--rx: 65deg;--ry: -25deg}.orbit-two{--rx: -55deg;--ry: 35deg;animation-duration:29s;border-width:2px}.orbit-three{--rx: 10deg;--ry: 65deg;animation-duration:35s}.orbit-four{--rx: 60deg;--ry: 60deg;top:15%;right:15%;bottom:15%;left:15%;animation-direction:reverse;animation-duration:32s}.orb-core{position:absolute;top:29%;right:29%;bottom:29%;left:29%;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:70px;font-weight:600;letter-spacing:-6px;background:radial-gradient(circle at 30% 25%,#3c4c2c,#171e13 60%,#0c100a);box-shadow:inset 1px 1px 15px #c2f59038,0 0 70px #9fd45b13}.orb-core span{color:var(--accent)}@keyframes orbital{0%{transform:rotateX(var(--rx)) rotateY(var(--ry)) rotate(0)}to{transform:rotateX(var(--rx)) rotateY(var(--ry)) rotate(360deg)}}.orbit-label{position:absolute;font-family:monospace;font-size:9px;letter-spacing:1.5px;border:1px solid #ffffff21;background:#171b15d9;padding:9px 12px;display:flex;align-items:center;gap:8px}.label-top{top:16%;right:0}.label-bottom{bottom:18%;left:0;color:var(--accent)}.scene-coordinate{position:absolute;bottom:7%;right:15%;font:9px monospace;letter-spacing:1px;color:#7a8272}.hero-bottom{border-top:1px solid #ffffff17;padding:24px 0 28px;display:flex;justify-content:space-between;align-items:center}.hero-bottom>a{font:9px monospace;letter-spacing:1.6px;display:flex;align-items:center;gap:12px;color:var(--muted)}.hero-bottom>div{display:flex;gap:23px}.hero-bottom svg{font-size:17px}.tech-ribbon{border-block:1px solid #ffffff20;background:#191e15;overflow:hidden;padding:20px 0}.tech-ribbon>div{display:flex;width:max-content;animation:marquee 45s linear infinite}.tech-ribbon span{font:11px monospace;letter-spacing:2px;color:#c4cbbb;white-space:nowrap}.tech-ribbon b{color:var(--accent);padding:0 32px;font-size:18px}@keyframes marquee{to{transform:translate(-50%)}}.about-section{padding:120px 0;display:grid;grid-template-columns:1fr 1fr;gap:80px}.portfolio h2{font-size:clamp(34px,3.4vw,50px);line-height:1.18;letter-spacing:-2px;font-weight:400;margin:0}.portfolio h2>span{color:#8e9587}.about-body>p{color:#c8cbbf;margin:0 0 18px;font-size:16px}.about-body>p+p{color:var(--muted);font-size:14px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px;padding-top:28px;border-top:1px solid #ffffff20}.stats strong{font-size:45px;font-weight:400;letter-spacing:-2px}.stats strong span{font-size:24px;color:var(--accent)}.stats small{display:block;font-size:8px;letter-spacing:1px;color:var(--muted)}.stat-note{display:block;color:var(--muted);font-size:9px;margin-top:18px}.projects-section{padding:20px 0 110px}.projects-heading{display:flex;justify-content:space-between;align-items:end}.projects-heading>p{color:var(--muted);font-size:13px}.project-filters{display:flex;gap:10px;margin:38px 0 28px}.project-filters button{padding:8px 16px;color:var(--muted);border:1px solid #ffffff20;border-radius:30px;background:transparent;font-size:11px;cursor:pointer}.project-filters button.active{color:var(--ink);background:#ffffff0d;border-color:#ffffff60}.project-filters small{margin-left:9px;color:var(--accent);font-size:9px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.project-card{display:block;text-align:left;background:transparent;border:1px solid #ffffff1c;border-radius:9px;overflow:hidden;color:var(--ink);cursor:pointer;transition:border-color .3s}.project-card:hover{border-color:#d0f79080}.project-visual{height:310px;position:relative;overflow:hidden;background:#1d231b}.project-index{position:absolute;top:22px;left:24px;font:10px monospace;color:#a5b397;z-index:2}.project-open{position:absolute;right:20px;top:20px;border:1px solid #ffffff30;border-radius:50%;padding:9px;z-index:2;transition:background .3s,color .3s}.project-card:hover .project-open{background:var(--accent);color:#101210}.project-content{padding:28px}.project-content .eyebrow{font-size:8px!important;letter-spacing:1.5px;margin-bottom:10px}.project-content h3{font-size:26px;letter-spacing:-.7px;margin:0 0 9px;font-weight:400}.project-content>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:360px}.project-tags{display:flex;gap:7px;align-items:center;margin-top:24px;flex-wrap:wrap}.project-tags>span{padding:4px 9px;border:1px solid #ffffff20;border-radius:4px;font:9px monospace;color:#b4baac}.project-tags .case-link{margin-left:auto;border:0;color:var(--accent);display:flex;align-items:center;gap:8px}.car-art{position:absolute;width:350px;height:160px;left:50%;top:48%;transform:translate(-50%,-50%);transition:transform .6s}.project-card:hover .car-art{transform:translate(-50%,-50%) scale(1.05)}.car-body{position:absolute;top:50px;right:10px;bottom:25px;left:10px;background:linear-gradient(175deg,#68775a,#252d21 44%,#11160e 75%);border-radius:55% 26% 22% 16%;border-top:2px solid #a8bb88;box-shadow:0 28px 30px #0008}.car-window{position:absolute;top:19px;left:95px;width:155px;height:61px;background:linear-gradient(145deg,#52604a,#161d15 70%);border-radius:65% 45% 0 0;transform:skew(18deg);border-top:1px solid #c7d6ae;box-shadow:inset -30px 0 #11190e}.wheel{position:absolute;bottom:13px;width:49px;height:49px;border-radius:50%;background:repeating-conic-gradient(#8a957d,#8a957d 6deg,#252b20 7deg,#252b20 30deg);border:9px solid #0c0e0b;box-shadow:0 0 0 1px #637052}.left-wheel{left:60px}.right-wheel{right:40px}.car-orbit{position:absolute;top:-5px;right:-32px;bottom:-5px;left:-32px;border:1px solid #cafa7d55;border-radius:50%;transform:rotate(-12deg) scaleY(.55);box-shadow:0 0 30px #cafa7d0b}.car-orbit:after{content:"+";position:absolute;right:30px;top:8px;border:1px solid #d0f790;border-radius:50%;color:var(--accent);width:20px;height:20px;text-align:center;font:14px monospace}.visual-caption{position:absolute;bottom:-43px;width:100%;text-align:center;font:8px monospace;letter-spacing:2px;color:#abb99b}.visual-caption b{font-size:13px;margin-left:15px;color:var(--accent)}.legal .project-visual{background:radial-gradient(ellipse at center,#303029,#1b1c19)}.document-art{position:absolute;top:43px;left:50%;width:230px;height:255px;background:#2c3028;border:1px solid #687058;border-radius:7px;padding:22px;transform:translate(-50%) rotate(-8deg);box-shadow:20px 15px #ffffff04;transition:transform .6s}.project-card:hover .document-art{transform:translate(-50%) rotate(-3deg) translateY(-8px)}.document-art>small{font:8px monospace;color:#d0d8c5}.document-art i{display:block;height:4px;background:#69735b55;margin-top:17px;width:100%}.document-art i:nth-child(3n){width:75%}.document-art>div{margin-top:25px;background:#b6d99320;border:1px solid #d0f79055;padding:12px;color:var(--accent);font-size:14px}.document-art>div span{font-size:9px}.ai-badge{position:absolute;right:28px;bottom:43px;background:#d0f790;color:#243217;padding:10px 14px;font:8px monospace;letter-spacing:1px;transform:rotate(3deg)}.gaming .project-visual{background:radial-gradient(ellipse at center,#343026,#1e1d18)}.gaming-art{position:absolute;top:40px;right:40px;bottom:40px;left:40px;display:flex;align-items:center;justify-content:center}.gaming-art strong{font-size:100px;font-weight:400;letter-spacing:-8px;z-index:1;color:#e8cf98}.gaming-art strong span{font-size:70px}.game-orbit{position:absolute;width:230px;height:230px;border:1px dashed #dac18c60;border-radius:50%;animation:spin 50s linear infinite}.game-orbit:before,.game-orbit:after{content:"";position:absolute;top:20px;right:20px;bottom:20px;left:20px;border-radius:50%;border:1px solid #dac18c25}.game-orbit:after{top:-20px;right:-20px;bottom:-20px;left:-20px}.gaming-art .visual-caption{bottom:0;color:#c4b48e}.game-node{position:absolute;width:10px;height:10px;background:#dac18c;box-shadow:0 0 20px #dac18c66;border-radius:50%;animation:pulse 4s ease-in-out infinite}.node-a{left:22%;top:25%}.node-b{right:20%;bottom:28%;animation-delay:1s}.node-c{top:10%;right:35%;animation-delay:2s}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{box-shadow:0 0 30px #dac18caa;transform:scale(1.3)}}.cloud .project-visual{background:radial-gradient(ellipse at center,#253137,#191f22)}.cloud-art{position:absolute;top:55px;right:25%;bottom:55px;left:25%;perspective:700px}.cloud-layer{height:70px;background:linear-gradient(100deg,#35474d,#24343a);border:1px solid #7ba3ae70;border-radius:8px;color:#bbd1d7;font:9px monospace;letter-spacing:2px;padding:20px;transform:rotateX(30deg) rotate(-18deg);box-shadow:0 15px 25px #0003;animation:float 7s ease-in-out infinite}.cloud-layer span{float:right}.layer-one{position:relative;z-index:3}.layer-two{position:relative;margin-top:-5px;z-index:2;animation-delay:-2s}.layer-three{margin-top:-5px;animation-delay:-4s}@keyframes float{50%{transform:rotateX(30deg) rotate(-18deg) translateY(-10px)}}.project-footnote{font-size:10px;color:var(--muted);margin-top:20px}.experience-section{background:#171a16;border-block:1px solid #ffffff12;padding:100px 0}.timeline{margin-top:56px}.timeline article{display:grid;grid-template-columns:220px 1fr 30px;gap:25px;padding:36px 0;border-top:1px solid #ffffff20}.timeline-date{font:10px monospace;color:var(--muted);padding-top:5px}.timeline-company{color:var(--accent);font-size:12px;margin:0 0 8px}.timeline h3{font-size:23px;font-weight:400;letter-spacing:-.4px;margin:0 0 14px}.timeline article div>p:last-of-type{font-size:14px;color:var(--muted);max-width:620px}.timeline small{display:block;font:8px monospace;letter-spacing:1px;color:#737f69;margin-top:20px}.timeline article>svg{color:var(--muted)}.education{display:grid;grid-template-columns:220px 1fr 100px 1fr;gap:25px;padding-top:35px;border-top:1px solid #ffffff20;margin-top:10px}.education>span{font:9px monospace;color:var(--muted)}.education p{font-size:12px;line-height:1.8}.education small{color:var(--muted);font-size:11px}.expertise-section{padding:110px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.expertise-grid article{border-top:1px solid #ffffff25;padding-top:20px}.expertise-grid small{font:9px monospace;color:var(--accent)}.expertise-grid h3{font-size:16px;font-weight:400;margin:16px 0 12px}.expertise-grid p{font-size:12px;line-height:1.9;color:var(--muted)}.contact-section{padding:85px 0 70px;background:#20281b;border-block:1px solid #c9f28a20;position:relative}.contact-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at 90% 70%,#c9f28a0b,transparent 60%)}.contact-section .eyebrow{display:flex;align-items:center;gap:10px}.contact-section h2{font-size:clamp(44px,6vw,86px);letter-spacing:-4px;line-height:1.1}.contact-section h2 a{color:var(--accent);display:inline-flex;align-items:center;gap:35px}.contact-section h2 a svg{font-size:.8em;transition:transform .3s}.contact-section h2 a:hover svg{transform:translate(10px,-10px)}.contact-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:38px;gap:25px}.contact-bottom p{font-size:13px;color:#b0bba5}.contact-links{display:flex;gap:30px;margin-top:40px;padding-top:30px;border-top:1px solid #ffffff20}.contact-links a{font-size:11px;display:flex;align-items:center;gap:12px}.portfolio-footer{padding:35px 0;display:flex;align-items:center;gap:35px}.portfolio-footer .wordmark{font-size:34px;letter-spacing:-3px}.portfolio-footer p{font-size:10px;color:var(--muted)}.portfolio-footer>span{font:8px monospace;letter-spacing:1px;color:#727b69;margin-left:auto}.portfolio-footer>a:last-child{border:1px solid #ffffff30;padding:4px 12px;border-radius:4px}.case-dialog{background:#181d16;color:var(--ink);border:1px solid #d0f79050;border-radius:12px;max-width:700px;width:90%;max-height:85dvh;margin:auto;padding:0;overscroll-behavior:contain}.case-dialog::backdrop{background:#050805d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.case-inner{padding:45px;position:relative}.dialog-close{position:absolute;top:18px;right:18px;background:transparent;color:var(--ink);border:1px solid #ffffff30;border-radius:50%;padding:8px;cursor:pointer}.case-dialog h2{font-size:38px}.case-intro{font-size:18px;color:var(--accent);margin:15px 0 30px}.case-dialog section{margin-top:22px}.case-dialog h3{font-size:14px;margin-bottom:7px}.case-dialog section p{font-size:14px;color:#b7c0ae}.case-dialog .text-link{margin-top:30px;color:var(--accent)}body:has(.case-dialog[open]){overflow:hidden}@media (min-width: 1600px){.hero-grid{min-height:720px}}@media (max-width: 1000px){.hero h1{font-size:54px;letter-spacing:-3px}.hero-grid{grid-template-columns:1.2fr 1fr;min-height:590px}.orbital-scene{height:390px}.hero-actions{gap:15px}.about-section,.expertise-section{gap:40px}.timeline article{grid-template-columns:150px 1fr 25px}.education{grid-template-columns:130px 1fr;row-gap:25px}.project-visual{height:270px}.project-content{padding:22px}.car-art{transform:translate(-50%,-50%) scale(.85)}.project-card:hover .car-art{transform:translate(-50%,-50%) scale(.9)}}@media (max-width: 700px){html{scroll-padding-top:20px}.section-wrap,.portfolio-header{width:88%}.portfolio-header{height:88px}.wordmark{font-size:40px}.wordmark small{font-size:8px;margin-left:18px}.menu-toggle{display:block;background:none;border:1px solid #ffffff30;color:var(--ink);padding:9px;border-radius:4px;font-size:20px}.portfolio-header nav{display:none;position:absolute;top:78px;left:6%;right:6%;background:#1c2119;border:1px solid #ffffff30;padding:25px;z-index:20;align-items:stretch;gap:24px}.portfolio-header nav.nav-open{display:flex;flex-direction:column}.nav-contact{justify-content:space-between}.hero{padding-top:23px}.hero-topline{font-size:8px;letter-spacing:1px}.hero-topline>span:last-child{display:none}.hero-grid{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-top:50px}.hero h1{font-size:clamp(43px,10.5vw,64px);letter-spacing:-2.8px}.hero .eyebrow{font-size:8px!important;margin-bottom:20px}.hero-description{font-size:14px;max-width:390px}.hero-actions{gap:20px}.button-primary{font-size:11px;padding:14px 16px;gap:16px}.text-link{font-size:11px}.orbital-scene{height:340px;max-width:430px;width:100%;align-self:center;margin-top:20px}.orb-core{font-size:60px}.orbit-label{font-size:7px}.label-top{right:5%}.label-bottom{left:4%}.hero-bottom{padding:20px 0}.hero-bottom>a{font-size:7px}.hero-bottom>div{gap:20px}.tech-ribbon{padding:14px 0}.tech-ribbon span{font-size:9px}.about-section{padding:75px 0;grid-template-columns:1fr;gap:30px}.portfolio h2{font-size:36px;letter-spacing:-1.6px}.about-body>p{font-size:15px}.stats{gap:10px}.stats strong{font-size:38px}.stats small{font-size:7px}.stats strong span{font-size:20px}.projects-heading{display:block}.projects-heading>p{margin-top:20px;font-size:12px}.project-filters{margin-top:27px}.project-grid{grid-template-columns:1fr;gap:24px}.project-visual{height:290px}.project-content{padding:24px}.projects-section{padding-bottom:70px}.project-tags .case-link{font-size:9px}.experience-section{padding:70px 0}.timeline{margin-top:35px}.timeline article{grid-template-columns:1fr 20px;gap:12px;padding:28px 0}.timeline-date{grid-column:1/-1;font-size:9px}.timeline h3{font-size:21px}.timeline article div>p:last-of-type{font-size:13px}.education{grid-template-columns:1fr;gap:8px;padding-top:25px}.education>span:nth-of-type(2){margin-top:15px}.expertise-section{grid-template-columns:1fr;padding:75px 0;gap:35px}.expertise-grid{gap:28px 22px}.expertise-grid h3{font-size:15px}.expertise-grid p{font-size:11px}.contact-section{padding:65px 0 40px}.contact-section h2{font-size:clamp(40px,10vw,66px);letter-spacing:-2.5px}.contact-section h2 a{gap:10px}.contact-bottom{display:block;margin-top:25px}.contact-bottom .button-primary{margin-top:20px}.contact-links{flex-wrap:wrap;gap:22px;margin-top:30px}.portfolio-footer{flex-wrap:wrap;gap:15px;padding:28px 0}.portfolio-footer>span{display:none}.portfolio-footer>a:last-child{margin-left:auto}.case-inner{padding:48px 24px 28px}.case-dialog h2{font-size:32px}.case-dialog .eyebrow{font-size:8px!important}.case-dialog .text-link{font-size:11px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.portfolio *,.portfolio *:before,.portfolio *:after{animation:none!important;transition:none!important}.orbital-object{transform:none!important}.orbit-one{transform:rotateX(65deg) rotateY(-25deg)}.orbit-two{transform:rotateX(-55deg) rotateY(35deg)}.orbit-three{transform:rotateY(65deg)}.orbit-four{transform:rotateX(60deg) rotateY(60deg)}}._container_uwz93_1{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:5000}
