:root{font-family:DM Sans,sans-serif;color:#f0eee7;background:#101010;font-synthesis:none;--red:#f23b2c;--paper:#efeee7;--muted:#969692;--line:#ffffff24}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:6px}button:disabled{cursor:wait}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:Barlow Condensed,sans-serif}h2{font-size:clamp(48px,5.3vw,80px);font-weight:800;line-height:.98;letter-spacing:-1.5px}h2 em{font-style:italic;color:var(--red)}p{font-size:16px;line-height:1.85;color:var(--muted)}.mono,.eyebrow,.section-label,.tags,.project-meta,.project-link,.text-link,.button,.nav,.ticker,.stack-n,.engine-spec,.contact-kicker,footer,.session-bar,.archive,.car-caption{font-family:IBM Plex Mono,monospace}.eyebrow{font-size:11px;letter-spacing:1.8px;line-height:1.6}.status-dot{width:6px;height:6px;background:#a5d98a;display:inline-block;border-radius:50%;box-shadow:0 0 8px #a5d98a44;margin-right:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip-link{position:fixed;top:-100px;left:20px;z-index:200;padding:15px;background:var(--paper);color:#111}.skip-link:focus{top:10px}.nav{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 4%;height:76px;background:#101010ed;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{font-size:36px;font-style:italic;font-weight:900;letter-spacing:-2px;line-height:1}.brand span{color:var(--red);font-size:16px;font-style:normal;letter-spacing:0;margin-left:5px}.nav nav{display:flex;gap:30px}.nav nav a{font-size:11px;color:#bbb;display:flex;gap:8px;align-items:center}.nav nav small{font-size:9px;color:#676767}.nav nav a:hover,.nav nav a.active{color:#fff}.nav nav a.active small{color:var(--red)}.nav-contact{font-size:11px;border:1px solid #fff5;padding:11px 18px;display:flex;gap:22px}.nav-contact:hover{background:var(--red);border-color:var(--red)}.menu-toggle{display:none}.hero{min-height:700px;height:calc(100svh - 76px);max-height:1040px;position:relative;overflow:hidden;padding:27px 5% 70px;isolation:isolate;background:#101010}.hero-top{font-size:10px;letter-spacing:.8px;display:flex;justify-content:space-between;color:#b2b2ac;position:relative;z-index:2}.flag{color:var(--red);margin-left:10px}.hero-art{position:absolute;inset:0;z-index:-2;background:url(../race-car.png) 75% center/cover no-repeat;animation:car-arrival 1.5s cubic-bezier(.2,.7,.2,1) both;animation-play-state:paused}.entered .hero-art{animation-play-state:running}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101010eb 0%,#101010a0 24%,transparent 66%),linear-gradient(0deg,#101010 0%,transparent 20%);z-index:-1}.hero-number{font:italic 900 clamp(240px,33vw,540px)/1 "Barlow Condensed";position:absolute;right:2%;top:10%;color:transparent;-webkit-text-stroke:1px #ffffff16;z-index:-1;pointer-events:none}.hero-content{padding-top:clamp(62px,9vh,135px);position:relative;z-index:1;max-width:780px}.hero-content>.eyebrow{display:flex;align-items:center;gap:10px;color:#d3d1c8}.red-line{width:22px;height:2px;background:var(--red)}.hero h1{font-size:clamp(88px,10.5vw,164px);line-height:.82;font-weight:900;letter-spacing:-3px;margin:25px 0;outline:0}.hero h1 em{color:var(--red);font-style:italic}.hero-description{display:flex;gap:16px;margin-top:30px}.hero-description p{font-size:14px;color:#b3b1ac;line-height:1.75}.tiny-cross{color:var(--red);font:24px monospace}.hero-actions{display:flex;gap:26px;align-items:center;margin-top:30px}.button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;border:1px solid var(--line);padding:18px 24px;font-size:11px;font-weight:500;transition:background .2s,transform .2s}.button:hover{transform:translateY(-3px)}.red-button{background:var(--red);border-color:var(--red);color:#fff}.red-button:hover{background:#ff4e3f}.text-link{font-size:10px;border-bottom:1px solid #ffffff50;padding:10px 0;display:flex;gap:20px}.car-caption{position:absolute;right:6%;bottom:22%;font-size:10px;display:flex;align-items:center;gap:17px}.car-caption span:first-child{background:var(--red);padding:6px 10px}.car-caption i{width:35px;height:1px;background:#fff8}.hero-bottom{position:absolute;bottom:26px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.4px;color:#999}.hero-bottom b{color:var(--red);margin:0 10px}.hero-bottom a span{margin-left:20px;color:#fff}.ticker{background:var(--red);color:#111;overflow:hidden;padding:15px 0}.ticker>div{display:flex;gap:48px;width:max-content;animation:ticker 35s linear infinite;align-items:center}.ticker span{font-size:13px;font-weight:500;letter-spacing:2px}.ticker i{font-style:normal;font-size:20px;line-height:1}.section{padding:82px 6%}.section-label{display:flex;gap:16px;align-items:center;font-size:10px;letter-spacing:1px;margin-bottom:54px}.sector{border:1px solid currentColor;padding:4px 7px;color:var(--red)}.label-line{flex:1;height:1px;background:currentColor;opacity:.17;margin-left:15px}.about{background:var(--paper);color:#181818}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%}.about h2{font-size:clamp(55px,6vw,90px)}.driver-sign{margin-top:32px;font-family:Barlow Condensed;font-style:italic;font-weight:600;font-size:26px;display:flex;gap:40px}.driver-sign span{color:var(--red)}.about-story>.eyebrow{color:#797973}.about-story p{color:#686861;margin-top:19px;font-size:14px}.about-story p.lead{font-size:23px;line-height:1.5;color:#262626;margin-top:16px}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;border-top:1px solid #0002;padding-top:24px;gap:15px}.stats strong{font:700 48px/1 Barlow Condensed;display:block}.stats strong span{font-size:23px;margin-left:3px;color:var(--red)}.stats small{display:block;font:9px IBM Plex Mono;margin-top:10px;color:#71716b}.projects{background:#151515}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:42px}.section-heading p{font-size:14px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 24px}.project-card{min-width:0;border:1px solid #fff2;background:#1b1b1b;transition:border-color .2s,transform .3s}.project-card:hover{border-color:#f23b2c99;transform:translateY(-7px)}.project-art{height:230px;padding:17px;position:relative;overflow:hidden;background:#292a29;color:#ddd;display:flex;flex-direction:column}.project-card.red .project-art{background:var(--red);color:#161616}.project-card.cream .project-art{background:#dddcd3;color:#252525}.art-caption{font:8px IBM Plex Mono;letter-spacing:.5px;z-index:1}.project-art strong{position:absolute;top:35px;left:20px;font:italic 900 145px/.9 Barlow Condensed;letter-spacing:-9px;transform:translate(0);transition:transform .5s}.project-card:hover .project-art strong{transform:translate(10px)}.art-lines{position:absolute;right:-30px;top:0;width:150px;height:100%;background:repeating-linear-gradient(120deg,transparent 0 15px,currentColor 16px 17px);opacity:.12;transform:skew(-12deg)}.art-bottom{font:8px IBM Plex Mono;margin-top:auto;display:flex;justify-content:space-between;border-top:1px solid #0003;padding-top:12px;z-index:1}.project-info{padding:24px;display:flex;flex-direction:column;min-height:300px}.project-meta{display:flex;align-items:center;gap:10px;font-size:8px;color:#9a9a92}.project-meta span:first-child{color:var(--red);border-right:1px solid #ffffff30;padding-right:10px}.project-info h3{font-size:32px;font-weight:600;margin-top:12px}.project-info p{font-size:13px;line-height:1.75;margin-top:12px}.tags{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0;font-size:8px}.tags span{border:1px solid #ffffff25;padding:5px 8px;color:#bdbdb4}.project-link{display:flex;justify-content:space-between;border-top:1px solid #fff2;padding-top:15px;font-size:10px;margin-top:auto}.project-link:hover{color:var(--red)}.archive{margin-top:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.archive summary{cursor:pointer;display:flex;justify-content:space-between;gap:15px;padding:24px 0;font-size:11px;list-style:none}.archive summary::-webkit-details-marker{display:none}.archive summary span{color:#777}.archive summary b{display:inline-block;color:var(--red);font-size:18px;margin-left:20px;transition:transform .2s}.archive[open] summary b{transform:rotate(45deg)}.archive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#fff2;margin-bottom:24px;border:1px solid #fff2}.archive-grid a{background:#171717;padding:17px;display:flex;gap:16px;font-size:11px}.archive-grid a>span:first-child{color:var(--red)}.archive-grid a>span:last-child{margin-left:auto}.archive-grid a:hover{background:#272727}.skills{background:var(--paper);color:#191919}.skills-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:10%}.skills-grid>div>p{margin-top:23px;color:#72726b;font-size:14px}.engine-spec{margin-top:40px;padding:24px;background:#171717;color:#eee;max-width:400px;border-left:3px solid var(--red)}.engine-spec>.mono{font-size:8px;letter-spacing:1px;color:#aaa}.engine-spec strong{font:italic 800 58px Barlow Condensed;display:block;margin-top:8px}.engine-spec strong i{color:var(--red);font-style:normal}.rev-meter{display:flex;gap:4px;margin:18px 0;height:20px}.rev-meter i{background:#9dbc83;flex:1;animation:rev 2.5s ease-in-out infinite;animation-delay:calc(var(--i)*55ms)}.rev-meter i:nth-child(n+14){background:#e9ce72}.rev-meter i:nth-child(n+19){background:var(--red)}.stack-list article{display:flex;gap:23px;border-top:1px solid #0002;padding:24px 0}.stack-list article:last-child{border-bottom:1px solid #0002}.stack-n{font-size:10px;color:var(--red);padding-top:5px}.stack-list h3{font-size:26px;font-weight:600}.stack-list strong{display:block;font:11px IBM Plex Mono;margin:11px 0;color:#41413c}.stack-list p{color:#77776f;font-size:12px;line-height:1.7}.stack-plus{margin-left:auto;color:var(--red);font:23px monospace}.resume-strip{padding:35px 6%;background:var(--red);color:#101010;display:flex;justify-content:space-between;align-items:center;gap:25px}.resume-strip .eyebrow{font-size:9px}.resume-strip h2{font-size:35px;letter-spacing:-.5px;margin-top:8px}.resume-strip h2 em{color:#111}.resume-strip .button{border-color:#1118;font-size:10px}.resume-strip .button:hover{background:#111;color:#fff}.contact{padding-bottom:50px;background:#101010}.contact-kicker{font-size:10px;color:#aaa;letter-spacing:1px;margin-bottom:25px}.contact h2{font-size:clamp(68px,9vw,132px);line-height:.95}.contact-email{display:inline-flex;gap:50px;font-size:clamp(16px,2.1vw,29px);margin-top:35px;border-bottom:1px solid #fff5;padding-bottom:12px}.contact-email span,.contact-email:hover{color:var(--red)}.contact-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:65px}.contact-bottom p{font-size:13px}.contact-bottom>div{display:flex;align-items:center;gap:30px}.contact-bottom a{font:10px IBM Plex Mono;display:flex;gap:18px}.contact-bottom a:hover{color:var(--red)}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 6% 80px;border-top:1px solid var(--line);font-size:8px;color:#8d8d87}footer button{background:none;border:0;font:9px IBM Plex Mono;padding:10px 0}footer button:hover{color:var(--red)}.session-bar{position:fixed;z-index:35;bottom:0;left:0;right:0;height:38px;background:#101010f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid #fff2;padding:0 4%;display:flex;align-items:center;gap:24px;color:#999;font-size:8px;letter-spacing:.6px}.session-progress{height:2px;background:#fff2;flex:1;max-width:240px}.session-progress i{display:block;height:100%;background:var(--red);transition:width .15s}.session-bar button{background:none;border:0;border-left:1px solid #fff2;padding-left:20px;font:8px IBM Plex Mono;margin-left:auto}.reveal{opacity:1}.entered .reveal:not(.visible){opacity:0;transform:translateY(22px)}.reveal.visible{transition:opacity .7s,transform .7s;opacity:1;transform:translateY(0)}.ignition{position:fixed;inset:0;z-index:100;background:#0d0d0d;display:flex;flex-direction:column;padding:30px 5%;overflow:auto;isolation:isolate}.ignition:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 100%,#f23b2c1c,transparent 60%),repeating-linear-gradient(90deg,transparent 0 calc(20% - 1px),#ffffff05 calc(20% - 1px) 20%);pointer-events:none}.intro-top,.intro-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.intro-top>.mono,.intro-bottom{font-size:9px;letter-spacing:1px;color:#777}.intro-bottom .status-dot{margin-left:10px;margin-right:0}.ignition-center{margin:auto;text-align:center;padding:45px 0}.start-lights{display:flex;gap:12px;justify-content:center;margin-bottom:34px}.start-lights i{display:block;width:23px;height:23px;border:1px solid #ffffff20;border-radius:50%;background:#282828;box-shadow:inset 0 2px 5px #0009;transition:background .1s,box-shadow .1s}.start-lights i.on{background:var(--red);box-shadow:0 0 28px #f23b2c88}.ignition-center>.eyebrow{color:#858580;font-size:10px}.ignition h1{font-size:clamp(60px,7.7vw,120px);font-weight:800;line-height:.94;letter-spacing:-2px;margin:18px 0 22px}.ignition h1 em{font-style:italic;color:var(--red)}.ignition p{font-size:14px}.ignite-button{display:flex;margin:30px auto 0;align-items:center;gap:28px;background:var(--red);color:#fff;border:0;padding:20px 26px;font:11px IBM Plex Mono;min-width:280px;justify-content:center;transition:background .2s,box-shadow .2s}.ignite-button:hover{background:#ff4839;box-shadow:0 0 40px #f23b2c25}.power{font-size:20px;line-height:1}.skip{display:block;background:none;border:0;color:#7d7d79;margin:16px auto 0;padding:10px;font:10px IBM Plex Mono}.skip:hover{color:#fff}.skip span{margin-left:15px}.ignition.go{animation:lights-out .5s .05s both}.ignition.go .start-lights i{background:#242424;box-shadow:none}.ignition.go .ignite-button{background:#a5d98a;color:#121212}.ignition.starting .power{animation:beacon .5s infinite}.entered .hero-content{animation:content-in .8s ease-out both}@keyframes content-in{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes car-arrival{0%{transform:scale(1.08) translate(4%);opacity:.1}to{transform:scale(1) translate(0);opacity:1}}@keyframes ticker{to{transform:translate(-50%)}}@keyframes rev{0%,to{opacity:1}50%{opacity:.35}}@keyframes lights-out{to{opacity:0;transform:scale(1.07);filter:blur(5px)}}@keyframes beacon{50%{opacity:.3}}@media(min-width:1600px){.hero-art{background-size:cover}.section{padding-left:max(6%,calc((100% - 1440px)/2));padding-right:max(6%,calc((100% - 1440px)/2))}}@media(max-width:1050px){.nav nav{gap:18px}.nav nav a{font-size:10px}.nav-contact{display:none}.hero-art{background-position:60% center}.hero-content{padding-top:90px}.hero h1{font-size:115px}.hero:after{background:linear-gradient(90deg,#101010e8,#10101060 50%,transparent),linear-gradient(0deg,#101010,transparent 30%)}.hero-number{top:20%}.car-caption{right:4%;bottom:18%}.project-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.skills-grid{gap:6%}.section{padding:65px 5%}.skills h2{font-size:52px}.contact h2{font-size:100px}.project-art{height:250px}.project-art strong{font-size:165px}footer{flex-wrap:wrap}footer>span:nth-of-type(2){display:none}}@media(max-width:680px){html{scroll-padding-top:65px}.nav{height:65px;padding:0 6%}.brand{font-size:32px}.menu-toggle{display:block;font:10px IBM Plex Mono;background:none;border:1px solid #fff3;padding:10px}.nav nav{display:none;position:absolute;left:0;right:0;top:65px;background:#141414;border-bottom:1px solid #fff3;padding:25px}.nav nav.open{display:grid;grid-template-columns:1fr 1fr;gap:26px}.nav nav a{font-size:11px}.hero{min-height:790px;height:calc(100svh - 65px);padding:25px 6% 65px;max-height:none}.hero-top{font-size:8px;letter-spacing:0}.hero-top>span:nth-child(2){display:none}.hero-content{padding-top:50px}.hero h1{font-size:clamp(78px,18.5vw,116px);letter-spacing:-2px;margin-top:25px}.hero-content>.eyebrow{font-size:8px;letter-spacing:1px}.hero-art{background-size:auto 600px;background-position:62% 210px;animation:none}.hero:after{background:linear-gradient(180deg,#101010,#101010a0 35%,#10101008 60%,#101010)}.hero-number{font-size:270px;top:45%;right:3%}.hero-description{margin-top:22px}.hero-description p{font-size:13px;color:#bab8b0}.hero-actions{gap:20px;margin-top:25px;align-items:flex-start;flex-direction:column}.button{font-size:10px;padding:15px 20px}.text-link{font-size:9px}.car-caption{bottom:13%;font-size:8px;right:6%;gap:10px}.hero-bottom{left:6%;right:6%;bottom:25px;font-size:8px}.hero-bottom>span{display:none}.hero-bottom a{margin-left:auto}.ticker{padding:12px 0}.ticker span{font-size:10px}.ticker>div{gap:25px}.section{padding:55px 6%}.section-label{font-size:8px;letter-spacing:.5px;gap:10px;margin-bottom:35px}.about-grid,.skills-grid{grid-template-columns:1fr;gap:38px}.about h2{font-size:61px}.about-story p.lead{font-size:21px}.stats strong{font-size:42px}.stats small{font-size:8px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:53px}.section-heading p{margin-top:20px;font-size:13px}.project-grid{grid-template-columns:1fr;gap:25px}.project-art{height:240px}.project-art strong{font-size:160px}.project-info{min-height:280px}.project-meta{font-size:8px}.project-info p{font-size:14px}.tags{font-size:9px}.project-link{font-size:11px}.archive-grid{grid-template-columns:1fr}.archive summary{font-size:9px}.archive summary span{font-size:8px}.skills h2{font-size:55px}.engine-spec{max-width:none}.resume-strip{display:block;padding:32px 6%}.resume-strip h2{font-size:32px}.resume-strip .button{margin-top:23px}.contact h2{font-size:clamp(66px,14.5vw,95px)}.contact-kicker{font-size:8px;letter-spacing:.5px}.contact-email{font-size:16px;gap:15px;overflow-wrap:anywhere}.contact-bottom{display:block;margin-top:38px}.contact-bottom>div{margin-top:28px;gap:35px}footer{padding:25px 6% 80px;gap:20px}footer>.brand{font-size:28px}footer>span{font-size:7px}footer button{width:100%;text-align:left;font-size:9px}.session-bar{gap:12px;font-size:7px;padding:0 5%}.session-bar>span:first-child{display:none}.session-progress{max-width:90px}.session-bar button{font-size:7px;padding-left:12px}.intro-top>.mono{font-size:7px;max-width:125px;text-align:right;line-height:1.7}.intro-bottom{font-size:7px;line-height:1.8;gap:20px}.intro-bottom>span{max-width:160px}.intro-bottom>span:last-child{text-align:right}.ignition{padding:25px 6%}.ignition h1{font-size:clamp(48px,12.5vw,73px);letter-spacing:-1px}.ignition-center>.eyebrow{font-size:8px;letter-spacing:1px}.ignition p{font-size:12px}.start-lights i{width:19px;height:19px}.ignite-button{font-size:10px;min-width:260px}.skip{font-size:10px}}.motion-off{scroll-behavior:auto}.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important}.motion-off .reveal,.motion-off .entered .reveal:not(.visible){opacity:1;transform:none}.motion-off .hero-art{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.entered .reveal:not(.visible){opacity:1;transform:none}}
