@font-face{font-family:Borda Noir;src:url(/assets/borda-regular-BQuv6V3b.woff2)format("woff2");font-display:swap}:root{color:#f5f0e8;font-synthesis:none;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;--aqua:#44e6d0;--cream:#f5f0e8;--muted:#f5f0e894;--mono:"Borda Noir", "JetBrains Mono", "IBM Plex Mono", monospace;background:#050505;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:auto;background:#050505;overflow-x:clip}body{background:radial-gradient(circle at 16% 18%,#44e6d01f,#0000 26rem),radial-gradient(circle at 82% 72%,#44e6d033,#0000 32rem),linear-gradient(#050505 0%,#020202 100%);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}::selection{color:#050505;background:var(--cream)}.shader-field,.noise,.cursor-signal,.brand-field{pointer-events:none;position:fixed;inset:0}.shader-field{z-index:0;opacity:.7;filter:blur(11px)saturate(1.16);width:100%;height:100%}.brand-field{z-index:1;color:#44e6d00e;font-family:var(--mono);letter-spacing:-.14em;text-transform:none;place-items:center;font-size:clamp(5rem,22vw,28rem);line-height:.7;animation:9s ease-in-out infinite brandPulse;display:grid;transform:translate(-4vw)rotate(-5deg)}.noise{z-index:2;opacity:.18;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E")}.cursor-signal{z-index:20;opacity:.56;border:1px solid #f5f0e89e;border-radius:50%;width:18px;height:18px;top:-9px;left:-9px;box-shadow:0 0 26px #44e6d075}main,.page-footer,.nav{z-index:4;position:relative}.nav{color:#f5f0e8b3;mix-blend-mode:difference;justify-content:space-between;align-items:center;width:100%;padding:.95rem clamp(1rem,3vw,3rem);display:flex;position:fixed;top:0;left:0}.nav-links{align-items:center;gap:.5rem;display:flex}.nav-links a,.social-icon{color:#f5f0e8c2;min-height:2.15rem;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#05050547;border:1px solid #f5f0e821;border-radius:999px;align-items:center;gap:.45rem;padding:0 .72rem;font-size:.58rem;transition:border-color .25s,color .25s,transform .25s,background .25s;display:inline-flex}.nav-links a:hover,.social-icon:hover{color:var(--aqua);background:#44e6d014;border-color:#44e6d085;transform:translateY(-2px)}.nav-links svg{flex:none;width:.95rem;height:.95rem}.nav-links path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px}.intro{perspective:1800px;place-items:center;min-height:100vh;padding:5rem clamp(1rem,4vw,4.8rem) 4rem;display:grid;position:relative}.flag-scene{width:min(62vw,36rem);height:min(62vw,36rem);transform-style:preserve-3d;place-items:center;animation:7s ease-in-out infinite sceneFloat;display:grid;position:relative}.flag-scene:before,.flag-scene:after{content:"";border-radius:50%;position:absolute}.flag-scene:before{background:radial-gradient(circle,#44e6d014,#0000 62%);border:1px solid #44e6d029;inset:10%;transform:rotateX(72deg)rotate(-10deg)translateZ(-135px);box-shadow:0 0 110px #44e6d02e,inset 0 0 70px #44e6d014}.flag-scene:after{filter:blur(32px);background:#44e6d038;width:52%;height:9%;bottom:13%;transform:rotateX(72deg)translateZ(-115px)}.flag-logo{width:min(47vw,26rem);height:min(47vw,26rem);transform-style:preserve-3d;filter:drop-shadow(0 46px 80px #000000c7)drop-shadow(0 0 72px #44e6d04d);display:flex;position:relative;transform:rotateX(17deg)rotateY(-34deg)rotate(-4deg)}.flag-logo:before{z-index:3;content:"";mix-blend-mode:screen;pointer-events:none;background:linear-gradient(105deg,#0000 28%,#f5f0e833,#0000 52%);animation:3.2s ease-in-out infinite flagShine;position:absolute;inset:-2%;transform:translate(-42%)}.flag-logo span{flex:1 1 calc(100% / var(--slice-count));background-repeat:no-repeat;background-size:calc(var(--slice-count) * 100%) 100%;background-position:calc(var(--slice) / (var(--slice-count) - 1) * 100%) 50%;transform-origin:50%;height:100%;animation:1.92s ease-in-out infinite flagWave;animation-delay:calc(var(--slice) * -48ms);backface-visibility:hidden;will-change:transform, filter;position:relative}.flag-logo span:nth-child(2n){filter:brightness(1.18)}.flag-logo span:nth-child(3n){filter:brightness(.78)saturate(1.08)}.flag-logo span:nth-child(5n){filter:brightness(1.28)saturate(1.12)}.flag-shadow{display:none}.scroll-cue{color:#f5f0e894;font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;font-size:.7rem;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.scroll-cue:after{background:linear-gradient(180deg, var(--aqua), transparent);content:"";width:1px;height:2.8rem;margin:.7rem auto 0;animation:1.4s ease-in-out infinite scrollPulse;display:block}.kicker{color:#f5f0e875;font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;margin:0 0 .85rem;font-size:.64rem}h1,h2,h3,p{margin-top:0}.manifesto{padding:1rem clamp(1rem,4vw,4.8rem) 4rem}.manifesto p{font-family:var(--mono);letter-spacing:-.07em;text-transform:uppercase;border-top:1px solid #f5f0e814;margin:0;padding:.36rem 0;font-size:clamp(1.45rem,5vw,5.8rem);line-height:.92}.projects{padding:0 clamp(1rem,4vw,4.8rem) clamp(3rem,7vw,6rem);position:relative}.project-scene{align-items:center;min-height:90vh;padding:clamp(2rem,4vw,4rem) 0;display:grid}.project-frame{width:min(100%,76rem);transform-style:preserve-3d;grid-template-columns:minmax(18rem,38rem) minmax(18rem,28rem);justify-content:center;align-items:center;gap:clamp(1.25rem,5vw,6rem);margin:0 auto;display:grid;position:relative}.project-scene.is-left .project-media,.project-scene.is-left .project-copy,.project-scene.is-right .project-media,.project-scene.is-right .project-copy{justify-self:center}.project-scene.is-right .project-frame{grid-template-columns:minmax(18rem,28rem) minmax(18rem,38rem)}.project-scene.is-right .project-media{grid-column:2}.project-scene.is-right .project-copy{text-align:left;grid-area:1/1}.project-scene.is-right .project-copy ul{justify-items:start}.project-scene.is-right .project-site{margin-left:0}.project-media{background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--project-color) 20%, transparent), transparent 58%), #080808;width:min(100%,38rem);min-height:clamp(18rem,32vw,30rem);box-shadow:0 38px 120px #0009, 0 0 88px color-mix(in srgb, var(--project-color) 16%, transparent);border:1px solid #f5f0e81a;border-radius:clamp(1.2rem,3vw,2.6rem);transition:transform .7s cubic-bezier(.16,1,.3,1),box-shadow .7s,border-color .35s;display:block;position:relative;overflow:hidden;transform:perspective(1000px)rotateY(0)translateZ(0)}.project-scene.is-left .project-media:hover{transform:perspective(1000px)rotateY(-8deg)translate3d(-.5rem,-.4rem,38px)}.project-scene.is-right .project-media:hover{transform:perspective(1000px)rotateY(8deg)translate3d(.5rem,-.4rem,38px)}.project-media:before{z-index:1;background:linear-gradient(120deg, transparent 32%, #f5f0e83d, transparent 58%), radial-gradient(circle at var(--spark-x,50%) var(--spark-y,50%), color-mix(in srgb, var(--project-color) 42%, transparent), transparent 28%);content:"";opacity:0;mix-blend-mode:screen;pointer-events:none;transition:opacity .36s,transform .7s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:translate(-18%)}.project-media:hover:before{opacity:1;transform:translate(18%)}.project-media img{width:100%;height:100%;min-height:inherit;object-fit:cover;filter:saturate(.78)contrast(1.1)brightness(.78);transition:transform .76s cubic-bezier(.16,1,.3,1),filter .76s;transform:scale(1.08)}.project-media:hover img{filter:saturate(1.08)contrast(1.04)brightness(.95);transform:scale(1.01)}.project-copy{z-index:1;width:min(34vw,31rem);position:relative}.project-copy .kicker,.project-copy h3,.project-overview,.project-copy p:not(.kicker):not(.project-overview),.project-copy li,.project-site{opacity:1;filter:blur();transition:opacity 1.3s,transform 1.5s cubic-bezier(.16,1,.3,1),filter 1.3s;overflow:visible;transform:translate(0,0)}.reveal:not(.is-visible) .project-copy .kicker,.reveal:not(.is-visible) .project-copy h3,.reveal:not(.is-visible) .project-overview,.reveal:not(.is-visible) .project-copy p:not(.kicker):not(.project-overview),.reveal:not(.is-visible) .project-copy li,.reveal:not(.is-visible) .project-site{opacity:0;filter:blur(8px);transform:translateY(1.25rem)}.project-copy .kicker{transition-delay:.14s}.project-copy h3{transition-delay:.36s}.project-overview{transition-delay:.62s}.project-copy p:not(.kicker):not(.project-overview){transition-delay:.88s}.project-copy li:first-child{transition-delay:1.14s}.project-copy li:nth-child(2){transition-delay:1.34s}.project-copy li:nth-child(3){transition-delay:1.54s}.project-site{transition-delay:1.8s}.project-copy h3{letter-spacing:-.08em;white-space:pre-line;max-width:10ch;margin-bottom:.7rem;font-size:clamp(2.8rem,6vw,7rem);line-height:.86}.project-scene.is-right .project-copy h3{margin-left:auto}.project-overview{color:var(--cream);font-size:clamp(1.1rem,1.8vw,1.55rem);line-height:1.25}.project-copy p:not(.kicker):not(.project-overview){color:#f5f0e89e;font-size:1rem;line-height:1.48}.project-copy ul{gap:.45rem;margin:1.1rem 0 0;padding:0;list-style:none;display:grid}.project-copy li,.project-site{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase}.project-copy li{color:#f5f0e894;font-size:.62rem}.project-copy li:before{color:var(--project-color);content:"— "}.project-site{border:1px solid color-mix(in srgb, var(--aqua) 36%, #f5f0e81f);width:fit-content;color:color-mix(in srgb, var(--aqua) 78%, var(--cream));border-radius:999px;align-items:center;gap:.7rem;margin-top:1.4rem;padding:.78rem 1rem;font-size:.62rem;transition:background .25s,border-color .25s,box-shadow .25s,color .25s,transform .25s;animation:3.4s ease-in-out infinite buttonFloat;display:inline-flex}.project-site:after{content:"↗"}.project-site:hover{color:var(--aqua);background:#44e6d024;border-color:#44e6d0c7;transform:translateY(-3px)scale(1.02);box-shadow:0 0 28px #44e6d03d}@supports (animation-timeline:view()){.project-scene.is-left .project-frame{animation:linear both projectFromLeft;animation-timeline:view();animation-range:entry exit}.project-scene.is-right .project-frame{animation:linear both projectFromRight;animation-timeline:view();animation-range:entry exit}}.contact{align-items:flex-end;min-height:50vh;padding:clamp(6rem,11vw,10rem) clamp(1rem,4vw,4.8rem) clamp(3rem,6vw,5rem);display:flex}.contact .reveal{width:min(100%,48rem)}.contact-text{color:#f5f0e8b8;letter-spacing:-.055em;max-width:42rem;margin:0;font-size:clamp(1.6rem,3.4vw,4.2rem);line-height:.96}.contact-link{color:var(--aqua);font-family:var(--mono);letter-spacing:-.04em;margin-top:1.25rem;font-size:clamp(1.1rem,2.1vw,2.35rem);display:inline-block}.page-footer{color:#f5f0e86b;font-family:var(--mono);letter-spacing:.12em;text-align:left;text-transform:uppercase;padding:1rem clamp(1rem,4vw,4.8rem) 1.5rem;font-size:.58rem;line-height:1.8}.page-footer p{margin:0}.reveal{opacity:0;filter:blur(10px);transition:transform .86s cubic-bezier(.16, 1, .3, 1) var(--delay), opacity .86s ease var(--delay), filter .86s ease var(--delay);transform:translateY(42px)}.reveal.is-visible{opacity:1;filter:blur();transform:translate(0,0)}@keyframes flagWave{0%,to{transform:translateZ(-18px)rotateY(-24deg)rotateX(2deg)}25%{transform:translate3d(0,-2.5%,22px)rotateY(10deg)rotateX(-1deg)}50%{transform:translate3d(0,-4.5%,54px)rotateY(28deg)rotateX(3deg)}75%{transform:translate3d(0,-1.5%,18px)rotateY(-6deg)rotateX(-2deg)}}@keyframes flagShine{0%,28%{opacity:0;transform:translate(-48%)skew(-10deg)}44%{opacity:.7}68%,to{opacity:0;transform:translate(50%)skew(-10deg)}}@keyframes textWrite{0%{opacity:0;clip-path:inset(0 100% 0 0);filter:blur(8px);transform:translateY(1.25rem)}to{opacity:1;clip-path:inset(0);filter:blur();transform:translate(0,0)}}@keyframes sceneFloat{0%,to{transform:translate(0,0)rotateX(0)rotateY(0)}50%{transform:translateY(-1rem)rotateX(2deg)rotateY(3deg)}}@keyframes brandPulse{0%,to{opacity:.72;transform:translate(-4vw)rotate(-5deg)scale(1)}50%{opacity:1;transform:translate(3vw,-2vh)rotate(-2deg)scale(1.04)}}@keyframes scrollPulse{0%,to{opacity:.35;transform-origin:top;transform:scaleY(.5)}50%{opacity:1;transform-origin:top;transform:scaleY(1)}}@keyframes buttonFloat{0%,to{transform:translate(0,0)}50%{transform:translateY(-2px)}}@keyframes projectFromLeft{0%{opacity:0;filter:blur(18px);transform:translate(-20vw,15vh)scale(.9)}22%,68%{opacity:1;filter:blur();transform:translate(0,0)scale(1)}to{opacity:.28;filter:blur(10px);transform:translate(12vw,-12vh)scale(.94)}}@keyframes projectFromRight{0%{opacity:0;filter:blur(18px);transform:translate(20vw,15vh)scale(.9)}22%,68%{opacity:1;filter:blur();transform:translate(0,0)scale(1)}to{opacity:.28;filter:blur(10px);transform:translate(-12vw,-12vh)scale(.94)}}@media (width<=900px){.nav{padding:.8rem}.nav-links{gap:.34rem}.nav-links a,.social-icon{min-height:2rem;padding:0 .6rem}.nav-links span span,.nav-links a span{display:none}.intro{min-height:100vh;padding:4.5rem 1rem 5rem}.flag-scene{width:min(82vw,25rem);height:min(82vw,25rem)}.flag-logo{width:min(64vw,18rem);height:min(64vw,18rem)}.scroll-cue{bottom:2.2rem}.manifesto{padding-top:2rem;padding-bottom:2rem}.manifesto p{font-size:clamp(2rem,13vw,4.8rem)}.project-scene{min-height:auto;padding:3.2rem 0;overflow:hidden}.project-frame,.project-scene.is-right .project-frame{grid-template-columns:minmax(0,1fr);gap:1.15rem;width:100%}.project-scene.is-right .project-media,.project-scene.is-right .project-copy{text-align:left;grid-area:auto}.project-scene.is-right .project-copy h3,.project-scene.is-right .project-site{margin-left:0}.project-scene.is-right .project-copy ul{justify-items:start}.project-media,.project-copy{width:100%;min-width:0}.project-media{border-radius:1.25rem;min-height:14rem}.project-copy h3{letter-spacing:-.065em;overflow-wrap:anywhere;max-width:100%;font-size:clamp(2.05rem,10vw,3.35rem);line-height:1.04}.project-overview{font-size:clamp(.9rem,4vw,1.05rem);line-height:1.35}.project-copy p:not(.kicker):not(.project-overview){font-size:.8rem;line-height:1.5}.project-copy .kicker,.project-copy h3,.project-overview,.project-copy p:not(.kicker):not(.project-overview),.project-copy li,.project-site,.reveal:not(.is-visible) .project-copy .kicker,.reveal:not(.is-visible) .project-copy h3,.reveal:not(.is-visible) .project-overview,.reveal:not(.is-visible) .project-copy p:not(.kicker):not(.project-overview),.reveal:not(.is-visible) .project-copy li,.reveal:not(.is-visible) .project-site{clip-path:none}.project-copy li{letter-spacing:.1em;font-size:.56rem}.project-site{letter-spacing:.1em;padding:.72rem .9rem;font-size:.56rem}.contact{min-height:44vh;padding-bottom:2.5rem}.contact-text{font-size:clamp(1.45rem,8vw,3.1rem)}.contact-link{font-size:clamp(1rem,6vw,2rem)}.page-footer{padding-bottom:1.25rem}.cursor-signal{display:none}}@supports (animation-timeline:view()){@media (width<=900px){.project-scene.is-left .project-frame,.project-scene.is-right .project-frame{animation:none}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}.cursor-signal,.shader-field{display:none}.reveal{opacity:1;filter:none;transform:none}}
