@font-face{font-family:"Familjen Grotesk";font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/redbanana/familjen-grotesk-var.woff2)format("woff2-variations"),url(assets/fonts/redbanana/familjen-grotesk-var.woff2)format("woff2")}@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(assets/fonts/redbanana/bricolage-grotesque-var.woff2)format("woff2-variations"),url(assets/fonts/redbanana/bricolage-grotesque-var.woff2)format("woff2")}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/redbanana/ibm-plex-mono-500.woff2)format("woff2")}:root{--ground:#080808;--ink:#E1E5E5;--grey-1:#141414;--grey-2:#212121;--grey-3:#333333;--grey-4:#525252;--grey-5:#7d7d7d;--grey-6:#aeaeae;--red:#e2422e;--red-deep:#a92f21;--radius-pill:99vw;--radius:2px;--font-display:"Familjen Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:"Familjen Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--size-h1:clamp(3rem, 8vw, 6.4rem);--size-h2:clamp(2rem, 5vw, 3.6rem);--size-h3:clamp(1.25rem, 2.4vw, 1.75rem);--size-body:clamp(1rem, 1vw + 0.85rem, 1.125rem);--size-eyebrow:0.8125rem;--tracking-display:-0.02em;--section-pad-y:clamp(72px, 12vw, 160px);--section-pad-x:clamp(20px, 5vw, 64px);--content-max:1240px;color-scheme:dark}*,::before,::after{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font-body);font-size:var(--size-body);line-height:1.6;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}::selection{background:var(--ink);color:var(--ground)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:var(--tracking-display);text-transform:uppercase;margin:0;text-wrap:balance}h1{font-size:var(--size-h1);line-height:.98}h2{font-size:var(--size-h2);line-height:1.02}h3{font-size:var(--size-h3);line-height:1.15}p{margin:0 0 1em;max-width:62ch}p:last-child{margin-bottom:0}.mono,.num,.kicker,[data-figure]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.skip-link{position:fixed;top:8px;left:8px;z-index:200;padding:10px 14px;background:var(--ink);color:var(--ground);font-family:var(--font-display);font-weight:700;transform:translateY(-160%);border-radius:var(--radius)}.skip-link:focus{transform:none}.skip-link:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.wrap{max-width:var(--content-max);margin:0 auto;padding:0 var(--section-pad-x);position:relative;z-index:1}.v3-section{padding:var(--section-pad-y)0;position:relative}.v3-section .kicker{font-size:var(--size-eyebrow);letter-spacing:.28em;text-transform:uppercase;color:var(--grey-6);margin-bottom:1.2em;display:block}.v3-section--inverted{background:var(--ink);color:var(--ground)}.v3-section--inverted .kicker{color:var(--grey-4)}.btn{display:inline-flex;align-items:center;gap:.5em;padding:.85em 1.6em;border-radius:var(--radius-pill);font-family:var(--font-display);font-weight:700;font-size:.9375rem;letter-spacing:.01em;text-transform:uppercase;border:1px solid var(--grey-3);transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;min-height:44px}.btn-primary{background:var(--ink);border-color:var(--ink);color:var(--ground)}.btn-primary:hover,.btn-primary:focus-visible{background:var(--grey-6);border-color:var(--grey-6)}#footer-statement .btn-primary{background:var(--red);border-color:var(--red);color:var(--ground)}#footer-statement .btn-primary:hover,#footer-statement .btn-primary:focus-visible{background:var(--red-deep);border-color:var(--red-deep);color:var(--ink)}.btn-ghost{background:0 0;color:var(--ink);border-color:var(--grey-4)}.btn-ghost:hover,.btn-ghost:focus-visible{border-color:var(--ink)}.v3-section--inverted .btn-ghost{border-color:var(--grey-5);color:var(--ground)}.cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.v3-nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:18px var(--section-pad-x);background:rgba(8,8,8,.6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .4s cubic-bezier(.65,0,.35,1)}.v3-nav.is-hidden{transform:translateY(-100%)}.v3-nav .wordmark{display:inline-flex;align-items:center;gap:10px}.wordmark-lockup{height:42.19px;width:auto;display:block;overflow:visible}.wordmark-tiles rect[data-order]{transform-box:fill-box;transform-origin:center}.wordmark.is-live .wordmark-tiles rect[data-order]{animation:v3-wordmark-ripple .2s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc((var(--i) - 1)*20ms)}@keyframes v3-wordmark-ripple{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.wordmark-word-wrap{clip-path:inset(0 0 0 0);opacity:1;transition:clip-path .3s cubic-bezier(.16,1,.3,1),opacity .3s cubic-bezier(.16,1,.3,1);transform-box:fill-box;transform-origin:left center;transform:scale(1.4)}.v3-nav.is-past-hero .wordmark-word-wrap{clip-path:inset(0 100%0 0);opacity:0}.v3-nav-links{display:flex;gap:28px}.v3-nav-links a{font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--grey-6);padding:6px 0;border-bottom:1px solid transparent;min-height:44px;display:inline-flex;align-items:center;transition:color .2s ease,border-color .2s ease}.v3-nav-links a:hover,.v3-nav-links a:focus-visible,.v3-nav-links a.is-current{color:var(--ink);border-bottom-color:var(--ink)}.v3-menu-toggle{display:none;background:0 0;border:0;color:var(--ink);font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;min-height:44px;min-width:44px;cursor:pointer}@media (max-width:760px){.v3-nav-links{display:none}.v3-nav.is-menu-open{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--ground)}.v3-nav-links.is-open{display:flex;position:fixed;inset:0;top:80px;flex-direction:column;gap:0;background:var(--ground);padding:24px var(--section-pad-x)}.v3-nav-links.is-open a{padding:16px 0;border-bottom:1px solid var(--grey-2);width:100%}.v3-menu-toggle{display:block}.wordmark-lockup{height:36.92px}.wordmark-word-wrap{transform:scale(1.3)}}.v3-loader{position:fixed;inset:0;z-index:300;background:var(--ground);display:flex;align-items:center;justify-content:center;transition:opacity .5s ease}.v3-loader[hidden]{display:none}html:not(.js) .v3-loader{display:none}.loader-lockup{position:absolute;left:50%;top:50%;width:clamp(320px,42vw,640px);height:auto;display:block;transform:translate(-50%,-50%)}@media (max-width:760px){.loader-lockup{width:clamp(240px,82vw,340px)}}html.js:not(.reduced-motion) .loader-tiles rect[data-order],html.js:not(.reduced-motion) .loader-plug{transform-box:fill-box;transform-origin:center;transform:scale(0);opacity:0}html.js:not(.reduced-motion) .loader-tiles rect[data-order].is-in,html.js:not(.reduced-motion) .loader-plug.is-in{animation:v3-tile-snap-in .18s cubic-bezier(.34,1.56,.64,1) forwards}html.js:not(.reduced-motion) .loader-plug.is-in{animation-duration:.22s}html.js:not(.reduced-motion) .loader-word1,html.js:not(.reduced-motion) .loader-word2{opacity:0;filter:blur(6px)}html:not(.js) .loader-tiles rect[data-order],html:not(.js) .loader-plug,html.reduced-motion .loader-tiles rect[data-order],html.reduced-motion .loader-plug{transform:none;opacity:1}html:not(.js) .loader-word1,html:not(.js) .loader-word2,html.reduced-motion .loader-word1,html.reduced-motion .loader-word2{opacity:1;filter:none}@keyframes v3-tile-snap-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes v3-word-blur-in{0%{opacity:0;filter:blur(6px)}to{opacity:1;filter:blur(0)}}html.js:not(.reduced-motion) [data-reveal]{opacity:0;filter:blur(5px);transform:translateY(110%)}html.js:not(.reduced-motion) .v3-reveal-in-view{transition:opacity .75s cubic-bezier(.25,.46,.45,.94),filter .75s cubic-bezier(.25,.46,.45,.94),transform .75s cubic-bezier(.25,.46,.45,.94)}html:not(.js) [data-reveal],html.reduced-motion [data-reveal]{opacity:1;filter:none;transform:none}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;filter:none!important;transform:none!important}*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}canvas{background:var(--grey-1)}.foot-lockup{height:36px;width:auto;display:block;margin:0 0 14px}#contact-cta{background:var(--grey-1);border-top:1px solid var(--grey-2);padding:var(--section-pad-y)0 40px}#contact-cta .foot-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;padding-bottom:48px}#contact-cta h2{font-size:clamp(1.75rem,4vw,2.75rem);margin-bottom:.6em}#contact-cta h2 em{font-style:normal;color:var(--grey-6)}#contact-cta .foot-meta{font-family:var(--font-mono);font-size:.8125rem;color:var(--grey-6);line-height:1.8}#contact-cta .foot-meta a{color:var(--ink);border-bottom:1px solid var(--grey-4)}.foot-links{display:flex;flex-wrap:wrap;gap:24px;border-top:1px solid var(--grey-2);padding-top:24px;margin-top:24px;font-family:var(--font-mono);font-size:.8125rem}.foot-links a{text-decoration:underline;text-underline-offset:3px;color:var(--grey-6)}.foot-links a,#contact-cta .foot-meta a{display:inline-block;padding:6px 0}footer a,.all-link,.skeleton-more,.case-link a,.case a{display:inline-block;padding-top:5px;padding-bottom:5px}a[href^="tel:"]{white-space:nowrap}.foot-links a:hover,.foot-links a:focus-visible{color:var(--ink)}.legal{margin-top:24px;display:flex;flex-direction:column;gap:6px;font-family:var(--font-mono);font-size:.75rem;color:var(--grey-6)}@media (max-width:760px){#contact-cta .foot-grid{grid-template-columns:1fr}}@media (max-width:760px){:root{--section-pad-y:clamp(56px, 14vw, 96px)}}.hero .inner{position:relative;min-height:100vh;box-sizing:border-box;padding:0}.hero .v3-hero-stage{position:absolute;left:0;right:0;top:33.333%;bottom:112px;height:auto;z-index:0}.hero .v3-hero-poster,.hero canvas.v3-hero-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero canvas.v3-hero-canvas{z-index:1;background:0 0}.hero .hero-content{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;padding:0 var(--section-pad-x);pointer-events:none}.hero .hero-text{flex:0 0 33.333%;min-height:0;width:100%;max-width:42rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-top:88px}.hero .hero-text>*{flex-shrink:0}.hero .hero-content h1{margin-bottom:.22em;font-size:clamp(1.75rem,min(3.4vw,5.2vh),2.75rem);line-height:1.05;max-width:16ch;text-align:center}.hero .hero-content h1 .line{display:block}.hero .hero-content h1 em{font-style:normal;color:var(--grey-6)}.hero .hero-content p:not(.kicker){max-width:42rem}.hero .hero-content .kicker{margin-bottom:.5em}.hero .hero-content p:not(.kicker){font-size:.9375rem;line-height:1.3;margin-bottom:.5em;color:var(--grey-6)}@media (min-width:761px) and (max-height:820px){.hero .hero-text{padding-top:64px}.hero .hero-content .kicker{margin-bottom:.2em;font-size:.75rem}.hero .hero-content h1{font-size:clamp(.85rem,min(2.6vw,3.6vh),3.25rem);line-height:1;margin-bottom:.12em}.hero .hero-content p:not(.kicker){font-size:.75rem;line-height:1.2;margin-bottom:.3em}}@media (min-width:761px) and (max-height:420px){.hero .hero-text{padding-top:104px}.hero .hero-content .kicker{font-size:.6875rem;margin-bottom:.15em}.hero .hero-content h1{font-size:clamp(.8rem,min(2.3vw,3.1vh),2.6rem);line-height:.95;margin-bottom:.08em}.hero .hero-content p:not(.kicker){font-size:.6875rem;line-height:1.1;margin-bottom:.15em}.hero .v3-hero-stage{top:39%}}.hero .hero-content .cta-row{margin-top:auto;margin-bottom:56px;justify-content:center;pointer-events:auto}.hero .scroll-cue{position:absolute;left:var(--section-pad-x);bottom:32px;z-index:2;display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.2em;color:var(--grey-5)}.hero .scroll-cue .rail{width:1px;height:32px;background:var(--grey-3);position:relative;overflow:hidden}.hero .scroll-cue .rail i{position:absolute;top:0;left:0;width:100%;height:40%;background:var(--ink);animation:v3-rail 1.6s ease-in-out infinite}@keyframes v3-rail{0%{transform:translateY(-100%)}to{transform:translateY(250%)}}.hero.v3-section{padding:0}@media (max-width:760px){.hero .hero-text{flex:0 0 auto;padding-top:84px;padding-bottom:0}.hero .hero-content .kicker{margin-bottom:.25em}.hero .hero-content h1{font-size:clamp(1.25rem,6vw,1.8rem);margin-bottom:.2em}.hero .hero-content p:not(.kicker){font-size:.9375rem;line-height:1.35;margin-bottom:.25em}.hero .hero-content .cta-row{margin-top:4px;margin-bottom:0;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:280px}.hero .hero-content .cta-row .btn{padding:.55em 1.4em}.hero .v3-hero-stage{top:auto;bottom:0;height:55%}}#engineering .inner{position:relative}#engineering canvas{position:sticky;top:0;width:100%;height:60vh;z-index:0}.hero .v3-hero-stage.is-engineering-live{position:fixed;z-index:0}.engineering-captions{list-style:none;margin:40px 0 0;padding:0;position:relative;z-index:1}.engineering-captions li{border-top:1px solid var(--grey-2);padding-top:14px;margin-top:28px}.engineering-captions li:first-child{margin-top:0}.engineering-captions .num{color:var(--grey-6);display:block;margin-bottom:6px}html.js:not(.reduced-motion) .engineering-captions{display:grid;position:absolute;left:0;bottom:calc(var(--section-pad-y) + 48px);max-width:34ch;margin:0}html.js:not(.reduced-motion) .engineering-captions li{grid-area:1/1;margin-top:0;opacity:0;pointer-events:none;transition:opacity .3s ease}html.js:not(.reduced-motion) .engineering-captions li.is-live{opacity:1;pointer-events:auto}html.js:not(.reduced-motion) .engineering-captions li.is-dead{opacity:0!important;pointer-events:none}html.js:not(.reduced-motion) .engineering-captions::before{content:"";position:absolute;inset:-28px -24px -28px -12px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 120% 135%at 32% 45%,rgba(8,8,8,.85)0,rgba(8,8,8,.55) 48%,rgba(8,8,8,0) 80%)}.ring-fallback{list-style:none;margin:48px 0 0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.ring-fallback img{border-radius:var(--radius);aspect-ratio:3/2;object-fit:cover}.ring-fallback figure{margin:0}.ring-fallback figcaption{font-family:var(--font-mono);font-size:.75rem;color:var(--grey-5);margin-top:6px}html.js:not(.reduced-motion) .ring-fallback{display:none}@media (max-width:760px){.ring-fallback{grid-template-columns:repeat(2,1fr)}.hero .v3-hero-stage.is-engineering-live{bottom:152px}html.js:not(.reduced-motion) .engineering-captions{left:var(--section-pad-x);right:var(--section-pad-x);max-width:none;bottom:calc(var(--section-pad-y) + 16px)}html.js:not(.reduced-motion) .engineering-captions::before{inset:-28px -16px -28px -12px}}@media (min-width:761px) and (max-height:500px){html.js:not(.reduced-motion) .engineering-captions{bottom:calc(var(--section-pad-y) + 12px);max-width:40ch}.engineering-captions li{padding-top:8px}.engineering-captions li .num{font-size:.6875rem;margin-bottom:3px}.engineering-captions li h3{font-size:clamp(1rem,5vh,1.375rem);line-height:1.1;margin-bottom:.2em}.engineering-captions li p{font-size:.75rem;line-height:1.25}}.wall-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px}.wall-tile{border-top:1px solid var(--grey-3);padding-top:14px}.v3-section--inverted .wall-tile{border-top-color:rgba(8,8,8,.15)}.wall-figure{display:block;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:500;line-height:1;margin-bottom:8px}.wall-label{display:block;font-size:.875rem;color:inherit;opacity:.7}@media (max-width:760px){.wall-grid{grid-template-columns:repeat(2,1fr)}}.photo-chapter{position:relative;margin-bottom:4px}.photo-chapter img{width:100%;height:80vh;object-fit:cover}.photo-chapter .chapter-line{position:absolute;left:var(--section-pad-x);bottom:40px;max-width:34ch;font-family:var(--font-display);font-size:clamp(1.25rem,2.5vw,2rem);text-transform:none;letter-spacing:normal;color:var(--ink);text-shadow:0 2px 24px rgba(0,0,0,.6)}.all-link{display:inline-block;margin:12px 0 40px;color:var(--grey-6);text-decoration:underline;text-underline-offset:3px}.cap-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--grey-2)}.cap-item{border-bottom:1px solid var(--grey-2)}.cap-item a{display:grid;grid-template-columns:3rem 1fr;gap:20px;padding:22px 0;align-items:baseline}.cap-item .num{color:var(--grey-6)}.cap-item.is-live .num,.cap-item:hover .num,.cap-item:focus-within .num{color:var(--red)}.cap-item h3{font-size:clamp(1.1rem,2vw,1.5rem)}.cap-item .cap-desc{grid-column:2;color:var(--grey-6);margin-top:6px;max-width:56ch}.cap-item:hover,.cap-item:focus-within{background:var(--grey-1)}.cs-tomb{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 24px;margin:24px 0;padding:20px;border:1px solid var(--grey-2);border-radius:var(--radius)}.cs-tomb dt{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-5)}.cs-tomb dd{margin:2px 0 0;font-weight:600}.stat-row{display:flex;flex-wrap:wrap;gap:28px;margin:24px 0}.stat-row .stat{display:flex;flex-direction:column}.stat-row .stat b{font-size:1.75rem;color:var(--ink)}.stat-row .stat span{font-size:.75rem;color:var(--grey-6)}.cs-figure{margin:32px 0 0}.cs-figure img{width:100%;border-radius:var(--radius)}.cs-figure figcaption{font-family:var(--font-mono);font-size:.75rem;color:var(--grey-5);margin-top:8px}.replicas-poster{margin-top:32px;max-width:420px;border-radius:var(--radius)}.skeleton-more{display:inline-block;margin-top:24px;color:var(--grey-6);text-decoration:underline;text-underline-offset:3px}.faq-list{margin:32px 0 0;padding:0}.faq-row{border-top:1px solid var(--grey-2);padding:20px 0}.faq-q{font-weight:700;margin-bottom:8px}.faq-a{margin:0;color:var(--grey-6)}@view-transition{navigation:auto}::view-transition-old(root){animation:v3-vt-fade-to-black .22s cubic-bezier(.7,0,.84,0) both}::view-transition-new(root){animation:v3-vt-fade-from-black .34s cubic-bezier(.16,1,.3,1) both}@keyframes v3-vt-fade-to-black{to{opacity:0}}@keyframes v3-vt-fade-from-black{0%{opacity:0}}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none}}