@font-face{font-family:Haus Eurostile Bold;src:url(/haus.font/haus.eurostile.bold.woff2) format("woff2");font-weight:700;font-style:normal}:root{font-family:HAX Hand,Haus Eurostile,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#fae1f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--full-height: 100vh}@supports (height: 100dvh){:root{--full-height: 100dvh}}strong{font-family:Haus Eurostile Bold,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:700}body{margin:0;min-width:320px;min-height:var(--full-height, 100vh)}html,body{overflow:hidden;overscroll-behavior:none}@media (prefers-color-scheme: dark){:root{background-color:#242424}}@media (prefers-color-scheme: light){:root{color:#213547}}:root{--beam-rgb: var(--neon);--scope-lines: .1;--beam-power: 1;--glow-power: 1;--glow-power-menu: 1;--glow-power-logo: 1;--glow-power-links: 1}@property --glow-power{syntax: "<number>"; inherits: true; initial-value: 1;}@property --glow-power-menu{syntax: "<number>"; inherits: true; initial-value: 1;}@property --glow-power-logo{syntax: "<number>"; inherits: true; initial-value: 1;}@property --glow-power-links{syntax: "<number>"; inherits: true; initial-value: 1;}@property --glow-k{syntax: "<number>"; inherits: true; initial-value: 1;}@property --beam-power{syntax: "<number>"; inherits: true; initial-value: 1;}.hologram-button{--glow-k: calc(var(--glow-power) * var(--glow-power-menu))}.marks{--glow-k: calc(var(--glow-power) * var(--glow-power-logo))}.site-links{--glow-k: calc(var(--glow-power) * var(--glow-power-links))}@font-face{font-family:HAX Hand;src:url(/haus.font/hax.hand.regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Haus Eurostile;src:url(/haus.font/haus.eurostile.regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}.app{width:100%;height:var(--full-height, 100vh);margin:0;padding:0;position:relative;overflow:hidden}:root{--neon: 255, 84, 217}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:HAX Hand,Haus Eurostile,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--type-stroke: .03em}:root{--nav-fade: .2s;--nav-font-size: clamp(16px, 1.8vw, 18px);--nav-pad-y: clamp(4px, 1vh, 16px);--nav-line-h: 1.3;--nav-row-h: calc(var(--nav-line-h) * var(--nav-font-size) + 2 * var(--nav-pad-y))}.ui-overlay{position:fixed;inset:0;pointer-events:none;z-index:10}.top-bar{position:fixed;top:8px;pointer-events:auto;border-radius:50px;z-index:1100;padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px)}.top-left{left:0;right:0;pointer-events:none}.top-left>*{pointer-events:auto}.text-3d-container{background:transparent!important;padding:0;border:none!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.nav-buttons{display:flex;flex-direction:column;align-items:flex-start;gap:0;pointer-events:none}.nav-buttons>*{pointer-events:auto}.nav-enquire{align-self:stretch;pointer-events:none}.nav-enquire>*{pointer-events:auto}.nav-fade{opacity:0;transition:opacity var(--nav-fade) ease}.nav-fade--in{opacity:1}.nav-send.nav-fade--in{opacity:var(--send-strength, 1)}.nav-ghost{background:none;border:none;outline:none;padding:0;margin:0;font-family:HAX Hand,Haus Eurostile,Frutiger,Segoe UI,sans-serif;font-weight:700;font-size:clamp(16px,1.8vw,18px);letter-spacing:.05em;text-transform:uppercase;color:var(--theme-text-color, #242424);caret-color:var(--theme-text-color, #242424);-webkit-text-stroke-width:var(--type-stroke);transition:opacity var(--nav-fade) ease,color var(--nav-fade) ease,caret-color var(--nav-fade) ease}.nav-ghost-grow{flex:1;min-width:0;text-transform:none;padding-top:var(--nav-pad-y);line-height:var(--nav-line-h);box-sizing:border-box;padding-right:12px;resize:none;overflow-y:hidden;line-height:1.3;display:block;white-space:pre-wrap;overflow-wrap:anywhere}.nav-send{padding-top:var(--nav-pad-y);line-height:var(--nav-line-h)}.nav-ghost::placeholder{color:var(--theme-text-color, #242424);opacity:.45;transition:opacity .3s}.nav-ghost:focus::placeholder{opacity:.2}.nav-ghost-notice::placeholder,.nav-ghost-notice:focus::placeholder{color:var(--theme-text-color, #242424);opacity:0;transition:opacity var(--nav-fade) ease}.nav-ghost-notice--in::placeholder,.nav-ghost-notice--in:focus::placeholder{opacity:1}.nav-ghost-textgone{color:transparent;caret-color:transparent}@media (max-width: 768px){.top-bar{font-size:clamp(12px,3vw,14px);width:100%;max-width:100%;left:0;right:0}.nav-buttons{width:100%;flex-direction:column;align-items:flex-start}.nav-ghost{font-size:16px}}.front{position:fixed;inset:0;background-color:#0e1a16;background-position:center center;background-repeat:no-repeat;background-size:cover;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.front[data-bg="1"]{background-image:url(/front-bg-1.jpg);background-image:image-set(url(/front-bg-1.webp) type("image/webp"),url(/front-bg-1.jpg) type("image/jpeg"))}.front[data-bg="2"]{background-image:url(/front-bg-2.jpg);background-image:image-set(url(/front-bg-2.webp) type("image/webp"),url(/front-bg-2.jpg) type("image/jpeg"))}.front[data-bg="3"]{background-image:url(/front-bg-3.jpg);background-image:image-set(url(/front-bg-3.webp) type("image/webp"),url(/front-bg-3.jpg) type("image/jpeg"))}.front[data-bg="4"]{background-image:url(/front-bg-4.jpg);background-image:image-set(url(/front-bg-4.webp) type("image/webp"),url(/front-bg-4.jpg) type("image/jpeg"))}.front[data-bg="5"]{background-image:url(/front-bg-5.jpg);background-image:image-set(url(/front-bg-5.webp) type("image/webp"),url(/front-bg-5.jpg) type("image/jpeg"))}.front[data-bg="6"]{background-image:url(/front-bg-6.jpg);background-image:image-set(url(/front-bg-6.webp) type("image/webp"),url(/front-bg-6.jpg) type("image/jpeg"))}.front:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:#050807;opacity:0;transition:opacity var(--nav-fade, .2s) ease}.front--dim:before{opacity:.94}.front input,.front textarea{-webkit-user-select:text;user-select:text}@property --theme-text-color{syntax: "<color>"; inherits: true; initial-value: #242424;}:root{--button-text-color: #242424;--button-gradient-light: #3a3a3a;--button-gradient-mid: #242424;--button-gradient-dark: #1a1a1a;--theme-text-color: #242424;transition:--theme-text-color 3s ease-in-out}@media (prefers-color-scheme: dark){:root{--button-text-color: #fae1f6;--theme-text-color: #fae1f6}.hologram-button--hologram .hologram-button__text{background:none!important;color:var(--theme-text-color)!important;-webkit-text-fill-color:unset!important;animation:none!important}.hologram-button--hologram:hover .hologram-button__text,.hologram-button--hologram:focus-visible .hologram-button__text{color:#fff!important}}.hologram-button{position:relative;background:transparent;border:none;border-radius:0;cursor:pointer;padding:var(--nav-pad-y, clamp(4px, 1vh, 16px)) clamp(8px,2vw,16px);line-height:var(--nav-line-h, 1.3);font-family:HAX Hand,Haus Eurostile,Frutiger,Segoe UI,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.05em;overflow:visible;-webkit-text-stroke-width:var(--type-stroke)}.hologram-button--small{font-size:clamp(11px,1.4vw,14px)}.hologram-button--medium{font-size:var(--nav-font-size, clamp(16px, 1.8vw, 18px))}.hologram-button--large{font-size:clamp(16px,2.4vw,24px)}.hologram-button__text{position:relative;z-index:2;color:var(--button-text-color);transition:color .28s ease}.hologram-button__glow{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;pointer-events:none;white-space:nowrap;color:transparent;paint-order:stroke fill;-webkit-text-stroke-color:rgb(var(--beam-rgb, var(--neon)));-webkit-text-stroke-width:5px;opacity:0;transition:opacity .28s ease,-webkit-text-stroke-width .09s ease-out}.hologram-button__scanlines{display:none}.hologram-button--hologram .hologram-button__text{background:linear-gradient(90deg,var(--button-gradient-mid) 0%,var(--button-gradient-light) 25%,var(--button-gradient-mid) 50%,var(--button-gradient-dark) 75%,var(--button-gradient-mid) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:hologram-shimmer 3s ease-in-out infinite}.hologram-button--led .hologram-button__text{color:var(--button-text-color)}.hologram-button--led .hologram-button__scanlines{background:repeating-linear-gradient(0deg,transparent,transparent 1px,rgba(0,0,0,.1) 1px,rgba(0,0,0,.1) 2px)}.hologram-button--glow .hologram-button__text{color:var(--button-text-color)}.hologram-button--glow .hologram-button__scanlines{display:none}.hologram-button--hologram:hover .hologram-button__text,.hologram-button--hologram:focus-visible .hologram-button__text{background:none!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:unset!important;color:#fff!important;animation:none!important}.hologram-button:hover .hologram-button__glow,.hologram-button:focus-visible .hologram-button__glow{opacity:calc(1 * var(--glow-k, 1))}.hologram-button:active .hologram-button__glow{-webkit-text-stroke-width:9px}.hologram-button--active .hologram-button__glow{opacity:calc(1 * var(--glow-k, 1))}@keyframes hologram-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes hologram-flicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.8}94%{opacity:1}96%{opacity:.9}97%{opacity:1}}@keyframes hologram-pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.4}50%{transform:translate(-50%,-50%) scale(1.05);opacity:.6}}@keyframes scanline-move{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes led-pulse{0%,to{opacity:1;text-shadow:0 0 5px #FFD700,0 0 10px #FFD700,0 0 15px #FFD700,0 0 20px #FFA500}50%{opacity:.9;text-shadow:0 0 10px #FFD700,0 0 20px #FFD700,0 0 30px #FFD700,0 0 40px #FFA500}}@keyframes glow-breathe{0%,to{text-shadow:0 0 20px rgba(255,215,0,.9),0 0 40px rgba(255,215,0,.7),0 0 60px rgba(79,122,40,.5)}50%{text-shadow:0 0 30px rgba(255,215,0,1),0 0 60px rgba(255,215,0,.8),0 0 90px rgba(79,122,40,.6)}}.about-spiral{opacity:0;transition:opacity var(--nav-fade) ease}.about-spiral--in{opacity:1}.about-spiral-text{pointer-events:visiblePainted}.film,.film-grain{position:fixed;inset:0;pointer-events:none;z-index:1200}.film{background:repeating-linear-gradient(to bottom,#0000 0px 2px,rgba(0,0,0,var(--scope-lines, .1)) 2px 3px),radial-gradient(75% 75% at 50% 50%,#fff 45%,#c2c2c2);mix-blend-mode:multiply}.film-grain{background-image:url(/grain.png);background-repeat:repeat;background-size:256px 256px;mix-blend-mode:overlay}@media (min-resolution: 2dppx){.film-grain{background-size:128px 128px}}@media (prefers-reduced-motion: reduce){.film-grain{opacity:.4}}.scope-beam{position:fixed;left:0;top:0;width:0;height:0;z-index:1090;pointer-events:none;opacity:0;transition:opacity .35s ease}.scope-beam--live{opacity:1}.scope-beam__phosphor{position:absolute;left:0;top:0;width:var(--size);height:var(--size);margin-left:calc(var(--size) / -2);margin-top:calc(var(--size) / -2);border-radius:50%;background:radial-gradient(closest-side circle,rgba(var(--beam-rgb),calc(var(--alpha) * var(--beam-power))),rgba(var(--beam-rgb),calc(var(--alpha) * var(--beam-power) * .34)) 38%,rgba(var(--beam-rgb),0));will-change:transform}@media (prefers-reduced-motion: reduce){.scope-beam__phosphor:not(:first-child){display:none}}.mark-halo-fill stop{stop-color:rgb(var(--beam-rgb, var(--neon)))}.marks{position:fixed;left:50%;transform:translate(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));height:clamp(30px,4.6vh,52px);width:auto;z-index:1100;overflow:visible;color:var(--button-text-color);pointer-events:none;-webkit-tap-highlight-color:transparent;animation:mark-signal 5s steps(1,end) infinite}.mark-lean{opacity:calc(.62 * var(--glow-k, 1));transition:opacity .28s ease}.marks:hover .mark-lean,.marks:focus-visible .mark-lean{opacity:calc(1 * var(--glow-k, 1))}.marks:focus{outline:none}.mark-halo{animation:mark-radiate var(--period) ease-in-out var(--offset) infinite;pointer-events:none}.mark{pointer-events:none;paint-order:stroke fill;stroke:rgb(var(--beam-rgb, var(--neon)));stroke-width:0;stroke-linejoin:round;transition:stroke-width .28s ease}.marks:hover .mark,.marks:focus-visible .mark,.marks--open .mark{stroke-width:7}.marks:active .mark{stroke-width:12;transition-duration:.09s}@media (prefers-reduced-motion: reduce){.mark{transition:none}}.marks-hit{pointer-events:all;cursor:pointer}@keyframes mark-radiate{0%{opacity:.36}9%{opacity:.7}17%{opacity:.47}31%{opacity:1}38%{opacity:.59}47%{opacity:.84}56%{opacity:.41}68%{opacity:.95}79%{opacity:.52}88%{opacity:.69}to{opacity:.36}}@keyframes mark-signal{0%{opacity:1}76%{opacity:1}78%{opacity:1}82%{opacity:.18}86%{opacity:1}90%{opacity:.18}94%{opacity:1}97%{opacity:.7}to{opacity:1}}@media (prefers-reduced-motion: reduce){.marks{animation:none}.mark-halo{animation:none;opacity:.65}}@media (prefers-color-scheme: dark){.marks{color:var(--theme-text-color)}}.site-links{position:fixed;inset:0;z-index:1120;display:flex;align-items:flex-start;justify-content:flex-start;padding-top:calc(8px + 3 * var(--nav-row-h));padding-left:env(safe-area-inset-left,0px);pointer-events:none;--neon-halo: 0 0 2px rgba(var(--neon), 1), 0 0 6px rgba(var(--neon), .95), 0 0 18px rgba(var(--neon), .7), 0 0 40px rgba(var(--neon), .45)}.site-links__stack{display:flex;flex-direction:column;align-items:flex-start}.site-link-row{display:flex;justify-content:center;pointer-events:auto}.site-link{background:none;border:none;padding:0;margin:0;cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:HAX Hand,Haus Eurostile,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:700;font-size:var(--nav-font-size);line-height:var(--nav-line-h);letter-spacing:.05em;text-transform:uppercase;padding:var(--nav-pad-y) clamp(8px,2vw,16px);color:var(--theme-text-color, #242424);-webkit-text-stroke-width:var(--type-stroke);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:relative;transition:color .28s ease}.site-link__text{position:relative;z-index:2}.site-link:hover,.site-link:focus-visible{outline:none;color:#fff}.site-link__glow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;pointer-events:none;white-space:nowrap;color:transparent;paint-order:stroke fill;-webkit-text-stroke-color:rgb(var(--beam-rgb, var(--neon)));-webkit-text-stroke-width:.14em;opacity:0;transition:opacity .28s ease,-webkit-text-stroke-width .09s ease-out}.site-link:hover .site-link__glow,.site-link:focus-visible .site-link__glow{opacity:calc(1 * var(--glow-k, 1))}.site-link--open .site-link__glow{opacity:calc(1 * var(--glow-k, 1))}.site-link:active .site-link__glow{-webkit-text-stroke-width:.24em}.site-preview{--card-scale: calc(var(--card-w) / var(--frame-w));position:fixed;left:var(--x);top:var(--y);width:var(--card-w);height:var(--card-h);pointer-events:auto;z-index:1}.site-preview-card{width:100%;height:100%;overflow:hidden;display:grid;grid-template-columns:100%;grid-template-rows:100%;place-items:center;background:#0e1a16;clip-path:url(#site-preview-clip)}.site-preview-plate{grid-area:1 / 1;font-family:HAX Hand,Haus Eurostile,sans-serif;font-size:15px;letter-spacing:.08em;color:#ffffff59}.site-preview-frame{grid-area:1 / 1;width:var(--frame-w);height:var(--frame-h);transform:scale(var(--card-scale));transform-origin:top left;justify-self:start;align-self:start;border:0;background:transparent;pointer-events:none;opacity:0;transition:opacity var(--nav-fade) ease,filter .28s ease}.site-preview-frame--in{opacity:1}.site-preview-edge{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;fill:none;stroke:rgb(var(--beam-rgb, var(--neon)));stroke-width:3;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 3px rgba(var(--neon),.9)) drop-shadow(0 0 12px rgba(var(--neon),.5))}.site-preview-frame--video{width:100%;height:100%;transform:none;object-fit:cover}.site-preview--armed .site-preview-frame{filter:blur(7px) brightness(.55)}.site-preview-enter{grid-area:1 / 1;z-index:1;position:relative;background:none;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:HAX Hand,Haus Eurostile,sans-serif;font-weight:700;font-size:22px;letter-spacing:.24em;text-transform:uppercase;-webkit-text-stroke-width:var(--type-stroke);animation:site-enter-in var(--nav-fade) ease both}.site-preview-enter__text{position:relative;z-index:2;color:#fff}.site-preview-enter__glow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;pointer-events:none;white-space:nowrap;color:transparent;paint-order:stroke fill;-webkit-text-stroke-color:rgb(var(--beam-rgb, var(--neon)));-webkit-text-stroke-width:4px;transition:-webkit-text-stroke-width .09s ease-out}.site-preview-enter:before{content:"";position:absolute;left:50%;top:50%;width:240px;height:110px;transform:translate(-50%,-50%);z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,rgba(var(--neon),.55),rgba(var(--neon),.22) 42%,rgba(var(--neon),0) 72%);filter:blur(12px)}.site-preview-enter:hover,.site-preview-enter:focus-visible{outline:none}.site-preview-enter:hover .site-preview-enter__glow,.site-preview-enter:focus-visible .site-preview-enter__glow{-webkit-text-stroke-width:7px}.site-preview-enter:active .site-preview-enter__glow{-webkit-text-stroke-width:11px}@keyframes site-enter-in{0%{opacity:0}to{opacity:1}}.site-preview-hit{grid-area:1 / 1;width:100%;height:100%;background:none;border:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}@media (prefers-reduced-motion: reduce){.site-preview-enter{animation:none}}.portfolio{height:100vh;height:100dvh;overflow-y:auto;scroll-snap-type:y mandatory;background:#fae1f6;color:#213547;-webkit-overflow-scrolling:touch}@media (prefers-color-scheme: dark){.portfolio{background:#242424;color:#ffffffde}}.portfolio-section{height:100vh;height:100dvh;scroll-snap-align:start;scroll-snap-stop:always}.portfolio-frame-wrap{position:relative;width:100%;height:100%;overflow:hidden;background:#fff}@media (prefers-color-scheme: dark){.portfolio-frame-wrap{background:#111}}.portfolio-frame-wrap iframe{width:100%;height:100%;border:0;display:block}.portfolio-frame-wrap video{width:100%;height:100%;object-fit:cover;display:block;background:#000}.swipe-hint{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10;opacity:1;transition:opacity .45s ease-out}.swipe-hint--out{opacity:0}.swipe-hint-hand{color:#fff;filter:drop-shadow(0 0 6px rgba(0,0,0,.6));animation:swipe-hint-glide 2.6s ease-in-out infinite}@keyframes swipe-hint-glide{0%{transform:translateY(56px) rotate(6deg) scale(1);opacity:0}12%{transform:translateY(56px) rotate(6deg) scale(.88);opacity:.95}68%{transform:translateY(-56px) rotate(-4deg) scale(.88);opacity:.95}84%{transform:translateY(-64px) rotate(-4deg) scale(1);opacity:0}to{transform:translateY(-64px) rotate(-4deg) scale(1);opacity:0}}.swipe-hint-trail{position:absolute;top:calc(50% - 70px);left:calc(50% - 1px);width:2px;height:112px;border-radius:1px;background:linear-gradient(to bottom,#ffffffd9,#fff0);transform-origin:bottom center;animation:swipe-hint-trail 2.6s ease-in-out infinite}@keyframes swipe-hint-trail{0%,12%{transform:scaleY(0);opacity:0}40%{opacity:.65}68%{transform:scaleY(1);opacity:.55}84%,to{transform:scaleY(1);opacity:0}}@media (prefers-reduced-motion: reduce){.swipe-hint-hand,.swipe-hint-trail{animation:none}.swipe-hint-trail{transform:scaleY(1);opacity:.5}}.portfolio-info{position:absolute;bottom:calc(1rem + env(safe-area-inset-bottom,0px));right:calc(1rem + env(safe-area-inset-right,0px));z-index:20;font-family:Haus Eurostile Bold,system-ui,Avenir,Helvetica,Arial,sans-serif;--info-glow: 255, 0, 255}.portfolio-info-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid rgba(0,0,0,.18);border-radius:50%;background:#ffffffb8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#213547;font:inherit;font-size:15px;line-height:1;font-style:italic;cursor:pointer;box-shadow:0 2px 10px #00000024;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,text-shadow .2s ease,transform .18s ease}.portfolio-info-btn:hover,.portfolio-info-btn--open:hover{color:rgb(var(--info-glow));border-color:rgba(var(--info-glow),.8);box-shadow:0 0 6px rgba(var(--info-glow),.55),0 0 16px rgba(var(--info-glow),.4),0 0 30px rgba(var(--info-glow),.22),inset 0 0 12px rgba(var(--info-glow),.3);text-shadow:0 0 6px rgba(var(--info-glow),.9),0 0 14px rgba(var(--info-glow),.6)}.portfolio-info-btn--open{background:#213547;border-color:#213547;color:#fff}.portfolio-info-btn:active{transform:scale(.94)}.portfolio-info-btn:focus-visible{outline:2px solid rgb(var(--info-glow));outline-offset:2px}.portfolio-info-panel{position:absolute;bottom:calc(30px + .5rem);right:0;width:max-content;max-width:min(340px,calc(100vw - 2rem));max-height:calc(100dvh - 6rem);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:1rem 1.1rem .9rem;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#ffffffe6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 30px #0000002e;color:#213547;text-align:left;animation:portfolio-info-in .22s ease-out both}@keyframes portfolio-info-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.portfolio-info-panel h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4em;margin:0 0 .7rem;padding-right:1.4rem;font-size:15px;line-height:1.2;letter-spacing:.04em;text-transform:lowercase}.portfolio-info-panel h2 span{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:11.5px;font-weight:400;letter-spacing:.02em;opacity:.55}.portfolio-info-panel p{margin:0 0 .85rem;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:12.5px;line-height:1.55;opacity:.78}.portfolio-info-open{position:absolute;top:.7rem;right:.8rem;padding:.3rem;color:inherit;font-size:15px;line-height:1.2;text-decoration:none;opacity:.45;transition:color .2s ease,opacity .2s ease,text-shadow .2s ease}.portfolio-info-open:hover,.portfolio-info-open:focus-visible{color:rgb(var(--info-glow));opacity:1;text-shadow:0 0 6px rgba(var(--info-glow),.85),0 0 14px rgba(var(--info-glow),.5)}.portfolio-info-panel p:last-child{margin-bottom:0}@media (prefers-color-scheme: dark){.portfolio-info-btn{border-color:#ffffff3d;background:#141414ad;color:#ffffffeb}.portfolio-info-btn--open{background:#ffffffeb;border-color:#ffffffeb;color:#111}.portfolio-info-panel{border-color:#ffffff24;background:#161616e0;color:#ffffffde;box-shadow:0 8px 30px #00000080}.portfolio-info-open{opacity:.55}}@media (prefers-reduced-motion: reduce){.portfolio-info-panel{animation:none}.portfolio-info-btn:active{transform:none}}.portfolio-frame-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:Haus Eurostile Bold,system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:clamp(18px,3.4vw,28px);letter-spacing:.03em;text-transform:lowercase;opacity:.5}.bc-shell{position:fixed;inset:0;z-index:100;display:grid;grid-template-rows:34px 1fr 24px;background:#1c1c1c;color:#d6d6d6;font:11px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;-webkit-user-select:none;user-select:none;overflow:hidden;overscroll-behavior:none}.bc-shell button,.bc-shell input{font:inherit;color:inherit;background:#2c2c2c;border:1px solid #3a3a3a;border-radius:3px;padding:2px 7px;cursor:pointer}.bc-shell button:hover{background:#383838}.bc-shell button.is-on{background:#2ea3ff;border-color:#2ea3ff;color:#06121d}.bc-shell input{cursor:text;font-variant-numeric:tabular-nums}.bc-topbar{display:flex;align-items:center;gap:8px;padding:0 10px;background:#232323;border-bottom:1px solid #111}.bc-doc{color:#9a9a9a}.bc-sep{width:1px;height:18px;background:#333}.bc-spacer{flex:1}.bc-dim{color:#777}.bc-readout{font-variant-numeric:tabular-nums;color:#9a9a9a}.bc-readout b{color:#e8e8e8;font-weight:600;margin-right:6px}.bc-body{display:grid;grid-template-columns:1fr 300px;min-height:0}.bc-body>*{min-width:0;min-height:0}.bc-stage{position:relative;background:#3a3a3a;overflow:hidden}.bc-viewport{position:absolute;top:0;left:0;transform-origin:0 0}.bc-viewport.is-panning{will-change:transform}.bc-canvas{display:block}.bc-stage{cursor:grab;touch-action:none}.bc-stage:active{cursor:grabbing}.bc-ruler{position:absolute;background:#262626;pointer-events:none;z-index:2}.bc-ruler text{fill:#8a8a8a;font-size:8px}.bc-ruler-x{top:0;left:18px;border-bottom:1px solid #111}.bc-ruler-y{top:18px;left:0;border-right:1px solid #111}.bc-ruler-corner{position:absolute;top:0;left:0;width:18px;height:18px;background:#262626;border-right:1px solid #111;border-bottom:1px solid #111;display:grid;place-items:center;font-size:8px;color:#8a8a8a;z-index:3}.bc-panels{background:#232323;border-left:1px solid #111;display:flex;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior:contain}.bc-panel{flex:none;padding:10px;border-bottom:1px solid #191919}.bc-panel h2{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#8a8a8a;font-weight:600;margin-bottom:8px}.ai-panel{background:#383838;border-bottom:1px solid #191919;display:flex;flex-direction:column;flex:1;min-height:240px}.ai-glyph{width:14px;height:14px;display:block}.ai-rows{border-top:1px solid #2a2a2a;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.ai-row{position:relative;display:grid;grid-template-columns:26px 5px 15px 34px 1fr 48px;align-items:center;height:30px;border-bottom:1px solid #2f2f2f;color:#dcdcdc}.ai-cell{background:transparent;border:none;border-radius:0;padding:0;height:100%;display:grid;place-items:center;color:inherit}.ai-eye{color:#cfcfcf}.ai-colorbar{width:5px;height:100%}.ai-tri{width:0;height:0;border-left:5px solid #c9c9c9;border-top:3.5px solid transparent;border-bottom:3.5px solid transparent;transition:transform 90ms linear}.ai-tri.is-open{transform:rotate(90deg)}.ai-thumb{width:28px;height:22px;background:#fff;border:1px solid #0b0b0b;display:block;overflow:hidden}.ai-thumb svg,.ai-thumb-empty{width:100%;height:100%;display:block}.ai-name{font-size:11.5px;padding-left:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ai-count{font-size:10px;color:#9a9a9a;text-align:right;padding-right:8px;font-variant-numeric:tabular-nums}.ai-subrow{background:#3d3d3d}.ai-subrow .ai-name{color:#c4c4c4;font-style:italic}.ai-grouprow{background:#444}.ai-grouprow .ai-name{color:#e4e4e4;font-style:normal}.ai-depth-2 .ai-name{padding-left:22px}.bc-export{display:flex;gap:6px;flex-wrap:wrap}.bc-shell button:disabled{color:#6a6a6a;border-color:#2f2f2f;cursor:default}.bc-shell button:disabled:hover{background:#2c2c2c}.bc-status{display:flex;align-items:center;gap:14px;padding:0 10px;background:#232323;border-top:1px solid #111;color:#7f7f7f;overflow:hidden;white-space:nowrap}.bc-status-xy{font-variant-numeric:tabular-nums;color:#b0b0b0;min-width:150px}.bc-status-tool{overflow:hidden;text-overflow:ellipsis}.bc-status-note{margin-left:auto;color:#2ea3ff}.bc-boards{position:absolute;top:24px;left:50%;transform:translate(-50%);z-index:4;display:flex;padding:2px;gap:2px;background:#262626;border:1px solid #111;border-radius:4px;box-shadow:0 2px 8px #0006}.bc-shell .bc-boards-tab{min-width:62px;padding:3px 12px;background:transparent;border:1px solid transparent;color:#9a9a9a}.bc-shell .bc-boards-tab:hover{background:#333;color:#d6d6d6}.bc-shell .bc-boards-tab.is-on{background:#2ea3ff;border-color:#2ea3ff;color:#06121d}.bc-boards-grid{display:grid;grid-template-columns:1fr;gap:8px}.bc-shell .bc-board{display:flex;flex-direction:column;gap:5px;padding:4px;background:#2c2c2c;border:1px solid #3a3a3a;border-radius:3px;text-align:left}.bc-shell .bc-board:hover{background:#333;border-color:#4a4a4a}.bc-shell .bc-board.is-on{background:#2c2c2c;border-color:#2ea3ff;color:#d6d6d6;box-shadow:inset 0 0 0 1px #2ea3ff}.bc-board-art{display:block;width:100%;aspect-ratio:729 / 429;background:#1c1c1c}.bc-board-name{display:flex;align-items:baseline;gap:5px;font-size:10px;color:#9a9a9a}.bc-board.is-on .bc-board-name{color:#d6d6d6}.bc-board-count{margin-left:auto;color:#6f6f6f;font-variant-numeric:tabular-nums}.bc-hint{margin-top:8px;font-size:10px;line-height:1.5;color:#8a8a8a}.bc-hint b{color:#b8b8b8;font-weight:600}.bc-shell .bc-boards-tab.is-overlay.is-on{background:transparent;border-color:#2ea3ff;color:#2ea3ff}
