:root{--paper:#f1eee7;--ink:#151515;--blue:#4438e8;--acid:#dfff54;--orange:#ff7750;--line:rgba(21,21,21,.22);--mono:"DM Mono",monospace;--display:"Archivo Black",Impact,sans-serif;--body:"DM Sans",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
::selection{background:var(--blue);color:#fff}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
.skip-link{position:fixed;top:-100px;left:12px;z-index:1000;background:var(--acid);padding:10px 16px;font-weight:700}.skip-link:focus{top:12px}
.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.065;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.progress{height:4px;position:fixed;inset:0 0 auto;z-index:105;background:transparent}.progress span{display:block;height:100%;width:0;background:var(--orange);transform-origin:left}
.site-header{position:relative;z-index:100;min-height:83px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper)}
.brand{display:flex;gap:13px;align-items:center}.brand-mark{font:29px/.9 var(--display);letter-spacing:-.12em}.brand-dot{color:var(--blue)}.brand-caption{font:9px/1.35 var(--mono);letter-spacing:.04em}
.desktop-nav{display:flex;gap:3.4vw;margin-left:auto;margin-right:4vw}.desktop-nav a{font-size:13px;font-weight:700;position:relative}.desktop-nav a::after{content:"";height:2px;background:var(--blue);position:absolute;bottom:-6px;left:0;right:100%;transition:right .3s}.desktop-nav a:hover::after{right:0}.desktop-nav a span{font:9px var(--mono);vertical-align:top;margin-left:3px;color:#777}
.header-actions{display:flex;align-items:center;gap:18px}.motion-toggle{display:flex;gap:8px;align-items:center;border:0;background:none;padding:10px 0;cursor:pointer;font:10px var(--mono);white-space:nowrap}.motion-indicator{width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(68,56,232,.12)}.motion-toggle[aria-pressed="true"] .motion-indicator{background:#999;box-shadow:none}
.header-contact{background:var(--ink);color:#fff;padding:14px 18px;border-radius:100px;font-size:12px;font-weight:700;white-space:nowrap;transition:background .25s,transform .25s}.header-contact:hover{background:var(--blue);transform:translateY(-2px)}.header-contact span{font-size:16px;margin-left:12px}.menu-toggle{display:none;border:0;background:transparent;width:40px;height:40px;padding:9px;cursor:pointer}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:6px 0;transition:transform .3s}.mobile-nav{display:none}
.hero{position:relative;min-height:calc(100svh - 83px);display:flex;flex-direction:column;overflow:hidden}.hero-grid{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent calc(25% - 1px),rgba(21,21,21,.065) 25%,transparent calc(25% + 1px),transparent calc(50% - 1px),rgba(21,21,21,.065) 50%,transparent calc(50% + 1px),transparent calc(75% - 1px),rgba(21,21,21,.065) 75%,transparent calc(75% + 1px));opacity:.8}
.hero-meta,.hero-foot,.manifesto-top,.contact-top{display:flex;justify-content:space-between;gap:20px;font:10px var(--mono);letter-spacing:.07em}.hero-meta{padding:29px 4vw 0;position:relative}.live-dot{display:inline-block;background:var(--blue);width:7px;height:7px;border-radius:50%;margin-right:7px;animation:live 2s infinite}.hero-inner{display:grid;grid-template-columns:1.18fr .82fr;align-items:center;flex:1;min-height:620px;padding:28px 4vw 45px;position:relative}.hero-copy{position:relative;z-index:4}.eyebrow{margin:0;font:11px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase}.hero-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:25px}.eyebrow-line{height:1px;width:30px;background:var(--ink)}
.hero h1{margin:0;font:clamp(70px,9vw,170px)/.92 var(--display);letter-spacing:-.09em;text-transform:uppercase;white-space:nowrap}.hero-word-wrap{position:relative;display:inline-block;color:var(--blue)}.hero-word{display:inline-block;animation:word-entrance 1.2s .1s both}.hero-asterisk{position:absolute;right:-.45em;top:-.18em;width:.42em;height:.42em;overflow:visible;stroke:var(--orange);stroke-width:9;stroke-linecap:round;animation:spin 12s linear infinite}.period{color:var(--orange)}.hero-bottom{display:flex;align-items:flex-end;gap:30px;margin-top:46px;max-width:650px}.hero-bottom p{font-size:clamp(16px,1.45vw,21px);line-height:1.45;font-weight:500;max-width:470px;margin:0}.round-link{flex:0 0 61px;width:61px;height:61px;border:1.5px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:31px;transition:background .3s,color .3s,transform .3s}.round-link:hover{background:var(--ink);color:#fff;transform:rotate(-45deg)}
.hero-art{position:relative;width:100%;height:min(40vw,600px);min-height:430px;perspective:900px}.art-sun{position:absolute;width:58%;aspect-ratio:1;border-radius:50%;right:12%;top:16%;background:var(--acid);filter:blur(1px);animation:sun-float 7s ease-in-out infinite}.art-orbit{position:absolute;border:1px solid rgba(21,21,21,.52);border-radius:50%;transform:rotate(-28deg);animation:orbit 16s linear infinite}.art-orbit-one{width:94%;height:47%;top:27%;left:2%}.art-orbit-two{width:73%;height:86%;top:7%;left:12%;transform:rotate(30deg);animation-duration:22s;animation-direction:reverse}.art-disc{position:absolute;width:52%;aspect-ratio:1;border-radius:50%;left:24%;top:21%;background:var(--blue);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:8% 5%;text-align:center;box-shadow:25px 30px 0 rgba(21,21,21,.11);transform:rotate(-12deg);animation:disc-float 6s ease-in-out infinite}.art-disc strong{font:clamp(25px,3.3vw,60px)/.95 var(--display);letter-spacing:-.08em}.disc-top,.disc-bottom{font:clamp(9px,.9vw,13px) var(--mono)}.art-sticker{position:absolute;background:var(--paper);border:1.5px solid var(--ink);box-shadow:7px 7px 0 var(--ink);padding:15px 21px;font:clamp(10px,1vw,15px) var(--mono);white-space:nowrap}.art-sticker span{margin-left:20px;font-size:20px}.art-sticker-one{top:14%;left:1%;transform:rotate(-11deg);animation:sticker-one 5s ease-in-out infinite}.art-sticker-two{right:0;top:53%;background:var(--orange);transform:rotate(9deg);animation:sticker-two 6s ease-in-out infinite}.art-sticker-three{left:7%;bottom:13%;background:#fff;transform:rotate(5deg);animation:sticker-three 7s ease-in-out infinite}.art-cross{position:absolute;font:40px var(--mono);color:var(--blue)}.art-cross-one{top:5%;right:13%}.art-cross-two{bottom:4%;right:19%;font-size:24px}.art-caption{position:absolute;right:0;bottom:0;font:10px var(--mono);letter-spacing:.08em;writing-mode:vertical-rl}
.hero-foot{border-top:1px solid var(--line);padding:16px 4vw;position:relative}.marquee{overflow:hidden;background:var(--blue);color:#fff;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:15px 0}.marquee-track{display:flex;width:max-content;animation:marquee 24s linear infinite}.marquee-track span{font:clamp(20px,2.6vw,38px)/1 var(--display);letter-spacing:-.04em;white-space:nowrap;padding-right:22px}.marquee b{font-weight:normal;color:var(--acid);padding:0 13px}
.section-pad{padding:120px 4vw}.projects{background:var(--ink);color:#f1eee7}.section-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:70px}.section-index{color:var(--orange)}.section-head h2{font:clamp(50px,6.5vw,115px)/.98 var(--display);letter-spacing:-.075em;text-transform:uppercase;margin:20px 0 0}.section-head em{font-style:normal;color:var(--orange)}.section-intro{font-size:clamp(16px,1.45vw,20px);line-height:1.45;max-width:360px;margin:0 0 5px}
.feature-project{display:grid;grid-template-columns:1.35fr .65fr;background:#242424;border:1px solid #555;min-height:590px}.feature-visual{position:relative;min-height:590px;overflow:hidden}.tesclip-visual{background:radial-gradient(circle at 55% 40%,#4137dc 0,#292273 45%,#17152f 100%)}.visual-caption{position:absolute;top:25px;left:28px;right:28px;display:flex;justify-content:space-between;z-index:3;font:10px var(--mono);color:#d5d0ff}.tesclip-window{position:absolute;left:10%;right:10%;top:17%;height:66%;background:#121319;border:1px solid #7d7d8e;border-radius:12px;box-shadow:0 30px 60px rgba(0,0,0,.4),-20px 23px 0 rgba(137,129,255,.13);transform:perspective(1100px) rotateY(-7deg) rotateX(5deg) rotateZ(-2deg);animation:window-float 8s ease-in-out infinite;overflow:hidden}.window-bar{height:39px;border-bottom:1px solid #353540;color:#bcbcc8;display:flex;justify-content:space-between;align-items:center;padding:0 14px;font:9px var(--mono)}.window-bar>span:last-child{color:#98efb9}.window-dots{display:flex;gap:5px}.window-dots i{width:6px;height:6px;border-radius:50%;background:#ff7967}.window-dots i:nth-child(2){background:#ffd36c}.window-dots i:nth-child(3){background:#6fd4a2}.tesclip-screen{height:calc(100% - 77px);display:grid;grid-template-columns:1fr 22%;gap:5px;padding:6px;position:relative}.road-scene{position:relative;overflow:hidden;background:linear-gradient(#334b66 0 47%,#61717a 47% 52%,#1c262b 52%);border-radius:3px}.sky{position:absolute;top:8%;left:11%;width:26%;height:12%;background:rgba(255,255,255,.18);filter:blur(20px)}.horizon{position:absolute;left:-5%;top:47%;width:110%;height:7%;background:repeating-linear-gradient(90deg,#202e36 0 8px,#31404a 8px 14px);clip-path:polygon(0 100%,10% 0,95% 0,100% 100%)}.road{position:absolute;left:-50%;bottom:-30%;width:200%;height:76%;background:#252b32;clip-path:polygon(37% 0,63% 0,100% 100%,0 100%);border-top:3px solid #77828b}.road::before,.road::after{content:"";position:absolute;top:0;bottom:0;width:4px;background:#b0a786}.road::before{left:25%;transform:rotate(-22deg)}.road::after{right:25%;transform:rotate(22deg)}.road i{position:absolute;width:5px;height:15%;left:50%;background:#c4c2ad;animation:road-dash 1.8s linear infinite}.road i:first-child{top:18%}.road i:last-child{top:63%;animation-delay:-.8s}.scene-label{position:absolute;top:12px;left:12px;right:12px;color:white;font:9px var(--mono);display:flex;justify-content:space-between}.camera-stack{display:grid;grid-template-rows:1fr 1fr;gap:5px}.small-cam{position:relative;background:linear-gradient(165deg,#334b66 0 48%,#525f68 48% 53%,#222b32 53%);overflow:hidden}.small-cam::after{content:"";position:absolute;bottom:-15%;left:10%;width:80%;height:58%;background:#272a32;clip-path:polygon(40% 0,60% 0,100% 100%,0 100%)}.small-cam.second{transform:scaleX(-1)}.small-cam span{position:absolute;top:9px;left:8px;color:#fff;font:8px var(--mono);z-index:1}.small-cam.second span{transform:scaleX(-1);left:auto;right:8px}.tesclip-hud{position:absolute;right:26%;bottom:20px;text-align:center;background:rgba(13,15,20,.79);border:1px solid rgba(255,255,255,.3);border-radius:10px;color:#fff;width:82px;padding:8px 0;backdrop-filter:blur(4px)}.tesclip-hud span,.tesclip-hud small{display:block;font:8px var(--mono)}.tesclip-hud strong{display:block;font:32px/1 var(--display);margin:3px 0}.player-bottom{height:38px;display:flex;align-items:center;gap:12px;color:#fff;padding:0 14px;font:9px var(--mono)}.player-bottom>span:first-child{font-size:16px}.player-track{height:3px;background:#555;flex:1}.player-track i{display:block;width:42%;height:100%;background:var(--orange);position:relative}.player-track i::after{content:"";position:absolute;right:0;top:-3px;width:9px;height:9px;background:var(--orange);border-radius:50%}.visual-stamp{position:absolute;z-index:2;right:6%;bottom:7%;width:94px;height:94px;background:var(--acid);color:var(--ink);display:grid;place-content:center;text-align:center;border-radius:50%;font:27px/.9 var(--display);transform:rotate(13deg)}.visual-stamp small{font:11px var(--mono)}.feature-info{padding:42px clamp(30px,4vw,80px);display:flex;flex-direction:column;justify-content:center}.project-kicker{display:flex;justify-content:space-between;gap:20px;font:10px var(--mono);letter-spacing:.05em}.project-kicker span:first-child{color:var(--orange)}.feature-info h3{font:clamp(55px,5vw,90px)/1 var(--display);letter-spacing:-.07em;margin:55px 0 25px}.title-star{font:45px var(--body);vertical-align:top;color:var(--orange);margin-left:8px}.feature-info p,.tile-copy p{font-size:17px;line-height:1.55;max-width:430px;margin:0}.tag-row{display:flex;flex-wrap:wrap;gap:7px;margin:32px 0}.tag-row span,.expertise-tags span{border:1px solid rgba(255,255,255,.35);border-radius:100px;padding:8px 12px;font:10px var(--mono)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;width:max-content;border-bottom:1px solid currentColor;padding-bottom:8px;font-size:16px;font-weight:700;transition:color .2s,gap .2s}.text-link:hover{color:var(--orange);gap:45px}.text-link span{font-size:25px;line-height:.7}.former-name{margin-top:15px;color:#aaa}
.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.project-tile{background:#242424;border:1px solid #555;overflow:hidden}.tile-visual{height:430px;position:relative;overflow:hidden}.discord-visual{background:#bdb3fa;display:grid;place-items:center}.discord-window{width:68%;height:72%;background:#252052;color:#fff;border:2px solid #171333;border-radius:13px;box-shadow:24px 23px 0 #897ed5;transform:rotate(-8deg);padding:22px;animation:discord-float 7s ease-in-out infinite}.discord-title{font:11px var(--mono);display:flex;justify-content:space-between;color:#d0cbff}.discord-title span{font-size:23px;color:var(--acid)}.chart-title{font-size:clamp(19px,2vw,31px);font-weight:700;line-height:1.13;margin-top:26px}.chart-title strong{color:var(--acid)}.chart{height:48%;display:flex;align-items:end;gap:8px;margin-top:15px;border-bottom:1px solid #8a83bc}.chart span{flex:1;height:var(--bar);background:var(--acid);border-radius:3px 3px 0 0;transform-origin:bottom;animation:bar-rise 2s ease both}.chart span:nth-child(even){background:#8d7eff;animation-delay:.2s}.chart-foot{display:flex;justify-content:space-between;font:8px var(--mono);margin-top:12px;color:#c2bbff}.glow-visual{background:radial-gradient(ellipse at center,#5234a2,#080611 67%);display:grid;place-items:center}.glow-screen{width:67%;height:68%;position:relative;border:5px solid rgba(255,255,255,.9);border-radius:22px;box-shadow:0 0 24px #c7b7ff,0 0 65px #864bff,inset 0 0 35px #a576ff;display:grid;place-items:center;animation:glow-breathe 5s ease-in-out infinite}.glow-ring{position:absolute;inset:23px;border:1px solid rgba(255,255,255,.25);border-radius:50%;box-shadow:0 0 30px #fff}.glow-center{color:#fff;text-align:center;font:clamp(35px,4vw,70px)/.9 var(--display);letter-spacing:-.08em}.glow-center span{display:block;color:var(--acid);font-size:30px;margin-top:12px}.glow-note{position:absolute;left:26px;bottom:22px;color:#d8cffc;font:10px var(--mono)}.tile-copy{padding:38px 40px 45px}.tile-copy h3{font:clamp(38px,4vw,64px)/.95 var(--display);letter-spacing:-.065em;margin:30px 0 20px}.tile-copy p{min-height:86px}.tile-copy .text-link{margin-top:28px}.more-projects{border-top:1px solid #555;margin-top:80px;padding-top:22px;display:flex;justify-content:space-between;gap:30px;font:10px var(--mono)}.more-projects div{display:flex;flex-wrap:wrap;gap:9px}.more-projects div span{border:1px solid #777;padding:9px 14px;border-radius:50px;font-size:11px}
.manifesto{background:var(--blue);color:#fff;padding:28px 4vw 80px;overflow:hidden}.manifesto-top{border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:19px}.manifesto-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:9vw;margin-top:95px}.manifesto-main h2{font:clamp(55px,6.6vw,120px)/1.02 var(--display);letter-spacing:-.077em;text-transform:uppercase;margin:25px 0 0}.manifesto-main h2 em{font-style:normal;color:var(--acid)}.hand-line{width:60%;margin:18px 0 0 14%;stroke:var(--orange);stroke-width:9;fill:none;stroke-linecap:round;transform:rotate(-5deg)}.manifesto-side{padding-top:12px}.asterisk-big{font:clamp(80px,10vw,180px)/.8 var(--body);color:var(--acid);animation:spin 35s linear infinite;transform-origin:45% 50%}.manifesto-side p{font-size:19px;line-height:1.53;max-width:360px}.light-link{display:flex;justify-content:space-between;max-width:300px;border-bottom:1px solid #fff;padding:13px 0;font-weight:700;margin-top:25px}.light-link span{font-size:25px}.manifesto-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.45);margin-top:100px;padding-top:32px}.manifesto-stats div{display:flex;align-items:end;gap:16px}.manifesto-stats strong{font:clamp(60px,8vw,140px)/.8 var(--display);letter-spacing:-.1em;color:var(--acid)}.manifesto-stats strong span{font-size:.55em}.manifesto-stats div>span{font:10px/1.5 var(--mono);padding-bottom:5px}
.experience{background:var(--paper)}.experience .section-head em{color:var(--blue)}.experience .section-index{color:var(--blue)}.timeline{border-top:1px solid var(--ink)}.timeline-row{display:grid;grid-template-columns:20% 1fr 30px;gap:20px;border-bottom:1px solid var(--line);padding:29px 2px 35px;transition:padding-left .3s,background .3s}.timeline-row:hover{padding-left:20px;background:rgba(68,56,232,.035)}.timeline-date{font:12px var(--mono);padding-top:8px;color:#555}.timeline-row h3{font:clamp(25px,2.4vw,41px)/1.1 var(--display);letter-spacing:-.055em;margin:0 0 9px}.timeline-row p{font-size:16px;margin:0;max-width:760px;line-height:1.45}.timeline-icon{font-size:26px;align-self:start;color:var(--blue)}.expertise{background:var(--acid);display:flex;justify-content:space-between;gap:30px;margin-top:90px;padding:48px}.expertise h3{font:clamp(30px,3vw,50px)/1.06 var(--display);letter-spacing:-.065em;margin:17px 0 0}.expertise-tags{max-width:450px;display:flex;align-content:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.expertise-tags span{border-color:var(--ink)}.education{display:flex;gap:30px;justify-content:space-between;border-bottom:1px solid var(--ink);margin-top:55px;padding-bottom:20px}.education>span{font:11px var(--mono)}.education p{font-size:15px;line-height:1.8;margin:0;min-width:40%}
.contact{background:var(--acid);padding:30px 4vw 45px;min-height:650px;display:flex;flex-direction:column}.contact-top{border-bottom:1px solid var(--ink);padding-bottom:20px}.contact-main{flex:1;position:relative;display:flex;flex-direction:column;justify-content:center;padding:70px 0}.contact-main h2{font:clamp(66px,9.6vw,176px)/.92 var(--display);letter-spacing:-.09em;text-transform:uppercase;margin:25px 0 0}.contact-main h2 em{font-style:normal;color:var(--blue)}.contact-arrow{position:absolute;right:3%;top:49%;width:100px;height:100px;display:grid;place-items:center;background:var(--ink);color:#fff;border-radius:50%;font-size:55px;transition:transform .3s,background .3s}.contact-arrow:hover{transform:rotate(45deg) scale(1.08);background:var(--blue)}.contact-bottom{display:flex;gap:45px}.contact-bottom a{border-bottom:1px solid var(--ink);padding-bottom:12px;min-width:280px;display:flex;justify-content:space-between;font-size:18px;font-weight:700}.contact-bottom a:hover{color:var(--blue);border-color:var(--blue)}.contact-bottom span{font-size:25px}
.site-footer{background:var(--ink);color:#fff;min-height:90px;padding:25px 4vw;display:flex;align-items:center;justify-content:space-between;gap:20px;font:10px var(--mono);letter-spacing:.04em}.site-footer div{display:flex;gap:26px}.site-footer a:hover{color:var(--acid)}
.js .reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.65,.2,1)}.js .reveal.is-visible{opacity:1;transform:translateY(0)}
body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after{animation-play-state:paused!important;transition-duration:0s!important;scroll-behavior:auto!important}
@keyframes live{50%{box-shadow:0 0 0 7px rgba(68,56,232,.1)}}
@keyframes spin{to{rotate:360deg}}
@keyframes word-entrance{from{opacity:0;transform:translateY(70px) rotate(5deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes sun-float{50%{transform:translate(-20px,14px) scale(1.05)}}
@keyframes orbit{to{rotate:360deg}}
@keyframes disc-float{50%{transform:translateY(-17px) rotate(-6deg)}}
@keyframes sticker-one{50%{transform:translateY(-17px) rotate(-7deg)}}
@keyframes sticker-two{50%{transform:translateY(16px) rotate(5deg)}}
@keyframes sticker-three{50%{transform:translateY(-12px) rotate(10deg)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes window-float{50%{transform:perspective(1100px) rotateY(-3deg) rotateX(2deg) rotateZ(0) translateY(-9px)}}
@keyframes road-dash{to{transform:translateY(120px) scale(1.6)}}
@keyframes discord-float{50%{transform:rotate(-4deg) translateY(-12px)}}
@keyframes bar-rise{from{transform:scaleY(.1)}to{transform:scaleY(1)}}
@keyframes glow-breathe{50%{box-shadow:0 0 43px #fff,0 0 105px #a576ff,inset 0 0 55px #fff}}
@media(max-width:1100px){.desktop-nav{gap:20px;margin-right:20px}.hero h1{font-size:clamp(64px,8.5vw,120px)}.hero-art{min-height:350px}.hero-inner{min-height:570px}.feature-project{grid-template-columns:1.1fr .9fr}.feature-info{padding:35px}.feature-info h3{margin-top:35px}.tesclip-window{left:5%;right:5%}.contact-main h2{font-size:clamp(60px,8.6vw,130px)}}
@media(max-width:800px){.site-header{min-height:70px;padding:0 5vw}.desktop-nav,.motion-toggle .motion-label{display:none}.header-contact{padding:11px 14px}.menu-toggle{display:block}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;position:absolute;top:70px;left:0;right:0;min-height:calc(100svh - 70px);background:var(--acid);padding:35px 5vw 80px;flex-direction:column;justify-content:center;gap:0}.mobile-nav a{font:clamp(40px,10vw,70px)/1.15 var(--display);letter-spacing:-.07em;border-bottom:1px solid var(--ink);display:flex;justify-content:space-between;padding:18px 0}.mobile-nav span{font:15px var(--mono)}.hero{min-height:0}.hero-meta,.hero-foot{padding-left:5vw;padding-right:5vw}.hero-inner{grid-template-columns:1fr;padding:70px 5vw 40px;min-height:0}.hero h1{font-size:clamp(59px,12vw,105px)}.hero-art{height:420px;min-height:0;max-width:580px;margin:35px auto 0}.hero-bottom{margin-top:30px}.section-pad{padding:85px 5vw}.section-head{display:block;margin-bottom:50px}.section-intro{margin-top:30px;max-width:590px}.feature-project{grid-template-columns:1fr}.feature-visual{min-height:500px}.feature-info{padding:45px}.feature-info h3{margin:30px 0 20px}.project-pair{gap:12px}.tile-visual{height:340px}.discord-window{width:80%;height:73%}.glow-screen{width:78%}.tile-copy{padding:30px}.tile-copy p{min-height:115px}.manifesto{padding-left:5vw;padding-right:5vw}.manifesto-grid{grid-template-columns:1fr;margin-top:70px;gap:30px}.manifesto-side{display:grid;grid-template-columns:150px 1fr;column-gap:20px}.manifesto-side .asterisk-big{grid-row:span 3}.manifesto-side p{max-width:none}.manifesto-stats{margin-top:70px}.contact{padding-left:5vw;padding-right:5vw;min-height:560px}.contact-main h2{font-size:clamp(65px,10vw,115px)}.contact-arrow{width:75px;height:75px;font-size:40px;right:0}.site-footer{padding-left:5vw;padding-right:5vw}.site-footer>span:nth-child(2){display:none}}
@media(max-width:600px){.brand-caption{display:none}.header-actions{gap:7px}.motion-toggle{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;padding:0}.motion-indicator{display:none}.motion-toggle::after{content:"Ⅱ";font:18px var(--body);line-height:1}.motion-toggle[aria-pressed="true"]::after{content:"▶";font-size:11px}.hero-meta{font-size:9px}.hero-meta>span:last-child{display:none}.hero-inner{padding-top:55px}.hero h1{font-size:clamp(54px,13.6vw,84px)}.hero-asterisk{right:-.3em}.hero-bottom{align-items:center}.hero-bottom p{font-size:16px}.round-link{width:50px;height:50px;flex-basis:50px;font-size:24px}.hero-art{height:350px;width:105%;margin-left:-2%}.art-disc{top:20%}.art-sticker{padding:9px 12px;font-size:9px;box-shadow:4px 4px 0 var(--ink)}.art-sticker span{margin-left:9px;font-size:15px}.art-caption{display:none}.hero-foot span:last-child{display:none}.section-head h2{font-size:clamp(45px,11vw,72px)}.feature-visual{min-height:340px}.visual-caption{left:14px;right:14px;top:14px;font-size:8px}.tesclip-window{top:16%;height:69%;left:4%;right:4%}.tesclip-screen{grid-template-columns:1fr 24%}.window-bar{font-size:7px}.window-bar>span:last-child{display:none}.tesclip-hud{bottom:10px;right:27%;width:55px;padding:4px}.tesclip-hud strong{font-size:21px}.tesclip-hud span,.tesclip-hud small{font-size:6px}.visual-stamp{width:60px;height:60px;font-size:17px;bottom:5%}.visual-stamp small{font-size:8px}.feature-info{padding:30px 25px 38px}.feature-info h3{font-size:55px}.feature-info p,.tile-copy p{font-size:16px}.project-pair{grid-template-columns:1fr}.tile-visual{height:340px}.tile-copy p{min-height:0}.more-projects{display:block;margin-top:55px}.more-projects div{margin-top:20px}.manifesto-main h2{font-size:clamp(47px,11vw,75px)}.manifesto-side{display:block}.asterisk-big{font-size:100px}.manifesto-side p{font-size:17px}.manifesto-stats{grid-template-columns:1fr;gap:25px}.manifesto-stats div{border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:18px}.manifesto-stats strong{font-size:80px;min-width:160px}.timeline-row{grid-template-columns:1fr 28px;gap:8px}.timeline-date{grid-column:1/-1;padding-top:0;margin-bottom:5px}.timeline-row h3{font-size:26px}.timeline-row p{font-size:15px}.expertise{display:block;padding:27px;margin-top:65px}.expertise-tags{justify-content:flex-start;margin-top:25px}.education{display:block}.education p{margin-top:20px}.contact{min-height:570px}.contact-main h2{font-size:clamp(53px,12.4vw,80px)}.contact-arrow{position:static;margin-top:35px;width:68px;height:68px;font-size:38px}.contact-bottom{display:block}.contact-bottom a{margin-top:18px;min-width:0;font-size:16px}.site-footer{display:block;line-height:2}.site-footer div{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body:not(.motion-opt-in) *,body:not(.motion-opt-in) *::before,body:not(.motion-opt-in) *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js body:not(.motion-opt-in) .reveal{opacity:1;transform:none}}

/* Palette nocturne : encre, ardoise et reflets acier. */
:root{--paper:#0d1016;--ink:#e9e9e3;--blue:#a9bfdc;--acid:#d5dde7;--orange:#c39b7d;--line:rgba(233,233,227,.17)}
::selection{background:#a9bfdc;color:#0d1016}
.skip-link{color:#0d1016}
.grain{opacity:.035}
.progress span{background:#9ab9d5}
.site-header{background:rgba(13,16,22,.95);backdrop-filter:blur(16px)}
.brand-dot,.desktop-nav a span{color:#a9bfdc}
.header-contact{background:#d5dde7;color:#101620}
.header-contact:hover{background:#b7cde4;color:#101620}
.motion-indicator{box-shadow:0 0 0 4px rgba(169,191,220,.15)}
.hero{background:radial-gradient(circle at 82% 49%,rgba(56,79,107,.20),transparent 36%),#0d1016}
.hero-grid{background:linear-gradient(90deg,transparent calc(25% - 1px),rgba(233,233,227,.04) 25%,transparent calc(25% + 1px),transparent calc(50% - 1px),rgba(233,233,227,.04) 50%,transparent calc(50% + 1px),transparent calc(75% - 1px),rgba(233,233,227,.04) 75%,transparent calc(75% + 1px))}
.hero-meta{color:#aab4c0}
.hero-meta>span:first-child{color:#e9e9e3}
.live-dot{background:#93c9b0}
.hero-word-wrap{color:#a9bfdc}
.hero-asterisk,.period{color:#c39b7d;stroke:#c39b7d}
.hero-bottom p{color:#cbd1d5}
.round-link:hover{color:#0d1016}
.hero-contact-link{display:inline-flex;align-items:center;gap:50px;border-bottom:1px solid #b7c9dc;color:#dce8f5;font-size:14px;font-weight:700;margin-top:32px;padding-bottom:8px;transition:gap .25s,color .25s}
.hero-contact-link:hover{gap:60px;color:#fff}
.hero-contact-link span{font-size:24px;line-height:1}
.art-sun{background:radial-gradient(circle at 40% 35%,#354860,#172331 70%);box-shadow:0 0 90px rgba(114,149,186,.14)}
.art-orbit{border-color:rgba(169,191,220,.34)}
.art-disc{background:linear-gradient(145deg,#607d9f,#334a65 70%);box-shadow:25px 30px 0 rgba(0,0,0,.24);color:#f8fafb}
.art-sticker{background:#202b38;border-color:#90a6bd;box-shadow:7px 7px 0 #080b0f;color:#f1f3f2}
.art-sticker-two{background:#a68269;color:#0d1016;border-color:#d4b49d}
.art-sticker-three{background:#d5dde7;color:#101620;border-color:#e9edf3}
.art-cross{color:#8da8c8}
.art-caption{color:#aab4c0}
.marquee{background:#202c3a;border-color:#71869b;color:#dce7f0}
.marquee b{color:#a5826b}
.projects{background:#10141b;color:#e9e9e3}
.section-head em{color:#a9bfdc}
.section-index,.project-kicker span:first-child,.title-star{color:#c39b7d}
.section-intro{color:#c3cad0}
.feature-project,.project-tile{background:#1a2029;border-color:#303b48}
.tesclip-visual{display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#263a50,#111925 72%);padding:72px 5% 60px}
.tesclip-media{display:block;width:100%;max-width:830px;transform:perspective(1100px) rotateY(-4deg) rotateX(3deg) rotateZ(-1deg);filter:drop-shadow(0 32px 40px rgba(0,0,0,.50));animation:tesclip-hover 8s ease-in-out infinite}
.tesclip-media img{display:block;width:100%;height:auto;border:1px solid rgba(176,199,223,.4);border-radius:9px;background:#131923}
.visual-caption{color:#c7d8e7}
.visual-stamp{background:#d5dde7;color:#122030;box-shadow:0 12px 30px rgba(0,0,0,.24)}
.former-name{color:#a7b4c0}
.discord-visual{background:radial-gradient(circle at 45% 45%,#526681,#263342 75%)}
.discord-window{background:#1b2534;border-color:#7f96ad;box-shadow:24px 23px 0 #17202c}
.discord-title,.chart-foot{color:#becfe0}
.discord-title span,.chart-title strong{color:#d8b79c}
.chart span{background:#9fb9d2}
.chart span:nth-child(even){background:#6e8caa}
.glow-visual{background:radial-gradient(ellipse at 50% 45%,#37445d,#11151f 74%)}
.macbook{width:min(82%,480px);height:258px;position:relative;transform:perspective(900px) rotateY(-8deg) rotateX(4deg) rotateZ(-2deg);animation:mac-hover 7s ease-in-out infinite}
.macbook-lid{width:85%;height:88%;margin:auto;padding:8px;border-radius:14px 14px 5px 5px;background:linear-gradient(130deg,#8593a5,#272d39 37%,#606b7b 85%);box-shadow:0 22px 45px rgba(0,0,0,.52);position:relative}
.macbook-display{width:100%;height:100%;border-radius:7px 7px 1px 1px;overflow:hidden;position:relative;background:#121a27;box-shadow:inset 0 0 0 5px rgba(207,227,252,.94),inset 0 0 18px 7px rgba(177,208,244,.98),0 0 16px #aac9ed,0 0 47px rgba(153,193,239,.78),0 0 94px rgba(119,157,212,.45)}
.macbook-camera{position:absolute;top:3px;left:50%;width:4px;height:4px;border-radius:50%;background:#1b2737;z-index:2}
.macbook-window{position:absolute;inset:16px;background:radial-gradient(circle at 50% 20%,#516a82,#293745 65%,#17232f);overflow:hidden;border-radius:3px}
.macbook-window::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49%,rgba(255,255,255,.08) 50%,transparent 51%);opacity:.6}
.macbook-person{position:absolute;left:50%;bottom:-13%;transform:translateX(-50%);width:47%;height:80%}
.person-head{display:block;position:absolute;left:32%;top:9%;width:36%;height:40%;border-radius:48% 48% 42% 42%;background:linear-gradient(125deg,#c58e76,#b57760);box-shadow:0 -14px 0 -5px #171820}
.person-body{display:block;position:absolute;bottom:0;width:100%;height:55%;border-radius:48% 48% 0 0;background:linear-gradient(125deg,#192431,#0b121b)}
.macbook-call-label{position:absolute;top:10px;left:12px;color:#d4e2ed;font:8px var(--mono);letter-spacing:.08em}
.macbook-call-controls{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:7px;padding:5px 8px;border-radius:20px;background:rgba(8,13,22,.75)}
.macbook-call-controls i{display:block;width:10px;height:10px;border-radius:50%;background:#b4c7d9}
.macbook-call-controls i:last-child{background:#d46c68}
.macbook-base{height:11px;width:100%;margin-top:-1px;border-radius:2px 2px 55% 55%;background:linear-gradient(#a9b4c2,#5f6975 48%,#262b35);box-shadow:0 14px 22px rgba(0,0,0,.45);position:relative}
.macbook-base span{position:absolute;left:42%;top:0;width:16%;height:3px;border-radius:0 0 5px 5px;background:#67717c}
.glow-note{color:#c8d9eb}
.manifesto{background:#202b39;color:#f0f1ed}
.manifesto-main h2 em,.asterisk-big,.manifesto-stats strong{color:#aac4dc}
.hand-line{stroke:#bd987f}
.experience{background:#0d1016}
.experience .section-head em,.experience .section-index,.timeline-icon{color:#a9bfdc}
.timeline-date{color:#aeb9c3}
.timeline-row:hover{background:rgba(169,191,220,.06)}
.expertise{background:#1d2c3b;color:#e9e9e3;border:1px solid #425367}
.expertise-tags span{border-color:#8fa6bc}
.contact{background:#1b2938;color:#edf0ed}
.contact-top,.contact-bottom a{border-color:#8394a5}
.contact-main h2 em{color:#b0c9e2}
.contact-description{font-size:18px;line-height:1.5;color:#c5d1dd;margin:28px 0 0;max-width:580px}
.contact-arrow{background:#d5dde7;color:#152132}
.contact-arrow:hover{background:#b0c9e2;color:#152132}
.contact-bottom a:hover{color:#b0c9e2;border-color:#b0c9e2}
.site-footer{background:#090c11;color:#cbd1d7}
.site-footer a:hover{color:#b0c9e2}
.mobile-nav:not([hidden]){background:#17212c}
.mobile-nav a{border-color:rgba(233,233,227,.25)}
@keyframes tesclip-hover{50%{transform:perspective(1100px) rotateY(-1deg) rotateX(1deg) rotateZ(0) translateY(-8px)}}
@keyframes mac-hover{50%{transform:perspective(900px) rotateY(-4deg) rotateX(2deg) rotateZ(0) translateY(-9px)}}
@media(max-width:1100px){.tesclip-visual{padding:70px 4% 50px}}
@media(max-width:800px){.tesclip-visual{min-height:500px}.macbook{width:90%;height:210px}.glow-note{font-size:8px}}
@media(max-width:600px){.site-header .header-contact{font-size:0;padding:10px 13px}.site-header .header-contact span{font-size:19px;margin:0}.hero-contact-link{margin-top:26px}.hero-meta{font-size:8px}.hero-art{margin-top:20px}.tesclip-visual{min-height:325px;padding:58px 4% 34px}.tesclip-media{transform:none;animation:none}.visual-stamp{right:3%;bottom:5%}.glow-visual{height:330px}.macbook{height:200px;width:86%}.macbook-lid{height:84%}.contact-main h2{font-size:clamp(49px,10vw,76px)}.contact-description{font-size:16px}}

/* Mission claire pour les recruteurs et preuves lisibles dès l'accueil. */
.desktop-nav{gap:2vw;margin-right:2vw}
.motion-toggle{color:#c2cbd3}
.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0 4vw;align-items:stretch}
.hero-proof span{display:flex;align-items:center;gap:12px;padding:14px 22px;border-right:1px solid var(--line);line-height:1.3;color:#b6c3ce}
.hero-proof span:first-child{padding-left:0}
.hero-proof span:last-child{border-right:0}
.hero-proof strong{font:clamp(20px,2.1vw,33px)/1 var(--display);letter-spacing:-.07em;color:#d6e3f1}
.services{position:relative;overflow:hidden;background:#0c121b;color:#edf0ed;border-top:1px solid #324357}
.services::before{content:"";position:absolute;width:900px;height:900px;right:-330px;top:-380px;background:radial-gradient(circle,rgba(72,111,152,.18),transparent 68%);pointer-events:none}
.services-heading,.services-grid,.services-cta{position:relative;z-index:1}
.services-heading-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:5vw;align-items:end;margin-top:20px}
.services-heading h2{margin:0;font:clamp(46px,5.5vw,94px)/1.03 var(--display);letter-spacing:-.075em;text-transform:uppercase}
.services-heading h2 em{font-style:normal;color:#a9bfdc}
.services-heading-grid>p{font-size:clamp(17px,1.45vw,21px);line-height:1.55;color:#c9d4de;max-width:380px;margin:0 0 8px}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:68px}
.service-card{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:480px;padding:30px;background:linear-gradient(155deg,#1b2b3a,#17212c 55%,#131a24);border:1px solid #43576c;overflow:hidden;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.service-card::before{position:absolute;right:-11px;bottom:-58px;font:190px/.8 var(--display);letter-spacing:-.12em;color:#d9e9f5;opacity:.045;z-index:-1}
.service-card:nth-child(1)::before{content:"01"}.service-card:nth-child(2)::before{content:"02"}.service-card:nth-child(3)::before{content:"03"}
.service-card:hover{transform:translateY(-9px);border-color:#a1bad2;box-shadow:0 26px 60px rgba(0,0,0,.25)}
.service-card-top{display:flex;align-items:start;justify-content:space-between;color:#bdcbd9;font:11px var(--mono);letter-spacing:.05em}
.service-card-top span:last-child{font:35px/1 var(--body);color:#a9bfdc;transition:transform .35s ease}
.service-card:hover .service-card-top span:last-child{transform:translate(4px,-4px)}
.service-card h3{font:clamp(31px,3vw,50px)/1.02 var(--display);letter-spacing:-.07em;margin:72px 0 24px}
.service-card p{font-size:17px;line-height:1.55;color:#d0dbe3;max-width:410px;margin:0 0 38px}
.service-card-bottom{margin-top:auto;border-top:1px solid rgba(205,225,239,.25);padding-top:18px;font:10px/1.6 var(--mono);letter-spacing:.03em;color:#afc3d7}
.services-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:46px;padding-top:28px;border-top:1px solid #496077}
.services-cta>span{font:11px/1.5 var(--mono);letter-spacing:.05em;color:#b5c4d1}
.services-cta a{display:flex;align-items:center;justify-content:space-between;gap:30px;min-width:min(100%,410px);padding-bottom:11px;border-bottom:1px solid #adcadf;font-size:18px;font-weight:700;color:#e3edf6;transition:gap .25s,color .25s}
.services-cta a:hover{color:#fff;gap:42px}
.services-cta a span{font-size:26px;line-height:1}
.timeline-detail{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.timeline-detail span{border:1px solid #657b90;border-radius:100px;padding:6px 10px;font:9px var(--mono);letter-spacing:.04em;color:#b9cddd}
@media(max-width:1050px){.desktop-nav{gap:14px;margin-right:16px}.desktop-nav a{font-size:12px}.header-actions{gap:11px}.motion-toggle{font-size:9px}.header-contact{padding:12px 14px}.header-contact span{margin-left:7px}.services-grid{gap:10px}.service-card{padding:23px;min-height:500px}.service-card h3{font-size:clamp(29px,3.2vw,42px)}}
@media(max-width:800px){.services-heading-grid{grid-template-columns:1fr;gap:25px}.services-heading-grid>p{max-width:650px}.services-grid{grid-template-columns:1fr;gap:12px;margin-top:48px}.service-card{min-height:0;padding:28px}.service-card h3{font-size:clamp(35px,6vw,55px);margin:45px 0 20px}.service-card p{max-width:650px;margin-bottom:38px}.services-cta{align-items:start;flex-direction:column}.hero-proof{padding-left:5vw;padding-right:5vw}.hero-proof span{padding-left:14px;padding-right:14px}}
@media(max-width:600px){.hero-proof{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-proof span{display:flex;flex-direction:column;align-items:start;gap:4px;padding:13px 10px;font-size:8px}.hero-proof span:nth-child(2){border-right:0}.hero-proof span:last-child{display:none}.hero-proof strong{font-size:24px}.services-heading h2{font-size:clamp(39px,9.5vw,56px)}.services-heading-grid>p{font-size:16px}.service-card{padding:24px}.service-card h3{font-size:39px}.service-card p{font-size:16px}.services-cta a{min-width:0;width:100%;font-size:16px}.timeline-detail span{font-size:8px}}
@media(max-width:600px){.service-card h3{font-size:clamp(28px,9vw,39px)}}
