:root{--fg:#e3e3e3;--fg-secondary:#d0d0d0;--fg-tertiary:#d9d9d9;--fg-muted:#949494;--fg-dim:#6c6c78;--bg:#121115;--bg-elev:#161616;--bg-card:#28282e;--bg-card-overlay:#2f2f2f85;--bg-overlay-20:#26262633;--bg-overlay-10:#2e2e2e1a;--accent-blue-active:#5158fc;--accent-blue-bright:#343cff;--accent-magenta:#994a7b;--accent-green:#22d886;--accent-violet:#4b4bff;--accent-success:#22d886;--grad-mid:#6e44a4;--ambient-green:#67960c33;--ambient-warm:#b8840033;--ambient-green-solid:#67960c;--ambient-warm-solid:#b88400;--grad-from:var(--accent-blue-bright);--grad-to:var(--accent-magenta);--gradient:linear-gradient(180deg, var(--grad-from) 0%, var(--grad-to) 100%);--gradient-text:linear-gradient(135deg, var(--grad-from) 0%, var(--grad-mid) 50%, var(--grad-to) 100%);--border:#ffffff14;--maxw:1280px;--header-h:80px;--ease-figma-out:cubic-bezier(0, 0, .2, 1);--ease-figma-in-out:cubic-bezier(.4, 0, .2, 1);--ease-figma-custom:cubic-bezier(.558, .008, .138, 1.008);--dur-hover:.3s;--dur-section-snap:.5s;--dur-project-enter:.8s;--dur-vertical-scroll:1.2s;--dur-carousel:2.4s;font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}*{box-sizing:border-box}html,body,#root{background:var(--bg);color:var(--fg);margin:0;padding:0;font-family:"Source Sans 3",Source Sans Pro,system-ui,-apple-system,sans-serif;font-weight:400}html{scroll-snap-type:y proximity;scroll-behavior:smooth;scroll-padding-top:var(--header-h)}#home,#about,#news,#contact{scroll-snap-align:start;scroll-snap-stop:normal}@media (prefers-reduced-motion:reduce){html{scroll-snap-type:none;scroll-behavior:auto}}body{background:radial-gradient(ellipse 80% 50% at 50% 50%, #343cff1a, transparent 60%), radial-gradient(ellipse 60% 40% at 30% 80%, #994a7b1a, transparent 60%), var(--bg);--blob-scale:1;--blob-y:0px;background-attachment:fixed;min-height:100vh;font-size:clamp(16px,1.04vw,20px);line-height:1.6;position:relative}body:before{content:"";filter:blur(40px);pointer-events:none;z-index:0;transform-origin:50%;width:600px;height:500px;transform:translate3d(0, var(--blob-y), 0) scale(var(--blob-scale));transition:transform var(--dur-vertical-scroll) var(--ease-figma-out);will-change:transform;background:radial-gradient(60% 70%,#5158fc52 0%,#994a7b2e 38%,#0000 72%);position:fixed;bottom:8%;left:8%}@media (prefers-reduced-motion:reduce){body:before{transition:none}}@supports (animation-timeline:scroll()){@keyframes blob-morph{0%{transform:translate(0,0)scale(1)}25%{transform:translate(0,0)scale(1)}50%{transform:translateY(-40vh)scale(2.27)}80%{transform:translateY(-180vh)scale(5.7)}to{transform:translateY(-50vh)scale(.18)}}body:before{transition:none;animation:linear both blob-morph;animation-timeline:scroll(root)}}body:after{content:"";pointer-events:none;z-index:1;opacity:.35;background-image:url(/noise.png);background-repeat:repeat;background-size:220px 220px;position:fixed;inset:0}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}img{max-width:100%;display:block}h1,h2,h3,h4{letter-spacing:0;color:var(--fg);margin:0;font-weight:600}.gradient-text{background:var(--gradient-text);color:#0000;-webkit-background-clip:text;background-clip:text}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 32px}@media (max-width:720px){.container{padding:0 20px}}.reveal{opacity:0;transition:opacity var(--dur-vertical-scroll) var(--ease-figma-out), transform var(--dur-vertical-scroll) var(--ease-figma-out);will-change:opacity, transform;transform:translateY(36px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-fade{opacity:0;transition:opacity var(--dur-vertical-scroll) var(--ease-figma-out);will-change:opacity}.reveal-fade.visible{opacity:1}.reveal-scale{opacity:0;transition:opacity var(--dur-project-enter) var(--ease-figma-custom), transform var(--dur-project-enter) var(--ease-figma-custom);will-change:opacity, transform;transform:scale(.92)}.reveal-scale.visible{opacity:1;transform:scale(1)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.reveal-delay-5{transition-delay:.5s}.reveal-delay-6{transition-delay:.6s}.reveal-delay-7{transition-delay:.7s}@media (prefers-reduced-motion:reduce){.reveal,.reveal-fade,.reveal-scale{opacity:1!important;transition:none!important;transform:none!important}}.splash{z-index:9999;pointer-events:none;position:fixed;inset:0}.splash:before{content:"";z-index:0;opacity:1;background:#121115;transition:opacity .6s cubic-bezier(.7,.01,.23,1.01);position:absolute;inset:0}.splash.splash-out:before{opacity:0}.splash-logo{z-index:1;opacity:0;width:auto;height:52px;transition:opacity .7s cubic-bezier(.7,.01,.23,1.01);position:fixed;top:50vh;left:50%;transform:translate(-50%,-50%)scale(1)}.splash-logo.is-in{opacity:1}.splash-logo.to-top{top:calc(var(--header-h) / 2);transition:top .9s var(--ease-figma-custom), transform .9s var(--ease-figma-custom), opacity .7s cubic-bezier(.7, .01, .23, 1.01);transform:translate(-50%,-50%)scale(.423)}@media (prefers-reduced-motion:reduce){.splash:before{transition:none}.splash-logo{opacity:1;top:calc(var(--header-h) / 2);transition:none;transform:translate(-50%,-50%)scale(.423)}}.site-header{height:var(--header-h);z-index:50;background:0 0;position:fixed;top:0;left:0;right:0}.header-inner{isolation:isolate;grid-template-columns:1fr auto 1fr;align-items:center;height:100%;display:grid;position:relative}.brand{justify-content:center;align-items:center;display:flex}.header-inner:before{content:"";z-index:-1;height:44px;transition:background var(--dur-hover) var(--ease-figma-out), backdrop-filter var(--dur-hover) var(--ease-figma-out), border-color var(--dur-hover) var(--ease-figma-out);background:0 0;border:1px solid #0000;border-radius:999px;position:absolute;top:50%;left:calc(50% - 72px);right:-14px;transform:translateY(-50%)}.site-header.scrolled .header-inner:before{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff12;border-color:#ffffff1a}.brand-logo{width:auto;height:22px;display:block}.lang{color:#e3e3e3;justify-self:start;padding:0;font-size:clamp(16px,1.04vw,20px);font-weight:400;line-height:1.257}.nav-desktop{justify-self:end;gap:clamp(24px,2.5vw,48px);font-size:clamp(16px,1.04vw,20px);font-weight:400;line-height:1.257;display:flex}.nav-desktop a{transition:opacity var(--dur-hover) var(--ease-figma-out);color:var(--fg)}.nav-desktop a:hover{opacity:.7}.hamburger{display:none}@media (max-width:720px){.nav-desktop,.lang{display:none}.header-inner{grid-template-columns:auto 1fr auto}.brand{text-align:left;justify-self:start;padding-left:4px}.hamburger{color:var(--fg);justify-self:end;align-items:center;gap:6px;font-size:11px;display:flex}.hamburger-r{font-size:26px;font-weight:600;line-height:1}.hamburger-label{letter-spacing:0;font-size:16px;font-weight:600;line-height:.842}}.mobile-overlay{-webkit-backdrop-filter:blur(18px);z-index:100;border:1px solid;border-image:linear-gradient(180deg, var(--grad-from), var(--grad-to)) 1;background:#121115f2;flex-direction:column;justify-content:center;align-items:center;gap:28px;display:flex;position:fixed;inset:0}.overlay-close{color:var(--fg-muted);font-size:28px;line-height:1;position:absolute;top:24px;left:24px}.overlay-nav{text-align:center;color:var(--fg);flex-direction:column;gap:28px;font-size:20px;font-weight:400;display:flex}.overlay-lang{color:var(--fg);text-underline-offset:4px;font-size:20px;text-decoration:underline;position:absolute;bottom:60px}.hero{min-height:calc(100vh - var(--header-h));align-items:center;padding:0;display:flex;position:relative;overflow:hidden}.hero:before{content:"";aspect-ratio:1;filter:blur(28px);pointer-events:none;z-index:0;opacity:0;will-change:opacity, transform;background:radial-gradient(circle,#5158fc8c 0%,#5158fc47 35%,#6e44a42e 60%,#0000 80%);border-radius:50%;width:clamp(120px,11.875vw,228px);position:absolute;top:56%;left:23.3%;transform:translateY(0)}.hero.hero-intro:before{animation:hero-blue-light 2.4s var(--ease-figma-out) .2s both}@keyframes hero-blue-light{0%{opacity:0;transform:translateY(0)}15%{opacity:1;transform:translateY(0)}45%{opacity:1;transform:translateY(0)}60%{opacity:0;transform:translateY(0)}75%{opacity:0;transform:translateY(-58%)}to{opacity:1;transform:translateY(-58%)}}@media (prefers-reduced-motion:reduce){.hero:before{opacity:.6;animation:none;transform:none}}.hero-inner{z-index:1;grid-template-columns:1fr 1.1fr;align-items:center;gap:0;display:grid;position:relative}.hero-title{color:#e3e3e3;letter-spacing:0;opacity:0;transition:opacity var(--dur-project-enter) var(--ease-figma-out), transform var(--dur-project-enter) var(--ease-figma-out);font-size:clamp(54px,6.67vw,128px);font-weight:600;line-height:.957;transform:translateY(-46px)}.hero.hero-intro .hero-title{opacity:1;transform:translateY(0)}.hero-sub{background:linear-gradient(90deg, var(--accent-magenta) 0%, var(--grad-mid) 42%, var(--accent-blue-bright) 100%);color:#0000;white-space:pre-line;opacity:0;transition:opacity var(--dur-project-enter) var(--ease-figma-out), transform var(--dur-project-enter) var(--ease-figma-out);-webkit-background-clip:text;background-clip:text;margin-top:clamp(16px,1.46vw,28px);font-size:clamp(20px,2.08vw,40px);font-weight:600;line-height:1.257;transition-delay:.15s;transform:translate(-64px)}.hero.hero-intro .hero-sub{opacity:1;transform:translate(0)}.hero.hero-scrolled .hero-sub{opacity:0;transform:translate(-99px)}.hero-portrait{height:calc(100vh - var(--header-h));-webkit-mask-composite:source-in;opacity:0;place-self:center end;width:100%;max-width:720px;margin-right:clamp(0px,.6vw,12px);transition:opacity 1.2s cubic-bezier(.7,.01,.23,1.01) .2s;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 28% 78%,#0000 100%),linear-gradient(#0000 0%,#000 32% 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 28% 78%,#0000 100%),linear-gradient(#0000 0%,#000 32% 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.hero.hero-intro .hero-portrait{opacity:1}@media (prefers-reduced-motion:reduce){.hero-title,.hero-sub,.hero-portrait,.hero-portrait img{opacity:1!important;transition:none!important;transform:none!important}}@keyframes hero-camera-drift{0%{object-position:50% 38%;transform:scale(1)}33%{object-position:48% 37%;transform:scale(1.03)}66%{object-position:52% 39%;transform:scale(1.015)}to{object-position:50% 38%;transform:scale(1)}}@keyframes hero-blob-drift{0%{opacity:1;transform:translate(0)scale(1)}50%{opacity:.92;transform:translate(24px,-18px)scale(1.08)}to{opacity:1;transform:translate(0)scale(1)}}.hero.hero-intro .hero-portrait img{transform:scale(1)}@media (prefers-reduced-motion:reduce){.hero.hero-intro .hero-portrait,.hero.hero-intro .hero-portrait img,.hero.hero-intro:before{animation:none!important}}.hero-portrait img{object-fit:cover;object-position:50% 28%;filter:grayscale()brightness()contrast(1.22);transform-origin:50%;will-change:transform;width:100%;height:100%;transition:transform 1.3s cubic-bezier(.7,.01,.23,1.01);transform:scale(1.08)}@media (max-width:720px){.hero{min-height:auto;padding:40px 0 60px}.hero-inner{text-align:center;grid-template-columns:1fr;gap:24px}.hero-portrait{border-radius:999px;order:-1;justify-self:center;width:320px;max-width:320px;height:320px;margin:0 auto;-webkit-mask-image:none;mask-image:none}.hero-portrait img{object-fit:cover;object-position:center}.hero-title{font-size:54px;font-weight:600;line-height:.957}.hero-sub{font-size:20px;font-weight:600;line-height:1.257}}.projects-carousel-section{align-items:center;min-height:100vh;padding:clamp(60px,6vw,120px) 0;display:flex;overflow:hidden}.projects-carousel{width:100%;max-width:100vw;position:relative}.carousel-viewport{width:100%;padding:16px 0;overflow:hidden}.carousel-track{transition:transform var(--dur-carousel) var(--ease-figma-out);will-change:transform;gap:32px;display:flex}.project-card{aspect-ratio:847/509;cursor:pointer;background:var(--bg-card);opacity:.4;transform-origin:50%;max-width:1080px;transition:transform var(--dur-carousel) var(--ease-figma-out), opacity var(--dur-carousel) var(--ease-figma-out);border-radius:20px;flex:0 0 56.25vw;position:relative;overflow:hidden;transform:scale(.83)}.project-card.is-active{opacity:1;cursor:zoom-in;transform:scale(1)translateY(0)}.project-card img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.project-card-overlay{pointer-events:none;background:linear-gradient(#0000 0%,#0000008c 100%);padding:clamp(20px,2.5vw,40px);position:absolute;inset:auto 0 0}.project-title{letter-spacing:-.01em;color:#fff;text-shadow:0 2px 18px #00000073;margin:0 0 10px;font-size:clamp(56px,6vw,110px);font-weight:500;line-height:1}.project-tag-pill{color:#ffffffeb;letter-spacing:0;background:#0e0d14;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500;display:inline-block}.carousel-prev,.carousel-next{-webkit-backdrop-filter:blur(8px);color:#ffffffd9;z-index:5;opacity:0;background:#12111599;border:1px solid #ffffff26;border-radius:999px;justify-content:center;align-items:center;width:48px;height:48px;transition:background .2s,border-color .2s,color .2s,opacity .3s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.projects-carousel:hover .carousel-prev,.projects-carousel:hover .carousel-next,.carousel-prev:focus-visible,.carousel-next:focus-visible{opacity:1}.carousel-prev{left:clamp(16px,2vw,40px)}.carousel-next{right:clamp(16px,2vw,40px)}.carousel-prev:hover,.carousel-next:hover{color:#fff;background:#1e1d28e6;border-color:#ffffff4d}.carousel-dots{justify-content:center;gap:12px;margin-top:clamp(48px,6vh,96px);display:flex}.carousel-dot{width:13px;height:13px;transition:background var(--dur-hover) var(--ease-figma-out);background:#d9d9d94d;border:none;border-radius:999px;padding:0}.carousel-dot.is-active{background:var(--accent-blue-active)}@keyframes projectModalIn{0%{opacity:0}to{opacity:1}}.project-modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:200;background:#121115f2;padding:5vw;animation:.4s both projectModalIn;position:fixed;inset:0;overflow-y:auto}.project-modal{--from-x:50vw;--from-y:50vh;--from-w:0px;--from-h:0px;transform-origin:0 0;border-radius:24px;max-width:1280px;margin:0 auto;animation:.9s cubic-bezier(.7,.01,.23,1.01) both modalFlipIn;position:relative;overflow:hidden}@keyframes modalFlipIn{0%{transform:translate(calc(var(--from-x) - 50vw + var(--from-w) / 2), calc(var(--from-y) - 50vh + var(--from-h) / 2)) scale(calc(var(--from-w) / 1280));opacity:.85;border-radius:24px}to{opacity:1;border-radius:24px;transform:translate(0)scale(1)}}@keyframes modalImageIn{0%{opacity:0;clip-path:inset(0 0 100%);transform:translateY(-16px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}@keyframes modalCardIn{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@keyframes modalTextIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes modalCloseIn{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.project-modal-image{animation:.6s cubic-bezier(.7,.01,.23,1.01) .15s both modalImageIn}.project-modal-card{animation:.6s cubic-bezier(.7,.01,.23,1.01) .3s both modalCardIn}.project-modal-text{opacity:0;animation:.5s ease-out both modalTextIn}.project-modal-text:first-of-type{animation-delay:.5s}.project-modal-text:nth-of-type(2){animation-delay:.55s}.project-modal-text:nth-of-type(3){animation-delay:.6s}.project-modal-close{animation:.3s .7s both modalCloseIn}@media (prefers-reduced-motion:reduce){.project-modal,.project-modal-image,.project-modal-card,.project-modal-text,.project-modal-close{opacity:1!important;clip-path:none!important;animation:none!important;transform:none!important}}.project-modal-image{aspect-ratio:3/2;border-radius:24px 24px 0 0;width:100%;position:relative;overflow:hidden}.project-modal-image img{object-fit:cover;width:100%;height:100%;display:block}.project-modal-image-overlay{pointer-events:none;flex-direction:column;gap:12px;display:flex;position:absolute;bottom:clamp(20px,3vw,48px);left:clamp(24px,4vw,64px)}.project-modal-title{letter-spacing:-.01em;color:#fff;text-shadow:0 2px 18px #00000073;margin:0;font-size:clamp(56px,7vw,120px);font-weight:500;line-height:1}.project-modal-card{background:var(--bg-card);border-radius:0 0 24px 24px;padding:clamp(32px,4vw,64px)}.project-modal-text{text-align:left;color:#ffffffbf;max-width:1100px;margin:0 auto 1.2em;font-size:clamp(14px,.85vw,16px);line-height:1.65}.project-modal-text:last-child{margin-bottom:0}.project-modal-layout{grid-template-columns:1fr .7fr;align-items:start;gap:clamp(40px,4vw,80px);display:grid}.project-modal-mockups-col{justify-content:center;align-items:center;min-height:600px;display:flex;position:relative}.project-modal-mockup{filter:drop-shadow(0 12px 32px #00000080);border-radius:28px;width:75%;position:absolute}.project-modal-mockup.mockup-1{z-index:1;transform:rotate(-8deg)translate(-15%)}.project-modal-mockup.mockup-2{z-index:2;width:60%;transform:rotate(6deg)translate(20%)translateY(20%)}@media (max-width:720px){.project-modal-layout{grid-template-columns:1fr;gap:32px}.project-modal-mockups-col{min-height:400px}.project-modal-mockup.mockup-1{transform:rotate(-6deg)translate(-10%)}.project-modal-mockup.mockup-2{transform:rotate(5deg)translate(15%)translateY(20%)}}.project-modal-close{-webkit-backdrop-filter:blur(6px);color:#fff;z-index:2;background:#12111566;border:none;border-radius:999px;justify-content:center;align-items:center;width:48px;height:48px;transition:background .2s;display:inline-flex;position:absolute;top:24px;right:24px}.project-modal-close:hover{background:#1e1d28d9;border-color:#fff6}@media (max-width:720px){.project-card{aspect-ratio:4/5;flex-basis:86vw}.carousel-track{gap:16px}.carousel-prev,.carousel-next{display:none}.project-title{font-size:clamp(48px,14vw,80px)}.project-modal-title{font-size:clamp(40px,12vw,64px)}.project-modal-overlay{padding:16px}.project-modal-card{padding:24px}.project-modal-close{width:40px;height:40px;top:12px;right:12px}}.news{isolation:isolate;flex-direction:column;justify-content:center;min-height:100vh;padding:clamp(80px,8vw,160px) 0 clamp(60px,6vw,120px);display:flex;position:relative;overflow:hidden}.news-timeline{flex-direction:column;gap:clamp(48px,5vw,96px);max-width:1280px;margin:0 auto;padding:0;list-style:none;display:flex;position:relative}.news-timeline:before{content:"";z-index:0;background:#ffffff2e;width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.news-row{z-index:1;grid-template-columns:1fr clamp(80px,8vw,140px) 1fr;align-items:center;gap:clamp(20px,2.5vw,48px);display:grid;position:relative}.news-row__text{text-align:right;grid-column:1;justify-self:end;max-width:420px}.news-row__axis{grid-column:2}.news-row__media{grid-column:3;justify-self:start;width:100%;max-width:460px}.news-row--right .news-row__text{text-align:left;grid-column:3;justify-self:start}.news-row--right .news-row__media{grid-column:1;justify-self:end}.news-row__axis{flex-direction:column;justify-content:center;align-items:center;min-height:60px;display:flex;position:relative}.news-row__dot{background:var(--fg);border-radius:999px;flex-shrink:0;width:11px;height:11px}.news-row__date{white-space:nowrap;color:#e3e3e38c;letter-spacing:.02em;font-size:clamp(11px,.78vw,14px);position:absolute;top:calc(50% + 14px);left:50%;transform:translate(-50%)}.news-row__kicker{color:#e3e3e3b3;letter-spacing:.02em;margin:0 0 6px;font-size:clamp(13px,.95vw,18px);font-weight:500}.news-row__title{color:var(--fg);letter-spacing:-.005em;margin:0;font-size:clamp(18px,1.4vw,28px);font-weight:500;line-height:1.2}.news-row__media{aspect-ratio:4/3;border-radius:14px;overflow:hidden}.news-row__media img{object-fit:cover;width:100%;height:100%;transition:transform .4s var(--ease-figma-out);display:block}.news-row:hover .news-row__media img{transform:scale(1.04)}.media-fallback{background:linear-gradient(135deg,#1a1920,#0f0e14)}.news-cta-wrap{flex-direction:column;align-items:center;gap:24px;margin-top:clamp(48px,5vw,88px);display:flex;position:relative}.news-axis-arrow{color:#ffffff73;font-size:14px;line-height:1}.news-cta{color:var(--fg);transition:background var(--dur-hover) var(--ease-figma-out), border-color var(--dur-hover) var(--ease-figma-out);border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:8px;padding:12px 28px;font-size:clamp(13px,.95vw,16px);font-weight:500;display:inline-flex}.news-cta:hover{background:#ffffff0d;border-color:#fff6}.news-row.reveal{transition:opacity var(--dur-vertical-scroll) var(--ease-figma-out), transform var(--dur-vertical-scroll) var(--ease-figma-out)}.news-row.reveal-delay-1{transition-delay:60ms}.news-row.reveal-delay-2{transition-delay:.16s}.news-row.reveal-delay-3{transition-delay:.26s}.news-row.reveal-delay-4{transition-delay:.36s}.news-row.reveal-delay-5{transition-delay:.46s}.news-cta-wrap.reveal-fade{transition:opacity var(--dur-vertical-scroll) var(--ease-figma-out) .6s}@media (max-width:720px){.news-timeline{gap:32px}.news-timeline:before{left:18px;transform:none}.news-row,.news-row--right{grid-template-columns:36px 1fr;gap:16px}.news-row__axis,.news-row--right .news-row__axis{grid-column:1;min-height:0}.news-row__text,.news-row--right .news-row__text{text-align:left;grid-column:2;justify-self:start;max-width:100%}.news-row__media,.news-row--right .news-row__media{aspect-ratio:16/10;grid-column:1/-1;max-width:100%;margin-left:36px}.news-row__date{margin-top:4px;position:static;transform:none}}@media (prefers-reduced-motion:reduce){.news-row.reveal-delay-1,.news-row.reveal-delay-2,.news-row.reveal-delay-3,.news-row.reveal-delay-4,.news-row.reveal-delay-5,.news-cta-wrap.reveal-fade{transition-delay:0s}.news-row__media img{transition:none}}.contact{flex-direction:column;min-height:100vh;padding-top:clamp(80px,8vw,140px);padding-bottom:clamp(40px,4vw,80px);display:flex;position:relative;overflow:hidden}.contact:before{content:"";aspect-ratio:1;filter:blur(70px);opacity:.55;pointer-events:none;z-index:0;background:radial-gradient(circle,#955cc438 0%,#6e44a41a 40%,#0000 70%);width:clamp(220px,22vw,360px);position:absolute;top:38%;left:14%}.contact-bg{color:#aab4e62e;letter-spacing:.02em;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;opacity:0;transition:opacity .7s var(--ease-figma-out) .7s;padding-left:clamp(8px,1vw,24px);font-family:ui-monospace,SF Mono,monospace;font-size:clamp(11px,.83vw,16px);font-weight:400;line-height:1.7;position:absolute;inset:0}.contact-bg.reveal.visible{opacity:1}.contact-bg span{white-space:pre;color:#aab4e62e;position:absolute}.contact-orb{filter:blur(60px);pointer-events:none;z-index:0;background:radial-gradient(#955cc459 0%,#6e44a429 35%,#0000 70%);border-radius:50%;width:clamp(220px,17vw,290px);height:clamp(220px,17vw,290px);position:absolute;top:22%;left:78%;transform:translate(-50%,-50%)}.contact-orb-3d{aspect-ratio:580/440;z-index:1;pointer-events:none;opacity:0;width:clamp(280px,22vw,400px);transition:opacity var(--dur-vertical-scroll) var(--ease-figma-out) .8s, transform var(--dur-vertical-scroll) var(--ease-figma-out) .8s;position:absolute;top:clamp(40px,3vw,70px);right:clamp(20px,3vw,60px);transform:scale(.18)}.contact-orb-3d.reveal.visible{opacity:1;animation:orb-float 14s ease-in-out calc(var(--dur-vertical-scroll) + .8s) infinite;transform:scale(1)}.iridescent-svg{width:100%;height:100%;display:block}.iridescent-img{object-fit:contain;filter:drop-shadow(0 18px 38px #b49cff59);width:100%;height:100%;display:block}.contact-orb-3d:after{content:"";filter:blur(56px);z-index:-1;pointer-events:none;background:radial-gradient(at 50% 65%,#b89cff73 0%,#ff8de226 40%,#0000 70%);border-radius:50%;position:absolute;inset:-25%}@keyframes orb-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(2deg)}}@media (prefers-reduced-motion:reduce){.contact-orb-3d,.contact-orb-3d.reveal.visible{opacity:1;animation:none;transform:scale(1)}}.contact-inner{z-index:1;grid-template-columns:1.45fr .55fr;align-items:start;gap:clamp(40px,5vw,96px);display:grid;position:relative}.contact-spacer{min-height:1px}.contact-headline h2{letter-spacing:-.025em;font-size:clamp(48px,5.2vw,88px);font-weight:700;line-height:.98}.contact-headline.reveal{transform:translateY(60px)}.contact-headline.reveal.visible{transform:translateY(0)}.contact-sub{opacity:0;transition:opacity var(--dur-vertical-scroll) var(--ease-figma-out) .2s, transform var(--dur-vertical-scroll) var(--ease-figma-out) .2s;transform:translateY(24px)}.contact-headline.reveal.visible .contact-sub{opacity:1;transform:translateY(0)}.contact-form.reveal{transition-delay:1s}.contact-headline h2 span{color:var(--fg);display:block}.contact-sub{background:var(--gradient-text);color:#0000;-webkit-background-clip:text;background-clip:text;margin-top:24px;font-size:clamp(18px,1.46vw,28px);font-weight:500}.contact-form{z-index:1;flex-direction:column;gap:clamp(20px,1.67vw,32px);width:100%;max-width:820px;margin:clamp(28px,2.6vw,44px) auto 0;display:flex;position:relative}.field{transition:background .28s var(--ease-figma-out);background:#ffffff24;border-radius:999px;padding:1px;position:relative}.field:focus-within,.contact-form[data-stage=subject-filled] .field,.contact-form[data-stage=composing] .field,.contact-form[data-stage=sent] .field{background:#ffffff38}.field input{width:100%;color:var(--fg);-webkit-backdrop-filter:blur(6px);background:#14141ceb;border:none;border-radius:999px;outline:none;padding:clamp(14px,1.04vw,20px) clamp(20px,1.46vw,28px);font-family:inherit;font-size:clamp(15px,1.04vw,20px);font-weight:400;display:block}.field-email{opacity:0;pointer-events:none;transition:opacity .32s var(--ease-figma-out), transform .32s var(--ease-figma-out);border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:16px;display:flex;transform:translateY(8px)}.contact-form[data-stage=subject-filled] .field-email,.contact-form[data-stage=composing] .field-email,.contact-form[data-stage=sent] .field-email{opacity:1;pointer-events:auto;transform:translateY(0)}.field-email input{color:var(--fg-dim);background:0 0;border:none;border-radius:0;outline:none;flex:1;padding:12px 4px;font-family:inherit;font-size:clamp(15px,1.04vw,20px);font-weight:400}.field input::placeholder{color:var(--fg-muted)}.submit{white-space:nowrap;color:var(--accent-violet);cursor:pointer;opacity:0;pointer-events:none;transition:color .28s var(--ease-figma-out), opacity .28s var(--ease-figma-out), transform .28s var(--ease-figma-out);background:0 0;border:0;align-items:center;gap:12px;padding:8px 4px;font-size:clamp(16px,1.25vw,22px);font-weight:500;display:inline-flex;transform:translate(-4px)}.contact-form[data-stage=composing] .submit,.contact-form[data-stage=sent] .submit{opacity:1;pointer-events:auto;transform:translate(0)}.submit:hover{opacity:.8}.submit:active{transform:scale(.96)}.submit:disabled{cursor:default}.submit.sent{color:var(--accent-success);opacity:1}.contact-footer{z-index:1;color:#ffffff59;grid-template-columns:1fr auto;align-items:end;gap:16px;margin-top:auto;padding-top:clamp(40px,4vw,80px);font-size:clamp(10px,.7vw,13px);line-height:1.6;display:grid;position:relative}.contact-footer-center{text-align:center;grid-area:1/1/auto/-1;justify-self:center}.contact-footer-center p{margin:0}.contact-footer-loc{grid-area:1/2;justify-self:end;margin:0}@media (max-width:720px){.contact-footer{text-align:center;grid-template-columns:1fr}.contact-footer-loc{grid-area:2/1;justify-self:center}.contact-inner{grid-template-columns:1fr;gap:32px}.contact-orb-3d{width:min(280px,70vw);margin:32px auto;position:relative;top:auto;right:auto}.contact-spacer{display:none}.contact-form{max-width:100%}.contact-sub{margin-top:16px}}.site-footer{color:#e3e3e380;letter-spacing:0;padding:clamp(20px,1.6vw,32px) 0;font-size:clamp(11px,.7vw,13px);font-weight:400;line-height:1.6}.footer-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;display:grid}.footer-center{text-align:center;grid-column:2}.footer-center p{margin:2px 0}.footer-loc{color:#e3e3e380;grid-column:3;justify-self:end;margin:0}.footer-links{color:#e3e3e380}.footer-links a:hover{opacity:.8}.footer-meta{color:#e3e3e380}@media (max-width:720px){.footer-inner{text-align:center;grid-template-columns:1fr}.footer-center,.footer-loc{grid-column:1;justify-self:center}}.site-pre{visibility:hidden}.site-ready{visibility:visible}main{padding-top:var(--header-h)}section{padding:120px 0;position:relative}@media (max-width:720px){section{padding:80px 0}}
