*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Geist,ui-sans-serif,system-ui,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:JetBrains Mono,ui-monospace,Consolas,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-bottom-56{bottom:-14rem}.-left-3\/4{left:-75%}.-left-48{left:-12rem}.-top-36{top:-9rem}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.right-\[-140px\]{right:-140px}.top-1{top:.25rem}.top-48{top:12rem}.top-\[0\.42rem\]{top:.42rem}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-2\.5{margin-bottom:.625rem}.mb-20{margin-bottom:5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-\[60px\]{margin-bottom:60px}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-3\.5{margin-top:.875rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.aspect-\[16\/10\]{aspect-ratio:16/10}.h-2{height:.5rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-7{height:1.75rem}.h-9{height:2.25rem}.h-\[560px\]{height:560px}.h-full{height:100%}.h-px{height:1px}.w-16{width:4rem}.w-2{width:.5rem}.w-2\/3{width:66.6667%}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-7{width:1.75rem}.w-\[560px\]{width:560px}.w-full{width:100%}.min-w-0{min-width:0}.max-w-6xl{max-width:72rem}.max-w-\[1216px\]{max-width:1216px}.max-w-\[1280px\]{max-width:1280px}.max-w-\[680px\]{max-width:680px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-7{--tw-translate-x:1.75rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-skew-x-12{--tw-skew-x:-12deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scroll-mt-24{scroll-margin-top:6rem}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1\.4fr_1fr\]{grid-template-columns:1.4fr 1fr}.grid-cols-\[200px_1fr\]{grid-template-columns:200px 1fr}.grid-cols-\[repeat\(auto-fit\,minmax\(320px\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-\[18px\]{gap:18px}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-\[1\.5px\]{border-bottom-width:1.5px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-accent{--tw-border-opacity:1;border-color:rgb(var(--accent) / var(--tw-border-opacity,1))}.border-black\/10{border-color:#0000001a}.border-black\/5{border-color:#0000000d}.border-current{border-color:currentColor}.border-line{--tw-border-opacity:1;border-color:rgb(var(--line) / var(--tw-border-opacity,1))}.border-line-soft{--tw-border-opacity:1;border-color:rgb(var(--line-soft) / var(--tw-border-opacity,1))}.bg-paper{--tw-bg-opacity:1;background-color:rgb(var(--paper) / var(--tw-bg-opacity,1))}.bg-paper-2{--tw-bg-opacity:1;background-color:rgb(var(--paper-2) / var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/60{background-color:#fff9}.bg-white\/70{background-color:#ffffffb3}.bg-white\/80{background-color:#fffc}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right, var(--tw-gradient-stops))}.from-black\/15{--tw-gradient-from:#00000026 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-300{--tw-gradient-from:#67e8f9 var(--tw-gradient-from-position);--tw-gradient-to:#67e8f900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-300{--tw-gradient-from:#6ee7b7 var(--tw-gradient-from-position);--tw-gradient-to:#6ee7b700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-sky-400{--tw-gradient-from:#38bdf8 var(--tw-gradient-from-position);--tw-gradient-to:#38bdf800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-sky-500{--tw-gradient-from:#0ea5e9 var(--tw-gradient-from-position);--tw-gradient-to:#0ea5e900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-sky-500\/10{--tw-gradient-from:#0ea5e91a var(--tw-gradient-from-position);--tw-gradient-to:#0ea5e900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.via-fuchsia-400{--tw-gradient-to:#e879f900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #e879f9 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-fuchsia-500{--tw-gradient-to:#d946ef00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #d946ef var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-fuchsia-500\/10{--tw-gradient-to:#d946ef00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #d946ef1a var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-sky-300{--tw-gradient-to:#7dd3fc00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #7dd3fc var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-violet-400{--tw-gradient-to:#a78bfa00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #a78bfa var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/20{--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #fff3 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-emerald-300{--tw-gradient-to:#6ee7b7 var(--tw-gradient-to-position)}.to-emerald-500{--tw-gradient-to:#10b981 var(--tw-gradient-to-position)}.to-emerald-500\/10{--tw-gradient-to:#10b9811a var(--tw-gradient-to-position)}.to-fuchsia-300{--tw-gradient-to:#f0abfc var(--tw-gradient-to-position)}.to-indigo-300{--tw-gradient-to:#a5b4fc var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-5{padding:1.25rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.p-\[22px_24px\]{padding:22px 24px}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-12{padding-left:3rem;padding-right:3rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[26px\]{padding-left:26px;padding-right:26px}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-\[18px\]{padding-top:18px;padding-bottom:18px}.py-\[22px\]{padding-top:22px;padding-bottom:22px}.py-\[3px\]{padding-top:3px;padding-bottom:3px}.pb-0{padding-bottom:0}.pb-0\.5{padding-bottom:.125rem}.pb-7{padding-bottom:1.75rem}.pb-9{padding-bottom:2.25rem}.pb-px{padding-bottom:1px}.pl-5{padding-left:1.25rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.font-mono{font-family:JetBrains Mono,ui-monospace,Consolas,monospace}.font-serif{font-family:Fraunces,ui-serif,Georgia,serif}.text-\[10\.5px\]{font-size:10.5px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[14\.5px\]{font-size:14.5px}.text-\[15px\]{font-size:15px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.leading-\[1\.55\]{line-height:1.55}.leading-\[1\.5\]{line-height:1.5}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.1em\]{letter-spacing:.1em}.tracking-tight{letter-spacing:-.025em}.text-\[inherit\]{color:inherit}.text-accent{--tw-text-opacity:1;color:rgb(var(--accent) / var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-ink{--tw-text-opacity:1;color:rgb(var(--ink) / var(--tw-text-opacity,1))}.text-ink-soft{--tw-text-opacity:1;color:rgb(var(--ink-soft) / var(--tw-text-opacity,1))}.text-muted{--tw-text-opacity:1;color:rgb(var(--muted) / var(--tw-text-opacity,1))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.text-zinc-700{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity,1))}.text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-35{opacity:.35}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.opacity-\[0\.08\]{opacity:.08}.opacity-\[0\.10\]{opacity:.1}.opacity-\[0\.14\]{opacity:.14}.shadow-\[0_6px_24px_rgba\(0\,0\,0\,0\.08\)\]{--tw-shadow:0 6px 24px #00000014;--tw-shadow-colored:0 6px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_rgba\(0\,0\,0\,0\.08\)\,0_4px_6px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:inset 0 0 0 1px #00000014,0 4px 6px #0000001a;--tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color), 0 4px 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.blur-3xl{--tw-blur:blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[background\,border-color\]{transition-property:background,border-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[background\]{transition-property:background;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[transform\,background\]{transition-property:transform,background;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-\[220ms\]{transition-duration:.22s}.duration-\[280ms\]{transition-duration:.28s}.duration-\[320ms\]{transition-duration:.32s}.duration-\[420ms\]{transition-duration:.42s}.ease-\[cubic-bezier\(\.2\,1\,\.3\,1\)\]{transition-timing-function:cubic-bezier(.2,1,.3,1)}.\[font-variation-settings\:\'opsz\'_24\]{font-variation-settings:"opsz" 24}:root{--paper:238 240 236;--paper-2:224 228 222;--ink:28 37 48;--ink-soft:60 70 84;--muted:106 113 128;--accent:200 52 26;--line:210 215 207;--line-soft:222 226 218;--grain-opacity:.5;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html.dark{--paper:22 17 30;--paper-2:29 23 39;--ink:241 236 223;--ink-soft:207 201 188;--muted:133 127 143;--accent:255 122 106;--line:60 52 76;--line-soft:45 38 58;--grain-opacity:.25}html{scroll-behavior:smooth}::selection{background:#94a3b859}body{background:rgb(var(--paper));color:rgb(var(--ink));cursor:none;-webkit-font-smoothing:antialiased;margin:0;font-family:Geist,Inter,system-ui,sans-serif;font-size:16px;line-height:1.55;transition:background .28s,color .28s;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:1;opacity:var(--grain-opacity);mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.35 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:fixed;inset:0}html.dark body:before{mix-blend-mode:screen}@media (hover:none){body{cursor:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.cursor-blob{background:rgb(var(--ink));pointer-events:none;z-index:9999;opacity:0;border-radius:50%;width:14px;height:14px;transition:width .22s cubic-bezier(.2,1,.3,1),height .22s cubic-bezier(.2,1,.3,1),background .22s,border-radius .22s,opacity .2s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-blob.is-active{opacity:1}.cursor-blob.is-active.is-link{background:rgb(var(--accent));opacity:.85;width:48px;height:48px}.cursor-blob.is-active.is-text{border-radius:2px;width:3px;height:24px}@media (hover:none){.cursor-blob{display:none}}.squiggle{display:inline-block;position:relative}.squiggle svg{width:104%;height:18px;position:absolute;bottom:-12px;left:-2%;right:-2%;overflow:visible}.squiggle svg path{stroke:rgb(var(--accent));stroke-width:5px;fill:none;stroke-linecap:round;stroke-dasharray:600;stroke-dashoffset:600px;animation:1.4s cubic-bezier(.7,0,.3,1) .8s forwards draw}@keyframes draw{to{stroke-dashoffset:0}}[data-reveal]{opacity:0;transition:opacity .7s cubic-bezier(.2,1,.3,1),transform .7s cubic-bezier(.2,1,.3,1);transform:translateY(28px)}[data-reveal].in{opacity:1;transform:none}.last\:border-r-0:last-child{border-right-width:0}.hover\:-translate-y-1:hover{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-\[3px\]:hover{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:\!rotate-0:hover{--tw-rotate:0deg!important;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.hover\:-rotate-\[0\.4deg\]:hover{--tw-rotate:-.4deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-paper:hover{--tw-bg-opacity:1;background-color:rgb(var(--paper) / var(--tw-bg-opacity,1))}.hover\:bg-paper-2:hover{--tw-bg-opacity:1;background-color:rgb(var(--paper-2) / var(--tw-bg-opacity,1))}.hover\:shadow-\[0_10px_30px_rgba\(0\,0\,0\,0\.12\)\]:hover{--tw-shadow:0 10px 30px #0000001f;--tw-shadow-colored:0 10px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-sky-400\/70:focus-visible{--tw-ring-color:#38bdf8b3}.group\/em:hover .group-hover\/em\:-translate-y-1{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/em:hover .group-hover\/em\:translate-x-1{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/link:hover .group-hover\/link\:-translate-y-0\.5{--tw-translate-y:-.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/link:hover .group-hover\/link\:translate-x-0\.5{--tw-translate-x:.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-y-1{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:rotate-\[15deg\]{--tw-rotate:15deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-paper{--tw-bg-opacity:1;background-color:rgb(var(--paper) / var(--tw-bg-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.dark\:border-white\/10:is(.dark *){border-color:#ffffff1a}.dark\:bg-\[\#050816\]:is(.dark *){--tw-bg-opacity:1;background-color:rgb(5 8 22/var(--tw-bg-opacity,1))}.dark\:bg-\[\#0F172A\]:is(.dark *){--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.dark\:bg-white\/10:is(.dark *){background-color:#ffffff1a}.dark\:bg-white\/5:is(.dark *){background-color:#ffffff0d}.dark\:from-cyan-400:is(.dark *){--tw-gradient-from:#22d3ee var(--tw-gradient-from-position);--tw-gradient-to:#22d3ee00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:from-emerald-300:is(.dark *){--tw-gradient-from:#6ee7b7 var(--tw-gradient-from-position);--tw-gradient-to:#6ee7b700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:from-sky-400:is(.dark *){--tw-gradient-from:#38bdf8 var(--tw-gradient-from-position);--tw-gradient-to:#38bdf800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:from-white\/15:is(.dark *){--tw-gradient-from:#ffffff26 var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:via-fuchsia-400:is(.dark *){--tw-gradient-to:#e879f900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #e879f9 var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:via-sky-300:is(.dark *){--tw-gradient-to:#7dd3fc00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #7dd3fc var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:via-violet-500:is(.dark *){--tw-gradient-to:#8b5cf600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #8b5cf6 var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:to-emerald-300:is(.dark *){--tw-gradient-to:#6ee7b7 var(--tw-gradient-to-position)}.dark\:to-fuchsia-400:is(.dark *){--tw-gradient-to:#e879f9 var(--tw-gradient-to-position)}.dark\:to-indigo-300:is(.dark *){--tw-gradient-to:#a5b4fc var(--tw-gradient-to-position)}.dark\:text-sky-200:is(.dark *){--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity,1))}.dark\:text-zinc-200:is(.dark *){--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.dark\:text-zinc-400:is(.dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\:text-zinc-50:is(.dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity,1))}.dark\:opacity-15:is(.dark *){opacity:.15}.dark\:opacity-20:is(.dark *){opacity:.2}.dark\:opacity-25:is(.dark *){opacity:.25}.dark\:shadow-\[0_6px_24px_rgba\(0\,0\,0\,0\.28\)\]:is(.dark *){--tw-shadow:0 6px 24px #00000047;--tw-shadow-colored:0 6px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}@media (width<=980px){.max-\[980px\]\:border-r-0{border-right-width:0}}@media (width<=800px){.max-\[800px\]\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.max-\[800px\]\:gap-6{gap:1.5rem}}@media (width<=780px){.max-\[780px\]\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.max-\[780px\]\:mb-9{margin-bottom:2.25rem}.max-\[780px\]\:mb-\[60px\]{margin-bottom:60px}.max-\[780px\]\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.max-\[780px\]\:gap-\[18px\]{gap:18px}.max-\[780px\]\:border-b{border-bottom-width:1px}.max-\[780px\]\:border-r-0{border-right-width:0}.max-\[780px\]\:px-5{padding-left:1.25rem;padding-right:1.25rem}.max-\[780px\]\:px-6{padding-left:1.5rem;padding-right:1.5rem}.max-\[780px\]\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.max-\[780px\]\:py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.max-\[780px\]\:text-\[11px\]{font-size:11px}.max-\[780px\]\:tracking-\[0\.1em\]{letter-spacing:.1em}.max-\[780px\]\:last\:border-b-0:last-child{border-bottom-width:0}}@media (width<=760px){.max-\[760px\]\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.max-\[760px\]\:gap-2{gap:.5rem}.max-\[760px\]\:px-5{padding-left:1.25rem;padding-right:1.25rem}.max-\[760px\]\:py-\[18px\]{padding-top:18px;padding-bottom:18px}}@media (width<=600px){.max-\[600px\]\:p-5{padding:1.25rem}}@media (width>=640px){.sm\:h-10{height:2.5rem}.sm\:h-8{height:2rem}.sm\:w-8{width:2rem}.sm\:w-\[4\.5rem\]{width:4.5rem}.sm\:translate-x-8{--tw-translate-x:2rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}@media (width>=768px){.md\:pl-6{padding-left:1.5rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}.portfolio-nav{z-index:100;background:color-mix(in srgb, rgb(var(--paper)) 78%, transparent);-webkit-backdrop-filter:blur(18px)saturate(160%);border-bottom:1px solid rgb(var(--line-soft));grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 28px;display:grid;position:fixed;top:0;left:0;right:0}.portfolio-nav .mark{justify-self:start;align-items:center;text-decoration:none;display:inline-flex}.portfolio-nav .mark img{border-radius:50%;width:36px;height:36px;transition:transform .28s cubic-bezier(.2,1,.3,1);display:block}.portfolio-nav .mark:hover img{transform:rotate(-8deg)scale(1.05)}html.dark .portfolio-nav .mark img{background:rgb(var(--ink))}.portfolio-nav .navlinks{background:rgb(var(--paper-2));border:1px solid rgb(var(--line-soft));border-radius:999px;justify-self:center;align-items:center;gap:4px;margin:0;padding:6px;list-style:none;display:flex}.portfolio-nav .navlinks a{color:rgb(var(--ink-soft));letter-spacing:-.005em;border-radius:999px;padding:7px 14px;font-family:Geist,sans-serif;font-size:13px;font-weight:500;text-decoration:none;transition:color .22s,background .22s;position:relative}.portfolio-nav .navlinks a:hover{color:rgb(var(--ink));background:rgb(var(--paper))}.portfolio-nav .navlinks a.active{color:rgb(var(--ink));background:rgb(var(--paper));box-shadow:0 1px 2px #1a1d2e0f}html.dark .portfolio-nav .navlinks a:hover,html.dark .portfolio-nav .navlinks a.active{background:color-mix(in srgb, rgb(var(--ink)) 25%, transparent)}.portfolio-nav .right{justify-self:end;align-items:center;gap:8px;display:flex}.portfolio-nav .cta{color:rgb(var(--paper));background:rgb(var(--ink));border-radius:999px;align-items:center;gap:6px;padding:9px 16px;font-family:Geist,sans-serif;font-size:13px;font-weight:500;text-decoration:none;transition:transform .22s cubic-bezier(.2,1,.3,1),background .22s,color .22s;display:inline-flex}.portfolio-nav .cta:hover{background:rgb(var(--accent));color:rgb(var(--paper));transform:translateY(-1px)}html.dark .portfolio-nav .cta{background:rgb(var(--accent));color:#1a1326}html.dark .portfolio-nav .cta:hover{background:rgb(var(--ink));color:#1a1326}.portfolio-nav .cta .arr{font-size:14px;line-height:1;transition:transform .22s}.portfolio-nav .cta:hover .arr{transform:translate(2px,-2px)}.theme-tog{border:1px solid rgb(var(--line-soft));background:rgb(var(--paper-2));width:38px;height:38px;color:rgb(var(--ink));cursor:none;border-radius:50%;place-items:center;transition:background .22s,border-color .22s;display:grid;position:relative;overflow:hidden}.theme-tog:hover{background:rgb(var(--paper));border-color:rgb(var(--line))}.theme-tog svg{transition:transform .42s cubic-bezier(.2,1,.3,1),opacity .22s}html:not(.dark) .theme-tog .moon{opacity:0;transform:rotate(-90deg)scale(.5)}html:not(.dark) .theme-tog .sun{opacity:1;transform:rotate(0)scale(1)}html.dark .theme-tog .sun{opacity:0;transform:rotate(90deg)scale(.5)}html.dark .theme-tog .moon{opacity:1;transform:rotate(0)scale(1)}.nav-burger{border:1px solid rgb(var(--line-soft));background:rgb(var(--paper-2));width:38px;height:38px;color:rgb(var(--ink));cursor:none;border-radius:50%;justify-content:center;align-items:center;margin:0;padding:0;display:none}.nav-burger .bars{flex-direction:column;gap:4px;width:16px;display:flex}.nav-burger .bars i{transform-origin:50%;background:currentColor;border-radius:2px;height:1.5px;transition:transform .28s cubic-bezier(.2,1,.3,1),opacity .2s;display:block}.portfolio-nav.menu-open .nav-burger .bars i:first-child{transform:translateY(5.5px)rotate(45deg)}.portfolio-nav.menu-open .nav-burger .bars i:nth-child(2){opacity:0}.portfolio-nav.menu-open .nav-burger .bars i:nth-child(3){transform:translateY(-5.5px)rotate(-45deg)}@media (width<=820px){.portfolio-nav{grid-template-columns:1fr auto;padding:12px 20px}.portfolio-nav .navlinks{background:rgb(var(--paper));border:1px solid rgb(var(--line));opacity:0;pointer-events:none;border-radius:14px;flex-direction:column;gap:0;padding:8px;transition:opacity .22s,transform .22s cubic-bezier(.2,1,.3,1);display:flex;position:absolute;top:100%;left:16px;right:16px;transform:translateY(-8px);box-shadow:0 12px 32px -16px #1a1d2e33}.portfolio-nav.menu-open .navlinks{opacity:1;pointer-events:auto;transform:translateY(0)}.portfolio-nav .navlinks li{width:100%}.portfolio-nav .navlinks a{border-radius:8px;padding:12px 16px;font-size:15px;display:block}.portfolio-nav .cta{padding:7px 12px;font-size:12px}.portfolio-nav .cta .arr{display:none}.nav-burger{display:inline-flex}}@media (width<=480px){.portfolio-nav{padding:10px 16px}.portfolio-nav .mark{font-size:18px}.portfolio-nav .right{gap:6px}}@media (width<=380px){.portfolio-nav .cta{display:none}}.hero{align-items:center;max-width:1280px;min-height:88vh;margin:0 auto;padding:120px 32px 80px;display:flex;position:relative}@media (width<=900px){.hero{min-height:auto;padding:100px 20px 60px}}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,480px);align-items:center;gap:64px;width:100%;display:grid}@media (width<=900px){.hero-grid{grid-template-columns:1fr;gap:40px}}.hero-left{flex-direction:column;gap:28px;min-width:0;display:flex}.hero .meta{text-transform:uppercase;letter-spacing:.14em;color:rgb(var(--muted));align-items:center;gap:10px;margin:0;font-family:JetBrains Mono,monospace;font-size:12px;display:flex}.hero .meta .live{background:rgb(var(--accent));width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, rgb(var(--accent)) 25%, transparent);border-radius:50%;animation:2s infinite live-pulse}@keyframes live-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.hero h1{letter-spacing:-.04em;font-variation-settings:"opsz" 144, "SOFT" 50, "WONK" 0;margin:0;font-family:Fraunces,serif;font-size:clamp(56px,9vw,144px);font-weight:400;line-height:.92}.hero h1 .first{display:block}.hero h1 .last{font-variation-settings:"opsz" 144, "SOFT" 100, "WONK" 1;color:rgb(var(--ink));font-style:italic;display:block;position:relative}.hero h1 .last .swash{color:rgb(var(--accent));font-variation-settings:"opsz" 144, "SOFT" 100, "WONK" 1}.hero-tag{color:rgb(var(--ink-soft));font-variation-settings:"opsz" 24;max-width:560px;margin:0;font-family:Fraunces,serif;font-size:22px;font-style:italic;font-weight:300;line-height:1.4}@media (width<=900px){.hero-tag{font-size:19px;line-height:1.5}}.hero-tag em{color:rgb(var(--ink));background:linear-gradient(transparent 60%, color-mix(in srgb, rgb(var(--accent)) 35%, transparent) 60%);padding:0 4px;font-style:normal;font-weight:500}.hero-right{justify-content:flex-end;display:flex}.hero-img{aspect-ratio:1376/768;-o-object-fit:cover;object-fit:cover;border:1px solid rgb(var(--line));border-radius:12px;width:100%;max-width:480px;height:auto;display:block;box-shadow:0 1px #1a1d2e0a,0 24px 48px -24px #1a1d2e2e}html.dark .hero-img{border-color:rgb(var(--line));box-shadow:0 1px #0006,0 24px 48px -24px #00000080}@media (width<=900px){.hero-right{justify-content:flex-start}.hero-img{max-width:100%}}.now-cell-v{color:rgb(var(--ink));font-variation-settings:"opsz" 24;text-overflow:ellipsis;white-space:nowrap;font-family:Fraunces,serif;font-size:16px;font-style:italic;overflow:hidden}.portfolio-section{z-index:2;max-width:1280px;margin:0 auto;padding:120px 32px;position:relative}@media (width<=780px){.portfolio-section{padding:80px 20px}}.section-heading{letter-spacing:-.03em;font-variation-settings:"opsz" 144;margin:0;font-family:Fraunces,serif;font-size:clamp(40px,7vw,96px);font-weight:300;line-height:1}.section-em{color:rgb(var(--accent));font-variation-settings:"opsz" 144, "SOFT" 100, "WONK" 1;font-style:italic}.about-prose{font-variation-settings:"opsz" 36;color:rgb(var(--ink));font-family:Fraunces,serif;font-size:clamp(22px,3vw,28px);font-weight:300;line-height:1.4}.stat-num{font-variation-settings:"opsz" 144, "SOFT" 50, "WONK" 1;color:rgb(var(--ink));font-family:Fraunces,serif;font-size:48px;line-height:1}.timeline{padding-left:32px;position:relative}.timeline:before{content:"";background:repeating-linear-gradient(to bottom, rgb(var(--ink)) 0 6px, transparent 6px 12px);opacity:.4;width:2px;position:absolute;top:8px;bottom:8px;left:7px}.tl-item:before{content:"";background:rgb(var(--paper));border:2px solid rgb(var(--ink));border-radius:50%;width:16px;height:16px;transition:background .22s;position:absolute;top:22px;left:-32px}.tl-item:hover:before{background:rgb(var(--accent));border-color:rgb(var(--accent))}.tl-heading{letter-spacing:-.01em;font-variation-settings:"opsz" 48;color:rgb(var(--ink));margin:6px 0 4px;font-family:Fraunces,serif;font-size:clamp(22px,3.5vw,32px);font-weight:400;line-height:1.15}.proj-thumb-warm{background-color:#1a1d2e;background-image:radial-gradient(circle at 30% 20%,#ff5c39 0,#0000 45%),radial-gradient(circle at 80% 80%,#0a4f4e 0,#0000 50%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box}.proj-thumb-cool{background-color:#0a4f4e;background-image:radial-gradient(circle at 70% 30%,#d4ff3f 0,#0000 40%),radial-gradient(circle at 20% 80%,#ff5c39 0,#0000 45%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box}.proj-thumb-dashed{background:rgb(var(--paper-2));background-image:repeating-linear-gradient(45deg, rgb(var(--line)) 0 1px, transparent 1px 14px);border:1px dashed rgb(var(--line))}.proj-thumb-dashed .thumb-mark{color:rgb(var(--ink-soft))}.thumb-mark{font-variation-settings:"opsz" 144, "SOFT" 100, "WONK" 1;color:#ffffffeb;z-index:2;font-family:Fraunces,serif;font-size:88px;line-height:1;transition:transform .42s cubic-bezier(.2,1,.3,1);position:relative}.proj-title{letter-spacing:-.015em;font-variation-settings:"opsz" 36, "SOFT" 50, "WONK" 1;color:rgb(var(--ink));margin:0 0 10px;font-family:Fraunces,serif;font-size:30px;font-weight:400;line-height:1.05}.kit-row-bg:hover{border-color:color-mix(in srgb, rgb(var(--accent)) 50%, rgb(var(--line)))}.kit-items{color:rgb(var(--ink));font-variation-settings:"opsz" 24;flex-wrap:wrap;align-items:center;gap:10px;font-family:Fraunces,serif;font-size:18px;font-style:italic;line-height:1.55;display:inline-flex}.award-mark{background:rgb(var(--accent));color:#fff;font-variation-settings:"opsz" 36, "SOFT" 100, "WONK" 1;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;margin-top:2px;font-family:Fraunces,serif;font-size:18px;display:grid}html.dark .award-mark{color:#1a1326}.award-title{letter-spacing:-.01em;color:rgb(var(--ink));font-variation-settings:"opsz" 36, "SOFT" 50, "WONK" 1;margin:0;font-family:Fraunces,serif;font-size:22px;font-weight:400;line-height:1.15}@media (width<=600px){.award-mark{width:36px;height:36px;font-size:16px}}.contact-panel{background:rgb(var(--ink));color:rgb(var(--paper))}html.dark .contact-panel{color:rgb(var(--ink));border:1px solid color-mix(in srgb, rgb(var(--ink)) 14%, transparent);background:#211a2f}.contact-panel:before{content:"";opacity:.6;pointer-events:none;background-image:radial-gradient(circle at 2px 2px,#ffffff1a 1px,#0000 0);background-size:24px 24px;position:absolute;inset:0}html.dark .contact-panel:before{background-image:radial-gradient(circle at 2px 2px,#f1ecdf14 1px,#0000 0)}.contact-panel>*{position:relative}.contact-h2{letter-spacing:-.03em;font-variation-settings:"opsz" 144, "SOFT" 50, "WONK" 1;color:inherit;margin:0 0 24px;font-family:Fraunces,serif;font-size:clamp(48px,9vw,128px);font-weight:300;line-height:.95}.contact-h2 em{color:rgb(var(--accent));font-variation-settings:"opsz" 144, "SOFT" 100, "WONK" 1;font-style:italic}.email-link{color:inherit;word-break:break-all;font-variation-settings:"opsz" 36, "SOFT" 100, "WONK" 1;border-bottom:2px solid;align-items:center;gap:14px;padding:0 0 4px;font-family:Fraunces,serif;font-size:clamp(20px,4vw,32px);font-style:italic;text-decoration:none;transition:transform .28s cubic-bezier(.2,1,.3,1);display:inline-flex}.email-link:hover{transform:translate(2px,-2px)}
