:root{--paper:#fbfaf6;--ink:#1d1c19;--muted:#5a5853;--rule:#1d1c19;--rule-soft:rgba(29, 28, 25, .2);--bar:#f1efe8;--highlight:#f8eb94;--on-highlight:#1d1c19;--display:"Lato", "Helvetica Neue", Arial, sans-serif;--sans:"Nunito Sans", "Helvetica Neue", Arial, sans-serif;--gutter:clamp(1.25rem, 4vw, 2.5rem);--wide:72rem;--reading:42rem;--frame:max(var(--gutter), (100% - var(--wide)) / 2);color-scheme:light}@media(prefers-color-scheme:dark){:root{--paper:#1c1a16;--ink:#ede6d7;--muted:#aba393;--rule:#ede6d7;--rule-soft:rgba(237, 230, 215, .22);--bar:#24221d;--highlight:#5c5320;--on-highlight:#fbf3dc;color-scheme:dark}}*,*::before,*::after{box-sizing:border-box}html{background:var(--paper);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:1.0625rem/1.7 var(--sans);overflow-wrap:break-word;-webkit-font-smoothing:antialiased}img,video{display:block;max-width:100%;height:auto}pre{overflow-x:auto}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{background:var(--highlight);color:var(--on-highlight)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}::selection{background:var(--highlight);color:var(--on-highlight)}.skip-link{position:absolute;top:-10rem;left:1rem;z-index:100;padding:.5rem .75rem;background:var(--highlight);color:var(--on-highlight);font-size:.875rem}.skip-link:focus{top:1rem}.site-title,.hero-title,.feature-title,.entry-title,.page-title,.prose h2,.prose h3,.tagline{font-family:var(--display);font-optical-sizing:auto;font-weight:400;letter-spacing:-.015em}.proof-title,.entry-meta,.case-study dt{font-family:var(--sans);font-size:.8rem;font-weight:700;line-height:1.4;letter-spacing:.12em;text-transform:uppercase}.site-header{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 2.5rem;padding:1.1rem var(--frame);background:var(--bar);border-bottom:1px solid var(--rule-soft)}.site-title{font-size:1.375rem;font-weight:500;line-height:1.2;letter-spacing:-.01em;text-decoration:none}.site-title{display:inline-flex;align-items:center;gap:.6rem}.site-avatar{flex:none;width:2rem;height:2rem;border-radius:50%;object-fit:cover}.site-title:hover{background:0 0;color:inherit}.site-nav ul,.nav-menu-panel ul{display:flex;flex-wrap:wrap;gap:.35rem .85rem;margin:0;padding:0;list-style:none}.site-nav{min-width:0}.site-nav a,.nav-menu-panel a{display:block;padding:.1em .35em;color:var(--muted);font-size:.9375rem;font-weight:700;line-height:1.4;text-decoration:none;white-space:nowrap}.site-nav a:hover,.site-nav a[aria-current],.nav-menu-panel a:hover,.nav-menu-panel a[aria-current]{background:var(--highlight);color:var(--on-highlight)}.nav-menu{display:none}@media(max-width:44.99rem){.site-nav{display:none}.nav-menu{display:block}.nav-toggle{display:grid;place-items:center;width:2.75rem;height:2.75rem;margin:-.5rem -.6rem -.5rem 0;color:var(--ink);cursor:pointer;list-style:none}.nav-toggle::-webkit-details-marker{display:none}.nav-toggle svg{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round}.nav-close,.nav-menu[open] .nav-bars{display:none}.nav-menu[open] .nav-close{display:inline}.nav-menu-panel{position:absolute;top:100%;left:0;right:0;z-index:20;padding:.5rem var(--frame)1rem;background:var(--bar);border-bottom:1px solid var(--rule-soft);box-shadow:0 .75rem 1.5rem -1rem rgba(0,0,0,.25)}.nav-menu-panel ul{flex-direction:column;align-items:flex-start;gap:.25rem}.nav-menu-panel a{padding:.45rem .35em;font-size:1.0625rem}}main{padding:0 var(--frame)}.gallery{display:grid;grid-template-columns:1fr 1fr minmax(0,.6667fr)1fr 1fr;gap:.5rem;margin:1.5rem 0 3rem;padding:0;list-style:none}.gallery li{margin:0}.gallery li::before{content:none}.gallery a,.gallery a:hover{display:block;background:0 0}.gallery .tall img{aspect-ratio:2/3}.gallery img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px}@media(max-width:44.99rem){.gallery{display:flex;gap:.5rem;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter)}.gallery li{flex:none;width:40vw;max-width:11rem;scroll-snap-align:start}.gallery li.tall{width:calc(40vw * .6667);max-width:calc(11rem * .6667)}}.hero{display:grid;justify-items:center;gap:1.75rem;padding:clamp(2.25rem,4vw,3.75rem)0 clamp(4rem,10vw,7.5rem);text-align:center}@media(min-width:45rem){.hero{padding-bottom:3.5rem}}.hero>*{animation:rise .9s cubic-bezier(.2,.7,.2,1)both}.hero>:nth-child(2){animation-delay:.1s}.hero>:nth-child(3){animation-delay:.2s}.hero>:nth-child(4){animation-delay:.3s}@keyframes rise{from{opacity:0;transform:translateY(.75rem)}}.hero-portrait{width:clamp(7.5rem,14vw,10rem);aspect-ratio:1;border-radius:50%;object-fit:cover}.hero-title{max-width:17ch;margin:0;font-size:clamp(1.75rem,4vw,3.6rem);line-height:1.03;letter-spacing:-.025em;text-wrap:balance}.hero-subtext{max-width:38ch;margin:-.75rem 0 0;color:var(--muted);font-size:clamp(1.0625rem,1.6vw,1.3125rem);line-height:1.45;text-wrap:balance}.hero-role{max-width:62ch;margin:.5rem 0 0;color:var(--muted);font-size:.9375rem;line-height:1.45;text-wrap:balance}.proof-line{max-width:46ch;margin:0;color:var(--muted);font:italic clamp(1.1875rem,1.9vw,1.5rem)/1.45 var(--display);text-wrap:balance}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.proof{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:clamp(2.5rem,5vw,3.5rem);width:100%;margin:clamp(.75rem,3vw,2.25rem)0 .5rem}.timeline,.timeline[hidden]{display:grid;grid-template-columns:minmax(0,1fr);width:max-content;max-width:100%;margin:0;padding:0;list-style:none;text-align:left}.tl-node{--dot:11px;--y:12.5px;position:relative;display:grid;align-content:start;gap:.3rem;padding:0 0 1.75rem 2.25rem}.tl-node:last-child{padding-bottom:0}.tl-mark{position:absolute;top:calc(var(--y) - var(--dot)/2);left:0;z-index:1;width:var(--dot);height:var(--dot);border-radius:50%;background:var(--ink);box-shadow:0 0 0 4px var(--paper)}.tl-node:not(:last-child)::before{content:"";position:absolute;top:var(--y);bottom:calc(var(--y) * -1);left:calc(var(--dot)/2 - .5px);border-left:1px solid var(--rule)}.tl-label{font:1.375rem/1.15 var(--display);letter-spacing:-.01em}.tl-detail{color:var(--muted);font-size:.875rem;line-height:1.4;text-wrap:balance}.tl-label+.tl-detail{margin-top:.15rem}.tl-node:has(.tl-years){--y:.625rem}.tl-years{color:var(--muted);font-size:.8125rem;line-height:1.25rem;font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap}.cycle{display:grid;justify-items:center;gap:.9rem;margin:0}.cycle-caption,.cycle-caption[hidden]{display:block;color:var(--muted);font:italic 1.0625rem/1.4 var(--display)}.cycle-line{display:grid;gap:.75rem;margin:0}.cycle-item,.cycle-link{display:grid;gap:.1rem}.cycle-link{color:inherit;text-decoration:none}.cycle-link:hover{background:0 0;color:inherit}.cycle-link .cycle-name{text-decoration:underline 1px var(--rule-soft);text-underline-offset:.2em}.cycle-link:hover .cycle-name{text-decoration-color:initial;text-decoration-thickness:2px}.cycle-link:hover .cycle-detail{color:var(--ink)}.cycle-sep{display:none}.cycle-name{font-size:.9375rem;font-weight:600;line-height:1.3}.cycle-detail,.cycle-detail[hidden]{display:block;max-width:24ch;margin-inline:auto;color:var(--muted);font-size:.8125rem;line-height:1.4;text-wrap:balance}@media(min-width:48rem){.timeline,.timeline[hidden]{grid-template-columns:repeat(var(--n),minmax(0,1fr));width:100%;text-align:center}.tl-node{--y:6px;justify-items:center;padding:2.25rem .75rem 0}.tl-mark{left:50%;margin-left:calc(var(--dot)/-2)}.tl-node:not(:last-child)::before{bottom:auto;left:50%;right:-50%;border-top:1px solid var(--rule);border-left:0}.tl-label{font-size:clamp(1.5rem,1.1rem + .8vw,2rem)}.tl-node:has(.tl-years){--y:2rem;padding-top:3.75rem}.tl-years{position:absolute;top:0;left:50%;transform:translateX(-50%)}.cycle-ring{position:relative;width:7.75rem;aspect-ratio:1;margin:6.25rem 17rem 1.25rem}.cycle-loop,.cycle-loop[hidden]{position:absolute;inset:0;display:block}.cycle-loop svg{width:100%;height:100%;overflow:visible}.cycle-orbit{fill:none;stroke:var(--muted);stroke-width:1;vector-effect:non-scaling-stroke}.cycle-dart{fill:var(--muted)}.cycle-node{fill:var(--ink);stroke:var(--paper);stroke-width:2;vector-effect:non-scaling-stroke}.cycle-line{position:absolute;inset:0;display:block}.cycle-item{--gap:1.1rem;position:absolute;left:var(--x);top:var(--y);width:max-content;max-width:16rem}.cycle-item.is-top,.cycle-item.is-bottom{max-width:26rem;text-align:center}.cycle-item.is-top{transform:translate(-50%,calc(-100% - var(--gap)))}.cycle-item.is-bottom{transform:translate(-50%,var(--gap))}.cycle-item.is-right{text-align:left;transform:translate(var(--gap),-50%)}.cycle-item.is-left{text-align:right;transform:translate(calc(-100% - var(--gap)),-50%)}.cycle-name{font-size:1.1875rem}.cycle-detail,.cycle-detail[hidden]{max-width:none;margin:0;font-size:1.0625rem}.tl-node:not(:last-child)::before{transform-origin:left;animation:tl-draw .5s cubic-bezier(.45,0,.2,1)backwards;animation-delay:calc(.45s + var(--i) * .3s)}.tl-mark{animation:fade-in .4s ease backwards;animation-delay:calc(.35s + var(--i) * .3s)}.cycle-orbit{stroke-dasharray:1;animation:loop-draw 1.2s cubic-bezier(.45,0,.2,1)1.5s backwards}}@keyframes tl-draw{from{transform:scaleX(0)}}@keyframes loop-draw{from{stroke-dashoffset:1}}@keyframes fade-in{from{opacity:0}}.hero-actions{margin:.5rem 0 0}.prose [id]{scroll-margin-top:1.5rem}.cta{display:inline-block;padding:.9rem 1.75rem;border-radius:999px;background:var(--ink);color:var(--paper);font-size:.9375rem;font-weight:500;line-height:1;text-decoration:none;transition:background-color .25s ease,color .25s ease}.cta:hover{background:var(--highlight);color:var(--on-highlight)}.proof-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem clamp(1.5rem,4vw,3rem);margin:0 0 clamp(4rem,9vw,6.5rem);padding:0;list-style:none}.proof-points li{padding-top:1rem;border-top:1px solid var(--rule)}.proof-title{margin:0 0 .6rem}.proof-points p{margin:0;font:1.125rem/1.5 var(--display)}.proof-points .proof-note{margin-top:.75rem;color:var(--muted);font:.875rem/1.55 var(--sans)}.home-intro{margin-inline:auto}.contact{display:grid;gap:.35rem;padding-top:1.25rem;border-top:1px solid var(--rule-soft)}.contact p{margin:0}.contact[id]{scroll-margin-top:1.5rem}.contact-text{font:italic 1.1875rem/1.45 var(--display);text-wrap:balance}.contact-address{font-size:.9375rem}.contact-note{color:var(--muted);font-size:.8125rem}.feature{padding-top:1.25rem;border-top:1px solid var(--rule)}.feature+.feature{margin-top:clamp(3.5rem,8vw,6rem)}.feature>.entry-meta{margin-bottom:.85rem}.feature-title{margin:0 0 1.25rem;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:500;line-height:1.1}.feature-title a{text-decoration:none}.entries{--col-gap:clamp(1.5rem, 3vw, 2.5rem);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--col-gap)}.entries>p{grid-column:1/-1}.entry{position:relative;display:grid;align-content:start;gap:.55rem;padding:1.25rem 0 2rem;border-top:1px solid var(--rule-soft)}.entry:not(:first-child):not(:nth-child(3n+2))::before{content:"";position:absolute;top:1.25rem;bottom:2rem;left:calc(var(--col-gap)/-2);border-left:1px solid var(--rule-soft)}.entry:first-child{grid-column:1/-1;gap:1rem;padding:.25rem 0 2.5rem;border-top:0}.entry-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem;margin:0}.entry-meta time{color:var(--muted);font-weight:500}.entry:first-child .entry-tag,.page-head .entry-tag{padding:.2em .5em;background:var(--highlight);color:var(--on-highlight);text-decoration:none}.entry-thumb{display:block;width:10rem;max-width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;border-radius:3px}@media(min-width:52rem){.entry.has-thumb:first-child{grid-template-columns:minmax(0,1fr)10rem;column-gap:2rem}.entry.has-thumb:first-child>*{grid-column:1}.entry.has-thumb:first-child>.entry-thumb{grid-column:2;grid-row:1/span 4}}.entry-title{margin:0;font-size:1.5rem;font-weight:500;line-height:1.15}.entry:first-child .entry-title{max-width:24ch;font-size:clamp(2rem,3.8vw,3.25rem);font-weight:400;line-height:1.05;letter-spacing:-.02em}.entry-title a{color:inherit;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:.18em;transition:text-decoration-color .2s ease}.entry-title a:hover{background:0 0;color:inherit}.entry:hover .entry-title a,.entry-title a:focus-visible{text-decoration-color:initial}.entry-title a::after{content:"";position:absolute;inset:-.5rem -.75rem}.entry-title a:focus-visible{outline:none}.entry-title a:focus-visible::after{outline:2px solid var(--ink);outline-offset:0}.entry-more{margin-top:.15rem;color:var(--muted);font-size:.875rem;font-weight:600;line-height:1.4}.entry-arrow{display:inline-block;transition:transform .2s ease}.entry:hover .entry-more,.entry:has(a:focus-visible) .entry-more{color:var(--ink)}.entry:hover .entry-arrow,.entry:has(a:focus-visible) .entry-arrow{transform:translateX(.25rem)}.entry-summary{max-width:46ch;margin:0;color:var(--muted);font-size:.9375rem;line-height:1.6}.entry:first-child .entry-summary{color:var(--ink);font:clamp(1.125rem,1.6vw,1.3125rem)/1.5 var(--display)}.page{max-width:var(--reading);margin-inline:auto}.page-head{display:grid;gap:1.1rem;padding:clamp(2.5rem,7vw,5rem)0 clamp(1.75rem,3vw,2.5rem);border-bottom:1px solid var(--rule)}.page-head .entry-meta{margin-bottom:.25rem}.page-title{max-width:20ch;margin:0;font-size:clamp(2.25rem,5.6vw,4.4rem);line-height:1.02;letter-spacing:-.025em;text-wrap:balance}.page .page-title{font-size:clamp(2rem,4.5vw,3.4rem)}.dek{max-width:42ch;margin:0;color:var(--muted);font:italic clamp(1.25rem,2vw,1.625rem)/1.4 var(--display)}.dek p{margin:0}.intro{max-width:60ch;margin:0;font:1.1875rem/1.55 var(--display)}.intro p{margin:0}main>.entries{padding-top:1.5rem}.page-links{margin:1.5rem 0 0;font-weight:600}.prose{max-width:var(--reading);padding:clamp(2rem,5vw,3rem)0 clamp(3rem,7vw,5rem)}.prose>:first-child{margin-top:0}.prose h2{margin:2.75rem 0 .9rem;padding-top:.9rem;border-top:1px solid var(--rule-soft);font-size:clamp(1.625rem,2.6vw,2rem);font-weight:500;line-height:1.15}.prose>h2:first-child{padding-top:0;border-top:0}.prose h3{margin:2rem 0 .6rem;font-size:1.375rem;font-weight:500}.prose p,.prose ul,.prose ol{margin:0 0 1.15rem}.prose strong{font-weight:700}.prose ul{padding-left:1.1rem;list-style:none}.prose ul li{position:relative;margin-block:.5rem}.prose ul li::before{content:"–";position:absolute;left:-1.1rem;color:var(--muted)}.prose ol{padding-left:1.25rem}.prose a{text-decoration-color:var(--muted)}.prose code{padding:.1em .3em;background:var(--rule-soft);font-size:.85em}.prose pre{padding:1rem 1.25rem;font-size:.875rem}.prose pre code{padding:0;background:0 0;font-size:inherit}.prose img[src*=neurips-logo]{width:12rem;height:auto}.prose .credit{margin-top:-.6rem;color:var(--muted);font-size:.8125rem}.prose blockquote{margin:2rem 0;padding-left:1.25rem;border-left:2px solid var(--highlight);font:italic 1.25rem/1.5 var(--display)}.page-posts .prose>p:first-of-type::first-letter{float:left;margin:.1em .1em 0 0;font:4.1em/.8 var(--display)}@media(prefers-color-scheme:dark){.prose img[src*=pangramble-letter-frequency],.prose img[src*=pangramble-score-distribution],.entry-thumb[src*=pangramble-letter-frequency],.entry-thumb[src*=pangramble-score-distribution]{filter:brightness(.88)contrast(.95);border-radius:2px;outline:1px solid var(--rule-soft);outline-offset:-1px}}.case-study{display:grid;grid-template-columns:minmax(0,1fr);column-gap:2rem;margin:0;padding:0 0 1.5rem;border-bottom:1px solid var(--rule)}.case-study>div{padding-top:1.25rem;border-top:1px solid var(--rule-soft)}.case-study>div:first-child{border-top:0}.case-study dt{margin-bottom:.6rem}.case-study dd{margin:0;font:1.1875rem/1.5 var(--display)}@media(min-width:40rem){.case-study{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.5rem}.case-study>div:nth-child(2){border-top:0}}.site-footer{display:grid;justify-items:center;gap:1rem;text-align:center;margin:clamp(4rem,9vw,6rem)var(--frame)0;padding:1.5rem 0 2.5rem;border-top:3px double var(--rule)}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.75rem;margin:0;padding:0;color:var(--muted);font-size:.875rem;list-style:none}.footer-links li,.cta{white-space:nowrap}@media(max-width:52rem){.proof-points,.entries{grid-template-columns:minmax(0,1fr)}.entry:not(:first-child)::before{display:none}}@media(prefers-reduced-motion:reduce){.entry:hover .entry-arrow,.entry:has(a:focus-visible) .entry-arrow,.paper-more .entry-more:hover .entry-arrow,.paper-more .entry-more:focus-visible .entry-arrow{transform:none}*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.subsection{margin-top:clamp(2.5rem,6vw,4rem);padding-top:.9rem;border-top:1px solid var(--rule)}.page-head+.subsection{margin-top:0;border-top:0;padding-top:clamp(1.75rem,3vw,2.5rem)}.subsection-title{margin:0 0 1.25rem;font:500 clamp(1.5rem,2.6vw,1.875rem)/1.1 var(--display)}.subsection-title a{text-decoration:none}.link-row{display:flex;flex-wrap:wrap;justify-content:inherit;gap:.25rem 1.1rem;margin:.75rem 0 0;padding:0;list-style:none;font-size:.9375rem}.link-row a{display:inline-flex;align-items:center;gap:.4em;color:var(--muted)}.link-icon{flex:none;width:1.05em;height:1.05em}.site-footer .link-row{justify-content:center;margin:0}.link-row a:hover{color:inherit}.page .link-row{margin:.5rem 0 1.5rem}.banner{margin:0}.banner img{display:block;width:100%;height:auto;aspect-ratio:21/9;object-fit:cover;border-radius:2px}@media(max-width:40rem){.banner img{aspect-ratio:16/9}}.case-lede{margin:0 0 1.5rem;font:1.25rem/1.5 var(--display)}.case-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem clamp(1.5rem,4vw,3rem);margin:0 0 1.75rem;padding:0;list-style:none}.case-stats li{display:grid;align-content:start;gap:.4rem;padding-top:1rem;border-top:1px solid var(--rule-soft)}.case-figure{font:500 clamp(1.75rem,3.5vw,2.5rem)/1.1 var(--display)}.case-label{color:var(--muted);font-size:.9375rem;line-height:1.5}.case-note{margin:-.75rem 0 1.5rem;color:var(--muted);font-size:.875rem}.case-more{margin:0}.industry-highlights{margin:0 0 1.5rem;padding-left:1.25rem;font:1.1875rem/1.5 var(--display)}.industry-highlights li+li{margin-top:.5rem}.paper-title{margin:0 0 .5rem;font:500 1.25rem/1.35 var(--display)}.paper-title a{text-decoration:none}.paper-meta,.paper-text{margin:0 0 .5rem;max-width:var(--reading)}.paper-meta{color:var(--muted);font-size:.9375rem}.page .proof{margin-block:2rem;text-align:center}@media(max-width:52rem){.case-stats{grid-template-columns:minmax(0,1fr)}}.paper-more{margin:.5rem 0 0}.paper-more .entry-more{text-decoration:none}.paper-more .entry-more:hover,.paper-more .entry-more:focus-visible{color:var(--ink);background:0 0}.paper-more .entry-more:hover .entry-arrow,.paper-more .entry-more:focus-visible .entry-arrow{transform:translateX(3px)}