*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#060606;--bg-2:#0e0e0e;--lime:#b4ff00;--lime-dim:#8acc00;--red:#ff3c00;--white:#f0ede4;--gray:#888880;--gray-dim:#333330;--font-display:"Bebas Neue", sans-serif;--font-condensed:"Barlow Condensed", sans-serif;--font-mono:"Space Mono", monospace}html{scroll-behavior:auto;color:var(--white);background:0 0;max-width:100vw;overflow-x:hidden}body{font-family:var(--font-mono);color:var(--white);cursor:none;background:0 0;max-width:100vw;overflow-x:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--lime)}.cursor{background:var(--lime);pointer-events:none;z-index:9999;mix-blend-mode:difference;border-radius:50%;width:12px;height:12px;transition:width .2s,height .2s,background .2s;position:fixed;transform:translate(-50%,-50%)}.cursor-follower{border:1px solid var(--lime);pointer-events:none;z-index:9998;mix-blend-mode:difference;border-radius:50%;width:36px;height:36px;transition:transform .12s ease-out,width .3s,height .3s,border-color .3s;position:fixed;transform:translate(-50%,-50%)}.cursor.cursor--hover{background:var(--red);width:24px;height:24px}.cursor-follower.cursor--hover{border-color:var(--red);width:60px;height:60px}.navbar{z-index:100;mix-blend-mode:difference;justify-content:space-between;align-items:center;width:100%;max-width:100vw;padding:1.5rem 3rem;display:flex;position:fixed;top:0;left:0;right:0}.navbar__logo{min-width:0;font-family:var(--font-display);letter-spacing:.1em;color:var(--white);font-size:1.8rem;text-decoration:none}.navbar__logo span{color:var(--lime)}.navbar__links{gap:2.5rem;list-style:none;display:flex}.navbar__links a{font-family:var(--font-mono);color:var(--white);letter-spacing:.15em;text-transform:uppercase;font-size:.75rem;text-decoration:none;transition:color .2s;position:relative}.navbar__links a:after{content:"";background:var(--lime);width:0;height:1px;transition:width .3s;position:absolute;bottom:-3px;left:0}.navbar__links a:hover:after{width:100%}.navbar__lang{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:.4rem;margin-left:auto;margin-right:1.5rem;font-size:.7rem;display:flex}.navbar__lang-btn{color:#f0ede480;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:none;padding:.25rem .35rem;transition:color .2s}.navbar__lang-btn:hover{color:var(--white)}.navbar__lang-btn--active{color:var(--lime)}.navbar__lang-sep{color:#f0ede44d}.navbar__toggle{cursor:pointer;z-index:200;background:0 0;border:none;flex-shrink:0;width:32px;height:24px;padding:0;display:none;position:relative}.navbar__toggle span{background:var(--white);border-radius:2px;width:100%;height:3px;transition:transform .3s,top .3s,bottom .3s,opacity .3s;display:block;position:absolute;left:0;box-shadow:0 0 6px #0009}.navbar__toggle span:first-child{top:0}.navbar__toggle span:nth-child(2){top:50%;transform:translateY(-50%)}.navbar__toggle span:nth-child(3){bottom:0}.navbar--open .navbar__toggle span:first-child{top:50%;transform:translateY(-50%)rotate(45deg)}.navbar--open .navbar__toggle span:nth-child(2){opacity:0}.navbar--open .navbar__toggle span:nth-child(3){top:50%;bottom:auto;transform:translateY(-50%)rotate(-45deg)}.hero{flex-direction:column;justify-content:flex-end;min-height:100vh;padding:4rem 3rem;display:flex;position:relative;overflow:hidden}.hero__bg-grid{z-index:0;background-image:linear-gradient(#b4ff000a 1px,#0000 1px),linear-gradient(90deg,#b4ff000a 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0}.hero__noise{opacity:.03;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:absolute;inset:0}.hero__number{font-family:var(--font-display);color:#b4ff000a;z-index:0;-webkit-user-select:none;user-select:none;pointer-events:none;white-space:nowrap;font-size:clamp(20rem,40vw,60rem);line-height:1;position:absolute;top:50%;right:-.05em;transform:translateY(-50%)}.hero__content{z-index:1;max-width:1400px;position:relative}.hero__tag{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--lime);align-items:center;gap:1rem;margin-bottom:1rem;font-size:.7rem;display:flex}.hero__tag:before{content:"";background:var(--lime);width:40px;height:1px}.hero__title{font-family:var(--font-display);letter-spacing:-.02em;text-transform:uppercase;color:var(--white);font-size:clamp(5rem,14vw,18rem);line-height:.88;overflow:hidden}.hero__title-line{display:block;overflow:hidden}.hero__title-inner{display:block;transform:translateY(110%)}.hero__title .accent{color:var(--lime)}.hero__title-row{justify-content:space-between;align-items:flex-end;gap:3rem;display:flex}.hero__title-row .hero__title{flex:auto;min-width:0}.hero__quote{-webkit-backdrop-filter:blur(6px);background:#0e0e0e8c;border:1px solid #b4ff002e;flex-direction:column;flex:0 0 clamp(220px,24vw,340px);gap:.75rem;max-width:340px;margin-bottom:.6em;padding:1.25rem 1.25rem 1.25rem 1.5rem;display:flex;position:relative}.hero__quote:before{content:"";background:var(--lime);width:3px;position:absolute;top:-1px;bottom:-1px;left:-1px}.hero__quote-eyebrow{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--lime);font-size:.6rem}.hero__quote-body{font-family:var(--font-condensed);color:var(--white);letter-spacing:.02em;margin:0;padding:0;font-size:clamp(.9rem,1.05vw,1.05rem);font-style:italic;font-weight:300;line-height:1.5}.hero__quote-body p{margin:0}.hero__bottom{justify-content:space-between;align-items:flex-end;gap:2rem;margin-top:3rem;display:flex}.hero__subtitle{font-family:var(--font-condensed);color:var(--white);letter-spacing:.05em;opacity:1;max-width:400px;font-size:clamp(1rem,2vw,1.4rem);font-weight:300;line-height:1.6}.hero__scroll-indicator{opacity:0;flex-direction:column;align-items:center;gap:.5rem;display:flex}.hero__scroll-indicator span{letter-spacing:.3em;text-transform:uppercase;color:var(--gray);writing-mode:vertical-rl;font-size:.6rem}.hero__scroll-line{background:linear-gradient(to bottom, var(--lime), transparent);width:1px;height:80px;animation:2s ease-in-out infinite scrollLine}@keyframes scrollLine{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.3;transform:scaleY(.3)}}.marquee-section{border-top:1px solid var(--gray-dim);border-bottom:1px solid var(--gray-dim);background:#0e0e0ed1;padding:1rem 0;position:relative;overflow:hidden}.marquee-track{white-space:nowrap;gap:0;animation:20s linear infinite marqueeScroll;display:flex}.marquee-track:hover{animation-play-state:paused}.marquee-item{font-family:var(--font-display);letter-spacing:.1em;color:var(--gray);flex-shrink:0;align-items:center;gap:2rem;padding:0 2rem;font-size:1.2rem;display:flex}.marquee-item span{color:var(--lime);font-size:.8rem}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.about{padding:12rem 3rem;position:relative;overflow:hidden}.about__inner{grid-template-columns:1fr 1fr;align-items:center;gap:8rem;max-width:1400px;margin:0 auto;display:grid}.about__label{font-family:var(--font-mono);letter-spacing:.35em;text-transform:uppercase;color:var(--lime);align-items:center;gap:1rem;margin-bottom:2rem;font-size:.65rem;display:flex}.about__label:before{content:"//";color:var(--gray-dim)}.about__heading{font-family:var(--font-display);letter-spacing:-.02em;text-transform:uppercase;color:var(--white);margin-bottom:3rem;font-size:clamp(3.5rem,6vw,7rem);line-height:.9}.about__heading em{color:var(--lime);-webkit-text-stroke:0px;font-style:normal}.about__text{font-family:var(--font-condensed);color:var(--white);letter-spacing:.03em;word-spacing:normal;margin-bottom:2rem;font-size:1.15rem;font-weight:300;line-height:1.8}.about__word{opacity:0;margin-right:.28em;display:inline-block;transform:translateY(20px)}.about__stats{grid-template-columns:repeat(2,1fr);gap:2rem;display:grid}.about__stat{border:1px solid var(--gray-dim);padding:2rem;transition:border-color .3s;position:relative;overflow:hidden}.about__stat:before{content:"";background:var(--lime);transform-origin:bottom;z-index:0;transition:transform .4s;position:absolute;inset:0;transform:scaleY(0)}.about__stat:hover:before{transform:scaleY(1)}.about__stat:hover .about__stat-num,.about__stat:hover .about__stat-label{color:var(--bg)}.about__stat-num{font-family:var(--font-display);color:var(--white);z-index:1;font-size:3.5rem;transition:color .4s;display:block;position:relative}.about__stat-label{letter-spacing:.2em;text-transform:uppercase;color:var(--gray);z-index:1;margin-top:.5rem;font-size:.65rem;transition:color .4s;display:block;position:relative}.projects{padding:6rem 0;position:relative}.projects__header{justify-content:space-between;align-items:flex-end;max-width:1400px;margin:0 auto 5rem;padding:0 3rem;display:flex}.projects__heading{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(4rem,9vw,10rem);line-height:.9}.projects__count{font-family:var(--font-mono);color:var(--gray);letter-spacing:.2em;font-size:.7rem}.projects__count span{color:var(--lime)}.projects__grid{grid-template-columns:repeat(2,1fr);gap:2px;max-width:1400px;margin:0 auto;padding:0 3rem;display:grid}.project-card{aspect-ratio:4/3;cursor:none;perspective:1400px;isolation:isolate;background:0 0;position:relative}.project-card:nth-child(odd){margin-top:4rem}.project-card__inner{z-index:1;transform-style:preserve-3d;will-change:transform;transition:transform .85s cubic-bezier(.65,0,.35,1);position:absolute;inset:0}.project-card.project-card--flipped .project-card__inner{transform:rotateY(180deg)}.project-card__face{backface-visibility:hidden;position:absolute;inset:0;overflow:hidden}.project-card__face--front{transform:rotateY(0)translateZ(0)}.project-card__face--back{background:linear-gradient(160deg,#060606f2 0%,#0f0f0ffa 100%);border:1px solid #b4ff0040;grid-template-rows:auto auto minmax(0,1fr) auto;padding:2rem;display:grid;transform:rotateY(180deg)translateZ(0)}.project-card__critic{z-index:2;border:1px solid #b4ff0047;border-left:2px solid var(--lime);pointer-events:none;background:#b4ff000f;flex-direction:column;gap:.35rem;width:clamp(160px,38%,240px);padding:.6rem .75rem .65rem .85rem;display:flex;position:absolute;top:1.25rem;right:1.25rem}.project-card__critic-label{font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--lime);font-size:.55rem}.project-card__critic-quote{font-family:var(--font-condensed);color:#ffffffeb;letter-spacing:.01em;margin:0;padding:0;font-size:clamp(.72rem,.85vw,.85rem);font-style:italic;font-weight:300;line-height:1.4}.project-card--has-critic .project-card__face--back .project-card__num,.project-card--has-critic .project-card__face--back .project-card__back-title{padding-right:clamp(170px,42%,250px)}.project-card__back-title{font-family:var(--font-display);color:var(--white);text-transform:uppercase;letter-spacing:-.01em;margin:.75rem 0 1rem;font-size:clamp(1.4rem,2.2vw,2rem);line-height:.95}.project-card__desc-wrap{grid-template-columns:1fr 10px;align-items:stretch;gap:.5rem;min-height:0;display:grid;position:relative}.project-card__desc{font-family:var(--font-body,inherit);color:#ffffffd1;overscroll-behavior:contain;scrollbar-width:none;height:100%;min-height:0;margin:0;font-size:clamp(.85rem,1vw,.95rem);line-height:1.55;overflow-y:auto}.project-card__desc::-webkit-scrollbar{width:0;height:0;display:none}.project-card__scrollbar{opacity:0;cursor:pointer;background:#ffffff1f;border-radius:5px;width:10px;height:100%;transition:opacity .2s;position:relative}.project-card__desc-wrap.has-overflow .project-card__scrollbar{opacity:1}.project-card__scrollbar-thumb{cursor:grab;will-change:transform, height;background:#b4ff00bf;border-radius:5px;width:100%;min-height:30px;transition:background .15s;position:absolute;top:0;left:0}.project-card__scrollbar-thumb:hover{background:#b4ff00e6}.project-card__scrollbar-thumb.is-dragging{cursor:grabbing;background:#b4ff00}.project-card__back-meta{align-items:center;gap:1rem;margin-top:1.25rem;display:flex}.project-card__back-meta .project-card__tags{flex-wrap:wrap;gap:.5rem;display:flex}.project-card__back-meta .project-card__arrow{margin-left:auto}.project-card__preview{z-index:99;background:#0d0d0d;border-radius:3px;width:72%;height:0;padding-bottom:40.5%;transition:box-shadow .4s;position:absolute;top:5%;right:4%;overflow:hidden;box-shadow:0 4px 20px #000000b3,0 0 0 1px #ffffff12}.project-card:hover .project-card__preview{box-shadow:0 8px 32px #000c,0 0 0 1px #b4ff0040}.project-card__preview-fallback{opacity:.2;z-index:0;font-size:2.5rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-card__preview-image{z-index:1;object-fit:cover;object-position:top center;opacity:1;width:100%;height:100%;transition:opacity .5s;position:absolute;inset:0}.project-card__preview-image--hidden{opacity:0}.project-card__iframe{transform-origin:0 0;pointer-events:auto;z-index:1;opacity:0;border:none;width:1280px;height:720px;transition:opacity .5s;position:absolute;top:0;left:0}.project-card__iframe--fallback{pointer-events:none}.project-card__iframe.loaded{opacity:1}.project-card__overlay{z-index:2;pointer-events:none;background:#060606b3;flex-direction:column;justify-content:flex-end;padding:2rem;transition:background .4s;display:flex;position:absolute;inset:0;transform:translateY(0)}.project-card:hover .project-card__overlay{background:#06060666}.project-card__num{font-family:var(--font-display);color:var(--lime);letter-spacing:.2em;margin-bottom:.5rem;font-size:1rem}.project-card__title{font-family:var(--font-display);color:var(--white);text-transform:uppercase;letter-spacing:-.01em;margin-bottom:1rem;font-size:clamp(1.8rem,3vw,2.8rem);line-height:.95;transition:transform .4s;transform:translateY(0)}.project-card__meta{opacity:0;align-items:center;gap:1rem;transition:transform .4s,opacity .4s;display:flex;transform:translateY(20px)}.project-card:hover .project-card__meta{opacity:1;transform:translateY(0)}.project-card__tag{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--lime);color:var(--lime);background:#b4ff0026;padding:.3rem .7rem;font-size:.6rem}.project-card__arrow{pointer-events:auto;border:1px solid var(--white);width:36px;height:36px;color:var(--white);border-radius:50%;justify-content:center;align-items:center;margin-left:auto;font-size:.9rem;transition:background .3s,border-color .3s,color .3s;display:flex}.project-card:hover .project-card__arrow{background:var(--lime);border-color:var(--lime);color:var(--bg)}.project-card__lines{z-index:3;pointer-events:none;opacity:0;transition:opacity .4s;position:absolute;inset:0}.project-card:hover .project-card__lines{opacity:1}.project-card__lines:before,.project-card__lines:after{content:"";background:var(--lime);position:absolute}.project-card__lines:before{width:30px;height:1px;top:1.5rem;right:1.5rem}.project-card__lines:after{width:1px;height:30px;top:1rem;right:2.5rem}.projects__summary{z-index:2;max-width:1400px;margin:0 auto;padding:8rem 3rem 4rem;position:relative}.projects__summary-header{grid-template-columns:1fr 1fr;align-items:end;gap:4rem;margin-bottom:4rem;display:grid}.projects__summary-heading{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;color:var(--white);font-size:clamp(2.6rem,5vw,4.5rem);line-height:.92}.projects__summary-intro{font-family:var(--font-condensed);color:#f0ede4b3;max-width:480px;font-size:clamp(1rem,1.3vw,1.2rem);font-weight:300;line-height:1.6}.projects__summary-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:5rem;display:grid}.summary-card{background:#0e0e0e99;border:1px solid #ffffff0f;border-radius:4px;flex-direction:column;gap:.9rem;padding:2rem 1.75rem;transition:border-color .3s,transform .3s,background .3s;display:flex}.summary-card:hover{background:#141414b3;border-color:#b4ff004d;transform:translateY(-3px)}.summary-card__num{font-family:var(--font-display);letter-spacing:.05em;color:var(--lime);font-size:1.75rem;line-height:1}.summary-card__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.005em;color:var(--white);margin:.25rem 0 .5rem;font-size:1.6rem;line-height:1}.summary-card__desc{font-family:var(--font-condensed);color:#f0ede4b8;font-size:.95rem;font-weight:300;line-height:1.55}.summary-card__list{flex-direction:column;gap:.85rem;margin-top:.5rem;padding:0;list-style:none;display:flex}.summary-card__list li{font-family:var(--font-mono);color:#f0ede4c7;padding-left:1.1rem;font-size:.75rem;line-height:1.6;position:relative}.summary-card__list li:before{content:"";background:var(--lime);width:8px;height:1px;position:absolute;top:.7em;left:0}.summary-card__list strong{color:var(--lime);letter-spacing:.02em;font-weight:400}.projects__summary-tech{border-top:1px solid #ffffff14;padding-top:3rem}.projects__summary-tech-eyebrow{font-family:var(--font-mono);letter-spacing:.35em;text-transform:uppercase;color:var(--lime);margin-bottom:1rem;font-size:.65rem;display:inline-block}.projects__summary-tech-desc{font-family:var(--font-condensed);color:#f0ede4d9;margin-bottom:2rem;font-size:clamp(1rem,1.3vw,1.15rem);font-weight:300}.projects__summary-tech-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:3rem;display:grid}.tech-tier{border-left:2px solid var(--lime);background:#0e0e0e80;flex-direction:column;gap:.6rem;padding:1.25rem 1.5rem;display:flex}.tech-tier__label{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--gray);font-size:.6rem}.tech-tier__detail{font-family:var(--font-condensed);color:#f0ede4d9;font-size:.95rem;font-weight:300;line-height:1.5}.projects__summary-closing{font-family:var(--font-condensed);color:#f0ede4a6;max-width:760px;font-size:clamp(1rem,1.25vw,1.15rem);font-style:italic;font-weight:300;line-height:1.6}.skills{background:#0e0e0ed1;padding:10rem 3rem;position:relative;overflow:hidden}.skills:before{content:"SKILLS";font-family:var(--font-display);color:#b4ff0008;letter-spacing:-.05em;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;font-size:clamp(10rem,25vw,30rem);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.skills__inner{grid-template-columns:1fr 1fr;gap:8rem;max-width:1400px;margin:0 auto;display:grid}.skills__label{font-family:var(--font-mono);letter-spacing:.35em;text-transform:uppercase;color:var(--lime);align-items:center;gap:1rem;margin-bottom:2rem;font-size:.65rem;display:flex}.skills__heading{font-family:var(--font-display);text-transform:uppercase;margin-bottom:4rem;font-size:clamp(3.5rem,5vw,6rem);line-height:.9}.skills__list{flex-direction:column;gap:1.8rem;display:flex}.skill-item__header{justify-content:space-between;margin-bottom:.6rem;display:flex}.skill-item__name{font-family:var(--font-condensed);letter-spacing:.2em;text-transform:uppercase;color:var(--white);font-size:.85rem;font-weight:600}.skill-item__pct{font-family:var(--font-mono);color:var(--lime);font-size:.75rem}.skill-item__track{background:var(--gray-dim);height:3px;position:relative;overflow:hidden}.skill-item__fill{background:var(--lime);transform-origin:0;height:100%;transition:transform;position:absolute;top:0;left:0;transform:scaleX(0)}.skills__tech{flex-direction:column;gap:1rem;display:flex}.skills__tech-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.tech-badge{border:1px solid var(--gray-dim);text-align:center;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gray);padding:1rem;font-size:.7rem;transition:border-color .3s,color .3s,background .3s;position:relative;overflow:hidden}.tech-badge:after{content:"";background:var(--lime);transform-origin:0;z-index:0;transition:transform .3s;position:absolute;inset:0;transform:scaleX(0)}.tech-badge span{z-index:1;position:relative}.tech-badge:hover{border-color:var(--lime);color:var(--bg)}.tech-badge:hover:after{transform:scaleX(1)}.closing-quote{text-align:center;border-top:1px solid var(--gray-dim);border-bottom:1px solid var(--gray-dim);flex-direction:column;align-items:center;gap:1.75rem;padding:9rem 3rem;display:flex;position:relative;overflow:hidden}.closing-quote:before,.closing-quote:after{content:"";background:linear-gradient(to bottom, transparent, var(--lime), transparent);width:1px;height:48px;position:absolute;left:50%;transform:translate(-50%)}.closing-quote:before{top:0}.closing-quote:after{bottom:0}.closing-quote__eyebrow{font-family:var(--font-mono);letter-spacing:.4em;text-transform:uppercase;color:var(--lime);align-items:center;gap:.9rem;font-size:.7rem;display:inline-flex}.closing-quote__eyebrow:before,.closing-quote__eyebrow:after{content:"";background:var(--lime);opacity:.6;width:40px;height:1px}.closing-quote__body{max-width:1000px;margin:0;padding:0;position:relative}.closing-quote__body p{font-family:var(--font-display);letter-spacing:-.01em;color:var(--white);text-transform:none;margin:0;font-size:clamp(1.6rem,4vw,3.4rem);font-weight:400;line-height:1.15}.closing-quote__mark{font-family:var(--font-display);color:var(--lime);opacity:.55;-webkit-user-select:none;user-select:none;margin-bottom:.3rem;font-size:clamp(4rem,8vw,7rem);line-height:.6;display:block}.closing-quote__attribution{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--gray);font-size:.75rem}.closing-quote__audio{font-family:var(--font-mono);letter-spacing:.25em;text-transform:uppercase;color:var(--lime);background:#b4ff000a;border:1px solid #b4ff0066;align-items:center;gap:.75rem;margin-top:.5rem;padding:.65rem 1.25rem .65rem 1rem;font-size:.7rem;text-decoration:none;transition:background .25s,color .25s,border-color .25s,transform .25s;display:inline-flex}.closing-quote__audio:hover{background:var(--lime);color:var(--bg);border-color:var(--lime);transform:translateY(-2px)}.closing-quote__audio-icon{border:1px solid;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding-left:2px;font-size:.55rem;display:inline-flex}.closing-quote__player{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:999px;outline:none;width:min(520px,100%);margin-top:.5rem}.closing-quote__player::-webkit-media-controls-panel{background:#0e0e0ed9}.contact{align-items:center;min-height:80vh;padding:10rem 3rem;display:flex;position:relative;overflow:hidden}.contact__inner{width:100%;max-width:1400px;margin:0 auto}.contact__big{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.03em;margin-bottom:4rem;font-size:clamp(4rem,12vw,14rem);line-height:.88;position:relative}.contact__big .line-wrap{display:block;overflow:hidden}.contact__big .line-inner{display:block;transform:translateY(110%)}.contact__big .accent{color:var(--lime)}.contact__split{grid-template-columns:1fr 1fr;align-items:start;gap:6rem;display:grid}.contact__info{flex-direction:column;gap:2rem;display:flex}.contact__info-item{border-bottom:1px solid var(--gray-dim);flex-direction:column;gap:.4rem;padding-bottom:1.5rem;display:flex}.contact__info-item label{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--gray);font-size:.6rem}.contact__info-item a,.contact__info-item span{font-family:var(--font-condensed);color:var(--white);letter-spacing:.05em;font-size:1.3rem;font-weight:600;text-decoration:none;transition:color .2s}.contact__info-item a:hover{color:var(--lime)}.contact__cta{flex-direction:column;gap:2rem;display:flex}.contact__desc{font-family:var(--font-condensed);color:var(--gray);letter-spacing:.03em;font-size:1.15rem;font-weight:300;line-height:1.7}.contact__btn{background:var(--lime);color:var(--bg);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;cursor:none;border:0;align-self:flex-start;align-items:center;gap:1rem;padding:1.2rem 2.5rem;font-size:1.2rem;text-decoration:none;transition:color .3s;display:inline-flex;position:relative;overflow:hidden}.contact__btn:after{content:"";background:var(--red);transition:transform .4s cubic-bezier(.25,.46,.45,.94);position:absolute;inset:0;transform:translate(-101%)}.contact__btn:hover:after{transform:translate(0)}.contact__btn span,.contact__btn svg{z-index:1;position:relative}.contact-modal{z-index:1000;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#060606d1;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.contact-modal__dialog{background:var(--bg-2);border:1px solid #b4ff0052;outline:none;width:min(100%,620px);max-height:calc(100vh - 3rem);padding:2.5rem;position:relative;overflow-y:auto;box-shadow:0 24px 80px #0000008c}.contact-modal__close{border:1px solid var(--gray-dim);width:2.5rem;height:2.5rem;color:var(--white);font-family:var(--font-mono);cursor:none;background:0 0;place-items:center;font-size:1.5rem;line-height:1;transition:border-color .2s,color .2s;display:grid;position:absolute;top:1rem;right:1rem}.contact-modal__close:hover{border-color:var(--lime);color:var(--lime)}.contact-modal__header{margin-bottom:2rem;padding-right:3rem}.contact-modal__eyebrow{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--lime);margin-bottom:.6rem;font-size:.65rem;display:block}.contact-modal__header h3{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2.5rem,8vw,5rem);font-weight:400;line-height:.9}.contact-form{flex-direction:column;gap:1.2rem;display:flex}.contact-form__row{flex-direction:column;gap:.5rem;display:flex}.contact-form__row label{font-family:var(--font-mono);letter-spacing:.25em;text-transform:uppercase;color:var(--gray);font-size:.62rem}.contact-form__row input,.contact-form__row textarea{border:1px solid var(--gray-dim);width:100%;color:var(--white);font-family:var(--font-mono);cursor:none;background:#060606b8;border-radius:0;outline:none;padding:1rem;font-size:.95rem;line-height:1.5;transition:border-color .2s,background .2s}.contact-form__row textarea{resize:vertical;min-height:150px}.contact-form__row input:focus,.contact-form__row textarea:focus{border-color:var(--lime);background:#060606eb}.contact-form__status{font-family:var(--font-mono);font-size:.75rem;line-height:1.6}.contact-form__status--success{color:var(--lime)}.contact-form__status--error{color:var(--red)}.contact-form__submit{background:var(--lime);color:var(--bg);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;cursor:none;border:0;align-self:flex-start;padding:1rem 2rem;font-size:1.1rem;transition:background .2s,color .2s,opacity .2s}.contact-form__submit:hover:not(:disabled){background:var(--red);color:var(--white)}.contact-form__submit:disabled{opacity:.62}.footer{border-top:1px solid var(--gray-dim);justify-content:space-between;align-items:center;padding:2rem 3rem;display:flex}.footer__copy{font-family:var(--font-mono);letter-spacing:.15em;color:var(--gray);font-size:.65rem}.footer__copy span{color:var(--lime)}.char{display:inline-block}.section-line{align-items:center;gap:1.5rem;margin-bottom:2rem;padding:0 3rem;display:flex}.section-line__bar{background:var(--gray-dim);flex:1;height:1px}.section-line__text{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--gray-dim);white-space:nowrap;font-size:.6rem}@media (max-width:900px){.navbar{padding:1.2rem 1rem;padding-right:max(1rem, env(safe-area-inset-right));gap:1rem}.navbar__logo{text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;font-size:1.3rem;overflow:hidden}.navbar__toggle{flex-shrink:0;display:block}.navbar__lang{gap:.25rem;margin-right:.75rem;font-size:.65rem}.navbar__lang-btn{padding:.2rem .25rem}.navbar__links{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);visibility:hidden;opacity:0;pointer-events:none;background:#060606f7;border-left:1px solid #ffffff14;flex-direction:column;justify-content:center;align-items:flex-start;gap:2rem;width:min(78vw,320px);max-width:100vw;height:100vh;margin:0;padding:5rem 2rem 2rem;transition:opacity .3s,transform .4s cubic-bezier(.65,0,.35,1),visibility 0s linear .3s;position:fixed;top:0;right:0;transform:translate(20px)}.navbar--open .navbar__links{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .3s,transform .4s cubic-bezier(.65,0,.35,1),visibility;transform:translate(0)}.navbar__links a{font-size:.9rem}.hero{padding:4rem 1.5rem 3rem}.hero__title-row{flex-direction:column;align-items:stretch;gap:1.5rem}.hero__quote{flex:auto;max-width:none;margin-bottom:0}.about{padding:6rem 1.5rem}.about__inner{grid-template-columns:1fr;gap:4rem}.projects__grid{grid-template-columns:1fr;padding:0 1.5rem}.project-card:nth-child(odd){margin-top:0}.project-card__overlay{padding:1.25rem 1.25rem 5px}.project-card__num{margin-bottom:.25rem;font-size:.7rem}.project-card__title{margin-bottom:0;font-size:clamp(1rem,4.2vw,1.4rem);line-height:1}.project-card__back-title{margin:.4rem 0 .6rem;font-size:clamp(1rem,4.2vw,1.4rem)}.project-card__face--back{padding:1.25rem;display:block}.project-card__desc{height:auto;font-size:.78rem;line-height:1.4;overflow:visible}.project-card__desc-wrap{display:block}.project-card__critic{order:-1;width:auto;margin:0 0 .75rem;position:static}.project-card--has-critic .project-card__face--back .project-card__num,.project-card--has-critic .project-card__face--back .project-card__back-title{padding-right:0}.project-card__scrollbar{display:none}.project-card__back-meta{align-items:flex-start;margin-top:1.5rem}.project-card__meta{display:none}.project-card__preview{width:86.4%;padding-bottom:48.6%;top:4%;right:4%}.projects__summary{padding:4rem 1.5rem 3rem}.projects__summary-header{grid-template-columns:1fr;align-items:start;gap:1.5rem;margin-bottom:2.5rem}.projects__summary-grid{grid-template-columns:1fr;gap:1.25rem;margin-bottom:3rem}.summary-card{padding:1.5rem 1.25rem}.summary-card__title{font-size:1.3rem}.summary-card__list li{font-size:.72rem}.projects__summary-tech-grid{grid-template-columns:1fr;gap:1rem}.tech-tier{padding:1rem 1.25rem}.project-card{aspect-ratio:auto;align-self:start;transition:height .6s cubic-bezier(.65,0,.35,1)}.skills{padding:6rem 1.5rem}.skills__inner{grid-template-columns:1fr;gap:4rem}.closing-quote{gap:1.25rem;padding:5rem 1.5rem}.closing-quote__eyebrow:before,.closing-quote__eyebrow:after{width:24px}.contact{padding:6rem 1.5rem}.contact__split{grid-template-columns:1fr;gap:3rem}.contact-modal{align-items:flex-start;padding:1rem}.contact-modal__dialog{max-height:calc(100vh - 2rem);padding:2rem 1.25rem}.contact-modal__close,.contact-form__row input,.contact-form__row textarea,.contact-form__submit{cursor:auto}.footer{flex-direction:column;gap:1rem;padding:1.5rem}body{cursor:auto}.cursor,.cursor-follower{display:none}}
