.arcade-window-root[data-astro-cid-5j6cpaur]{box-shadow:0 16px 48px #000000f2, 0 0 0 1px var(--filet)}.arcade-viewport[data-astro-cid-5j6cpaur]{flex-direction:column;gap:8px;width:100%;display:flex;position:relative}#arcade-canvas[data-astro-cid-5j6cpaur]{aspect-ratio:800/540;border:1px solid var(--braise);touch-action:none;background:#040302;width:100%;height:auto;max-height:54vh;display:block;box-shadow:inset 0 0 20px #000000e6,0 4px 16px #000c}.arcade-gamepad[data-astro-cid-5j6cpaur]{border:1px solid var(--rouille);-webkit-user-select:none;user-select:none;touch-action:none;background:linear-gradient(#18100af2 0%,#0c0804fa 100%);justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px 12px;display:flex;box-shadow:inset 0 1px #ffa02e26,0 4px 12px #0009}.gamepad-cluster[data-astro-cid-5j6cpaur]{align-items:center;gap:8px;display:flex}.gamepad-btn[data-astro-cid-5j6cpaur]{border:2px solid var(--cuivre);color:var(--creme);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(#24170c 0%,#150d06 100%);flex-direction:column;justify-content:center;align-items:center;transition:transform 60ms,background-color 60ms,border-color 60ms,box-shadow 60ms;display:flex;box-shadow:0 3px #080402,inset 0 1px #ffa02e33}.gamepad-btn[data-astro-cid-5j6cpaur]:active,.gamepad-btn[data-astro-cid-5j6cpaur].is-pressed{background:var(--braise);color:#fff;box-shadow:0 1px 0 #080402, 0 0 16px var(--braise);border-color:#ffe2b0;transform:translateY(2px)}.gamepad-btn-dir[data-astro-cid-5j6cpaur]{border-radius:4px;width:64px;height:54px}.gamepad-btn-jump[data-astro-cid-5j6cpaur]{border-color:var(--braise);background:linear-gradient(#381508 0%,#200a04 100%);border-radius:6px;width:78px;height:54px}.gamepad-btn-reset[data-astro-cid-5j6cpaur]{opacity:.85;border-radius:50%;width:44px;height:44px}.gamepad-arrow[data-astro-cid-5j6cpaur]{pointer-events:none;font-size:20px;font-weight:800;line-height:1}.gamepad-icon[data-astro-cid-5j6cpaur]{pointer-events:none;font-size:18px;font-weight:700;line-height:1}.gamepad-sub[data-astro-cid-5j6cpaur]{font-family:var(--font-mono,monospace);letter-spacing:.08em;opacity:.85;pointer-events:none;margin-top:2px;font-size:8.5px;font-weight:700}.arcade-hud[data-astro-cid-5j6cpaur]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:4px 2px;font-size:12px;display:flex}.arcade-stats[data-astro-cid-5j6cpaur]{align-items:center;gap:12px;display:flex}.arcade-controls-hint[data-astro-cid-5j6cpaur]{opacity:.75;font-size:11px}.arcade-hud-restart[data-astro-cid-5j6cpaur]{border:var(--filet) solid var(--braise);color:var(--creme);cursor:pointer;background:0 0;padding:2px 10px;font-size:11px}@media (width<=640px){.arcade-window-root[data-astro-cid-5j6cpaur]{max-width:99vw!important;max-height:98vh!important;top:1%!important}.arcade-window-body[data-astro-cid-5j6cpaur]{max-height:calc(98vh - 42px)!important;padding:6px!important}.gamepad-btn-dir[data-astro-cid-5j6cpaur]{width:54px;height:48px}.gamepad-btn-jump[data-astro-cid-5j6cpaur]{width:70px;height:48px}.gamepad-btn-reset[data-astro-cid-5j6cpaur]{width:40px;height:40px}.arcade-controls-hint[data-astro-cid-5j6cpaur]{display:none}}.project-phone-layout{pointer-events:none;place-items:center;display:grid;position:absolute;inset:18px 80px 92px;container-type:size}.project-gallery[data-gallery-mode=horizontal] .project-gallery-grid .project-phone-layout{bottom:168px}.project-gallery.is-slider:has(.has-phone) .project-gallery-stage:after{display:none}.project-phone{--phone-highlight:#fff;--phone-plastic:#f4f4f4;--phone-edge:#c8c8c8;--phone-ink:#292929;width:32em;height:72em;color:var(--phone-ink);background:linear-gradient(105deg, var(--phone-highlight), var(--phone-plastic) 45%, var(--phone-edge));border:.2em solid var(--phone-ink);box-shadow:inset .2em .2em 0 var(--phone-highlight), inset -.45em -.25em 0 var(--phone-edge), .55em .65em 0 var(--phone-edge), .75em .85em 0 var(--phone-ink), .8em .9em 0 .1em var(--phone-highlight), 1.4em 1.7em 0 #00000047;border-radius:2.5em 2.5em 4em;grid-template-rows:4.4em minmax(0,1fr) 5.2em;padding:.8em 1.3em .5em;font-size:min(2.94118cqw,1.35135cqh);display:grid;position:relative}.project-phone-top{justify-content:center;align-items:center;gap:1.5em;display:flex}.project-phone-speaker{border:.16em solid var(--phone-ink);background:repeating-linear-gradient(90deg, var(--phone-ink) 0 .25em, var(--phone-edge) .25em .5em);width:8.5em;height:.8em;box-shadow:0 .12em 0 var(--phone-highlight);border-radius:.4em}.project-phone-lamp,.project-phone-lens{background:var(--phone-ink);width:.65em;height:.65em;box-shadow:0 .1em 0 var(--phone-highlight);border-radius:50%}.project-phone-lamp{background:var(--phone-edge);border:.12em solid var(--phone-ink)}.project-phone-screen{background:var(--phone-screen-paper,#f3eedf);border:.55em solid var(--phone-ink);min-height:0;box-shadow:0 -.2em 0 .15em var(--phone-edge), 0 .2em 0 .1em var(--phone-highlight);border-radius:.65em;position:relative;overflow:hidden}.project-phone .project-phone-screen>:is(img,video),.project-media .project-phone .project-phone-screen>:is(img,video){object-fit:contain;width:100%;height:100%;padding:0;transition:none;position:absolute;inset:0}.project-phone-chin{grid-template-columns:1fr 4em 1fr;place-items:center;gap:1em;display:grid}.project-video-toggle{z-index:4;color:var(--encre);background:var(--papier);font:inherit;border:1px solid;padding:10px 14px;position:absolute;top:20px;left:20px}.project-phone-wordmark{font:400 1.15em/1 var(--font-ui);white-space:nowrap;letter-spacing:.08em;text-shadow:0 .1em 0 var(--phone-highlight)}.project-phone-key{border:.15em solid var(--phone-ink);background:var(--phone-plastic);width:3.5em;height:3.2em;box-shadow:inset .1em .15em 0 var(--phone-highlight), inset -.2em -.25em 0 var(--phone-edge), 0 .2em 0 var(--phone-ink);border-radius:1.2em;place-items:center;display:grid}.project-phone-key>span{border:.14em solid var(--phone-ink);border-radius:.15em;width:1.05em;height:.75em}.project-phone-mic{background:repeating-linear-gradient(90deg, var(--phone-ink) 0 .35em, transparent .35em .7em);width:3.2em;height:.45em}.project-phone-volume,.project-phone-power{border:.15em solid var(--phone-ink);background:var(--phone-edge);width:.55em;height:5.5em;position:absolute;top:12em}.project-phone-volume{border-radius:.25em 0 0 .25em;left:-.65em}.project-phone-power{border-radius:0 .25em .25em 0;height:3.8em;top:9em;right:-.55em}.project-gallery-rail .project-phone-layout,.project-gallery-preview .project-phone-layout{inset:1px 3px 2px}.project-gallery-rail .project-phone{opacity:.55}.project-gallery-rail .project-phone-screen>img,.project-gallery-rail button:is(:hover,.crt-hover,[aria-current=true]) .project-phone{opacity:1}.project-gallery.is-slider .project-gallery-grid>.has-phone .project-media-surface{min-height:0}.project-phone-layout{inset:16px 60px 92px 20px}.project-gallery[data-gallery-mode=horizontal] .project-gallery-grid .project-phone-layout{inset:16px 20px 108px}.project-gallery-grid>.has-phone .project-media-surface{min-height:660px}.project-page{min-height:100%}.project-shell{width:min(100%,1500px);margin-inline:auto;padding-inline:clamp(22px,5vw,80px)}.os-project :is(a,button,[data-gallery-interaction]):focus-visible{outline:2px solid var(--creme);outline-offset:6px}.project-hero{isolation:isolate;width:100%;height:auto;min-height:max(480px, var(--project-viewport-height,calc(100dvh / var(--ui-zoom) - 72px)));background:var(--papier);flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.project-hero-visual,.project-hero-illustration{z-index:0;position:absolute;inset:0}.project-hero-image{object-fit:cover;opacity:0;width:100%;height:100%;display:block;position:absolute;inset:0}.project-hero-image.is-active{opacity:1}.project-hero-illustration .project-media,.project-hero-illustration .project-media-surface{width:100%;height:100%}.project-hero-illustration :is(figcaption,.project-media-readout,.project-media-signal){display:none}.project-hero-shade{z-index:1;pointer-events:none;background:linear-gradient(#00000073,#0000 18%,#00000059 48%,#000000d9);position:absolute;inset:0}.project-hero-content{z-index:2;color:var(--creme);padding-block:32px;position:relative}.project-poster-title{color:var(--creme);font:700 clamp(45px, calc(var(--project-title-scale) * .7), 112px)/.95 var(--font-display);letter-spacing:0;overflow-wrap:anywhere;text-shadow:0 2px 12px #0003;margin:0}.project-poster-title:focus{outline:none}.project-hero-description{max-width:56ch;color:var(--creme);font:400 clamp(17px, 1.5vw, 22px)/1.55 var(--font-ui);text-wrap:pretty;text-shadow:0 2px 10px #00000080;margin-top:24px}.project-section-head h2{max-width:18ch;font:700 clamp(38px, 4.8vw, 74px)/.92 var(--font-display);letter-spacing:0;color:var(--creme);text-wrap:balance;margin-top:0}.project-section-head h2>span{color:var(--encre);white-space:nowrap}.project-story-content{max-width:860px;margin-top:40px}.project-spec{border-top:1px solid var(--project-line);color:var(--project-muted);font:13px/1.7 var(--project-body);margin-top:44px}.project-spec-row{border-bottom:1px solid var(--project-line);grid-template-columns:minmax(120px,.34fr) 1fr;gap:0 18px;padding-block:11px;display:grid}.project-spec dt{color:var(--encre);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;gap:8px;font-size:11px;line-height:2;display:flex;overflow:hidden}.project-spec dt:after{content:"..........................................................";min-width:0;color:var(--project-line);letter-spacing:.2em;flex:1;overflow:hidden}.project-spec dd{color:var(--creme);gap:2px;display:grid}.project-spec-value{text-wrap:pretty;display:block}.project-spec-link{color:var(--encre);border-bottom:1px solid;justify-self:start;align-items:baseline;gap:10px;text-decoration:none;display:inline-flex}.project-spec-link i{font-style:normal;transition:translate .18s steps(3,end)}.project-spec-link:hover,.project-spec-link.crt-hover{color:var(--creme)}.project-spec-link:hover i,.project-spec-link.crt-hover i{translate:3px -3px}.project-copy p{color:var(--project-muted);font:16px/1.8 var(--project-body);margin-bottom:24px}.project-copy p:first-child{color:var(--creme);letter-spacing:0;font-size:clamp(20px,2vw,28px);line-height:1.5}.project-copy strong{color:var(--creme);font-weight:500}.project-copy a{color:var(--encre);text-underline-offset:4px}.project-copy :is(ul,ol){font:16px/1.8 var(--project-body);padding-left:20px}.project-copy h3{color:var(--creme);font:400 14px/1.5 var(--font-ui);margin:32px 0 14px}.project-gallery{border-top:1px solid var(--project-line);padding:0}.project-gallery-grid{gap:60px;margin-top:0;padding-bottom:30px;display:grid}.project-gallery-grid>figure{background:var(--papier);border:var(--filet) solid var(--encre);width:92%;box-shadow:6px 6px 0 var(--grid);margin-inline:auto;padding:0;position:relative}.project-gallery-grid>figure.is-portrait{width:min(100%,440px)}.project-gallery-grid .project-media .project-media-surface{aspect-ratio:1.85;width:100%;max-height:calc(58dvh / var(--ui-zoom))}.project-gallery-controls,.project-gallery-rail,.project-gallery-timeline{display:none}.project-gallery.is-slider{padding-inline:0;width:100%;max-width:none;padding-bottom:0}.project-gallery.is-slider .project-gallery-stage{height:var(--gallery-pinned-height,var(--project-viewport-height,calc(100dvh / var(--ui-zoom) - 72px)));isolation:isolate;background:var(--papier);min-height:360px;margin-top:0;position:relative;overflow:clip}.project-gallery.is-slider .project-gallery-visual{position:absolute;inset:0}.project-gallery.is-slider .project-gallery-grid{isolation:isolate;touch-action:pinch-zoom;margin:0;padding:0;display:block;position:absolute;inset:0;overflow:hidden}.project-gallery.is-slider .project-gallery-grid>figure{width:100%;height:100%;box-shadow:none;background:var(--papier);border:0;margin:0;padding:0;position:absolute;inset:0}.project-gallery.is-slider .project-gallery-grid>figure[inert]{pointer-events:none}.project-gallery.is-slider .project-gallery-grid .project-media-surface{aspect-ratio:auto;background:var(--papier);width:100%;height:100%;max-height:none;padding:0}.project-gallery.is-slider .project-gallery-grid .project-media-surface>img{object-fit:cover;width:100%;height:100%;transition:none;position:absolute;inset:0}.project-gallery.is-slider .project-media-art{height:100%}.project-gallery.is-slider .project-media-art svg{width:100%;height:100%}.project-gallery.is-slider .project-media-readout{display:none}.project-gallery.is-slider .project-gallery-interaction:active{transform:none}.project-gallery.is-slider .project-gallery-controls{z-index:5;pointer-events:none;justify-content:end;align-items:end;gap:24px;display:flex;position:absolute;inset:auto 44px 44px auto}.project-gallery-controls button{pointer-events:auto}.project-gallery-preview[aria-disabled=true]{opacity:.35;cursor:var(--cur-arrow,default)}.project-gallery-preview{aspect-ratio:16/9;background:var(--papier);border:0;flex:none;width:clamp(48px,15vw,192px);padding:0;position:relative;overflow:hidden}.project-gallery-preview>span{position:absolute;inset:0;overflow:hidden}.project-gallery-preview :is(img,.project-media-art){object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.project-gallery-preview:active{transform:none!important}.project-gallery.is-slider .project-gallery-grid>figure:after{content:"";z-index:2;pointer-events:none;background:var(--papier);opacity:var(--gallery-shade,0);position:absolute;inset:0}.project-gallery-beam{z-index:4;opacity:0;pointer-events:none;background:var(--encre);box-shadow:0 0 10px 2px color-mix(in srgb, var(--encre) 55%, transparent);position:absolute;top:0;left:0}.project-gallery-beam[data-axis=y]{width:100%;height:3px;margin-top:-1.5px}.project-gallery-beam[data-axis=x]{width:3px;height:100%;margin-left:-1.5px}.project-gallery-beam:before{content:"";pointer-events:none;position:absolute}.project-gallery-beam[data-axis=y]:before{background:linear-gradient(to top, color-mix(in srgb, var(--braise) 55%, transparent), color-mix(in srgb, var(--rouille) 28%, transparent) 40%, transparent);height:120px;inset:auto 0 100%}.project-gallery-beam[data-axis=x]:before{background:linear-gradient(to right, color-mix(in srgb, var(--braise) 55%, transparent), color-mix(in srgb, var(--rouille) 28%, transparent) 40%, transparent);width:120px;inset:0 auto 0 100%}.project-gallery.is-slider .project-gallery-timeline{z-index:5;isolation:isolate;flex-direction:column;display:flex;position:absolute;top:50%;right:44px;transform:translateY(-50%)}.project-gallery.is-slider[data-gallery-mode=horizontal] .project-gallery-timeline{flex-direction:row;inset:auto auto 44px 44px;transform:none}.project-gallery-timeline button{width:44px;height:44px;color:var(--encre);background:0 0;border:0;place-items:center;padding:0;display:grid}.project-gallery-timeline button>span{z-index:1;border:1px solid var(--encre);background:var(--creme);opacity:1;width:5px;height:5px;transition:background-color .18s ease-out;display:block;position:relative}.project-gallery-timeline button:is(:hover,.crt-hover,[aria-current=true])>span{background:var(--encre)}.os-project .project-gallery-timeline button:focus-visible{outline:none}.project-gallery-timeline button:focus-visible>span{outline:1px solid var(--encre);outline-offset:5px}.project-gallery-timeline-progress{background:var(--creme);pointer-events:none;width:1px;position:absolute;inset:22px 21.5px}.project-gallery-timeline-progress>span{background:var(--encre);transform-origin:top;position:absolute;inset:0;transform:scaleY(0)}.project-gallery.is-slider[data-gallery-mode=horizontal] .project-gallery-timeline-progress{width:auto;height:1px;inset:21.5px 22px}.project-gallery.is-slider[data-gallery-mode=horizontal] .project-gallery-timeline-progress>span{transform-origin:0;transform:scaleX(0)}.project-gallery.is-slider .project-gallery-rail{z-index:5;scrollbar-width:none;gap:10px;padding:6px 2px;display:flex;position:absolute;inset:auto 26px 24px;overflow-x:auto}.project-gallery-rail button{width:70px;height:44px;color:var(--creme);background:var(--papier);border:1px solid #0000;flex:0 0 70px;padding:0;display:block;position:relative}.project-gallery-rail img{object-fit:cover;opacity:.55;width:100%;height:100%}.project-gallery-rail button[aria-current=true]{border-color:var(--creme);outline:1px solid var(--creme);outline-offset:2px}.project-gallery-rail button:is(:hover,.crt-hover,[aria-current=true]) img{opacity:1}.project-gallery-placeholder{font:9px var(--font-ui);max-height:44px;overflow:hidden}[data-project=stenz] .project-gallery.is-slider .project-gallery-grid .project-media-surface>img{object-fit:contain;padding:24px 72px 92px}[data-project=stenz] .project-gallery-rail img{object-fit:contain}:is([data-project=fabro],[data-project=prospection-terrain]) .project-gallery.is-slider .project-gallery-grid .project-media-surface>img{object-fit:contain;padding:24px 72px 168px}:is([data-project=fabro],[data-project=prospection-terrain]) .project-gallery-preview img{object-fit:contain}[data-project=stenz] .project-gallery.is-slider .project-gallery-grid .project-media-surface>img{padding:16px 20px 144px}:is([data-project=fabro],[data-project=prospection-terrain]) .project-gallery.is-slider .project-gallery-grid .project-media-surface>img{padding:16px 20px 108px}.project-gallery.is-slider .project-gallery-controls{gap:16px;bottom:32px;right:32px}.project-gallery.is-slider .project-gallery-rail{inset-inline:20px;bottom:20px}.project-gallery-rail button{flex-basis:58px;width:58px;height:44px}.project-gallery-preview{width:clamp(64px,20vw,120px)}.project-gallery.is-slider .project-gallery-timeline{top:auto;bottom:96px;right:32px;transform:none}.project-gallery.is-slider[data-gallery-mode=horizontal] .project-gallery-timeline{bottom:32px;left:32px;right:auto}.project-media{min-width:0}.project-media-surface{isolation:isolate;background:var(--grid);position:relative;overflow:hidden}.project-media.is-wide .project-media-surface{aspect-ratio:16/9}.project-media.is-landscape .project-media-surface{aspect-ratio:4/3}.project-media.is-portrait .project-media-surface{aspect-ratio:4/5}.project-media.is-square .project-media-surface{aspect-ratio:1}.project-media.is-strip .project-media-surface{aspect-ratio:2.4}.project-media img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.project-gallery-interaction{z-index:3;width:100%;height:100%;color:var(--creme);background:0 0;border:0;padding:0;display:block;position:absolute;inset:0}.project-gallery-interaction:focus-visible{outline-offset:-6px!important}.project-media-readout{color:var(--encre);background:var(--papier);text-transform:uppercase;letter-spacing:.12em;pointer-events:none;justify-content:space-between;gap:16px;padding:12px 16px;font-size:8px;display:flex;position:absolute;inset:0 0 auto}.project-media.has-source .project-media-readout{align-items:center;height:32px;padding-block:0}.project-media.has-source .project-media-surface{background:var(--papier);padding-top:32px}.project-gallery-grid .project-media.has-source .project-media-surface{aspect-ratio:auto;max-height:none}.project-media.has-source img{width:100%;height:auto;position:relative;inset:auto}.project-media-art{background-image:radial-gradient(var(--grid) .6px, transparent .7px);background-size:6px 6px}.project-media-art svg{padding:32px}.project-media-art .pm-line,.project-media-art .pm-plane,.project-media-art .pm-hot,.project-media-art .pm-paper{stroke-width:2px}.project-media-art .pm-dim{stroke-width:2px}.project-media-signal{border-left-width:1px;font-size:8px}.project-end-label{color:var(--project-muted);justify-content:space-between;align-items:center;gap:24px;font-size:10px;display:flex}.project-end-label a{color:var(--encre);padding-block:12px;text-decoration:none}.project-next{border-top:1px solid var(--project-line);grid-template-columns:.6fr 1fr;gap:8%;margin-top:18px;display:grid}.project-next a{color:var(--creme);text-decoration:none}.project-previous{align-self:end;gap:12px;padding-block:36px;display:grid}.project-previous>span,.project-next-link>span{color:var(--project-muted);font-size:10px}.project-previous strong{font:400 17px/1.4 var(--project-body)}.project-next-link{border-bottom:1px solid var(--encre);grid-template-columns:1fr auto;gap:26px 16px;padding-block:36px;display:grid;position:relative}.project-next-link>span{grid-column:1/-1}.project-next-link strong{max-width:15ch;font:700 clamp(34px, 4.2vw, 63px)/.95 var(--font-display);letter-spacing:0;transition:color .3s}.project-next-link i{width:66px;height:66px;font:normal 46px var(--project-body);color:var(--papier);background:var(--encre);align-self:center;place-items:center;transition:transform .24s steps(6,end);display:grid}.project-next-link:hover i{transform:translate(5px,-5px)}.project-next-link:hover strong{color:var(--encre)}.project-end.project-end-reveal{padding-bottom:0}.project-next-runway{--next-stage-height:max(480px, var(--project-viewport-height));border-top:1px solid var(--project-line);margin-top:24px}.project-next-stage{height:var(--next-stage-height);color:var(--creme);text-decoration:none}.project-next-eyebrow{z-index:2;color:var(--encre);font:10px/1.5 var(--font-ui);position:absolute;inset:24px 0 auto}.project-next-art{position:absolute;inset:24px}.project-next-art img{object-fit:contain;width:100%;height:100%;margin:auto;display:block;position:absolute;inset:0}.is-particle-enabled .project-next-art img{visibility:hidden}.project-next-description{opacity:0}.os-project .project-next-stage:focus-visible{outline-offset:-8px}.os-project .project-next-stage:active{transform:none}.project-next-layer{z-index:9;pointer-events:none;position:absolute;inset:0;overflow:hidden}.os-project.is-open.has-next-particles,.has-next-particles .project-next-stage{background:0 0}.has-next-particles .project-page>:not(.project-end-reveal){background-color:var(--papier)}.os-desktop:has(.os-project.is-open.has-next-particles) .os-sphere{visibility:hidden}.project-next-runway.is-particle-enabled{height:calc(var(--next-stage-height) + var(--project-viewport-height) * 1.85)}.is-particle-enabled .project-next-stage{position:sticky;top:0}.is-particle-enabled [data-next-title]{opacity:clamp(0, calc(var(--next-title-presence,0) * 1000), 1)}.project-end-reveal .project-end-label{flex-direction:row;align-items:center;gap:16px}.project-next-runway{--next-stage-height:max(420px, var(--project-viewport-height))}.project-next-art{inset-inline:20px}.project-shell{padding-inline:20px}.project-hero{min-height:max(420px, var(--project-viewport-height,calc(100dvh / var(--ui-zoom) - 71px)))}.project-hero-content{padding-block:28px}.project-poster-title{margin:0;font-size:clamp(48px,14vw,76px)}.project-hero-description{max-width:100%;margin-top:18px;font-size:16px}.project-story{padding-block:52px 64px}.project-section-head h2{margin-top:0;font-size:clamp(42px,12vw,62px)}.project-story-content{margin-top:28px}.project-copy p{font-size:14px;line-height:1.75}.project-copy p:first-child{font-size:19px}.project-gallery-grid{gap:30px;margin-top:0;padding-bottom:0}.project-gallery-grid>figure{width:100%;margin:0}.project-gallery-grid .project-media .project-media-surface{aspect-ratio:1.2;max-height:none}.project-end{padding-block:40px}.project-end-label{flex-direction:column;align-items:start;gap:8px}.project-next{flex-direction:column-reverse;gap:0;display:flex}.project-next-link strong{font-size:44px}.project-next-link i{width:48px;height:48px;font-size:28px}.project-previous{align-self:start;padding-block:30px 0}.project-gallery.is-pinned .project-gallery-runway{height:var(--gallery-runway-height);margin-top:0}.project-gallery.is-pinned .project-gallery-stage{height:var(--gallery-pinned-height);margin-top:0;position:sticky;top:0}.lab-detail .project-section-head h2:focus{outline:none}.os-sphere{z-index:1;cursor:var(--cur-grab,grab);user-select:none;touch-action:none;position:absolute;inset:0;overflow:hidden}.os-sphere:active{cursor:var(--cur-grabbing,grabbing)}.os-sphere.is-over{cursor:var(--cur-hand,pointer)}.os-sphere-index{margin:0;padding:0;list-style:none}.os-sphere:not(.is-index) .os-sphere-index .row{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.os-sphere.is-index #sphere-viewport{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .25s}.os-sphere:not(.is-index) #sphere-viewport{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .25s}.os-sphere.is-index{cursor:var(--cur-arrow,default);--index-fer:clamp(26px, 4vw, 64px)}.os-sphere.is-index .os-sphere-index{z-index:1;left:var(--index-fer);right:var(--index-fer);will-change:transform;flex-direction:column;display:flex;position:absolute;top:0}.os-sphere.is-index .os-sphere-index .row{all:unset;cursor:var(--cur-hand,pointer);box-sizing:border-box;--p:1;align-items:baseline;gap:.35em;width:max-content;max-width:100%;padding:.5em 0;display:flex}.os-sphere-index .fig{letter-spacing:.1em;color:var(--braise);opacity:1;min-width:3.2em;font-size:clamp(11px,1.5vh,14px)}.os-sphere-index .t{font-family:var(--font-display);color:var(--encre);white-space:nowrap;text-overflow:clip;font-size:clamp(28px,7.4vh,105px);font-weight:700;line-height:.82;overflow:hidden}.os-sphere-index .row.is-on .t{color:var(--creme)}.os-sphere.is-index:before,.os-sphere.is-index:after{content:"";z-index:2;pointer-events:none;height:14%;position:absolute;left:0;right:0}.os-sphere.is-index:before{background:linear-gradient(to bottom, var(--papier), transparent);top:0}.os-sphere.is-index:after{background:linear-gradient(to top, var(--papier), transparent);bottom:0}.os-sphere-index .l{--k:clamp(0, calc((var(--p) - .45 - .35 * var(--i) / var(--n)) / .2), 1);opacity:var(--k);transform:translateY(calc((1 - var(--k)) * .2em));display:inline-block}.os-sphere.is-index .os-sphere-index .l{opacity:1;transform:none}.os-sphere.is-index.is-flying .os-sphere-index{visibility:hidden}.os-sphere-gallery{z-index:1;pointer-events:none;width:min(64%,900px);position:absolute;bottom:clamp(28px,4vw,64px);left:clamp(26px,4vw,64px)}.os-sphere-gallery[hidden]{display:none}.os-sphere.is-flying .os-sphere-gallery{visibility:hidden}.gallery-title:focus-visible,.os-sphere.is-gallery:has(.row:focus-visible) .gallery-title{outline:1px solid var(--creme);outline-offset:5px}.os-sphere-gallery{width:calc(100% - 52px);bottom:32px}.os-sphere.is-index .os-sphere-index .row{gap:.3em}.os-sphere-index .fig{min-width:2.8em;font-size:9px}.os-sphere-index .t{font-size:clamp(26px,8.2vw,64px)}.os-home,body.home-hero .os-sphere{display:none}.project-media-art{color:var(--encre);background-color:var(--papier);background-image:radial-gradient(var(--grid) 1px, transparent 1px);background-size:8px 8px;place-items:center;display:grid;position:absolute;inset:0}.project-media-art svg{width:100%;height:100%;display:block;overflow:visible}.project-media-art .pm-line,.project-media-art .pm-dim,.project-media-art .pm-plane,.project-media-art .pm-hot,.project-media-art .pm-paper{vector-effect:non-scaling-stroke;stroke-linecap:square;stroke-linejoin:miter}.project-media-art .pm-line{fill:none;stroke:var(--encre);stroke-width:8px}.project-media-art .pm-line.pm-heavy{stroke-width:16px}.project-media-art .pm-dim{fill:none;stroke:var(--grid);stroke-width:5px;stroke-dasharray:14 13}.project-media-art .pm-plane{fill:var(--grid);stroke:var(--encre);stroke-width:8px}.project-media-art .pm-hot{fill:var(--rouille);stroke:var(--braise);stroke-width:8px}.project-media-art .pm-paper{fill:var(--creme);stroke:var(--encre);stroke-width:7px}.project-media-art .pm-glyph{fill:var(--creme);stroke:var(--encre);stroke-width:4px;paint-order:stroke fill;font-family:var(--font-display);font-size:430px}.project-media-signal{z-index:1;border-left:var(--trait) solid var(--braise);background:var(--papier);color:var(--encre);letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;font-size:10px;position:absolute;bottom:16px;left:16px}.os-profile,body.room-profile .os-sphere{display:none}.os-btn:focus-visible,.lnk-list .lnk:focus-visible,.mail-field select:focus-visible,.mail-send .btn:focus-visible,.project-spec-link:focus-visible,.project-end-label a:focus-visible{outline:var(--trait-fin) dashed var(--creme);outline-offset:4px}.project-gallery-rail img{transition:opacity .12s steps(3,end)}.project-next-link.crt-hover i{transform:translate(5px,-5px)}.project-next-link.crt-hover strong{color:var(--encre)}.project-end-label a,.project-previous strong{transition:color .1s steps(2,end)}.project-end-label a:is(:hover,.crt-hover),.project-previous:is(:hover,.crt-hover) strong{color:var(--creme)}.os-home-nav .hs:active .t,.os-sphere-index .row:active .t{color:var(--papier);background:var(--creme)}.os-menus .mbtn:active,.os-menus .dropdown .di:active,.os-header .sub .seg:active,.lnk-list .lnk:active,.pq-link:active,.pq-node:active,.project-end-label a:active,.project-spec-link:active{background:var(--encre);color:var(--papier)}.os-parcours,body.room-parcours .os-sphere{display:none}.os-parcours{background-color:var(--papier);color:var(--creme);user-select:text;font-family:var(--font-mono-crisp,monospace);z-index:1;scrollbar-width:thin;scrollbar-color:var(--encre) #14100a99;-webkit-overflow-scrolling:touch;flex-direction:column;display:none;position:absolute;inset:0;overflow:hidden auto}body.room-parcours .os-parcours{display:flex!important}body:not(.room-parcours) .os-parcours{display:none!important}#room-parcours::-webkit-scrollbar{width:8px}#room-parcours::-webkit-scrollbar-thumb{background:var(--grid);border-radius:var(--radius-sm,4px)}#room-parcours::-webkit-scrollbar-thumb:hover{background:var(--encre)}.pq-inner{flex-direction:column;min-height:100%;display:flex}.pq-head{z-index:25;background-color:var(--papier);border-bottom:1px solid var(--grid);justify-content:space-between;align-items:stretch;min-height:44px;display:flex;position:sticky;top:0}.pq-cmd{color:var(--creme);white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;padding:8px 16px;font-size:11.5px;display:flex;overflow:hidden}.pq-cmd .ps{color:var(--encre);margin-right:8px;font-weight:700}.pq-cmd .cmd-meta{color:var(--creme);opacity:.6;margin-left:10px;font-size:10.5px}.pq-head-actions{border-left:1px solid var(--grid);align-items:stretch;display:flex}.pq-print-btn{all:unset;cursor:pointer;letter-spacing:.06em;color:var(--creme);background:0 0;align-items:center;gap:6px;padding:0 16px;font-size:11px;font-weight:700;transition:all .15s;display:inline-flex}.pq-print-btn:hover{color:var(--encre);background:#ffa02e26}.pq-filter-bar{z-index:24;-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--grid);background:#0e0b07f2;justify-content:space-between;align-items:center;gap:12px;padding:6px 16px;display:flex;position:sticky;top:44px}.pq-filter-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:center;gap:6px;display:flex;overflow-x:auto}.pq-filter-scroll::-webkit-scrollbar{display:none}.pq-filter-title{letter-spacing:.08em;color:var(--creme);opacity:.6;white-space:nowrap;margin-right:4px;font-size:10px}.pq-branch-filter{all:unset;cursor:pointer;letter-spacing:.05em;color:var(--creme);opacity:.75;border:1px solid var(--grid);border-radius:var(--radius-sm,3px);white-space:nowrap;background:#14100acc;align-items:center;gap:6px;padding:3px 10px;font-size:10.5px;transition:all .15s;display:inline-flex}.pq-branch-filter .dot{background:var(--grid);border-radius:50%;width:6px;height:6px;transition:all .15s}.pq-branch-filter:hover{opacity:1;border-color:var(--encre);background:#ffa02e1f}.pq-branch-filter.is-active{opacity:1;border-color:var(--encre);color:var(--encre);background:#ffa02e33;box-shadow:0 0 8px #ffa02e33}.pq-branch-filter.is-active .dot{background:var(--encre);box-shadow:0 0 6px var(--encre)}.pq-branch-filter.branch-main .dot{background:#10b981}.pq-branch-filter.branch-main.is-active{color:#10b981;background:#10b98126;border-color:#10b981;box-shadow:0 0 8px #10b98140}.pq-branch-filter.branch-oss .dot{background:#38bdf8}.pq-branch-filter.branch-oss.is-active{color:#38bdf8;background:#38bdf826;border-color:#38bdf8;box-shadow:0 0 8px #38bdf840}.pq-branch-filter.branch-research .dot{background:#a855f7}.pq-branch-filter.branch-research.is-active{color:#a855f7;background:#a855f726;border-color:#a855f7;box-shadow:0 0 8px #a855f740}.pq-branch-filter.branch-freelance .dot{background:#f59e0b}.pq-branch-filter.branch-freelance.is-active{color:#f59e0b;background:#f59e0b26;border-color:#f59e0b;box-shadow:0 0 8px #f59e0b40}.pq-branch-filter.branch-intern .dot{background:#94a3b8}.pq-branch-filter.branch-intern.is-active{color:#94a3b8;background:#94a3b826;border-color:#94a3b8;box-shadow:0 0 8px #94a3b840}.pq-filter-status{letter-spacing:.06em;color:var(--creme);opacity:.55;white-space:nowrap;font-size:10px}.pq-timeline-viewport{flex:1;padding:32px clamp(16px,4vw,56px) 80px}.pq-timeline-container{max-width:900px;margin:0 auto}.pq-executive-summary{border:1px solid var(--grid);border-left:4px solid var(--braise,#ffa02e);border-radius:var(--radius-sm,4px);background:#14100ad9;margin-bottom:36px;padding:20px 24px;box-shadow:0 4px 20px #0000004d}.summary-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.badge-tag{letter-spacing:.1em;color:var(--braise,#ffa02e);font-size:10px;font-weight:700}.badge-date{color:var(--creme);opacity:.5;font-size:10px}.summary-title{font-family:var(--font-display,"Bitcount Single", sans-serif);color:var(--creme);letter-spacing:.02em;margin:0 0 8px;font-size:clamp(20px,2.5vw,26px)}.summary-text{color:var(--creme);opacity:.88;margin:0;font-size:13px;line-height:1.6}.pq-milestone-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.pq-milestone-item{gap:24px;display:flex;position:relative}.pq-spine{user-select:none;flex-direction:column;flex:0 0 28px;align-items:center;display:flex;position:relative}.pq-node-pin{border:2px solid var(--encre);background:var(--papier);z-index:2;border-radius:2px;justify-content:center;align-items:center;width:16px;height:16px;margin-top:18px;transition:all .2s;display:flex}.pq-pin-core{background:var(--encre);border-radius:1px;width:6px;height:6px}.pq-milestone-item.is-head .pq-node-pin{background:#10b981;border-color:#10b981;box-shadow:0 0 14px #10b98199}.pq-milestone-item.is-head .pq-pin-core{background:var(--papier)}.pq-spine-track{background:linear-gradient(to bottom, var(--grid), #ffa02e26);flex:1;width:2px;margin:4px 0}.pq-milestone-item.is-origin .pq-spine-track{background:linear-gradient(to bottom, var(--grid), transparent)}.pq-entry-card{border:1px solid var(--grid);border-radius:var(--radius-sm,4px);background:#120e08e0;flex-direction:column;flex:1;gap:14px;margin-bottom:32px;padding:22px 24px;transition:border-color .2s,box-shadow .2s;display:flex}.pq-entry-card:hover,.pq-entry-card:focus-visible{border-color:var(--encre);outline:none;box-shadow:0 6px 24px #0006}.pq-milestone-item.is-head .pq-entry-card{border-color:#10b9818c;box-shadow:0 4px 24px #10b9811f}.card-meta-row{border-bottom:1px dashed #ffa02e33;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-bottom:10px;display:flex}.meta-left,.meta-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.commit-hash{color:var(--encre);background:#ffa02e1f;border:1px solid #ffa02e40;border-radius:2px;padding:2px 7px;font-size:11px;font-weight:700}.branch-pill{color:var(--creme);opacity:.85;background:#ffffff0a;border:1px solid #ffffff14;border-radius:2px;padding:2px 7px;font-size:10.5px}.branch-pill.branch-oss{color:#38bdf8;background:#38bdf81f;border-color:#38bdf859}.branch-pill.branch-main{color:#10b981;background:#10b9811f;border-color:#10b98159}.branch-pill.branch-research{color:#c084fc;background:#a855f71f;border-color:#a855f759}.branch-pill.branch-freelance{color:#fbbf24;background:#f59e0b1f;border-color:#f59e0b59}.branch-pill.branch-intern{color:#cbd5e1;background:#94a3b81f;border-color:#94a3b859}.pq-milestone-item.branch-oss .commit-hash{color:#38bdf8;background:#38bdf814;border-color:#38bdf859}.head-badge{letter-spacing:.06em;color:#022c22;background:#10b981;border-radius:2px;padding:2px 7px;font-size:10px;font-weight:700;box-shadow:0 0 8px #10b98166}.period-badge,.loc-badge{color:var(--creme);opacity:.75;font-size:11px}.card-heading{flex-direction:column;gap:4px;display:flex}.company-title{font-family:var(--font-display,"Bitcount Single", sans-serif);color:var(--creme);letter-spacing:.02em;margin:0;font-size:clamp(20px,2.4vw,24px)}.role-title{color:var(--encre);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:12px}.impact-callout{border:1px solid #ffa02e59;border-left:4px solid var(--encre);border-radius:var(--radius-sm,3px);background:#ffa02e1a;align-items:center;gap:12px;padding:10px 14px;display:flex}.callout-icon{color:var(--braise,#ffa02e);flex-shrink:0;font-size:18px}.callout-body{flex-direction:column;gap:1px;display:flex}.callout-label{letter-spacing:.1em;color:var(--creme);opacity:.65;text-transform:uppercase;font-size:9.5px}.callout-val{color:var(--creme);letter-spacing:.02em;font-size:13.5px;font-weight:700}.card-description{color:var(--creme);opacity:.9;margin:0;font-size:13px;line-height:1.6}.card-architecture{border-radius:var(--radius-sm,3px);background:#14100a99;border:1px solid #ffa02e26;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.section-label{letter-spacing:.08em;color:var(--encre);font-size:10px;font-weight:700}.facts-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.facts-list li{color:var(--creme);opacity:.92;align-items:baseline;gap:8px;font-size:12.5px;line-height:1.5;display:flex}.facts-list .bullet{color:var(--encre);flex-shrink:0;font-size:11px}.card-footer{border-top:1px dashed #ffa02e33;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:10px;display:flex}.tag-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tag-chip{color:var(--creme);opacity:.75;background:#ffa02e14;border:1px solid #ffa02e33;border-radius:2px;padding:2px 7px;font-size:10.5px}.case-study-btn{all:unset;cursor:pointer;letter-spacing:.04em;color:var(--papier);background:var(--encre);border:1px solid var(--encre);border-radius:var(--radius-sm,3px);align-items:center;gap:6px;padding:6px 14px;font-size:11px;font-weight:700;transition:all .15s;display:inline-flex}.case-study-btn:hover{background:var(--creme);color:var(--papier);box-shadow:0 0 10px #ffa02e66}.pq-timeline-origin{align-items:center;gap:14px;margin-left:6px;padding-top:12px;display:flex}.origin-node{border:2px solid var(--grid);background:var(--papier);border-radius:50%;width:14px;height:14px}.origin-label{letter-spacing:.08em;color:var(--creme);opacity:.55;font-size:10.5px}@media (width<=768px){.pq-head{min-height:40px}.pq-cmd .cmd-meta{display:none}.pq-timeline-viewport{padding:20px 14px 60px}.pq-milestone-item{gap:14px}.pq-spine{flex:0 0 20px}.pq-node-pin{width:14px;height:14px;margin-top:14px}.pq-entry-card{gap:10px;margin-bottom:22px;padding:16px 14px}.company-title{font-size:19px}.impact-callout{padding:8px 10px}.callout-val{font-size:12.5px}}@media (width<=520px){.pq-cmd{padding:6px 10px;font-size:10.5px}.pq-cmd .ps,.pq-print-label{display:none}.pq-print-btn{padding:0 10px;font-size:14px}.pq-filter-status{display:none}.card-meta-row{flex-direction:column;align-items:flex-start;gap:4px}.meta-right{font-size:10px}.card-footer{flex-direction:column;align-items:stretch}.case-study-btn{box-sizing:border-box;text-align:center;justify-content:center;width:100%}}@media print{.os-header,.pq-head,.pq-filter-bar,#crt-overlay-container,#os-scroll-top{display:none!important}body,.os-desktop,.os-parcours{color:#111!important;background:#fff!important;position:static!important;overflow:visible!important}.pq-timeline-viewport{padding:0!important}.pq-entry-card{page-break-inside:avoid;box-shadow:none!important;background:#fff!important;border:1px solid #ccc!important;margin-bottom:16px!important}.company-title,.summary-title,.callout-val{color:#000!important}.commit-hash,.branch-pill,.tag-chip{color:#333!important;background:#f5f5f5!important;border-color:#999!important}}
