:root{color-scheme:light;--light:#f4f5f7;--card:#fbfbfc;--ink:#111316;--mute:#5f646b;--dim:#8a9097;--dark:#e9ecef;--dcard:#dde1e5;--dmute:#5c626a;--red:#d7262b;--studio:var(--light);--accent:var(--red);--col:clamp(16px,2vw,32px);--gap:clamp(170px,30vh,320px);--bg:var(--light);--mu:var(--mute);--cd:var(--card)}body{background:var(--bg);font-weight:300;line-height:1.6;transition:background-color .7s ease}body.dark{--bg:var(--dark);--mu:var(--dmute);--cd:var(--dcard)}img,video{display:block;max-width:100%}h1,h2,h3,figure{margin:0}h1,h2,h3{letter-spacing:-.025em}:focus-visible{outline:1.5px solid var(--red);outline-offset:4px}.g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col)}.kick{font-weight:400;color:var(--red)}.lab{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mu)}.venue{font-weight:600;font-size:1.25em;letter-spacing:.1em;color:var(--ink)}.kick .venue{color:inherit}.h2{font-size:clamp(36px,4.4vw,64px);line-height:1.04;margin-top:16px}.lead{color:var(--mu);max-width:40ch}.sec{padding-top:var(--gap)}.head{align-items:end;margin-bottom:clamp(48px,8vh,88px)}.head>div:first-child{grid-column:1 / span 7}.head>p{grid-column:9 / -1}.cap{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mu);margin-top:12px}.ph{overflow:hidden;background:var(--cd)}.ph img,.ph video{width:100%;height:100%;object-fit:cover}.ph.white{background:#fff}.ph.contain img{object-fit:contain}.num{font-variant-numeric:tabular-nums}.motion .rise{opacity:0;transform:translateY(24px);transition:opacity 1s cubic-bezier(.2,.7,.1,1),transform 1s cubic-bezier(.2,.7,.1,1)}.motion .rise.in{opacity:1;transform:none}.hero{position:relative;height:100vh;height:100svh;background:var(--light)}.hpin{position:relative;height:100%;overflow:hidden}.hframe{position:absolute;right:max(var(--gut),7vw);top:52%;transform:translateY(-50%);aspect-ratio:1300/884;overflow:hidden;background:var(--card);width:min(calc(100% - (2*max(var(--gut),7vw)) - min(420px,30vw) - clamp(48px,6vw,110px)),calc(74vh * 1300 / 884))}.motion .hframe{animation:fade 1.4s .15s ease both}.motion.grown .hframe{animation-delay:0s}.hframe img{width:100%;height:100%;object-fit:cover}@keyframes fade{0%{opacity:0}to{opacity:1}}.hero .otext{position:absolute;left:max(var(--gut),7vw);top:52%;transform:translateY(-50%);width:min(420px,30vw);display:grid;gap:22px}.motion .hero .otext>*{animation:up 1.1s cubic-bezier(.2,.7,.1,1) both}.motion .hero .otext>:nth-child(1){animation-delay:.35s}.motion .hero .otext>:nth-child(3){animation-delay:.75s}.motion .hero .otext>:nth-child(4){animation-delay:.9s}.motion .hero .otext>h1{animation:none}@keyframes up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.hero h1{font-size:clamp(48px,5.6vw,92px);line-height:.94;letter-spacing:-.035em}.hero h1 b{font-weight:500;color:var(--red)}.hero .lede{font-size:17px;line-height:1.55;color:#454a51;max-width:40ch}.glance3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding-top:8px;align-items:start}.glance3 div{display:grid;gap:4px;min-width:0}.glance3 dt{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}.glance3 dd{margin:0;font-size:14px;line-height:1.45}.hero .cue{position:absolute;left:max(var(--gut),7vw);bottom:calc(26px + env(safe-area-inset-bottom,0px));font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}.prob{align-items:center}.prob .t{grid-column:1 / span 5}.prob .ph{grid-column:7 / -1}.pstats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--col);margin-top:clamp(40px,7vh,72px)}.pstats .v{font-size:clamp(56px,6vw,96px);line-height:.9;letter-spacing:-.045em}.pstats .v small{font-size:.32em;color:var(--mu);margin-left:6px;letter-spacing:0}.pstats .v.red{color:var(--red)}.pstats .lab{margin-top:14px;display:block;max-width:22ch;line-height:1.5}.statement{min-height:80vh;display:grid;place-content:center;text-align:center;padding-block:var(--gap) 0}.statement p:not(.kick){font-size:clamp(34px,4.6vw,76px);line-height:1.04;letter-spacing:-.035em;max-width:18ch;margin-inline:auto}.statement p:not(.kick)>span:not(.w){color:var(--red)}.rowfit{display:grid;gap:var(--col);align-items:start}.rowfit .ph{width:100%}.rowfit figure{margin:0;min-width:0}.proc4 .ph{aspect-ratio:4/5;background:#fff}.proc4 .ph img{object-fit:contain}.model{margin-top:clamp(48px,8vh,88px);align-items:end}.model .ph{grid-column:1 / span 8;aspect-ratio:1400/1132}.model .t{grid-column:10 / -1}.model .t b{display:block;font-weight:400;font-size:clamp(22px,2vw,30px);line-height:1.2;margin-top:12px}.model .t p{color:var(--mu);margin-top:12px;max-width:34ch}.solve{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:calc(56px + 2vh) 2vh;margin-top:var(--gap)}.modes{align-items:center}.modes .vis{grid-column:1 / span 7;aspect-ratio:1040/880;width:min(100%,calc(76vh * 1040 / 880));height:auto;position:relative;background:var(--dcard)}.modes .vis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease,transform 1.9s cubic-bezier(.2,.7,.1,1)}.modes .vis img.on{opacity:1}.modes .t{grid-column:9 / -1}.solve .h2{font-size:clamp(34px,3.6vw,56px)}.switch{display:inline-grid;grid-template-columns:1fr 1fr;background:var(--dcard);border-radius:999px;padding:4px;margin:32px 0 30px;position:relative}.switch button{position:relative;z-index:1;padding:12px 22px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dmute);transition:color .3s}.switch button[aria-selected=true]{color:#fff}.switch .pill{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:var(--red);transition:transform .45s cubic-bezier(.65,0,.2,1)}.switch.el .pill{transform:translate(100%)}.mode h3{font-size:clamp(28px,2.6vw,40px);line-height:1.1}.mode p{color:var(--mu);margin-top:14px;max-width:44ch}.mode[hidden]{display:none}.mech1{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:calc(44px + 2vh) 2vh}.mech1 .head{margin-bottom:clamp(20px,3.5vh,40px)}.mfig{aspect-ratio:998/652;height:min(47vh,680px);width:auto;max-width:100%;margin:0 auto}.msteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--col);width:min(100%,calc(47vh * 998 / 652));margin:clamp(20px,3.5vh,40px) auto 0}.msteps .n{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--red)}.msteps b{display:block;font-weight:400;font-size:22px;margin-top:10px}.msteps p{color:var(--mu);margin-top:6px}.flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--col);list-style:none;margin:0;padding:0}.fs{background:var(--cd);padding:22px 24px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center}.fs .n{font-family:var(--mono);font-size:12px;color:var(--mu)}.fs b{font-weight:400;font-size:17px;line-height:1.3}.fs .m{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--mu)}.fs.el .m{color:var(--red)}.jgap{padding-top:var(--gap)}.journey{position:relative;height:100vh;height:100svh}.journey .pin{height:100%;display:grid;align-items:center}.journey .g{align-items:center}.journey .steps{grid-column:1 / span 4;display:grid;gap:clamp(28px,5vh,48px)}.step{opacity:.28;transition:opacity .5s}.step.on{opacity:1}.step .n{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--red)}.step h3{font-size:clamp(30px,3.2vw,52px);line-height:1;margin-top:8px}.step p{color:var(--dmute);margin-top:10px;max-width:36ch}.journey .screen{grid-column:5 / -1;aspect-ratio:1040/880;max-height:80vh;justify-self:start;width:100%;max-width:calc(80vh * 1040 / 880);position:relative;background:var(--dcard)}.journey .screen video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s ease}.journey .screen video.on{opacity:1}.journey .tag{position:absolute;left:16px;bottom:16px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:#0b0d1099;padding:7px 11px}.specs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--col)}.spec .v{font-size:clamp(44px,5vw,80px);line-height:1;letter-spacing:-.03em}.spec .v small{font-size:.42em;letter-spacing:0;margin-left:4px;color:var(--mute)}.spec .lab{margin-top:10px;display:block}.dims{align-items:center}.dims .fig{grid-column:1 / span 6;aspect-ratio:822/750;background:#fff}.dims .t{grid-column:8 / -1}.dt{display:grid;gap:20px;margin:26px 0 40px}.dt div{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:baseline;gap:16px}.dt .v{font-size:clamp(36px,3.6vw,56px);line-height:1;letter-spacing:-.035em}.dt .v small{font-size:.4em;color:var(--mu);letter-spacing:0;margin-left:4px}.inside{align-items:center}.inside .fig{grid-column:1 / span 8;aspect-ratio:1305/883;background:#fff}.inside .fig img{object-fit:contain}.inside .t{grid-column:10 / -1}.film{display:grid;justify-items:center}.film .player{width:min(100%,1180px);aspect-ratio:16/9;position:relative;background:#000;transform-origin:50% 0;will-change:transform}.film .player video{width:100%;height:100%;object-fit:cover}.concl{min-height:118vh;display:grid;grid-template-rows:1fr auto;padding-block:calc(64px + 4vh) clamp(40px,7vh,72px);margin-top:var(--gap)}.concl .cl{display:grid;align-content:center;justify-items:center;text-align:center}.concl .big{font-size:clamp(40px,5.6vw,92px);line-height:1.02;letter-spacing:-.035em;max-width:16ch;margin-top:22px}.concl .big>span:not(.w){color:var(--red)}.concl .paper{text-align:left;padding-top:clamp(80px,14vh,160px)}.paper{align-items:start}.paper .t{grid-column:1 / span 5}.paper .t h3{font-size:clamp(24px,2.2vw,34px);line-height:1.15;margin-top:16px}.paper .a{grid-column:7 / -1}.authors{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:clamp(18px,1.5vw,22px);margin-top:14px}.authors span{color:var(--mu)}.authors b{font-weight:400}.paper .note{color:var(--mu);font-size:13px;margin-top:22px;max-width:60ch}.exit{--exit-bg:#d9d5ce;--exit-ink:#1e1915;background:#d9d5ce;color:#1e1915;margin-top:clamp(200px,34vh,380px);padding:clamp(64px,11vh,130px) clamp(20px,5vw,80px)}.exit .next .kick{color:#6d6358}.exit .next p:last-child{color:#6d6358}.exit .back{color:#4a443d}.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.2em;margin-bottom:-.2em}.split .w>span{display:inline-block;transform:translateY(108%);transition:transform 1.1s cubic-bezier(.2,.7,.1,1)}.split.in .w>span{transform:none}.read .w>span{color:#c4c8cd;transition:color .35s ease}.read .w.on>span{color:inherit}.wipe{overflow:hidden;opacity:0;transition:opacity .8s cubic-bezier(.2,.7,.1,1)}.wipe.in{opacity:1}.wipe img{transform:scale(1.04);transition:transform 1.4s cubic-bezier(.2,.7,.1,1)}.wipe.in img{transform:none}.par{position:relative}.par img{position:absolute;left:0;top:-7%;height:114%!important}#sl{display:inline-block}@media(max-width:900px){.head>div:first-child,.head>p,.modes .vis,.modes .t,.journey .steps,.journey .screen,.dims .fig,.dims .t,.inside .fig,.inside .t,.paper .t,.paper .a,.model .ph,.model .t,.prob .t,.prob .ph{grid-column:1 / -1}.head>p,.modes .t,.dims .t,.inside .t,.paper .a{margin-top:28px}.specs,.flow{grid-template-columns:repeat(2,minmax(0,1fr))}.model .t{margin-top:24px}.rowfit{grid-template-columns:minmax(0,1fr)!important}.prob .ph{margin-top:36px}.msteps{grid-template-columns:minmax(0,1fr)}.solve{min-height:0}.jgap{padding-top:0}.journey{height:auto}.journey .pin{height:auto;padding-block:var(--gap) 0}.journey .step{opacity:1}.journey .screen{margin-top:36px;max-width:none}}@media(max-width:860px){.hero{height:auto}.hpin{height:auto;overflow:visible;padding-top:calc(64px + env(safe-area-inset-top,0px));display:grid}.hframe{position:relative;right:auto;top:auto;width:auto;margin-inline:var(--gut);transform:none;order:-1}.hero .otext{position:relative;left:auto;top:auto;transform:none!important;width:auto;padding:36px var(--gut) 0}.hero .cue{display:none}}@media(max-width:560px){.specs,.flow{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}.split .w>span{transform:none}.wipe{opacity:1}.wipe img{transform:none}.read .w>span{color:inherit}.par img{translate:none!important}.jgap{padding-top:0}.journey{height:auto}.journey .pin{height:auto;padding-block:var(--gap) 0}.journey .step{opacity:1}}@media(max-width:600px){.sl-w{display:none}}
