@font-face{font-family:Huben;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Huben-Regular.woff2)format("woff2")}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font-huben:"Huben", sans-serif;--font-system:-apple-system, "SF Pro Text", system-ui, sans-serif;--font-editorial:"New York", "Iowan Old Style", "Palatino", Georgia, serif;--bg:#f5f5f7;--fg:#0a0a0a;--fg-secondary:#555;--fg-muted:#999;--ease-out:cubic-bezier(.16, 1, .3, 1)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-huben);background:var(--bg);color:var(--fg);letter-spacing:.05em;text-transform:uppercase;line-height:1.35;transition:background-color .2s;position:relative;overflow-x:clip}body:before{content:"";pointer-events:none;z-index:1;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:160px 160px;position:fixed;inset:0}a{color:inherit;text-decoration:none}::selection{background:var(--fg);color:var(--bg)}::-webkit-scrollbar{width:0}.track{width:100svw;height:400vh;margin-top:-30vh;position:relative}.track-inner{height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.cases-row{flex-direction:row;align-items:center;gap:5rem;height:100%;padding:5vw 0 5vw 15vw;display:flex}.case{cursor:default;color:inherit;flex-shrink:0;display:block;scale:85%}.case-image-wrap{aspect-ratio:16/9;border-radius:4px;width:clamp(400px,70vw,110vh);position:relative;overflow:hidden;box-shadow:0 2px 20px #0000000f}.case-card{cursor:pointer;border:1px solid #0000000f;transition:box-shadow .3s,transform .3s;box-shadow:0 1px 12px #0000000a}@media (hover:hover) and (pointer:fine) and (min-width:992px){.case-image-wrap,.case-image-wrap *{cursor:none}}.case-card:hover{transform:translateY(-2px);box-shadow:0 4px 28px #00000014}.case-layer{width:100%;height:100%;transition:opacity .4s;position:absolute;top:0;left:0}.case-site-layer-default{opacity:1;z-index:2}.case-plan-layer-hover{opacity:0;z-index:1}.case-hover-swap:hover .case-site-layer-default{opacity:0}.case-hover-swap:hover .case-plan-layer-hover{opacity:1}.case-badge-plan,.case-badge-site{letter-spacing:.08em;text-transform:uppercase;color:#ffffffd9;-webkit-backdrop-filter:blur(8px);z-index:5;background:#00000080;border-radius:100px;align-items:center;gap:6px;padding:5px 12px;font-size:.6rem;font-weight:500;display:flex;position:absolute;top:clamp(.75rem,2vw,1.25rem);left:clamp(.75rem,2vw,1.25rem)}.case-gradient{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.case-initial{opacity:.06;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(5rem,12vw,12rem);line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.case-info{justify-content:space-between;align-items:flex-end;padding:1rem 0 .5rem;display:flex;position:relative}.case-name{margin:0;font-size:clamp(1.15rem,1.2vw + 1rem,2rem);font-weight:400}.case-tag{color:var(--fg-muted);font-size:clamp(.6rem,.8vw,.85rem)}.case .line{opacity:.08;background:currentColor;width:100%;height:1px;position:absolute;bottom:0;left:0}.case-ctas{gap:.75rem;margin-top:.75rem;display:flex}.case-cta{font-family:var(--font-system);letter-spacing:.02em;text-transform:none;cursor:pointer;border-radius:100px;align-items:center;gap:6px;padding:8px 18px;font-size:.75rem;font-weight:500;text-decoration:none;transition:opacity .2s,transform .2s;display:inline-flex}.case-cta:hover{transform:scale(.97)}.case-cta-primary{background:var(--fg);color:#fff}.case-cta-secondary{color:var(--fg);background:0 0;border:1px solid #0000001f}.case-cta-secondary:hover{border-color:#0000004d}.overflow{overflow:hidden}.projects-label{padding:.1em 0 .15em;line-height:1.25;transform:translateY(100%)}@media (max-width:991px){.projects-label-wrap{top:1.5rem!important}}@media (max-width:767px){.thesis-title{white-space:normal!important;text-overflow:clip!important;overflow:visible!important}}@media (min-width:992px){.case{opacity:0}.overflow>*{transition:transform .3s ease-out;transform:translateY(100%)}.case:hover .overflow>*{transform:translateY(0%)}.case:first-child{opacity:1}.line{transition:width .4s ease-out;width:0%!important}.case:hover .line{width:100%!important}.link:hover .link-line{animation:.3s ease-out forwards lineAnim}}@media (max-width:991px){.track{height:350vh;margin-top:-15vh}.cases-row{gap:1.25rem;padding:5vw 0 5vw 7.5vw}.case{scale:100%}.case-image-wrap{aspect-ratio:auto;width:82vw;max-width:420px;height:62svh;min-height:480px;max-height:620px}.case-card>div{padding:1.25rem!important}.case-card h3{font-size:clamp(1.5rem,6vw,2rem)!important;line-height:1.05!important}.case-card p{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card-thesis-tag{display:none!important}.case-card-footer{flex-direction:column!important;align-items:flex-start!important;gap:.75rem!important}.case-card-footer-stage{max-width:100%!important}.case-card-footer-metrics{align-self:stretch;justify-content:flex-start!important;align-items:flex-start!important}.case-card-footer-metrics>div{border-left:none!important;align-items:flex-start!important;padding-left:0!important}.case-card-footer-metrics>div>span{text-align:left!important}.case-card-footer-metrics>div>span:last-child{font-size:.9rem!important}.case-ctas{flex-direction:column;gap:.5rem}.case-cta{justify-content:center;width:100%}.case-see-all .case-ctas{min-height:5.25rem}}.arrow-cursor{pointer-events:none;opacity:0;z-index:55;color:#fff;mix-blend-mode:difference;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex;position:fixed;top:0;left:0;scale:50%}.arrow-cursor svg{width:100%;height:100%;translate:-110% 110%}@media (hover:none),(pointer:coarse),(max-width:767px){.arrow-cursor{display:none!important}}.hero-wr{text-align:center;isolation:isolate;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:5vw;display:flex;position:relative}.hero-wr:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(90deg,#00000014 1px,#0000 1px),linear-gradient(#00000014 1px,#0000 1px);background-position:50%;background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#0000 22%,#000 82%);mask-image:radial-gradient(#0000 22%,#000 82%)}.hero-wr>*{z-index:1;position:relative}.hero-wr:after{content:"";pointer-events:none;z-index:0;color:#0000004d;background:linear-gradient(90deg,currentColor 0 10px,#0000 10px) 0 0/10px 1px no-repeat,linear-gradient(currentColor 0 10px,#0000 10px) 0 0/1px 10px no-repeat,linear-gradient(270deg,currentColor 0 10px,#0000 10px) 100% 0/10px 1px no-repeat,linear-gradient(currentColor 0 10px,#0000 10px) 100% 0/1px 10px no-repeat,linear-gradient(90deg,currentColor 0 10px,#0000 10px) 0 100%/10px 1px no-repeat,linear-gradient(0deg,currentColor 0 10px,#0000 10px) 0 100%/1px 10px no-repeat,linear-gradient(270deg,currentColor 0 10px,#0000 10px) 100% 100%/10px 1px no-repeat,linear-gradient(0deg,currentColor 0 10px,#0000 10px) 100% 100%/1px 10px no-repeat;position:absolute;inset:clamp(3.5rem,6vw,5.5rem)}@keyframes heroLivePulse{0%{box-shadow:0 0 #34c75980}70%{box-shadow:0 0 0 8px #34c75900}to{box-shadow:0 0 #34c75900}}@keyframes heroTickerFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes heroScrollLine{0%{opacity:0;transform:scaleY(0)}40%{opacity:.6;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.flask-icon .flask-sway{transform-origin:20px 8px;animation:4.8s ease-in-out infinite flaskSway}.flask-icon .flask-liquid{transform-origin:20px 30px;animation:3.2s ease-in-out infinite flaskWave}.flask-icon .flask-bubble{opacity:0;transform-origin:50%;animation:3.4s ease-in infinite flaskBubble}.flask-icon .flask-bubble-1{animation-delay:0s}.flask-icon .flask-bubble-2{animation-delay:.9s}.flask-icon .flask-bubble-3{animation-delay:1.7s}.flask-icon .flask-bubble-4{animation-delay:2.5s}@keyframes flaskSway{0%,to{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}@keyframes flaskWave{0%,to{transform:translateY(0)scaleY(1)}50%{transform:translateY(-.6px)scaleY(1.03)}}@keyframes flaskBubble{0%{opacity:0;transform:translateY(0)scale(.6)}15%{opacity:.9}80%{opacity:.9}to{opacity:0;transform:translateY(-12px)scale(1.1)}}@media (prefers-reduced-motion:reduce){.flask-icon .flask-sway,.flask-icon .flask-liquid,.flask-icon .flask-bubble{animation:none}}.hero-beacon{flex-shrink:0;justify-content:center;align-items:center;width:.72em;height:.72em;margin-right:.08em;display:inline-flex;position:relative}.hero-beacon-dot{z-index:2;background:#34c759;border-radius:50%;width:.42em;height:.42em;animation:2.4s ease-in-out infinite beaconBreathe;position:absolute}.hero-beacon-ring,.hero-beacon-ring-2{opacity:0;background:radial-gradient(circle,#34c75959 0%,#34c75900 70%);border-radius:50%;width:.42em;height:.42em;animation:2.4s ease-out infinite beaconHalo;position:absolute}.hero-beacon-ring-2{animation-delay:1.2s}@keyframes beaconBreathe{0%,to{transform:scale(1);box-shadow:0 0 #34c75959}50%{transform:scale(1.08);box-shadow:0 0 .25em .05em #34c75940}}@keyframes beaconHalo{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(4.5)}}@keyframes heroCountPop{0%{opacity:.55;transform:translateY(-.04em)}to{opacity:1;transform:translateY(0)}}@keyframes heroLabsIn{0%{opacity:0;filter:blur(4px);letter-spacing:.03em;transform:translateY(.18em)}60%{opacity:1;filter:blur()}to{opacity:1;filter:blur();letter-spacing:-.01em;transform:translateY(0)}}.descr{margin-top:250px;margin-bottom:250px;padding:0 5vw;position:relative}.theses-section{margin-top:250px;margin-bottom:100px;padding:0 5vw}.roster-section{margin-top:150px;margin-bottom:150px;padding:0 5vw;scroll-margin-top:2rem}.roster-row-link:hover{background-color:#00000005;padding-left:.75rem!important;padding-right:.75rem!important}@media (max-width:767px){.roster-section{margin-top:100px;margin-bottom:100px}}.footer{max-width:100vw;margin-top:0;margin-bottom:0;overflow:hidden}@keyframes loopText{0%{transform:translate(0)}to{transform:translate(-100%)}}.marquee{flex-shrink:0;gap:.25em;padding-right:.25em;animation:40s linear infinite loopText;display:flex}@keyframes lineAnim{0%{width:0%}to{width:100%}}.mail-btn{color:#fff;z-index:50;background:#000;border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;padding:.55rem;transition:transform .2s ease-out,color .2s;display:flex;position:fixed;bottom:2rem;right:2rem}.mail-btn:hover{transform:scale(.93)}.link{padding:.5rem 0;display:block;position:relative;overflow:hidden}.link-line{background:currentColor;width:0%;height:1px;transition:width .4s ease-out;position:absolute;bottom:0;left:0}.link:hover .link-line{width:100%}.getnifty-card:hover{transform:translateY(-2px);box-shadow:0 4px 24px #00000014!important}@media (max-width:991px){.about-bottom-row{grid-template-columns:1fr!important;align-items:stretch!important}.about-bottom-row>*{max-width:100%!important}.hero-wr{padding-top:90px}.descr,.theses-section{margin-top:120px;margin-bottom:120px}.footer{margin-top:0;margin-bottom:0}.mail-btn{width:2.75rem;height:2.75rem;padding:.4rem;bottom:1rem;right:1rem}}@media (max-width:767px){.descr,.theses-section{margin-top:80px;margin-bottom:80px}}.footer .footer-dark{isolation:isolate;position:relative}.footer .footer-dark:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(90deg,#ffffff1c 1px,#0000 1px),linear-gradient(#ffffff1c 1px,#0000 1px);background-position:50%;background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 50% 30%,#0000 8%,#000 75%);mask-image:radial-gradient(at 50% 30%,#0000 8%,#000 75%)}.footer .footer-dark>*{z-index:1;position:relative}.grid-bg{isolation:isolate;position:relative}.grid-bg:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(90deg,#00000014 1px,#0000 1px),linear-gradient(#00000014 1px,#0000 1px);background-position:50%;background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 12% 88%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 12% 88%,#0000 100%)}.grid-bg>*{z-index:1;position:relative}.section-divider-zone{isolation:isolate;padding:clamp(3rem,6vw,5rem) 0;position:relative;overflow:hidden}.section-divider-zone:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(90deg,#0000000e 1px,#0000 1px),linear-gradient(#0000000e 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 35% 65%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 35% 65%,#0000 100%)}.section-divider{z-index:1;background:var(--bg);width:100%;font-family:var(--font-huben);text-transform:uppercase;letter-spacing:.22em;color:var(--fg-muted);opacity:.9;border-top:1px solid #00000014;border-bottom:1px solid #00000014;padding:clamp(1rem,2vw,1.75rem) 0;font-size:clamp(.6rem,.75vw,.8rem);display:flex;position:relative;overflow:hidden}.section-divider-track{white-space:nowrap;flex-shrink:0;gap:2.25em;padding-right:2.25em;animation:60s linear infinite loopText;display:flex}.section-divider-track span:after{content:"·";opacity:.5;padding-left:2.25em}@media (prefers-reduced-motion:reduce){.section-divider-track{animation:none}}.legal-body p{margin:0 0 1em}.legal-body p:last-child{margin-bottom:0}.legal-body ul{margin:0 0 1em;padding-left:1.25em;list-style:outside}.legal-body li{margin-bottom:.35em;line-height:1.55}.link-underline{color:currentColor;text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px;transition:opacity .2s}.link-underline:hover{opacity:.65}.footer-legal-strip{font-family:var(--font-system);text-transform:none;letter-spacing:normal;color:#fff6;border-top:none;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 2rem;margin-top:clamp(1.5rem,2.5vw,2.25rem);padding-top:clamp(.75rem,1vw,1rem);font-size:clamp(.65rem,.7vw,.75rem);line-height:1.55;display:flex}.footer-legal-strip a{color:#ffffff8c;text-decoration:none;transition:color .2s}.footer-legal-strip a:hover{color:#ffffffe6}.footer-legal-disclaimer{max-width:52ch;margin:0}.footer-legal-links{flex-wrap:wrap;gap:1.25rem;display:flex}.request-plan-form{font-family:var(--font-system);text-transform:none;letter-spacing:normal;flex-direction:column;gap:1.25rem;display:flex}.request-plan-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.request-plan-form label{letter-spacing:.05em;text-transform:uppercase;color:var(--fg-muted);flex-direction:column;gap:.4rem;font-size:.75rem;display:flex}.request-plan-form label>span{line-height:1.2}.request-plan-form label em{opacity:.6;text-transform:none;font-style:normal}.request-plan-form input[type=text],.request-plan-form input[type=email],.request-plan-form textarea{font:inherit;text-transform:none;letter-spacing:normal;color:var(--fg);background:#fff;border:1px solid #00000026;border-radius:3px;width:100%;padding:.7rem .85rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.request-plan-form input:focus,.request-plan-form textarea:focus{border-color:#00000080;outline:none;box-shadow:0 0 0 3px #0000000d}.request-plan-form textarea{resize:vertical;min-height:4.5rem}.request-plan-textarea{grid-column:1/-1}.request-plan-consent{align-items:flex-start;padding:.5rem 0;line-height:1.55;text-transform:none!important;letter-spacing:normal!important;color:var(--fg-secondary)!important;flex-direction:row!important;gap:.65rem!important;font-size:.85rem!important}.request-plan-consent input[type=checkbox]{accent-color:#000;flex-shrink:0;margin-top:.3rem}.request-plan-submit{font:inherit;font-family:var(--font-huben);text-transform:uppercase;letter-spacing:.02em;color:#fff;cursor:pointer;background:#000;border:none;border-radius:3px;align-self:flex-start;padding:.85rem 1.75rem;font-size:.9rem;transition:opacity .2s}.request-plan-submit:hover{opacity:.85}.request-plan-submit:disabled{opacity:.5;cursor:not-allowed}.request-plan-consent-note{font-family:var(--font-system);color:var(--fg-muted);text-transform:none;letter-spacing:normal;opacity:.8;margin:0;font-size:.72rem;line-height:1.55}.request-plan-error{color:#8a2222;margin:0;font-size:.85rem}.request-plan-success{font-family:var(--font-system);text-transform:none;letter-spacing:normal;background:#fff9;border:1px solid #0000001a;border-radius:4px;padding:1.5rem}.request-plan-success h3{font-family:var(--font-huben);text-transform:uppercase;letter-spacing:-.01em;margin:0 0 .5rem;font-size:1.1rem;font-weight:400}.request-plan-success p{color:var(--fg-secondary);margin:0;font-size:.95rem;line-height:1.55}.plan-gate-dialog{width:100%;max-width:min(560px,92vw);color:inherit;background:0 0;border:none;margin:0;padding:0;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.plan-gate-dialog::backdrop{-webkit-backdrop-filter:blur(6px);background:#0000008c}.plan-gate-dialog[open]{animation:.22s ease-out planGateIn}@keyframes planGateIn{0%{opacity:0;transform:translate(-50%,calc(8px - 50%))scale(.98)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.plan-gate-content{background:#fff;border-radius:6px;padding:clamp(1.75rem,3vw,2.5rem);position:relative;box-shadow:0 30px 80px #00000040}.plan-gate-close{color:#0000008c;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s,color .15s;display:inline-flex;position:absolute;top:.9rem;right:.9rem}.plan-gate-close:hover{color:#000;background:#0000000f}.plan-gate-header{margin-bottom:1.5rem}.plan-gate-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:.75rem;font-size:.65rem;display:inline-block}.plan-gate-header h2,.plan-gate-success h2{font-family:var(--font-system);text-transform:none;letter-spacing:-.01em;color:#000;margin:0 0 .5rem;font-size:clamp(1.05rem,1.4vw + .35rem,1.35rem);font-weight:600;line-height:1.3}.plan-gate-header p,.plan-gate-success p{font-family:var(--font-system);color:#000000a6;text-transform:none;letter-spacing:normal;margin:0;font-size:clamp(.82rem,.9vw,.9rem);line-height:1.55}.plan-gate-form{flex-direction:column;gap:1.25rem;display:flex}.plan-gate-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.plan-gate-grid>input{box-sizing:border-box;width:100%}.plan-gate-grid>input::placeholder{color:#00000061;font-weight:400}.plan-gate-grid label{font-family:var(--font-system);letter-spacing:.04em;color:var(--fg-muted);text-transform:none;flex-direction:column;gap:.35rem;font-size:.75rem;display:flex}.plan-gate-grid .plan-gate-wide,.plan-gate-grid .plan-gate-full{grid-column:1/-1}.plan-gate-grid label em{opacity:.6;text-transform:none;font-style:normal}.plan-gate-grid input{font:inherit;font-family:var(--font-system);color:#000;background:#fff;border:1px solid #00000026;border-radius:4px;padding:.7rem .85rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.plan-gate-grid input:focus{border-color:#000;outline:none;box-shadow:0 0 0 3px #00000014}.plan-gate-consent{font-family:var(--font-system);color:var(--fg-muted);text-transform:none;letter-spacing:normal;align-items:flex-start;gap:.65rem;font-size:.78rem;line-height:1.5;display:flex}.plan-gate-consent input[type=checkbox]{flex-shrink:0;margin-top:.2rem}.plan-gate-submit{appearance:none;color:#fff;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:#000;border:none;border-radius:4px;padding:.95rem 1.4rem;font-family:inherit;font-size:.8rem;transition:opacity .15s,transform .15s}.plan-gate-submit:hover:not(:disabled){opacity:.88}.plan-gate-submit:disabled{opacity:.5;cursor:not-allowed}.plan-gate-consent-note{font-family:var(--font-system);color:var(--fg-muted);text-transform:none;letter-spacing:normal;opacity:.8;margin:0;font-size:.72rem;line-height:1.55}.plan-gate-error{font-family:var(--font-system);color:#b42318;text-transform:none;letter-spacing:normal;margin:0;font-size:.8rem}.plan-gate-success{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}.plan-gate-success .case-cta{margin-top:.75rem}@media (max-width:540px){.plan-gate-grid{grid-template-columns:1fr}}
