.HoverWord-module__ntbGaW__word{white-space:nowrap;--hw-accent:#e8792c;display:inline-block;position:relative}.HoverWord-module__ntbGaW__word[data-hot="1"]{z-index:4}.HoverWord-module__ntbGaW__text{z-index:1;transition:opacity .26s var(--oi-ease);position:relative}.HoverWord-module__ntbGaW__word[data-kind=design][data-hot="1"]{cursor:none}.HoverWord-module__ntbGaW__word[data-kind=flow][data-hot="1"] .HoverWord-module__ntbGaW__text{opacity:.07}.HoverWord-module__ntbGaW__word[data-phase=clear] .HoverWord-module__ntbGaW__text,.HoverWord-module__ntbGaW__word[data-phase=type] .HoverWord-module__ntbGaW__text,.HoverWord-module__ntbGaW__word[data-phase=done] .HoverWord-module__ntbGaW__text{opacity:0;transition-duration:90ms}.HoverWord-module__ntbGaW__overlay{z-index:2;pointer-events:none;transition:opacity .22s var(--oi-ease);--fig:#0d99ff;letter-spacing:normal;position:absolute;inset:0}.HoverWord-module__ntbGaW__overlay[data-out="1"]{opacity:0}.HoverWord-module__ntbGaW__svg{width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.HoverWord-module__ntbGaW__figBounds{fill:none;stroke:var(--fig);stroke-width:1px;animation:HoverWord-module__ntbGaW__figIn .14s var(--oi-ease) both}.HoverWord-module__ntbGaW__figHandle{fill:#fff;stroke:var(--fig);stroke-width:1px;transform-box:fill-box;transform-origin:50%;animation:HoverWord-module__ntbGaW__figPop .13s var(--oi-ease) both}.HoverWord-module__ntbGaW__figLabel{font-family:var(--font-figma), Inter, sans-serif;letter-spacing:.01em;fill:var(--fig);animation:HoverWord-module__ntbGaW__figIn .16s var(--oi-ease) 60ms both;font-size:11px}.HoverWord-module__ntbGaW__figDims{animation:HoverWord-module__ntbGaW__figDimsIn .17s var(--oi-ease) .13s both}.HoverWord-module__ntbGaW__figDimsBg{fill:var(--fig)}.HoverWord-module__ntbGaW__figDimsText{font-family:var(--font-figma), Inter, sans-serif;letter-spacing:.01em;word-spacing:1.5px;fill:#fff;font-size:11px;font-weight:500}.HoverWord-module__ntbGaW__figCursor{z-index:3;opacity:0;will-change:transform;position:absolute;top:0;left:0}.HoverWord-module__ntbGaW__figCursor svg{display:block}.HoverWord-module__ntbGaW__figCursor[data-live="1"]{animation:HoverWord-module__ntbGaW__figIn .1s var(--oi-ease) both;opacity:1}.HoverWord-module__ntbGaW__figTag{background:var(--fig);color:#fff;font-family:var(--font-figma), Inter, sans-serif;letter-spacing:.01em;white-space:nowrap;border-radius:6px;padding:4px 8px 5px;font-size:11px;font-weight:500;line-height:1;position:absolute;top:20px;left:13px}@keyframes HoverWord-module__ntbGaW__figIn{0%{opacity:0}}@keyframes HoverWord-module__ntbGaW__figPop{0%{opacity:0;transform:scale(.3)}}@keyframes HoverWord-module__ntbGaW__figDimsIn{0%{opacity:0;transform:translateY(-3px)}}.HoverWord-module__ntbGaW__selBand{background:color-mix(in srgb, var(--oi-ink) 16%, transparent);transform-origin:0;position:absolute;inset:8% -.06em 2%;transform:scaleX(0)}.HoverWord-module__ntbGaW__word[data-phase=select] .HoverWord-module__ntbGaW__selBand{animation:HoverWord-module__ntbGaW__codeSweep .17s var(--oi-ease) forwards}.HoverWord-module__ntbGaW__word[data-phase=clear] .HoverWord-module__ntbGaW__selBand,.HoverWord-module__ntbGaW__word[data-phase=type] .HoverWord-module__ntbGaW__selBand,.HoverWord-module__ntbGaW__word[data-phase=done] .HoverWord-module__ntbGaW__selBand{opacity:0;transition:opacity .1s var(--oi-ease);transform:scaleX(1)}@keyframes HoverWord-module__ntbGaW__codeSweep{to{transform:scaleX(1)}}.HoverWord-module__ntbGaW__editor{font-family:var(--font-code);letter-spacing:0;white-space:pre;animation:HoverWord-module__ntbGaW__figIn .12s var(--oi-ease) both;position:absolute;left:0}.HoverWord-module__ntbGaW__editorActive{background:color-mix(in srgb, var(--oi-ink) 7%, transparent);transition:top 90ms var(--oi-ease);position:absolute;left:-.5ch;right:-.5ch}.HoverWord-module__ntbGaW__editorLine{display:block;position:relative}.HoverWord-module__ntbGaW__editorNum{text-align:right;width:1.4ch;color:var(--oi-ink-3);margin-right:1.2ch;display:inline-block}.HoverWord-module__ntbGaW__tok_kw{color:var(--hw-accent)}.HoverWord-module__ntbGaW__tok_id{color:var(--oi-ink)}.HoverWord-module__ntbGaW__tok_pn{color:var(--oi-ink-2)}.HoverWord-module__ntbGaW__editorCaret{background:var(--hw-accent);width:.55ch;height:.82em;margin-left:1px;display:inline-block;transform:translateY(.08em)}.HoverWord-module__ntbGaW__word[data-phase=done] .HoverWord-module__ntbGaW__editorCaret{animation:1.1s step-end infinite HoverWord-module__ntbGaW__caretBlink}[data-theme=light] .HoverWord-module__ntbGaW__word{--hw-accent:#c05a1a}@keyframes HoverWord-module__ntbGaW__caretBlink{0%,to{opacity:1}55%{opacity:0}}.HoverWord-module__ntbGaW__hint{z-index:2;pointer-events:none;letter-spacing:normal;animation:HoverWord-module__ntbGaW__hintCycle var(--hint-ms,3s) linear both;position:absolute;inset:0}@keyframes HoverWord-module__ntbGaW__hintCycle{0%{opacity:0}10%,86%{opacity:1}to{opacity:0}}.HoverWord-module__ntbGaW__hintCursor{animation:HoverWord-module__ntbGaW__hintWander var(--hint-ms,4s) ease-in-out both;position:absolute;top:0;left:0}.HoverWord-module__ntbGaW__hintCursor svg{display:block}.HoverWord-module__ntbGaW__hintTag{position:absolute;top:16px;left:10px}.HoverWord-module__ntbGaW__hintTag text{font-family:var(--font-figma), Inter, sans-serif;letter-spacing:.01em;font-size:10px;font-weight:500}@keyframes HoverWord-module__ntbGaW__hintWander{0%{top:88%;left:-4%}14%{top:56%;left:14%}30%{top:72%;left:32%}48%{top:38%;left:54%}62%{top:60%;left:61%}72%{top:56%;left:63%}88%{top:32%;left:84%}to{top:12%;left:101%}}.HoverWord-module__ntbGaW__hintPet{width:1.7em;height:.68em;position:absolute;bottom:.17em;left:100%;overflow:hidden}.HoverWord-module__ntbGaW__word[data-kind=flow] .HoverWord-module__ntbGaW__hint{animation:none}.HoverWord-module__ntbGaW__petSprite{animation:.95s steps(6,end) .15s both HoverWord-module__ntbGaW__petEmerge,.95s steps(6,end) 3.1s forwards HoverWord-module__ntbGaW__petRetreat;position:absolute;bottom:0;left:-.9em}.HoverWord-module__ntbGaW__petSprite svg{width:auto;height:.52em;min-height:13px;animation:3.4s step-end 1.4s infinite HoverWord-module__ntbGaW__petIdle;display:block}@keyframes HoverWord-module__ntbGaW__petEmerge{to{left:.28em}}@keyframes HoverWord-module__ntbGaW__petRetreat{0%{left:.28em}to{left:-.9em}}@keyframes HoverWord-module__ntbGaW__petIdle{0%,57%,63%,to{translate:0}58%,62%{translate:0 -1px}}.HoverWord-module__ntbGaW__petEyes{animation:2.9s step-end 1.2s infinite HoverWord-module__ntbGaW__petPeek}@keyframes HoverWord-module__ntbGaW__petPeek{0%,44%,54%,89%,95%,to{opacity:1;translate:0}45%,52%{opacity:1;translate:-1px}90%,94%{opacity:0;translate:0}}.HoverWord-module__ntbGaW__petStepA{animation:.32s step-end 3 HoverWord-module__ntbGaW__petGaitA,.32s step-end 3.1s 3 HoverWord-module__ntbGaW__petGaitA}.HoverWord-module__ntbGaW__petStepB{opacity:0;animation:.32s step-end 3 HoverWord-module__ntbGaW__petGaitB,.32s step-end 3.1s 3 HoverWord-module__ntbGaW__petGaitB}@keyframes HoverWord-module__ntbGaW__petGaitA{0%,to{opacity:1}50%{opacity:0}}@keyframes HoverWord-module__ntbGaW__petGaitB{0%,to{opacity:0}50%{opacity:1}}.HoverWord-module__ntbGaW__flowNode{transform-box:fill-box;transform-origin:50%;animation:HoverWord-module__ntbGaW__flowNodeIn .18s var(--oi-ease) both}@keyframes HoverWord-module__ntbGaW__flowNodeIn{0%{opacity:0;transform:scale(.62)}}.HoverWord-module__ntbGaW__flowCard{fill:var(--oi-card);stroke:var(--oi-ink-2);stroke-width:1px}.HoverWord-module__ntbGaW__flowPort{fill:var(--oi-ink-2)}.HoverWord-module__ntbGaW__flowChip{fill:var(--oi-chip)}.HoverWord-module__ntbGaW__flowChipSpark{fill:var(--hw-accent)}.HoverWord-module__ntbGaW__flowSpark{fill:#0a0a0b;font-size:9px}.HoverWord-module__ntbGaW__flowChipGlyph{font-family:var(--font-code);fill:var(--oi-ink-2);font-size:7.5px}.HoverWord-module__ntbGaW__flowLabel{font-family:var(--font-code);fill:var(--oi-ink);font-size:9.5px}.HoverWord-module__ntbGaW__flowWire{fill:none;stroke:var(--oi-ink-2);stroke-width:1.2px;stroke-dasharray:1;stroke-dashoffset:1px;animation:.22s ease-out both HoverWord-module__ntbGaW__flowDraw}@keyframes HoverWord-module__ntbGaW__flowDraw{to{stroke-dashoffset:0}}.HoverWord-module__ntbGaW__flowRun{fill:none;stroke:var(--hw-accent);stroke-width:1.2px;stroke-dasharray:.045 .125;opacity:0;animation:HoverWord-module__ntbGaW__flowRunIn .26s var(--oi-ease) forwards, HoverWord-module__ntbGaW__flowRunMarch 1.3s linear infinite}@keyframes HoverWord-module__ntbGaW__flowRunIn{to{opacity:.9}}@keyframes HoverWord-module__ntbGaW__flowRunMarch{0%{stroke-dashoffset:.34px}to{stroke-dashoffset:0}}.HoverWord-module__ntbGaW__flowCheck{transform-box:fill-box;transform-origin:50%;animation:HoverWord-module__ntbGaW__figPop .15s var(--oi-ease) both}.HoverWord-module__ntbGaW__flowCheckDot{fill:var(--hw-accent)}.HoverWord-module__ntbGaW__flowCheckMark{fill:none;stroke:#0a0a0b;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}
.AboutBlock-module__GVZ-uG__grid{gap:var(--oi-s2);align-items:stretch;display:flex}.AboutBlock-module__GVZ-uG__text{gap:var(--oi-s5);width:50%;padding-right:var(--oi-s4);flex-direction:column;display:flex}.AboutBlock-module__GVZ-uG__text>:last-child{margin-top:auto}.AboutBlock-module__GVZ-uG__statement{max-width:22ch}.AboutBlock-module__GVZ-uG__sub{color:var(--oi-ink-2);max-width:44ch;margin:var(--oi-s4) 0 0}.AboutBlock-module__GVZ-uG__actions{gap:var(--oi-s1);display:flex}.AboutBlock-module__GVZ-uG__media{gap:var(--oi-s2);align-items:flex-end;width:50%;display:flex}.AboutBlock-module__GVZ-uG__photo{border-radius:var(--oi-r);background:var(--oi-hairline);aspect-ratio:4/5;flex:1;position:relative;overflow:hidden}.AboutBlock-module__GVZ-uG__photo img{object-fit:cover}.AboutBlock-module__GVZ-uG__photoCaption{z-index:2;color:#fff;text-shadow:0 1px 8px #00000073;font-size:12px;line-height:1.2;position:absolute;bottom:8px;left:10px}.AboutBlock-module__GVZ-uG__photoRole{color:#ffffffbf}@media (max-width:767px){.AboutBlock-module__GVZ-uG__grid{gap:var(--oi-s5);flex-direction:column}.AboutBlock-module__GVZ-uG__text,.AboutBlock-module__GVZ-uG__media{width:100%;padding-right:0}.AboutBlock-module__GVZ-uG__text{gap:var(--oi-s4)}}
.Certificates-module__x9OHCG__section{--cert-card:300px;--cert-gap:var(--oi-s3);--cert-duration:44s;overflow:hidden}.Certificates-module__x9OHCG__head{text-align:center;margin-bottom:var(--oi-s4);justify-content:center;display:flex}.Certificates-module__x9OHCG__head h2{max-width:26ch}.Certificates-module__x9OHCG__viewport{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 11% 89%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 11% 89%,#0000 100%)}.Certificates-module__x9OHCG__track{width:max-content;animation:Certificates-module__x9OHCG__cert-marquee var(--cert-duration) linear infinite;display:flex}.Certificates-module__x9OHCG__viewport:hover .Certificates-module__x9OHCG__track{animation-play-state:paused}.Certificates-module__x9OHCG__list{margin:0;padding:0;list-style:none;display:flex}.Certificates-module__x9OHCG__item{margin-right:var(--cert-gap);gap:var(--oi-s1);width:var(--cert-card);flex-direction:column;flex:none;display:flex}.Certificates-module__x9OHCG__media{border-radius:var(--oi-r);background:var(--oi-card);aspect-ratio:1.3;display:block;overflow:hidden}.Certificates-module__x9OHCG__media img{object-fit:contain;width:100%;height:100%;transition:transform .6s var(--oi-ease-img);display:block}.Certificates-module__x9OHCG__item:hover .Certificates-module__x9OHCG__media img{transform:scale(1.03)}.Certificates-module__x9OHCG__caption{flex-direction:column;gap:2px;display:flex}.Certificates-module__x9OHCG__title{color:var(--oi-ink);font-size:12px}.Certificates-module__x9OHCG__meta{letter-spacing:.01em;color:var(--oi-ink-2);font-size:10.5px;font-weight:500}@keyframes Certificates-module__x9OHCG__cert-marquee{0%{transform:translate(0,0)}to{transform:translate(-50%)}}@media (max-width:767px){.Certificates-module__x9OHCG__section{--cert-card:220px;--cert-gap:var(--oi-s2);--cert-duration:30s}}@media (prefers-reduced-motion:reduce){.Certificates-module__x9OHCG__track{animation:none}.Certificates-module__x9OHCG__viewport{scrollbar-width:none;overflow-x:auto}.Certificates-module__x9OHCG__viewport::-webkit-scrollbar{display:none}.Certificates-module__x9OHCG__duplicate{display:none}}
.Footer-module__S6Hkya__footer{width:100%;margin-top:var(--oi-section-gap);padding:0 var(--oi-gap) var(--oi-gap)}.Footer-module__S6Hkya__columns{margin-bottom:var(--oi-s7);display:flex}.Footer-module__S6Hkya__column{width:25%;padding-right:var(--oi-s4);flex-direction:column;display:flex}.Footer-module__S6Hkya__columnTitle{padding-bottom:var(--oi-s3);border-bottom:1px solid var(--oi-hairline);margin-bottom:var(--oi-s2)}.Footer-module__S6Hkya__item{height:36px;color:var(--oi-ink-2);white-space:nowrap;text-overflow:ellipsis;transition:gap .2s var(--oi-ease), color .2s var(--oi-ease);align-items:center;gap:8px;font-size:16px;text-decoration:none;display:flex;overflow:hidden}.Footer-module__S6Hkya__item:hover{color:var(--oi-ink);gap:10.4px}.Footer-module__S6Hkya__cta{align-items:flex-start;display:flex}.Footer-module__S6Hkya__videoCol{width:25%;padding-right:var(--oi-s4);flex:none}.Footer-module__S6Hkya__loop{border-radius:var(--oi-r);background:var(--oi-card);position:relative;overflow:hidden}.Footer-module__S6Hkya__loopVideo{aspect-ratio:21/9;object-fit:cover;object-position:50% 42%;border:0;width:100%;display:block}.Footer-module__S6Hkya__loopPoster{object-fit:cover;object-position:50% 42%;pointer-events:none;width:100%;height:100%;transition:opacity var(--oi-dur);position:absolute;inset:0}.Footer-module__S6Hkya__loopPoster[data-hidden]{opacity:0}.Footer-module__S6Hkya__loopToggle{right:var(--oi-s2);bottom:var(--oi-s2);cursor:pointer;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;width:40px;height:40px;transition:opacity var(--oi-dur);background:#0a0a0b80;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}.Footer-module__S6Hkya__loopToggle svg{fill:currentColor;width:16px;height:16px}.Footer-module__S6Hkya__loop:hover .Footer-module__S6Hkya__loopToggle,.Footer-module__S6Hkya__loopToggle:focus-visible{opacity:1}.Footer-module__S6Hkya__ctaBody{justify-content:space-between;align-self:stretch;gap:var(--oi-s5);flex-direction:column;flex:1;display:flex}.Footer-module__S6Hkya__ctaHeading{max-width:20ch;font-size:clamp(2.5rem,4.2vw,3.9rem)}.Footer-module__S6Hkya__ctaBottom{align-items:center;gap:24px;display:flex}.Footer-module__S6Hkya__ctaActions{gap:var(--oi-s1);display:flex}.Footer-module__S6Hkya__contact{font-size:16px;text-decoration:none}.Footer-module__S6Hkya__copy{padding-top:var(--oi-s5);justify-content:flex-end;display:flex}@media (max-width:767px){.Footer-module__S6Hkya__columns{margin-bottom:var(--oi-s5);flex-wrap:wrap}.Footer-module__S6Hkya__column{width:100%;margin-bottom:var(--oi-s4);padding-right:0}.Footer-module__S6Hkya__cta{flex-direction:column;align-items:stretch;gap:24px}.Footer-module__S6Hkya__videoCol{width:100%;padding-right:0}.Footer-module__S6Hkya__ctaBody{align-self:auto}.Footer-module__S6Hkya__loopToggle{opacity:1}.Footer-module__S6Hkya__ctaBottom{flex-wrap:wrap;gap:12px}}
.ThemeToggle-module__sGqMhG__toggle{height:24px}.ThemeToggle-module__sGqMhG__icon{display:block;overflow:visible}.ThemeToggle-module__sGqMhG__rays{stroke:currentColor;stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;transition:transform .34s cubic-bezier(.34,1.56,.64,1) .15s,opacity .18s linear .15s}.ThemeToggle-module__sGqMhG__core{fill:currentColor;fill-opacity:0;stroke:currentColor;stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;transition:transform .28s cubic-bezier(.2,.8,.2,1) 40ms,fill-opacity .2s linear 40ms}.ThemeToggle-module__sGqMhG__maskDot{transition:transform .26s cubic-bezier(.2,.8,.2,1);transform:translate(5px,-5px)}[data-theme=dark] .ThemeToggle-module__sGqMhG__rays{opacity:0;transition:transform .22s cubic-bezier(.55,0,.55,.2),opacity .16s linear;transform:rotate(90deg)scale(.2)}[data-theme=dark] .ThemeToggle-module__sGqMhG__core{fill-opacity:1;transition:transform .28s cubic-bezier(.2,.8,.2,1) .1s,fill-opacity .2s linear .1s;transform:scale(1.6)}[data-theme=dark] .ThemeToggle-module__sGqMhG__maskDot{transition:transform .3s cubic-bezier(.2,.8,.2,1) .14s;transform:translate(0)}
.Header-module__hBw1pG__header{z-index:99;padding:var(--oi-s2) var(--oi-gap);pointer-events:none;transition:background-color var(--oi-dur), border-color var(--oi-dur);border-bottom:1px solid #0000;align-items:center;display:flex;position:fixed;inset:0 0 auto}.Header-module__hBw1pG__isScrolled{background:var(--oi-canvas);border-bottom-color:var(--oi-hairline)}.Header-module__hBw1pG__wordmark{align-items:baseline;gap:var(--oi-s2);pointer-events:auto;min-width:0;font-family:var(--font-heading);letter-spacing:-.02em;color:var(--oi-ink);white-space:nowrap;flex:50%;font-size:12.8px;font-weight:500;text-decoration:none;display:flex}.Header-module__hBw1pG__wordmarkHome{display:none}.Header-module__hBw1pG__role{color:var(--oi-ink-3)}.Header-module__hBw1pG__links{justify-content:flex-end;align-items:center;gap:var(--oi-s3);flex:50%;display:flex}.Header-module__hBw1pG__links>*{pointer-events:auto}.Header-module__hBw1pG__links .Header-module__hBw1pG__link{cursor:pointer;font-family:var(--font-heading);letter-spacing:-.02em;color:var(--oi-ink-2);transition:color var(--oi-dur);background:0 0;border:0;padding:0;font-size:12.8px;font-weight:500;text-decoration:none;position:relative}.Header-module__hBw1pG__links .Header-module__hBw1pG__link:hover,.Header-module__hBw1pG__links .Header-module__hBw1pG__isActive,.Header-module__hBw1pG__links .Header-module__hBw1pG__isActive:hover{color:var(--oi-ink)}.Header-module__hBw1pG__links .Header-module__hBw1pG__isActive:before,.Header-module__hBw1pG__links .Header-module__hBw1pG__isActive:hover:before{content:"";background:var(--oi-ink);border-radius:1px;width:5px;height:5px;position:absolute;top:50%;left:-10px;translate:0 -50%}.Header-module__hBw1pG__contactWrap{display:flex;position:relative}.Header-module__hBw1pG__panel{top:calc(100% + var(--oi-s2));background:var(--oi-canvas);border:1px solid var(--oi-hairline);clip-path:inset(0 0 100%);opacity:0;pointer-events:none;width:300px;transition:clip-path .28s var(--oi-ease), opacity .2s var(--oi-ease);flex-direction:column;display:flex;position:absolute;right:-16px}.Header-module__hBw1pG__panelOpen{clip-path:inset(0);opacity:1;pointer-events:auto}.Header-module__hBw1pG__panelHead{justify-content:space-between;align-items:baseline;gap:var(--oi-s3);padding:12px var(--oi-s3);border-bottom:1px solid var(--oi-hairline);display:flex}.Header-module__hBw1pG__panel .Header-module__hBw1pG__panelItem{isolation:isolate;justify-content:space-between;align-items:center;gap:var(--oi-s3);border:0;border-bottom:1px solid var(--oi-hairline);width:100%;padding:11px var(--oi-s3);cursor:pointer;font-family:var(--font-heading);letter-spacing:-.02em;color:var(--oi-ink);text-align:left;transition:color var(--oi-dur);background:0 0;font-size:12.8px;font-weight:500;text-decoration:none;display:flex;position:relative}.Header-module__hBw1pG__panel .Header-module__hBw1pG__panelItem:before{content:"";z-index:-1;background:var(--oi-invert-bg);transform-origin:top;transition:transform var(--oi-dur) var(--oi-ease);position:absolute;inset:0;transform:scaleY(0)}.Header-module__hBw1pG__panel .Header-module__hBw1pG__panelItem:hover{color:var(--oi-invert-ink)}.Header-module__hBw1pG__panel .Header-module__hBw1pG__panelItem:hover:before{transform:scaleY(1)}.Header-module__hBw1pG__panel .Header-module__hBw1pG__panelItem:hover .Header-module__hBw1pG__panelMeta{color:var(--oi-invert-ink)}.Header-module__hBw1pG__panelMeta{color:var(--oi-ink-3);white-space:nowrap;text-overflow:ellipsis;transition:color var(--oi-dur);align-items:center;gap:6px;font-weight:400;display:inline-flex;overflow:hidden}.Header-module__hBw1pG__panel .Header-module__hBw1pG__panelCta{justify-content:space-between;align-items:center;gap:var(--oi-s3);margin:var(--oi-s3);background:var(--oi-invert-bg);color:var(--oi-invert-ink);border-radius:var(--oi-r);cursor:pointer;font-family:var(--font-heading);letter-spacing:-.02em;text-align:left;border:0;padding:9px 12.8px;font-size:12.8px;font-weight:500;display:flex}.Header-module__hBw1pG__ctaMeta{color:color-mix(in srgb, var(--oi-invert-ink) 64%, transparent);white-space:nowrap;align-items:center;gap:6px;font-weight:400;display:inline-flex}.Header-module__hBw1pG__dot{background:var(--oi-green);border-radius:50%;flex:none;width:6px;height:6px}@media (max-width:767px){.Header-module__hBw1pG__header{gap:var(--oi-s3)}.Header-module__hBw1pG__wordmark{flex:none}.Header-module__hBw1pG__wordmarkName{display:none}.Header-module__hBw1pG__wordmarkHome{display:inline}.Header-module__hBw1pG__role{display:none}.Header-module__hBw1pG__links{justify-content:flex-end;gap:var(--oi-s3);flex:auto}.Header-module__hBw1pG__contactOpen{background:var(--oi-canvas);border-bottom-color:var(--oi-hairline)}.Header-module__hBw1pG__contactWrap{position:static}.Header-module__hBw1pG__panel{border:0;border-bottom:1px solid var(--oi-hairline);width:auto;top:calc(100% + 1px);left:0;right:0}.Header-module__hBw1pG__panelHead{padding:var(--oi-gap)}.Header-module__hBw1pG__panel .Header-module__hBw1pG__panelItem{padding:14px var(--oi-gap);font-size:14px}.Header-module__hBw1pG__panel .Header-module__hBw1pG__panelCta{margin:var(--oi-gap);padding:13px var(--oi-gap);font-size:14px}}
.HomeOpener-module__kpSllG__opener{padding-top:var(--oi-s8);gap:var(--oi-s6);flex-direction:column;display:flex}.HomeOpener-module__kpSllG__seg{white-space:nowrap}.HomeOpener-module__kpSllG__intro{margin-left:50%}.HomeOpener-module__kpSllG__intro p{max-width:40ch;color:var(--oi-ink)}@media (max-width:767px){.HomeOpener-module__kpSllG__opener{padding-top:var(--oi-s7);gap:var(--oi-s5)}.HomeOpener-module__kpSllG__intro{margin-left:0}}
.IndexList-module__OYVUjW__list{flex-direction:column;width:100%;display:flex}.IndexList-module__OYVUjW__row{isolation:isolate;grid-template-columns:calc(50% - var(--oi-s2)) 1fr auto;align-items:baseline;column-gap:var(--oi-s3);padding:var(--oi-s3) var(--oi-s2);border-top:1px solid var(--oi-hairline);text-decoration:none;display:grid;position:relative}.IndexList-module__OYVUjW__row:last-child{border-bottom:1px solid var(--oi-hairline)}.IndexList-module__OYVUjW__row:before{content:"";z-index:-1;background:var(--oi-invert-bg);transform-origin:top;transition:transform var(--oi-dur) var(--oi-ease);position:absolute;inset:0;transform:scaleY(0)}.IndexList-module__OYVUjW__row:hover:before{transform:scaleY(1)}.IndexList-module__OYVUjW__row:hover .IndexList-module__OYVUjW__name,.IndexList-module__OYVUjW__row:hover .IndexList-module__OYVUjW__type,.IndexList-module__OYVUjW__row:hover .IndexList-module__OYVUjW__year,.IndexList-module__OYVUjW__row:hover .IndexList-module__OYVUjW__ext{color:var(--oi-invert-ink)}.IndexList-module__OYVUjW__name{color:var(--oi-ink);transition:color var(--oi-dur);font-size:16px;font-weight:500}.IndexList-module__OYVUjW__ext{color:var(--oi-ink-2);transition:color var(--oi-dur)}.IndexList-module__OYVUjW__type{color:var(--oi-ink-2);transition:color var(--oi-dur);font-size:14px}.IndexList-module__OYVUjW__year{color:var(--oi-ink-2);font-variant-numeric:tabular-nums;transition:color var(--oi-dur);font-size:14px}.IndexList-module__OYVUjW__strip{display:none}.IndexList-module__OYVUjW__preview{z-index:10;pointer-events:none;opacity:0;transition:opacity .26s var(--oi-ease);will-change:transform;position:fixed;top:0;left:0}.IndexList-module__OYVUjW__preview[data-on="1"]{opacity:1}.IndexList-module__OYVUjW__previewInner{aspect-ratio:16/10;border-radius:var(--oi-r);background:var(--oi-hairline);width:clamp(220px,24vw,340px);transition:transform .42s var(--oi-ease-img);position:relative;overflow:hidden;transform:translate(-50%,-50%)scale(.9)}.IndexList-module__OYVUjW__preview[data-on="1"] .IndexList-module__OYVUjW__previewInner{transform:translate(-50%,-50%)scale(1)}.IndexList-module__OYVUjW__previewImg{clip-path:inset(0);position:absolute;inset:0}.IndexList-module__OYVUjW__previewImg img{object-fit:cover}.IndexList-module__OYVUjW__previewImg.IndexList-module__OYVUjW__isActive[data-dir="1"]{animation:IndexList-module__OYVUjW__previewWipeDown .52s var(--oi-ease-img)}.IndexList-module__OYVUjW__previewImg.IndexList-module__OYVUjW__isActive[data-dir="-1"]{animation:IndexList-module__OYVUjW__previewWipeUp .52s var(--oi-ease-img)}.IndexList-module__OYVUjW__previewImg.IndexList-module__OYVUjW__isActive img{animation:IndexList-module__OYVUjW__previewSettle .52s var(--oi-ease-img)}@keyframes IndexList-module__OYVUjW__previewWipeDown{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes IndexList-module__OYVUjW__previewWipeUp{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}@keyframes IndexList-module__OYVUjW__previewSettle{0%{transform:scale(1.12)}to{transform:scale(1)}}@media (max-width:767px){.IndexList-module__OYVUjW__row{row-gap:var(--oi-s1);grid-template-columns:1fr auto;grid-template-areas:"name year""type type""strip strip"}.IndexList-module__OYVUjW__name{grid-area:name}.IndexList-module__OYVUjW__year{grid-area:year}.IndexList-module__OYVUjW__type{grid-area:type}.IndexList-module__OYVUjW__strip{gap:var(--oi-s2);margin-top:var(--oi-s1);grid-area:strip;grid-template-columns:1fr 1fr;align-items:start;display:grid}.IndexList-module__OYVUjW__stripImg{aspect-ratio:4/3;border-radius:var(--oi-r);background:var(--oi-hairline);position:relative;overflow:hidden}.IndexList-module__OYVUjW__stripImg img{object-fit:cover}.IndexList-module__OYVUjW__stripImg:only-child{aspect-ratio:2;grid-column:1/-1}}
.HomeWork-module__Bi7IOa__more{margin-top:var(--oi-s4);display:flex}
.MakersWall-module__68y97W__head{text-align:center;margin-bottom:var(--oi-s4);justify-content:center;display:flex}.MakersWall-module__68y97W__head h2{max-width:26ch}.MakersWall-module__68y97W__wall{column-count:4;column-gap:var(--oi-s2)}.MakersWall-module__68y97W__item{gap:var(--oi-s1);break-inside:avoid;margin-bottom:var(--oi-s3);flex-direction:column;text-decoration:none;display:flex}.MakersWall-module__68y97W__media{border-radius:var(--oi-r);background:var(--oi-hairline);display:block;overflow:hidden}.MakersWall-module__68y97W__media img{width:100%;height:auto;transition:transform .6s var(--oi-ease-img);display:block}.MakersWall-module__68y97W__item:hover .MakersWall-module__68y97W__media img{transform:scale(1.03)}.MakersWall-module__68y97W__caption{align-items:center;gap:var(--oi-s2);font-size:12px;display:flex}.MakersWall-module__68y97W__tag{border:1px solid var(--oi-hairline);border-radius:var(--oi-r-s);background:var(--oi-card-hover);color:var(--oi-ink-2);letter-spacing:.01em;flex:none;padding:2.4px 6.4px;font-size:10.5px;font-weight:500;line-height:1.3}.MakersWall-module__68y97W__more{margin-top:var(--oi-s5);justify-content:center;display:flex}@media (max-width:767px){.MakersWall-module__68y97W__wall{column-count:2}}
.Showreel-module__NLNoeW__band{margin-top:var(--oi-s6)}.Showreel-module__NLNoeW__grid{gap:var(--oi-s2);grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:stretch;display:grid}.Showreel-module__NLNoeW__reel{aspect-ratio:16/9;border-radius:var(--oi-r);background:var(--oi-hairline);align-self:start;position:relative;overflow:hidden}.Showreel-module__NLNoeW__video{object-fit:contain;border:0;width:100%;height:100%;position:absolute;inset:0}.Showreel-module__NLNoeW__poster{object-fit:contain;pointer-events:none;width:100%;height:100%;transition:opacity var(--oi-dur);position:absolute;inset:0}.Showreel-module__NLNoeW__poster[data-hidden]{opacity:0}.Showreel-module__NLNoeW__aside{border-radius:var(--oi-r);background:var(--oi-hairline);position:relative;overflow:hidden}.Showreel-module__NLNoeW__aside img{object-fit:cover}.Showreel-module__NLNoeW__toggle{right:var(--oi-s2);bottom:var(--oi-s2);cursor:pointer;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;width:40px;height:40px;transition:opacity var(--oi-dur);background:#0a0a0b80;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}.Showreel-module__NLNoeW__toggle svg{fill:currentColor;width:16px;height:16px}.Showreel-module__NLNoeW__reel:hover .Showreel-module__NLNoeW__toggle,.Showreel-module__NLNoeW__toggle:focus-visible{opacity:1}@media (max-width:767px){.Showreel-module__NLNoeW__band{margin-top:var(--oi-s5)}.Showreel-module__NLNoeW__grid{grid-template-columns:1fr}.Showreel-module__NLNoeW__aside{display:none}.Showreel-module__NLNoeW__toggle{opacity:1}}
.WorkIndex-module__gR48iG__index{width:100%;padding:var(--oi-offset) var(--oi-gap) 0;flex-direction:column;display:flex}.WorkIndex-module__gR48iG__toolbar{justify-content:space-between;align-items:center;gap:var(--oi-s3);border-top:1px solid var(--oi-hairline);padding-top:var(--oi-s2);margin-bottom:var(--oi-s5);flex-wrap:wrap;display:flex}.WorkIndex-module__gR48iG__filters{gap:var(--oi-s1);display:flex}p.WorkIndex-module__gR48iG__note{max-width:60ch;margin:calc(-1 * var(--oi-s3)) 0 var(--oi-s5);display:none}p.WorkIndex-module__gR48iG__note.WorkIndex-module__gR48iG__noteShown{display:block}.WorkIndex-module__gR48iG__index[data-view=list] .WorkIndex-module__gR48iG__mosaic,.WorkIndex-module__gR48iG__index[data-view=auto] .WorkIndex-module__gR48iG__mosaic,.WorkIndex-module__gR48iG__index[data-view=grid] .WorkIndex-module__gR48iG__listWrap{display:none}.WorkIndex-module__gR48iG__mosaic{column-gap:var(--oi-s2);row-gap:var(--oi-s6);grid-template-columns:repeat(12,1fr);align-items:start;display:grid}.WorkIndex-module__gR48iG__cell{gap:var(--oi-s1);flex-direction:column;text-decoration:none;display:flex}.WorkIndex-module__gR48iG__cell:nth-child(4n+1){grid-column:1/span 7}.WorkIndex-module__gR48iG__cell:nth-child(4n+2){margin-top:var(--oi-s7);grid-column:9/span 4}.WorkIndex-module__gR48iG__cell:nth-child(4n+3){grid-column:2/span 5}.WorkIndex-module__gR48iG__cell:nth-child(4n+4){margin-top:var(--oi-s6);grid-column:8/span 5}.WorkIndex-module__gR48iG__cellMedia{border-radius:var(--oi-r);background:var(--oi-hairline);width:100%;display:block;overflow:hidden}.WorkIndex-module__gR48iG__cellMedia img{width:100%;height:auto;transition:transform .6s var(--oi-ease-img);display:block}.WorkIndex-module__gR48iG__cell:hover .WorkIndex-module__gR48iG__cellMedia img{transform:scale(1.03)}.WorkIndex-module__gR48iG__caption{justify-content:space-between;align-items:baseline;gap:var(--oi-s3);font-size:16px;font-weight:500;display:flex}.WorkIndex-module__gR48iG__captionYear{font-variant-numeric:tabular-nums;white-space:nowrap}:is(html[data-oi-filter=client] .WorkIndex-module__gR48iG__index [data-cat]:not([data-cat=client]),html[data-oi-filter=lab] .WorkIndex-module__gR48iG__index [data-cat]:not([data-cat=lab]),html[data-oi-filter=university] .WorkIndex-module__gR48iG__index [data-cat]:not([data-cat=university])){display:none}html[data-oi-filter=university] .WorkIndex-module__gR48iG__index .WorkIndex-module__gR48iG__note{display:block}html[data-oi-view=grid] .WorkIndex-module__gR48iG__index .WorkIndex-module__gR48iG__listWrap{display:none}html[data-oi-view=grid] .WorkIndex-module__gR48iG__index .WorkIndex-module__gR48iG__mosaic{display:grid}html[data-oi-view=list] .WorkIndex-module__gR48iG__index .WorkIndex-module__gR48iG__mosaic{display:none}html[data-oi-view=list] .WorkIndex-module__gR48iG__index .WorkIndex-module__gR48iG__listWrap{display:block}@media (max-width:767px){.WorkIndex-module__gR48iG__index[data-view=auto] .WorkIndex-module__gR48iG__mosaic{display:grid}.WorkIndex-module__gR48iG__index[data-view=auto] .WorkIndex-module__gR48iG__listWrap{display:none}.WorkIndex-module__gR48iG__mosaic{row-gap:var(--oi-s5)}.WorkIndex-module__gR48iG__cell:nth-child(n){grid-column:1/-1;margin-top:0}}
