:root{--violet:#6000ff;--gradv:linear-gradient(135deg, purple, var(--violet))}html{scroll-snap-type:y mandatory;scroll-behavior:smooth;height:100%;overflow-y:scroll}body{height:100%;margin:0}body body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}body code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--red:#fb2c36}html,body,#root{min-height:100vh;font-family:Archivo,sans-serif}#root{flex-direction:column;display:flex}#root>*{flex-direction:column;flex:1;display:flex}#root>*>:not(header):not(footer){flex:1}html{scroll-behavior:smooth}a{color:inherit;text-decoration:none}input,textarea,button{font-family:inherit}button{cursor:pointer}.Header{z-index:100;justify-content:center;width:100%;padding:24px 0;display:flex;position:fixed;top:0}.Header .Nav{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#111111a0;border-radius:999px;align-items:center;gap:32px;padding:12px 24px;display:flex}.Header .Nav .logo{background:var(--gradv);-webkit-text-fill-color:transparent;cursor:pointer;-webkit-background-clip:text;background-clip:text;font-size:1rem;font-weight:700}.Header .Nav .Links{gap:24px;margin:0;padding:0;list-style:none;display:flex}.Header .Nav .Links a{color:#fff;font-size:.95rem;text-decoration:none}.Header .Nav .Links a:hover{background:var(--gradv);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.Header .Nav .contact{color:#111;white-space:nowrap;background-color:#e5e5e5;border-radius:999px;align-items:center;gap:6px;padding:8px 20px;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.Header .Nav .contact:hover{background:var(--gradv);color:#fff;transform:translateY(-1px);box-shadow:0 12px 40px #ff3ea54d}.Footer{text-align:center;background-color:#0a0a0a}.Footer p{color:#fff;margin:30px;font-size:14px}.Project{cursor:pointer;border-radius:24px;width:100%;height:100%;text-decoration:none;transition:all .5s cubic-bezier(.4,0,.2,1);display:block;position:absolute;top:0;left:0;overflow:hidden}.Project img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.Project .overlay{background:linear-gradient(#0006 0%,#0000 40% 50%,#000000bf 100%);flex-direction:column;justify-content:space-between;padding:24px;transition:opacity .4s;display:flex;position:absolute;inset:0}.Project .overlay h3{color:#fff;align-self:flex-start;margin:0;font-size:1.1rem;font-weight:700}.Project .overlay .bottom{flex-direction:column;gap:10px;display:flex}.Project .overlay p{color:#fffc;margin:0;font-size:.85rem;line-height:1.5}.Project .overlay .tags{flex-wrap:wrap;gap:8px;display:flex}.Project .overlay .tags span{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;background:#ffffff26;border-radius:999px;padding:3px 10px;font-size:.75rem}.Project:not(.front) .overlay{opacity:0}.Project.prev{z-index:2;background:#2d2d2d;transform:translate(-180px,-80px)scale(.93)}.Project.front{z-index:3;background:#1a1a1a;transform:translate(0)scale(1);box-shadow:0 30px 80px #0009}.Project.next{z-index:2;background:#2d2d2d;transform:translate(180px,80px)scale(.93)}.Project.hidden{opacity:0;pointer-events:none;z-index:0}.Skills{scroll-snap-align:start;flex-direction:column;justify-content:center;min-height:100vh;padding:0 8vw;display:flex}.Skills h2{background:linear-gradient(165deg, white 25%, var(--violet));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;width:fit-content;margin:0 0 64px;font-size:clamp(2rem,4vw,3rem);font-weight:800}.Skills .grid{justify-content:space-evenly;display:flex}.Skills .flip{perspective:1000px;aspect-ratio:1/.8;flex-shrink:0;width:20%;min-width:340px}.Skills .flip:hover .inner{transform:rotateY(180deg)}.Skills .flip .inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.Skills .flip .face{backface-visibility:hidden;border-radius:16px;flex-direction:column;padding:32px 28px;display:flex;position:absolute;inset:0}.Skills .flip .front{background:#161616;border:1px solid #2e2e2e;justify-content:center;gap:10px}.Skills .flip .front .label{color:var(--violet);letter-spacing:3px;text-transform:uppercase;font-size:.65rem;font-weight:700}.Skills .flip .front h3{color:#fff;margin:0;font-size:1.8rem;font-weight:800;line-height:1.2}.Skills .flip .front p{color:#666;margin:0;font-size:.9rem;line-height:1.65}.Skills .flip .back{background:#161616;border:1px solid #2e2e2e;justify-content:center;gap:20px;transform:rotateY(180deg)}.Skills .flip .back:before{content:"";pointer-events:none;background:radial-gradient(80% 60% at 50% 0,#6000ff1f 0%,#0000 70%);border-radius:16px;position:absolute;inset:0}.Skills .flip .back .label{color:var(--violet);letter-spacing:3px;text-transform:uppercase;font-size:.65rem;font-weight:700}.Skills .flip .back .tags{flex-wrap:wrap;gap:8px;display:flex}.Skills .flip .back .tags .tag{color:#aaa;background:0 0;border:1px solid #2a2a2a;border-radius:999px;padding:6px 14px;font-size:.85rem}.Contact{scroll-snap-align:start;background:radial-gradient(60% 50% at 30%,#6000ff1a 0%,#0000 70%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:0 8vw;display:flex}.Contact h2{background:linear-gradient(165deg, white 25%, var(--violet));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;width:100%;margin:0 0 48px;font-size:clamp(2rem,4vw,3rem);font-weight:800}.Contact .card{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f0f0f80;border-radius:24px;gap:48px;width:100%;max-width:1000px;padding:56px 64px;display:flex}.Contact .info{flex-direction:column;flex:1;gap:20px;display:flex}.Contact .info .sub{background:var(--gradv);-webkit-text-fill-color:transparent;letter-spacing:3px;text-transform:uppercase;-webkit-background-clip:text;background-clip:text;width:fit-content;margin:0;font-size:.75rem;font-weight:700}.Contact .info h3{color:#fff;margin:0;font-size:clamp(1.6rem,2.5vw,2.2rem);font-weight:800;line-height:1.2}.Contact .info h3 em{background:linear-gradient(165deg, #fff 25%, var(--violet));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:italic}.Contact .info .desc{color:#777;margin:0;font-size:.95rem;line-height:1.7}.Contact .info .infos{flex-direction:column;gap:12px;margin-top:auto;display:flex}.Contact .info .infos .info-item{border:1px solid #2a2a2a;border-radius:14px;align-items:center;gap:16px;padding:16px 20px;transition:all .6s;display:flex}.Contact .info .infos .info-item svg{color:var(--violet);flex-shrink:0}.Contact .info .infos .info-item div{flex-direction:column;gap:2px;display:flex}.Contact .info .infos .info-item .info-label{color:#555;font-size:.75rem}.Contact .info .infos .info-item .info-value{color:#fff;font-size:.95rem;font-weight:600}.Contact .info .infos .info-item:hover{border-color:var(--violet);box-shadow:0 0 0 3px #6000ff1a}.Contact form{flex-direction:column;flex:1.3;gap:16px;display:flex}.Contact form .row{gap:16px;display:flex}.Contact form .row .field{flex:1}.Contact form .field{flex-direction:column;gap:8px;display:flex}.Contact form .field label{color:#888;font-size:.85rem;font-weight:500}.Contact form .field input,.Contact form .field textarea{color:#fff;resize:none;background:#111;border:1px solid #2a2a2a;border-radius:12px;outline:none;padding:14px 18px;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.Contact form .field input::placeholder,.Contact form .field textarea::placeholder{color:#444}.Contact form .field input:focus,.Contact form .field textarea:focus{border-color:var(--violet);box-shadow:0 0 0 3px #6000ff1a}.Contact form button{background:var(--gradv);color:#fff;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:8px;padding:16px 32px;font-size:1rem;font-weight:700;transition:all .2s;display:flex}.Contact form button:hover{transform:translateY(-2px);box-shadow:0 12px 40px #6000ff66}.Contact form button.sent{color:var(--violet);border:1px solid var(--violet);cursor:default;background:#1a1a1a}.Contact form button.sent:hover{box-shadow:none;transform:none}.Home{background-color:#0a0a0a}.Home .Page{flex-direction:column;display:flex}.Home .Page:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:60px 60px;position:fixed;inset:0}.Home .Page h2{background:linear-gradient(165deg, #000 20%, purple 40%, var(--violet) 60%, black 80%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;width:fit-content;font-size:clamp(2rem,4vw,3rem);font-weight:800}.Home .Page .Part{scroll-snap-align:start}.Home .Page .Start{background:radial-gradient(60% 50% at 70%,#a855f726 0%,#0000 70%),linear-gradient(#0a0a0a 0%,#0f0f0f 100%);align-items:center;min-height:100vh;padding:0 8vw;display:flex;position:relative;overflow:hidden}.Home .Page .Start:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0}.Home .Page .Start .content{z-index:1;position:relative}.Home .Page .Start h1{color:#fff;margin:0 0 42px;font-size:clamp(80px,7vw,145px);font-weight:700;line-height:1.1}.Home .Page .Start h1 em{background:linear-gradient(165deg, #fff 25%, var(--violet));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:800}.Home .Page .Start p{color:#aaa;max-width:500px;margin:0 0 40px;font-size:1rem;line-height:1.7}.Home .Page .Start .Link{align-items:center;gap:16px;display:flex}.Home .Page .Start .Link a{border-radius:999px;align-items:center;gap:8px;padding:12px 24px;font-size:1rem;font-weight:500;text-decoration:none;display:flex}.Home .Page .Start .Link .B1{color:#000;background-color:#fff;font-weight:600;transition:all .2s}.Home .Page .Start .Link .B1:hover{background:var(--gradv);color:#fff;transform:translateY(-2px);box-shadow:0 12px 40px #ff3ea54d}.Home .Page .Start .Link .B2{color:#fff;background:#111;border:1.5px solid #333;transition:all .2s}.Home .Page .Start .Link .B2:hover{background:var(--gradv);color:#fff;transform:translateY(-2px);box-shadow:0 12px 40px #ff3ea54d}.Home .Page .Projects{background:radial-gradient(80% 80%,#a855f726 0%,#0000 80%);flex-direction:column;justify-content:center;min-height:100vh;padding:0 8vw;display:flex;overflow:hidden}.Home .Page .Projects h2{margin:0 0 128px}.Home .Page .Projects .carousel{flex-direction:column;align-items:center;gap:60px;display:flex}.Home .Page .Projects .stack{aspect-ratio:16/9;width:80%;position:relative}.Home .Page .Projects .controls{align-items:center;gap:24px;margin:32px;display:flex}.Home .Page .Projects .controls button{color:#fff;cursor:pointer;background:#1e1e1e;border:1px solid #333;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex}.Home .Page .Projects .controls button:hover{background:var(--gradv)}.Home .Page .Projects .controls span{color:#666;font-size:1.1rem}
