*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter var,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;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,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[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,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--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 / .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: }::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 / .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: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-3{bottom:.75rem}.left-0{left:0}.left-3{left:.75rem}.top-0{top:0}.z-10{z-index:10}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-start-1{grid-column-start:1}.mx-3{margin-left:.75rem;margin-right:.75rem}.-mt-0{margin-top:0}.-mt-0\.5{margin-top:-.125rem}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-12{margin-bottom:3rem}.mb-3{margin-bottom:.75rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-18{height:4.5rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-36{height:9rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-fit{height:-moz-fit-content;height:fit-content}.h-px{height:1px}.max-h-\[160px\]{max-height:160px}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-18{width:4.5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-40{width:10rem}.w-48{width:12rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-\[12px\]{min-width:12px}.max-w-\[160px\]{max-width:160px}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes show{0%{opacity:0}to{opacity:1}}.animate-show{animation:show 225ms ease-in-out}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.list-disc{list-style-type:disc}.grid-cols-\[auto_auto\]{grid-template-columns:auto auto}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-1\.5{-moz-column-gap:.375rem;column-gap:.375rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.overflow-hidden{overflow:hidden}.scroll-smooth{scroll-behavior:smooth}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-t{border-top-width:1px}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-50\/50{background-color:#f9fafb80}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.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-gray-200{--tw-gradient-to:rgb(229 231 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #e5e7eb var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-6{padding:1.5rem}.p-\[10mm\]{padding:10mm}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pb-12{padding-bottom:3rem}.pb-5{padding-bottom:1.25rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pt-10{padding-top:2.5rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.text-justify{text-align:justify}.font-sarina{font-family:Sarina,cursive}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.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-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-50{opacity:.5}.opacity-90{opacity:.9}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.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);-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);-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-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.first\:rounded-l-sm:first-child{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.first\:rounded-r-none:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.last\:hidden:last-child{display:none}.last\:rounded-l-none:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.last\:rounded-r-sm:last-child{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.hover\:-translate-y-1:hover{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:translate-y-2:hover{--tw-translate-y:.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\:bg-primary-600:hover{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.hover\:bg-primary-700:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity))}.hover\:text-primary-600:hover{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241 / var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:translate-y-px:active{--tw-translate-y:1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-y-0\.5{--tw-translate-y:.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700\/50){border-color:#37415180}:is(.dark .dark\:bg-gray-100){--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-300){--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-500){--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600\/50){background-color:#4b556380}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/30){background-color:#1f29374d}:is(.dark .dark\:via-gray-800){--tw-gradient-to:rgb(31 41 55 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #1f2937 var(--tw-gradient-via-position), var(--tw-gradient-to)}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-800){--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-400){--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-primary-400:hover){--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity))}@media print{.print\:p-0{padding:0}}@media (min-width:640px){.sm\:relative{position:relative}.sm\:bottom-0{bottom:0}.sm\:left-0{left:0}.sm\:mx-2{margin-left:.5rem;margin-right:.5rem}.sm\:mt-0{margin-top:0}.sm\:mt-24{margin-top:6rem}.sm\:block{display:block}.sm\:inline-flex{display:inline-flex}.sm\:hidden{display:none}.sm\:h-36{height:9rem}.sm\:w-36{width:9rem}.sm\:max-w-xs{max-width:20rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:leading-relaxed{line-height:1.625}}@media (min-width:768px){.md\:h-52{height:13rem}.md\:w-52{width:13rem}}@media (min-width:1280px){.xl\:flex{display:flex}.xl\:grid-cols-\[auto_auto\]{grid-template-columns:auto auto}}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/fonts/Inter-roman.var.woff2)format("woff2")}@font-face{font-family:Sarina;src:url(/fonts/Sarina-Regular.ttf)format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:"Instrument Serif";src:url(/fonts/InstrumentSerif-Italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono.var.woff2)format("woff2");font-weight:100 800;font-style:normal;font-display:swap}.description ul{list-style-type:disc;padding-left:1.25rem}.description a{text-decoration-line:underline;opacity:.9}:root{--bg:#f3f5f8;--bg-tint:#eaeef3;--surface:#ffffff;--text:#0e1320;--muted:#5a6376;--faint:#8b93a5;--border:#dbe0e8;--border-strong:#c3cad6;--accent:#e4521b;--accent-soft:rgba(228, 82, 27, .12);--success:#12a150;--ink:#0e1320;--on-ink:#ffffff;--header-bg:rgba(243, 245, 248, .82);--dot:rgba(14, 19, 32, .09);--shadow:0 1px 2px rgba(14, 19, 32, .04), 0 12px 32px -12px rgba(14, 19, 32, .16);--font-sans:"Inter var", ui-sans-serif, system-ui, sans-serif;--font-serif:"Instrument Serif", Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--shell:1200px;--gutter:clamp(16px, 4vw, 40px);color-scheme:light}:root.dark{--bg:#0a0c11;--bg-tint:#0f1218;--surface:#131720;--text:#e9ecf2;--muted:#a1a9b8;--faint:#6e7687;--border:#222834;--border-strong:#333b4a;--accent:#ff7a45;--accent-soft:rgba(255, 122, 69, .14);--success:#3ddc84;--ink:#e9ecf2;--on-ink:#0a0c11;--header-bg:rgba(10, 12, 17, .8);--dot:rgba(233, 236, 242, .07);--shadow:0 1px 2px rgba(0, 0, 0, .3), 0 16px 40px -16px rgba(0, 0, 0, .6);color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,p,ul,ol,dl,dd,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::-moz-selection{background:var(--accent);color:#fff}::selection{background:var(--accent);color:#fff}[hidden]{display:none!important}.shell{width:100%;max-width:calc(var(--shell) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}.skip-link{position:absolute;left:16px;top:-60px;z-index:100;padding:10px 16px;background:var(--ink);color:var(--on-ink);font-weight:600}.skip-link:focus{top:16px}.mono-label,.eyebrow-line,.hello,.role-line,.project-meta,.job-dates,.job-index,.quote-index,.filter-tab,.footer-bottom,.fact-list dt{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;font-size:11.5px}.mono-label{color:var(--faint)}.accent-serif{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.01em;color:var(--accent)}.pulse-dot{position:relative;display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--success);flex:none}.pulse-dot:after{content:"";position:absolute;inset:0;border-radius:inherit;background:inherit;animation:pulse 2s ease-out infinite}@keyframes pulse{0%{transform:scale(1);opacity:.7}to{transform:scale(2.8);opacity:0}}.btn{display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 24px;border:1px solid var(--ink);font-weight:600;font-size:15px;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}.btn-solid{background:var(--ink);color:var(--on-ink)}.btn-solid:hover{box-shadow:4px 4px 0 var(--accent);transform:translate(-2px,-2px)}.btn-outline{background:0 0;color:var(--text);border-color:var(--border-strong)}.btn-outline:hover{border-color:var(--ink);background:var(--surface)}.btn iconify-icon,.mono-link iconify-icon{transition:transform .2s ease}.btn-outline:hover iconify-icon,.mono-link:hover iconify-icon{transform:translate(3px)}.mono-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border-strong);padding-bottom:4px;transition:color .2s,border-color .2s}.mono-link:hover{color:var(--accent);border-color:var(--accent)}.icon-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:border-color .2s}.icon-button:hover{border-color:var(--ink)}.icon-sun,.dark .icon-moon{display:none}.dark .icon-sun{display:block}.chip-list{display:flex;flex-wrap:wrap;gap:6px}.chip-list li{padding:3px 9px;border:1px solid var(--border);background:var(--bg);font-family:var(--font-mono);font-size:11.5px;color:var(--muted)}.site-header{position:sticky;top:0;z-index:50;background:var(--header-bg);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid transparent;transition:border-color .25s}.site-header.is-scrolled{border-bottom-color:var(--border)}.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:68px}.wordmark{font-weight:800;font-size:24px;letter-spacing:-.05em}.wordmark span{color:var(--accent)}.desktop-nav{display:flex;gap:30px;font-size:14.5px}.desktop-nav a{position:relative;padding:6px 0;color:var(--muted);transition:color .2s}.desktop-nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--text);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--text)}.desktop-nav a[aria-current]:after{transform:scaleX(1)}.header-actions{display:flex;gap:8px}.menu-button{display:none}.burger{position:relative;display:block;width:18px;height:12px}.burger i{position:absolute;left:0;width:100%;height:1.5px;background:currentColor;transition:transform .3s ease,opacity .2s ease,top .3s ease}.burger i:nth-child(1){top:0}.burger i:nth-child(2){top:5px;width:70%}.burger i:nth-child(3){top:10px}.menu-button[aria-expanded=true]{border-color:var(--ink)}.menu-button[aria-expanded=true] .burger i:nth-child(1){top:5px;transform:rotate(45deg)}.menu-button[aria-expanded=true] .burger i:nth-child(2){opacity:0}.menu-button[aria-expanded=true] .burger i:nth-child(3){top:5px;transform:rotate(-45deg)}.mobile-menu{position:absolute;top:100%;left:0;right:0;height:calc(100dvh - 68px);display:flex;flex-direction:column;justify-content:space-between;padding:24px 0 32px;overflow-y:auto;background:var(--bg);background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:22px 22px;border-top:1px solid var(--border);animation:menu-in .25s ease both}.mobile-menu ol li{border-bottom:1px solid var(--border);animation:menu-item-in .4s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i)*45ms + 60ms)}.mobile-menu ol a{display:flex;align-items:baseline;gap:16px;padding:16px 0;font-size:clamp(30px,9vw,40px);font-weight:800;letter-spacing:-.04em;line-height:1.1;transition:color .2s,padding .2s}.mobile-menu ol a:hover,.mobile-menu ol a[aria-current]{color:var(--accent);padding-left:6px}.mobile-menu-index{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.1em;color:var(--faint)}.mobile-menu-footer{display:grid;gap:10px;margin-top:40px}.mobile-menu-footer .direct-email{justify-self:start;margin-top:0}.mobile-menu-footer ul{display:flex;gap:8px;margin-top:10px}.menu-open,.menu-open body{overflow:hidden}@keyframes menu-in{0%{opacity:0}}@keyframes menu-item-in{0%{opacity:0;transform:translateY(14px)}}.hero{position:relative;min-height:calc(100svh - 68px);display:flex;flex-direction:column;justify-content:center;min-height:min(calc(100svh - 68px),920px);padding:40px 0 88px;background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:22px 22px;background-position:center top}.hero:after{content:"";position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(to bottom,transparent,var(--bg));pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:64px;padding-block:48px}.crosshair{position:absolute;width:15px;height:15px;opacity:.5}.crosshair:before,.crosshair:after{content:"";position:absolute;background:var(--border-strong)}.crosshair:before{left:7px;top:0;width:1px;height:15px}.crosshair:after{top:7px;left:0;width:15px;height:1px}.crosshair.tl{top:0;left:calc(var(--gutter) - 7px)}.crosshair.tr{top:0;right:calc(var(--gutter) - 7px)}.crosshair.bl{bottom:0;left:calc(var(--gutter) - 7px)}.crosshair.br{bottom:0;right:calc(var(--gutter) - 7px)}.status-pill{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 12px;border:1px solid var(--border);background:var(--surface);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.hello{margin-top:28px;color:var(--faint);letter-spacing:.4em}.hero h1{margin-top:6px;line-height:.92}.first-name{display:block;font-size:clamp(64px,10vw,128px);font-weight:800;letter-spacing:-.055em}.last-name{display:block;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(72px,11.5vw,148px);letter-spacing:-.02em;color:var(--accent);margin-top:-.06em;padding-left:.04em}.role-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:30px;color:var(--muted)}.role-line:before{content:"";width:40px;height:1px;background:var(--border-strong)}.role-line a{color:var(--text);font-weight:700;border-bottom:1px solid var(--accent)}.tagline{margin-top:22px;max-width:34ch;padding-left:18px;border-left:2px solid var(--accent);font-size:clamp(17px,1.6vw,19px);color:var(--muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.connect{display:flex;align-items:center;gap:16px;margin-top:32px}.connect ul{display:flex;gap:8px;padding-left:16px;border-left:1px solid var(--border)}.social-box{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--border);background:var(--surface);color:var(--muted);transition:color .2s,border-color .2s,transform .2s}.social-box:hover{color:var(--text);border-color:var(--ink);transform:translateY(-2px)}.hero-visual{position:relative;justify-self:center;width:min(100%,420px)}.portrait{position:relative;aspect-ratio:4/5}.portrait-offset{position:absolute;inset:0;transform:translate(18px,18px);border:1.5px solid var(--accent);background-image:repeating-linear-gradient(-45deg,var(--accent-soft)0 2px,transparent 2px 9px)}.portrait img,.portrait picture{position:relative;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;filter:grayscale(1) contrast(1.05);transition:filter .5s ease;border:1px solid var(--border)}.hero-visual:hover .portrait img{filter:grayscale(0)}.portrait-caption{position:absolute;left:0;bottom:0;padding:6px 10px;background:var(--ink);color:var(--on-ink);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase}.stat-card{position:absolute;display:grid;justify-items:center;padding:14px 18px;min-width:128px;background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--ink);box-shadow:var(--shadow);text-align:center;animation:float 6s ease-in-out infinite}.stat-card strong{font-size:34px;font-weight:800;line-height:1;letter-spacing:-.04em}.stat-card span{margin-top:6px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.stat-card small{font-size:11px;color:var(--faint)}.stat-top{top:12%;left:-56px}.stat-bottom{bottom:10%;right:-48px;animation-delay:-3s}@keyframes float{50%{transform:translateY(-8px)}}.scroll-cue{position:absolute;left:50%;bottom:28px;z-index:1;display:grid;justify-items:center;gap:8px;transform:translate(-50%);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--faint)}.scroll-cue i{position:relative;width:1px;height:40px;background:var(--border);overflow:hidden}.scroll-cue i:after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--text);animation:scroll-line 2s ease-in-out infinite}@keyframes scroll-line{to{top:100%}}.section{padding:clamp(80px,11vw,140px)0}.hero+.section{padding-top:clamp(40px,6vw,72px)}.section-tinted{background:var(--bg-tint);border-block:1px solid var(--border)}.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:clamp(40px,6vw,64px)}.section-header-copy{max-width:680px}.eyebrow-line{display:flex;align-items:center;gap:14px;color:var(--faint);letter-spacing:.3em}.eyebrow-line:before{content:"";width:32px;height:1px;background:var(--border-strong)}.section-header h2{margin-top:14px;font-size:clamp(38px,5.6vw,64px);font-weight:800;line-height:1.02;letter-spacing:-.045em}.section-header h2 .accent-serif{font-size:1.08em}.lede{margin-top:20px;max-width:54ch;padding-left:18px;border-left:2px solid var(--border-strong);color:var(--muted);font-size:17px}.section-header-meta{position:relative;flex:none;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end}.section-meta-main{position:relative;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;min-height:150px}.ghost-number{position:absolute;right:-6px;bottom:28px;font-size:clamp(110px,14vw,180px);font-weight:900;line-height:.8;letter-spacing:-.06em;background:linear-gradient(to bottom,var(--border-strong),transparent 92%);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.7;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.section-count{position:relative;display:flex;align-items:baseline;gap:10px}.section-count strong{font-size:clamp(44px,5vw,60px);font-weight:800;line-height:1;letter-spacing:-.04em}.section-count span{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.section-breakdown{position:relative;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 16px;max-width:300px;margin-top:16px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.section-breakdown li:before{content:"";display:inline-block;width:4px;height:4px;margin-right:6px;vertical-align:middle;border-radius:50%;background:var(--accent)}.section-breakdown span{color:var(--faint)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.project-card{display:flex;flex-direction:column;border:1px solid var(--border);background:var(--surface);transition:border-color .25s,transform .25s,box-shadow .25s}.project-card:hover{border-color:var(--ink);box-shadow:6px 6px 0 var(--accent);transform:translate(-3px,-3px)}.project-media{display:block;aspect-ratio:16/10;overflow:hidden;border-bottom:1px solid var(--border);background:var(--bg-tint)}.project-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;transition:transform .6s ease}.project-card:hover .project-media img{transform:scale(1.04)}.project-body{display:flex;flex-direction:column;gap:14px;flex:1;padding:24px 26px 28px}.project-meta{display:flex;gap:14px;color:var(--faint);font-size:11px}.project-meta span:first-child{color:var(--accent);font-weight:700}.project-meta span:last-child{margin-left:auto}.project-body h3{font-size:23px;font-weight:700;letter-spacing:-.02em;line-height:1.25}.project-body h3 a{display:inline-flex;align-items:center;gap:6px}.project-body h3 a:after{content:"";position:absolute;inset:0}.project-card{position:relative}.title-arrow{color:var(--faint);transition:transform .2s,color .2s}.project-card:hover .title-arrow{color:var(--accent);transform:translate(2px,-2px)}.project-body p{color:var(--muted);font-size:15px}.project-body .chip-list{margin-top:auto;padding-top:4px}.project-body .mono-link{position:relative;z-index:1;align-self:flex-start}.marquee{position:relative;overflow:hidden;border-bottom:1px solid var(--border);margin-bottom:40px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee-track{display:flex;width:-moz-max-content;width:max-content;animation:marquee 48s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}.marquee ul{display:flex;flex:none}.marquee li{display:inline-flex;align-items:center;gap:9px;padding:14px 24px;font-family:var(--font-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.marquee li:after{content:"✦";margin-left:28px;color:var(--accent);font-size:10px}@keyframes marquee{to{transform:translate(-50%)}}.filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.filter-tab{padding:10px 16px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-weight:700;letter-spacing:.12em;transition:border-color .2s,background .2s,color .2s}.filter-tab sup{position:static;top:0;margin-left:4px;font-size:10px;line-height:1;color:var(--faint);vertical-align:middle}.filter-tab:hover{border-color:var(--ink);color:var(--text)}.filter-tab[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.filter-tab[aria-pressed=true] sup{color:inherit;opacity:.6}.skill-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.skill-tile{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border);background:var(--surface);font-weight:600;font-size:15px;animation:tile-in .35s ease both;transition:border-color .2s,transform .2s}.skill-tile:hover{border-color:var(--ink);transform:translateY(-2px)}.skill-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;background:var(--bg-tint);color:var(--muted);transition:color .2s,background .2s}.skill-tile:hover .skill-icon{background:var(--accent-soft);color:var(--accent)}@keyframes tile-in{0%{opacity:0;transform:translateY(6px)}}.job-list{border-top:1px solid var(--border);margin-bottom:40px}.job{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:24px;padding:34px 0;border-bottom:1px solid var(--border);transition:background .25s}.job-index{padding-top:6px;color:var(--faint)}.job:hover .job-index{color:var(--accent)}.job-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.job h3{font-size:22px;font-weight:700;letter-spacing:-.02em}.now-badge{display:inline-flex;align-items:center;gap:8px;padding:3px 10px;border:1px solid var(--border);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}.job-company{margin-top:4px;font-weight:600}.job-company a{border-bottom:1px solid var(--border-strong);transition:border-color .2s}.job-company a:hover{border-color:var(--accent)}.job-company span{color:var(--faint);font-weight:400}.job-description{margin:14px 0 18px;color:var(--muted);font-size:15px}.description.job-description ul{display:grid;gap:4px;list-style:none;padding-left:0}.job-description li{position:relative;padding-left:20px;line-height:24px}.job-description li:before{content:"";position:absolute;left:2px;top:12px;width:8px;height:1px;background:var(--accent)}.job-dates{padding-top:6px;color:var(--muted);white-space:nowrap;font-size:11px}.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,80px)}.about-copy>p{font-size:18px;color:var(--muted)}.about-copy>p+p{margin-top:18px}.about-copy>p:first-child{color:var(--text);font-size:21px;line-height:1.5;letter-spacing:-.01em}.fact-list{margin-top:32px;border-top:1px solid var(--border)}.fact-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}.fact-list dt{color:var(--faint);font-size:11px}.fact-list dd{display:inline-flex;align-items:center;gap:10px;font-weight:600;text-align:right}.edu-list{display:grid;gap:16px;align-content:start}.edu-list li{padding:26px 28px;border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface)}.edu-list h3{margin-top:10px;font-size:21px;font-weight:700;letter-spacing:-.02em}.edu-school{margin-top:2px;font-weight:600}.edu-list p:last-child{margin-top:10px;color:var(--muted);font-size:15px}.quote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.quote-card{position:relative;display:flex;flex-direction:column;gap:24px;padding:30px 28px 28px;border:1px solid var(--border);background:var(--surface);transition:border-color .25s}.quote-card:hover{border-color:var(--ink)}.quote-card:before{content:"“";position:absolute;top:2px;right:22px;font-family:var(--font-serif);font-style:italic;font-size:96px;line-height:1;color:var(--accent);opacity:.25}.quote-index{color:var(--faint)}.quote-card blockquote{flex:1;font-size:16.5px;line-height:1.6}.quote-card figcaption{display:flex;align-items:center;gap:14px;padding-top:20px;border-top:1px dashed var(--border-strong)}.quote-card figcaption img{width:44px;height:44px;border-radius:50%;-o-object-fit:cover;object-fit:cover;filter:grayscale(1)}.quote-card figcaption span{display:grid;line-height:1.35}.quote-card figcaption small{color:var(--faint);font-size:13px}.contact-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(40px,6vw,80px)}.contact-form{display:grid;gap:26px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:26px}.field{display:grid;gap:8px}.field span{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}.field input,.field textarea{width:100%;padding:8px 0 12px;border:0;border-bottom:1px solid var(--border-strong);background:0 0;font-size:17px;border-radius:0;transition:border-color .2s;resize:vertical}.field input::-moz-placeholder,.field textarea::-moz-placeholder{color:var(--faint);opacity:.7}.field input::placeholder,.field textarea::placeholder{color:var(--faint);opacity:.7}.field input:focus,.field textarea:focus{outline:0;border-bottom-color:var(--accent);box-shadow:0 1px 0 var(--accent)}.contact-form .btn{justify-self:start;margin-top:6px}.form-note{font-size:10.5px}.honeypot{position:absolute;left:-9999px}.contact-panel{align-self:start;padding:8px 28px 30px;border:1px solid var(--border);background:var(--surface)}.contact-panel .fact-list{margin:0 0 28px;border-top:0}.direct-email{display:inline-block;margin-top:8px;font-family:var(--font-mono);font-size:15px;font-weight:600;word-break:break-all;border-bottom:1px solid var(--accent)}.direct-email:hover{color:var(--accent)}.site-footer{padding:clamp(72px,10vw,120px)0 32px;overflow:hidden}.footer-display{font-size:clamp(48px,10vw,136px);font-weight:900;line-height:.95;letter-spacing:-.055em;color:var(--border-strong);margin-bottom:clamp(48px,7vw,80px)}.footer-display .accent-serif{color:var(--accent);font-weight:400}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--border)}.footer-about strong{font-size:22px;letter-spacing:-.02em}.footer-about p{margin-top:10px;max-width:36ch;color:var(--muted)}.footer-grid ul{margin-top:16px}.footer-grid li a{display:block;padding:10px 0;border-bottom:1px solid var(--border);color:var(--muted);transition:color .2s,padding .2s}.footer-grid li a:hover{color:var(--text);padding-left:6px}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:28px;color:var(--faint);font-size:11px}.footer-bottom a:hover{color:var(--accent)}.motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay, 0ms)}.motion .reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width:1080px){.skill-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.desktop-nav{display:none}.menu-button{display:grid}.menu-open .site-header{background:var(--bg);border-bottom-color:var(--border)}.hero{min-height:auto;padding-top:24px}.hero-grid{grid-template-columns:1fr;gap:72px}.hero-visual{width:min(100% - 60px,360px)}.stat-top{left:-30px}.stat-bottom{right:-30px}.scroll-cue{display:none}.project-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start}.section-header-meta{position:absolute;right:var(--gutter);min-height:0;opacity:.6}.section-meta-main{min-height:0}.section-header-meta .section-count{display:none}.section-header{position:relative}.ghost-number{position:static;font-size:96px}.footer-grid{grid-template-columns:1fr 1fr}.footer-about{grid-column:1/-1}}@media (max-width:640px){.skill-grid,.quote-grid,.field-row{grid-template-columns:1fr 1fr}.quote-grid,.field-row{grid-template-columns:1fr}.skill-tile{padding:12px;gap:10px;font-size:14px}.skill-icon{width:30px;height:30px}.job{grid-template-columns:1fr;gap:6px}.job-index{display:none}.job-dates{order:-1;padding-top:0}.stat-card{min-width:108px;padding:10px 12px}.stat-card strong{font-size:26px}.stat-card small{display:none}.project-body{padding:20px}.section-header-meta{display:none}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}}