@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.0ekd.j2hc~_w0.woff2?dpl=dpl_J1jFYg3EQZmAhktn6Kh2SoQrJgWV)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.0rqws-.h91di~.woff2?dpl=dpl_J1jFYg3EQZmAhktn6Kh2SoQrJgWV)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.179.vsfvxa6t5.woff2?dpl=dpl_J1jFYg3EQZmAhktn6Kh2SoQrJgWV)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_1ac4a9cf-module__xi6YHG__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_1ac4a9cf-module__xi6YHG__variable{--font-display:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:body;src:url(../media/InterVariable-s.p.0r27kd5h06n72.woff2?dpl=dpl_J1jFYg3EQZmAhktn6Kh2SoQrJgWV)format("woff2");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:body Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}.body_31ec32fa-module__GLQ0SG__className{font-family:body,body Fallback}.body_31ec32fa-module__GLQ0SG__variable{--font-body:"body", "body Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.grow{flex-grow:1}.resize{resize:both}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}:root{--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;--measure:64ch;--gutter:clamp(1.25rem, 4vw, 3rem);--type-xs:.8125rem;--type-sm:.9375rem;--type-base:1.0625rem;--type-lg:1.1875rem;--type-xl:clamp(1.375rem, 1.1rem + 1vw, 1.6875rem);--type-2xl:clamp(1.75rem, 1.3rem + 1.7vw, 2.375rem);--type-3xl:clamp(1.75rem, .85rem + 3.4vw, 3.75rem);--bg:#090e12;--surface:#12171c;--rule:#242a30;--fg:#f0f2f4;--muted:#8a9096;--accent:#ff96ca;--accent-2:#80c5ff;--accent-soft:#ff96ca29;--accent-glow:#ff96ca1a;--selection:#ff96ca52;--surface-2:#1a2026;--elevate:0 1px 2px #0006, 0 10px 30px #0000004d;--glow:#ff96ca38;--duo-gradient:linear-gradient(118deg in oklch, #ff6dbc 12%, #2da6fa 88%);--ink:#010305;--paper:#f7f9fa;--motif:#f0f2f40f}@supports (color:lab(0% 0 0)){:root{--bg:lab(3.68668% -.634305 -2.8351);--surface:lab(7.20593% -1.11291 -4.49632);--rule:lab(16.4597% -1.36483 -4.91937);--fg:lab(95.3578% -.333756 -1.07459);--muted:lab(59.3885% -1.28219 -4.26915);--accent:lab(74.7874% 48.4752 -9.32158);--accent-2:lab(76.6325% -10.8745 -36.3921);--accent-soft:lab(74.7874% 48.4752 -9.32158/.16);--accent-glow:lab(74.7874% 48.4752 -9.32158/.1);--selection:lab(74.7874% 48.4752 -9.32158/.32);--surface-2:lab(11.8179% -1.32934 -4.90493);--elevate:0 1px 2px lab(0% 0 0/.4), 0 10px 30px lab(0% 0 0/.3);--glow:lab(74.7874% 48.4752 -9.32158/.22);--duo-gradient:linear-gradient(118deg in oklch, lab(67.0075% 66.9335 -12.9812) 12%, lab(64.7188% -10.8973 -52.0531) 88%);--ink:lab(.652151% -.15714 -.964674);--paper:lab(97.6778% -.333875 -1.07461);--motif:lab(95.3578% -.333756 -1.07459/.06)}}html{background:var(--bg);color:var(--fg);font-family:var(--font-body), -apple-system, BlinkMacSystemFont, system-ui, sans-serif;font-size:var(--type-base);font-feature-settings:"kern", "liga", "calt";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;line-height:1.65;overflow-x:clip}body{min-height:100dvh;overflow-x:clip}body:before{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(var(--motif) 1.4px, transparent 1.6px);background-position:50%;background-size:4.5rem 4.5rem;position:fixed;inset:0}.terrain-field{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}::selection{background:var(--selection);color:var(--fg)}a{color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){a{-webkit-text-decoration-color:color-mix(in oklch, var(--accent) 35%, transparent);-webkit-text-decoration-color:color-mix(in oklch, var(--accent) 35%, transparent);-webkit-text-decoration-color:color-mix(in oklch, var(--accent) 35%, transparent);text-decoration-color:color-mix(in oklch, var(--accent) 35%, transparent)}}a{text-underline-offset:.18em;text-decoration-thickness:.06em;transition:text-decoration-color .18s,color .18s}a:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.lede a,.headline-sub a,.article-body a,.project__body a,.consult-cta a,.work-intro a,.work-note a,.system__body a,.work-outcome a{color:var(--fg);border:1px solid var(--rule);vertical-align:baseline;border-radius:5px;padding:.18em .4em .22em;font-weight:500;line-height:1;text-decoration:none;display:inline-block;position:relative}.lede a:hover,.headline-sub a:hover,.article-body a:hover,.project__body a:hover,.consult-cta a:hover,.work-intro a:hover,.work-note a:hover,.system__body a:hover,.work-outcome a:hover{color:var(--fg);text-decoration:none}.lede a:after,.headline-sub a:after,.article-body a:after,.project__body a:after,.consult-cta a:after,.work-intro a:after,.work-note a:after,.system__body a:after,.work-outcome a:after{content:"";background:var(--duo-gradient);transform-origin:0;border-radius:1px;height:1.5px;transition:transform .22s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:.08em;left:.4em;right:.4em;transform:scaleX(0)}.lede a:hover:after,.headline-sub a:hover:after,.article-body a:hover:after,.project__body a:hover:after,.consult-cta a:hover:after,.work-intro a:hover:after,.work-note a:hover:after,.system__body a:hover:after,.work-outcome a:hover:after{transform:scaleX(1)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}h1,h2,h3,h4{font-family:var(--font-display), -apple-system, BlinkMacSystemFont, system-ui, sans-serif;letter-spacing:-.02em;color:var(--fg);font-weight:600;line-height:1.1}h1{font-size:var(--type-3xl);letter-spacing:-.035em;font-weight:700;line-height:1.05}h2{font-size:var(--type-2xl)}h3{font-size:var(--type-xl)}h4{font-size:var(--type-lg)}em{font-style:italic}strong{font-weight:600}hr{border:0;border-top:1px solid var(--rule)}img,video{max-width:100%;height:auto;display:block}code{font-family:var(--font-body), -apple-system, system-ui, sans-serif;background:var(--surface);border:1px solid var(--rule);color:var(--accent);border-radius:3px;padding:.1em .4em;font-size:.92em}pre{font-family:var(--font-body), -apple-system, system-ui, sans-serif;background:var(--surface);padding:var(--space-md);border:1px solid var(--rule);font-size:var(--type-sm);border-radius:4px;line-height:1.55;overflow-x:auto}pre code{color:inherit;background:0 0;border:0;padding:0}blockquote{color:var(--muted);padding-left:var(--space-md);border-left:2px solid var(--accent);margin:var(--space-md) 0}.shell{max-width:56rem;padding:0 var(--gutter);margin:0 auto}.measure{max-width:var(--measure)}.site-header-band{z-index:50;border-bottom:1px solid var(--rule);margin-bottom:var(--space-md);color:var(--fg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090e12;--surface:#12171c;--rule:#242a30;--fg:#f0f2f4;--muted:#8a9096;--accent:#ff96ca;--accent-2:#80c5ff;--accent-soft:#ff96ca29;--accent-glow:#ff96ca1a;--selection:#ff96ca52;--surface-2:#1a2026;--elevate:0 1px 2px #0006, 0 10px 30px #0000004d;--glow:#ff96ca38;--duo-gradient:linear-gradient(118deg in oklch, #ff6dbc 12%, #2da6fa 88%);--ink:#010305;--paper:#f7f9fa;--motif:#f0f2f40f;position:sticky;top:0}@supports (color:lab(0% 0 0)){.site-header-band{--bg:lab(3.68668% -.634305 -2.8351);--surface:lab(7.20593% -1.11291 -4.49632);--rule:lab(16.4597% -1.36483 -4.91937);--fg:lab(95.3578% -.333756 -1.07459);--muted:lab(59.3885% -1.28219 -4.26915);--accent:lab(74.7874% 48.4752 -9.32158);--accent-2:lab(76.6325% -10.8745 -36.3921);--accent-soft:lab(74.7874% 48.4752 -9.32158/.16);--accent-glow:lab(74.7874% 48.4752 -9.32158/.1);--selection:lab(74.7874% 48.4752 -9.32158/.32);--surface-2:lab(11.8179% -1.32934 -4.90493);--elevate:0 1px 2px lab(0% 0 0/.4), 0 10px 30px lab(0% 0 0/.3);--glow:lab(74.7874% 48.4752 -9.32158/.22);--duo-gradient:linear-gradient(118deg in oklch, lab(67.0075% 66.9335 -12.9812) 12%, lab(64.7188% -10.8973 -52.0531) 88%);--ink:lab(.652151% -.15714 -.964674);--paper:lab(97.6778% -.333875 -1.07461);--motif:lab(95.3578% -.333756 -1.07459/.06)}}.terrain-field--band{z-index:-1;position:absolute;inset:0}.site-header{padding:var(--space-sm) 0 var(--space-xs);justify-content:space-between;align-items:baseline;gap:var(--space-md);row-gap:var(--space-sm);flex-wrap:wrap;display:flex}.site-mark{font-family:var(--font-display);font-size:var(--type-lg);letter-spacing:-.02em;color:var(--fg);align-items:center;gap:.5rem;font-weight:600;text-decoration:none;display:inline-flex}.site-mark__logo{border-radius:50%;flex:none;width:1.75rem;height:1.75rem;display:block}.site-mark:hover{color:var(--fg);text-decoration:none}.site-nav{align-items:center;gap:var(--space-md);font-family:var(--font-body);font-size:var(--type-sm);letter-spacing:0;font-feature-settings:"tnum";row-gap:var(--space-2xs);flex-wrap:wrap;font-weight:500;display:flex}.site-nav a{color:var(--muted);padding-bottom:.1em;text-decoration:none;transition:color .18s;position:relative}.site-nav a:after{content:"";background:var(--duo-gradient);transform-origin:0;height:1px;transition:transform .22s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:-.1em;left:0;right:0;transform:scaleX(0)}.site-nav a:hover{color:var(--fg);text-decoration:none}.site-nav a:hover:after{transform:scaleX(1)}.site-footer-band{z-index:0;margin-top:var(--space-3xl);border-top:1px solid var(--rule);position:relative}.terrain-field--footer{z-index:-1;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.site-footer{padding:var(--space-3xl) 0 var(--space-3xl);font-size:var(--type-xs);color:var(--muted);justify-content:space-between;gap:var(--space-sm);text-transform:uppercase;letter-spacing:.14em;font-feature-settings:"tnum";flex-wrap:wrap;font-weight:500;display:flex}.theme-toggle{border:1px solid var(--rule);color:var(--muted);cursor:pointer;background:0 0;border-radius:2px;justify-content:center;align-items:center;padding:.45rem;transition:border-color .18s,color .18s,background .18s;display:inline-flex}.theme-toggle svg{display:block}.theme-toggle:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.eyebrow,.post-list__meta{font-family:var(--font-body);font-size:var(--type-xs);text-transform:uppercase;letter-spacing:.14em;font-feature-settings:"tnum";color:var(--muted);font-weight:500}.eyebrow{margin-bottom:var(--space-md);align-items:center;gap:.5rem;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);border-radius:1px;width:.35rem;height:.35rem;display:inline-block}.post-list{gap:var(--space-md);flex-direction:column;padding:0;list-style:none;display:flex}.post-list--standalone{margin-top:var(--space-xl)}.project-list{margin-top:var(--space-xl);gap:var(--space-md);flex-direction:column;display:flex}.post-list .post-essay{font-family:var(--font-display);font-size:var(--type-lg);letter-spacing:-.015em;font-weight:600}.post-list .post-note{font-size:var(--type-base);font-style:italic;font-weight:400}.post-list .post-list__title{color:var(--fg);background-image:var(--duo-gradient);-webkit-box-decoration-break:clone;box-decoration-break:clone;background-position:0 100%;background-repeat:no-repeat;background-size:0% 1.5px;padding-bottom:.12em;text-decoration:none;transition:background-size .22s cubic-bezier(.2,.7,.2,1);display:inline}.post-list .post-list__title:hover{background-size:100% 1.5px;text-decoration:none}.post-list .post-list__meta{margin-top:.2rem;display:block}.post-list li{position:relative}.post-list .post-list__title:after{content:"";position:absolute;inset:0}.post-list--cards li{padding:var(--space-sm) var(--space-md);border:1px solid var(--rule);border-radius:6px;position:relative;overflow:hidden}.article-body{max-width:var(--measure);font-size:var(--type-lg);margin-top:var(--space-xl);line-height:1.7}.article-body>*+*{margin-top:var(--space-md)}.article-body>h2{margin-top:var(--space-xl)}.article-body>h3{margin-top:var(--space-lg)}.article-body>h2+*,.article-body>h3+*{margin-top:var(--space-sm)}.article-body img{margin-top:var(--space-lg);margin-bottom:var(--space-2xs);border-radius:2px}.article-body ul,.project__body ul{padding-left:1.4em;list-style:outside}.article-body ol,.project__body ol{padding-left:1.4em;list-style:decimal}.article-body li::marker{color:var(--muted)}.project__body li::marker{color:var(--muted)}.article-body li+li,.project__body li+li{margin-top:var(--space-2xs)}.consult-cta{margin-top:var(--space-2xl);padding-top:var(--space-md);border-top:1px solid var(--rule);max-width:var(--measure);font-size:var(--type-base);color:var(--muted);position:relative}.consult-cta:before{content:"";background:var(--accent);width:3rem;height:1px;position:absolute;top:-1px;left:0}.consult-cta a{font-weight:600}.project{gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--rule);border-radius:6px;flex-direction:column;display:flex;position:relative;overflow:hidden}.project__title{font-family:var(--font-display);font-size:var(--type-xl);letter-spacing:-.015em;font-weight:600}.project__title a{color:var(--fg);background-image:var(--duo-gradient);-webkit-box-decoration-break:clone;box-decoration-break:clone;background-position:0 100%;background-repeat:no-repeat;background-size:0% 1.5px;padding-bottom:.12em;text-decoration:none;transition:background-size .22s cubic-bezier(.2,.7,.2,1)}.project__title a:hover{background-size:100% 1.5px;text-decoration:none}.project__title a:after{content:"";position:absolute;inset:0}.project__body{max-width:var(--measure)}.project__body>*+*{margin-top:var(--space-sm)}.media-list{margin:var(--space-xl) 0 0;gap:var(--space-md);flex-direction:column;padding:0;list-style:none;display:flex}.media-card{border:1px solid var(--rule);background:var(--surface);border-radius:6px;flex-direction:column;display:flex}@supports (color:color-mix(in lab, red, red)){.media-card{background:color-mix(in oklch, var(--surface) 55%, transparent)}}.media-card{overflow:hidden}.media-card__embed{aspect-ratio:16/9;background:var(--ink);border-bottom:1px solid var(--rule);width:100%}.media-card__embed iframe{border:0;width:100%;height:100%;display:block}.media-card__text{gap:var(--space-2xs);padding:var(--space-lg);flex-direction:column;display:flex}.media-card__title{font-family:var(--font-display);font-size:var(--type-lg);letter-spacing:-.015em;color:var(--fg);font-weight:600}.media-card__blurb{font-size:var(--type-base);color:var(--muted);max-width:var(--measure);line-height:1.6}.work-section{margin-top:var(--space-3xl);max-width:var(--measure)}.work-section h2{margin:0 0 var(--space-md)}.work-outcome{margin-top:var(--space-md);max-width:var(--measure);font-family:var(--font-body);font-size:var(--type-lg);color:var(--muted);font-weight:400;line-height:1.5}.pull-quote{margin:var(--space-3xl) 0;padding-left:var(--space-lg);max-width:40rem;position:relative}.pull-quote:before{content:"";background:var(--duo-gradient);border-radius:2px;width:3px;position:absolute;top:.12em;bottom:.12em;left:0}.pull-quote p{font-family:var(--font-display);letter-spacing:-.025em;color:var(--fg);margin:0;font-size:clamp(1.5rem,.9rem + 2.5vw,3rem);font-weight:600;line-height:1.15}.check-list,.cross-list{max-width:var(--measure);gap:var(--space-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.check-list li,.cross-list li{font-size:var(--type-lg);color:var(--fg);padding-left:1.6rem;line-height:1.55;position:relative}.check-list li:before{content:"✓";color:var(--accent);font-size:1.05em;font-weight:700;line-height:1.55;position:absolute;top:.05em;left:0}.cross-list li:before{content:"✕";color:var(--muted);font-size:1em;font-weight:600;line-height:1.55;position:absolute;top:.05em;left:0}.check-list li strong{letter-spacing:-.015em;margin-bottom:.2em;font-size:1.15em;font-weight:600;display:block}.check-list em,.cross-list em{background:var(--duo-gradient);color:#0000;-webkit-text-fill-color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-background-clip:text;background-clip:text;font-style:normal;font-weight:500}.reveal[data-state=pending] .check-list li,.reveal[data-state=pending] .cross-list li{opacity:0;transform:translateY(6px)}.reveal[data-state=visible] .check-list li,.reveal[data-state=visible] .cross-list li{will-change:opacity, transform;animation:.48s cubic-bezier(.2,.7,.2,1) forwards bullet-rise}.reveal[data-state=visible] .check-list li:first-child,.reveal[data-state=visible] .cross-list li:first-child{animation-delay:0s}.reveal[data-state=visible] .check-list li:nth-child(2),.reveal[data-state=visible] .cross-list li:nth-child(2){animation-delay:75ms}.reveal[data-state=visible] .check-list li:nth-child(3),.reveal[data-state=visible] .cross-list li:nth-child(3){animation-delay:.15s}.reveal[data-state=visible] .check-list li:nth-child(4),.reveal[data-state=visible] .cross-list li:nth-child(4){animation-delay:.225s}.reveal[data-state=visible] .check-list li:nth-child(5),.reveal[data-state=visible] .cross-list li:nth-child(5){animation-delay:.3s}.reveal[data-state=visible] .check-list li:nth-child(6),.reveal[data-state=visible] .cross-list li:nth-child(6){animation-delay:.375s}.reveal[data-state=visible] .check-list li:nth-child(7),.reveal[data-state=visible] .cross-list li:nth-child(7){animation-delay:.45s}.reveal[data-state=pending] .contrast{opacity:0;transform:translateY(6px)}.reveal[data-state=visible] .contrast{will-change:opacity, transform;animation:.48s cubic-bezier(.2,.7,.2,1) forwards bullet-rise}.reveal[data-state=visible] .contrast:first-child{animation-delay:0s}.reveal[data-state=visible] .contrast:nth-child(2){animation-delay:.11s}.reveal[data-state=visible] .contrast:nth-child(3){animation-delay:.22s}@media (min-width:56rem){.reveal[data-state=visible] .contrast:first-child,.reveal[data-state=visible] .contrast:nth-child(2),.reveal[data-state=visible] .contrast:nth-child(3){animation-delay:0s}}@keyframes bullet-rise{to{opacity:1;transform:translateY(0)}}.work-note{margin-top:var(--space-lg);font-family:var(--font-body);font-size:var(--type-base);color:var(--muted);max-width:var(--measure);font-style:italic}.work-intro{margin:var(--space-md) 0 var(--space-lg);max-width:var(--measure);font-size:var(--type-lg);color:var(--fg);line-height:1.6}.work-intro+.work-intro{margin-top:calc(var(--space-md) * -.25)}.system-list{margin-top:var(--space-lg);max-width:var(--measure);gap:var(--space-lg);flex-direction:column;display:flex}.system{padding-top:var(--space-lg);border-top:1px solid var(--rule)}.system:first-child{border-top:0;padding-top:0}.system__title{font-family:var(--font-display);font-size:var(--type-xl);letter-spacing:-.02em;color:var(--fg);margin:0;font-weight:600;line-height:1.2}.system__body{margin:var(--space-sm) 0 0;font-size:var(--type-base);color:var(--muted);line-height:1.65}.pull-quote--sm p{font-size:clamp(1.25rem,.95rem + 1.2vw,1.75rem);line-height:1.3}.fit-compare{margin:var(--space-lg) 0;max-width:var(--measure);gap:var(--space-md);grid-template-columns:1fr 1fr;align-items:start;display:grid}@media (max-width:40rem){.fit-compare{grid-template-columns:1fr}}.fit-side{gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--rule);background:var(--surface);border-radius:5px;flex-direction:column;display:flex}@supports (color:color-mix(in lab, red, red)){.fit-side{background:color-mix(in oklch, var(--surface) 50%, transparent)}}.fit-side--good{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.fit-side--good{border-color:color-mix(in oklch, var(--accent) 35%, var(--rule))}}.fit-side--good{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.fit-side--good{background:color-mix(in oklch, var(--accent) 6%, var(--surface))}}.fit-side__label{font-family:var(--font-body);font-size:var(--type-xs);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:500}.fit-side__label--good{background:var(--duo-gradient);color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:600}.fit-svg{width:100%;height:auto;display:block}.fit-svg__outline{fill:none;stroke:var(--muted);stroke-width:2px;stroke-dasharray:6 4}.fit-svg__generic{fill:var(--muted)}@supports (color:color-mix(in lab, red, red)){.fit-svg__generic{fill:color-mix(in oklch, var(--muted) 28%, transparent)}}.fit-svg__generic{stroke:var(--muted);stroke-width:1.5px}.fit-svg__fit{fill:var(--accent)}@supports (color:color-mix(in lab, red, red)){.fit-svg__fit{fill:color-mix(in oklch, var(--accent) 24%, transparent)}}.fit-svg__fit{stroke:url(#fit-stroke-grad);stroke-width:2px}.fit-svg__flag{fill:var(--muted);font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:600}.fit-points{gap:var(--space-2xs);font-size:var(--type-sm);color:var(--muted);flex-direction:column;margin:0;padding:0;line-height:1.5;list-style:none;display:flex}.work-close__sub{margin-top:var(--space-md);font-size:var(--type-sm);color:var(--muted)}.terms{margin:var(--space-lg) 0 0;max-width:var(--measure);gap:var(--space-md);flex-direction:column;display:flex}.terms__row{gap:var(--space-2xs);padding-top:var(--space-md);border-top:1px solid var(--rule);grid-template-columns:1fr;display:grid}.terms__row:first-child{border-top:0;padding-top:0}.terms__row dt{font-family:var(--font-body);font-size:var(--type-xs);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-feature-settings:"tnum";font-weight:500}.terms__row dd{font-family:var(--font-display);font-size:var(--type-lg);letter-spacing:-.01em;color:var(--fg);margin:0;font-weight:500;line-height:1.4}@media (min-width:48rem){.terms__row{gap:var(--space-lg);grid-template-columns:14rem 1fr;align-items:baseline}}.value-stack{margin:var(--space-lg) 0 0;max-width:var(--measure);padding:var(--space-lg);border:1px solid var(--rule);background:var(--surface);border-radius:6px;flex-direction:column;display:flex}@supports (color:color-mix(in lab, red, red)){.value-stack{background:color-mix(in oklch, var(--surface) 45%, transparent)}}.value-stack{box-shadow:var(--elevate)}.value-stack__row{gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:1px solid var(--rule);grid-template-columns:1fr auto;align-items:baseline;display:grid}.value-stack__row:last-child{border-bottom:0}.value-stack__row dt{font-family:var(--font-body);font-size:var(--type-base);color:var(--fg)}@supports (color:color-mix(in lab, red, red)){.value-stack__row dt{color:color-mix(in oklch, var(--fg) 88%, var(--muted))}}.value-stack__row dt{margin:0}.value-stack__row dd{font-family:var(--font-display);font-size:var(--type-base);letter-spacing:-.005em;color:var(--muted);font-feature-settings:"tnum";text-align:right;margin:0;font-weight:500}.value-stack__row--total{margin-top:var(--space-sm);padding-top:var(--space-md);border-top:2px solid var(--rule);border-bottom:0}.value-stack__row--total dt{font-family:var(--font-display);font-size:var(--type-lg);letter-spacing:-.015em;color:var(--fg);font-weight:600}.value-stack__row--total dd{font-size:var(--type-lg);color:var(--fg);font-weight:600}.value-stack__row--price{padding-top:var(--space-xs);border-top:0;border-bottom:0}.value-stack__row--price dt{font-family:var(--font-display);font-size:var(--type-lg);letter-spacing:-.015em;color:var(--accent);font-weight:600}.value-stack__row--price dd{font-size:var(--type-2xl);letter-spacing:-.02em;color:var(--accent);text-shadow:0 0 28px var(--glow);font-weight:700;line-height:1}@media (max-width:40rem){.value-stack__row--price{gap:var(--space-2xs);grid-template-columns:1fr}}.work-close{margin-top:var(--space-3xl);padding-top:var(--space-2xl);border-top:1px solid var(--rule);max-width:var(--measure);gap:var(--space-sm);flex-direction:column;display:flex;position:relative}.work-close:before{content:"";background:var(--accent);width:4rem;height:1px;position:absolute;top:-1px;left:0}.work-close__line{font-family:var(--font-display);font-size:var(--type-xl);letter-spacing:-.015em;color:var(--fg);margin:0;font-weight:500;line-height:1.3}.work-close__line:nth-child(2){color:var(--muted)}.work-close__cta{--cta-px:1.4rem;--cta-underline-bottom:.45rem;margin-top:var(--space-md);padding:.85rem var(--cta-px);color:var(--paper);font-family:var(--font-body);font-size:var(--type-base);background:0 0;border-radius:2px;align-self:flex-start;align-items:center;gap:.5em;font-weight:600;text-decoration:none;transition:transform .18s,box-shadow .22s;display:inline-flex;position:relative}.work-close__cta:before{content:"";border-radius:inherit;background:var(--duo-gradient);-webkit-mask-composite:xor;pointer-events:none;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;padding:1.5px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.work-close__cta:after{content:"";left:var(--cta-px);right:var(--cta-px);bottom:var(--cta-underline-bottom);background:var(--duo-gradient);transform-origin:0;border-radius:1px;height:1.5px;transition:transform .22s cubic-bezier(.2,.7,.2,1);position:absolute;transform:scaleX(0)}.work-close__cta:hover{color:var(--paper);box-shadow:0 4px 24px var(--accent-soft);text-decoration:none;transform:translateY(-1px)}.work-close__cta:hover:after{transform:scaleX(1)}.contrast-bleed{width:100vw;padding:var(--space-lg) var(--gutter) 0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.contrast-grid{gap:var(--space-xl);grid-template-columns:1fr;max-width:84rem;margin:0 auto;display:grid}@media (min-width:56rem){.contrast-grid{gap:var(--space-lg);grid-template-columns:repeat(3,minmax(0,1fr))}}.contrast,.value-stack__row>*,.terms__row>*{min-width:0}.contrast{gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--rule);background:var(--surface);border-radius:5px;flex-direction:column;display:flex}@supports (color:color-mix(in lab, red, red)){.contrast{background:color-mix(in oklch, var(--surface) 50%, transparent)}}.contrast{transition:transform .22s cubic-bezier(.2,.7,.2,1),border-color .22s,box-shadow .24s;position:relative;overflow:hidden}.contrast:before{content:"";background:var(--duo-gradient);transform-origin:top;width:2px;transition:transform .26s cubic-bezier(.2,.7,.2,1);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.contrast:hover{border-color:var(--accent);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.contrast:hover{border-color:color-mix(in oklch, var(--accent) 35%, var(--rule))}}.contrast:hover{box-shadow:var(--elevate)}.contrast:hover:before{transform:scaleY(1)}.contrast__label{font-family:var(--font-display);font-size:var(--type-lg);letter-spacing:-.015em;color:var(--fg);font-weight:600}.contrast__body{font-size:var(--type-base);color:var(--muted);margin:0;line-height:1.65}.logo-marquee--bleed{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.logo-marquee{gap:var(--space-md);margin-top:var(--space-md);flex-direction:column;width:100%;display:flex}.logo-marquee__row{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.logo-marquee__track{will-change:transform;width:max-content;display:flex}.logo-marquee__row--left .logo-marquee__track{animation:70s linear infinite logo-marquee-left}.logo-marquee__row--right .logo-marquee__track{animation:95s linear infinite logo-marquee-right}.logo-marquee__cell{flex:none;justify-content:center;align-items:center;height:7rem;margin-right:5rem;display:flex}.logo-marquee__cell img,.logo-marquee__cell .logo--inverse{object-fit:contain;opacity:1;filter:brightness(0)invert();width:auto;max-width:340px;height:auto;max-height:5rem;transition:opacity .22s}.logo-marquee__cell:hover img{opacity:.7}@keyframes logo-marquee-left{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes logo-marquee-right{0%{transform:translate(-50%)}to{transform:translate(0)}}.accent-heading{font-family:var(--font-display);letter-spacing:-.035em;color:var(--fg);text-wrap:balance;max-width:18ch;font-size:clamp(1.9rem,.4rem + 6.5vw,5.25rem);font-weight:700;line-height:1.02}.accent-heading--fit{max-width:none;font-size:clamp(1.9rem,.4rem + 6.5vw,4.5rem)}.accent-heading__accent{background:var(--duo-gradient);color:#0000;-webkit-text-fill-color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-background-clip:text;background-clip:text}.headline-sub{margin-top:var(--space-sm);max-width:var(--measure);font-family:var(--font-body);font-size:var(--type-xl);color:var(--fg);font-weight:400;line-height:1.4}@supports (color:color-mix(in lab, red, red)){.headline-sub{color:color-mix(in oklch, var(--fg) 85%, var(--muted))}}.lede{max-width:var(--measure);font-size:var(--type-lg);margin-top:var(--space-lg);color:var(--fg);line-height:1.7}@supports (color:color-mix(in lab, red, red)){.lede{color:color-mix(in oklch, var(--fg) 88%, var(--muted))}}.lede>*+*{margin-top:var(--space-md)}.lede em{background:var(--duo-gradient);color:#0000;-webkit-text-fill-color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-background-clip:text;background-clip:text;font-style:normal;font-weight:500}.page{padding:var(--space-md) 0 var(--space-3xl)}.page>*+*{margin-top:var(--space-2xl)}.reveal{opacity:1;transform:none}.reveal[data-state=pending]{opacity:0;transform:translateY(8px)}.reveal[data-state=visible]{opacity:1;will-change:opacity, transform;transition:opacity .52s cubic-bezier(.2,.7,.2,1),transform .52s cubic-bezier(.2,.7,.2,1);transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (hover:none){.site-nav a{padding-block:.6rem}.theme-toggle{padding:.85rem}.site-footer a{padding-block:.7rem;display:inline-block}}.site-nav a:active,.site-footer a:active,.post-list__title:active,.project__title a:active{color:var(--accent);opacity:.7}.site-footer__cta{--cta-px:.9rem;--cta-underline-bottom:.26rem;padding:.5rem var(--cta-px);font-size:var(--type-sm);margin-top:0}.theme-toggle:active,.work-close__cta:active,.consult-cta a:active{opacity:.85;transform:translateY(1px)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}.reveal{opacity:1;transform:none}.logo-marquee__track{animation:none}.check-list li,.cross-list li,.contrast{opacity:1!important;animation:none!important;transform:none!important}}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
