@font-face{font-family:HACKED;src:url(/fonts/hacked.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:HACKED;src:url(/fonts/hack-bold.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+2192}@font-face{font-family:Hack;src:url(/fonts/hack-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Hack;src:url(/fonts/hack-bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@property --spread{syntax:"<number>";inherits:false;initial-value:0}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--o1-void:#07050a;--o1-plum:#2b0f3f;--o1-violet:#8b5cf6;--o1-orchid:#d97cff;--o1-blush:#ffe3f6;--o1-paper:#f4ecf8;--ink:#0f0a14;--ink-2:#171020;--line:#2a1f33;--muted:#a99bb6;--dim:#6f6080;--bg:var(--o1-void);--text:var(--o1-blush);--text-2:var(--muted);--liquid:var(--o1-orchid);--idle:var(--o1-violet);--hairline:var(--o1-plum);--border:var(--line);--surface:var(--ink-2);--cell-on:var(--o1-blush);--on-light:var(--o1-void);--veil:#07050ad1;--nav-ground:#07050ad9;--o1-u:.01ex;--o1-radius:calc(12 * var(--o1-u));--o1-wall:max(1px, calc(10 * var(--o1-u)));--o1-wall-foot:max(1px, calc(16 * var(--o1-u)));--o1-split:max(1px, calc(6 * var(--o1-u)));--o1-split-icon:max(1px, calc(8 * var(--o1-u)));--o1-stroke-idle:max(1px, calc(5 * var(--o1-u)));--o1-cell-h:calc(160 * var(--o1-u));--o1-cell-w:calc(100 * var(--o1-u));--o1-rule:max(1px, calc(19 * var(--o1-u)));--o1-rule-offset:calc(32.5 * var(--o1-u));--o1-rule-end:round;--hair:1px;--focus-w:2px;--focus-offset:3px;--o1-ease-enter:cubic-bezier(.16, 1, .3, 1);--o1-ease-pop:cubic-bezier(.333, 1.3, .667, 1);--o1-ease-spread:cubic-bezier(.25, .15, .7, .86);--o1-ease-retract:cubic-bezier(.55, 0, .45, 1);--o1-ease-drain:cubic-bezier(.32, 0, .67, 0);--o1-ease-drip:cubic-bezier(.333, 0, .667, .333);--o1-ease-fall:cubic-bezier(.1, 0, .46, .08);--o1-ease-catch:cubic-bezier(.61, 1, .88, 1);--o1-dur-catch:67ms;--o1-dur-flap:.267s;--o1-dur-flap-hero:.28s;--o1-dur-click:90ms;--o1-dur-hover:.45s;--o1-dur-hover-card:.195s;--o1-dur-pop:.3s;--o1-dur-open:.36s;--o1-dur-spread:.4s;--o1-dur-read:.64s;--o1-click-shade:.12;--dur-fade:var(--o1-dur-hover-card);--dur-route-out:.22s;--dur-route-in:var(--o1-dur-open);--dur-reveal:var(--o1-dur-open);--dur-resolve:var(--o1-dur-spread);--dur-develop:var(--o1-dur-read);--dur-scene:.72s;--dur-boot:.6s;--font-display:"HACKED", "Hack", ui-monospace, monospace;--font-mono:"Hack", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--t-xxl:clamp(4rem, 1.2rem + 12vw, 13rem);--lh-xxl:.85;--t-d1:clamp(3rem, 1.6rem + 6vw, 8rem);--lh-d1:.9;--t-d2:clamp(2.25rem, 1.5rem + 3vw, 4.5rem);--lh-d2:.95;--t-d3:clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);--lh-d3:1.1;--t-lead:clamp(1.125rem, 1rem + .5vw, 1.375rem);--lh-lead:1.55;--t-body:1rem;--lh-body:1.75rem;--t-small:.875rem;--lh-small:1.5rem;--t-micro:.75rem;--lh-micro:1rem;--track-display:0;--track-d3:.01em;--track-lead:-.005em;--track-small:.01em;--track-nav:.02em;--track-micro:.06em;--measure:64ch;--measure-lead:48ch;--measure-caption:40ch;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--s-11:192px;--s-12:256px;--space-section:clamp(6rem, 4rem + 6vw, 10rem);--space-block:var(--s-7);--cols:4;--gutter:16px;--margin:16px;--container:100rem;--nav-h:56px;--z-poster:0;--z-canvas:1;--z-grain:2;--z-content:3;--z-nav:10;--z-toast:15;--z-skip:20}@media (width>=30rem){:root{--margin:24px}}@media (width>=48rem){:root{--cols:8;--gutter:20px;--margin:32px;--nav-h:64px}}@media (width>=64rem){:root{--cols:12;--gutter:24px;--margin:48px;--space-block:var(--s-8)}}@media (width>=90rem){:root{--gutter:32px;--margin:64px}}@media (prefers-reduced-motion:reduce){:root{--o1-dur-catch:0s;--o1-dur-flap:0s;--o1-dur-flap-hero:0s;--o1-dur-click:0s;--o1-dur-hover:0s;--o1-dur-hover-card:0s;--o1-dur-pop:0s;--o1-dur-open:0s;--o1-dur-spread:0s;--o1-dur-read:0s;--dur-route-out:0s;--dur-scene:0s;--dur-boot:0s}}html.motion-off{--o1-dur-catch:0s;--o1-dur-flap:0s;--o1-dur-flap-hero:0s;--o1-dur-click:0s;--o1-dur-hover:0s;--o1-dur-hover-card:0s;--o1-dur-pop:0s;--o1-dur-open:0s;--o1-dur-spread:0s;--o1-dur-read:0s;--dur-route-out:0s;--dur-scene:0s;--dur-boot:0s}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-mono);text-rendering:optimizelegibility;font-synthesis:none;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-padding-top:calc(var(--nav-h) + var(--s-6));font-size:100%}@media (prefers-reduced-motion:no-preference){html:not(.motion-off){scroll-behavior:smooth}}body{background:var(--bg);color:var(--text);font-size:var(--t-body);line-height:var(--lh-body);margin:0;overflow-x:clip}main,footer{z-index:var(--z-content);position:relative}h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote,pre{margin:0}img,video{max-width:100%;height:auto;display:block}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}[hidden]{display:none!important}::selection{background:var(--o1-orchid);color:var(--o1-void)}p{text-wrap:pretty;max-inline-size:var(--measure)}.t-xxl,.t-d1,.t-d2,.t-d3{font-family:var(--font-display);letter-spacing:var(--track-display);text-wrap:balance;font-weight:400}.t-xxl{font-size:var(--t-xxl);line-height:var(--lh-xxl)}.t-d1{font-size:var(--t-d1);line-height:var(--lh-d1)}.t-d2{font-size:var(--t-d2);line-height:var(--lh-d2)}.t-d3{font-size:var(--t-d3);line-height:var(--lh-d3);letter-spacing:var(--track-d3)}.t-lead{font-size:var(--t-lead);line-height:var(--lh-lead);letter-spacing:var(--track-lead);max-inline-size:var(--measure-lead)}.t-body{font-size:var(--t-body);line-height:var(--lh-body)}.t-small{font-size:var(--t-small);line-height:var(--lh-small);letter-spacing:var(--track-small)}.t-micro{font-size:var(--t-micro);line-height:var(--lh-micro);letter-spacing:var(--track-micro);font-weight:700}.muted{color:var(--text-2)}.t-name{font-family:var(--font-mono);letter-spacing:0;font-weight:700}.t-name:is(.t-xxl,.t-d1,.t-d2){font-size:var(--t-d3);line-height:var(--lh-d3)}:focus-visible{outline:var(--focus-w) solid var(--o1-orchid);outline-offset:var(--focus-offset);border-radius:var(--o1-radius)}:focus:not(:focus-visible),:is([data-route-h1],.section h2[tabindex="-1"]):focus{outline:none}.skip-link{left:var(--s-4);top:var(--s-4);z-index:var(--z-skip);position:fixed;transform:translateY(-200%)}.skip-link:focus-visible{background:var(--o1-blush);color:var(--o1-void);padding:var(--s-3) var(--s-4);transform:none}@media (forced-colors:active){:focus-visible{outline-color:highlight}}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.grain{z-index:var(--z-grain);pointer-events:none;opacity:.06;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}@media (width>=64rem){:where(html:not(.gl-live) [data-quiet]){background:var(--veil);box-shadow:0 0 var(--s-5) var(--s-5) var(--veil)}}html.js:not(.motion-off) [data-reveal]:not(.is-in){opacity:0;transform:translateY(24px)}[data-reveal]{transition:opacity var(--dur-reveal) var(--o1-ease-enter), transform var(--dur-reveal) var(--o1-ease-enter)}@media (prefers-reduced-motion:reduce){html.js [data-reveal]:not(.is-in){opacity:1;transform:none}}@media (forced-colors:active){.grain,.poster,.stage{display:none}}@media print{:root{--bg:#fff;--text:#000;--text-2:#000}.stage,.poster,.grain,.nav,.world-layer,.skip-link,.progress-rule{display:none!important}.hero-logo svg path{fill:#07050a!important}.block-pink,figure[data-ground=void],video{display:none!important}[data-quiet]{box-shadow:none!important;background:0 0!important}}.grid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gutter);width:min(100% - 2 * var(--margin), var(--container));margin-inline:auto;display:grid}.grid>.grid{grid-column:1/-1;grid-template-columns:subgrid;width:auto}.c-wide,.c-doc,.c-rail,.c-text,.c-inset,.c-half-l,.c-half-r{grid-column:1/-1}.c-bleed{grid-column:1/-1;margin-inline:calc(50% - 50vw)}.c-window{display:none}@media (width>=48rem){.c-rail{grid-column:1/span 2}.c-text{grid-column:3/span 6}}@media (width>=64rem){.c-doc,.c-rail,.c-text{grid-column:1/span 7}.c-window{grid-column:8/span 5;display:block}.c-inset{grid-column:3/span 10}.c-half-l{grid-column:1/span 6}.c-half-r{grid-column:7/span 6}}@media (width>=90rem){.c-rail{grid-column:1/span 2}.c-text{grid-column:3/span 5}}.world-layer{inset:var(--nav-h) 0 0;pointer-events:none;z-index:var(--z-canvas);position:fixed}@media (width>=64rem){.world-layer .c-window{height:100%}}.world-band{display:block}.h-48svh{height:48svh}.h-56svh{height:56svh}@media (width>=64rem){.world-band{display:none}}.section-doc{grid-column:1/-1;grid-template-columns:subgrid;row-gap:var(--s-5);align-content:start;display:grid}@media (width>=64rem){.section-doc{grid-column:1/span 7}}.flap-cell{inline-size:1ch;block-size:var(--o1-cell-h);border-radius:var(--o1-radius);vertical-align:-.2em;line-height:1;font-family:var(--font-mono);color:var(--text);box-shadow:inset 0 0 0 var(--o1-stroke-idle) var(--cell-on);transition:background-color var(--dur-fade) var(--o1-ease-enter), color var(--dur-fade) var(--o1-ease-enter);place-items:center;font-weight:400;display:inline-grid;position:relative}.flap-cell[data-active]{background:var(--cell-on);color:var(--o1-void)}.flap-cell .f-layer{border-radius:inherit;background:inherit;place-items:center;display:grid;position:absolute;inset:0}.flap-cell .f-new-top,.flap-cell .f-old-top{clip-path:inset(0 0 calc(50% + var(--o1-split) / 2) 0)}.flap-cell .f-new-bottom,.flap-cell .f-old-bottom{clip-path:inset(calc(50% + var(--o1-split) / 2) 0 0 0)}.flap-cell.is-flapping>.f-base{visibility:hidden}@keyframes flap-fall{0%{transform:scaleY(1)}8.31%{transform:scaleY(.999)}16.63%{transform:scaleY(.9889)}24.94%{transform:scaleY(.9564)}33.26%{transform:scaleY(.8854)}41.57%{transform:scaleY(.7606)}49.89%{transform:scaleY(.5709)}58.2%{transform:scaleY(.3136)}66.52%,to{transform:scaleY(0)}}@keyframes flap-unfold{0%,66.52%{transform:scaleY(0)}70.7%{transform:scaleY(.1709)}74.89%{transform:scaleY(.3435)}79.07%{transform:scaleY(.5114)}83.26%{transform:scaleY(.6668)}87.44%{transform:scaleY(.8016)}91.63%{transform:scaleY(.9073)}95.81%{transform:scaleY(.9758)}to{transform:scaleY(1)}}@keyframes flap-shade{0%,to{filter:brightness()}66.52%{filter:brightness(.7)}}@keyframes flap-click{0%,to{filter:brightness()}50%{filter:brightness(.88)}}.flap-cell .f-old-top{transform-origin:50%;animation:flap-fall var(--o1-dur-flap) linear both, flap-shade var(--o1-dur-flap) linear both}.flap-cell .f-new-bottom{transform-origin:50%;animation:flap-unfold var(--o1-dur-flap) linear both, flap-click var(--o1-dur-click) ease-in-out var(--o1-dur-flap)}@media (prefers-reduced-motion:reduce){.flap-cell .f-layer{display:none}.flap-cell.is-flapping>.f-base{visibility:visible}}html.motion-off .flap-cell .f-layer{display:none}html.motion-off .flap-cell.is-flapping>.f-base{visibility:visible}@media (forced-colors:active){.flap-cell[data-active]{forced-color-adjust:none;color:canvas;background:canvastext}}.secnum{white-space:nowrap}.secnum-zero{font-family:var(--font-mono);color:var(--text-2);margin-inline-end:.12em;font-size:.875em;font-weight:400}.rule{color:inherit;--x:var(--px,50%);text-decoration:none;position:relative}.rule:focus-visible:not(:hover){--x:50%}.rule:after{content:"";left:0;right:0;bottom:calc(-1 * var(--o1-rule-offset));height:var(--o1-rule);background:var(--o1-orchid);clip-path:inset(0 calc((1 - var(--spread)) * (100% - var(--x))) 0 calc((1 - var(--spread)) * var(--x)) round calc(var(--o1-rule) / 2));transition:--spread var(--o1-dur-spread) var(--o1-ease-retract);position:absolute}.rule:is(:hover,:focus-visible,[aria-current=page]):after{--spread:1;transition-timing-function:var(--o1-ease-spread)}@media (forced-colors:active){.rule:after{background:linktext}}.rule-inline{-webkit-text-decoration:underline 1px var(--text-2);text-decoration:underline 1px var(--text-2);text-underline-offset:.3em}.rule-inline:is(:hover,:focus-visible){text-decoration-color:#0000}.btn{min-block-size:44px;padding:0 var(--s-5);border-radius:var(--o1-radius);font:700 var(--t-small)/1 var(--font-mono);letter-spacing:var(--track-nav);cursor:pointer;transition:background-color var(--dur-fade) var(--o1-ease-enter), box-shadow var(--dur-fade) var(--o1-ease-enter), filter var(--o1-dur-click);border:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn-primary{background:var(--o1-blush);color:var(--o1-void)}.btn-primary:is(:hover,:focus-visible){background:var(--o1-orchid)}.btn-secondary{color:var(--text);box-shadow:inset 0 0 0 1px var(--border);background:0 0}.btn-secondary:is(:hover,:focus-visible){box-shadow:inset 0 0 0 1px var(--o1-orchid)}.btn:active{filter:brightness(.88)}@media (forced-colors:active){.btn{border:1px solid buttonborder}}.motion-toggle{cursor:pointer;background:0 0;border:0;min-block-size:44px;padding:0;text-decoration:none}.dot{background:var(--liquid);block-size:6px;inline-size:6px;vertical-align:.1em;border-radius:50%;margin-inline-end:var(--s-2);display:inline-block}.row{border-top:1px solid var(--hairline);min-block-size:72px}.row:is(:hover,:focus-within) .secnum .flap-cell{background:var(--cell-on);color:var(--o1-void)}.row:is(:hover,:focus-within) .rule:after{--spread:1;transition-timing-function:var(--o1-ease-spread)}.tile{padding:var(--s-5);border-radius:var(--o1-radius);box-shadow:inset 0 0 0 1px var(--border);transition:box-shadow var(--dur-fade) var(--o1-ease-enter), filter var(--o1-dur-click);text-decoration:none;display:block}.tile:is(:hover,:focus-visible){box-shadow:inset 0 0 0 1px var(--o1-orchid)}.tile:active{filter:brightness(.88)}.cover{border-radius:var(--o1-radius);text-decoration:none;display:block;overflow:hidden}.ph-tag{align-items:center;gap:var(--s-2);color:var(--text-2);white-space:nowrap;display:inline-flex}.ph-banner{align-items:baseline;gap:var(--s-3);padding:var(--s-4);border-radius:var(--o1-radius);box-shadow:inset 0 0 0 1px var(--border);display:flex}.pic{border-radius:var(--o1-radius);display:block;overflow:hidden}.pic img{object-fit:cover;object-position:50% 50%;block-size:auto;inline-size:100%}.ar-16x9{aspect-ratio:16/9}.ar-3x2{aspect-ratio:3/2}.ar-2x3{aspect-ratio:2/3}.ar-4x5{aspect-ratio:4/5}.pic:is(.ar-16x9,.ar-3x2,.ar-2x3,.ar-4x5) img{block-size:100%}.pic img[data-gl=on]{opacity:0}.pic-pending{place-content:center;justify-items:center;gap:var(--s-2);border-radius:var(--o1-radius);min-block-size:12rem;box-shadow:inset 0 0 0 1px var(--border);color:var(--text-2);display:grid}.pic-pending[class*=ar-]{min-block-size:0}.plate-fig{row-gap:var(--s-6);align-content:start;display:grid}.plate-fig .pic{outline:1px solid var(--border);outline-offset:-1px}.poster{z-index:var(--z-poster);pointer-events:none;position:fixed;inset:0}.poster img{object-fit:cover;object-position:72% 50%;block-size:100%;inline-size:100%}.poster:after{content:"";background:var(--veil);position:absolute;inset:0}@media (width>=64rem){.poster:after{background:linear-gradient(90deg, var(--veil) 0 58%, #07050a59)}}.page-header{padding-top:calc(var(--nav-h) + var(--s-9))}.page-kicker{color:var(--text-2);margin-block-end:var(--s-5)}.page-lede{margin-block-start:var(--s-6)}.section{padding-block:var(--space-section)}.section-rail{align-items:baseline;gap:var(--s-3);display:flex}.section-rail .t-micro{color:var(--text-2)}.meta-grid{gap:var(--s-5) var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.meta-grid dt{color:var(--text-2)}.meta-grid dd{margin:var(--s-1) 0 0}@media (width>=64rem){.meta-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.cta-band{padding-block:var(--space-section)}.cta-copy{inline-size:fit-content}.cta-lede{color:var(--text-2)}.cta-link{margin-block:var(--s-5) var(--s-6);max-inline-size:none}.cta-link>.rule{margin-block-end:calc(var(--o1-rule-offset) + var(--o1-rule));display:inline-block}.progress-rule{top:var(--nav-h);height:var(--o1-rule);z-index:var(--z-nav);pointer-events:none;background:var(--o1-orchid);animation:progress-creep 2.25s var(--o1-ease-spread) .15s both;position:fixed;left:0;right:0}@keyframes progress-creep{0%{clip-path:inset(0 calc(100% - var(--cell-x,50%)) 0 var(--cell-x,50%) round 9px)}11.1%{clip-path:inset(0 calc(100% - var(--cell-x,50%) - 3px) 0 calc(var(--cell-x,50%) - 3px) round 9px)}to{clip-path:inset(0 20% 0 0 round 9px)}}@keyframes progress-static{0%,to{clip-path:inset(0 round 9px)}}@media (prefers-reduced-motion:reduce){.progress-rule{clip-path:inset(0 50%);animation:1ms .15s both progress-static}}html.motion-off .progress-rule{clip-path:inset(0 50%);animation:1ms .15s both progress-static}#main:has(>.progress-rule){min-block-size:100lvh}#main:has(>.progress-rule)+.footer{display:none}.nav{top:0;height:var(--nav-h);z-index:var(--z-nav);grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gutter);padding-inline:max(var(--margin), (100% - var(--container)) / 2);transition:transform var(--o1-dur-flap) var(--o1-ease-enter);align-items:center;display:grid;position:fixed;inset-inline:0}.nav.is-scrolled,html:not(.js) .nav{background:var(--nav-ground);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--hairline)}.nav.is-hidden:not(:focus-within){transition-timing-function:var(--o1-ease-retract);transform:translateY(-100%)}@media (prefers-reduced-transparency:reduce){.nav.is-scrolled,html:not(.js) .nav{background:var(--o1-void);-webkit-backdrop-filter:none;backdrop-filter:none}}.nav-logo{grid-column:1/span 2;justify-self:start;height:44px;padding-block:2px}.nav>nav,.nav-status{display:none}.nav-menu{grid-column:-3/-1;justify-self:end}@media (width>=64rem){.nav>nav{grid-column:4/span 7;justify-self:end;margin-inline-end:var(--s-3);display:block}.nav-status{white-space:nowrap;grid-column:11/span 2;justify-self:end;align-items:baseline;max-inline-size:none;display:flex}.nav-menu{display:none}}.nav-links{gap:var(--s-5);margin:0;padding:0;list-style:none;display:flex}.nav-links li{align-items:baseline;display:flex}.nav-links .rule{font-size:var(--t-small);line-height:var(--lh-small);letter-spacing:var(--track-nav)}.nav-links .rule:before{content:"";position:absolute;inset:-10px -6px}.nav-idx{color:var(--text-2);font-size:var(--t-micro);letter-spacing:var(--track-micro);margin-inline-start:2px;font-weight:700}.o1-nav-logo.is-flap .o1-top{animation:o1-top var(--o1-dur-hover) linear}.o1-nav-logo.is-flap .o1-win-l{animation:o1-win-l var(--o1-dur-hover) linear}.o1-nav-logo.is-flap .o1-card-l{animation:o1-card-l var(--o1-dur-hover) linear}.o1-nav-logo.is-flap .o1-card-1{animation:o1-card-1 var(--o1-dur-hover) linear}.o1-nav-logo.is-flap .o1-win-1{animation:o1-win-1 var(--o1-dur-hover) linear}html.motion-off .o1-nav-logo .o1-anim{animation:none!important}.hero-logo{--logo-w:min(88vw, 26rem, var(--margin) * 671 / 50);inline-size:var(--logo-w);margin-block:calc(var(--logo-w) * 50 / 671)}.hero-logo svg{block-size:auto;inline-size:100%;display:block;overflow:visible}html.intro-seen .hero-logo *,html.motion-off .hero-logo *{animation:none!important}@media (forced-colors:active){.o1-logo path,.hero-logo svg path{fill:canvastext}}.nav[data-yield] .o1-nav-logo{visibility:hidden}html.pink-clear .nav[data-yield] .o1-nav-logo{visibility:visible}html.pink-yield .o1-nav-logo{visibility:hidden}.footer{background:var(--bg);border-top:1px solid var(--hairline);padding-block:var(--space-section) var(--s-7)}.footer-cta{row-gap:var(--s-5);align-items:end;margin-block-end:var(--s-9)}@media (width>=64rem){.footer-email{grid-column:9/span 4;justify-self:end}}.footer-cols{gap:var(--s-7) var(--gutter);display:grid}@media (width>=48rem){.footer-cols{grid-template-columns:repeat(3,minmax(0,1fr))}}.footer-cols h2{color:var(--text-2);margin-block-end:var(--s-3)}.footer-cols ul{margin:0;padding:0;list-style:none}.footer-cols li+li{margin-block-start:var(--s-1)}.footer-base{align-items:center;gap:var(--s-2) var(--s-6);flex-wrap:wrap;margin-block-start:var(--s-9);display:flex}.menu{block-size:100%;max-block-size:none;inline-size:100%;max-inline-size:none;padding:calc(var(--nav-h) + var(--s-6)) var(--margin) var(--s-7);background:var(--o1-void);color:var(--text);justify-content:space-between;gap:var(--s-7);border:0;flex-direction:column;margin:0}.menu[open]{animation:menu-in var(--o1-dur-open) var(--o1-ease-enter);display:flex}.menu::backdrop{background:0 0}.menu-close{top:calc((var(--nav-h) - 44px) / 2);position:absolute;inset-inline-end:var(--margin)}html:has(dialog.menu[open]){overflow:hidden}@keyframes menu-in{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}.menu-links{gap:var(--s-5);margin:0;padding:0;list-style:none;display:grid}.menu[open] .menu-links li{animation:menu-link-in var(--o1-dur-open) var(--o1-ease-enter) both}.menu-links .d2{animation-delay:var(--o1-dur-catch)}.menu-links .d3{animation-delay:calc(2 * var(--o1-dur-catch))}.menu-links .d4{animation-delay:calc(3 * var(--o1-dur-catch))}@keyframes menu-link-in{0%{opacity:0;transform:translateY(16px)}}.menu-links .secnum{font-size:var(--t-d3)}.menu-foot{align-items:center;gap:var(--s-3) var(--s-6);flex-wrap:wrap;display:flex}@media (prefers-reduced-motion:reduce){.menu[open],.menu[open] .menu-links li{animation:none}}html.motion-off .menu[open],html.motion-off .menu[open] .menu-links li{animation:none}.stage{z-index:var(--z-canvas);pointer-events:none;position:fixed;inset:0}.stage canvas{opacity:0}.stage canvas.is-live{opacity:1}.hero{gap:var(--s-8);min-block-size:clamp(640px,100svh,1080px);flex-direction:column;padding-block-start:calc(var(--nav-h) + var(--s-9));display:flex}@media (width>=64rem){.hero-logo{--logo-w:clamp(17.5rem, 40vw, 30rem)}}@media (width>=90rem){.hero-logo{--logo-w:clamp(17.5rem, 34vw, 36rem)}}.hero-statement{margin-block-end:var(--s-5)}.hero-actions{gap:var(--s-3);flex-wrap:wrap;margin-block-start:var(--s-6);display:flex}.hero-band-sm,.hero-band-md{margin-block-start:var(--s-6)}@media (width<48rem){.hero-band-md{display:none}}@media (width>=48rem){.hero-band-sm{display:none}}.page-band>.world-band{margin-block:var(--s-6)}.hero-meta{margin-block-start:auto;padding:0;list-style:none}.hero-meta li{border-top:1px solid var(--hairline);grid-column:1/-1}.hero-cell{align-items:baseline;gap:var(--s-1) var(--s-3);padding-block:var(--s-5);grid-template-columns:auto 1fr;text-decoration:none;display:grid}.hero-cell>.rule{grid-column:2;justify-self:start}@media (width>=64rem){.hero-meta{--row:min(100% - 2 * var(--margin), var(--container));width:calc((var(--row) + var(--gutter)) * 7 / 12 - var(--gutter));margin-inline:calc((100% - var(--row)) / 2) 0}.hero-cell{padding-block:var(--s-2);grid-template-columns:auto auto 1fr}.hero-cell>.t-micro{min-inline-size:12ch}.hero-cell>.rule{grid-column:3}}.hero-cell:is(:hover,:focus-visible) .flap-cell{background:var(--cell-on);color:var(--o1-void)}.hero-cell:is(:hover,:focus-visible) .rule:after{--spread:1;transition-timing-function:var(--o1-ease-spread)}.gallery{row-gap:var(--space-block);margin-block-start:var(--space-block)}.feature{row-gap:var(--s-5)}.feature-cover,.feature-cap{grid-column:1/-1}.feature-cover{text-decoration:none}.cover-paper{background:var(--o1-paper);place-items:center;padding-inline:18%;display:grid}.feature-cover .pic{outline:1px solid var(--border);outline-offset:-1px}@media (forced-colors:active){.cover-paper{forced-color-adjust:none}}.feature-cap{padding:var(--s-2);margin:calc(-1 * var(--s-2));overflow:clip}.feature-cap h3{margin-block:var(--s-3)}.feature-cap .t-small{margin-block:var(--s-1) var(--s-3)}.feature-cap .rule{z-index:1}.feature-cap .rule:before{content:"";position:absolute;inset:-100vmax}.feature-cap:is(:hover,:focus-within) .secnum .flap-cell{background:var(--cell-on);color:var(--o1-void)}@media (width>=48rem){.feature-cap{grid-column:1/span 6}}@media (width>=64rem){.feature-2>*{grid-row:1}.feature-2 .feature-cap{align-self:end}.feature-1 .feature-cover{grid-column:1/span 7}.feature-2 .feature-cover{grid-column:6/span 7;margin-block-start:var(--s-9)}.feature-2 .feature-cap{grid-column:1/span 4}.feature-3 .feature-cover{grid-column:2/span 6}.feature-1 .feature-cap{grid-column:1/span 4}.feature-3 .feature-cap{grid-column:2/span 4}}.gallery-all,.home-practice+.home-practice{margin-block-start:var(--space-block)}.home-practice h3{margin-block-end:var(--s-3)}.home-practice .tags{gap:var(--s-1) var(--s-4);margin-block:var(--s-4);flex-wrap:wrap;padding:0;list-style:none;display:flex}.home-cta .cta-band{padding-block:var(--s-5) 0}.work-count{margin-block-start:var(--s-4)}.work-index{padding-block:var(--s-8) var(--space-section)}.work-filter{gap:var(--s-3);flex-wrap:wrap;margin-block-end:var(--s-6);display:flex}.work-filter .btn{gap:var(--s-2)}html.js .work-filter[hidden]{visibility:hidden;display:flex!important}.work-list{border-bottom:1px solid var(--hairline);transition:opacity var(--dur-fade) var(--o1-ease-enter);margin:0;padding:0;list-style:none}.work-list.is-filtering{opacity:0}.work-link{align-items:center;gap:var(--s-3) var(--s-4);min-block-size:72px;padding-block:var(--s-4);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"cover cover cover""no title year"".disc disc";text-decoration:none;display:grid}.work-cover{grid-area:cover}.work-no{font-size:var(--t-lead);grid-area:no}.work-title{align-items:baseline;gap:var(--s-1) var(--s-4);font:inherit;flex-wrap:wrap;grid-area:title;display:flex}.work-disc{column-gap:var(--s-3);flex-wrap:wrap;grid-area:disc;display:flex}.work-year{grid-area:year;justify-self:end}@media (width>=64rem){.work-link{column-gap:var(--gutter);padding-block:var(--s-3);grid-template-columns:repeat(7,minmax(0,1fr));grid-template-areas:"no title title title title disc year"}.work-link .work-cover{display:none}.work-disc{white-space:nowrap;flex-direction:column}.work-page>.page-header{grid-row:1}.work-page>.page-band{grid-row:2}.work-page>.work-index{grid-row:3}.work-page>.work-note{grid-row:4}.work-page>.work-next{grid-row:5}.work-window{contain:size;padding-block:calc(var(--nav-h) + var(--s-9)) var(--space-section);grid-row:1/span 5}}.work-aside{gap:var(--s-5);block-size:calc(100svh - 96px - var(--s-6));flex-direction:column;max-block-size:100%;display:flex;position:sticky;top:96px}.work-table{flex:1}.work-stage{display:grid}.work-stage>*{grid-area:1/1}.stage-layer.is-new{animation:stage-in var(--dur-fade) var(--o1-ease-enter) both}.work-stage .pic{outline:1px solid var(--border);outline-offset:-1px}@keyframes stage-in{0%{opacity:0}}.logo-cover{border-radius:var(--o1-radius);background:var(--o1-paper);place-items:center;padding:12%;display:grid}.logo-cover img{block-size:auto;inline-size:100%}@media (forced-colors:active){.logo-cover{forced-color-adjust:none}}.work-link .logo-cover{padding-inline:20%}.work-note{padding-block-end:var(--s-9)}.work-next{padding-block-end:var(--space-section)}.work-next p{max-inline-size:none}.work-next p+p{margin-block-start:var(--s-5)}.case-head .page-header{min-block-size:70svh;padding-block-end:var(--s-8)}.case-meta{margin-block-start:var(--s-7)}.case-visit,.case-head .ph-banner{margin-block-start:var(--s-6)}.case-plate .pic:not(:has(img[data-gl=on])){outline:1px solid var(--border);outline-offset:-1px}.case-section{row-gap:var(--space-block)}.case-text{gap:var(--s-4);display:grid}.case-note{border-inline-start:2px solid var(--hairline);padding-inline-start:var(--s-3)}.case-figure{row-gap:var(--s-3)}.case-media img{border-radius:var(--o1-radius)}.case-pair-l,.case-pair-r{grid-column:1/-1}@media (width>=48rem){.case-pair-l{grid-column:1/span 4}.case-pair-r{grid-column:5/span 4}}@media (width>=64rem){.case-pair-l{grid-column:1/span 6}.case-pair-r{grid-column:7/span 6}}.block-pink{align-items:center;min-block-size:calc(100lvh + 50svh);display:grid}.block-pink[data-measured]{min-block-size:0;margin-block-start:max(0px, 100lvh + 2px - var(--pink-gap))}.block-pink figure{justify-items:center;gap:var(--s-3);max-block-size:50svh;display:grid}.block-pink :is(.case-media,video){justify-self:stretch}.block-pink :is(img,video){object-fit:contain;block-size:auto;max-block-size:calc(50svh - 4.5rem);inline-size:100%}.block-pink figcaption{max-inline-size:var(--measure-caption);text-align:center}.case-logo{padding:var(--s-6);border-radius:var(--o1-radius)}.case-logo.is-void{background:var(--o1-void)}.case-logo.is-paper{background:var(--o1-paper)}.case-logo img{block-size:auto;inline-size:100%}@media (forced-colors:active){.case-logo{forced-color-adjust:none}}.case-video,.case-code{justify-items:start;gap:var(--s-3);display:grid}.case-code pre{inline-size:100%;padding:var(--s-4);border-radius:var(--o1-radius);background:var(--surface);overflow-x:auto}.compare-stack{display:grid}.compare-stack>*{grid-area:1/1}.compare-after{clip-path:inset(0 0 0 var(--split,50%))}.case-compare input{inline-size:100%;accent-color:var(--o1-orchid);margin-block-start:var(--s-3);display:block}.case-quote{gap:var(--s-3);display:grid}.case-quote p{max-inline-size:none}.case-pager{border-top:1px solid var(--hairline);padding-block:var(--s-9) var(--space-section)}.pager-count{margin-block-end:var(--s-7)}.pager-label{color:var(--text-2);margin-block-end:var(--s-3)}.pager-next{max-inline-size:none;margin-block-end:var(--s-6)}.ruled{margin:0;padding:0;list-style:none}.ruled>li{row-gap:var(--s-3);padding-block:var(--s-5);align-content:start;display:grid}.ruled>li:last-child{border-bottom:1px solid var(--hairline)}.ledger{border-collapse:collapse;inline-size:100%}.ledger :is(th,td){padding:var(--s-4) var(--s-4) var(--s-4) 0;text-align:start;vertical-align:baseline;border-top:1px solid var(--hairline)}.ledger thead th{border-top:0;padding-block-start:0}.ledger tbody tr:last-child>*{border-bottom:1px solid var(--hairline)}.engagements td:last-child{white-space:nowrap}.practice-side{row-gap:var(--s-7)}.practice-pic{grid-column:1/-1}@media (width>=64rem){.practice-pic{grid-column:1/span 4}}.practice-pic .pic{aspect-ratio:4/3}#development .practice-pic img{object-position:50% 100%}.practice-body{row-gap:var(--s-6);align-content:start;display:grid}.deliverables{gap:var(--s-1) var(--s-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.deliverables li:not(:last-child):after{content:"·" / "";color:var(--text-2);margin-inline-start:var(--s-3)}.merge-track{height:200svh}.merge-stage{height:100svh;padding-block-start:var(--nav-h);display:grid;position:sticky;top:0}.merge-stage>.grid{row-gap:var(--s-6);grid-template-rows:auto 1fr;padding-block-start:var(--s-6)}.merge-lines{row-gap:var(--s-6);justify-items:start;display:grid}.merge-window{grid-column:1/-1}@media (width>=64rem){.merge-stage>.grid{grid-template-rows:1fr;padding-block-start:0}.merge-lines{grid-row:1;align-self:center}.merge-window{grid-area:1/8/auto/span 5}}.merge-line{transition:opacity var(--dur-reveal) var(--o1-ease-enter), transform var(--dur-reveal) var(--o1-ease-enter)}html.js.gl-live .merge-line:not(.is-set){opacity:0;transform:translateY(16px)}.steps,.step{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.step{align-items:baseline}.step-body{row-gap:var(--s-3);display:grid}.about-intro{row-gap:var(--s-7);padding-block-start:var(--space-block)}.portrait{grid-column:1/-1}.about-bio{row-gap:var(--s-4);align-content:start;display:grid}@media (width>=64rem){.portrait{grid-column:1/span 4}}@media (width>=90rem){.portrait{grid-column:1/span 3}.about-bio{grid-area:1/4/auto/span 4}}.toolkit{gap:var(--s-1) var(--s-4);flex-wrap:wrap;margin:0;display:flex}.toolkit dt{flex-basis:100%}.toolkit dd{margin:0}@media (width>=90rem){.toolkit{grid-column:1/span 3}.toolkit+.toolkit{grid-column:4/span 4}}.see-also{gap:var(--s-3) var(--s-6);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.contact-email-row{align-items:center;gap:var(--s-4) var(--s-5);flex-wrap:wrap;margin-block-start:var(--s-6);display:flex}.contact-email{font-family:var(--font-mono);font-weight:700;font-size:min(var(--t-d2), 9vw);overflow-wrap:anywhere;line-height:1.2}.copy{align-items:center;gap:var(--s-3);display:inline-flex}html.js .copy>.btn[hidden]{visibility:hidden;display:inline-flex!important}.copy-chip{z-index:var(--z-toast);padding:var(--s-1) var(--s-2);border-radius:var(--o1-radius);background:var(--o1-blush);color:var(--o1-void);animation:chip-pop var(--o1-dur-pop) var(--o1-ease-pop), chip-out var(--dur-fade) var(--o1-ease-enter) 1.6s forwards;position:relative}@keyframes chip-pop{0%{opacity:0;transform:scale(.9)}}@keyframes chip-out{to{opacity:0}}.contact-tiles{gap:var(--s-4);margin:0;padding:0;list-style:none;display:grid}.contact-tiles .tile{justify-items:start;gap:var(--s-3);display:grid}.contact-tiles .tile:is(:hover,:focus-visible) .rule:after{--spread:1;transition-timing-function:var(--o1-ease-spread)}.tile-go{color:var(--text-2)}.contact-elsewhere{margin:0;padding:0;list-style:none}.contact-elsewhere li+li{margin-block-start:var(--s-1)}.colo-flow>*+*{margin-block-start:var(--s-4)}.colo-list{padding:0;list-style:none}.colo-list li+li{margin-block-start:var(--s-1)}.colo-list code,.colo-csp{font-family:var(--font-mono)}.colo-type .t-d1,.colo-type .t-lead{margin-block:var(--s-2) var(--s-6)}.colo-swatches{gap:var(--s-6) var(--s-4);grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));margin:0;padding:0;list-style:none;display:grid}.swatch,.swatch-link{align-content:start;justify-items:start;gap:var(--s-1);display:grid}.swatch-link{gap:var(--s-2);text-decoration:none}.swatch-link:is(:hover,:focus-visible) .rule:after{--spread:1;transition-timing-function:var(--o1-ease-spread)}.swatch-chip{aspect-ratio:16/10;border-radius:var(--o1-radius);box-shadow:inset 0 0 0 1px var(--border);forced-color-adjust:none;justify-self:stretch;margin-block-end:var(--s-2);display:block}.sw-void{background:var(--o1-void)}.sw-plum{background:var(--o1-plum)}.sw-violet{background:var(--o1-violet)}.sw-orchid{background:var(--o1-orchid)}.sw-blush{background:var(--o1-blush)}.sw-paper{background:var(--o1-paper)}.sw-hollow{box-shadow:inset 0 0 0 var(--o1-stroke-idle) var(--cell-on)}.colo-fig{margin-block-start:var(--s-6);position:relative}.colo-layers{margin:var(--s-4) 0 0;padding-inline-start:1.5em}.colo-fig>figcaption{inline-size:fit-content}.colo-gen{margin-block-start:var(--s-3)}@media (width>=48rem){.colo-layers{margin:0;padding:0;list-style:none}.colo-layers li{text-align:end;position:absolute;right:50.5%;translate:0 -50%}.colo-layers li:after{content:"";inline-size:var(--s-6);block-size:1px;vertical-align:middle;background:var(--text-2);margin-inline-start:var(--s-3);display:inline-block}.layer-4{top:17%}.layer-3{top:35.5%}.layer-2{top:55.5%}.layer-1{top:71%}}.colo-steps{margin-block-start:var(--s-7)}.colo-steps ol{gap:var(--s-4);margin:0;padding-inline-start:1.5em;display:grid}.colo-steps li::marker{color:var(--text-2)}.colo-stack{margin:0}.colo-stack div{gap:var(--s-4);grid-template-columns:9rem minmax(0,1fr);display:grid}.colo-stack div+div{margin-block-start:var(--s-1)}.colo-stack dd{overflow-wrap:anywhere;margin:0}.colo-budgets{border-collapse:collapse;inline-size:100%}.colo-budgets :is(th,td){padding:var(--s-2) var(--s-3) var(--s-2) 0;border-top:1px solid var(--hairline);text-align:start;vertical-align:top}.colo-budgets thead th{color:var(--text-2);border-top:0}.colo-budgets tbody th{font-weight:400}.colo-csp{padding:var(--s-4) var(--s-5);border-radius:var(--o1-radius);background:var(--surface);white-space:pre-wrap;overflow-wrap:anywhere}.colo-settings fieldset{margin:0 0 var(--s-4);border:0;padding:0}.colo-settings legend{color:var(--text-2);padding:0}.colo-settings label{align-items:center;gap:var(--s-2);min-block-size:44px;cursor:pointer;margin-inline-end:var(--s-6);display:inline-flex}.colo-settings input{accent-color:var(--o1-orchid);margin:0}.notfound{padding-block-end:var(--space-section)}.nf-sub{margin-block-start:var(--s-6)}.nf-term{padding:var(--s-4) var(--s-5);border-radius:var(--o1-radius);background:var(--surface);white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--font-mono);margin-block-start:var(--s-7)}.nf-mean{margin-block-start:var(--s-6)}.nf-mean ul,.nf-links{margin:0;padding:0;list-style:none}.nf-mean ul{margin-block-start:var(--s-2)}.nf-mean li+li{margin-block-start:var(--s-1)}.nf-links{gap:var(--s-2) var(--s-6);flex-wrap:wrap;margin-block-start:var(--s-6);display:flex}.nf-line{margin-block-start:var(--s-6)}
