*,: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:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height: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::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.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}}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-y-0{bottom:0;top:0}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-14{bottom:3.5rem}.bottom-5{bottom:1.25rem}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-5{right:1.25rem}.top-20{top:5rem}.top-6{top:1.5rem}.z-0{z-index:0}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.m-2{margin:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-bottom:1rem;margin-top:1rem}.-mr-1{margin-right:-.25rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-3{-webkit-box-orient:vertical;-webkit-line-clamp:3;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-0\.5{height:.125rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-0{max-height:0}.max-h-40{max-height:10rem}.max-h-\[80vh\]{max-height:80vh}.min-h-\[380px\]{min-height:380px}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.w-0\.5{width:.125rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-80{width:20rem}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.flex-1{flex:1 1}.flex-shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.translate-y-2{--tw-translate-y:0.5rem}.rotate-45,.translate-y-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.scale-110,.scale-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-x-0{--tw-scale-x:0}.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))}.animate-fadeIn{animation:fadeIn 1s ease-in}.animate-fadeInUp{animation:fadeInUp .7s ease-out}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.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-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;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}.rounded-xl{border-radius:.75rem}.rounded-r-md{border-bottom-right-radius:.375rem;border-top-right-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-\[var\(--wh-border-strong\)\]{border-color:#b7c7d3;border-color:var(--wh-border-strong)}.border-\[var\(--wh-border-subtle\)\]{border-color:#d3dee6;border-color:var(--wh-border-subtle)}.border-blue-500{--tw-border-opacity:1;border-color:#3b82f6;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:#a7f3d0;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:#bbf7d0;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-green-500{--tw-border-opacity:1;border-color:#22c55e;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.border-yellow-500{--tw-border-opacity:1;border-color:#eab308;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.bg-\[\#0f1f2d\]\/40{background-color:#0f1f2d66}.bg-\[var\(--wh-accent-brand-strong\)\]{background-color:#53a865;background-color:var(--wh-accent-brand-strong)}.bg-black{--tw-bg-opacity:1;background-color:#000;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/70{background-color:#000000b3}.bg-blue-500{--tw-bg-opacity:1;background-color:#3b82f6;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:#d1d5db;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:#4ade80;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:#f0fdf4;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:#22c55e;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:#16a34a;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-opacity-60{--tw-bg-opacity:0.6}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.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-\[\#0e1d2a\]\/95{--tw-gradient-from:#0e1d2af2 var(--tw-gradient-from-position);--tw-gradient-to:#0e1d2a00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#111e2a\]{--tw-gradient-from:#111e2a var(--tw-gradient-from-position);--tw-gradient-to:#111e2a00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#ecf4ee\]{--tw-gradient-from:#ecf4ee var(--tw-gradient-from-position);--tw-gradient-to:#ecf4ee00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[var\(--wh-accent-brand\)\]{--tw-gradient-from:var(--wh-accent-brand) var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[var\(--wh-accent-brand-strong\)\]{--tw-gradient-from:var(--wh-accent-brand-strong) var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-amber-700{--tw-gradient-from:#b45309 var(--tw-gradient-from-position);--tw-gradient-to:#b4530900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-black\/90{--tw-gradient-from:#000000e6 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-100{--tw-gradient-from:#d1fae5 var(--tw-gradient-from-position);--tw-gradient-to:#d1fae500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-100{--tw-gradient-from:#f3f4f6 var(--tw-gradient-from-position);--tw-gradient-to:#f3f4f600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-200{--tw-gradient-from:#e5e7eb var(--tw-gradient-from-position);--tw-gradient-to:#e5e7eb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-400{--tw-gradient-from:#4ade80 var(--tw-gradient-from-position);--tw-gradient-to:#4ade8000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:#0000 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-\[\#deefe2\]{--tw-gradient-to:#deefe200 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#deefe2 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-\[var\(--wh-accent-premium\)\]{--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--wh-accent-premium) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-black\/35{--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#00000059 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-emerald-50\/10{--tw-gradient-to:#ecfdf500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#ecfdf51a var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-green-400{--tw-gradient-to:#4ade8000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#4ade80 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-transparent{--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#0000 var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-\[\#0a141d\]{--tw-gradient-to:#0a141d var(--tw-gradient-to-position)}.to-\[\#173447\]\/95{--tw-gradient-to:#173447f2 var(--tw-gradient-to-position)}.to-\[\#2f7f6a\]{--tw-gradient-to:#2f7f6a var(--tw-gradient-to-position)}.to-\[\#ecf4ee\]{--tw-gradient-to:#ecf4ee var(--tw-gradient-to-position)}.to-\[var\(--wh-accent-premium\)\]{--tw-gradient-to:var(--wh-accent-premium) var(--tw-gradient-to-position)}.to-amber-900{--tw-gradient-to:#78350f var(--tw-gradient-to-position)}.to-emerald-100\/10{--tw-gradient-to:#d1fae51a var(--tw-gradient-to-position)}.to-emerald-200{--tw-gradient-to:#a7f3d0 var(--tw-gradient-to-position)}.to-gray-200{--tw-gradient-to:#e5e7eb var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-repeat{background-repeat:repeat}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.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-bottom:.25rem;padding-top:.25rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.pb-6{padding-bottom:1.5rem}.pb-96{padding-bottom:24rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:.75rem}.pl-6{padding-left:1.5rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-16{padding-top:4rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-6xl{font-size:3.75rem;line-height:1}.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-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-5{line-height:1.25rem}.leading-relaxed{line-height:1.625}.text-\[var\(--wh-accent-brand-strong\)\]{color:#53a865;color:var(--wh-accent-brand-strong)}.text-\[var\(--wh-accent-premium\)\]{color:#e8d08e;color:var(--wh-accent-premium)}.text-\[var\(--wh-text-secondary\)\]{color:#2f4353;color:var(--wh-text-secondary)}.text-blue-400{--tw-text-opacity:1;color:#60a5fa;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:#3b82f6;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:#065f46;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-gray-200{--tw-text-opacity:1;color:#e5e7eb;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:#22c55e;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:#16a34a;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:#15803d;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:#818cf8;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-slate-100\/85{color:#f1f5f9d9}.text-slate-100\/90{color:#f1f5f9e6}.text-transparent{color:#0000}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-400{--tw-text-opacity:1;color:#facc15;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:#eab308;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:#ca8a04;color:rgb(202 138 4/var(--tw-text-opacity,1))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-inner{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 #0000000d;--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-green-500\/50{--tw-shadow-color:#22c55e80;--tw-shadow:var(--tw-shadow-colored)}.ring{--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(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--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)}.ring-green-500\/30{--tw-ring-color:#22c55e4d}.ring-offset-2{--tw-ring-offset-width:2px}.blur-xl{--tw-blur:blur(24px)}.blur-xl,.drop-shadow-\[0_1px_1px_rgba\(0\2c 0\2c 0\2c 0\.45\)\]{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)}.drop-shadow-\[0_1px_1px_rgba\(0\2c 0\2c 0\2c 0\.45\)\]{--tw-drop-shadow:drop-shadow(0 1px 1px #00000073)}.drop-shadow-\[0_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.5\)\]{--tw-drop-shadow:drop-shadow(0 1px 2px #00000080)}.drop-shadow-\[0_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.5\)\],.drop-shadow-md{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)}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px #00000012) drop-shadow(0 2px 2px #0000000f)}.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-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-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-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-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.delay-75{transition-delay:75ms}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.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)}:root{--wh-surface-canvas:#f3f6f8;--wh-surface-panel:#fff;--wh-surface-elevated:#e8eef2;--wh-text-primary:#112131;--wh-text-secondary:#2f4353;--wh-text-muted:#607583;--wh-accent-brand:#63bb74;--wh-accent-brand-strong:#53a865;--wh-accent-premium:#e8d08e;--wh-border-subtle:#d3dee6;--wh-border-strong:#b7c7d3;--wh-shadow-soft:0 8px 24px #050c141a;--wh-shadow-elevated:0 14px 40px #030a122e}html.dark{--wh-surface-canvas:#162738;--wh-surface-panel:#213548;--wh-surface-elevated:#2c4459;--wh-text-primary:#e9f1e7;--wh-text-secondary:#b3c1bd;--wh-text-muted:#8ea19b;--wh-accent-brand:#63bb74;--wh-accent-brand-strong:#53a865;--wh-accent-premium:#e8d08e;--wh-border-subtle:#365266;--wh-border-strong:#4a6a80;--wh-shadow-soft:0 8px 24px #050c1447;--wh-shadow-elevated:0 14px 40px #030a125c}body{font-family:Manrope,sans-serif}.title-font,.wh-display-font{font-family:Sora,sans-serif}.wh-mono{font-family:JetBrains Mono,monospace}.wh-theme-dark,.wh-theme-light{color:#2f4353;color:var(--wh-text-secondary)}.wh-bg-canvas,.wh-theme-dark,.wh-theme-light{background-color:#f3f6f8;background-color:var(--wh-surface-canvas)}.wh-text-primary{color:#112131;color:var(--wh-text-primary)}.wh-text-secondary{color:#2f4353;color:var(--wh-text-secondary)}.wh-text-muted{color:#607583;color:var(--wh-text-muted)}.section-shell{padding-bottom:4.5rem;padding-top:4.5rem}.wh-reveal{transform:translateY(16px)}.wh-reveal,.wh-stagger>*{animation:fadeInUp .55s ease-out forwards;opacity:0}.wh-stagger>*{transform:translateY(14px)}.wh-stagger>:first-child{animation-delay:60ms}.wh-stagger>:nth-child(2){animation-delay:.12s}.wh-stagger>:nth-child(3){animation-delay:.18s}.wh-stagger>:nth-child(4){animation-delay:.24s}.wh-stagger>:nth-child(5){animation-delay:.3s}.wh-stagger>:nth-child(6){animation-delay:.36s}.wh-card{background:linear-gradient(165deg,color-mix(in srgb,#fff 94%,#63bb74 6%),#fff);background:linear-gradient(165deg,color-mix(in srgb,var(--wh-surface-panel) 94%,var(--wh-accent-brand) 6%),var(--wh-surface-panel));border:1px solid #d3dee6;border:1px solid var(--wh-border-subtle);border-radius:22px;box-shadow:0 8px 24px #050c141a;box-shadow:var(--wh-shadow-soft)}.wh-inline-metric{background:color-mix(in srgb,#fff 90%,#e8d08e 10%);background:color-mix(in srgb,var(--wh-surface-panel) 90%,var(--wh-accent-premium) 10%);border:1px solid #d3dee6;border:1px solid var(--wh-border-subtle);border-radius:999px;color:#2f4353;color:var(--wh-text-secondary);font-size:.82rem;letter-spacing:.01em;padding:.5rem .75rem}html{scroll-behavior:smooth}*{scroll-margin-top:80px}.transform{transform:translateZ(0);will-change:transform}@media (prefers-reduced-motion:no-preference){.animate-bounce-slow,.animate-fade-in,.animate-fadeIn,.animate-fadeInUp{will-change:transform,opacity}}@keyframes bounce-slow{0%,to{transform:translateY(-5%)}50%{transform:translateY(0)}}@keyframes fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes grow-width{0%{width:0}to{width:100%}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:0 0}to{background-position:200% 0}}.animate-bounce-slow{animation:bounce-slow 3s infinite}.animate-fade-in{animation:fade-in .5s ease-out forwards}.animate-grow-width{animation:grow-width 1s ease-out forwards}.animate-fadeIn{animation:fadeIn .6s ease-out forwards}.animate-fadeInUp{animation:fadeInUp .6s ease-out forwards}.hover\:rotate-icon:hover{transform:rotate(1turn);transition:transform .6s ease-in-out}.shadow-glow-indigo{box-shadow:0 0 10px 2px #6366f14d}.group-hover\:text-shadow-glow{text-shadow:0 0 8px #a5b4fccc}.text-shadow-glow{text-shadow:0 0 10px #6366f1}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.animate-bounce-slow,.animate-fade-in,.animate-fadeIn,.animate-fadeInUp,.wh-reveal,.wh-stagger>*{animation:none;opacity:1;transform:none}.transition-all,.transition-colors,.transition-transform{transition:none}}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.hover\:-translate-y-1:hover,.hover\:translate-x-1: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\:translate-x-1:hover{--tw-translate-x:0.25rem}.hover\:rotate-180:hover{--tw-rotate:180deg}.hover\:rotate-180:hover,.hover\:scale-105: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-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:scale-110:hover,.hover\:scale-\[1\.02\]: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-\[1\.02\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02}.hover\:border-\[var\(--wh-accent-brand\)\]:hover{border-color:#63bb74;border-color:var(--wh-accent-brand)}.hover\:bg-\[var\(--wh-accent-brand\)\]:hover{background-color:#63bb74;background-color:var(--wh-accent-brand)}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:#d1d5db;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:#9ca3af;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:#16a34a;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:from-\[var\(--wh-accent-brand\)\]:hover{--tw-gradient-from:var(--wh-accent-brand) var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-\[\#2f7f6a\]:hover{--tw-gradient-to:#2f7f6a var(--tw-gradient-to-position)}.hover\:to-\[\#317f68\]:hover{--tw-gradient-to:#317f68 var(--tw-gradient-to-position)}.hover\:to-\[\#e0c27b\]:hover{--tw-gradient-to:#e0c27b var(--tw-gradient-to-position)}.hover\:text-\[\#2f7f6a\]:hover{--tw-text-opacity:1;color:#2f7f6a;color:rgb(47 127 106/var(--tw-text-opacity,1))}.hover\:text-\[var\(--wh-accent-brand-strong\)\]:hover{color:#53a865;color:var(--wh-accent-brand-strong)}.hover\:text-\[var\(--wh-text-primary\)\]:hover{color:#112131;color:var(--wh-text-primary)}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\:text-green-700:hover{--tw-text-opacity:1;color:#15803d;color:rgb(21 128 61/var(--tw-text-opacity,1))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-xl:hover{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.focus\:border-\[var\(--wh-accent-brand\)\]:focus{border-color:#63bb74;border-color:var(--wh-accent-brand)}.focus\:border-transparent:focus{border-color:#0000}.focus\:outline-none:focus{outline:2px solid #0000;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),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-\[var\(--wh-accent-brand\)\]:focus{--tw-ring-color:var(--wh-accent-brand)}.group:hover .group-hover\:-translate-y-1{--tw-translate-y:-0.25rem}.group:hover .group-hover\:-translate-y-1,.group:hover .group-hover\:translate-x-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x:0.25rem}.group:hover .group-hover\:translate-y-0{--tw-translate-y:0px}.group:hover .group-hover\:rotate-12,.group:hover .group-hover\:translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:rotate-12{--tw-rotate:12deg}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.group:hover .group-hover\:scale-105,.group:hover .group-hover\:scale-110{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.group:hover .group-hover\:scale-x-100{--tw-scale-x:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-\[var\(--wh-accent-brand\)\]{border-color:#63bb74;border-color:var(--wh-accent-brand)}.group:hover .group-hover\:text-\[var\(--wh-accent-premium\)\]{color:#e8d08e;color:var(--wh-accent-premium)}.group:hover .group-hover\:text-gray-900{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-green-600{--tw-text-opacity:1;color:#16a34a;color:rgb(22 163 74/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-20{opacity:.2}.group:hover .group-hover\:shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px #00000008) drop-shadow(0 8px 5px #00000014);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)}.dark\:border-\[var\(--wh-border-subtle\)\]:is(.dark *){border-color:#d3dee6;border-color:var(--wh-border-subtle)}.dark\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:#374151;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:border-green-800:is(.dark *){--tw-border-opacity:1;border-color:#166534;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.dark\:bg-\[\#091521\]\/65:is(.dark *){background-color:#091521a6}.dark\:bg-\[var\(--wh-border-strong\)\]:is(.dark *){background-color:#b7c7d3;background-color:var(--wh-border-strong)}.dark\:bg-\[var\(--wh-surface-canvas\)\]:is(.dark *){background-color:#f3f6f8;background-color:var(--wh-surface-canvas)}.dark\:bg-\[var\(--wh-surface-elevated\)\]:is(.dark *){background-color:#e8eef2;background-color:var(--wh-surface-elevated)}.dark\:bg-\[var\(--wh-surface-panel\)\]:is(.dark *){background-color:#fff;background-color:var(--wh-surface-panel)}.dark\:bg-blue-600:is(.dark *){--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:#374151;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity:1;background-color:#111827;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:bg-green-500:is(.dark *){--tw-bg-opacity:1;background-color:#22c55e;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.dark\:bg-green-600:is(.dark *){--tw-bg-opacity:1;background-color:#16a34a;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.dark\:bg-green-900\/30:is(.dark *){background-color:#14532d4d}.dark\:from-\[var\(--wh-surface-elevated\)\]:is(.dark *){--tw-gradient-from:var(--wh-surface-elevated) var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-\[var\(--wh-surface-panel\)\]:is(.dark *){--tw-gradient-from:var(--wh-surface-panel) var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-gray-700:is(.dark *){--tw-gradient-from:#374151 var(--tw-gradient-from-position);--tw-gradient-to:#37415100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-500:is(.dark *){--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:#22c55e00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-green-600:is(.dark *){--tw-gradient-from:#16a34a var(--tw-gradient-from-position);--tw-gradient-to:#16a34a00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-transparent:is(.dark *){--tw-gradient-from:#0000 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:via-\[\#27475d\]:is(.dark *){--tw-gradient-to:#27475d00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#27475d var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-green-600:is(.dark *){--tw-gradient-to:#16a34a00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#16a34a var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:to-\[\#132938\]:is(.dark *){--tw-gradient-to:#132938 var(--tw-gradient-to-position)}.dark\:to-\[\#315066\]:is(.dark *){--tw-gradient-to:#315066 var(--tw-gradient-to-position)}.dark\:to-\[var\(--wh-surface-elevated\)\]:is(.dark *){--tw-gradient-to:var(--wh-surface-elevated) var(--tw-gradient-to-position)}.dark\:to-blue-600:is(.dark *){--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.dark\:to-gray-700:is(.dark *){--tw-gradient-to:#374151 var(--tw-gradient-to-position)}.dark\:text-\[var\(--wh-accent-brand\)\]:is(.dark *){color:#63bb74;color:var(--wh-accent-brand)}.dark\:text-\[var\(--wh-text-muted\)\]:is(.dark *){color:#607583;color:var(--wh-text-muted)}.dark\:text-\[var\(--wh-text-primary\)\]:is(.dark *){color:#112131;color:var(--wh-text-primary)}.dark\:text-\[var\(--wh-text-secondary\)\]:is(.dark *){color:#2f4353;color:var(--wh-text-secondary)}.dark\:text-blue-400:is(.dark *){--tw-text-opacity:1;color:#60a5fa;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:#d1d5db;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity:1;color:#86efac;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:#4ade80;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity:1;color:#facc15;color:rgb(250 204 21/var(--tw-text-opacity,1))}.dark\:placeholder-\[var\(--wh-text-muted\)\]:is(.dark *)::placeholder{color:#607583;color:var(--wh-text-muted)}.dark\:shadow-\[var\(--wh-shadow-soft\)\]:is(.dark *){--tw-shadow-color:var(--wh-shadow-soft);--tw-shadow:var(--tw-shadow-colored)}.dark\:ring-green-400\/30:is(.dark *){--tw-ring-color:#4ade804d}.dark\:ring-offset-gray-900:is(.dark *){--tw-ring-offset-color:#111827}.dark\:hover\:bg-\[var\(--wh-surface-elevated\)\]:hover:is(.dark *){background-color:#e8eef2;background-color:var(--wh-surface-elevated)}.dark\:hover\:bg-\[var\(--wh-surface-panel\)\]:hover:is(.dark *){background-color:#fff;background-color:var(--wh-surface-panel)}.dark\:hover\:bg-blue-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:#1d4ed8;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:#4b5563;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:hover\:bg-green-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:#15803d;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.dark\:hover\:text-\[var\(--wh-accent-brand\)\]:hover:is(.dark *){color:#63bb74;color:var(--wh-accent-brand)}.dark\:hover\:text-\[var\(--wh-accent-premium\)\]:hover:is(.dark *){color:#e8d08e;color:var(--wh-accent-premium)}.dark\:hover\:text-\[var\(--wh-text-primary\)\]:hover:is(.dark *){color:#112131;color:var(--wh-text-primary)}.dark\:hover\:text-gray-300:hover:is(.dark *){--tw-text-opacity:1;color:#d1d5db;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:hover\:text-green-200:hover:is(.dark *){--tw-text-opacity:1;color:#bbf7d0;color:rgb(187 247 208/var(--tw-text-opacity,1))}.group:hover .dark\:group-hover\:text-\[var\(--wh-text-primary\)\]:is(.dark *){color:#112131;color:var(--wh-text-primary)}.group:hover .dark\:group-hover\:text-green-400:is(.dark *){--tw-text-opacity:1;color:#4ade80;color:rgb(74 222 128/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:gap-8{gap:2rem}.md\:p-5{padding:1.25rem}.md\:p-6{padding:1.5rem}.md\:pt-20{padding-top:5rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:hidden{display:none}.lg\:w-2\/3{width:66.666667%}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:px-40{padding-left:10rem;padding-right:10rem}}.ring-container{height:clamp(300px,40vh,500px);perspective:1000px;width:clamp(300px,40vh,500px)}.ring,.ring-container{transform-style:preserve-3d}.ring{align-items:center;display:flex;height:100%;justify-content:center;position:relative;transition:transform .6s cubic-bezier(.4,0,.2,1);width:100%}.ring i{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:2px solid #22c55e33;inset:0;position:absolute;transition:all .5s cubic-bezier(.4,0,.2,1);will-change:transform}.ring i:first-child{animation:animate 8s linear infinite,pulse 3s ease-in-out infinite;border-radius:38% 62% 63% 37%/41% 44% 56% 59%}.ring i:nth-child(2){animation:animate 6s linear infinite reverse,pulse 3s ease-in-out 1s infinite}.ring i:nth-child(2),.ring i:nth-child(3){border-radius:41% 44% 56% 59%/38% 62% 63% 37%}.ring i:nth-child(3){animation:animate2 12s linear infinite,pulse 3s ease-in-out 2s infinite}.ring:hover{transform:translateZ(20px) rotateX(5deg)}.ring:hover i{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:3px solid #22c55e66;filter:drop-shadow(0 0 20px rgba(34,197,94,.4))}@keyframes animate{0%{transform:rotate(0deg) translateZ(15px)}to{transform:rotate(1turn) translateZ(15px)}}@keyframes animate2{0%{transform:rotate(1turn) translateZ(25px)}to{transform:rotate(0deg) translateZ(25px)}}@keyframes pulse{0%,to{filter:brightness(1);transform:scale(1) rotate(0deg)}50%{filter:brightness(1.2);transform:scale(1.05) rotate(180deg)}}.ring .image{align-items:center;display:flex;flex-direction:column;height:95%;justify-content:center;position:absolute;transition:all .5s cubic-bezier(.4,0,.2,1);width:95%;z-index:1}.ring:hover .image{transform:scale(1.02) translateZ(30px)}.pixel-card .pixel-bg{animation:gridPulse 4s ease-in-out infinite;background-color:#000;background-image:linear-gradient(#8000ff33 1px,#0000 0),linear-gradient(90deg,#8000ff33 1px,#0000 0);background-size:4px 4px;image-rendering:pixelated;position:relative;transform-style:preserve-3d;will-change:transform,background-size}.group:hover .pixel-bg{animation:gridPulseHover 2s ease-in-out infinite;background-size:6px 6px}.crt-overlay:before{background:radial-gradient(circle at center,#8000ff1a 0,#0000004d 80%,#00000080 100%);opacity:.8}.crt-overlay:before,.scanlines:before{content:"";inset:0;mix-blend-mode:overlay;pointer-events:none;position:absolute}.scanlines:before{animation:scanlineMove 8s linear infinite;background:repeating-linear-gradient(0deg,#0003,#0003 1px,#0000 0,#0000 2px);opacity:.3}.pixel-rain{animation:pixelRain 2s linear infinite;background-image:radial-gradient(circle at 50% 50%,#8000ff99 0,#0000 1%);background-size:4px 4px;inset:0;mix-blend-mode:screen;opacity:0;position:absolute;transition:opacity .3s}.group:hover .pixel-rain{opacity:.7}.pixel-glitch{background-image:linear-gradient(90deg,#0000,#8000ff33 45%,#fffc 50%,#8000ff33 55%,#0000);inset:0;opacity:0;position:absolute;transform:translateX(-100%)}.group:hover .pixel-glitch{animation:glitchEffect 3s cubic-bezier(.4,0,.2,1) infinite}.pixel-scan-line{background:linear-gradient(90deg,#0000,#8000ffcc,#fff,#8000ffcc,#0000);filter:blur(.5px);height:2px;left:0;opacity:0;position:absolute;right:0;transform:translateY(-100%)}.group:hover .pixel-scan-line{animation:scanLine 2s linear infinite;opacity:.8}.pixel-noise{animation:staticNoise .2s steps(2) infinite;background-size:50px 50px;inset:0;mix-blend-mode:color-dodge;opacity:.03;position:absolute}@keyframes gridPulse{0%,to{background-size:4px 4px;opacity:.7}50%{background-size:5px 5px;opacity:.9}}@keyframes gridPulseHover{0%,to{background-size:6px 6px;opacity:.8}50%{background-size:7px 7px;opacity:1}}@keyframes pixelRain{0%{background-position:0 -100%}to{background-position:0 100%}}@keyframes glitchEffect{0%{opacity:0;transform:translateX(-100%)}10%,90%{opacity:1}to{opacity:0;transform:translateX(100%)}}@keyframes scanLine{0%{transform:translateY(-100%)}to{transform:translateY(200%)}}@keyframes scanlineMove{0%{transform:translateY(0)}to{transform:translateY(4px)}}@keyframes staticNoise{0%,to{transform:translate(0)}10%{transform:translate(-1px,-1px)}20%{transform:translate(1px,1px)}30%{transform:translate(-2px,-2px)}40%{transform:translate(2px,2px)}}@media (prefers-reduced-motion:reduce){.pixel-bg,.pixel-glitch,.pixel-noise,.pixel-rain,.pixel-scan-line{animation:none!important;transition:none!important}.retro-button:before{display:none}}:root{--wh-surface-canvas:#f7f6f0;--wh-surface-panel:#eeede5;--wh-surface-elevated:#e6e8dd;--wh-text-primary:#172a2b;--wh-text-secondary:#415252;--wh-text-muted:#596b68;--wh-accent-brand:#277750;--wh-accent-brand-strong:#1f6845;--wh-accent-premium:#916b1f;--wh-border-subtle:#cdd2c7;--wh-border-strong:#a7b4a8}html.dark{--wh-surface-canvas:#142626;--wh-surface-panel:#1b3030;--wh-surface-elevated:#243c3b;--wh-text-primary:#f0f1e8;--wh-text-secondary:#b9c9c4;--wh-text-muted:#9aada6;--wh-accent-brand:#96c6a2;--wh-accent-brand-strong:#296947;--wh-accent-premium:#dfc688;--wh-border-subtle:#36504a;--wh-border-strong:#557165}body{color:#415252;color:var(--wh-text-secondary);margin:0}.app-shell,body{background:#f7f6f0;background:var(--wh-surface-canvas)}.app-shell{min-height:100vh}.portfolio-container{margin-inline:auto;width:min(1200px,calc(100% - 96px))}.editorial-section{padding-block:100px}.editorial-heading{margin-bottom:48px;max-width:740px}.eyebrow{align-items:center;color:#277750;color:var(--wh-accent-brand);display:flex;font-size:11px;font-weight:700;gap:12px;letter-spacing:.12em;line-height:1.7;text-transform:uppercase}.section-number{color:#596b68;color:var(--wh-text-muted);font-family:JetBrains Mono,monospace;font-weight:400}.eyebrow-divider{background:#a7b4a8;background:var(--wh-border-strong);flex-shrink:0;height:1px;width:24px}.editorial-heading h1,.editorial-heading h2{text-wrap:balance;color:#172a2b;color:var(--wh-text-primary);font-family:Sora,sans-serif;font-size:clamp(28px,3.2vw,42px);font-weight:600;letter-spacing:-.045em;line-height:1.22;margin-block:16px 20px}.section-intro{font-size:16px;line-height:1.85;max-width:640px}.section-intro p+p{margin-top:16px}.muted{color:#596b68;color:var(--wh-text-muted)}.text-link{align-items:center;color:#172a2b;color:var(--wh-text-primary);display:inline-flex;font-size:14px;font-weight:600;gap:10px;min-height:44px;text-decoration:underline;-webkit-text-decoration-color:#a7b4a8;text-decoration-color:#a7b4a8;-webkit-text-decoration-color:var(--wh-border-strong);text-decoration-color:var(--wh-border-strong);text-underline-offset:5px}.text-link:hover{-webkit-text-decoration-color:#277750;text-decoration-color:#277750;-webkit-text-decoration-color:var(--wh-accent-brand);text-decoration-color:var(--wh-accent-brand)}.portfolio-button svg,.text-link svg{flex-shrink:0;height:18px;width:18px}.portfolio-button{align-items:center;background:#277750;background:var(--wh-accent-brand);border:1px solid #277750;border:1px solid var(--wh-accent-brand);border-radius:4px;color:#f7f6f0;color:var(--wh-surface-canvas);display:inline-flex;font-size:14px;font-weight:700;gap:24px;justify-content:center;min-height:48px;padding:14px 22px}.portfolio-button:hover{filter:brightness(1.1)}.app-shell :where(a,button,summary,input,textarea,select):focus-visible{outline:2px solid #277750;outline:2px solid var(--wh-accent-brand);outline-offset:5px}.skip-link{background:#277750;background:var(--wh-accent-brand);color:#f7f6f0;color:var(--wh-surface-canvas);left:12px;padding:12px 20px;position:fixed;top:12px;transform:translateY(-200%);z-index:100}.skip-link:focus{transform:none}#main-content:focus{outline:none}.portfolio-header{background:#f7f6f0;background:var(--wh-surface-canvas);border-bottom:1px solid #cdd2c7;border-bottom:1px solid var(--wh-border-subtle);position:-webkit-sticky;position:sticky;top:0;z-index:50}.header-inner{gap:32px;min-height:80px}.header-inner,.wordmark{align-items:center;display:flex}.wordmark{color:#172a2b;color:var(--wh-text-primary);font-family:Sora,sans-serif;font-size:30px;font-weight:700;letter-spacing:-.07em;min-height:48px;min-width:48px}.wordmark span{color:#277750;color:var(--wh-accent-brand)}.portfolio-nav{align-items:center;display:flex;gap:32px;margin-left:auto}.portfolio-nav a{align-items:center;color:#415252;color:var(--wh-text-secondary);display:flex;font-size:13px;font-weight:600;min-height:48px}.portfolio-nav a:hover,.portfolio-nav a[aria-current]{color:#277750;color:var(--wh-accent-brand)}.portfolio-nav .nav-contact{border-bottom:1px solid #a7b4a8;border-bottom:1px solid var(--wh-border-strong);color:#172a2b;color:var(--wh-text-primary);gap:16px}.header-controls{display:flex;gap:4px}.icon-button{border-radius:4px;color:#172a2b;color:var(--wh-text-primary);display:grid;height:48px;place-items:center;width:48px}.icon-button:hover{background:#eeede5;background:var(--wh-surface-panel)}.icon-button svg{height:22px;width:22px}.menu-toggle{display:none}.hero-grid{grid-gap:90px;align-items:center;display:grid;gap:90px;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);padding-block:80px 72px}.hero-copy h1{text-wrap:balance;color:#172a2b;color:var(--wh-text-primary);font-family:Sora,sans-serif;font-size:clamp(36px,4.3vw,58px);font-weight:600;letter-spacing:-.055em;line-height:1.12;margin-block:24px;max-width:760px}.hero-intro{font-size:16px;line-height:1.85;max-width:610px}.hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:24px;margin-top:32px}.hero-profile{justify-self:end;max-width:340px;width:100%}.portrait-frame{background:#eeede5;background:var(--wh-surface-panel);border-radius:4px;position:relative}.portrait-frame:before{border:1px solid #a7b4a8;border:1px solid var(--wh-border-strong);border-radius:4px;content:"";inset:-14px 16px 16px -14px;pointer-events:none;position:absolute}.portrait-frame img{aspect-ratio:6/7;border-radius:4px;display:block;height:auto;object-fit:cover;position:relative;width:100%}.portrait-caption{background:#dfc688;bottom:24px;color:#172a2b;font-size:11px;padding:12px 16px;position:absolute;right:-18px;transform:rotate(-3deg)}.hero-profile figcaption{font-size:12px;line-height:1.9;margin-top:26px}.profile-name{color:#172a2b;color:var(--wh-text-primary);font-size:18px;font-weight:600}.proof-strip{grid-gap:40px;border-block:1px solid #cdd2c7;border-block:1px solid var(--wh-border-subtle);display:grid;gap:40px;grid-template-columns:1fr 2.65fr;padding-block:30px}.proof-context>p+p{font-size:12px;line-height:1.7;margin-top:10px}.proof-values{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(3,minmax(0,1fr))}.proof-values>div{border-left:1px solid #cdd2c7;border-left:1px solid var(--wh-border-subtle);padding-left:32px}.proof-values dt{color:#172a2b;color:var(--wh-text-primary);font-family:Sora,sans-serif;font-size:38px;font-weight:500;letter-spacing:-.04em;line-height:1.2}.proof-values dd{font-size:12px;line-height:1.6;margin-top:8px;max-width:180px}.work-entry{border-top:1px solid #cdd2c7;border-top:1px solid var(--wh-border-subtle)}.work-entry summary{grid-gap:24px;align-items:center;cursor:pointer;display:grid;gap:24px;grid-template-columns:40px 1fr 32px;list-style:none;padding-block:28px}.work-entry summary::-webkit-details-marker{display:none}.work-index{color:#596b68;color:var(--wh-text-muted);font-size:12px}.work-entry h3{color:#172a2b;color:var(--wh-text-primary);font-size:21px;font-weight:600;letter-spacing:-.025em;line-height:1.4;margin-top:8px}.details-toggle{color:#277750;color:var(--wh-accent-brand);font-size:26px;text-align:center}.details-toggle:after{content:"+"}.work-entry[open] .details-toggle:after{content:"−"}.work-body{padding:0 0 30px 64px}.story-columns{grid-gap:36px;display:grid;gap:36px;grid-template-columns:repeat(3,minmax(0,1fr))}.story-columns dt{color:#172a2b;color:var(--wh-text-primary);font-size:12px;font-weight:700;margin-bottom:8px}.story-columns dd{font-size:14px;line-height:1.85}.evidence-lines{border-top:1px solid #cdd2c7;border-top:1px solid var(--wh-border-subtle);color:#277750;color:var(--wh-accent-brand);display:flex;flex-wrap:wrap;font-size:12px;gap:12px 32px;margin-top:24px;padding-top:18px}.evidence-lines li:before{content:"↳";padding-right:10px}.stack-line{color:#596b68;color:var(--wh-text-muted);font-size:11px;line-height:1.9;margin-top:16px}.work-feature-link{align-items:center;border-block:1px solid #cdd2c7;border-block:1px solid var(--wh-border-subtle);display:flex;gap:24px;justify-content:space-between;padding:24px 0 24px 64px}.work-feature-link strong{color:#172a2b;color:var(--wh-text-primary);display:block;font-size:18px;font-weight:600;margin-top:8px}.work-feature-link>span:last-child{color:#277750;color:var(--wh-accent-brand);font-size:24px}.case-study-section{background:#eeede5;background:var(--wh-surface-panel);border-block:1px solid #cdd2c7;border-block:1px solid var(--wh-border-subtle)}.case-study-grid{grid-gap:90px;display:grid;gap:90px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.case-study-lead .editorial-heading{margin-bottom:32px}.case-study-sample{border-top:1px solid #a7b4a8;border-top:1px solid var(--wh-border-strong);padding-top:24px}.case-study-metrics{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));margin-block:20px 18px}.case-study-metrics dt{color:#277750;color:var(--wh-accent-brand);font-family:Sora,sans-serif;font-size:30px}.case-study-metrics dd{font-size:11px;line-height:1.6;margin-top:8px}.sample-note{color:#596b68;color:var(--wh-text-muted);font-size:11px;line-height:1.8}.case-study-story h3{color:#172a2b;color:var(--wh-text-primary);font-size:15px;font-weight:700;margin-bottom:12px}.case-study-story>p{font-size:14px;line-height:1.85;margin-bottom:32px}.approach-list li{display:flex;font-size:14px;gap:20px;line-height:1.85;padding-bottom:20px}.approach-list span{color:#277750;color:var(--wh-accent-brand);font-size:11px;padding-top:3px}.case-study-outcome{border-left:2px solid #277750;border-left:2px solid var(--wh-accent-brand);margin-top:12px;padding-left:24px}.case-study-outcome p{font-size:14px;line-height:1.85}.case-study-footnote{border-top:1px solid #cdd2c7;border-top:1px solid var(--wh-border-subtle);font-size:11px;line-height:1.9;margin-top:48px;padding-top:12px}.case-study-footnote p+p{margin-top:12px}.feedback-section{border-bottom:1px solid #cdd2c7;border-bottom:1px solid var(--wh-border-subtle);padding-block:48px}.feedback-grid{grid-gap:48px;display:grid;gap:48px;grid-template-columns:repeat(3,minmax(0,1fr));padding-block:24px}.feedback-quote blockquote{color:#172a2b;color:var(--wh-text-primary);font-size:18px;letter-spacing:-.02em;line-height:1.65}.feedback-quote figcaption{font-size:11px;line-height:1.8;margin-top:20px}.feedback-quote strong{color:#277750;color:var(--wh-accent-brand);font-size:12px}.feedback-quote figcaption p{margin-top:6px}.quiet-details{font-size:13px;line-height:1.85;margin-top:24px}.quiet-details>summary,.role-details>summary{color:#172a2b;color:var(--wh-text-primary);cursor:pointer;font-weight:600;min-height:44px;padding-block:10px}.quiet-details>p{margin-block:12px}.quiet-details h3{font-weight:600;margin-top:16px}.plain-list{font-size:13px;line-height:1.85;list-style:disc;margin-block:12px;padding-left:18px}.plain-list li+li{margin-top:8px}.project-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(2,minmax(0,1fr))}.project-story{border:1px solid #cdd2c7;border:1px solid var(--wh-border-subtle);border-radius:4px;font-size:14px;line-height:1.85;padding:32px}.project-featured{background:#eeede5;background:var(--wh-surface-panel);border-top:3px solid #277750;border-top:3px solid var(--wh-accent-brand);padding-top:30px}.project-meta{align-items:start;display:flex;flex-direction:column;gap:8px}.project-status{color:#596b68;color:var(--wh-text-muted);font-size:11px}.project-story h3{font-family:Sora,sans-serif;font-size:24px;font-weight:600;letter-spacing:-.03em;line-height:1.3;margin-block:20px 16px}.project-focus,.project-story h3{color:#172a2b;color:var(--wh-text-primary)}.project-focus{border-left:2px solid #a7b4a8;border-left:2px solid var(--wh-border-strong);font-size:13px;margin-top:20px;padding-left:16px}.project-story .quiet-details{margin-top:12px}.project-links{display:flex;flex-wrap:wrap;gap:24px}.side-projects{border-bottom:1px solid #cdd2c7;border-bottom:1px solid var(--wh-border-subtle);margin-bottom:20px;padding-bottom:16px}.side-projects .project-grid{margin-block:20px}.explore-links{border-top:1px solid #cdd2c7;border-top:1px solid var(--wh-border-subtle);display:flex;flex-wrap:wrap;font-size:13px;gap:24px 40px;margin-top:32px;padding-top:32px}.explore-links a{align-items:center;color:#172a2b;color:var(--wh-text-primary);display:flex;gap:24px;min-height:44px}.project-filters{align-items:end;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-bottom:32px}.search-label{grid-gap:8px;display:grid;flex:1 1;font-size:12px;font-weight:600;gap:8px;max-width:420px}.search-label input{background:#eeede5;background:var(--wh-surface-panel);border:1px solid #a7b4a8;border:1px solid var(--wh-border-strong);border-radius:4px;color:#172a2b;color:var(--wh-text-primary);font-size:14px;padding:12px 16px;width:100%}.filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.filter-buttons button{border:1px solid #cdd2c7;border:1px solid var(--wh-border-subtle);border-radius:4px;font-size:12px;min-height:44px;padding:8px 14px;text-transform:capitalize}.filter-buttons button[aria-pressed=true]{background:#277750;background:var(--wh-accent-brand);border-color:#277750;border-color:var(--wh-accent-brand);color:#f7f6f0;color:var(--wh-surface-canvas)}.empty-results{padding-block:48px}.about-grid{grid-gap:100px;display:grid;gap:100px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}#about,.education-note{border-top:1px solid #cdd2c7;border-top:1px solid var(--wh-border-subtle)}.education-note{font-size:13px;line-height:1.85;padding-top:24px}.education-note h3{color:#172a2b;color:var(--wh-text-primary);font-weight:600;margin-top:12px}.current-role{border-left:2px solid #277750;border-left:2px solid var(--wh-accent-brand);font-size:14px;line-height:1.85;padding-left:24px}.current-role h3{color:#172a2b;color:var(--wh-text-primary);font-size:23px;font-weight:600;letter-spacing:-.025em;line-height:1.4;margin-top:12px}.company-name{color:#277750;color:var(--wh-accent-brand);font-size:12px;margin-block:8px 16px}.past-role{border-top:1px solid #cdd2c7;border-top:1px solid var(--wh-border-subtle);font-size:12px;line-height:1.8;padding-block:20px}.past-role h3{color:#172a2b;color:var(--wh-text-primary);font-size:15px;font-weight:600;margin-top:4px}.past-role .company-name{margin-block:4px}.role-details{font-size:12px}.about-extras{grid-gap:32px;border-top:1px solid #cdd2c7;border-top:1px solid var(--wh-border-subtle);display:grid;gap:32px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:40px}.about-extras .text-link{font-size:12px}.skills-section{padding-top:24px}.skills-list>div{grid-gap:40px;border-top:1px solid #cdd2c7;border-top:1px solid var(--wh-border-subtle);display:grid;font-size:14px;gap:40px;grid-template-columns:minmax(0,.7fr) minmax(0,2fr);line-height:1.85;padding-block:20px}.skills-list dt{color:#172a2b;color:var(--wh-text-primary);font-weight:600}.notes-list article,.notes-section{border-top:1px solid #cdd2c7;border-top:1px solid var(--wh-border-subtle)}.notes-list article{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:36px 1fr 100px;padding-block:28px}.note-index{color:#596b68;color:var(--wh-text-muted);font-size:11px;padding-top:5px}.notes-list h3{color:#172a2b;color:var(--wh-text-primary);font-size:18px;font-weight:600;line-height:1.5;margin-bottom:8px}.notes-list p{font-size:13px;line-height:1.85;max-width:700px}.notes-list .stack-line{font-size:11px;margin-top:10px}.note-status{color:#596b68;color:var(--wh-text-muted);font-size:11px;justify-self:end;padding-top:6px}.contact-section{background:#eeede5;background:var(--wh-surface-panel);border-block:1px solid #cdd2c7;border-block:1px solid var(--wh-border-subtle)}.contact-grid{grid-gap:100px;display:grid;gap:100px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.contact-address{grid-gap:12px;display:grid;font-size:13px;gap:12px;margin-top:32px}.contact-address .text-link{font-size:16px;overflow-wrap:anywhere}.contact-socials{display:flex;gap:24px;margin-top:12px}.contact-socials .text-link{font-size:13px}.contact-form{grid-gap:20px;display:grid;gap:20px}.contact-form label{grid-gap:8px;color:#172a2b;color:var(--wh-text-primary);display:grid;font-size:12px;font-weight:600;gap:8px}.contact-form input,.contact-form textarea{background:#f7f6f0;background:var(--wh-surface-canvas);border:1px solid #a7b4a8;border:1px solid var(--wh-border-strong);border-radius:4px;color:#172a2b;color:var(--wh-text-primary);font-size:14px;font-weight:400;min-height:48px;padding:12px 14px;width:100%}.contact-form textarea{resize:vertical}.contact-form .portfolio-button{justify-self:start}.contact-form button:disabled{cursor:wait;opacity:.6}.form-status{border:1px solid #a7b4a8;border:1px solid var(--wh-border-strong);font-size:14px;line-height:1.7;padding:16px}.form-status.error{border-color:#c97a68}.portfolio-footer{font-size:12px;line-height:1.8;padding-block:48px 24px}.footer-bottom,.footer-top{align-items:center;justify-content:space-between}.footer-bottom,.footer-top,.footer-top nav{display:flex;flex-wrap:wrap;gap:24px}.footer-top nav a{align-items:center;display:flex;gap:8px;min-height:44px}.footer-bottom{border-top:1px solid #cdd2c7;border-top:1px solid var(--wh-border-subtle);color:#596b68;color:var(--wh-text-muted);font-size:11px;margin-top:32px;padding-top:20px}.footer-bottom>div{display:flex;gap:20px}.footer-bottom a{align-items:center;display:inline-flex;min-height:44px}@media (max-width:1023px){.portfolio-container{width:calc(100% - 64px)}.hero-grid{gap:48px;padding-block:64px}.hero-copy h1{font-size:clamp(36px,5vw,50px)}.about-grid,.case-study-grid,.contact-grid{gap:48px}.proof-strip{gap:24px;grid-template-columns:1fr 3fr}.proof-values{gap:16px}.proof-values>div{padding-left:20px}.feedback-grid{gap:24px}}@media (max-width:767px){.portfolio-container{width:calc(100% - 40px)}.editorial-section{padding-block:64px}.editorial-heading{margin-bottom:32px}.header-inner{gap:16px;min-height:68px}.header-controls{margin-left:auto}.menu-toggle{display:grid}.portfolio-nav{display:none}.portfolio-nav.is-open{align-items:stretch;background:#f7f6f0;background:var(--wh-surface-canvas);border-bottom:1px solid #a7b4a8;border-bottom:1px solid var(--wh-border-strong);display:flex;flex-direction:column;gap:0;left:0;padding:12px 20px 20px;position:absolute;right:0;top:100%}.portfolio-nav a{min-height:48px}.portfolio-nav .nav-contact{align-self:start;margin-top:8px}.hero-grid{gap:48px;grid-template-columns:1fr;padding-block:48px}.hero-copy h1{font-size:clamp(33px,7.5vw,52px)}.hero-intro{font-size:15px}.hero-profile{grid-gap:24px;align-items:center;display:grid;gap:24px;grid-template-columns:120px 1fr;max-width:none}.portrait-frame img{aspect-ratio:1}.portrait-frame:before{inset:-6px 8px 8px -6px}.portrait-caption{display:none}.hero-profile figcaption{margin-top:0}.proof-strip{gap:24px;grid-template-columns:1fr}.proof-context>p+p br{display:none}.proof-values{gap:16px}.proof-values>div{border-left:none;padding-left:0}.proof-values dt{font-size:32px}.proof-values dd{font-size:11px}.work-entry summary{gap:12px;grid-template-columns:24px 1fr 24px;padding-block:24px}.work-entry h3{font-size:18px}.work-entry .eyebrow{font-size:10px}.work-body{padding-left:36px}.story-columns{gap:20px;grid-template-columns:1fr}.evidence-lines{grid-gap:12px;display:grid;gap:12px}.work-feature-link{padding-left:36px}.work-feature-link strong{font-size:16px}.about-grid,.case-study-grid,.contact-grid,.project-grid{gap:40px;grid-template-columns:1fr}.case-study-metrics dt{font-size:28px}.case-study-footnote{margin-top:32px}.feedback-section{padding-block:32px}.feedback-grid{gap:28px;grid-template-columns:1fr}.feedback-quote figcaption{margin-top:12px}.project-story{padding:24px}.project-featured{padding-top:22px}.project-story h3{font-size:22px}.project-filters{display:grid}.about-extras{gap:0;grid-template-columns:1fr}.about-extras .quiet-details{margin-top:8px}.skills-list>div{gap:8px;grid-template-columns:1fr}.notes-list article{gap:12px;grid-template-columns:24px 1fr}.note-status{grid-column:2;justify-self:start;padding:0}.contact-grid{gap:32px}.footer-top{align-items:start;flex-direction:column}.footer-top nav{gap:8px 24px}.footer-bottom{align-items:start;flex-direction:column;gap:8px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
/*# sourceMappingURL=main.6f3fd370.css.map*/