*,: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:rgb(59 130 246/0.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:rgb(59 130 246/0.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.17 | 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;tab-size:4;font-family:var(--font-inter),ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,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{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Cascadia Code,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:initial}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:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-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{margin:-1px;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-inset-1{inset:-.25rem}.-inset-px{inset:-1px}.inset-0{inset:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\/2{left:50%}.left-full{left:100%}.top-0{top:0}.top-4{top:1rem}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-\[70\]{z-index:70}.-ml-12{margin-left:-3rem}.-mt-9{margin-top:-2.25rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-1{margin-top:.25rem}.mt-3{margin-top:.75rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.h-1\.5{height:.375rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-56{height:14rem}.h-9{height:2.25rem}.h-auto{height:auto}.h-full{height:100%}.max-h-\[88vh\]{max-height:88vh}.w-1\.5{width:.375rem}.w-12{width:3rem}.w-2\.5{width:.625rem}.w-6{width:1.5rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-0{min-width:0}.max-w-3xl{max-width:48rem}.flex-1{flex:1 1 0%}.flex-\[0_0_100\%\]{flex:0 0 100%}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-4{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-4{--tw-translate-x:-1rem}.-translate-x-full{--tw-translate-x:-100%}.-translate-x-full,.translate-x-4{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-4{--tw-translate-x:1rem}.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-not-allowed{cursor:not-allowed}.touch-pan-y{--tw-pan-y:pan-y;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-8{gap:2rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[22px\]{border-radius:22px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-amber-500\/20{border-color:rgb(245 158 11/.2)}.border-cyan-400{--tw-border-opacity:1;border-color:rgb(34 211 238/var(--tw-border-opacity,1))}.border-cyan-500\/20{border-color:rgb(6 182 212/.2)}.border-slate-600\/50{border-color:rgb(71 85 105/.5)}.border-teal-500\/20{border-color:rgb(20 184 166/.2)}.border-white\/10{border-color:rgb(255 255 255/.1)}.border-white\/15{border-color:rgb(255 255 255/.15)}.border-white\/20{border-color:rgb(255 255 255/.2)}.border-white\/\[0\.06\]{border-color:rgb(255 255 255/.06)}.bg-\[\#101018\]{--tw-bg-opacity:1;background-color:rgb(16 16 24/var(--tw-bg-opacity,1))}.bg-\[\#15151e\]{--tw-bg-opacity:1;background-color:rgb(21 21 30/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-500\/10{background-color:rgb(245 158 11/.1)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/30{background-color:rgb(0 0 0/.3)}.bg-black\/70{background-color:rgb(0 0 0/.7)}.bg-cyan-500\/10{background-color:rgb(6 182 212/.1)}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-slate-700\/50{background-color:rgb(51 65 85/.5)}.bg-slate-800\/50{background-color:rgb(30 41 59/.5)}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-900\/95{background-color:rgb(15 23 42/.95)}.bg-slate-950{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}.bg-teal-400{--tw-bg-opacity:1;background-color:rgb(45 212 191/var(--tw-bg-opacity,1))}.bg-teal-500\/10{background-color:rgb(20 184 166/.1)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:rgb(255 255 255/.1)}.bg-white\/15{background-color:rgb(255 255 255/.15)}.bg-white\/30{background-color:rgb(255 255 255/.3)}.bg-white\/40{background-color:rgb(255 255 255/.4)}.bg-white\/5{background-color:rgb(255 255 255/.05)}.bg-white\/\[0\.04\]{background-color:rgb(255 255 255/.04)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-black\/40{--tw-gradient-from:rgb(0 0 0/0.4) var(--tw-gradient-from-position);--tw-gradient-to:rgb(0 0 0/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:rgb(96 165 250/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgb(59 130 246/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-cyan-400{--tw-gradient-from:#22d3ee var(--tw-gradient-from-position);--tw-gradient-to:rgb(34 211 238/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-cyan-400\/20{--tw-gradient-from:rgb(34 211 238/0.2) var(--tw-gradient-from-position);--tw-gradient-to:rgb(34 211 238/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-cyan-500{--tw-gradient-from:#06b6d4 var(--tw-gradient-from-position);--tw-gradient-to:rgb(6 182 212/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-500\/20{--tw-gradient-from:rgb(99 102 241/0.2) var(--tw-gradient-from-position);--tw-gradient-to:rgb(99 102 241/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-900\/20{--tw-gradient-from:rgb(49 46 129/0.2) var(--tw-gradient-from-position);--tw-gradient-to:rgb(49 46 129/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgb(147 51 234/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-900\/60{--tw-gradient-from:rgb(15 23 42/0.6) var(--tw-gradient-from-position);--tw-gradient-to:rgb(15 23 42/0) 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:rgb(0 0 0/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-cyan-400{--tw-gradient-to:rgb(34 211 238/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#22d3ee var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-transparent{--tw-gradient-to:rgb(0 0 0/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),transparent var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-white\/10{--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgb(255 255 255/0.1) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-\[\#0a0a0f\]{--tw-gradient-to:#0a0a0f var(--tw-gradient-to-position)}.to-blue-400{--tw-gradient-to:#60a5fa var(--tw-gradient-to-position)}.to-blue-400\/20{--tw-gradient-to:rgb(96 165 250/0.2) var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.to-cyan-500{--tw-gradient-to:#06b6d4 var(--tw-gradient-to-position)}.to-emerald-400{--tw-gradient-to:#34d399 var(--tw-gradient-to-position)}.to-pink-600{--tw-gradient-to:#db2777 var(--tw-gradient-to-position)}.to-teal-400\/10{--tw-gradient-to:rgb(45 212 191/0.1) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.bg-\[length\:200\%_auto\]{background-size:200% auto}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.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-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.text-center{text-align:center}.font-display{font-family:var(--font-space-grotesk),var(--font-inter),ui-sans-serif,system-ui,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Cascadia Code,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[11px\]{font-size:11px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.text-indigo-400\/50{color:rgb(129 140 248/.5)}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-teal-300{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity,1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/55{color:rgb(255 255 255/.55)}.text-white\/60{color:rgb(255 255 255/.6)}.text-white\/65{color:rgb(255 255 255/.65)}.text-white\/80{color:rgb(255 255 255/.8)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgb(0 0 0/0.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-\[0_0_10px_rgba\(255\2c 255\2c 255\2c 0\.5\)\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(255\2c 255\2c 255\2c 0\.5\)\]{--tw-shadow:0 0 10px rgba(255,255,255,0.5);--tw-shadow-colored:0 0 10px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.blur-3xl{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)}.blur-3xl{--tw-blur:blur(64px)}.blur-lg{--tw-blur:blur(16px)}.blur-lg,.blur-sm{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)}.blur-sm{--tw-blur:blur(4px)}.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-blur-md,.backdrop-blur-sm{-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-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px);-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;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;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);transition-duration:.15s}.duration-1000{transition-duration:1s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.duration-1000{animation-duration:1s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-700{animation-duration:.7s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.site-explore{display:flex;flex-wrap:wrap;gap:18px 30px;padding:28px 0 22px;border-bottom:1px solid var(--line)}.site-explore a{display:inline-flex;gap:12px;align-items:center;font-size:12px;color:var(--muted)}.site-explore a:hover{color:var(--forest)}.directory-title{max-width:940px}.directory-title h1{font-size:clamp(48px,5.4vw,78px);letter-spacing:-.05em}.directory-title h1 em{font-size:1.07em}.directory-title>p:last-child{max-width:720px}.directory-page{padding-bottom:90px}.ecosystem-bridge{padding:88px 0 75px}.bridge-map-link{margin-top:20px}.bridge-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px}.bridge-card{border-top:1px solid var(--line);padding:24px 0 0;display:flex;flex-direction:column;align-items:flex-start}.bridge-symbol{height:52px;display:flex;align-items:center;color:var(--forest)}.bridge-card>.mono{font-size:9px;color:var(--muted);margin-top:10px}.bridge-card h3{font-size:28px;margin-top:17px;overflow-wrap:anywhere}.bridge-card>p:not(.mono):not(.bridge-date){font-size:13px;line-height:1.9;color:var(--muted);margin-top:17px}.bridge-card .text-link{font-size:12px;margin-top:auto;padding-top:24px}.bridge-metrics{display:flex;gap:30px;margin-top:25px}.bridge-metrics>div{display:flex;flex-direction:column;gap:6px}.bridge-metrics strong{font-family:var(--font-serif),serif;font-weight:400;font-size:58px;line-height:1}.bridge-metrics span{font-size:10px;color:var(--muted);max-width:115px}.bridge-date{font:9px ui-monospace,monospace;color:var(--muted);margin-top:16px}.project-index-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 40px;margin-top:56px}.project-index-grid .work-card h2{font-size:28px;margin-top:15px}.project-index-grid .work-card h2>a{display:flex;justify-content:space-between;align-items:center;gap:15px}.source-featured{margin-top:50px;display:flex;flex-direction:column;gap:26px}.source-feature{display:grid;grid-template-columns:.7fr 1.5fr;gap:35px;align-items:center;border:1px solid var(--line);border-radius:4px;padding:25px;background:#fbfaf4}.source-feature-art{min-height:215px;background:#e8ece0;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:22px;color:var(--forest);border-radius:2px}.source-feature:nth-child(2) .source-feature-art{background:#eae3d7;color:#685535}.source-feature:nth-child(3) .source-feature-art{background:#e8e5eb;color:#655c75}.source-art-label{font:12px ui-monospace,monospace;letter-spacing:-.02em}.source-feature>div:last-child{padding:15px 25px 15px 0}.source-feature>div>.mono{color:var(--muted);font-size:9px}.source-feature h2{font-size:35px;margin-top:16px}.source-feature h2>a{display:flex;align-items:center;justify-content:space-between;gap:20px}.source-feature h2 svg{flex:none}.source-feature p{font-size:14px;line-height:1.85;color:var(--muted);margin-top:17px;max-width:580px}.source-feature-links{display:flex;gap:30px;margin-top:22px}.source-feature-links>.text-link{font-size:12px}.repo-directory{padding-top:60px;margin-top:60px;border-top:1px solid var(--line)}.directory-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px}.directory-heading h2{font-size:37px}.directory-heading .mono{color:var(--muted);font-size:10px}.directory-toolbar{display:flex;gap:35px;justify-content:space-between;align-items:end}.directory-search{display:flex;flex-direction:column;gap:10px;min-width:300px}.directory-search>span{font-size:12px}.directory-search input{border:1px solid #b8c2b0;border-radius:3px;background:#fcfcf6;padding:13px 16px;min-height:48px;font-size:14px;color:var(--ink)}.directory-filters{display:flex;flex-wrap:wrap;gap:8px}.directory-filters button{background:transparent;border:1px solid #bbc4b3;border-radius:3px;padding:11px 14px;font-size:12px;min-height:44px}.directory-filters button[aria-pressed=true]{background:var(--forest);color:var(--paper);border-color:var(--forest)}.directory-count{font-size:12px;color:var(--muted);margin:22px 0}.repo-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.repo-card{border:1px solid var(--line);padding:25px;border-radius:3px;display:flex;flex-direction:column;min-width:0}.repo-card-top{display:flex;justify-content:space-between;gap:15px;align-items:center;color:var(--forest)}.repo-card-top>.mono{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--muted)}.repo-card h3{font-size:24px;margin-top:24px;line-height:1.25;overflow-wrap:anywhere}.repo-card h3>a{display:flex;justify-content:space-between;align-items:start;gap:14px}.repo-card h3 svg{flex:none;margin-top:4px}.repo-card>p{font-size:13px;color:var(--muted);line-height:1.8;margin-top:14px;margin-bottom:23px}.repo-card-bottom{display:flex;justify-content:space-between;gap:15px;align-items:end;margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}.repo-card-bottom .mono{font-size:10px}.repo-card-bottom>a{font-size:11px;display:inline-flex;gap:8px;align-items:center}.empty-results{padding:30px 0;color:var(--muted)}.directory-jump-links{display:flex;flex-wrap:wrap;gap:15px 24px;margin-top:35px}.directory-jump-links>a{display:flex;gap:11px;align-items:center;font-size:13px;padding:7px 0;border-bottom:1px solid #bcc5b4}.writing-topic{margin-top:60px;scroll-margin-top:30px}.reading-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.reading-card{padding:27px;border:1px solid var(--line);border-radius:3px;display:flex;flex-direction:column;align-items:flex-start}.reading-card>.mono{font-size:10px;color:var(--muted)}.reading-card h3{font-size:27px;line-height:1.25;margin-top:17px}.reading-card h3>a{display:flex;align-items:start;gap:15px}.reading-card h3 svg{flex:none;margin-top:5px}.reading-card>p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:17px;margin-bottom:27px}.reading-card>.text-link{margin-top:auto;font-size:12px}.directory-end{margin-top:50px;padding-top:27px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.tool-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;margin-top:52px}.tool-card{padding:26px;border:1px solid var(--line);border-radius:3px;display:flex;flex-direction:column;align-items:start;min-width:0}.tool-number{font-size:9px;color:var(--muted);margin-bottom:25px}.tool-card>svg{color:var(--forest)}.tool-card h2{font-size:25px;line-height:1.25;margin-top:22px}.tool-card h2>a{display:flex;gap:14px;align-items:start}.tool-card h2 svg{flex:none;margin-top:4px}.tool-card>p{font-size:13px;line-height:1.85;color:var(--muted);margin-top:17px;margin-bottom:26px}.tool-card-links{display:flex;flex-wrap:wrap;gap:15px 20px;margin-top:auto}.tool-card-links .text-link{font-size:11px;gap:8px}.callout{margin-top:55px;padding:35px;background:var(--soft);border:1px solid var(--line);border-radius:3px;display:flex;gap:40px;align-items:center;justify-content:space-between}.callout h2{font-size:33px;margin-top:12px}.callout p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:680px;color:var(--muted);margin-top:15px}.callout>.button{flex:none}.resource-list{margin-top:50px}.resource-list>article{display:grid;grid-template-columns:55px 1fr 220px;gap:30px;padding:30px 0;border-top:1px solid var(--line);align-items:start}.resource-number{color:var(--muted);padding-top:5px}.resource-list h2{font-size:32px;margin-top:9px}.resource-list h2>a{display:flex;gap:17px;align-items:center;width:-moz-fit-content;width:fit-content}.resource-list article p:not(.eyebrow){font-size:14px;line-height:1.85;color:var(--muted);max-width:670px;margin-top:13px}.resource-host{color:var(--muted);justify-self:end;padding-top:8px;font-size:10px}.resource-attribution{padding-top:24px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.ecosystem-map{height:500px;position:relative;margin-top:55px}.map-lines{position:absolute;inset:0;width:100%;height:100%;color:#a3b194}.map-node{position:absolute;width:260px;min-height:188px;padding:23px;background:#f9f9f1;border:1px solid #ccd4c2;border-radius:4px;display:flex;flex-direction:column;gap:9px;box-shadow:0 9px 24px #2c3b2510;transition:transform .2s,border-color .2s}.map-node:hover{transform:translateY(-4px);border-color:var(--forest)}.map-node>.mono{font-size:8px;color:var(--muted)}.map-node>strong{font-size:22px;font-weight:500;letter-spacing:-.035em;line-height:1.2}.map-node>span:not(.mono){font-size:11px;color:var(--muted);line-height:1.8}.map-node>svg:first-child{color:var(--forest)}.map-node>svg:last-child{position:absolute;right:18px;top:20px;color:var(--forest)}.map-portfolio{left:2%;top:155px}.map-github{left:calc(50% - 130px);top:0}.map-publication{right:2%;top:155px;background:#eee9dd}.map-tools{left:calc(50% - 130px);bottom:0;background:#eaf0e0}.journeys{margin-top:70px}.journeys>.body-copy{font-size:14px;max-width:640px;color:var(--muted)}.journey-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;margin-top:32px}.journey-grid article{border-top:1px solid var(--line);padding-top:22px}.journey-grid .mono{color:var(--muted)}.journey-grid h3{font-size:27px;margin-top:16px}.journey-grid ol{list-style:none;margin:23px 0 0;padding:0;counter-reset:path}.journey-grid li{counter-increment:path;padding:11px 0;border-bottom:1px solid var(--line)}.journey-grid li>a{display:flex;gap:12px;justify-content:space-between;align-items:center;font-size:12px}.journey-grid li>a:before{content:counter(path);font:9px ui-monospace,monospace;color:var(--muted)}.journey-grid li svg{margin-left:auto;flex:none}.stat-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:50px}.stat-card{border-top:1px solid var(--line);padding-top:24px}.stat-card>.mono{font-size:10px;color:var(--muted)}.stat-card strong{display:block;font-size:72px;font-family:var(--font-serif),serif;font-weight:400;line-height:1.2;margin-top:17px;letter-spacing:-.025em}.stat-period{font:10px ui-monospace,monospace;color:var(--muted);margin-top:15px;line-height:1.8}.stat-card>p:last-child{font-size:12px;line-height:1.85;color:var(--muted);margin-top:16px}.click-chart{margin:55px 0 0;padding:30px;background:#f0f1e7;border:1px solid var(--line);border-radius:4px}.click-chart h2{font-size:31px}.click-chart figcaption>p{font-size:12px;line-height:1.8;color:var(--muted);margin-top:12px}.click-chart>svg{width:100%;height:auto;margin-top:20px;display:block}.chart-table{font-size:12px}.chart-table summary{cursor:pointer;padding:10px 0;width:-moz-fit-content;width:fit-content}.chart-table table{border-collapse:collapse;width:100%;margin-top:14px}.chart-table td,.chart-table th{padding:10px 12px;border-bottom:1px solid #cdd4c3;text-align:left;font-weight:400}.chart-table td:last-child,.chart-table th:last-child{text-align:right}.stats-methodology{margin-top:50px;border-top:1px solid var(--line);padding-top:30px}.stats-methodology h2{font-size:35px;margin-top:17px}.stats-methodology>div:not(.method-links){display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:26px}.stats-methodology p:not(.eyebrow){font-size:13px;line-height:1.9;color:var(--muted)}.method-links{display:flex;gap:23px 35px;flex-wrap:wrap;margin-top:28px}.method-links .text-link{font-size:12px}.source-page-heading{display:grid;grid-template-columns:1.65fr .65fr;gap:90px;margin-top:50px;align-items:end}.source-page-heading h1{font-size:clamp(43px,5.8vw,82px);line-height:1.07;overflow-wrap:anywhere;margin-top:21px}.source-lead{font-family:var(--font-serif),serif;font-size:37px;line-height:1.2;margin-top:26px}.source-page-heading .body-copy{font-size:15px;color:var(--muted);margin-top:23px;max-width:660px}.source-page-heading aside>.mono{font-size:9px;color:var(--muted)}.source-page-heading aside>p{font-size:13px;line-height:1.9;margin-top:13px}.source-page-heading aside>.text-link{font-size:12px;margin-top:24px}.source-page-body{display:grid;grid-template-columns:.65fr 1.65fr;gap:90px;border-top:1px solid var(--line);padding-top:45px;margin-top:55px}.source-docs{display:flex;flex-direction:column;align-items:start;gap:20px}.source-docs>.eyebrow{margin-bottom:5px}.source-docs .text-link{font-size:12px}.source-section+.source-section{margin-top:37px}.source-section h2{font-size:32px}.source-section p{font-size:15px;line-height:1.95;color:var(--muted);margin-top:21px}.source-example{margin-top:42px;padding:28px;background:var(--soft);border:1px solid var(--line);border-radius:3px}.source-example h2{font-size:29px;margin-top:14px}.source-example>p:not(.eyebrow){font-size:13px;line-height:1.9;color:var(--muted);margin-top:17px}.source-example pre{font:12px ui-monospace,Consolas,monospace;background:#202921;color:#f7f6ef;padding:20px;overflow:auto;border-radius:3px;margin:22px 0 0;line-height:1.8}.fixture-rule code{color:var(--forest)}.source-example-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:21px}.source-example-links .text-link{font-size:11px}.related-connections{margin-top:55px;padding-top:30px;border-top:1px solid var(--line);margin-bottom:30px}.related-connections>div{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:20px}.connection-card{border:1px solid var(--line);padding:23px;border-radius:3px}.connection-card .mono{font-size:9px;color:var(--muted)}.connection-card strong{display:flex;gap:15px;justify-content:space-between;align-items:start;margin-top:14px;font-weight:500;font-size:20px;line-height:1.4;letter-spacing:-.025em}.connection-card svg{flex:none;margin-top:3px}@media (max-width:1100px){.tool-grid{grid-template-columns:1fr 1fr}.source-feature{grid-template-columns:.65fr 1.35fr}.source-feature h2{font-size:30px}.source-feature>div:last-child{padding-right:5px}.source-art-label{font-size:10px}.map-node{width:225px}.map-github,.map-tools{left:calc(50% - 112px)}.map-portfolio{left:0}.map-publication{right:0}.stat-card-grid{grid-template-columns:1fr 1fr;gap:36px 30px}.stat-card strong{font-size:70px}.source-page-body,.source-page-heading{gap:60px}}@media (max-width:800px){.desktop-nav{gap:18px}.directory-heading{align-items:start;flex-direction:column;gap:14px}.directory-toolbar{flex-direction:column;align-items:stretch;gap:22px}.directory-search{min-width:0}.bridge-grid{gap:23px}.bridge-card h3{font-size:22px}.bridge-card>p:not(.mono):not(.bridge-date){font-size:12px}.bridge-metrics{gap:17px}.bridge-metrics strong{font-size:45px}.bridge-metrics span{font-size:9px}.source-feature{grid-template-columns:.7fr 1.3fr;gap:25px;padding:20px}.source-feature-art{min-height:230px;padding:18px}.source-art-label{font-size:8px}.source-feature h2{font-size:28px}.source-feature p{font-size:12px}.source-feature-links{gap:22px}.source-feature-links>.text-link{font-size:10px}.repo-card{padding:21px}.reading-card{padding:23px}.reading-card h3{font-size:24px}.callout{align-items:start;flex-direction:column;gap:25px}.resource-list>article{grid-template-columns:34px 1fr;gap:20px}.resource-host{grid-column:2;justify-self:start;padding:0}.ecosystem-map{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:25px}.map-lines{display:none}.map-node{position:relative;inset:auto;width:auto;min-height:225px}.journey-grid{gap:25px}.journey-grid h3{font-size:23px}.journey-grid li>a{font-size:11px}.stats-methodology>div:not(.method-links){grid-template-columns:1fr}.source-page-body,.source-page-heading{gap:40px}.source-page-heading{grid-template-columns:1.5fr .7fr}.source-page-body{grid-template-columns:.7fr 1.5fr}.source-lead{font-size:31px}.source-section h2{font-size:28px}.source-section p{font-size:13px}.related-connections>div{gap:17px}.connection-card{padding:18px}.connection-card strong{font-size:17px}}@media (max-width:620px){.site-explore{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;padding:28px 0}.site-explore a{font-size:10px;justify-content:space-between}.directory-title h1{font-size:clamp(42px,11vw,61px)}.directory-page{padding-bottom:60px}.ecosystem-bridge{padding:54px 0 20px}.bridge-grid{grid-template-columns:1fr;gap:35px}.bridge-card h3{font-size:27px}.bridge-card>p:not(.mono):not(.bridge-date){font-size:13px;max-width:440px}.bridge-card .text-link{margin-top:0}.bridge-metrics{gap:45px}.bridge-metrics strong{font-size:55px}.bridge-metrics span{font-size:10px}.bridge-card>.mono{font-size:9px}.project-index-grid{grid-template-columns:1fr;gap:38px;margin-top:35px}.project-index-grid .work-card h2{font-size:25px}.source-featured{margin-top:34px;gap:27px}.source-feature{grid-template-columns:1fr;gap:24px;padding:22px}.source-feature-art{min-height:160px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:19px}.source-feature-art>.mono{align-self:start;font-size:10px}.source-feature-art>svg{justify-self:end;grid-column:2;grid-row:1/3}.source-art-label{font-size:11px;grid-column:1;grid-row:2;align-self:end;white-space:nowrap}.source-feature>div:last-child{padding:0}.source-feature h2{font-size:28px;line-height:1.17;margin-top:13px}.source-feature p{font-size:13px;margin-top:15px}.source-feature-links{gap:26px;margin-top:20px}.source-feature-links>.text-link{font-size:11px}.repo-directory{margin-top:38px;padding-top:34px}.directory-heading h2{font-size:30px}.directory-heading .mono{font-size:9px}.directory-filters{gap:7px}.directory-filters button{font-size:10px;padding:10px 12px}.directory-search input{font-size:13px}.repo-grid{grid-template-columns:1fr;gap:20px}.repo-card h3{font-size:24px;margin-top:20px}.repo-card>p{font-size:12px}.directory-jump-links{gap:17px 23px;margin-top:25px}.directory-jump-links>a{font-size:12px}.writing-topic{margin-top:38px}.reading-grid{grid-template-columns:1fr;gap:20px}.reading-card h3{font-size:25px}.reading-card>p{font-size:12px;margin-bottom:23px}.reading-card>.text-link{font-size:11px}.directory-end{margin-top:33px;gap:23px}.directory-end>.text-link{font-size:12px}.tool-grid{grid-template-columns:1fr;margin-top:34px;gap:20px}.tool-card{padding:23px}.tool-number{margin-bottom:19px}.tool-card h2{font-size:26px;margin-top:18px}.tool-card>p{font-size:13px}.callout{padding:25px;margin-top:34px}.callout h2{font-size:29px}.callout>.button{font-size:12px}.resource-list{margin-top:34px}.resource-list>article{padding:23px 0;gap:10px 16px;grid-template-columns:24px 1fr}.resource-list h2{font-size:28px}.resource-list article p:not(.eyebrow){font-size:12px;line-height:1.9}.resource-host{font-size:9px}.resource-attribution{font-size:11px;line-height:1.9}.ecosystem-map{grid-template-columns:1fr;margin-top:34px;gap:20px}.map-node{min-height:0;padding:25px;gap:12px}.map-node>strong{font-size:24px}.map-node>span:not(.mono){font-size:12px}.map-node>.mono{font-size:9px}.journeys{margin-top:40px}.journey-grid{grid-template-columns:1fr;gap:32px;margin-top:28px}.journey-grid h3{font-size:27px}.journey-grid li>a{font-size:13px}.stat-card-grid{grid-template-columns:1fr 1fr;gap:30px 23px;margin-top:35px}.stat-card>.mono{font-size:9px}.stat-card strong{font-size:57px;margin-top:11px}.stat-period{font-size:8px}.stat-card>p:last-child{font-size:11px;line-height:1.85}.click-chart{padding:20px 13px;margin-top:37px}.click-chart h2{font-size:27px}.click-chart figcaption>p{font-size:11px}.click-chart>svg{margin-top:15px}.chart-table{font-size:10px}.chart-table td,.chart-table th{padding:8px 4px}.stats-methodology{margin-top:35px;padding-top:26px}.stats-methodology h2{font-size:30px}.stats-methodology p:not(.eyebrow){font-size:12px}.method-links .text-link{font-size:11px}.source-page-heading{grid-template-columns:1fr;gap:27px;margin-top:32px}.source-page-heading h1{font-size:clamp(40px,11vw,65px);margin-top:18px}.source-lead{font-size:29px;margin-top:21px}.source-page-heading .body-copy{font-size:14px;line-height:1.9;margin-top:19px}.source-page-heading aside{border-top:1px solid var(--line);padding-top:20px}.source-page-heading aside>p{font-size:12px;margin-top:7px}.source-page-heading aside>.text-link{font-size:12px;margin-top:17px}.source-page-body{grid-template-columns:1fr;gap:34px;margin-top:32px;padding-top:29px}.source-docs{flex-direction:row;flex-wrap:wrap;gap:15px 24px}.source-docs>.eyebrow{width:100%;margin-bottom:0}.source-docs>.text-link{font-size:11px}.source-section h2{font-size:29px}.source-section p{font-size:14px;line-height:1.95;margin-top:18px}.source-section+.source-section{margin-top:29px}.source-example{margin-top:31px;padding:22px 17px}.source-example h2{font-size:25px;overflow-wrap:anywhere}.source-example pre{font-size:11px;padding:15px}.source-example>p:not(.eyebrow){font-size:12px}.related-connections{margin-top:35px;padding-top:26px}.related-connections>div{grid-template-columns:1fr;gap:17px}.connection-card{padding:22px}.connection-card strong{font-size:22px}.related-connections+.text-link{font-size:12px}}.not-found{min-height:100vh;padding-block:60px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.not-found>.wordmark{margin-bottom:60px}.not-found h1{font-size:clamp(48px,8vw,92px);line-height:1.06;margin:24px 0}.not-found>p:not(.eyebrow){margin-bottom:28px;color:var(--muted)}:root{--paper:#f7f6ef;--ink:#202921;--forest:#274d3d;--muted:#636c61;--line:#d9ddd1;--soft:#eeeee3;--font-sans:Arial,sans-serif;--font-serif:Georgia,serif;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans),sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}button:disabled{cursor:wait;opacity:.6}::-moz-selection{background:#d4e4be;color:#203628}::selection{background:#d4e4be;color:#203628}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.045em;line-height:1.12}em{font-family:var(--font-serif),Georgia,serif;font-weight:400;letter-spacing:-.025em}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid #407454;outline-offset:5px}.shell{width:min(1200px,calc(100% - 96px));margin-inline:auto}.eyebrow,.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;letter-spacing:.07em;line-height:1.6}.eyebrow{text-transform:uppercase;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:500;padding-bottom:5px;border-bottom:1px solid var(--ink);width:-moz-fit-content;width:fit-content}.button svg,.text-link svg{transition:transform .2s ease}.button:hover svg,.text-link:hover svg{transform:translate(2px,-2px)}.text-link:hover{color:var(--forest);border-color:var(--forest)}.button{min-height:50px;display:inline-flex;justify-content:center;align-items:center;gap:22px;padding:13px 22px;font-size:13px;font-weight:500;border:1px solid transparent;border-radius:3px;transition:background .2s,transform .2s}.button-forest{background:var(--forest);color:#fff}.button-forest:hover{background:#173e2c;transform:translateY(-1px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:16px;z-index:100;background:var(--forest);color:white;padding:12px 18px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.muted{color:var(--muted)}.site-header{position:relative;z-index:20}.header-inner{height:100px;justify-content:space-between;border-bottom:1px solid var(--line)}.header-inner,.wordmark{display:flex;align-items:center}.wordmark{gap:12px;font-size:16px;font-weight:600;line-height:1.05;letter-spacing:-.04em}.wordmark small{font-size:11px;font-weight:400;letter-spacing:0}.monogram{display:flex;align-items:center;justify-content:center;width:43px;height:43px;background:var(--forest);color:var(--paper);font-family:var(--font-serif),serif;font-style:italic;font-size:36px;line-height:1;padding-bottom:5px;border-radius:2px}.desktop-nav{display:flex;gap:32px;margin-left:66px}.desktop-nav a{font-size:12px;position:relative;padding:8px 0}.desktop-nav a:after{content:"";position:absolute;bottom:3px;left:0;width:0;height:1px;background:var(--forest);transition:width .25s}.desktop-nav a.is-active:after,.desktop-nav a:hover:after{width:100%}.header-actions{display:flex;gap:25px;align-items:center}.language-link{font:11px ui-monospace,SFMono-Regular,monospace;letter-spacing:.04em;padding:10px 0;color:var(--muted)}.header-contact{display:flex;gap:18px;align-items:center;border:1px solid #acb6a6;padding:9px 14px;font-size:12px;border-radius:3px;transition:border-color .2s,background .2s}.header-contact:hover{border-color:var(--forest);background:#e7ebdd}.menu-toggle{display:none;background:none;border:0;padding:8px;color:var(--ink)}.mobile-nav{padding:16px 0 24px;border-bottom:1px solid var(--line)}.mobile-nav nav{display:flex;flex-direction:column}.mobile-nav a{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);font-size:18px}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:76px;padding-top:52px;padding-bottom:70px;align-items:start}.hero-role{display:flex;align-items:center;gap:11px;font-size:10px;color:#405642}.tiny-cross{font-family:var(--font-serif),serif;font-size:23px;line-height:1}.role-divider{width:16px;height:1px;background:#9ca68e}.hero h1{margin:21px 0 25px;font-size:clamp(74px,7.6vw,113px);line-height:.94;letter-spacing:-.07em}.hero h1>span:first-child{display:block;font-weight:500}.hero h1 em{display:block;font-size:1.17em;line-height:.97;letter-spacing:-.025em}.hero-intro{max-width:480px;font-size:16px;line-height:1.8;color:#586451;margin-top:26px}.hero-links{gap:27px;margin-top:26px}.hero-foot,.hero-links{display:flex;align-items:center}.hero-foot{justify-content:space-between;gap:20px;margin-top:42px}.availability{display:flex;align-items:center;gap:8px;font-size:10px;color:#52634e}.availability i,.project-state i{width:5px;height:5px;border-radius:50%;background:#4f7950;flex:none}.scroll-note{display:flex;gap:9px;align-items:center;font-size:10px;color:var(--muted)}.hero-portrait{position:relative;padding:17px 22px 38px 13px;max-width:435px;justify-self:end;width:100%;margin-top:4px}.portrait-paper{padding:11px 11px 0;background:#fffef8;border:1px solid #dce0d2;box-shadow:0 15px 40px #34422b14;transform:rotate(2.5deg);position:relative;z-index:1;transition:transform .5s}.hero-portrait:hover .portrait-paper{transform:rotate(0)}.portrait-paper>img{width:100%;height:auto;aspect-ratio:4/4.7;object-fit:cover;object-position:50% 28%;filter:saturate(.62)}.portrait-caption{display:flex;justify-content:space-between;gap:10px;font:9px ui-monospace,SFMono-Regular,monospace;padding:17px 6px 20px;color:#5a6453}.portrait-caption span:last-child{font-size:8px;color:#8b927e}.portrait-note{position:absolute;left:-44px;bottom:-14px;display:flex;align-items:center;gap:5px;font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:19px;line-height:1.22;color:#53684b;transform:rotate(-5deg);z-index:2}.portrait-note svg{width:61px;height:65px;transform:rotate(175deg)}.portrait-coordinate{position:absolute;right:-11px;top:150px;writing-mode:vertical-rl;font:8px ui-monospace,SFMono-Regular,monospace;letter-spacing:.16em;color:#7a846f}.discipline-strip{border-block:1px solid var(--line);background:#f0f1e6}.discipline-strip>.shell{display:flex;justify-content:space-between;align-items:center;gap:30px;min-height:64px;font-size:10px;color:#596352}.discipline-strip>.shell>span:first-child{font-family:var(--font-serif),serif;font-size:19px;font-style:italic;color:var(--ink)}.discipline-strip i{font-style:normal;color:#a4ad98;margin:0 13px}.work-section{padding-top:100px;padding-bottom:105px;scroll-margin-top:30px}.section-heading{display:grid;grid-template-columns:1.35fr 1fr;align-items:end;gap:70px;margin-bottom:49px}.about-home h2,.section-heading h2,.services-home h2{font-size:clamp(35px,3.55vw,53px);line-height:1.12;margin-top:17px;letter-spacing:-.045em}.about-home h2 em,.section-heading h2 em,.services-home h2 em{font-size:1.12em}.section-intro{font-size:14px;color:var(--muted);line-height:1.9;max-width:390px}.section-heading>.section-intro{justify-self:end;padding-bottom:6px;max-width:330px}.featured-project{display:grid;grid-template-columns:.8fr 1.65fr;border:1px solid var(--line);background:#f0f1e9;border-radius:4px;overflow:hidden;min-height:470px}.featured-copy{padding:34px 30px;display:flex;flex-direction:column;align-items:start}.project-meta{justify-content:space-between;gap:30px;width:100%;margin-bottom:37px}.project-meta,.project-state{display:flex;align-items:center}.project-state{font:9px ui-monospace,SFMono-Regular,monospace;letter-spacing:.025em;gap:6px;color:#52634c;white-space:nowrap}.state-prototype{color:#755f36}.state-prototype i{background:#a68438}.state-development{color:#66637b}.state-development i{background:#7d7196}.project-type{font-size:10px;color:var(--muted);margin-bottom:11px}.featured-copy h3{font-size:40px;line-height:1.1;margin-bottom:18px}.project-summary{font-family:var(--font-serif),serif;font-size:25px;line-height:1.25;letter-spacing:-.012em;max-width:270px}.project-description{font-size:12px;line-height:1.85;color:var(--muted);margin-top:17px}.tech-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.tech-list>span{font:9px ui-monospace,SFMono-Regular,monospace;color:#66705e;background:#e6eadf;border:1px solid #d9dfce;border-radius:2px;padding:4px 6px}.project-cta{margin-top:auto;padding-top:28px;font-size:12px}.featured-visual-link{display:block;min-width:0}.project-visual{height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:42px 35px}.tone-blue{background:#dfebed}.tone-sand{background:#eae4d7}.tone-rose{background:#eee1d9}.tone-lilac{background:#e9e6ee}.browser-window{background:white;width:100%;border-radius:5px;border:1px solid #ffffffad;box-shadow:0 18px 32px #2839441c;overflow:hidden;transition:transform .5s ease,box-shadow .5s ease;transform:rotate(-1deg)}.card-visual-link:hover .browser-window,.featured-visual-link:hover .browser-window{transform:translateY(-4px) rotate(0);box-shadow:0 24px 38px #28394424}.browser-top{height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 11px;background:#fbfcfa;border-bottom:1px solid #dde2df;gap:12px;font:7px ui-monospace,monospace;color:#819080}.browser-dots{display:flex;gap:4px}.browser-dots i{display:block;height:5px;width:5px;border-radius:50%;background:#cdd3ca}.browser-square{width:7px;height:6px;border:1px solid #d0d6cb;border-radius:1px}.browser-image{aspect-ratio:1.78;overflow:hidden;background:#fff}.browser-image img{width:100%;height:100%;object-fit:cover;object-position:top}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin-top:40px}.card-visual-link{height:300px;display:block;position:relative;border-radius:4px;overflow:hidden}.card-visual-link .project-visual{padding:32px 26px}.card-visual-link .browser-window{transform:rotate(0)}.card-open{position:absolute;right:15px;bottom:15px;background:var(--paper);width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px #0000000b;transition:transform .25s}.card-visual-link:hover .card-open{transform:rotate(45deg)}.work-card-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:19px}.work-card-head>.mono{font-size:8px;color:var(--muted);letter-spacing:.02em}.work-card h3{font-size:27px;margin-top:13px}.work-card h3 a{display:flex;align-items:center;justify-content:space-between;gap:15px}.work-card h3 svg{flex:none;color:#61745a}.work-card>p{font-size:13px;line-height:1.8;color:var(--muted);max-width:400px;margin-top:11px}.work-card .tech-list{margin-top:13px}.ongoing-project{border-block:1px solid var(--line);margin-top:51px;padding:31px 0;display:flex;justify-content:space-between;gap:40px;align-items:center}.ongoing-project .mono{font-size:9px;color:var(--muted)}.ongoing-project h3{font-size:31px;margin-top:10px}.ongoing-project p{font-size:13px;margin-top:8px;color:var(--muted)}.ongoing-right{display:flex;flex-direction:column;gap:19px;align-items:flex-end;flex:none}.ongoing-right .text-link{font-size:12px}.services-home{background:#eeeee3;border-block:1px solid #dce0d2;padding:85px 0 90px}.services-home-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:95px;align-items:start}.services-home h2{font-size:43px;max-width:540px;line-height:1.15}.services-home .section-intro{margin-top:24px;max-width:400px}.services-home .text-link{margin-top:28px}.service-list{padding-top:14px}.faq-section details,.service-list details{border-top:1px solid #cfd6c5}.faq-section details:last-child,.service-list details:last-child{border-bottom:1px solid #cfd6c5}summary{list-style:none;cursor:pointer}.service-list summary{display:flex;align-items:center;gap:19px;padding:24px 0;font-size:17px;letter-spacing:-.025em}.service-list summary>.mono{font-size:9px;color:#78836d}.service-list summary>svg{margin-left:auto;transition:transform .2s}details[open]>summary>svg{transform:rotate(45deg)}summary::-webkit-details-marker{display:none}.service-list details>p{padding:0 28px 25px 36px;font-size:13px;line-height:1.9;color:var(--muted)}.about-home{display:grid;grid-template-columns:.65fr 1.2fr;gap:100px;padding-top:97px;padding-bottom:110px}.about-margin>.mono{color:var(--muted);font-size:10px}.about-signature{font-family:var(--font-serif),serif;font-style:italic;font-size:75px;color:#456042;line-height:1;margin-top:70px;transform:rotate(-5deg)}.about-signature>span{font-size:34px;display:inline-block;transform:rotate(-10deg);margin-left:15px}.about-margin>p{font-size:10px;margin-top:26px;color:var(--muted)}.about-home h2{margin-top:0;font-size:44px}.about-lead{font-size:17px;line-height:1.9;margin-top:28px;max-width:580px}.body-copy{font-size:15px;color:var(--muted);line-height:1.95}.about-home .body-copy{max-width:540px;margin-top:17px}.about-home .text-link{margin-top:25px}.contact-section{background:#263f32;color:#f4f6e9;padding:80px 0 70px;scroll-margin-top:0}.contact-grid{display:grid;grid-template-columns:1.13fr 1fr;gap:85px;align-items:center}.contact-copy>.eyebrow{color:#b9c8ab;font-size:10px}.contact-copy h2{font-size:clamp(53px,5.8vw,85px);line-height:1.08;letter-spacing:-.05em;margin-top:23px}.contact-copy h2 em{color:#d8e5bc;font-size:1.1em}.contact-intro{font-size:13px;line-height:1.9;color:#bdcab3;max-width:385px;margin-top:25px}.direct-contact{display:flex;flex-direction:column;align-items:start;gap:9px;margin-top:27px}.direct-contact>span{font:9px ui-monospace,SFMono-Regular,monospace;text-transform:uppercase;letter-spacing:.05em;color:#bcc8b3}.direct-contact>a{display:flex;align-items:center;gap:18px;font-size:14px;border-bottom:1px solid #728369;padding-bottom:5px}.social-links{display:flex;gap:26px;margin-top:30px}.social-links>a{display:flex;gap:8px;align-items:center;font-size:10px;color:#c9d4c0}.enquiry-form{background:#f3f3e9;color:var(--ink);padding:32px;border-radius:4px;border:1px solid #fffffff0;box-shadow:0 15px 35px #12261c1a}.enquiry-form h3{font-family:var(--font-serif),serif;font-size:34px;font-weight:400;letter-spacing:-.02em;margin-bottom:24px}.enquiry-form label{display:flex;flex-direction:column;gap:9px;font-size:10px;font-weight:500;color:#58614f}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:19px;margin-bottom:22px}.enquiry-form input,.enquiry-form textarea{width:100%;border:0;border-bottom:1px solid #bbc4b1;background:transparent;padding:8px 0 11px;font-size:12px;line-height:1.6;color:var(--ink);border-radius:0;outline-offset:4px;transition:border-color .2s}.enquiry-form input:focus,.enquiry-form textarea:focus{border-color:var(--forest)}.enquiry-form input::-moz-placeholder,.enquiry-form textarea::-moz-placeholder{color:#7a8272}.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#7a8272}.enquiry-form textarea{resize:vertical;min-height:103px}.enquiry-form>.button{margin-top:22px;width:100%;font-size:12px;justify-content:space-between;min-height:45px;padding:11px 17px}.form-note{font-size:9px;color:#67705d;margin-top:12px;line-height:1.7}.form-feedback{font-size:11px;color:#345b42;margin-top:8px;line-height:1.7}.form-feedback:empty{margin:0}.honeypot{display:none}.spinner{animation:spin 1s linear infinite}.site-footer{background:#263f32;color:#c0cfb5;border-top:1px solid #526448}.footer-inner{min-height:82px;justify-content:space-between;gap:25px;font-size:9px}.footer-inner,.footer-name{display:flex;align-items:center}.footer-name{gap:15px;color:#e3e9d8;font-size:11px}.footer-name>span{font-size:9px;color:#a9b99a}.back-top{display:flex;gap:12px;align-items:center;font-size:9px}.interior-page,.project-page{padding-top:37px;padding-bottom:94px}.breadcrumbs{display:flex;gap:12px;align-items:center;font-size:10px;color:var(--muted)}.breadcrumbs a:hover{color:var(--forest);text-decoration:underline}.project-page-heading{display:grid;grid-template-columns:1.5fr .55fr;gap:90px;margin-top:50px;margin-bottom:46px;align-items:end}.project-page-heading h1{font-size:clamp(56px,6.9vw,96px);margin-top:18px;font-weight:500;letter-spacing:-.065em;line-height:1.04}.heading-period{color:#5c7950}.project-page-lead{font-family:var(--font-serif),serif;font-size:33px;line-height:1.35;letter-spacing:-.01em;max-width:700px;margin-top:27px}.project-page-side{display:flex;flex-direction:column;align-items:start;gap:12px;padding-bottom:3px}.project-page-side>.project-state{margin-bottom:14px}.project-page-side>.mono{font-size:9px;color:var(--muted);text-transform:uppercase}.project-page-side>p{font-size:11px;color:var(--muted);line-height:1.9}.project-page-side>.text-link{font-size:11px;margin-top:4px}.case-visual{padding:34px;border-radius:4px}.project-gallery{max-width:1080px;margin:auto}.gallery-image{aspect-ratio:16/9;background:#fff;overflow:hidden;box-shadow:0 8px 25px #243b3714;border-radius:3px}.gallery-image>img{width:100%;height:100%;object-fit:contain}.gallery-controls{display:flex;align-items:center;justify-content:space-between;padding-top:20px}.gallery-controls .mono{font-size:10px}.gallery-controls>div{display:flex;gap:8px}.gallery-controls button{background:#f9faf3;border:1px solid #ffffff86;width:37px;height:37px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.gallery-controls button:hover{background:white}.case-content{display:grid;grid-template-columns:.55fr 1.5fr;gap:90px;margin-top:73px}.case-status-note{font-size:11px;line-height:1.9;color:var(--muted);max-width:220px;margin-top:18px}.case-content h2{font-size:32px;line-height:1.35;font-weight:400;letter-spacing:-.035em;max-width:700px}.case-content .body-copy{margin-top:25px;max-width:690px}.case-content h3{font-size:21px;margin-top:37px}.case-focus{list-style:none;padding:0;margin:23px 0 0}.case-focus>li{display:flex;gap:15px;align-items:start;padding:18px 0;border-top:1px solid var(--line);font-size:13px;color:var(--muted);line-height:1.9}.case-focus svg{flex:none;margin-top:4px;color:#5a754c}.case-video{display:grid;grid-template-columns:.55fr 1.5fr;gap:90px;margin-top:60px;padding-top:39px;border-top:1px solid var(--line)}.case-video h2{font-size:26px;line-height:1.25;margin-top:13px;max-width:220px}.case-video video{width:100%;background:#e1e7dc;border:1px solid var(--line);border-radius:3px;aspect-ratio:16/9}.case-end{border-top:1px solid var(--line);padding-top:28px;margin-top:48px;display:flex;justify-content:space-between;gap:20px}.case-end>.mono{font-size:9px;color:var(--muted)}.interior-heading{padding-top:36px;max-width:1100px}.about-page-top h1,.interior-heading h1{font-size:clamp(47px,5.7vw,79px);line-height:1.08;letter-spacing:-.05em;margin-top:24px}.about-page-top h1>em,.interior-heading h1>em{font-size:1.1em;line-height:1.1}.interior-heading>p:last-child{font-size:16px;color:var(--muted);line-height:1.95;max-width:750px;margin-top:30px}.service-detail-list{margin-top:63px}.service-detail-list>article{display:grid;grid-template-columns:70px 1.3fr .8fr;gap:35px;border-top:1px solid var(--line);padding:38px 0;align-items:start}.service-detail-list>article:last-child{border-bottom:1px solid var(--line)}.service-number{font-family:var(--font-serif),serif;font-size:37px;color:#82916c;line-height:1}.service-detail-list h2{font-size:27px}.service-detail-list article>div>p{font-size:14px;line-height:1.95;color:var(--muted);max-width:590px;margin-top:17px}.service-tools{font-size:9px;display:block;color:var(--muted);margin-top:17px}.service-example{display:flex;flex-direction:column;gap:10px;max-width:225px;justify-self:end;margin-top:5px;border-left:1px solid var(--line);padding-left:25px}.service-example .eyebrow{font-size:8px}.service-example>span:last-child{font-size:15px;display:flex;align-items:center;gap:18px}.service-example:hover{color:var(--forest)}.process-section{margin-top:82px}.process-section>h2{font-size:38px;margin-top:16px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:38px}.process-grid article{border-top:1px solid var(--line);padding-top:18px}.process-grid .mono{font-size:9px;color:#718166}.process-grid h3{font-size:21px;margin-top:21px}.process-grid p{font-size:13px;color:var(--muted);line-height:1.9;margin-top:14px}.faq-section{display:grid;grid-template-columns:.6fr 1.1fr;gap:70px;margin-top:85px}.faq-section h2{font-size:39px}.faq-section summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:21px 0;font-size:14px;font-weight:500}.faq-section summary>svg{flex:none}.faq-section details>p{font-size:13px;line-height:1.95;color:var(--muted);padding:0 20px 25px 0}.about-page-top{display:grid;grid-template-columns:1.4fr .75fr;gap:100px;align-items:center;padding-top:26px}.about-page-top h1{font-size:67px;line-height:1.16}.about-page-intro{font-size:17px;line-height:1.9;max-width:650px;color:var(--muted);margin-top:30px}.about-links{display:flex;gap:32px;margin-top:25px}.about-page-portrait{background:#efeee2;border:1px solid var(--line);padding:11px;transform:rotate(2deg)}.about-page-portrait>img{aspect-ratio:4/4.6;width:100%;height:auto;object-fit:cover;object-position:50% 20%;filter:saturate(.6)}.about-page-portrait>.mono{display:block;font-size:8px;padding:16px 5px 6px;text-align:center;color:var(--muted)}.about-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;padding-top:65px;margin-top:67px;border-top:1px solid var(--line)}.about-story h2{font-size:27px}.about-story p{font-size:14px;line-height:1.95;color:var(--muted);margin-top:22px}.toolkit-section{margin-top:67px;padding-top:30px;border-top:1px solid var(--line)}.toolkit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:28px}.toolkit-grid h2{font-size:20px}.toolkit-grid ul{list-style:none;padding:0;margin:20px 0 0}.toolkit-grid li{font-size:12px;color:var(--muted);padding:8px 0;border-bottom:1px solid #e1e4d8}.not-found-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;gap:24px}.not-found-page .error-number{font-family:var(--font-serif),serif;font-size:140px;color:#b4bea6;line-height:1}.not-found-page h1{font-size:42px}.not-found-page p{max-width:440px;color:var(--muted);font-size:14px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes enter{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.hero-copy{animation:enter .55s both}.hero-portrait{animation:enter .65s both}}@media (min-width:1440px){.hero h1{font-size:116px}.hero{gap:84px}.hero-portrait{max-width:430px}}@media (max-width:1100px){.shell{width:calc(100% - 64px)}.hero{gap:45px}.hero h1{font-size:90px}.hero h1 em{font-size:1.15em}.hero-intro{font-size:14px}.hero-links{gap:18px;flex-wrap:wrap}.hero-links .text-link{font-size:12px}.hero-foot{margin-top:30px;flex-wrap:wrap;gap:14px}.hero-portrait{padding:16px 17px 32px 8px}.portrait-note{left:-25px;bottom:-15px;font-size:17px}.portrait-note svg{width:47px}.desktop-nav{margin-left:0;gap:24px}.featured-copy{padding:28px 24px}.project-visual{padding:34px 24px}.featured-project{grid-template-columns:.8fr 1.3fr;min-height:445px}.project-summary{font-size:23px}.project-pair{gap:28px}.card-visual-link{height:250px}.services-home-grid{gap:60px}.about-home h2,.services-home h2{font-size:36px}.about-home{gap:55px}.contact-grid{gap:45px}.contact-copy h2{font-size:65px}.enquiry-form{padding:27px}.form-row{grid-template-columns:1fr;gap:18px}.contact-copy .direct-contact>a{font-size:12px}.case-content,.case-video,.project-page-heading{gap:60px}.project-page-heading h1{font-size:74px}.project-page-lead{font-size:29px}.about-page-top{gap:65px}.about-page-top h1{font-size:57px}.about-story{gap:65px}.service-detail-list>article{gap:24px;grid-template-columns:50px 1.3fr .8fr}}@media (max-width:800px){.shell{width:calc(100% - 48px)}.header-inner{height:85px}.desktop-nav{gap:18px}.desktop-nav a{font-size:11px}.header-actions{gap:16px}.header-contact{padding:8px 11px;font-size:11px;gap:10px}.wordmark{font-size:14px}.hero{gap:32px;padding-top:40px;padding-bottom:58px}.hero h1{font-size:70px}.hero-intro{font-size:13px;line-height:1.9}.hero-role{font-size:8px;gap:8px}.tiny-cross{font-size:20px}.hero-portrait{margin-top:23px}.portrait-caption{font-size:7px;padding:13px 2px 15px}.portrait-caption span:last-child{font-size:6px}.portrait-coordinate{font-size:6px;right:-2px;top:100px}.portrait-note{font-size:15px;left:-34px;bottom:-11px}.hero-links{gap:20px;margin-top:22px}.hero-links .button{font-size:11px;gap:12px;padding:11px 16px;min-height:44px}.hero-foot{gap:12px}.availability,.scroll-note{font-size:8px}.discipline-strip>.shell{flex-wrap:wrap;justify-content:center;gap:10px;padding:15px 0}.discipline-strip>.shell>span:first-child{font-size:16px}.discipline-strip>.shell>span:last-child{font-size:9px}.discipline-strip i{margin:0 7px}.section-heading{gap:35px;margin-bottom:34px}.section-heading h2{font-size:37px}.section-heading .section-intro{font-size:12px}.work-section{padding:73px 0 77px}.featured-project{grid-template-columns:1fr;min-height:0}.featured-copy{padding:25px;display:grid;grid-template-columns:1fr 1fr;gap:12px 26px}.project-meta{grid-column:1/-1;margin-bottom:10px}.featured-copy .project-type{grid-column:1;grid-row:2;margin-bottom:0}.featured-copy h3{grid-column:1;grid-row:3;margin-bottom:0;font-size:36px}.featured-copy .project-summary{grid-column:2;grid-row:2/5;font-size:24px;align-self:center}.featured-copy .project-description{grid-column:1;grid-row:4;font-size:11px;margin-top:0}.featured-copy .tech-list{grid-column:1;margin:0}.featured-copy .project-cta{grid-column:2;grid-row:5;margin:0;padding:0;align-self:end}.featured-visual-link .project-visual{min-height:320px;padding:30px}.featured-visual-link .browser-window{max-width:580px}.project-pair{gap:24px;margin-top:29px}.card-visual-link{height:215px}.card-visual-link .project-visual{padding:27px 18px}.work-card-head{align-items:start;flex-direction:column;gap:8px}.work-card h3{font-size:24px}.work-card>p{font-size:12px}.services-home{padding:65px 0}.services-home-grid{gap:40px;grid-template-columns:1fr 1fr}.services-home h2{font-size:32px}.services-home .section-intro{font-size:12px}.service-list summary{font-size:14px;gap:12px;padding:22px 0}.service-list details>p{font-size:12px;padding-left:26px}.about-home{padding:68px 0 80px;grid-template-columns:.55fr 1fr;gap:45px}.about-home h2{font-size:35px}.about-margin>.mono{font-size:8px}.about-lead{font-size:14px}.about-home .body-copy{font-size:13px}.contact-grid{gap:30px;grid-template-columns:.95fr 1fr}.contact-section{padding:60px 0}.contact-copy h2{font-size:53px}.contact-copy h2 em{font-size:1.04em}.contact-intro{font-size:12px}.contact-copy .direct-contact>a{font-size:10px;gap:9px}.enquiry-form{padding:24px 21px}.enquiry-form h3{font-size:28px}.enquiry-form label{font-size:9px}.enquiry-form input,.enquiry-form textarea{font-size:11px}.enquiry-form .button{font-size:10px}.form-note{font-size:8px}.project-page-heading{gap:35px;grid-template-columns:1.3fr .65fr}.project-page-heading h1{font-size:65px}.project-page-lead{font-size:27px}.case-visual{padding:24px}.case-content,.case-video{grid-template-columns:.6fr 1.3fr;gap:35px}.case-content h2{font-size:26px}.case-content .body-copy{font-size:13px}.case-focus>li{font-size:12px}.case-status-note{font-size:10px}.case-end .mono{font-size:8px}.service-detail-list>article{grid-template-columns:40px 1fr;gap:20px}.service-example{grid-column:2;justify-self:start;max-width:none;margin-top:6px;padding-left:15px}.service-detail-list h2{font-size:25px}.service-detail-list article>div>p{font-size:13px}.process-grid{gap:25px}.process-grid h3{font-size:18px}.process-grid p{font-size:12px}.faq-section{gap:35px;grid-template-columns:.6fr 1fr}.faq-section h2{font-size:31px}.about-page-top{gap:38px;grid-template-columns:1.1fr .8fr}.about-page-top h1{font-size:47px}.about-page-intro{font-size:14px}.about-story{gap:45px}.about-story p{font-size:13px}.toolkit-grid{gap:35px}.toolkit-grid h2{font-size:18px}}@media (max-width:620px){.shell{width:calc(100% - 38px)}.header-inner{height:78px}.wordmark{gap:9px;font-size:14px}.monogram{width:37px;height:37px;font-size:32px}.desktop-nav,.header-contact{display:none}.header-actions{gap:20px}.menu-toggle{display:block}.hero{grid-template-columns:1fr;gap:28px;padding-top:34px;padding-bottom:57px}.hero h1{font-size:clamp(72px,17vw,103px);margin-top:19px;margin-bottom:24px}.hero h1 em{font-size:1.13em}.hero-role{font-size:9px}.hero-intro{font-size:15px;max-width:460px;line-height:1.85;margin-top:20px}.hero-links{gap:24px;margin-top:24px}.hero-links .button{font-size:12px;min-height:48px;padding-inline:17px}.hero-links .text-link{font-size:11px}.hero-foot{margin-top:26px;justify-content:space-between}.availability,.scroll-note{font-size:9px}.hero-portrait{max-width:315px;width:82%;justify-self:center;padding:13px 20px 27px 5px;margin-top:2px}.portrait-paper>img{aspect-ratio:4/4.3}.portrait-caption{font-size:7px}.portrait-note{left:-26px;bottom:-15px;font-size:15px}.portrait-coordinate{right:-3px;font-size:6px}.discipline-strip>.shell{padding:17px 0;gap:8px;flex-direction:column}.discipline-strip>.shell>span:last-child{font-size:8px}.discipline-strip i{margin:0 7px}.work-section{padding:64px 0 66px}.section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.section-heading h2{font-size:37px}.section-heading .section-intro{justify-self:start;max-width:320px;font-size:12px;padding:0}.eyebrow{font-size:9px}.featured-copy{display:flex;gap:0;flex-direction:column;padding:25px 22px}.project-meta{margin-bottom:26px}.featured-copy .project-type{margin-bottom:8px;font-size:9px}.featured-copy h3{font-size:37px;margin-bottom:14px}.featured-copy .project-summary{align-self:start;font-size:27px;max-width:290px}.featured-copy .project-description{margin-top:13px;font-size:11px;max-width:310px}.featured-copy .tech-list{margin-top:18px}.featured-copy .project-cta{margin-top:22px;align-self:start;font-size:12px}.featured-visual-link .project-visual{min-height:225px;padding:27px 18px}.browser-top{height:21px;font-size:5px;padding-inline:8px}.browser-dots{gap:3px}.browser-dots i{width:4px;height:4px}.browser-square{width:6px;height:5px}.project-pair{grid-template-columns:1fr;gap:33px;margin-top:30px}.card-visual-link{height:auto;aspect-ratio:1.55}.card-visual-link .project-visual{padding:28px 22px}.work-card-head{flex-direction:row;justify-content:space-between;gap:14px;align-items:center;margin-top:17px}.work-card-head>.mono{font-size:7px;max-width:210px}.project-state{font-size:8px}.work-card h3{font-size:26px;margin-top:10px}.work-card h3 svg{width:21px}.work-card>p{max-width:330px;font-size:12px;margin-top:10px}.ongoing-project{margin-top:37px;padding:27px 0;align-items:start;flex-direction:column;gap:21px}.ongoing-project h3{font-size:30px}.ongoing-project p{font-size:12px}.ongoing-right{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.ongoing-right .text-link{font-size:11px}.services-home{padding:56px 0}.services-home-grid{grid-template-columns:1fr;gap:31px}.services-home h2{font-size:36px;max-width:370px}.services-home .section-intro{max-width:340px;margin-top:20px;font-size:13px}.services-home .text-link{margin-top:22px;font-size:12px}.service-list{padding:0}.service-list summary{font-size:16px;padding:22px 0;gap:18px}.service-list details>p{font-size:12px;padding-left:33px}.about-home{grid-template-columns:1fr;gap:26px;padding:57px 0 65px}.about-margin{display:flex;align-items:center;justify-content:space-between;gap:22px}.about-margin>.mono{max-width:165px;font-size:8px}.about-signature{font-size:39px;margin-top:0}.about-signature>span{font-size:20px;margin-left:8px}.about-margin>p{display:none}.about-home h2{font-size:37px}.about-lead{margin-top:24px;font-size:15px}.about-home .body-copy{font-size:13px;margin-top:15px}.about-home .text-link{font-size:12px;margin-top:23px}.contact-grid{grid-template-columns:1fr;gap:34px}.contact-section{padding:51px 0 43px}.contact-copy h2{font-size:clamp(54px,14.5vw,72px);margin-top:21px}.contact-intro{font-size:13px;max-width:350px;margin-top:20px}.direct-contact{margin-top:24px}.contact-copy .direct-contact>a{font-size:12px;gap:15px}.social-links{margin-top:22px;gap:26px}.enquiry-form{padding:25px 22px}.enquiry-form h3{font-size:32px}.form-row{grid-template-columns:1fr;gap:19px;margin-bottom:19px}.enquiry-form label{font-size:10px}.enquiry-form input,.enquiry-form textarea{font-size:12px;padding-top:7px}.enquiry-form textarea{min-height:105px}.enquiry-form .button{font-size:11px}.form-note{font-size:9px}.footer-inner{flex-wrap:wrap;gap:18px;justify-content:space-between;padding:21px 0}.footer-name{font-size:10px;gap:10px}.footer-note{order:3;width:100%;font-size:8px}.back-top{font-size:8px;gap:7px}.interior-page,.project-page{padding-top:26px;padding-bottom:58px}.breadcrumbs{font-size:9px}.project-page-heading{grid-template-columns:1fr;gap:29px;margin-top:36px;margin-bottom:30px}.project-page-heading h1{font-size:clamp(49px,13vw,71px);margin-top:17px}.project-page-lead{font-size:27px;margin-top:23px}.project-page-side{display:grid;grid-template-columns:1fr 1fr;gap:11px 20px}.project-page-side>.project-state{margin:0;grid-column:1/-1}.project-page-side>.mono{font-size:8px;grid-column:1;grid-row:2}.project-page-side>p{font-size:10px;grid-column:1;grid-row:3;max-width:200px}.project-page-side>.text-link{font-size:10px;grid-column:2;grid-row:3;align-self:start;justify-self:end}.case-visual{padding:15px}.gallery-controls{padding-top:13px}.gallery-controls button{width:32px;height:32px}.gallery-controls .mono{font-size:8px}.case-content{grid-template-columns:1fr;gap:25px;margin-top:40px}.case-content>aside{padding-bottom:22px;border-bottom:1px solid var(--line)}.case-status-note{max-width:340px;margin-top:11px;font-size:11px}.case-content h2{font-size:27px}.case-content .body-copy{font-size:14px;margin-top:22px}.case-content h3{font-size:22px;margin-top:28px}.case-focus{margin-top:18px}.case-focus>li{font-size:12px;gap:12px}.case-focus svg{width:16px}.case-video{grid-template-columns:1fr;gap:22px;margin-top:31px;padding-top:28px}.case-video h2{font-size:27px;max-width:300px}.case-end{margin-top:34px;flex-wrap:wrap;gap:17px;padding-top:22px}.case-end .text-link{font-size:12px}.case-end .mono{font-size:8px}.interior-heading{padding-top:19px}.interior-heading h1{font-size:clamp(43px,11.5vw,62px);margin-top:22px;line-height:1.1}.interior-heading>p:last-child{font-size:14px;line-height:1.9;margin-top:25px}.service-detail-list{margin-top:37px}.service-detail-list>article{grid-template-columns:34px 1fr;gap:17px;padding:28px 0}.service-number{font-size:28px}.service-detail-list h2{font-size:24px}.service-detail-list article>div>p{font-size:12px;margin-top:16px}.service-tools{font-size:8px;margin-top:14px}.service-example{padding-left:12px}.service-example .eyebrow{font-size:7px}.service-example>span:last-child{font-size:13px}.process-section{margin-top:51px}.process-section>h2{font-size:32px;margin-top:14px;line-height:1.18}.process-grid{grid-template-columns:1fr;gap:25px;margin-top:27px}.process-grid article{display:grid;grid-template-columns:27px 1fr;gap:0 12px;padding-top:18px}.process-grid .mono{padding-top:3px}.process-grid h3{font-size:21px;margin-top:0}.process-grid p{grid-column:2;font-size:12px;margin-top:10px}.faq-section{grid-template-columns:1fr;gap:24px;margin-top:51px}.faq-section h2{font-size:34px}.faq-section summary{font-size:13px;padding:20px 0}.faq-section details>p{font-size:12px;padding-bottom:20px}.about-page-top{grid-template-columns:1fr;gap:37px;padding-top:18px}.about-page-top h1{font-size:clamp(48px,13vw,70px);line-height:1.15}.about-page-intro{font-size:15px;margin-top:24px}.about-links{gap:28px;margin-top:21px}.about-links .text-link{font-size:12px}.about-page-portrait{width:78%;max-width:340px;justify-self:center}.about-story{grid-template-columns:1fr;gap:35px;margin-top:45px;padding-top:35px}.about-story h2{font-size:27px}.about-story p{font-size:13px;margin-top:17px}.toolkit-section{margin-top:42px;padding-top:27px}.toolkit-grid{grid-template-columns:1fr;gap:30px;margin-top:24px}.toolkit-grid h2{font-size:22px}.toolkit-grid ul{display:flex;flex-wrap:wrap;gap:8px 17px;margin-top:12px}.toolkit-grid li{font-size:11px;border:0;padding:4px 0}.not-found-page{padding:28px}.not-found-page .error-number{font-size:120px}.not-found-page h1{font-size:34px}}@media (max-width:360px){.shell{width:calc(100% - 30px)}.hero h1{font-size:68px}.hero h1 em{font-size:1.06em}.hero-links{gap:18px}.hero-links .button{font-size:11px;padding-inline:13px;gap:13px}.hero-links .text-link{font-size:10px}.availability,.scroll-note{font-size:8px}.work-card-head{gap:8px}.contact-copy h2{font-size:52px}.contact-copy .direct-contact>a{font-size:11px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}.browser-window,.portrait-paper{transform:none}}.hero h1 em{font-size:1.03em;white-space:nowrap}.hero-copy{min-width:0}@media (min-width:801px){.hero h1{font-size:clamp(75px,7vw,106px)}}@media (max-width:800px) and (min-width:621px){.hero h1{font-size:clamp(50px,8.8vw,70px)}.hero h1 em{font-size:1em}}@media (max-width:620px){.hero h1{font-size:clamp(59px,18vw,84px)}.hero h1 em{font-size:1em}.hero-portrait{margin-top:12px}.project-page-heading h1{overflow-wrap:anywhere}}.desktop-nav{margin-left:0;gap:25px}@media (max-width:800px){.desktop-nav{gap:15px}.desktop-nav a{font-size:10px}}@media (max-width:620px){.click-chart>svg text{font-size:29px}.click-chart>svg text[data-axis=x]:not([data-sparse]){display:none}}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{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\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-cyan-500\/50:hover{border-color:rgb(6 182 212/.5)}.hover\:border-white\/20:hover{border-color:rgb(255 255 255/.2)}.hover\:border-white\/30:hover{border-color:rgb(255 255 255/.3)}.hover\:border-white\/40:hover{border-color:rgb(255 255 255/.4)}.hover\:bg-cyan-400\/10:hover{background-color:rgb(34 211 238/.1)}.hover\:bg-cyan-500\/20:hover{background-color:rgb(6 182 212/.2)}.hover\:bg-indigo-400:hover{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.hover\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.hover\:bg-white\/10:hover{background-color:rgb(255 255 255/.1)}.hover\:bg-white\/20:hover{background-color:rgb(255 255 255/.2)}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-cyan-500\/20:hover{--tw-shadow-color:rgb(6 182 212/0.2);--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-cyan-500\/50:hover{--tw-shadow-color:rgb(6 182 212/0.5);--tw-shadow:var(--tw-shadow-colored)}.group\/carousel:hover .group-hover\/carousel\: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))}.group:hover .group-hover\:animate-\[shimmer_2s_infinite\]{animation:shimmer 2s infinite}.group\/mock:hover .group-hover\/mock\:text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100,.group\/carousel:hover .group-hover\/carousel\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-30{opacity:.3}.group:hover .group-hover\:opacity-40{opacity:.4}@media (min-width:640px){.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}}