@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600.woff2)format("woff2")}:root{--black:#090909;--white:#fff;--light-gray:#f4f4f4;--ease:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{background:var(--white);min-height:100%;margin:0}body{color:var(--black);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}button:focus-visible,a:focus-visible{outline-offset:3px;outline:2px solid #2167ff}.site-shell{background:#fff;min-height:100svh;display:block;position:relative;overflow-x:clip}.video-stage{z-index:0;transform-origin:50%;background:#0a0a0a;border-radius:2px;width:88%;height:78svh;position:absolute;top:11svh;left:50%;overflow:hidden;translate:-50%}.computer-hero{--look-x:0;--look-y:0;--tilt-x:0deg;--tilt-y:0deg;z-index:5;pointer-events:none;perspective:1000px;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.computer-hero__halo{aspect-ratio:1;background:radial-gradient(circle,#00000009,#0000 68%);border:1px solid #00000014;border-radius:50%;width:min(78vw,660px);position:absolute;top:15%;left:50%;transform:translate(-50%)}.computer-head{aspect-ratio:1;width:min(94vw,720px);transform:translate3d(calc(var(--look-x) * 9px), calc(var(--look-y) * 6px), 0) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;transition:transform .18s ease-out;position:relative}.computer-head__shell{object-fit:contain;filter:drop-shadow(0 28px 30px #00000021);-webkit-user-select:none;user-select:none;width:100%;height:100%}.computer-screen{--screen-bg:#06120f;--screen-dim:#e8ff0033;--screen-ink:#e8ff00;z-index:3;background:radial-gradient(circle at 48% 44%, color-mix(in srgb, var(--screen-ink) 7%, transparent), transparent 62%), var(--screen-bg);width:40%;height:30.6%;color:var(--screen-ink);font:inherit;border:1px solid #ffffff0e;border-radius:5% 4% 6% 6%/5% 4% 7% 7%;padding:0;position:absolute;top:28.2%;left:47.7%;overflow:hidden;transform:translate(-50%)translateZ(14px);box-shadow:inset 0 0 0 2px #0000006b,inset 0 0 34px #000000c7,0 0 10px #0000004d}.computer-screen--amber{--screen-bg:#170e03;--screen-dim:#ffb00033;--screen-ink:#ffb000}.computer-screen--blue{--screen-bg:#03131a;--screen-dim:#68d7ff33;--screen-ink:#68d7ff}.computer-screen--idle{cursor:pointer;pointer-events:auto}.computer-screen--idle:focus-visible{outline-offset:5px;outline-color:#000}.computer-screen:after{z-index:10;content:"";pointer-events:none;background:repeating-linear-gradient(#0000 0 3px,#ffffff09 4px),linear-gradient(115deg,#ffffff0b,#0000 28% 72%,#ffffff05);position:absolute;inset:0}.computer-screen__chrome{z-index:2;border-bottom:1px solid var(--screen-dim);letter-spacing:.12em;opacity:.72;justify-content:space-between;align-items:center;width:84%;padding-bottom:3%;font-family:Courier New,monospace;font-size:clamp(5px,.58vw,7px);font-weight:700;display:flex;position:absolute;top:13%;left:8%}.computer-screen__status{z-index:2;letter-spacing:.08em;opacity:.48;align-items:center;gap:6px;font-family:Courier New,monospace;font-size:clamp(5px,.58vw,7px);display:flex;position:absolute;top:29%;left:8%}.computer-screen__click{z-index:2;letter-spacing:.08em;opacity:0;font-family:Courier New,monospace;font-size:clamp(5px,.64vw,8px);transition:opacity .3s;position:absolute;bottom:8%;right:8%}.computer-screen--idle:hover .computer-screen__click{opacity:.55}.computer-screen__signal{width:4px;height:4px;image-rendering:pixelated;background:#e8ff00;animation:1.7s step-end infinite screen-signal;box-shadow:0 0 5px #e8ff00bf}.computer-screen__grid{z-index:0;background-image:linear-gradient(var(--screen-dim) 1px, transparent 1px), linear-gradient(90deg, var(--screen-dim) 1px, transparent 1px);opacity:.2;background-size:12px 12px;position:absolute;inset:18% 7% 8%;-webkit-mask-image:linear-gradient(#0000,#00000080 28%,#0000 94%);mask-image:linear-gradient(#0000,#00000080 28%,#0000 94%)}.computer-case-badge{z-index:4;aspect-ratio:1.4;background:#e8ff00;border:1px solid #00000047;width:5.5%;display:block;position:absolute;top:61.7%;left:47.5%;overflow:hidden;transform:translate(-50%)translateZ(16px);box-shadow:inset 0 0 0 1px #ffffff4d,0 2px 3px #00000029}.computer-case-badge img{mix-blend-mode:multiply;-webkit-user-select:none;user-select:none;width:305%;max-width:none;height:auto;position:absolute;top:50%;left:0;transform:translateY(-50%)}@media (prefers-reduced-motion:no-preference){.computer-case-badge{animation:4.5s steps(2,end) infinite badge-pulse}}@keyframes badge-pulse{0%,92%,to{filter:brightness()}94%{filter:brightness(1.3)}}@keyframes screen-signal{0%,66%,to{opacity:1}67%,82%{opacity:0}}.computer-eyes{z-index:1;justify-content:center;align-items:center;gap:13%;display:flex;position:absolute;inset:31% 10% 16%}.computer-eye{aspect-ratio:1.38;clip-path:polygon(12% 0,88% 0,88% 16%,100% 16%,100% 84%,88% 84%,88% 100%,12% 100%,12% 84%,0 84%,0 16%,12% 16%);width:31%;image-rendering:pixelated;animation:computer-blink 5.8s var(--ease) infinite;background:#e8ff00;display:block;position:relative;overflow:hidden;box-shadow:0 0 14px #e8ff0047}.computer-eye i{aspect-ratio:1;width:30%;transform:translate(calc(-50% + var(--look-x) * 15px), calc(-50% + var(--look-y) * 9px));background:#111;transition:transform 90ms steps(2,end);position:absolute;top:50%;left:50%}@keyframes computer-blink{0%,43%,47%,to{transform:scaleY(1)}45%{transform:scaleY(.05)}}.computer-screen__cursor{z-index:3;right:calc(48% - var(--look-x) * 28%);bottom:calc(28% - var(--look-y) * 18%);border-bottom:1px solid #ffffff73;border-right:1px solid #ffffff73;width:4px;height:9px;position:absolute;transform:rotate(35deg)}.computer-terminal{background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--screen-ink) 8%, transparent), transparent 72%), var(--screen-bg);color:var(--screen-ink);pointer-events:auto;flex-direction:column;padding:16% 7% 6%;font-family:Courier New,monospace;font-size:clamp(6px,.78vw,10px);line-height:1.26;display:flex}.computer-terminal__bar{z-index:2;border-bottom:1px solid var(--screen-dim);background:color-mix(in srgb, var(--screen-ink) 8%, transparent);letter-spacing:.08em;justify-content:space-between;align-items:center;width:100%;height:12%;padding:0 14% 0 6%;font-size:.82em;font-weight:700;display:flex;position:absolute;top:0;left:0}.computer-terminal__close{z-index:3;width:18px;height:18px;color:inherit;font:inherit;cursor:pointer;opacity:.55;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:0;right:2%}.computer-terminal__output{flex-direction:column;flex:1;justify-content:flex-end;min-height:0;display:flex;overflow:hidden}.computer-terminal__output span{display:block}.computer-terminal__form{flex:none;align-items:center;gap:4px;padding-top:4px;display:flex}.computer-terminal__form label{flex:none}.computer-terminal__form input{min-width:0;color:inherit;font:inherit;text-transform:lowercase;caret-color:currentColor;background:0 0;border:0;outline:0;flex:1;padding:0}.computer-terminal__submit{color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;flex:none;padding:2px 4px;display:none}.computer-terminal__submit:disabled{cursor:wait;opacity:.4}.computer-terminal__delete-meter{opacity:.78;border:1px solid;flex:none;height:3px;margin-top:4px;overflow:hidden}.computer-terminal__delete-meter span{background:currentColor;height:100%;transition:width .9s steps(8,end);display:block}html.moqro-corrupted{cursor:crosshair;background:#020500;overflow:hidden}html.moqro-corrupted body{background:#020500;overflow:hidden}html.moqro-corrupted .site-shell{filter:none;background:#020500;min-height:100svh}html.moqro-corrupted .navbar,html.moqro-corrupted .hero-content,html.moqro-corrupted .projects-section,html.moqro-corrupted .showreel-section,html.moqro-corrupted .services-section,html.moqro-corrupted .studio-section,html.moqro-corrupted .contact-section{visibility:visible;pointer-events:none;filter:grayscale()contrast(1.7)sepia()saturate(5)hue-rotate(24deg);opacity:.3;animation:.42s steps(3,end) infinite page-data-corrupt}html.moqro-corrupted .hero{background:#020500;min-height:100svh}html.moqro-corrupted .computer-hero{z-index:3000;filter:none;background:0 0;animation:none;position:fixed;inset:0;overflow:hidden}html.moqro-corrupted .computer-hero__halo{z-index:2;background:radial-gradient(circle,#e8ff0014,#0000 68%);border-color:#e8ff0038}html.moqro-corrupted .computer-head{z-index:5;transition:none;transform:none}html.moqro-corrupted .computer-head__shell{filter:grayscale()contrast(1.2)drop-shadow(0 0 30px #e8ff0024)}html.moqro-corrupted .computer-terminal{border-color:#e8ff008c;animation:none;box-shadow:inset 0 0 34px #000000e6,0 0 24px #e8ff004d}html.moqro-corrupted .computer-hint{display:none}html.moqro-repairing .navbar,html.moqro-repairing .hero-content,html.moqro-repairing .projects-section,html.moqro-repairing .showreel-section,html.moqro-repairing .services-section,html.moqro-repairing .studio-section,html.moqro-repairing .contact-section{animation:.7s steps(5,end) infinite page-data-repair}html.moqro-repairing .computer-terminal{animation:none}html.moqro-purged .computer-head__shell{opacity:.28;filter:grayscale()brightness(.35)}html.moqro-purged .computer-case-badge,html.moqro-purged .computer-hero__halo{opacity:.12}.system-corruption-layer{z-index:1;color:#e8ff00;pointer-events:none;background:radial-gradient(circle at 50% 42%,#e8ff0012,#0000 36%),#020500e0;font-family:Courier New,monospace;position:absolute;inset:0;overflow:hidden}.system-corruption-layer:before{z-index:5;content:"";background:repeating-linear-gradient(#0000 0 3px,#e8ff000b 4px);position:absolute;inset:0}.system-corruption-layer:after{z-index:4;content:"";background:#e8ff001a;height:8%;animation:2.4s steps(4,end) infinite destructive-band;position:absolute;top:18%;left:-5%;right:-5%}.system-corruption-layer__grid{opacity:.34;transform-origin:bottom;background-image:linear-gradient(#e8ff0014 1px,#0000 1px),linear-gradient(90deg,#e8ff0014 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;transform:perspective(540px)rotateX(62deg)scale(1.7)translateY(20%)}.system-corruption-layer__rain{letter-spacing:.12em;opacity:.5;text-transform:uppercase;flex-direction:column;justify-content:space-between;font-size:clamp(8px,1vw,13px);display:flex;position:absolute;inset:8% 4%}.system-corruption-layer__rain span:nth-child(odd){align-self:flex-end;animation:1.6s steps(4,end) infinite data-slip}.system-corruption-layer__rain span:nth-child(2n){animation:2.1s steps(3,end) infinite reverse data-slip}.system-corruption-layer__status{z-index:3;letter-spacing:.12em;border-bottom:1px solid #e8ff0073;justify-content:space-between;padding-bottom:10px;font-size:9px;font-weight:700;display:flex;position:absolute;top:18px;left:18px;right:18px}.system-corruption-layer__number{z-index:0;color:#e8ff0014;letter-spacing:-.12em;font-size:clamp(16rem,52vw,48rem);font-weight:400;line-height:.7;position:absolute;top:50%;left:50%;transform:translate(-53%,-48%)}.system-corruption-layer__warning{z-index:3;letter-spacing:.11em;background:#020500;border:1px solid #e8ff0080;padding:7px 10px;font-size:9px;font-weight:700;position:absolute;bottom:18px;right:18px}.system-corruption-layer.is-purged .system-corruption-layer__grid,.system-corruption-layer.is-purged .system-corruption-layer__rain{opacity:.08}.system-corruption-layer.is-purged:after{opacity:0;animation:none}.system-corruption-layer.is-repairing{background:repeating-linear-gradient(90deg,#e8ff000a 0 2px,#0000 2px 30px),#020500d1}.system-corruption-layer.is-repairing .system-corruption-layer__number{animation:.7s steps(2,end) infinite repair-pulse}@keyframes corrupt-frame{0%,to{transform:translate(0)}33%{transform:translate(2px,-1px)}66%{transform:translate(-2px,1px)}}@keyframes page-data-corrupt{0%,to{clip-path:inset(0);transform:translate(0)}35%{clip-path:inset(0 0 2%);transform:translate(-3px,1px)skew(-.5deg)}67%{clip-path:inset(1% 0 0);transform:translate(4px,-1px)skew(.8deg)}}@keyframes page-data-repair{0%,to{opacity:.3;transform:translate(-2px)}50%{opacity:.5;transform:translate(2px)}}@keyframes destructive-band{0%{transform:translateY(-260%)}to{transform:translateY(860%)}}@keyframes data-slip{0%,74%,to{opacity:.5;transform:translate(0)}75%{opacity:.9;transform:translate(28px)}}@keyframes repair-frame{0%,to{filter:brightness()}50%{filter:brightness(1.45)}}@keyframes repair-pulse{50%{opacity:.25}}.computer-hint{color:#0000006b;letter-spacing:.07em;text-transform:uppercase;flex-direction:column;align-items:flex-end;gap:4px;font-size:8px;font-weight:500;display:flex;position:absolute;top:110px;right:16px}.video-stage video{object-fit:cover;object-position:center;width:100%;height:100%}.video-overlay{pointer-events:none;background:linear-gradient(#ffffff14,#0000 30% 70%,#ffffff29);position:absolute;inset:0}.navbar{z-index:80;pointer-events:none;justify-content:space-between;align-items:center;width:100%;padding:16px;display:flex;position:fixed;top:0;left:0}.navbar>*,.navbar button,.navbar a{pointer-events:auto}.nav-cluster{align-items:center;gap:8px;display:flex}.brand-logo{background:0 0;justify-content:center;align-items:center;width:42px;height:40px;transition:opacity .25s;display:flex;overflow:hidden}.brand-logo:hover{opacity:.7}.brand-logo__mark{flex:none;width:36px;height:36px;display:block}.brand-logo__wordmark{display:none}.menu-button{background:var(--black);height:40px;color:var(--white);cursor:pointer;transition:padding .3s var(--ease), background .3s ease;border:0;border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 4px;display:flex}.menu-button:hover{background:#202020;padding-right:16px}.menu-button__icon{color:#000;background:#fff;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.menu-button__icon svg{transition:transform .45s var(--ease)}.menu-button:hover .menu-button__icon svg,.menu-button.is-open .menu-button__icon svg{transform:rotate(45deg)}.menu-button__label{font-size:11px;font-weight:500;transition:opacity .3s}.menu-button:hover .menu-button__label{opacity:.72}.services-pill,.location-pill{background:#f4f4f4f0;border:0;border-radius:999px;align-items:center;height:40px;display:none}.services-pill{color:#000000a6;gap:10px;padding:0 15px;font-size:11px;font-weight:500}.services-pill i{background:#00000073;border-radius:50%;width:2px;height:2px}.location-pill{cursor:pointer;padding:4px;transition:background .3s;display:flex}.location-pill:hover{background:#e9e9e9}.location-pill__icon{color:#fff;background:#090909;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.grid-icon{fill:currentColor;width:16px;height:16px}.grid-icon circle{transition:transform .3s var(--ease)}.location-pill:hover .grid-icon circle:first-child{transform:translate(-.5px,-.5px)}.location-pill:hover .grid-icon circle:nth-child(2){transform:translate(.5px,-.5px)}.location-pill:hover .grid-icon circle:nth-child(3){transform:translate(-.5px,.5px)}.location-pill:hover .grid-icon circle:nth-child(4){transform:translate(.5px,.5px)}.location-pill__label{padding:0 12px 0 9px;font-size:11px;font-weight:500;display:none}.hero{z-index:30;align-items:flex-end;width:100%;min-height:100svh;display:flex;position:relative}.hero-content{z-index:10;background:linear-gradient(#0000 0%,#ffffff8c 32%,#ffffffeb 62%,#fff 100%);flex-direction:column;gap:24px;width:100%;padding:100px 16px 20px;display:flex;position:relative}.hero-copy{min-width:0}.eyebrow{color:#0000008f;letter-spacing:-.01em;align-items:center;gap:9px;margin-bottom:16px;font-size:12px;font-weight:400;display:flex}.eyebrow__dot{background:#000;border-radius:50%;flex:none;width:8px;height:8px;animation:3.6s ease-in-out infinite pulse}@keyframes pulse{0%,78%,to{opacity:1;transform:scale(1)}88%{opacity:.38;transform:scale(.62)}}h1{color:#070707;letter-spacing:-.06em;text-wrap:balance;max-width:1100px;margin:0;font-size:clamp(2.75rem,12.4vw,5rem);font-weight:300;line-height:.94}.hero-period{font-size:.8em;display:inline-block;transform:translateY(-.04em)}.hero-actions{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.cta{height:42px;transition:color .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease), padding .3s var(--ease);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-size:13px;font-weight:500;display:inline-flex}.cta--primary{color:#fff;background:#090909}.cta--primary:hover{background:#202020;padding-right:22px}.cta--primary svg{transition:transform .3s var(--ease)}.cta--primary:hover svg{transform:translate(2px,-2px)}.cta--secondary{background:0 0;border:1px solid #00000059}.cta--secondary:hover{color:#fff;background:#000;border-color:#000}.capabilities{flex-wrap:wrap;gap:6px;display:flex}.projects-section,.showreel-section,.services-section,.studio-section,.contact-section{z-index:35;position:relative}.showreel-section{background:#fff;padding:16px}.showreel-frame{background:#f3f3f3;position:relative;overflow:hidden}.showreel-frame video{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.showreel-caption{color:#00000094;letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;font-size:8px;font-weight:500;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.projects-section{background:#fff;padding:100px 16px 16px}.section-intro{padding-bottom:72px;position:relative}.section-label{color:#0000007a;letter-spacing:.05em;text-transform:uppercase;grid-template-columns:48px 1fr;margin-bottom:72px;font-size:10px;font-weight:500;display:grid}.section-label--light{color:#ffffff7a}.section-intro h2,.services-heading h2,.studio-statement h2,.contact-main h2{letter-spacing:-.065em;margin:0;font-size:clamp(3.1rem,11.5vw,7rem);font-weight:300;line-height:.9}.section-jump{width:42px;height:42px;transition:background .3s ease, color .3s ease, transform .3s var(--ease);border:1px solid #00000047;border-radius:50%;place-items:center;margin-top:36px;display:grid}.section-jump:hover{color:#fff;background:#000;transform:translateY(3px)}.projects-lede{color:#0000008c;max-width:560px;margin:32px 0 0;font-size:14px;line-height:1.55}.project-showcase{--project-color:#e8ff00;background:#f2f1ed;border-top:1px solid #00000038;overflow:hidden}.project-showcase__controls{border-bottom:1px solid #00000029;justify-content:space-between;align-items:center;padding:12px;display:flex}.project-showcase__count,.project-showcase__buttons{align-items:center;display:flex}.project-showcase__count{letter-spacing:.04em;gap:5px;font-family:Courier New,monospace;font-size:10px;font-weight:700}.project-showcase__count span:last-child{color:#00000061}.project-showcase__buttons{gap:5px}.project-showcase__buttons button{width:38px;height:38px;transition:background .25s ease, color .25s ease, transform .3s var(--ease);border:1px solid #00000047;border-radius:50%;place-items:center;display:grid}.project-showcase__buttons button:hover{color:#fff;background:#0a0a0a;transform:scale(1.05)}.project-slide{touch-action:pan-y;min-width:0;display:grid}.project-slide__copy{flex-direction:column;min-height:540px;padding:24px 14px;display:flex}.project-status{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:9px;font-weight:600;display:flex}.project-status i{background:var(--project-color);width:7px;height:7px;box-shadow:0 0 12px color-mix(in srgb, var(--project-color) 74%, transparent);border-radius:50%}.project-slide__copy h3{letter-spacing:-.07em;margin:36px 0 22px;font-size:clamp(4.5rem,20vw,9rem);font-weight:300;line-height:.82}.project-slide__copy>p{color:#000000ad;max-width:610px;margin:0;font-size:15px;line-height:1.58}.project-slide__copy ul{gap:10px;margin:30px 0 0;padding:0;list-style:none;display:grid}.project-slide__copy li{color:#000000a3;padding-left:16px;font-size:12px;line-height:1.4;position:relative}.project-slide__copy li:before{background:var(--project-color);content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:.5em;left:0}.project-stack{color:#00000061;letter-spacing:.07em;text-transform:uppercase;margin-top:auto;padding-top:34px;font-size:9px;font-weight:600}.project-links{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.project-links button,.project-links a{border:1px solid #0a0a0a;border-radius:999px;align-items:center;gap:9px;padding:11px 14px;font-size:11px;font-weight:500;transition:background .25s,color .25s;display:flex}.project-links button:first-child{color:#fff;background:#0a0a0a}.project-links button:hover,.project-links a:hover{background:var(--project-color);color:#080808}.project-browser{background:#111;align-self:stretch;min-width:0;padding:8px}.project-browser__bar{color:#ffffff80;letter-spacing:.04em;text-align:center;text-transform:uppercase;grid-template-columns:62px 1fr 20px;align-items:center;height:34px;font-family:Courier New,monospace;font-size:8px;display:grid}.project-browser__dots{gap:5px;display:flex}.project-browser__dots i{background:#ffffff40;border-radius:50%;width:6px;height:6px}.project-browser__dots i:first-child{background:var(--project-color)}.project-browser__viewport{aspect-ratio:16/10;background:#e8e8e8;width:100%;position:relative;overflow:hidden}.project-browser__viewport iframe{pointer-events:none;transform-origin:0 0;border:0;width:1440px;height:900px;position:absolute;top:0;left:0}.project-browser__viewport:after{z-index:2;content:"";pointer-events:none;background:linear-gradient(#0000 65%,#00000038);position:absolute;inset:0}.project-browser__open{z-index:3;color:#fff;transition:transform .3s var(--ease), background .25s ease, color .25s ease;background:#0a0a0a;border-radius:999px;align-items:center;gap:9px;padding:10px 13px;font-size:10px;font-weight:500;display:flex;position:absolute;bottom:12px;right:12px}.project-browser__open:hover{background:var(--project-color);color:#080808;transform:translateY(-2px)}.project-tabs{border-top:1px solid #00000029;display:grid}.project-tabs button{color:#0000006b;text-align:left;transition:background .25s ease, color .25s ease, padding .35s var(--ease);border-bottom:1px solid #00000024;grid-template-columns:36px 1fr;padding:15px 12px;font-size:12px;display:grid}.project-tabs button span{font-family:Courier New,monospace;font-size:9px}.project-tabs button.is-active{color:#e8ff00;background:#0a0a0a;padding-left:18px}.project-modal{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#050505f2;flex-direction:column;padding:8px;display:flex;position:fixed;inset:0}.project-modal__bar{color:#ffffffb8;letter-spacing:.05em;text-transform:uppercase;grid-template-columns:1fr auto;align-items:center;gap:10px;min-height:54px;padding:0 5px 0 10px;font-family:Courier New,monospace;font-size:9px;display:grid}.project-modal__bar>div{gap:3px;display:grid}.project-modal__bar>div span:last-child{color:#ffffff59}.project-modal__bar>a{align-items:center;gap:7px;display:none}.project-modal__bar>button{color:#080808;background:#e8ff00;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.project-modal__frame{background:#fff;border-radius:4px;flex:1;min-height:0;overflow:hidden}.project-modal__frame iframe{border:0;width:100%;height:100%}.services-section{color:#fff;background:#0a0a0a;padding:100px 16px 24px}.services-heading{gap:30px;padding-bottom:84px;display:grid}.services-heading h2{max-width:1050px}.services-heading p{color:#ffffff94;max-width:480px;margin:0;font-size:14px;line-height:1.55}.service-list{border-top:1px solid #fff3}.service-row{border-bottom:1px solid #fff3;grid-template-columns:30px 1fr auto;align-items:center;gap:12px;padding:22px 0;display:grid}.service-row__number{color:#ffffff73;font-size:9px}.service-row h3{letter-spacing:-.04em;margin:0;font-size:clamp(1.45rem,6vw,2.3rem);font-weight:300}.service-row p{color:#ffffff7a;max-width:390px;margin:0;font-size:12px;line-height:1.5;display:none}.studio-section{background:#fff;padding:100px 16px 16px}.studio-statement__lead{margin:0 0 16px;font-size:12px}.studio-statement h2{max-width:1180px}.studio-grid{gap:10px;margin-top:90px;display:grid}.studio-note,.studio-symbol{background:#f1f1f1;min-height:360px;padding:18px}.studio-note{flex-direction:column;justify-content:space-between;display:flex}.studio-note span{letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:500}.studio-note p{letter-spacing:-.05em;max-width:560px;margin:0;font-size:clamp(1.6rem,6.5vw,3.5rem);font-weight:300;line-height:1.02}.studio-symbol{color:#fff;background:#0b0b0b;padding:0;position:relative;overflow:hidden}.studio-signal{width:100%;height:100%;min-height:inherit;cursor:crosshair;isolation:isolate;background:#090909;place-items:center;display:grid;position:relative;overflow:hidden}.studio-signal__grid{z-index:-1;background-image:linear-gradient(#e8ff0013 1px,#0000 1px),linear-gradient(90deg,#e8ff0013 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 0,#0000 72%);mask-image:radial-gradient(circle,#000 0,#0000 72%)}.studio-signal__scan{z-index:4;pointer-events:none;background:linear-gradient(#0000,#e8ff0017,#0000);height:18%;animation:5.8s linear infinite signal-scan;position:absolute;top:-18%;left:0;right:0}.studio-signal__topline,.studio-signal__coordinates,.studio-signal__hint{z-index:5;letter-spacing:.08em;text-transform:uppercase;font-family:Courier New,monospace;font-size:8px;position:absolute}.studio-signal__topline{color:#fff6;border-bottom:1px solid #e8ff0033;justify-content:space-between;padding-bottom:10px;display:flex;top:14px;left:14px;right:14px}.studio-signal__topline>span:first-child{color:#e8ff00;align-items:center;gap:7px;display:flex}.studio-signal__topline i{background:currentColor;width:6px;height:6px;animation:1.8s step-end infinite signal-blink;box-shadow:0 0 10px #e8ff00b8}.studio-signal__core{aspect-ratio:1;place-items:center;width:min(58%,310px);display:grid;position:relative}.studio-signal__disc{z-index:2;aspect-ratio:1;background:#fff;border-radius:50%;place-items:center;width:66%;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff80,0 0 60px #e8ff0024}.studio-signal__disc:after{border-radius:inherit;content:"";pointer-events:none;background:radial-gradient(circle at 35% 28%,#ffffffe6,#0000 38%);position:absolute;inset:0}.studio-signal__disc img{z-index:1;width:72%;height:auto;position:relative}.studio-signal__orbit{z-index:1;border:1px solid #e8ff0047;border-radius:50%;position:absolute;inset:0}.studio-signal__orbit--inner{border-style:dashed;border-color:#ffffff38;inset:12%}.studio-signal__orbit i{background:#e8ff00;width:10px;height:10px;position:absolute;top:50%;left:-5px;box-shadow:0 0 14px #e8ff00b3}.studio-signal__orbit--inner i{width:7px;height:7px;box-shadow:none;background:#fff;border-radius:50%;top:12%;left:auto;right:11%}.studio-signal__coordinates{color:#ffffff61;gap:3px;display:grid;bottom:14px;left:14px}.studio-signal__hint{color:#e8ff00;bottom:14px;right:14px}@keyframes signal-scan{to{transform:translateY(760%)}}@keyframes signal-blink{0%,86%{opacity:1}87%,to{opacity:.25}}.contact-section{color:#080808;background:#e8ff00;min-height:100svh;padding:18px 16px}.contact-topline{letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid #00000040;justify-content:space-between;padding-bottom:14px;font-size:9px;font-weight:500;display:flex}.contact-main{flex-direction:column;justify-content:center;min-height:calc(100svh - 120px);display:flex}.contact-main>p{margin:0 0 20px;font-size:12px}.contact-main h2{font-size:clamp(4rem,16vw,11rem)}.contact-button{width:fit-content;transition:background .3s ease, color .3s ease, padding .35s var(--ease);border:1px solid #000;border-radius:999px;align-items:center;gap:12px;margin-top:42px;padding:13px 18px;font-size:13px;font-weight:500;display:flex}.contact-button:hover{color:#e8ff00;background:#000;padding-right:24px}.site-footer{border-top:1px solid #00000040;grid-template-columns:1fr auto;gap:8px 20px;padding-top:14px;font-size:9px;font-weight:500;display:grid}.site-footer a{text-underline-offset:3px;text-decoration:underline}.site-footer__legal{flex-wrap:wrap;gap:8px 14px;display:flex}.legal-page{color:#090909;background:#f4f4f2;min-height:100svh;padding:16px}.legal-nav{border-bottom:1px solid #0003;justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.legal-nav .brand-logo{background:#fff;width:136px}.legal-nav>a:last-child{letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:500}.legal-header{padding:clamp(80px,14vw,180px) 0 clamp(54px,8vw,100px)}.legal-header>span{letter-spacing:.08em;text-transform:uppercase;font-family:Courier New,monospace;font-size:9px}.legal-header h1{letter-spacing:-.075em;margin:18px 0 24px;font-size:clamp(4rem,14vw,12rem);font-weight:300;line-height:.85}.legal-header p{color:#00000094;max-width:580px;margin:0;font-size:14px;line-height:1.55}.legal-content{border-top:1px solid #00000040}.legal-content section{border-bottom:1px solid #0000002e;gap:22px;padding:28px 0;display:grid}.legal-content h2{letter-spacing:-.045em;grid-template-columns:34px 1fr;margin:0;font-size:clamp(1.5rem,5vw,2.4rem);font-weight:400;display:grid}.legal-content h2 span{color:#00000061;letter-spacing:0;padding-top:5px;font-family:Courier New,monospace;font-size:9px}.legal-content section>div{max-width:720px}.legal-content p{color:#0000009e;margin:0 0 14px;font-size:14px;line-height:1.65}.legal-content strong{color:#090909;font-weight:600}.legal-content a{color:#090909;text-underline-offset:3px;-webkit-text-decoration:underline #0000004d;text-decoration:underline #0000004d}.legal-footer{justify-content:space-between;gap:20px;padding:28px 0 10px;font-size:10px;font-weight:500;display:flex}.legal-footer div{gap:18px;display:flex}.legal-footer a{text-underline-offset:3px;text-decoration:underline}.capability-pill{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .3s var(--ease), color .3s ease, background .3s ease;background:#ffffffc2;border:1px solid #0000001f;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:500;box-shadow:0 2px 15px #00000008}.capability-pill:hover{color:#fff;background:#000;transform:translateY(-2px)}.menu-overlay{z-index:60;background-color:#f1efe7;background-image:linear-gradient(#00000009 1px,#0000 1px),linear-gradient(90deg,#00000009 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;flex-direction:column;gap:14px;padding:88px 16px 16px;display:flex;position:fixed;inset:0}.menu-system-bar{color:#ffffff9e;letter-spacing:.07em;text-transform:uppercase;background:#090909;justify-content:space-between;align-items:center;min-height:34px;padding:0 10px;font-family:Courier New,monospace;font-size:10px;display:flex}.menu-system-bar>span:nth-child(2){display:none}.menu-system-bar__title{color:#e8ff00;align-items:center;gap:8px;font-weight:700;display:flex}.menu-system-bar__title i{background:currentColor;width:6px;height:6px;animation:1.7s step-end infinite screen-signal;box-shadow:0 0 7px #e8ff009e}.menu-system{flex:1;min-height:0;display:flex}.menu-links{border-top:1px solid #0000002e;flex-direction:column;justify-content:center;width:100%;display:flex}.menu-link{min-height:64px;transition:color .25s ease, background .25s ease, padding .4s var(--ease);border-bottom:1px solid #0000002e;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;padding:3px 8px;display:grid}.menu-links .menu-link:hover{color:#e8ff00;background:#090909;padding-left:12px;padding-right:12px}.menu-link__index{opacity:.58;font-family:Courier New,monospace;font-size:10px;font-weight:700}.menu-link__text{letter-spacing:-.06em;font-size:clamp(2.6rem,12vw,5rem);font-weight:300;line-height:.9}.menu-link__command{letter-spacing:.04em;opacity:.5;font-family:Courier New,monospace;font-size:9px;display:none}.menu-link__arrow{opacity:.32;width:22px;transition:opacity .3s ease, transform .4s var(--ease)}.menu-link:hover .menu-link__arrow{opacity:1;transform:translate(3px,-3px)}.menu-system-status{display:none}.menu-footer{color:#ffffffb3;letter-spacing:.02em;background:#090909;grid-template-columns:1fr auto;gap:7px 16px;padding:10px;font-family:Courier New,monospace;font-size:10px;display:grid}.menu-footer a{color:#e8ff00}.case-study{--case-accent:#e8ff00;color:#090909;background:#f3f3ef;min-height:100svh;overflow:hidden}.case-study a{color:inherit;text-decoration:none}.case-nav{z-index:5;border-bottom:1px solid #00000029;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex;position:relative}.case-nav .brand-logo{width:118px}.case-nav>div{align-items:center;gap:6px;display:flex}.case-nav>div a{letter-spacing:.09em;text-transform:uppercase;border:1px solid #090909;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:0 13px;font-size:9px;font-weight:700;transition:background-color .18s,color .18s,transform .18s;display:inline-flex}.case-nav>div a:first-child{border-color:#00000040}.case-nav>div a:last-child{color:#fff;background:#090909}.case-nav>div a:hover{background:var(--case-accent);color:#090909;transform:translateY(-2px)}.case-hero{padding:clamp(88px,14vw,180px) 16px 42px}.case-hero__meta{letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #090909;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding-bottom:12px;font-size:9px;font-weight:700;display:grid}.case-hero__meta span:first-child{align-items:center;gap:8px;display:flex}.case-hero__meta span:first-child:before{background:var(--case-accent);content:"";width:9px;height:9px}.case-hero h1{letter-spacing:-.085em;max-width:none;margin:clamp(48px,9vw,110px) 0 0;font-size:clamp(5rem,23vw,18rem);font-weight:300;line-height:.72}.case-hero__intro{align-items:end;gap:42px;margin-top:clamp(64px,10vw,130px);display:grid}.case-hero__intro p{letter-spacing:-.045em;max-width:940px;margin:0;font-size:clamp(1.65rem,5.5vw,4rem);font-weight:400;line-height:.98}.case-hero__intro>span{letter-spacing:.1em;text-transform:uppercase;border-top:1px solid #00000047;max-width:500px;padding-top:12px;font-size:9px;font-weight:700;line-height:1.5}.case-live{background:#090909;margin:0 10px;padding:7px}.case-live__bar{color:#fff;letter-spacing:.1em;text-transform:uppercase;grid-template-columns:58px 1fr auto;align-items:center;gap:10px;min-height:42px;padding:0 7px;font-size:8px;font-weight:700;display:grid}.case-live__dots{gap:5px;display:flex}.case-live__dots i{border:1px solid #ffffff6b;border-radius:50%;width:7px;height:7px;display:block}.case-live__dots i:first-child{border-color:var(--case-accent);background:var(--case-accent)}.case-live__bar>span:nth-child(2){color:#ffffff94;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.case-live__bar a{color:var(--case-accent);align-items:center;gap:5px;display:inline-flex}.case-live iframe{background:#fff;border:0;width:100%;height:min(76svh,780px);display:block}.case-narrative{padding:clamp(100px,14vw,190px) 16px}.case-narrative article{border-top:1px solid #090909;grid-template-columns:34px minmax(0,1fr);gap:16px 6px;padding:24px 0 36px;display:grid}.case-narrative article>span{color:#607000;letter-spacing:.08em;padding-top:3px;font-size:9px;font-weight:800}.case-narrative h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.9rem,6vw,4rem);font-weight:400;line-height:.95}.case-narrative p{letter-spacing:-.025em;grid-column:2;max-width:900px;margin:0;font-size:clamp(1.1rem,3.7vw,2rem);line-height:1.18}.case-details{color:#fff;background:#090909;padding:clamp(92px,12vw,160px) 16px}.case-details__head{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:8px;display:grid}.case-details__head>span{color:var(--case-accent);letter-spacing:.1em;text-transform:uppercase;padding-top:6px;font-size:9px;font-weight:800}.case-details__head h2{letter-spacing:-.065em;max-width:920px;margin:0;font-size:clamp(3rem,10vw,8.5rem);font-weight:300;line-height:.88}.case-deliverables{flex-wrap:wrap;gap:7px;margin:70px 0 90px 44px;display:flex}.case-deliverables span{border:1px solid var(--case-accent);color:var(--case-accent);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:9px 13px;font-size:9px;font-weight:700}.case-features{display:grid}.case-features article{border-top:1px solid #ffffff47;grid-template-columns:34px 1fr;gap:10px;padding:20px 0 28px;display:grid}.case-features article>span{color:var(--case-accent);font-size:9px;font-weight:800}.case-features p{letter-spacing:-.03em;max-width:600px;margin:0;font-size:clamp(1.25rem,4vw,2rem);line-height:1.08}.case-next{background:var(--case-accent);padding:80px 16px 100px}.case-next>span{letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #090909;padding-bottom:12px;font-size:9px;font-weight:800;display:block}.case-next a{justify-content:space-between;align-items:center;gap:20px;padding-top:50px;display:flex}.case-next strong{letter-spacing:-.075em;font-size:clamp(4rem,18vw,13rem);font-weight:300;line-height:.72}.case-next svg{width:clamp(44px,9vw,110px);height:auto;transition:transform .2s}.case-next a:hover svg{transform:translate(8px,-8px)}.case-footer{color:#ffffffb8;letter-spacing:.08em;text-transform:uppercase;background:#090909;grid-template-columns:1fr auto;gap:18px 24px;padding:24px 16px;font-size:8px;font-weight:700;display:grid}.case-footer a{transition:color .15s}.case-footer a:hover{color:var(--case-accent)}.info-page{--info-accent:#e8ff00;color:#090909;background:#f3f3ef;min-height:100svh;overflow:hidden}.info-page a{color:inherit;text-decoration:none}.info-hero{padding:clamp(90px,13vw,175px) 16px clamp(90px,12vw,160px)}.info-hero__eyebrow{letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #090909;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:9px;padding-bottom:12px;font-size:8px;font-weight:700;display:grid}.info-hero__eyebrow i{background:var(--info-accent);width:9px;height:9px}.info-hero h1{letter-spacing:-.075em;max-width:1300px;margin:clamp(54px,8vw,100px) 0 0;font-size:clamp(4.2rem,13vw,12rem);font-weight:300;line-height:.82}.info-hero>p{letter-spacing:-.045em;max-width:940px;margin:clamp(70px,9vw,125px) 0 0 auto;font-size:clamp(1.55rem,4.5vw,3.4rem);line-height:1}.info-sections{padding:0 16px clamp(100px,14vw,190px)}.info-sections article{border-top:1px solid #090909;grid-template-columns:36px minmax(0,1fr);gap:8px;padding:28px 0 46px;display:grid}.info-sections article>span{color:#607000;letter-spacing:.08em;padding-top:4px;font-size:9px;font-weight:800}.info-sections h2{letter-spacing:-.05em;max-width:760px;margin:0;font-size:clamp(2rem,6vw,4.5rem);font-weight:400;line-height:.94}.info-sections p{color:#000000b3;letter-spacing:-.02em;max-width:760px;margin:24px 0 0;font-size:clamp(1.05rem,3.1vw,1.65rem);line-height:1.25}.info-sections ul{flex-wrap:wrap;gap:7px;margin:30px 0 0;padding:0;list-style:none;display:flex}.info-sections li{letter-spacing:.08em;text-transform:uppercase;border:1px solid #00000040;border-radius:999px;padding:8px 12px;font-size:8px;font-weight:700}.info-links{color:#fff;background:#090909;padding:clamp(90px,11vw,145px) 16px}.info-links>span{color:var(--info-accent);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #ffffff5c;padding-bottom:13px;font-size:9px;font-weight:800;display:block}.info-links>div{margin-top:46px}.info-links a{border-top:1px solid #ffffff40;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:22px 0;display:grid}.info-links a:last-child{border-bottom:1px solid #ffffff40}.info-links a>span{gap:6px;display:grid}.info-links strong{letter-spacing:-.045em;font-size:clamp(1.8rem,6vw,4.4rem);font-weight:400;line-height:.9}.info-links small{color:#ffffff8f;letter-spacing:.06em;text-transform:uppercase;max-width:720px;font-size:9px;line-height:1.45}.info-links svg{color:var(--info-accent);transition:transform .18s}.info-links a:hover svg{transform:translate(5px,-5px)}.info-cta{background:var(--info-accent);padding:clamp(90px,12vw,150px) 16px}.info-cta>span{letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.info-cta h2{letter-spacing:-.075em;max-width:1150px;margin:58px 0;font-size:clamp(4.2rem,14vw,12rem);font-weight:300;line-height:.78}.info-cta a{letter-spacing:-.035em;border-top:1px solid #090909;border-bottom:1px solid #090909;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;font-size:clamp(1.3rem,4vw,2.5rem);display:flex}.not-found-page{color:#090909;background:#e8ff00;flex-direction:column;justify-content:space-between;min-height:100svh;padding:18px 16px 28px;display:flex}.not-found-page .brand-logo{width:128px}.not-found-page>div{max-width:1100px}.not-found-page>div>span{letter-spacing:.08em;font-family:Courier New,monospace;font-size:10px;font-weight:700}.not-found-page h1{letter-spacing:-.075em;max-width:1000px;margin:34px 0;font-size:clamp(4rem,14vw,11rem);font-weight:300;line-height:.8}.not-found-page p{max-width:520px;font-size:clamp(1.1rem,3vw,1.6rem);line-height:1.25}.not-found-page a:not(.brand-logo){letter-spacing:.08em;text-transform:uppercase;border:1px solid #090909;border-radius:999px;align-items:center;gap:8px;margin-top:40px;padding:12px 16px;font-size:10px;font-weight:700;display:inline-flex}@media (max-width:767px){.hero-content{pointer-events:none}.hero-content a,.hero-content button{pointer-events:auto}.computer-screen--idle{touch-action:manipulation}.computer-screen__click{opacity:.58}html.moqro-terminal-open,html.moqro-terminal-open body{overscroll-behavior:none;overflow:hidden}html.moqro-terminal-open .hero{z-index:90}html.moqro-terminal-open .navbar{pointer-events:none;opacity:.2}html.moqro-terminal-open .computer-hero{z-index:100;touch-action:manipulation;background:#fffffff2;position:fixed;inset:0;overflow:hidden}html.moqro-terminal-open .computer-head.is-terminal-open{width:min(148vw,620px);transition:width .42s var(--ease);transform:none}html.moqro-terminal-open .computer-hint{display:none}html.moqro-terminal-open .computer-terminal{padding:16% 6% 5%;font-size:clamp(8px,2.35vw,10px);line-height:1.18}html.moqro-terminal-open .computer-terminal__bar{height:14%;padding-right:16%}html.moqro-terminal-open .computer-terminal__close{opacity:.8;width:28px;height:28px;font-size:17px}html.moqro-terminal-open .computer-terminal__form{border-top:1px solid var(--screen-dim);gap:5px;padding-top:5px}html.moqro-terminal-open .computer-terminal__form input{font-size:16px;line-height:1}html.moqro-terminal-open .computer-terminal__submit{min-width:32px;min-height:22px;font-size:9px;display:block}html.moqro-corrupted.moqro-terminal-open .computer-hero{background:0 0}html.moqro-corrupted .system-corruption-layer__rain{opacity:.42;font-size:7px;inset:7% 3%}html.moqro-corrupted .system-corruption-layer__status{font-size:7px;top:12px;left:12px;right:12px}html.moqro-corrupted .system-corruption-layer__warning{font-size:7px;bottom:12px;right:12px}}@media (min-width:768px){.case-nav{padding:18px 32px}.case-nav .brand-logo{width:138px}.case-nav>div{gap:8px}.case-nav>div a{min-height:42px;padding:0 17px;font-size:10px}.case-hero{padding-left:32px;padding-right:32px}.case-hero__meta{font-size:10px}.case-hero__intro{grid-template-columns:minmax(0,1.55fr) minmax(250px,.45fr);gap:80px}.case-hero__intro>span{justify-self:end}.case-live{margin:0 24px;padding:9px}.case-live__bar{grid-template-columns:80px 1fr auto;min-height:48px;font-size:9px}.case-live iframe{height:min(80svh,900px)}.case-narrative{padding-left:32px;padding-right:32px}.case-narrative article{grid-template-columns:58px minmax(220px,.55fr) minmax(0,1fr);gap:34px;padding:34px 0 54px}.case-narrative article>span{padding-top:7px}.case-narrative p{grid-column:3}.case-details{padding-left:32px;padding-right:32px}.case-details__head{grid-template-columns:68px minmax(0,1fr);gap:24px}.case-deliverables{margin-left:92px}.case-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;margin-left:92px}.case-features article{grid-template-columns:40px 1fr;padding:24px 0 38px}.case-next{padding:100px 32px 130px}.case-next a{padding-top:72px}.case-footer{grid-template-columns:minmax(0,1fr) auto auto auto;padding:26px 32px;font-size:9px}.info-hero{padding-left:32px;padding-right:32px}.info-hero__eyebrow{grid-template-columns:12px minmax(0,1fr) auto;font-size:10px}.info-sections{padding-left:32px;padding-right:32px}.info-sections article{grid-template-columns:76px minmax(0,1fr);gap:28px;padding:38px 0 62px}.info-sections article>div{grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:28px 70px;display:grid}.info-sections p{margin:0}.info-sections ul{grid-column:2;margin-top:0}.info-links{padding-left:32px;padding-right:32px}.info-links a{padding:28px 0}.info-cta{padding-left:32px;padding-right:32px}.not-found-page{padding:26px 32px 38px}.video-stage{border-radius:0;width:100%;height:100svh;top:0}.computer-head{width:min(60vw,820px)}.computer-hero__halo{width:min(58vw,780px);top:6%}.computer-hint{font-size:9px;top:110px;right:32px}.navbar{padding:24px 32px}.brand-logo{width:136px;padding:0 7px}.brand-logo__mark{display:none}.brand-logo__wordmark{flex:none;width:122px;height:auto;display:block}.menu-button__icon,.location-pill__icon{width:32px;height:32px}.menu-button,.services-pill,.location-pill{height:40px}.services-pill{display:flex}.location-pill__label{display:block}.hero-content{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:32px;padding:88px 32px 28px}.hero-copy{flex:1}.eyebrow{margin-bottom:20px;font-size:13px}h1{letter-spacing:-.058em;font-size:clamp(4rem,7.4vw,7.5rem)}.hero-actions{margin-top:28px}.capabilities{flex:none;justify-content:flex-end;padding-bottom:2px}.menu-overlay{gap:18px;padding:104px 32px 24px}.menu-system-bar{min-height:38px;padding:0 14px;font-size:10px}.menu-system-bar>span:nth-child(2){display:block}.menu-system{grid-template-columns:minmax(0,1fr) minmax(280px,31vw);gap:18px;display:grid}.menu-link{grid-template-columns:52px minmax(0,1fr) 148px 44px;min-height:82px;padding:4px 14px}.menu-link__index{font-size:11px}.menu-link__text{font-size:clamp(3rem,6.2vw,6.5rem);line-height:.86}.menu-link__command{display:block}.menu-link__arrow{width:28px;height:28px}.menu-system-status{color:#e8ff00;background:#08100b;flex-direction:column;min-height:0;padding:16px;font-family:Courier New,monospace;display:flex;position:relative;overflow:hidden}.menu-system-status:after{content:"";pointer-events:none;background:repeating-linear-gradient(#0000 0 3px,#e8ff0006 4px);position:absolute;inset:0}.menu-system-status__head{z-index:1;letter-spacing:.08em;border-bottom:1px solid #e8ff003d;justify-content:space-between;padding-bottom:12px;font-size:9px;display:flex;position:relative}.menu-system-status__screen{z-index:1;flex-direction:column;flex:1;justify-content:center;padding:24px 6px;display:flex;position:relative}.menu-system-status__screen>span{opacity:.52;margin-bottom:18px;font-size:9px}.menu-system-status__screen strong{letter-spacing:-.055em;font-family:Inter,Arial,sans-serif;font-size:clamp(2.3rem,4vw,4.5rem);font-weight:300;line-height:.9}.menu-system-status__screen p{color:#e8ff009e;max-width:310px;margin:20px 0 0;font-family:Inter,Arial,sans-serif;font-size:12px;line-height:1.55}.menu-system-status__screen i{background:#e8ff00;width:9px;height:16px;margin-top:24px;animation:1.2s step-end infinite screen-signal}.menu-system-status dl{z-index:1;border-top:1px solid #e8ff003d;gap:8px;margin:0;padding-top:14px;font-size:9px;display:grid;position:relative}.menu-system-status dl div{justify-content:space-between;gap:16px;display:flex}.menu-system-status dt{opacity:.48;text-transform:uppercase}.menu-system-status dd{text-transform:uppercase;margin:0}.menu-footer{grid-template-columns:2fr 1fr 1fr auto;align-items:center;font-size:11px}.projects-section,.services-section,.studio-section{padding:140px 32px 32px}.showreel-section{padding:32px}.showreel-caption{font-size:10px;bottom:18px;left:20px;right:20px}.section-label{grid-template-columns:80px 1fr;margin-bottom:100px;font-size:11px}.section-intro{min-height:70svh;padding-bottom:120px}.section-intro h2,.services-heading h2,.studio-statement h2{font-size:clamp(5rem,9vw,9rem)}.section-jump{position:absolute;bottom:120px;right:0}.project-showcase__controls{padding:14px 18px}.project-slide{grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr);min-height:720px}.project-slide__copy{border-right:1px solid #00000029;min-height:720px;padding:36px 28px 30px}.project-slide__copy h3{margin-top:54px;font-size:clamp(5rem,9vw,9.5rem)}.project-browser{flex-direction:column;padding:10px;display:flex}.project-browser__bar{flex:none}.project-browser__viewport{aspect-ratio:auto;flex:1}.project-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.project-tabs button{border-bottom:0;border-right:1px solid #00000024;min-height:58px}.project-modal{padding:14px}.project-modal__bar{grid-template-columns:1fr auto auto;min-height:60px;padding-left:14px;font-size:10px}.project-modal__bar>a{display:flex}.services-heading{grid-template-columns:minmax(0,1fr) 360px;align-items:end;gap:80px;padding-bottom:150px}.service-row{grid-template-columns:50px minmax(240px,.8fr) minmax(320px,1fr) auto;padding:30px 0}.service-row p{display:block}.studio-grid{grid-template-columns:1.3fr .7fr;margin-top:150px}.studio-note,.studio-symbol{min-height:70svh;padding:24px}.studio-symbol{padding:0}.studio-signal__topline,.studio-signal__coordinates,.studio-signal__hint{font-size:9px}.legal-page{padding:24px 32px}.legal-content section{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:70px;padding:42px 0}.legal-content h2{font-size:clamp(1.9rem,3vw,3.3rem)}.contact-section{padding:24px 32px}.contact-main h2{font-size:clamp(7rem,13vw,13rem)}.site-footer{grid-template-columns:2fr 1fr auto auto;font-size:10px}}@media (max-height:700px) and (min-width:768px){.hero-content{padding-top:120px}h1{font-size:clamp(3.6rem,6.8vw,6rem)}.menu-link__text{font-size:clamp(3rem,5.8vw,5.5rem)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* mq-logo-pill: Logo immer als weisse Pille (wie Menu-Button), auf jedem Hintergrund sichtbar */
.brand-logo{background:#fff!important;border-radius:999px!important}
.brand-logo .brand-logo__mark,.brand-logo .brand-logo__wordmark{filter:none!important}

/* mq-terminal-pre: Spalten im DOS-Menu erhalten */
.computer-terminal__output span{white-space:pre-wrap;overflow-wrap:break-word}

/* mq-hero-desktop: CRT auf der rechten Seite und im Vordergrund.
   Wichtig: nicht den Monitor im Container verschieben, sondern den Perspektiv-Container
   selbst verkleinern. Der Bildschirm sitzt mit translateZ(14px) vor dem Geraet - waere der
   Fluchtpunkt (perspective-origin 50%) nicht auf der Monitormitte, verrutscht die schwarze
   Flaeche gegenueber der Mattscheibe und die Neigung wirkt verzerrt.
   Klickflaeche bewusst nur der Bildschirm: das Monitor-Quadrat ist gross und grossteils transparent. */
@media (min-width:1024px){
  .computer-hero{left:auto;right:0;width:min(64vw,980px);z-index:20}
  .computer-head{pointer-events:none}
  .computer-head .computer-screen,.computer-head .computer-terminal{pointer-events:auto}
  .hero-copy>h1{max-width:min(720px,44vw)}
  .hero-copy>.eyebrow{max-width:44vw}
  .hero-content,.hero-copy,.hero-copy>.eyebrow,.hero-copy>h1{pointer-events:none}
  .hero-content .hero-actions,.hero-content .capabilities,
  .hero-content a,.hero-content button,.hero-content [role="button"]{pointer-events:auto}
}
/* Im Korruptionsmodus wird der Monitor formatfuellend - dann wieder volle Breite */
html.moqro-corrupted .computer-hero{left:0;right:0;width:auto}

/* mq-project-tabs: Projekt-Tabs ueberarbeitet.
   Vorher: Text auf 2.99:1 Kontrast (Standard: 4.5:1), kein Fokus-Stil,
   und der aktive Tab sprang durch padding-left 12->18px um 6px zur Seite.
   Untertitel sind per nth-child gesetzt - bei geaenderter Projektreihenfolge hier anpassen. */
.project-tabs button{
  position:relative;grid-template-columns:34px 1fr;grid-template-rows:auto auto;
  align-content:center;gap:3px 10px;padding:14px 16px;min-height:74px;
  font-size:13px;color:rgba(0,0,0,.78);background:#f0f0f0;cursor:pointer;
  transition:background .25s var(--ease),color .25s var(--ease);
}
.project-tabs button>span{grid-row:1/span 2;align-self:center;
  font-size:10px;letter-spacing:.06em;color:rgba(0,0,0,.62);transition:color .25s ease}
.project-tabs button::after{grid-column:2;grid-row:2;font-size:11px;line-height:1.35;
  color:rgba(0,0,0,.6);transition:color .25s ease}
.project-tabs button:nth-child(1)::after{content:"Duftmarke"}
.project-tabs button:nth-child(2)::after{content:"Marktplatz"}
.project-tabs button:nth-child(3)::after{content:"Inkasso-Software"}
.project-tabs button:nth-child(4)::after{content:"Retro-Gaming"}
/* Akzentbalken in Projektfarbe statt Positionssprung */
.project-tabs button::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;
  background:var(--project-color,#e8ff00);transform:scaleX(0);transform-origin:left center;
  transition:transform .4s var(--ease)}
.project-tabs button.is-active::before{transform:scaleX(1)}
.project-tabs button.is-active{color:#e8ff00;background:#0a0a0a;padding-left:16px}
.project-tabs button.is-active>span{color:rgba(232,255,0,.7)}
.project-tabs button.is-active::after{color:rgba(255,255,255,.66)}
.project-tabs button:not(.is-active):hover{background:#e7e6e1;color:rgba(0,0,0,.92)}
.project-tabs button:not(.is-active):hover>span,
.project-tabs button:not(.is-active):hover::after{color:rgba(0,0,0,.75)}
.project-tabs button:focus-visible{outline:2px solid #0a0a0a;outline-offset:-4px;z-index:1}
.project-tabs button.is-active:focus-visible{outline-color:#e8ff00}
@media (prefers-reduced-motion:reduce){.project-tabs button,.project-tabs button::before{transition:none}}

/* mq-hide-screen-cursor: das duenne, mausgesteuerte Haeckchen im Bildschirm ausblenden.
   Original: 4x9px, nur border-bottom/right, rotate(35deg), Position ueber --look-x/--look-y.
   Rein dekorativ (aria-hidden) - zum Reaktivieren einfach diese Regel entfernen. */
.computer-screen__cursor{display:none}

/* mq-project-tabs-lines: Akzentbalken entfernt, Trennlinien als Haarlinien.
   Der aktive Tab ist durch die schwarze Flaeche mit gelber Schrift ohnehin eindeutig -
   ein zusaetzlicher Balken war zu laut. */
.project-tabs{border-top:1px solid rgba(0,0,0,.09)}
.project-tabs button{border-right:1px solid rgba(0,0,0,.07);border-bottom-color:rgba(0,0,0,.07)}
.project-tabs button:last-child{border-right:0}
.project-tabs button.is-active{border-right-color:transparent}
.project-tabs button:has(+ .is-active){border-right-color:transparent}

/* mq-tabs-edge: Der dunkle Rahmen des Demo-Browsers (#111, 10px rundum) stiess mit seinem
   unteren Streifen direkt an den fast schwarzen aktiven Tab - beides verschmolz zu einer
   dicken schwarzen Kante. Unterer Streifen entfaellt, der Akzentbalken sitzt damit als
   klare Trennung zwischen heller Demo und schwarzem Tab. */
.project-browser{padding-bottom:0}
.project-tabs button::before{height:3px}

/* mq-eyes: mehr Leben in den Augen.
   Vorher: ein einzelner Blinzler alle 5.8s, beide Augen identisch.
   Jetzt: unregelmaessiges Blinzeln mit Doppelblinzler, seltener Zwinkerer nur links,
   atmendes Leuchten, leichtes Eigenleben des Augenpaars und Pupillenreaktion auf Hover/Klick.
   Die Mausverfolgung der Pupillen (--look-x/--look-y) bleibt unangetastet. */
@keyframes mq-eye-life{
  0%,11.4%,12.6%,33.4%,34.6%,36.4%,37.6%,65.4%,66.6%,90.4%,91.6%,100%{transform:scaleY(1)}
  12%,34%,37%,66%,91%{transform:scaleY(.06)}
}
@keyframes mq-eye-wink{
  0%,11.4%,12.6%,33.4%,34.6%,36.4%,37.6%,65.4%,66.6%,77.4%,78.6%,90.4%,91.6%,100%{transform:scaleY(1)}
  12%,34%,37%,66%,78%,91%{transform:scaleY(.06)}
}
@keyframes mq-eye-glow{
  0%,100%{box-shadow:0 0 14px #e8ff0047}
  50%{box-shadow:0 0 24px #e8ff0085}
}
@keyframes mq-eyes-drift{
  0%,100%{transform:translate(0,0)}
  22%{transform:translate(1.1%,-1.4%)}
  48%{transform:translate(-1%,.9%)}
  74%{transform:translate(.7%,1.3%)}
}
.computer-eyes{animation:mq-eyes-drift 9s ease-in-out infinite}
.computer-eye{animation:mq-eye-life 14s var(--ease) infinite,mq-eye-glow 3.6s ease-in-out infinite}
.computer-eye:first-child{animation:mq-eye-wink 14s var(--ease) infinite,mq-eye-glow 3.6s ease-in-out infinite}
.computer-eye i{transition:transform 90ms steps(2,end),width .28s var(--ease)}
.computer-screen:hover .computer-eye i{width:37%}
.computer-screen:active .computer-eye i{width:21%}
.computer-screen:hover .computer-eye{animation-duration:14s,1.6s}
@media (prefers-reduced-motion:reduce){
  .computer-eyes,.computer-eye{animation:none}
  .computer-eye i{transition:none}
}

/* mq-tabs-top: Tab-Leiste ueber den Showcase statt darunter.
   .project-showcase war display:block - fuer die Umsortierung auf flex/column umgestellt
   (Hoehen bleiben identisch, gemessen 862/720/720 vor wie nach).
   Trennlinie und Akzentbalken wandern auf die Unterkante, damit sie zum Inhalt darunter zeigen. */
.project-showcase{display:flex;flex-direction:column}
.project-showcase__controls{order:0}
.project-tabs{order:1}
.project-slide{order:2}
.project-tabs{border-top:0;border-bottom:1px solid rgba(0,0,0,.09)}
.project-tabs button::before{inset:auto 0 0 0}
/* Browser-Rahmen wieder rundum gleich - er stoesst unten an nichts mehr */
.project-browser{padding-bottom:10px}

/* mq-tabs-pill: Tabs als Pillen - gleiche Formsprache wie Nav, Buttons und Capability-Tags.
   Die vollflaechigen Bloecke wirkten oberhalb des Showcase zu schwer. */
.project-tabs{display:flex;flex-wrap:wrap;gap:8px;grid-template-columns:none;
  border:0;padding:22px 18px 20px;background:transparent}
.project-tabs button{
  display:inline-flex;align-items:baseline;gap:8px;width:auto;min-height:44px;
  padding:11px 18px;border:1px solid rgba(0,0,0,.14);border-radius:999px;
  background:rgba(255,255,255,.76);color:rgba(0,0,0,.8);font-size:13px;line-height:1.2;
  transition:background .22s var(--ease),border-color .22s var(--ease),color .22s var(--ease)}
.project-tabs button>span{grid-row:auto;font-size:10px;letter-spacing:.06em;color:rgba(0,0,0,.42);align-self:center}
.project-tabs button::after{grid-column:auto;grid-row:auto;font-size:11px;color:rgba(0,0,0,.45);align-self:center}
.project-tabs button::before{display:none}
.project-tabs button:not(.is-active):hover{background:#fff;border-color:rgba(0,0,0,.32);color:#000}
.project-tabs button.is-active{background:#0a0a0a;border-color:#0a0a0a;color:#e8ff00;padding:11px 18px}
.project-tabs button.is-active>span{color:rgba(232,255,0,.72)}
.project-tabs button.is-active::after{color:rgba(255,255,255,.6)}
.project-tabs button:focus-visible{outline:2px solid #0a0a0a;outline-offset:2px}
.project-tabs button.is-active:focus-visible{outline-color:#e8ff00}

/* mq-terminal-mobile: Die Ausgabe wurde auf schmalen Bildschirmen oben abgeschnitten.
   Hauptloesung liegt in moqro-enhance.js: Die Schriftgroesse wird so berechnet, dass
   alle 12 gespeicherten Zeilen in die Ausgabe passen - es wird gerechnet statt geschnitten.
   Hier nur die Voraussetzungen dafuer:
   1) Unten ausrichten ueber margin-top:auto statt justify-content - sonst blockiert
      der Flexbox-Fehler das Hochscrollen, falls es doch einmal noetig wird.
   2) Scrollen als Rueckfalloption, Balken ausgeblendet.
   3) Etwas weniger Polsterung auf Mobile. */
.computer-terminal__output{justify-content:flex-start;overflow-y:auto;
  overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.computer-terminal__output::-webkit-scrollbar{width:0;height:0}
.computer-terminal__output>*:first-child{margin-top:auto}
@media (max-width:767px){
  .computer-terminal{padding:15% 5.5% 4%}
}

/* mq-terminal-platz: Weniger Polsterung im Terminal - schafft Raum fuer groessere
   Schrift. Vorher gingen seitlich 7% und oben 16% der Breite verloren. */
.computer-terminal{padding:14% 4.5% 4%!important}
@media (max-width:767px){.computer-terminal{padding:14% 4.5% 4%!important}}

/* mq-menu-fit: Die Menuezeilen liefen ineinander. Ursache: feste Zeilenhoehe von
   82px, aber eine Schrift bis 6.5rem - das Zeilenkastenmass liegt darueber. Mit dem
   neunten Eintrag reichte zudem die Gesamthoehe nicht mehr.
   Loesung: Schrift und Zeilenhoehe an die Bildschirmhoehe koppeln (vh), denn die
   Hoehe ist hier die knappe Groesse, nicht die Breite. */
@media (min-width:768px){
  .menu-link{min-height:clamp(48px,7.2vh,72px);padding:2px 14px}
  .menu-link__text{font-size:clamp(1.7rem,4.4vh,3.6rem);line-height:1.02}
  .menu-links{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
}
@media (max-width:767px){
  .menu-link{min-height:clamp(44px,6.6vh,60px)}
  .menu-link__text{font-size:clamp(1.6rem,4.6vh,2.9rem);line-height:1.04}
  .menu-links{overflow-y:auto;overscroll-behavior:contain}
}
@media (max-height:700px) and (min-width:768px){
  .menu-link__text{font-size:clamp(1.5rem,4vh,2.9rem)}
}

/* mq-tabs-mobil: Auf schmalen Bildschirmen sollen alle Pillen gleich breit sein.
   Durchgerechnet: Der laengste Eintrag ("Octocade Retro-Gaming") braucht rund
   187px. Zwei Spalten gehen daher erst ab etwa 430px Bildschirmbreite auf,
   darunter eine Spalte in voller Breite - so bleiben sie gleich lang, statt
   unterschiedlich zu umbrechen. */
@media (max-width:767px){
  .project-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:18px 16px 16px}
  .project-tabs button{width:100%;justify-content:flex-start}
}
@media (max-width:429px){
  .project-tabs{grid-template-columns:1fr}
}

/* mq-phos-auto: Der Akzentton steht 59-mal fest im Stylesheet. Diese Regeln sind
   daraus automatisch erzeugt - Quelle ist das unveraenderte Original, Kommentare
   vorher entfernt. Jede Deklaration mit #e8ff00 bekommt eine Entsprechung unter
   html.mq-phos, die die Variable --mq-phos verwendet. Halbtransparente Werte laufen
   ueber color-mix, weil sich Alpha nicht an eine Variable haengen laesst. */
html.mq-phos{--screen-ink:var(--mq-phos);--screen-dim:color-mix(in srgb, var(--mq-phos) 20%, transparent);--project-color:var(--mq-phos);--case-accent:var(--mq-phos);--info-accent:var(--mq-phos)}
html.mq-phos .computer-screen{--screen-dim:color-mix(in srgb, var(--mq-phos) 20%, transparent)!important;--screen-ink:var(--mq-phos)!important}
html.mq-phos .computer-screen__signal{background:var(--mq-phos)!important;box-shadow:0 0 5px color-mix(in srgb, var(--mq-phos) 75%, transparent)!important}
html.mq-phos .computer-case-badge{background:var(--mq-phos)!important}
html.mq-phos .computer-eye{background:var(--mq-phos)!important;box-shadow:0 0 14px color-mix(in srgb, var(--mq-phos) 28%, transparent)!important}
html.mq-phos.moqro-corrupted .computer-hero__halo{background:radial-gradient(circle,color-mix(in srgb, var(--mq-phos) 8%, transparent),#0000 68%)!important;border-color:color-mix(in srgb, var(--mq-phos) 22%, transparent)!important}
html.mq-phos.moqro-corrupted .computer-head__shell{filter:grayscale()contrast(1.2)drop-shadow(0 0 30px color-mix(in srgb, var(--mq-phos) 14%, transparent))!important}
html.mq-phos.moqro-corrupted .computer-terminal{border-color:color-mix(in srgb, var(--mq-phos) 55%, transparent)!important;box-shadow:inset 0 0 34px #000000e6,0 0 24px color-mix(in srgb, var(--mq-phos) 30%, transparent)!important}
html.mq-phos .system-corruption-layer{color:var(--mq-phos)!important;background:radial-gradient(circle at 50% 42%,color-mix(in srgb, var(--mq-phos) 7%, transparent),#0000 36%),#020500e0!important}
html.mq-phos .system-corruption-layer:before{background:repeating-linear-gradient(#0000 0 3px,color-mix(in srgb, var(--mq-phos) 4%, transparent) 4px)!important}
html.mq-phos .system-corruption-layer:after{background:color-mix(in srgb, var(--mq-phos) 10%, transparent)!important}
html.mq-phos .system-corruption-layer__grid{background-image:linear-gradient(color-mix(in srgb, var(--mq-phos) 8%, transparent) 1px,#0000 1px),linear-gradient(90deg,color-mix(in srgb, var(--mq-phos) 8%, transparent) 1px,#0000 1px)!important}
html.mq-phos .system-corruption-layer__status{border-bottom:1px solid color-mix(in srgb, var(--mq-phos) 45%, transparent)!important}
html.mq-phos .system-corruption-layer__number{color:color-mix(in srgb, var(--mq-phos) 8%, transparent)!important}
html.mq-phos .system-corruption-layer__warning{border:1px solid color-mix(in srgb, var(--mq-phos) 50%, transparent)!important}
html.mq-phos .system-corruption-layer.is-repairing{background:repeating-linear-gradient(90deg,color-mix(in srgb, var(--mq-phos) 4%, transparent) 0 2px,#0000 2px 30px),#020500d1!important}
html.mq-phos .project-showcase{--project-color:var(--mq-phos)!important}
html.mq-phos .project-tabs button.is-active{color:var(--mq-phos)!important}
html.mq-phos .project-modal__bar>button{background:var(--mq-phos)!important}
html.mq-phos .studio-signal__grid{background-image:linear-gradient(color-mix(in srgb, var(--mq-phos) 7%, transparent) 1px,#0000 1px),linear-gradient(90deg,color-mix(in srgb, var(--mq-phos) 7%, transparent) 1px,#0000 1px)!important}
html.mq-phos .studio-signal__scan{background:linear-gradient(#0000,color-mix(in srgb, var(--mq-phos) 9%, transparent),#0000)!important}
html.mq-phos .studio-signal__topline{border-bottom:1px solid color-mix(in srgb, var(--mq-phos) 20%, transparent)!important}
html.mq-phos .studio-signal__topline>span:first-child{color:var(--mq-phos)!important}
html.mq-phos .studio-signal__topline i{box-shadow:0 0 10px color-mix(in srgb, var(--mq-phos) 72%, transparent)!important}
html.mq-phos .studio-signal__disc{box-shadow:0 0 0 1px #ffffff80,0 0 60px color-mix(in srgb, var(--mq-phos) 14%, transparent)!important}
html.mq-phos .studio-signal__orbit{border:1px solid color-mix(in srgb, var(--mq-phos) 28%, transparent)!important}
html.mq-phos .studio-signal__orbit i{background:var(--mq-phos)!important;box-shadow:0 0 14px color-mix(in srgb, var(--mq-phos) 70%, transparent)!important}
html.mq-phos .studio-signal__hint{color:var(--mq-phos)!important}
html.mq-phos .contact-section{background:var(--mq-phos)!important}
html.mq-phos .contact-button:hover{color:var(--mq-phos)!important}
html.mq-phos .menu-system-bar__title{color:var(--mq-phos)!important}
html.mq-phos .menu-system-bar__title i{box-shadow:0 0 7px color-mix(in srgb, var(--mq-phos) 62%, transparent)!important}
html.mq-phos .menu-links .menu-link:hover{color:var(--mq-phos)!important}
html.mq-phos .menu-footer a{color:var(--mq-phos)!important}
html.mq-phos .case-study{--case-accent:var(--mq-phos)!important}
html.mq-phos .info-page{--info-accent:var(--mq-phos)!important}
html.mq-phos .not-found-page{background:var(--mq-phos)!important}
@media (min-width:768px){html.mq-phos .menu-system-status{color:var(--mq-phos)!important}}
@media (min-width:768px){html.mq-phos .menu-system-status:after{background:repeating-linear-gradient(#0000 0 3px,color-mix(in srgb, var(--mq-phos) 2%, transparent) 4px)!important}}
@media (min-width:768px){html.mq-phos .menu-system-status__head{border-bottom:1px solid color-mix(in srgb, var(--mq-phos) 24%, transparent)!important}}
@media (min-width:768px){html.mq-phos .menu-system-status__screen p{color:color-mix(in srgb, var(--mq-phos) 62%, transparent)!important}}
@media (min-width:768px){html.mq-phos .menu-system-status__screen i{background:var(--mq-phos)!important}}
@media (min-width:768px){html.mq-phos .menu-system-status dl{border-top:1px solid color-mix(in srgb, var(--mq-phos) 24%, transparent)!important}}
/* mq-phos-rot: Rot als vierte Bildschirmfarbe. Die Augen ziehen ihre Farbe jetzt
   aus derselben Variable wie die Mattscheibe. */
.computer-screen--red{--screen-bg:#170303;--screen-dim:#ff3b3b33;--screen-ink:#ff3b3b}
.computer-eye{background:var(--screen-ink,#e8ff00)}
.computer-eye i{background:var(--screen-bg,#111)}

/* mq-gross: Der Monitordeckel steigt mit der Bildschirmbreite, damit das Geraet auf
   grossen Schirmen nicht verloren wirkt. Offen und geschlossen sind gleich gross -
   das Geraet soll beim Oeffnen ruhig stehen bleiben, nur der Inhalt wechselt.
   (Auf Mobile bleibt es beim Wachsen, dort ist 148vw groesser als 94vw und der
   Platz wird zum Lesen gebraucht.) */
@media (min-width:768px){
  .computer-head.is-terminal-open{width:min(148vw,720px)}
}
@media (min-width:1600px){
  .computer-head,.computer-head.is-terminal-open{width:min(94vw,860px)}
  .computer-hero{width:min(58vw,1080px)!important}
  .hero-copy>h1{max-width:min(860px,42vw)!important}
}
@media (min-width:1920px){
  .computer-head,.computer-head.is-terminal-open{width:min(94vw,980px)}
  .computer-hero{width:min(55vw,1200px)!important}
  .hero-copy>h1{max-width:min(980px,40vw)!important}
}
@media (min-width:2400px){
  .computer-head,.computer-head.is-terminal-open{width:min(94vw,1100px)}
}

/* mq-trennung: Hero endet weiss, die Projektsektion begann ebenfalls weiss - die
   Kante war unsichtbar. Der Grund bekommt Papierton, die Showcase-Karte wird weiss
   und hebt sich davon ab.
   Wichtig: Der dunkle Rahmen der Vorschau (.project-browser, #111) bleibt unangetastet
   - ihn hatte ich zuvor mit auf Weiss gesetzt, wodurch die Fassung verschwand und die
   Vorschau flach wirkte. */
.projects-section{background:#f4f4f2!important;border-top:1px solid rgba(0,0,0,.08)}
.showreel-section{background:#f4f4f2!important}
.studio-section{background:#f4f4f2!important;border-top:1px solid rgba(0,0,0,.08)}
.project-showcase{background:#fff!important;box-shadow:0 1px 0 rgba(0,0,0,.06)}

/* mq-rand: Mehr Luft zum Bildschirmrand. Die Sektionen hatten durchgehend 16px,
   was auf grossen Schirmen gedraengt wirkt - die Vorschau klebte fast am Rand. */
@media (min-width:1024px){
  .projects-section,.showreel-section,.studio-section,.services-section{
    padding-left:clamp(16px,2.6vw,44px);padding-right:clamp(16px,2.6vw,44px)}
  .contact-section{padding-left:clamp(16px,2.6vw,44px);padding-right:clamp(16px,2.6vw,44px)}
}

/* mq-pfeil: Der Pfeil in der Vorschauleiste ist jetzt bedienbar. */
.mq-vorschau-pfeil{cursor:pointer;padding:6px;margin:-6px;border-radius:6px;
  transition:color .2s ease,background .2s ease}
.mq-vorschau-pfeil:hover{color:var(--project-color,#e8ff00);background:#ffffff1a}
.mq-vorschau-pfeil:focus-visible{outline:2px solid var(--project-color,#e8ff00);outline-offset:2px}
@media (pointer:coarse){.mq-vorschau-pfeil{padding:11px;margin:-11px}}
