*,:after,:before{--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:rgba(59,130,246,.5);--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: }::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:rgba(59,130,246,.5);--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: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-geist-sans),system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--font-geist-mono),ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings: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:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.\!left-auto{left:auto!important}.-bottom-xs{bottom:-8px}.-right-control{right:-6px}.-right-xs{right:-8px}.-top-control{top:-6px}.bottom-0{bottom:0}.bottom-0\.5{bottom:.125rem}.left-1\/2{left:50%}.right-lg{right:24px}.top-0{top:0}.top-\[52px\]{top:52px}.top-xs{top:8px}.z-10{z-index:10}.z-50{z-index:50}.col-start-1{grid-column-start:1}.row-start-1{grid-row-start:1}.mx-auto{margin-left:auto;margin-right:auto}.-mr-xs{margin-right:-8px}.mb-lg{margin-bottom:24px}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.mt-control{margin-top:6px}.mt-lg{margin-top:24px}.mt-md{margin-top:16px}.mt-micro{margin-top:4px}.mt-sm{margin-top:12px}.mt-xs{margin-top:8px}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-\[4\/5\]{aspect-ratio:4/5}.\!h-full{height:100%!important}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-11{height:2.75rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[52px\]{height:52px}.h-\[64\%\]{height:64%}.h-full{height:100%}.min-h-0{min-height:0}.min-h-11{min-height:2.75rem}.min-h-16{min-height:4rem}.min-h-9{min-height:2.25rem}.min-h-\[100svh\]{min-height:100svh}.min-h-\[44px\]{min-height:44px}.\!w-auto{width:auto!important}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-11{width:2.75rem}.w-11\/12{width:91.666667%}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-\[88px\]{width:88px}.w-\[var\(--frame-width\)\]{width:var(--frame-width)}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-0{min-width:0}.min-w-\[168px\]{min-width:168px}.max-w-40{max-width:10rem}.max-w-\[600px\]{max-width:600px}.max-w-\[65ch\]{max-width:65ch}.max-w-\[780px\]{max-width:780px}.max-w-\[860px\]{max-width:860px}.max-w-\[calc\(100vw-48px\)\]{max-width:calc(100vw - 48px)}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.origin-\[50\%_10\%\]{transform-origin:50% 10%}.origin-bottom-right{transform-origin:bottom right}.origin-top-right{transform-origin:top right}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-control{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-y-control{--tw-translate-y:-6px}.translate-y-0{--tw-translate-y:0px}.rotate-0,.translate-y-0{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))}.rotate-0{--tw-rotate:0deg}.rotate-180{--tw-rotate:180deg}.rotate-180,.scale-100{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))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-\[0\.98\]{--tw-scale-x:0.98;--tw-scale-y:0.98}.scale-\[0\.98\],.scale-\[1\.25\]{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))}.scale-\[1\.25\]{--tw-scale-x:1.25;--tw-scale-y:1.25}.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))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[2rem_minmax\(0\2c 1fr\)_0\.75rem\]{grid-template-columns:2rem minmax(0,1fr) .75rem}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.content-start{align-content:flex-start}.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-0{gap:0}.gap-control{gap:6px}.gap-lg{gap:24px}.gap-md{gap:16px}.gap-micro{gap:4px}.gap-sm{gap:12px}.gap-xs{gap:8px}.gap-x-md{-moz-column-gap:16px;column-gap:16px}.gap-y-micro{row-gap:4px}.space-y-section>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(48px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(48px * var(--tw-space-y-reverse))}.space-y-sm>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12px * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.text-balance{text-wrap:balance}.rounded-\[10px\]{border-radius:10px}.rounded-\[4px\]{border-radius:4px}.rounded-\[6px\]{border-radius:6px}.rounded-\[8px\]{border-radius:8px}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-x{border-left-width:1px;border-right-width:1px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-amber-300\/30{border-color:rgba(252,211,77,.3)}.border-border{--tw-border-opacity:1;border-color:rgb(var(--border)/var(--tw-border-opacity,1))}.border-border-strong\/40{border-color:rgb(var(--border-strong)/.4)}.border-border-strong\/60{border-color:rgb(var(--border-strong)/.6)}.border-white\/40{border-color:hsla(0,0%,100%,.4)}.bg-amber-300{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity,1))}.bg-ground{--tw-bg-opacity:1;background-color:rgb(var(--ground)/var(--tw-bg-opacity,1))}.bg-ground\/20{background-color:rgb(var(--ground)/.2)}.bg-ground\/30{background-color:rgb(var(--ground)/.3)}.bg-ground\/85{background-color:rgb(var(--ground)/.85)}.bg-surface{--tw-bg-opacity:1;background-color:rgb(var(--surface)/var(--tw-bg-opacity,1))}.bg-surface\/90{background-color:rgb(var(--surface)/.9)}.bg-text-strong{--tw-bg-opacity:1;background-color:rgb(var(--text-strong)/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white\/40{background-color:hsla(0,0%,100%,.4)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-amber-400{--tw-gradient-from:#fbbf24 var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,191,36,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-fuchsia-500{--tw-gradient-from:#d946ef var(--tw-gradient-from-position);--tw-gradient-to:rgba(217,70,239,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-300{--tw-gradient-from:#fde047 var(--tw-gradient-from-position);--tw-gradient-to:rgba(253,224,71,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-indigo-500{--tw-gradient-to:rgba(99,102,241,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#6366f1 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-orange-500{--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#f97316 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-pink-500{--tw-gradient-to:rgba(236,72,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#ec4899 var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-red-500{--tw-gradient-to:#ef4444 var(--tw-gradient-to-position)}.to-rose-500{--tw-gradient-to:#f43f5e var(--tw-gradient-to-position)}.to-rose-600{--tw-gradient-to:#e11d48 var(--tw-gradient-to-position)}.to-violet-600{--tw-gradient-to:#7c3aed var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.p-card{padding:20px}.p-control{padding:6px}.p-sm{padding:12px}.p-xs{padding:8px}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-chip{padding-left:10px;padding-right:10px}.px-control{padding-left:6px;padding-right:6px}.px-lg{padding-left:24px;padding-right:24px}.px-md{padding-left:16px;padding-right:16px}.px-sm{padding-left:12px;padding-right:12px}.px-xs{padding-left:8px;padding-right:8px}.py-control{padding-top:6px;padding-bottom:6px}.py-lg{padding-top:24px;padding-bottom:24px}.py-md{padding-top:16px;padding-bottom:16px}.py-micro{padding-top:4px;padding-bottom:4px}.py-xs{padding-top:8px;padding-bottom:8px}.pb-0{padding-bottom:0}.pb-section{padding-bottom:48px}.pl-10{padding-left:2.5rem}.pt-16{padding-top:4rem}.pt-md{padding-top:16px}.pt-micro{padding-top:4px}.pt-sm{padding-top:12px}.text-left{text-align:left}.font-mono{font-family:var(--font-geist-mono),ui-monospace,monospace}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[0\.5rem\]{font-size:.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-body{font-size:14px;line-height:22px;font-weight:400}.text-meta{font-size:12px;line-height:18px;font-weight:400}.text-nav{font-size:14px;line-height:20px;font-weight:500}.text-profile{font-size:30px;line-height:36px;letter-spacing:-.015em;font-weight:500}.text-section{font-size:22px;line-height:28px;letter-spacing:-.012em;font-weight:500}.text-sm{font-size:.875rem;line-height:1.25rem}.text-title{font-size:18px;line-height:24px;font-weight:500}.text-wordmark{font-size:22px;line-height:28px;letter-spacing:-.015em;font-weight:600}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-tight{letter-spacing:-.025em}.text-accent{--tw-text-opacity:1;color:rgb(var(--accent)/var(--tw-text-opacity,1))}.text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.text-ground{--tw-text-opacity:1;color:rgb(var(--ground)/var(--tw-text-opacity,1))}.text-ground\/80{color:rgb(var(--ground)/.8)}.text-text{--tw-text-opacity:1;color:rgb(var(--text)/var(--tw-text-opacity,1))}.text-text-muted{--tw-text-opacity:1;color:rgb(var(--text-muted)/var(--tw-text-opacity,1))}.text-text-strong{--tw-text-opacity:1;color:rgb(var(--text-strong)/var(--tw-text-opacity,1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-60{opacity:.6}.brightness-0{--tw-brightness:brightness(0)}.brightness-0,.invert{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)}.invert{--tw-invert:invert(100%)}.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-md{--tw-backdrop-blur:blur(12px);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-\[background-color\2c border-color\2c color\2c transform\]{transition-property:background-color,border-color,color,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[grid-template-rows\2c opacity\]{transition-property:grid-template-rows,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[opacity\2c transform\]{transition-property:opacity,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-\[220ms\]{transition-duration:.22s}.ease-\[cubic-bezier\(0\.16\2c 1\2c 0\.3\2c 1\)\]{transition-timing-function:cubic-bezier(.16,1,.3,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}#main>section{scroll-margin-top:88px}#main>section+section:before{content:"";display:block;width:100vw;margin-left:calc(50% - 50vw);height:16px;border-top:1px dashed rgb(var(--border-strong)/.4);background-color:rgb(var(--surface))}:root{--ground:18 20 23;--surface:24 27 31;--surface-raised:33 37 41;--text-strong:240 242 244;--text:203 209 214;--text-muted:148 156 164;--border:44 49 54;--border-strong:107 115 123;--accent:240 242 244;--accent-strong:203 209 214;--frame-width:860px;--frame-half-width:430px}.interactive-text-banner{--banner-height:130px;--banner-dot-size:1px;--banner-dot-spacing:18px;--banner-dot-color:rgb(var(--border-strong)/0.34);--banner-dot-solid-stop:35%;--banner-dot-soft-stop:65%;--banner-dot-soft-opacity:0.65;--banner-font-size:clamp(1rem,2.3vw,1.125rem);--banner-line-height:1.35;--banner-letter-spacing:-0.015em;position:relative;isolation:isolate;display:grid;min-height:var(--banner-height);place-items:center;overflow:hidden;background-color:transparent;cursor:grab;touch-action:pan-y;-moz-user-select:none;user-select:none;-webkit-user-select:none}.interactive-text-banner:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle,var(--banner-dot-color) var(--banner-dot-size),transparent calc(var(--banner-dot-size) + .35px));background-position:50%;background-size:var(--banner-dot-spacing) var(--banner-dot-spacing);mask-image:radial-gradient(ellipse at center,#000 0,#000 var(--banner-dot-solid-stop),rgb(0 0 0/var(--banner-dot-soft-opacity)) var(--banner-dot-soft-stop),transparent 100%);-webkit-mask-image:radial-gradient(ellipse at center,#000 0,#000 var(--banner-dot-solid-stop),rgb(0 0 0/var(--banner-dot-soft-opacity)) var(--banner-dot-soft-stop),transparent 100%)}.interactive-text-banner[data-pressed]{cursor:grabbing}.interactive-text-banner__text{position:relative;z-index:1;margin:0;padding:20px 24px;color:rgb(var(--text-strong));font-size:var(--banner-font-size);font-weight:600;letter-spacing:var(--banner-letter-spacing);line-height:var(--banner-line-height);text-align:center;text-wrap:balance;transform:translateZ(0)}.interactive-text-banner__text span{display:block}.interactive-text-banner__text span+span{color:rgb(var(--text));font-weight:400}@media (max-width:639px){.interactive-text-banner{--banner-height:116px;--banner-dot-spacing:16px;--banner-font-size:1rem}}@media (prefers-reduced-motion:reduce){.interactive-text-banner__text{transform:none!important}}.grid-frame{position:relative;background-color:rgb(var(--ground));border-left:1px solid transparent;border-right:1px solid transparent}.grid-frame:after{content:"";position:absolute;inset:0 -1px;z-index:1;pointer-events:none;border-left:1px dashed rgb(var(--border-strong)/.4);border-right:1px dashed rgb(var(--border-strong)/.4)}.grid-block{position:relative}*{box-sizing:border-box}html{width:100%;scroll-behavior:smooth;overflow-x:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;color:rgb(var(--text));font-family:var(--font-geist-sans),system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:rgb(var(--ground))}.full-bleed-rule{position:relative}.full-bleed-rule:before{content:"";position:absolute;top:0;left:50%;width:100vw;margin-left:-50vw;border-top:1px dashed rgb(var(--border-strong)/.4)}.section-heading-hatch{position:relative}.section-heading-hatch:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;margin-left:-50vw;pointer-events:none;border-top:1px dashed rgb(var(--border-strong)/.4);border-bottom:1px dashed rgb(var(--border-strong)/.4)}.focus-ring:focus-visible{outline:2px solid rgb(var(--accent));outline-offset:3px;border-radius:2px}.btn-primary{background-color:rgb(var(--accent));color:rgb(var(--ground));border-radius:6px;font-weight:600;transition:background-color .18s ease,transform .18s cubic-bezier(.16,1,.3,1)}.btn-primary:focus-visible,.btn-primary:hover{background-color:rgb(var(--accent-strong));transform:translateY(-2px)}.btn-primary:active{transform:translateY(0);transition-duration:.08s}.btn-secondary{border:1px solid rgb(var(--border-strong));color:rgb(var(--text-strong));border-radius:6px;transition:border-color .18s ease,color .18s ease,transform .18s cubic-bezier(.16,1,.3,1)}.btn-secondary:focus-visible,.btn-secondary:hover{border-color:rgb(var(--accent));color:rgb(var(--accent));transform:translateY(-2px)}.btn-secondary:active{transform:translateY(0);transition-duration:.08s}.card{background-color:rgb(var(--surface));border:1px solid rgb(var(--border-strong)/.4);border-radius:10px;transition:border-color .24s ease}.card:focus-within,.card:hover{border-color:rgb(var(--accent)/.6)}.project-media-frame{background-color:rgb(var(--surface-raised));background-image:repeating-linear-gradient(-45deg,transparent 0 7px,rgb(var(--border-strong)/.08) 7px 8px)}.link{color:rgb(var(--accent));text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:rgb(var(--accent)/.4);transition:color .18s ease,text-decoration-color .18s ease}.link:focus-visible,.link:hover{color:rgb(var(--accent-strong));text-decoration-color:rgb(var(--accent-strong))}@keyframes hero-reveal-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.hero-reveal-in{animation:hero-reveal-in .66s cubic-bezier(.16,1,.3,1) backwards;animation-delay:var(--hero-reveal-delay,0ms)}@keyframes hero-reveal-focus{0%{opacity:0;transform:scale(.94);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}.hero-reveal-focus{animation:hero-reveal-focus .8s cubic-bezier(.16,1,.3,1) backwards}@media (prefers-reduced-motion:reduce){.btn-primary,.btn-secondary,.card{transition:none}.hero-reveal-focus,.hero-reveal-in{animation:none}.btn-primary:focus-visible,.btn-primary:hover,.btn-secondary:focus-visible,.btn-secondary:hover{transform:none}}::-moz-selection{background-color:rgb(var(--accent));color:rgb(var(--ground))}::selection{background-color:rgb(var(--accent));color:rgb(var(--ground))}code{font-family:var(--font-geist-mono),ui-monospace,monospace}.hover\:scale-\[1\.01\]:hover{--tw-scale-x:1.01;--tw-scale-y:1.01;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\:border-border-strong:hover{--tw-border-opacity:1;border-color:rgb(var(--border-strong)/var(--tw-border-opacity,1))}.hover\:border-text-strong:hover{--tw-border-opacity:1;border-color:rgb(var(--text-strong)/var(--tw-border-opacity,1))}.hover\:border-white\/70:hover{border-color:hsla(0,0%,100%,.7)}.hover\:bg-surface-raised:hover{--tw-bg-opacity:1;background-color:rgb(var(--surface-raised)/var(--tw-bg-opacity,1))}.hover\:bg-white\/75:hover{background-color:hsla(0,0%,100%,.75)}.hover\:text-accent:hover{--tw-text-opacity:1;color:rgb(var(--accent)/var(--tw-text-opacity,1))}.hover\:text-ground:hover{--tw-text-opacity:1;color:rgb(var(--ground)/var(--tw-text-opacity,1))}.hover\:text-text-strong:hover{--tw-text-opacity:1;color:rgb(var(--text-strong)/var(--tw-text-opacity,1))}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:fixed:focus{position:fixed}.focus\:left-md:focus{left:16px}.focus\:top-md:focus{top:16px}.focus\:z-\[60\]:focus{z-index:60}.focus\:px-md:focus{padding-left:16px;padding-right:16px}.focus\:py-sm:focus{padding-top:12px;padding-bottom:12px}.focus\:text-sm:focus{font-size:.875rem;line-height:1.25rem}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;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))}.active\:bg-white\/60:active{background-color:hsla(0,0%,100%,.6)}.active\:text-text-strong:active{--tw-text-opacity:1;color:rgb(var(--text-strong)/var(--tw-text-opacity,1))}.group\/details[open] .group-open\/details\:inline{display:inline}.group\/details[open] .group-open\/details\:hidden{display:none}.group\/details[open] .group-open\/details\:rotate-180{--tw-rotate:180deg}.group:hover .group-hover\:-translate-x-xs,.group\/details[open] .group-open\/details\:rotate-180{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-x-xs{--tw-translate-x:-8px}.group:hover .group-hover\:-translate-y-xs{--tw-translate-y:-8px}.group:hover .group-hover\:-translate-y-xs,.group:hover .group-hover\:scale-\[1\.03\]{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-\[1\.03\]{--tw-scale-x:1.03;--tw-scale-y:1.03}.group:hover .group-hover\:border-accent{--tw-border-opacity:1;border-color:rgb(var(--accent)/var(--tw-border-opacity,1))}.group:hover .group-hover\:border-border-strong{--tw-border-opacity:1;border-color:rgb(var(--border-strong)/var(--tw-border-opacity,1))}.group:hover .group-hover\:text-accent{--tw-text-opacity:1;color:rgb(var(--accent)/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-text-strong{--tw-text-opacity:1;color:rgb(var(--text-strong)/var(--tw-text-opacity,1))}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media (min-width:640px){.sm\:h-\[70\%\]{height:70%}.sm\:w-28{width:7rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:gap-card{gap:20px}.sm\:border-b-0{border-bottom-width:0}.sm\:border-r{border-right-width:1px}.sm\:px-md{padding-left:16px;padding-right:16px}}@media (min-width:768px){.md\:mb-8{margin-bottom:2rem}.md\:flex{display:flex}.md\:hidden{display:none}}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}:host,:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free";--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free";--fa-font-light:normal 300 1em/1 "Font Awesome 6 Pro";--fa-font-thin:normal 100 1em/1 "Font Awesome 6 Pro";--fa-font-duotone:normal 900 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-regular:normal 400 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-light:normal 300 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-thin:normal 100 1em/1 "Font Awesome 6 Duotone";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands";--fa-font-sharp-solid:normal 900 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-regular:normal 400 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-light:normal 300 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-thin:normal 100 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-duotone-solid:normal 900 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-regular:normal 400 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-light:normal 300 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-thin:normal 100 1em/1 "Font Awesome 6 Sharp Duotone"}svg.svg-inline--fa:not(:host),svg.svg-inline--fa:not(:root){overflow:visible;box-sizing:content-box}.svg-inline--fa{display:var(--fa-display,inline-block);height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.07143em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left{margin-right:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-pull-right{margin-left:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);top:.25em}.svg-inline--fa.fa-fw{width:var(--fa-fw-width,1.25em)}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{transform-origin:center center}.fa-layers-text{left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);overflow:hidden;padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);transform:scale(var(--fa-counter-scale,.25));transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);top:auto;transform:scale(var(--fa-layers-scale,.25));transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);right:auto;top:auto;transform:scale(var(--fa-layers-scale,.25));transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:top right}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:top left}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(-1 * var(--fa-li-width, 2em));position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);border-style:var(--fa-border-style,solid);border-width:var(--fa-border-width,.08em);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}24%,8%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;vertical-align:middle;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;z-index:var(--fa-stack-z-index,auto)}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor)}.svg-inline--fa .fa-secondary,.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}@font-face{font-family:__GeistMono_46451f;src:url(/_next/static/media/723e11e5093b8e80.p.woff2) format("woff2");font-display:swap;font-weight:100 900}.__className_46451f{font-family:__GeistMono_46451f,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.__variable_46451f{--font-geist-mono:"__GeistMono_46451f",ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}@font-face{font-family:__GeistSans_8adcd2;src:url(/_next/static/media/0b78ff376f6b9734-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:__GeistSans_Fallback_8adcd2;src:local("Arial");ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.00%;size-adjust:106.28%}.__className_8adcd2{font-family:__GeistSans_8adcd2,__GeistSans_Fallback_8adcd2}.__variable_8adcd2{--font-geist-sans:"__GeistSans_8adcd2","__GeistSans_Fallback_8adcd2"}