@font-face{font-family:Sora;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3dbe685087e51055-s.3go3gb1_xu4rn.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6bd983bd58a87a3d-s.p.1hey5yyym6mz_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-weight:500;font-display:swap;src:url(../media/3dbe685087e51055-s.3go3gb1_xu4rn.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6bd983bd58a87a3d-s.p.1hey5yyym6mz_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(../media/3dbe685087e51055-s.3go3gb1_xu4rn.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6bd983bd58a87a3d-s.p.1hey5yyym6mz_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(../media/3dbe685087e51055-s.3go3gb1_xu4rn.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6bd983bd58a87a3d-s.p.1hey5yyym6mz_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-weight:800;font-display:swap;src:url(../media/3dbe685087e51055-s.3go3gb1_xu4rn.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:800;font-display:swap;src:url(../media/6bd983bd58a87a3d-s.p.1hey5yyym6mz_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora Fallback;src:local(Arial);ascent-override:85.29%;descent-override:25.5%;line-gap-override:0.0%;size-adjust:113.73%}.sora_94d83e41-module__ctMBzW__className{font-family:Sora,Sora Fallback;font-style:normal}.sora_94d83e41-module__ctMBzW__variable{--font-sora:"Sora", "Sora Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_8566272b-module__6PLmBa__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_8566272b-module__6PLmBa__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-dm-sans), system-ui, sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.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}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-10{z-index:10}.z-50{z-index:50}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-auto{margin-left:auto;margin-right:auto}.my-12{margin-top:3rem;margin-bottom:3rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.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-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-20{height:5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.min-h-\[100svh\]{min-height:100svh}.min-h-\[1px\]{min-height:1px}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-12{width:3rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[200px\]{max-width:200px}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1}.flex-shrink-0{flex-shrink: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))}.transform-gpu{transform:translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:1s cubic-bezier(0,0,.2,1) infinite ping}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.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-0\.5{gap:.125rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.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-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.border-t-black{--tw-border-opacity:1;border-top-color:rgb(0 0 0/var(--tw-border-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-50\/50{background-color:#f9fafb80}.bg-gray-950{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-transparent{background-color:#0000}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/80{background-color:#fffc}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.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-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-16{padding-bottom:4rem}.pl-4{padding-left:1rem}.pt-1{padding-top:.25rem}.pt-12{padding-top:3rem}.pt-2{padding-top:.5rem}.pt-24{padding-top:6rem}.pt-28{padding-top:7rem}.text-left{text-align:left}.text-center{text-align:center}.font-heading{font-family:var(--font-sora), system-ui, sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.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-5xl{font-size:3rem;line-height:1}.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-extrabold{font-weight:800}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-\[0\.95\]{line-height:.95}.leading-\[0\.98\]{line-height:.98}.leading-\[1\.8\]{line-height:1.8}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-\[-0\.045em\]{letter-spacing:-.045em}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.decoration-gray-400{text-decoration-color:#9ca3af}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-75{opacity:.75}.outline-none{outline-offset:2px;outline:2px solid #0000}.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}:root{--color-bg:#fff;--color-text:#000;--color-border:#e5e5e5;--color-muted:#666;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--color-bg:#0a0a0a;--color-text:#f7f7f5;--color-border:#242424;--color-muted:#a0a0a0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{scroll-behavior:auto}.site-nav{z-index:100;background:color-mix(in srgb, var(--color-bg) 1%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.25);backdrop-filter:blur(20px)saturate(1.25);isolation:isolate;padding-right:var(--scrollbar-compensation,0px);border-bottom:1px solid #0000;transition:background .28s,border-color .28s,box-shadow .28s;position:fixed;top:0;left:0;right:0}.site-nav-solid{border-color:color-mix(in srgb, var(--color-border) 82%, transparent);background:color-mix(in srgb, var(--color-bg) 82%, transparent);box-shadow:0 .75rem 2.5rem color-mix(in srgb, var(--color-text) 5%, transparent)}.site-nav-shell{z-index:3;justify-content:space-between;align-items:center;width:min(100%,72rem);min-height:4.5rem;margin:0 auto;padding:.75rem 1.5rem;display:flex;position:relative}.site-wordmark{font-family:var(--font-sora), sans-serif;letter-spacing:-.035em;align-items:baseline;font-size:1.05rem;font-weight:800;transition:opacity .18s,transform .22s cubic-bezier(.16,1,.3,1);display:inline-flex}.site-wordmark span{color:#ff6b35}.site-wordmark:hover{opacity:.68;transform:translateY(-1px)}.site-nav-desktop{align-items:center;gap:clamp(1.3rem,2.5vw,2.15rem);display:flex}.theme-toggle{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg) 90%, transparent);width:2.15rem;height:2.15rem;color:var(--color-text);border-radius:50%;flex:none;place-items:center;transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .18s,background .18s;display:grid}.theme-toggle svg{width:1rem;height:1rem;transition:transform .42s cubic-bezier(.16,1,.3,1)}.theme-toggle:hover{border-color:color-mix(in srgb, var(--color-text) 38%, var(--color-border));transform:translateY(-1px)}.theme-toggle:hover svg{transform:rotate(18deg)}.theme-toggle:active{transform:scale(.93)}.theme-toggle:focus-visible{outline-offset:3px;outline:2px solid #ff6b35}.site-nav-desktop>a,.site-nav-desktop>button{padding:.55rem 0;font-size:.84rem;font-weight:500;transition:opacity .18s;position:relative}.site-nav-desktop>a:after,.site-nav-desktop>button:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .26s cubic-bezier(.16,1,.3,1);position:absolute;bottom:.25rem;left:0;right:0;transform:scaleX(0)}.site-nav-desktop>a:hover:after,.site-nav-desktop>button:hover:after{transform-origin:0;transform:scaleX(1)}.site-nav-mobile-actions,.mobile-navigation,.mobile-navigation-backdrop{display:none}.menu-toggle{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg) 88%, transparent);border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;transition:border-color .2s,transform .22s cubic-bezier(.16,1,.3,1),background .2s;display:grid;position:relative}.menu-toggle:hover{border-color:color-mix(in srgb, var(--color-text) 35%, var(--color-border))}.menu-toggle:active{transform:scale(.94)}.menu-toggle span{background:currentColor;border-radius:999px;width:1rem;height:1.5px;transition:transform .32s cubic-bezier(.16,1,.3,1),width .22s;position:absolute}.menu-toggle span:first-child{transform:translateY(-.2rem)}.menu-toggle span:last-child{width:.72rem;transform:translate(.14rem,.2rem)}.menu-toggle-open span:first-child{transform:rotate(45deg)}.menu-toggle-open span:last-child{width:1rem;transform:rotate(-45deg)}.menu-toggle:focus-visible,.mobile-navigation a:focus-visible,.mobile-navigation button:focus-visible,.site-nav-desktop a:focus-visible,.site-nav-desktop button:focus-visible{outline-offset:3px;outline:2px solid #ff6b35}@media (max-width:767px){.site-nav-shell{min-height:4.25rem;padding:.65rem 1rem}.site-nav-desktop{display:none}.site-nav-mobile-actions{align-items:center;gap:.85rem;display:flex}.mobile-navigation{z-index:3;visibility:hidden;opacity:0;pointer-events:none;transform-origin:top;transition:visibility 0s linear .32s,opacity .22s,transform .32s cubic-bezier(.16,1,.3,1);display:block;position:absolute;top:calc(100% + .65rem);left:1rem;right:1rem;transform:translateY(-.75rem)scale(.975)}.mobile-navigation-open{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s;transform:translateY(0)scale(1)}.mobile-navigation-panel{border:1px solid color-mix(in srgb, var(--color-border) 88%, transparent);background:color-mix(in srgb, var(--color-bg) 96%, var(--color-text));box-shadow:0 1.5rem 4rem color-mix(in srgb, var(--color-text) 16%, transparent);border-radius:1.15rem;padding:.45rem;overflow:hidden}.mobile-navigation-panel>a,.mobile-navigation-panel>button{text-align:left;border-radius:.8rem;grid-template-columns:2rem 1fr auto;align-items:center;gap:.75rem;width:100%;padding:.9rem .85rem;transition:background .18s,transform .18s;display:grid}.mobile-navigation-panel>a:hover,.mobile-navigation-panel>button:hover{background:color-mix(in srgb, var(--color-bg) 88%, var(--color-text));transform:translate(.2rem)}.mobile-navigation-panel span{color:var(--color-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem}.mobile-navigation-panel strong{font-family:var(--font-sora), sans-serif;letter-spacing:-.025em;font-size:clamp(1.15rem,5vw,1.45rem);font-weight:650}.mobile-navigation-panel i{color:var(--color-muted);font-size:.85rem;font-style:normal}.mobile-navigation-backdrop{z-index:1;visibility:hidden;-webkit-backdrop-filter:blur(16px)saturate(1.12)brightness(.78);backdrop-filter:blur(16px)saturate(1.12)brightness(.78);opacity:0;pointer-events:none;background:#06060675;border:0;transition:visibility 0s linear .42s,opacity .36s,transform .52s cubic-bezier(.16,1,.3,1),-webkit-backdrop-filter .36s,backdrop-filter .36s;display:block;position:fixed;inset:0;transform:scale(1.025)}.mobile-navigation-backdrop:before{content:"";opacity:0;background:radial-gradient(circle at 84% 4%,#ff6b3529,#0000 34%),linear-gradient(#ffffff09,#0000 32%);transition:opacity .42s;position:absolute;inset:0}.mobile-navigation-backdrop-open{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s;transform:scale(1)}.mobile-navigation-backdrop-open:before{opacity:1}}@media (prefers-reduced-motion:reduce){.mobile-navigation,.menu-toggle span,.mobile-navigation-backdrop,.mobile-navigation-backdrop:before{transition-duration:.01ms}}.cv-print-page{color:#171717;width:210mm;min-height:297mm;font-family:var(--font-dm-sans), Arial, sans-serif;background:#fff;grid-template-columns:49mm 71mm 90mm;margin:0 auto;display:grid;overflow:hidden}.cv-print-identity{color:#171717;background:#fff;border-right:.2mm solid #dedede;flex-direction:column;min-width:0;padding:9mm 7mm 8mm;display:flex}.cv-print-name{font-family:var(--font-sora), Arial, sans-serif;letter-spacing:-.065em;flex-direction:column;font-size:25pt;font-weight:800;line-height:.86;display:flex}.cv-print-name strong:last-child{color:#171717}.cv-print-identity figure{background:#d9d5ce;border-radius:1mm 7mm 7mm;height:42mm;margin:7mm 0 4mm;position:relative;overflow:hidden}.cv-print-identity figure img{-o-object-fit:cover;object-fit:cover;-o-object-position:43% 62%;object-position:43% 62%;width:100%;height:100%}.cv-print-role{color:#171717;font-family:var(--font-sora), Arial, sans-serif;font-size:7.2pt;font-weight:700;line-height:1.35}.cv-print-identity section{border-top:.2mm solid #dedede;margin-top:8mm;padding-top:4mm}.cv-print-identity section h2{color:#ff6b35;letter-spacing:.12em;text-transform:uppercase;margin-bottom:2.2mm;font-size:5.8pt;font-weight:700}.cv-print-identity section>strong{margin-bottom:1.5mm;font-size:7pt;line-height:1.3;display:block}.cv-print-identity section p,.cv-print-identity section a,.cv-print-identity section li{color:#3f3f3f;overflow-wrap:anywhere;font-size:6.5pt;line-height:1.45;display:block}.cv-print-identity section a{text-decoration:none}.cv-print-identity section ul{gap:.8mm;list-style:none;display:grid}.cv-print-identity section li:before{color:#171717;content:"↳";margin-right:1mm}.cv-print-career{border-right:.2mm solid #ddd7cf;min-width:0;padding:10mm 7mm 7mm 8mm}.cv-print-career>header>p:first-child{color:#ff6b35;letter-spacing:.13em;text-transform:uppercase;font-size:5.7pt;font-weight:700}.cv-print-career h1{font-family:var(--font-sora), Arial, sans-serif;letter-spacing:-.055em;margin-top:2.8mm;font-size:21pt;font-weight:800;line-height:.92}.cv-print-available{color:#66615b;text-transform:uppercase;align-items:center;gap:1.5mm;margin-top:4mm;font-size:5.5pt;font-weight:700;line-height:1.3;display:flex}.cv-print-available span{background:#ff6b35;border-radius:50%;flex:none;width:2mm;height:2mm}.cv-print-summary{color:#393632;margin-top:3.5mm;font-size:8pt;line-height:1.48}.cv-print-summary strong,.cv-print-experience article p strong{color:#171717;font-weight:750}.cv-print-career section>h2{color:#ff6b35;letter-spacing:.12em;text-transform:uppercase;border-bottom:.2mm solid #d5cfc7;margin-bottom:4mm;padding-bottom:2mm;font-size:5.9pt;font-weight:700}.cv-print-experience{margin-top:8mm}.cv-print-experience article+article{margin-top:5mm}.cv-print-experience time{color:#77716a;font-family:ui-monospace,Menlo,monospace;font-size:5.4pt;display:block}.cv-print-experience h3{font-family:var(--font-sora), Arial, sans-serif;letter-spacing:-.025em;margin-top:1mm;font-size:9pt;font-weight:750;line-height:1.2}.cv-print-experience h4{color:#171717;margin:.8mm 0 1.5mm;font-size:6pt;font-weight:700;line-height:1.25}.cv-print-experience article p{color:#4f4b46;font-size:6.65pt;line-height:1.42}.cv-print-experience .cv-print-detail{color:#77716a;margin-top:1.4mm}.cv-print-skills{margin-top:8mm}.cv-print-skills>div{border-bottom:.2mm solid #ddd7cf;padding:2mm 0}.cv-print-skills strong{margin-bottom:.7mm;font-size:6.2pt;display:block}.cv-print-skills p{color:#625d57;font-size:6.2pt;line-height:1.38}.cv-print-projects{flex-direction:column;min-width:0;padding:9mm 7mm 6mm;display:flex}.cv-print-projects>header{justify-content:space-between;align-items:flex-start;margin-bottom:4mm;display:flex}.cv-print-projects>header p{color:#ff6b35;letter-spacing:.12em;text-transform:uppercase;font-size:5.8pt;font-weight:700}.cv-print-projects>header h2{font-family:var(--font-sora), Arial, sans-serif;letter-spacing:-.035em;margin-top:1.5mm;font-size:12pt;line-height:1.1}.cv-print-projects>header>span{color:#aaa39b;font-family:ui-monospace,Menlo,monospace;font-size:7pt}.cv-print-featured-projects{border-top:.2mm solid #d5cfc7}.cv-print-featured-projects>a{color:#171717;border-bottom:.2mm solid #ddd7cf;min-height:27mm;padding:2.1mm 0 1.8mm;text-decoration:none;display:block}.cv-print-project-heading{grid-template-columns:5mm minmax(0,1fr) auto 3mm;align-items:baseline;gap:1.5mm;margin-bottom:1.8mm;display:grid}.cv-print-project-heading strong{font-family:var(--font-sora), Arial, sans-serif;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:7.4pt;font-weight:750;overflow:hidden}.cv-print-project-index{color:#aaa39b;font-family:ui-monospace,Menlo,monospace;font-size:5.4pt}.cv-print-project-heading time{color:#77716a;text-align:right;font-family:ui-monospace,Menlo,monospace;font-size:5.05pt;line-height:1.25}.cv-print-project-heading i{color:#171717;font-size:7pt;font-style:normal}.cv-print-project-evidence,.cv-print-project-tech{color:#57524c;grid-template-columns:10mm minmax(0,1fr);align-items:start;gap:1mm;margin-top:.8mm;font-size:5.1pt;line-height:1.25;display:grid}.cv-print-project-evidence b,.cv-print-project-tech b{color:#ff6b35;letter-spacing:.06em;text-transform:uppercase;font-size:4.5pt}.cv-print-project-tech{color:#77716a;font-size:4.75pt}.cv-print-projects .cv-project-keywords{flex-wrap:wrap;gap:.55mm .7mm;min-width:0;display:flex}.cv-print-projects .cv-project-keywords mark{color:#413b35;background:#f3eee9;border-radius:.45mm;padding:.2mm .55mm;font-family:ui-monospace,Menlo,monospace;font-size:4.35pt;line-height:1.25}.cv-print-other-projects{margin-top:3mm}.cv-print-other-projects>header{color:#77716a;justify-content:space-between;align-items:baseline;margin-bottom:1.2mm;display:flex}.cv-print-other-projects h3{letter-spacing:.1em;text-transform:uppercase;font-size:4.7pt;font-weight:700}.cv-print-other-projects>header span{font-family:ui-monospace,Menlo,monospace;font-size:4.5pt}.cv-print-other-projects>div{border-top:.2mm solid #ddd7cf}.cv-print-other-projects a{color:#171717;border-bottom:.2mm solid #e5e0da;grid-template-columns:4mm 19mm minmax(0,1fr) 3mm;align-items:center;gap:1mm;min-height:9mm;text-decoration:none;display:grid}.cv-print-other-projects a>span{color:#aaa39b;font-family:ui-monospace,Menlo,monospace;font-size:4.2pt}.cv-print-other-projects a>strong{font-family:var(--font-sora), Arial, sans-serif;text-overflow:ellipsis;white-space:nowrap;font-size:5.2pt;overflow:hidden}.cv-print-other-projects a>small{color:#77716a;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:4.15pt;line-height:1.25;display:-webkit-box;overflow:hidden}.cv-print-other-projects a>i{text-align:right;font-size:5pt;font-style:normal}.cv-print-projects footer{color:#77716a;justify-content:space-between;margin-top:auto;padding-top:3mm;font-family:ui-monospace,Menlo,monospace;font-size:5.1pt;display:flex}@page{size:A4;margin:0}@media screen{.cv-print-page{box-shadow:0 2rem 6rem #231b142e}}@media print{html,body{-webkit-print-color-adjust:exact;print-color-adjust:exact;width:210mm;height:297mm;background:#fff!important}.page-transition{display:none!important}#page-transition-content{opacity:1!important;transform:none!important}.cv-print-page{width:210mm;height:297mm;min-height:297mm;box-shadow:none;-moz-column-break-after:avoid;break-after:avoid;-moz-column-break-inside:avoid;break-inside:avoid;margin:0}}.locale-switcher{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg) 92%, transparent);font-family:var(--font-sora), sans-serif;letter-spacing:.06em;color:var(--color-muted);border-radius:.5rem;align-items:center;gap:.3rem;padding:.16rem;font-size:.68rem;font-weight:700;display:inline-flex}.locale-switcher a{color:var(--color-muted);border-radius:.3rem;padding:.2rem .35rem;transition:color .18s,background .18s,opacity .18s}.locale-switcher a:hover,.locale-switcher a[aria-current=page]{color:currentColor;opacity:1}.locale-switcher a[aria-current=page]{background:var(--color-text);color:var(--color-bg)}.project-nav-tools{justify-content:flex-end;align-items:center;gap:1.25rem;display:flex}.locale-switcher-compact{color:var(--color-muted)}@media (max-width:640px){.locale-switcher span,.locale-switcher a[aria-current=page]{display:none}.locale-switcher a:not([aria-current=page]){color:var(--color-text)}.project-nav-tools{gap:.65rem}.project-nav-index{display:none}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--color-bg);overscroll-behavior-y:none;scrollbar-color:color-mix(in srgb, var(--color-text) 45%, transparent) transparent;min-height:100%}body{min-height:100%;color:var(--color-text);background-color:var(--color-bg);font-family:DM Sans,system-ui,sans-serif;line-height:1.6;transition:color .22s,background-color .22s}#page-transition-content{transform-origin:50% 20%;will-change:auto;min-height:100%}.is-route-transitioning #page-transition-content{pointer-events:none;will-change:transform, opacity}.page-transition{z-index:8000;visibility:hidden;opacity:0;pointer-events:none;position:fixed;inset:0}.page-transition-initial{visibility:visible;opacity:1;pointer-events:auto}.page-transition-initial .page-transition-curtain{clip-path:inset(0)}.page-transition-curtain{background:var(--color-bg);color:var(--color-text);clip-path:inset(100% 0 0);place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.page-transition-curtain:before{content:"";opacity:.75;background-image:radial-gradient(circle at 50% 120%,#ff6b352e,#0000 42%);position:absolute;inset:0}.page-transition-curtain:after{content:"";mix-blend-mode:soft-light;opacity:.12;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E");width:100%;height:100%;position:absolute}.page-transition-mark{z-index:1;font-family:var(--font-sora), sans-serif;letter-spacing:-.07em;font-size:clamp(2.6rem,8vw,6.75rem);font-weight:800;line-height:.9;position:relative}.page-transition-mark i{color:#ff6b35;font-style:normal}.page-transition-rule{z-index:1;background:color-mix(in srgb, var(--color-text) 46%, transparent);width:min(12rem,36vw);height:1px;position:absolute;top:calc(50% + clamp(2.6rem,7vw,6rem));transform:scaleX(0)}.page-transition-index,.page-transition-status{z-index:1;letter-spacing:.12em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.61rem;position:absolute;bottom:clamp(1.35rem,4vw,2.5rem)}.page-transition-index{left:clamp(1.25rem,4vw,3rem)}.page-transition-status{opacity:.62;right:clamp(1.25rem,4vw,3rem)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.page-transition{display:none}#page-transition-content{opacity:1!important;transform:none!important}}::selection{background-color:var(--color-text);color:var(--color-bg)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.6s ease-out forwards fadeInUp}.scroll-fade-in{opacity:0;transition:all .6s ease-out;transform:translateY(30px)}.scroll-fade-in.visible{opacity:1;transform:translateY(0)}.blog-category-filter{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg) 96%, var(--color-text));isolation:isolate;border-radius:.5rem;flex-wrap:wrap;justify-content:center;gap:.25rem;padding:.25rem;display:flex}.blog-category-button{color:var(--color-muted);-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;line-height:1.25rem;transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s}.blog-category-button[aria-pressed=true]{border-color:var(--color-border);background:var(--color-bg);color:var(--color-text);box-shadow:0 1px 3px color-mix(in srgb, var(--color-text) 12%, transparent)}@media (hover:hover){.blog-category-button[aria-pressed=false]:hover{background:color-mix(in srgb, var(--color-bg) 90%, var(--color-text));color:var(--color-text)}}.blog-category-button:focus-visible{outline-offset:2px;outline:2px solid #ff6b35}.blog-results{isolation:isolate;position:relative}.blog-results-current{z-index:1;animation:.28s cubic-bezier(.16,1,.3,1) both blogResultsIn;position:relative}.blog-results-outgoing{z-index:2;pointer-events:none;animation:.22s both blogResultsOut;position:absolute;top:0;left:0;right:0}@keyframes blogResultsIn{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes blogResultsOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-.25rem)}}@media (prefers-reduced-motion:reduce){.blog-results-current,.blog-results-outgoing{animation:none}.blog-category-button{transition:none}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text)}.projects-section{position:relative;overflow:hidden}.projects-section:before{content:"";pointer-events:none;background:radial-gradient(circle,#ff6b3513,#0000 68%);border-radius:50%;width:min(80rem,110vw);height:38rem;position:absolute;inset:8rem auto auto 50%;transform:translate(-50%)}.projects-heading{align-items:end;gap:2.5rem;display:grid;position:relative}.projects-eyebrow,.case-study-number{letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);font-size:.7rem;font-weight:600}.projects-tabs{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg) 91%, var(--color-text));border-radius:.85rem;gap:.35rem;margin:0;padding:.35rem;display:flex;position:relative}.projects-tabs button{color:var(--color-muted);white-space:nowrap;border-radius:.58rem;justify-content:center;align-items:baseline;gap:.65rem;padding:.8rem 1rem;font-size:.95rem;font-weight:600;transition:color .22s,background .22s,box-shadow .22s,transform .18s;display:flex;position:relative}.projects-tabs button:hover,.projects-tabs button.active{color:var(--color-text)}.projects-tabs button.active{background:var(--color-bg);box-shadow:0 .35rem 1.1rem #20161214}.projects-tabs button:active{transform:scale(.98)}.projects-tabs button span{font-variant-numeric:tabular-nums;color:var(--color-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem}.portfolio-section-heading{border-bottom:1px solid var(--color-border);color:var(--color-muted);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;margin:3.75rem 0 1.25rem;padding-bottom:1rem;font-size:.7rem;font-weight:600;display:flex}.portfolio-section-heading>div{align-items:center;gap:1rem;display:flex}.portfolio-section-heading span{color:#ff6b35;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.portfolio-client-heading{margin-top:5rem}.projects-browser{border-top:1px solid var(--color-border);align-items:end;gap:1.5rem;margin-top:clamp(4.5rem,8vw,7rem);padding-top:1.5rem;display:grid}.projects-browser-copy h3{max-width:34rem;font-family:var(--font-sora), sans-serif;letter-spacing:-.045em;text-wrap:balance;margin-top:.7rem;font-size:clamp(1.75rem,3.2vw,3rem);font-weight:700;line-height:1.05}.projects-tab-panel{margin-top:1.25rem}.projects-more{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg) 95%, var(--color-text));width:fit-content;color:var(--color-text);border-radius:.65rem;margin:1.5rem auto 0;padding:.8rem 1.1rem;font-size:.78rem;font-weight:600;transition:transform .18s,border-color .18s,background .18s;display:block}.projects-more:hover{border-color:color-mix(in srgb, var(--color-text) 32%, transparent);background:color-mix(in srgb, var(--color-bg) 90%, var(--color-text));transform:translateY(-2px)}.projects-more:active{transform:scale(.98)}.projects-more:focus-visible{outline-offset:4px;outline:2px solid #ff6b35}.aiden-feature{isolation:isolate;border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg) 96%, var(--color-text));border-radius:1.5rem;transition:transform .32s cubic-bezier(.16,1,.3,1),border-color .25s,box-shadow .32s;display:grid;position:relative;overflow:hidden;box-shadow:0 1.5rem 4rem #20161212}.aiden-feature:hover{border-color:color-mix(in srgb, var(--color-text) 35%, transparent);transform:translateY(-5px);box-shadow:0 2rem 5rem #2016121f}.aiden-feature-copy{flex-direction:column;justify-content:space-between;gap:2rem;min-height:29rem;padding:clamp(1.4rem,3vw,2.4rem);display:flex}.aiden-feature-media{border-top:1px solid var(--color-border);background:#09090c;min-height:26rem;position:relative;overflow:hidden}.aiden-feature-media>video{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;min-height:26rem;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}.aiden-feature-media:after{content:"";pointer-events:none;background:linear-gradient(#0000 62%,#050508b8);position:absolute;inset:0}.aiden-product-shot{z-index:2;aspect-ratio:1.64;pointer-events:none;border:1px solid #ffffff2e;border-radius:.75rem;width:55%;transition:transform .8s cubic-bezier(.16,1,.3,1);position:absolute;bottom:5%;right:-4%;overflow:hidden;transform:rotate(-2.5deg);box-shadow:0 1.5rem 4rem #00000080}.aiden-feature:hover .aiden-feature-media>video{transform:scale(1.018)}.aiden-feature:hover .aiden-product-shot{transform:rotate(-1deg)translateY(-.25rem)scale(1.025)}.aiden-playing{z-index:3;color:#ffffffb8;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;align-items:center;gap:.55rem;font-size:.68rem;font-weight:600;display:flex;position:absolute;bottom:1.25rem;left:1.25rem}.aiden-feature-actions a{z-index:4;position:relative}.aiden-playing i{background:#ff6b35;border-radius:50%;width:.45rem;height:.45rem;animation:2s infinite productPulse;box-shadow:0 0 #ff6b35a6}@keyframes productPulse{70%{box-shadow:0 0 0 .5rem #ff6b3500}to{box-shadow:0 0 #ff6b3500}}.project-primary-link{background:var(--color-text);color:var(--color-bg);border-radius:.65rem;align-items:center;gap:.55rem;padding:.75rem 1rem;font-size:.8rem;font-weight:600;transition:transform .18s,opacity .18s;display:inline-flex}.project-primary-link:hover{opacity:.82;transform:translateY(-2px)}.independent-grid,.featured-project-grid{margin-top:1.25rem}.case-study-grid{grid-template-columns:1fr;gap:1.25rem;display:grid;position:relative}.case-study{isolation:isolate;border:1px solid var(--color-border);background:linear-gradient(145deg, color-mix(in srgb, var(--color-bg) 97%, var(--color-text)), color-mix(in srgb, var(--color-bg) 92%, var(--color-text)));border-radius:1.25rem;flex-direction:column;min-width:0;transition:border-color .25s,transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s;display:flex;position:relative;overflow:hidden}.case-study>*{position:relative}.project-card-hit-area{z-index:2;border-radius:inherit;cursor:pointer;touch-action:pan-y;inset:0;position:absolute!important}.project-card-hit-area:focus-visible{outline-offset:-4px;outline:2px solid #ff6b35}.case-study:hover{border-color:color-mix(in srgb, var(--color-text) 35%, transparent);transform:translateY(-5px);box-shadow:0 1.5rem 4rem #20161214}.case-study-compact .case-study-media{min-height:15.5rem}.case-study-compact .case-study-body{gap:1.15rem}.case-study-compact .case-study-body>div:nth-child(2) p:last-child{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.case-study-media{z-index:3;border-bottom:1px solid var(--color-border);touch-action:pan-y;pointer-events:none;background:radial-gradient(circle at 50% 42%,#fffffffa,#f1eeeaeb),#f2efeb;min-height:17rem;position:relative;overflow:hidden}.case-study-media>img{transition:transform .65s cubic-bezier(.16,1,.3,1),opacity .42s cubic-bezier(.16,1,.3,1)}.case-study-media:focus-visible{outline-offset:-3px;outline:2px solid #ff6b35}.case-study-media-image{opacity:0}.case-study-media-image-ready{opacity:1}.case-study:hover .case-study-media>img.object-cover{transform:scale(1.018)}.case-study-gallery{z-index:4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;background:#0f0f0fbd;border:1px solid #ffffffb3;border-radius:.55rem;align-items:center;gap:.08rem;padding:.18rem;display:flex;position:absolute;bottom:.55rem;right:.55rem;box-shadow:inset 0 1px #ffffff1f}.case-study-gallery-arrow{color:#fff;border-radius:.38rem;flex:none;place-items:center;width:2.25rem;height:2.25rem;transition:background .18s,transform .18s;display:grid}.case-study-gallery-arrow:hover{background:#ffffff24}.case-study-gallery-arrow:active{transform:scale(.92)}.case-study-gallery-arrow svg{width:.9rem;height:.9rem}.case-study-gallery-count{color:#ffffffb8;text-align:center;min-width:2.7rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem}.case-study-index{color:#1e1e1e8c;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem;position:absolute;bottom:1rem;left:1rem}.case-study-body{flex-direction:column;flex:1;justify-content:space-between;gap:1.4rem;padding:clamp(1.25rem,2.4vw,1.75rem);display:flex}.case-study-text .case-study-body{min-height:27rem}.project-logo{border:1px solid var(--color-border);background:#fff;border-radius:.75rem;flex:none;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:.35rem;display:flex;overflow:hidden}.project-logo-fill{background:0 0;border-radius:.8rem;padding:0}.project-logo-fill img{border-radius:inherit;transition:transform .5s cubic-bezier(.16,1,.3,1);transform:scale(1.035)}.case-study:hover .project-logo-fill img,.aiden-feature:hover .project-logo-fill img{transform:scale(1.11)}.project-logo-case{width:3rem;height:3rem}.project-logo-dark{background:#0c0c0c}.project-monogram{letter-spacing:.06em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;font-weight:700}.project-service,.project-status{border:1px solid var(--color-border);color:var(--color-muted);border-radius:.45rem;padding:.35rem .55rem;font-size:.68rem;line-height:1}.case-study-meta{border-top:1px solid var(--color-border);justify-content:space-between;align-items:end;gap:1rem;margin-top:1.5rem;padding-top:1.25rem;font-size:.75rem;display:flex}.case-study-links{z-index:4;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem 1rem;display:flex;position:relative}.project-external-link{color:#ff6b35}.project-link{width:fit-content;color:var(--color-text);align-items:center;gap:.45rem;font-size:.78rem;font-weight:600;transition:opacity .18s;display:inline-flex}.project-link svg{transition:transform .22s cubic-bezier(.16,1,.3,1)}.project-link:hover{opacity:.65}.project-link:hover svg{transform:translate(2px,-2px)}.project-compact-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1rem;display:grid}.project-compact{border:1px solid var(--color-border);border-radius:1rem;flex-direction:column;justify-content:space-between;gap:2rem;min-height:20rem;padding:1.5rem;transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .25s;display:flex}.project-compact:hover{border-color:color-mix(in srgb, var(--color-text) 35%, transparent);transform:translateY(-3px)}.projects-tabs button:focus-visible,.project-link:focus-visible,.case-study-gallery-arrow:focus-visible{outline-offset:4px;outline:2px solid #ff6b35}@media (min-width:768px){.projects-heading{grid-template-columns:minmax(0,1.6fr) minmax(17rem,.7fr)}.case-study-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-browser{grid-template-columns:minmax(0,1fr) auto}.case-study-wide{grid-column:span 2;grid-template-columns:minmax(0,1.45fr) minmax(20rem,.8fr);display:grid}.case-study-wide .case-study-media{border-right:1px solid var(--color-border);border-bottom:0;min-height:24rem}.case-study:not(.case-study-wide) .case-study-media{min-height:22rem}.case-study.case-study-compact .case-study-media{min-height:17rem}}@media (min-width:1024px){.aiden-feature{grid-template-columns:minmax(23rem,.72fr) minmax(0,1.28fr)}.aiden-feature-media{border-top:0;border-left:1px solid var(--color-border)}.projects-tab-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.case-study.case-study-compact .case-study-media{min-height:15rem}}:root[data-theme=dark] .aiden-feature{background:linear-gradient(145deg,#191817,#0e0e0d);border-color:#ffffff1f;box-shadow:inset 0 1px #ffffff0a,0 1.75rem 5rem #00000057}:root[data-theme=dark] .aiden-feature:hover{border-color:#ffffff3d;box-shadow:inset 0 1px #ffffff0f,0 2.1rem 5.5rem #00000080}:root[data-theme=dark] .case-study{background:linear-gradient(145deg,#1b1a18,#10100f 72%);border-color:#ffffff1c;box-shadow:inset 0 1px #ffffff09,0 1rem 3rem #0003}:root[data-theme=dark] .case-study:hover{border-color:#ffffff3d;box-shadow:inset 0 1px #ffffff0f,0 1.8rem 5rem #00000075}:root[data-theme=dark] .projects-tabs{background:#0e0e0d;border-color:#ffffff1c}:root[data-theme=dark] .projects-tabs button.active{background:#22211f;box-shadow:inset 0 1px #ffffff0e,0 .5rem 1.5rem #00000059}:root[data-theme=dark] .case-study-media{background:radial-gradient(circle at 50% 42%,#292725,#151413 75%)}:root[data-theme=dark] .case-study-index{color:#ffffff80}@media (prefers-reduced-motion:reduce){.aiden-feature,.case-study,.case-study-media>img,.project-compact,.project-link svg{transition:none}.aiden-playing i,.case-study-media-image{animation:none}.project-page-nav,.project-detail-title,.project-detail-meta,.project-detail-lead,.project-story>*,.project-highlights,.project-video-grid figure,.project-gallery figure,.project-next>*{animation:none!important}}.project-page{--detail-pad:clamp(1.25rem, 5vw, 5rem);background:radial-gradient(circle at 82% 5%, #ff6b3511, transparent 24rem), var(--color-bg);width:100%;max-width:100vw;min-height:100dvh;overflow-x:hidden}.project-page-nav{--detail-nav-margin:clamp(.65rem, 1.8vw, 1.35rem);width:calc(100% - (var(--detail-nav-margin) * 2));min-height:4.6rem;margin:var(--detail-nav-margin) auto 0;border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg) 94%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:.9rem;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(1rem,3.5vw,3rem);display:grid}.project-back{align-items:center;gap:.5rem;width:fit-content;font-size:.75rem;font-weight:600;transition:opacity .18s,transform .18s;display:inline-flex}.project-back:hover{opacity:.6;transform:translate(-2px)}.project-wordmark{font-family:var(--font-sora), sans-serif;letter-spacing:-.04em;font-size:.9rem;font-weight:800}.project-wordmark span{color:#ff6b35}.project-nav-index{color:var(--color-muted);font-variant-numeric:tabular-nums;justify-self:end;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem}.project-detail-hero{padding:clamp(3.5rem, 7vw, 6rem) var(--detail-pad) clamp(2.5rem, 5vw, 4.5rem);gap:clamp(2.5rem,6vw,5rem);display:grid}.project-detail-title{min-width:0;container-type:inline-size}.project-detail-title>p,.project-story-label,.project-highlights>p,.project-next>p{color:var(--color-muted);letter-spacing:.14em;text-transform:uppercase;font-size:.67rem;font-weight:600}.project-detail-title h1{max-width:100%;font-family:var(--font-sora), sans-serif;letter-spacing:-.065em;text-wrap:balance;margin-top:1.25rem;font-size:clamp(3.75rem,10vw,8.5rem);font-weight:800;line-height:.88}.project-detail-title-condensed h1{font-size:clamp(3.75rem,9.2cqi,7.5rem)}.project-detail-title h2{max-width:46rem;color:var(--color-muted);letter-spacing:-.02em;text-wrap:pretty;margin-top:2.5rem;font-size:clamp(1.15rem,2.3vw,1.8rem);font-weight:400;line-height:1.45}.project-detail-meta{z-index:1;border-top:1px solid var(--color-border);align-content:center;gap:1.4rem;min-width:0;padding-top:1.5rem;display:grid;position:relative}.project-detail-meta div span{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem;font-size:.65rem;display:block}.project-detail-meta div p{overflow-wrap:anywhere;max-width:29rem;font-size:.82rem;line-height:1.6}.project-detail-meta>a{border-bottom:1px solid var(--color-text);align-items:center;gap:.5rem;width:fit-content;margin-top:.3rem;padding-bottom:.25rem;font-size:.78rem;font-weight:600;display:inline-flex}.project-detail-lead{width:calc(100% - (var(--detail-pad) * 2));height:clamp(24rem,58vw,46rem);margin:0 var(--detail-pad);border:1px solid var(--color-border);background:radial-gradient(circle at 50% 40%,#f8f6f3,#e7e3de);border-radius:clamp(1rem,2.5vw,2rem);position:relative;overflow:hidden}.deferred-project-image{background-position:50%;background-repeat:no-repeat;display:block;position:absolute;inset:0}.deferred-project-image-cover{background-size:cover}.deferred-project-image-contain{background-size:contain}.project-detail-lead.project-detail-lead-social{aspect-ratio:1.9;height:auto;min-height:12rem}.deferred-project-video{background-color:#08080b;background-position:50%;background-repeat:no-repeat;background-size:cover;overflow:hidden}.project-detail-lead>.deferred-project-video{position:absolute;inset:0}.deferred-project-video video{-o-object-fit:cover;object-fit:cover;background:#08080b;width:100%;height:100%;display:block}.project-story{padding:clamp(4.5rem, 8vw, 7.5rem) var(--detail-pad);gap:2rem;display:grid}.project-story>div{max-width:64rem}.project-story h2{font-family:var(--font-sora), sans-serif;letter-spacing:-.05em;text-wrap:pretty;font-size:clamp(2rem,4.4vw,4.25rem);font-weight:650;line-height:1.08}.project-story>div>p{max-width:47rem;color:var(--color-muted);margin-top:2.5rem;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.8}.project-impact{margin:0 var(--detail-pad) clamp(4.5rem, 7vw, 7rem);border:1px solid var(--color-border);background:var(--color-border);border-radius:1rem;gap:1px;display:grid;overflow:hidden}.project-impact article{background:var(--color-bg);min-width:0;padding:clamp(1.5rem,3vw,2.5rem)}.project-impact article>p{color:#ff6b35;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.5rem;font-size:.64rem;font-weight:700}.project-impact h2{color:color-mix(in srgb, var(--color-text) 82%, transparent);text-wrap:pretty;font-size:clamp(.95rem,1.4vw,1.08rem);font-weight:450;line-height:1.72}.project-impact ul{flex-wrap:wrap;gap:.55rem;list-style:none;display:flex}.project-impact li{border:1px solid var(--color-border);color:var(--color-muted);border-radius:999px;padding:.5rem .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem}@media (min-width:900px){.project-impact{grid-template-columns:repeat(3,minmax(0,1fr))}}.project-highlights{margin:0 var(--detail-pad) clamp(4.5rem, 7vw, 7rem);border-top:1px solid var(--color-border);gap:2rem;padding-top:2rem;display:grid}.project-highlights ol{list-style:none}.project-highlights li{border-bottom:1px solid var(--color-border);font-family:var(--font-sora), sans-serif;letter-spacing:-.025em;grid-template-columns:2.5rem 1fr;align-items:baseline;gap:1rem;padding:1.15rem 0;font-size:clamp(1rem,2vw,1.45rem);font-weight:600;display:grid}.project-highlights li span{color:#ff6b35;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;font-weight:500}.project-gallery{padding:0 var(--detail-pad) clamp(5rem, 8vw, 8rem);gap:clamp(2rem,4vw,4rem) 1.25rem;display:grid}.project-video-gallery{padding:0 var(--detail-pad) clamp(5rem, 7vw, 7rem)}@keyframes projectDetailEnter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes projectDetailMediaEnter{0%{opacity:0;clip-path:inset(7% 2% round 1.5rem);transform:scale(.985)}to{opacity:1;clip-path:inset(0%);transform:scale(1)}}.project-page-nav,.project-detail-title,.project-detail-meta{animation:.7s cubic-bezier(.16,1,.3,1) both projectDetailEnter}.project-detail-title{animation-delay:80ms}.project-detail-meta{animation-delay:.15s}.project-detail-lead{animation:.95s cubic-bezier(.16,1,.3,1) .18s both projectDetailMediaEnter}@supports (animation-timeline:view()){.project-story>*,.project-highlights,.project-video-grid figure,.project-gallery figure,.project-next>*{animation:linear both projectDetailEnter;animation-timeline:view();animation-range:entry 8% entry 34%}}.project-video-heading{border-bottom:1px solid var(--color-border);color:var(--color-muted);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:baseline;margin-bottom:1.5rem;padding-bottom:1rem;font-size:.68rem;font-weight:600;display:flex}.project-video-heading span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem}.project-video-grid{gap:2rem 1.25rem;display:grid}.project-video-grid .deferred-project-video{aspect-ratio:16/10;border:1px solid var(--color-border);-o-object-fit:cover;object-fit:cover;background:#08080b;border-radius:clamp(.8rem,1.8vw,1.5rem);width:100%;display:block}.project-video-grid .deferred-project-video video{aspect-ratio:auto;border:0;border-radius:0}.project-video-grid figcaption{color:var(--color-muted);margin-top:.8rem;font-size:.72rem}.project-gallery figure>div{aspect-ratio:16/10;border:1px solid var(--color-border);background:radial-gradient(circle at 50% 40%,#f8f6f3,#e7e3de);border-radius:clamp(.8rem,1.8vw,1.5rem);position:relative;overflow:hidden}.project-gallery figcaption{color:var(--color-muted);gap:.8rem;margin-top:.8rem;font-size:.7rem;display:flex}.project-gallery figcaption span{color:var(--color-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.project-next{padding:4rem var(--detail-pad) 6rem;border-top:1px solid var(--color-border)}.project-next>a{grid-template-columns:1fr auto;align-items:center;gap:.5rem 2rem;margin-top:2rem;display:grid}.project-next>a span{color:var(--color-muted);text-transform:uppercase;font-size:.7rem}.project-next>a strong{font-family:var(--font-sora), sans-serif;letter-spacing:-.065em;font-size:clamp(2.5rem,8vw,7rem);line-height:.9}.project-next>a svg{grid-area:1/2/3;width:clamp(2rem,5vw,4rem);height:auto;transition:transform .22s}.project-next>a:hover svg{transform:translate(.5rem)}@media (min-width:768px){.project-story,.project-highlights{grid-template-columns:minmax(8rem,.28fr) minmax(0,1fr)}.project-gallery,.project-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-gallery-wide{grid-column:1/-1}.project-gallery-wide>div{aspect-ratio:16/8}}@media (min-width:1100px){.project-detail-hero{grid-template-columns:minmax(0,1.65fr) minmax(20rem,.72fr);align-items:stretch}}:root[data-theme=dark] .project-detail-lead,:root[data-theme=dark] .project-gallery figure>div{background:radial-gradient(circle at 50% 40%,#242321,#11110f)}@media (max-width:520px){.projects-browser{margin-top:4rem}.projects-tabs{width:100%;overflow-x:auto}.projects-tabs button{flex:1 0 auto;padding-inline:.85rem}.case-study-gallery{max-width:calc(100% - 2rem)}.project-page-nav{grid-template-columns:minmax(0,1fr) auto}.project-nav-tools{min-width:0}.project-wordmark{display:none}.project-detail-title h1{font-size:clamp(3.25rem,17vw,5.5rem)}.project-detail-title-condensed h1{font-size:clamp(2.35rem,10.5vw,3.35rem);line-height:.94}.project-detail-lead{height:26rem}.project-detail-lead.project-detail-lead-social{height:auto}}.hero-section{min-height:100svh;padding-top:clamp(5.75rem,12vh,8rem);padding-bottom:clamp(4.5rem,9vh,6.5rem)}.hero-content{width:min(100%,56rem)}.hero-scroll-cue{position:absolute;bottom:clamp(1.75rem,5vh,3.5rem);left:0;right:0}.hero-identity{width:fit-content;color:var(--color-text);font-family:var(--font-sora), sans-serif;letter-spacing:.105em;text-transform:uppercase;border-bottom:1px solid #ff6b358c;margin:0 auto -.5rem;padding-bottom:.45rem;font-size:.7rem;font-weight:750}.hero-actions{margin-top:.35rem}.hero-cta{min-height:3rem;font-family:var(--font-sora), sans-serif;letter-spacing:.045em;text-transform:uppercase;border-radius:.55rem;justify-content:center;align-items:center;padding:.85rem 1.15rem;font-size:.72rem;font-weight:750;transition:transform .2s,background-color .2s,color .2s,border-color .2s,box-shadow .25s;display:inline-flex}.hero-cta-primary{background:var(--color-text);color:var(--color-bg);box-shadow:0 .8rem 2rem color-mix(in srgb, var(--color-text) 13%, transparent)}.hero-cta-primary:hover{box-shadow:0 1rem 2.5rem color-mix(in srgb, var(--color-text) 20%, transparent);transform:translateY(-2px)}.hero-cta-secondary{border:1px solid var(--color-border);color:var(--color-text)}.hero-cta-secondary:hover{border-color:color-mix(in srgb, var(--color-text) 42%, var(--color-border));background:color-mix(in srgb, var(--color-bg) 90%, var(--color-text));transform:translateY(-2px)}.hero-cta:focus-visible{outline-offset:4px;outline:2px solid #ff6b35}.hero-highlight strong{color:var(--color-text);font-family:var(--font-sora), sans-serif;font-weight:750}.about-section{position:relative;overflow:hidden}.about-shell{align-items:center;gap:clamp(3rem,7vw,7rem);width:min(100%,72rem);margin:0 auto;display:grid}.about-copy,.about-travel{min-width:0}.about-identity{flex-wrap:wrap;align-items:center;gap:.65rem .9rem;margin:-1.4rem 0 2rem;display:flex}.about-identity strong{letter-spacing:-.025em;font-size:1.05rem}.about-identity span{color:var(--color-muted);letter-spacing:.035em;text-transform:uppercase;border-left:2px solid #ff6b35;padding-left:.85rem;font-size:.72rem;font-weight:650}.about-kicker{color:#ff6b35;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.85rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem;font-weight:600}.about-copy strong{color:var(--color-text);font-family:var(--font-sora), sans-serif;font-weight:750}.about-portrait{opacity:0;min-width:0;transition:opacity .8s .18s,transform 1.1s cubic-bezier(.16,1,.3,1) .18s;transform:translateY(2.5rem)rotate(1.5deg)}.about-portrait-visible{opacity:1;transform:translateY(0)rotate(0)}.about-portrait-frame{aspect-ratio:4/5;box-shadow:0 2rem 5rem color-mix(in srgb, var(--color-text) 15%, transparent);background:#dedbd4;border-radius:1.5rem 1.5rem .4rem;position:relative;overflow:hidden}.about-portrait-frame:after{border-radius:inherit;content:"";pointer-events:none;border:1px solid #ffffff52;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0000000a}.about-portrait-image{-o-object-fit:cover;object-fit:cover;-o-object-position:42% 62%;object-position:42% 62%;transition:transform 1.2s cubic-bezier(.16,1,.3,1),filter .5s}.about-portrait:hover .about-portrait-image{filter:saturate(1.04)contrast(1.02);transform:scale(1.03)}.about-portrait figcaption{color:var(--color-muted);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;gap:1rem;padding-top:.85rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;display:flex}@media (min-width:850px){.about-shell{-moz-column-gap:clamp(3rem, 7vw, 7rem);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);gap:0 clamp(3rem,7vw,7rem)}.about-heading{grid-area:1/1}.about-copy{grid-area:2/1}.about-portrait{grid-area:1/2/3}.about-travel{grid-area:3/1/auto/-1;margin-top:clamp(3rem,6vw,5rem)}.about-travel>div{-moz-column-gap:2rem;grid-template-columns:minmax(12rem,.4fr) minmax(0,1fr);column-gap:2rem;display:grid}.about-travel>div>div:first-child{grid-area:1/1}.about-travel>div>p:first-of-type{grid-area:2/1}.about-travel>div>div:nth-of-type(2){grid-area:1/2;justify-content:flex-end;align-self:center}.about-travel>div>p:last-child{text-align:right;grid-area:2/2}}@media (max-width:849px){.about-heading{order:1}.about-portrait{order:2}.about-copy{order:3}.about-travel{order:4}.about-portrait{width:min(100%,38rem);margin:0 auto}.about-portrait-frame{aspect-ratio:16/9;max-height:21rem}.about-portrait-image{-o-object-position:43% 64%;object-position:43% 64%}}@media (max-width:520px){.hero-section{padding-top:6.75rem;padding-bottom:5rem}.hero-identity{max-width:19rem;font-size:.61rem;line-height:1.55}.hero-actions{width:100%}.hero-cta{flex:100%}.about-section{padding-top:5rem;padding-bottom:5rem}.about-shell{gap:2.75rem}.about-heading h2{margin-bottom:2rem}.about-copy .space-y-6{--tw-space-y-reverse:0}.about-copy .space-y-6>:not([hidden])~:not([hidden]){margin-top:1.15rem}.about-portrait-frame{aspect-ratio:16/10;border-radius:1rem 1rem .3rem;max-height:16rem}.about-portrait figcaption{font-size:.54rem}}.cv-page{--cv-orange:#ff6b35;background:var(--color-bg);color:var(--color-text);overflow:hidden}.cv-hero,.cv-body,.cv-contact{width:min(100%,76rem);margin:0 auto;padding-left:clamp(1.25rem,4vw,3rem);padding-right:clamp(1.25rem,4vw,3rem)}.cv-hero{padding-top:clamp(3.5rem,7vw,6rem)}.cv-page-nav{background:color-mix(in srgb, var(--color-bg) 94%, transparent)}.cv-hero-topline{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding-bottom:1.25rem;display:flex}.cv-back{color:var(--color-muted);font-size:.72rem;font-weight:600;transition:color .18s,transform .18s}.cv-back:hover{color:var(--color-text);transform:translate(-.2rem)}.cv-hero-grid{gap:clamp(2.5rem,7vw,7rem);padding:clamp(3.5rem,7vw,6.5rem) 0 clamp(3rem,6vw,5rem);display:grid}.cv-portrait{aspect-ratio:16/5.5;min-height:clamp(17rem,30vw,23rem);box-shadow:0 1.5rem 4rem color-mix(in srgb, var(--color-text) 13%, transparent);background:#d9d5ce;border-radius:1.4rem 1.4rem .45rem;grid-column:1/-1;position:relative;overflow:hidden}.cv-portrait img{-o-object-fit:cover;object-fit:cover;-o-object-position:50% 62%;object-position:50% 62%;transition:transform .9s cubic-bezier(.16,1,.3,1),filter .3s}.cv-portrait:hover img{filter:saturate(1.04);transform:scale(1.035)}.cv-label,.cv-section>h2,.cv-sidebar h2,.cv-contact>div>p{color:var(--color-muted);letter-spacing:.13em;text-transform:uppercase;font-size:.66rem;font-weight:650}.cv-label{color:var(--cv-orange);margin-bottom:1.25rem}.cv-section>h2{color:var(--cv-orange)}.cv-hero h1{font-family:var(--font-sora), sans-serif;letter-spacing:-.075em;text-wrap:balance;font-size:clamp(4rem,9vw,8rem);font-weight:800;line-height:.83}.cv-role{max-width:38rem;font-family:var(--font-sora), sans-serif;letter-spacing:-.035em;text-wrap:balance;margin-top:1.7rem;font-size:clamp(1.15rem,2.2vw,1.7rem);font-weight:650;line-height:1.25}.cv-intro-block{align-self:end}.cv-intro-block,.cv-hero-grid>*{min-width:0}.cv-status{color:var(--color-muted);align-items:center;gap:.65rem;margin-bottom:1.5rem;font-size:.72rem;font-weight:600;display:flex}.cv-status span{background:var(--cv-orange);width:.5rem;height:.5rem;box-shadow:0 0 0 .3rem color-mix(in srgb, var(--cv-orange) 12%, transparent);border-radius:50%}.cv-intro{max-width:38rem;color:color-mix(in srgb, var(--color-text) 76%, transparent);text-wrap:pretty;font-size:clamp(1.05rem,1.8vw,1.3rem);line-height:1.65}.cv-intro strong,.cv-timeline article>div:last-child>p strong{color:var(--color-text);font-weight:750}.cv-actions{flex-wrap:wrap;align-items:center;gap:.8rem 1.15rem;margin-top:2rem;display:flex}.cv-download{background:var(--color-text);color:var(--color-bg);border-radius:.5rem;align-items:center;gap:2.2rem;padding:.9rem 1.05rem;font-size:.77rem;font-weight:700;transition:transform .2s,box-shadow .25s;display:inline-flex}.cv-download:hover{box-shadow:0 .8rem 2.2rem color-mix(in srgb, var(--color-text) 18%, transparent);transform:translateY(-2px)}.cv-download:active{transform:scale(.98)}.cv-actions small{color:var(--color-muted);font-size:.68rem}.cv-proof{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);display:grid}.cv-proof>div{padding:1.3rem 0}.cv-proof dt{color:var(--color-muted);font-size:.66rem}.cv-proof dd{font-family:var(--font-sora), sans-serif;margin-top:.2rem;font-size:.94rem;font-weight:650}.cv-body{padding-top:clamp(5rem,9vw,8rem);padding-bottom:clamp(6rem,10vw,9rem)}.cv-section+.cv-section{margin-top:clamp(5rem,9vw,8rem)}.cv-section>h2{margin-bottom:2.2rem}.cv-timeline article{border-top:1px solid var(--color-border);gap:1rem 3rem;padding:2rem 0 2.4rem;display:grid}.cv-period{color:var(--color-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.67rem}.cv-period span{min-width:2rem;color:var(--color-muted);display:inline-block}.cv-timeline h3,.cv-projects h3{font-family:var(--font-sora), sans-serif;letter-spacing:-.035em;font-weight:700}.cv-timeline h3{font-size:clamp(1.35rem,2.7vw,2rem)}.cv-company{color:var(--color-muted);margin:.25rem 0 1rem;font-size:.77rem;font-weight:600}.cv-timeline article>div:last-child>p:not(.cv-company){max-width:47rem;color:color-mix(in srgb, var(--color-text) 76%, transparent);font-size:.96rem;line-height:1.7}.cv-timeline .cv-detail{margin-top:.8rem;color:var(--color-muted)!important}.cv-projects{background:var(--color-border);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);gap:1px;display:grid}.cv-projects article{background:var(--color-bg);min-height:17rem;padding:1.5rem;transition:background .22s,transform .25s;position:relative}.cv-projects article:hover{z-index:1;background:color-mix(in srgb, var(--color-bg) 96%, var(--color-text));transform:translateY(-.25rem)}.cv-projects article>span{color:var(--color-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem}.cv-projects h3{margin:4.3rem 0 .7rem;font-size:1.35rem}.cv-projects p{color:var(--color-muted);font-size:.84rem;line-height:1.6}.cv-section-heading{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.4rem;display:flex}.cv-section-heading h2{color:var(--cv-orange);letter-spacing:.13em;text-transform:uppercase;font-size:.66rem;font-weight:650}.cv-section-heading span{color:var(--color-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem}.cv-project-list{border-top:1px solid var(--color-border)}.cv-project-row{border-bottom:1px solid var(--color-border);grid-template-columns:2rem 2.6rem minmax(9rem,1fr) minmax(7rem,.45fr) auto;align-items:center;gap:.85rem;min-height:5.15rem;padding:.7rem .8rem;transition:background .28s,box-shadow .32s cubic-bezier(.16,1,.3,1),transform .32s cubic-bezier(.16,1,.3,1);display:grid;position:relative}.cv-project-row:hover{background:color-mix(in srgb, var(--color-bg) 96%, var(--color-text));box-shadow:inset 3px 0 0 var(--cv-orange);transform:translateY(-1px)}.cv-project-index,.cv-project-row time{color:var(--color-muted);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem}.cv-project-icon{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg) 94%, var(--color-text));width:2.4rem;height:2.4rem;font-family:var(--font-sora), sans-serif;border-radius:.65rem;place-items:center;font-size:.75rem;font-weight:750;display:grid;position:relative;overflow:hidden}.cv-project-icon img{-o-object-fit:contain;object-fit:contain;padding:.28rem}.cv-project-name{flex-direction:column;min-width:0;display:flex}.cv-project-name strong{font-family:var(--font-sora), sans-serif;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:700;overflow:hidden}.cv-project-name small{color:var(--color-muted);font-size:.66rem}.cv-project-more{color:var(--color-muted);opacity:.62;align-items:center;gap:.45rem;font-size:.68rem;font-weight:650;transition:color .18s,opacity .18s,transform .18s;display:inline-flex}.cv-project-evidence{color:var(--color-muted);grid-column:3/-1;gap:.55rem;padding:.4rem 0 1rem;font-size:.76rem;line-height:1.55;display:grid}.cv-project-evidence>span{grid-template-columns:4.2rem minmax(0,1fr);align-items:start;gap:.65rem;display:grid}.cv-project-evidence b{min-width:4.2rem;color:var(--cv-orange);letter-spacing:.08em;text-transform:uppercase;font-size:.6rem;display:inline-block}.cv-project-keywords{flex-wrap:wrap;gap:.35rem;min-width:0;display:flex}.cv-project-keywords mark{border:1px solid color-mix(in srgb, var(--color-border) 82%, transparent);background:color-mix(in srgb, var(--color-bg) 92%, var(--color-text));color:var(--color-text);border-radius:.35rem;padding:.12rem .42rem;font-size:.69rem;font-weight:600;line-height:1.35}.cv-project-row:hover .cv-project-more{color:var(--cv-orange);opacity:1;transform:translate(.15rem)}.cv-project-row:focus-visible{outline:2px solid var(--cv-orange);outline-offset:3px}.cv-lower-grid{gap:clamp(4rem,8vw,8rem);margin-top:clamp(5rem,9vw,8rem);display:grid}.cv-capabilities>div{border-top:1px solid var(--color-border);gap:.4rem 1.5rem;padding:1.25rem 0;display:grid}.cv-capabilities dt{font-family:var(--font-sora), sans-serif;font-size:.9rem;font-weight:650}.cv-capabilities dd{color:var(--color-muted);font-size:.87rem;line-height:1.55}.cv-sidebar{border:1px solid var(--color-border);background:var(--color-bg);border-radius:1rem;align-self:start;padding:clamp(1.4rem,3vw,2rem)}.cv-sidebar section+section{border-top:1px solid var(--color-border);margin-top:2rem;padding-top:2rem}.cv-sidebar h2{margin-bottom:.8rem}.cv-sidebar strong{font-family:var(--font-sora), sans-serif;font-size:.92rem}.cv-sidebar p,.cv-sidebar li{color:var(--color-muted);font-size:.79rem;line-height:1.6}.cv-sidebar p{margin-top:.35rem}.cv-sidebar ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem;list-style:none;display:grid}.cv-sidebar li:before{color:var(--color-text);content:"↳ "}.cv-contact{border-top:1px solid var(--color-border);gap:3rem;padding-top:clamp(4rem,8vw,7rem);padding-bottom:clamp(4rem,8vw,7rem);display:grid}.cv-contact h2{max-width:34rem;font-family:var(--font-sora), sans-serif;letter-spacing:-.05em;margin-top:.9rem;font-size:clamp(1.7rem,4vw,3.4rem);line-height:1.05}.cv-contact-links{flex-direction:column;justify-content:flex-end;align-items:flex-start;display:flex}.cv-contact-links a{border-bottom:1px solid var(--color-border);padding:.55rem 0;font-size:.82rem;font-weight:600;transition:color .18s,transform .18s}.cv-contact-links a:hover{color:var(--cv-orange);transform:translate(.2rem)}.cv-download:focus-visible,.cv-back:focus-visible,.cv-contact a:focus-visible{outline:2px solid var(--cv-orange);outline-offset:4px}@media (min-width:720px){.cv-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(20rem,.75fr)}.cv-title-block{grid-area:1/1}.cv-intro-block{grid-area:1/2}.cv-portrait{grid-row:2}.cv-proof{grid-template-columns:repeat(3,1fr)}.cv-proof>div+div{border-left:1px solid var(--color-border);padding-left:clamp(1rem,3vw,2.5rem)}.cv-timeline article{grid-template-columns:minmax(9rem,.32fr) minmax(0,1fr)}.cv-projects{grid-template-columns:repeat(3,1fr)}.cv-lower-grid{grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr)}.cv-capabilities>div{grid-template-columns:minmax(9rem,.36fr) minmax(0,1fr)}.cv-contact{grid-template-columns:minmax(0,1.3fr) minmax(16rem,.7fr)}}@media (max-width:719px){.cv-hero{padding-top:3.5rem}.cv-hero-grid{gap:2.5rem}.cv-hero h1{font-size:clamp(3.7rem,18vw,5.5rem)}.cv-proof>div+div{border-top:1px solid var(--color-border)}.cv-projects article{min-height:13rem}.cv-projects h3{margin-top:2.3rem}.cv-actions small{flex-basis:100%}.cv-download{justify-content:space-between;width:min(100%,20rem)}.cv-portrait{aspect-ratio:16/10;grid-row:2;width:100%;min-height:0;margin:-.5rem 0 0}.cv-intro-block{grid-row:3}.cv-project-row{grid-template-columns:1.8rem 2.5rem minmax(0,1fr) auto;gap:.65rem}.cv-project-row time{grid-column:3;margin-top:-.6rem}.cv-project-more{grid-area:1/4/3;font-size:0}.cv-project-more svg{width:1rem;height:1rem}.cv-project-evidence{grid-column:1/-1;padding-left:3.1rem}.cv-project-evidence>span{grid-template-columns:1fr;gap:.25rem}.cv-project-evidence b{margin:0;display:block}}@media (prefers-reduced-motion:reduce){.about-portrait,.about-portrait-image,.cv-download,.cv-projects article{transition-duration:.01ms}}.selection\:bg-blue-100 ::selection{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.selection\:bg-blue-100::selection{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.placeholder\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.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)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-black:hover{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:decoration-black:hover{text-decoration-color:#000}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-80:hover{opacity:.8}.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);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-black\/5:hover{--tw-shadow-color:#0000000d;--tw-shadow:var(--tw-shadow-colored)}.focus\:border-black:focus{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.focus\:ring-1: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(1px + 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-black\/10:focus{--tw-ring-color:#0000001a}.disabled\:opacity-30:disabled{opacity:.3}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-80{opacity:.8}.dark\:block:is(.dark *){display:block}.dark\:hidden:is(.dark *){display:none}.dark\:border-amber-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity,1))}.dark\:border-emerald-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(6 95 70/var(--tw-border-opacity,1))}.dark\:border-gray-100:is(.dark *){--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:border-gray-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.dark\:border-gray-900:is(.dark *){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.dark\:border-yellow-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity,1))}.dark\:border-t-white:is(.dark *){--tw-border-opacity:1;border-top-color:rgb(255 255 255/var(--tw-border-opacity,1))}.dark\:bg-amber-950\/30:is(.dark *){background-color:#451a034d}.dark\:bg-black:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.dark\:bg-black\/80:is(.dark *){background-color:#000c}.dark\:bg-emerald-950\/30:is(.dark *){background-color:#022c224d}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:bg-gray-950\/50:is(.dark *){background-color:#03071280}.dark\:bg-white:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.dark\:bg-yellow-900\/20:is(.dark *){background-color:#713f1233}.dark\:text-amber-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.dark\:text-black:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-gray-700:is(.dark *){--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:text-yellow-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.dark\:decoration-gray-600:is(.dark *){text-decoration-color:#4b5563}.dark\:selection\:bg-blue-900\/30 :is(.dark *)::-moz-selection{background-color:#1e3a8a4d}.dark\:selection\:bg-blue-900\/30 :is(.dark *)::selection{background-color:#1e3a8a4d}.dark\:selection\:bg-blue-900\/30:is(.dark *)::-moz-selection{background-color:#1e3a8a4d}.dark\:selection\:bg-blue-900\/30:is(.dark *)::selection{background-color:#1e3a8a4d}.dark\:hover\:border-gray-600:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:hover\:border-white:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.dark\:hover\:bg-gray-100:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-900:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:hover\:text-black:hover:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:hover\:decoration-white:hover:is(.dark *){text-decoration-color:#fff}.dark\:hover\:shadow-gray-900\/20:hover:is(.dark *){--tw-shadow-color:#11182733;--tw-shadow:var(--tw-shadow-colored)}.dark\:hover\:shadow-white\/5:hover:is(.dark *){--tw-shadow-color:#ffffff0d;--tw-shadow:var(--tw-shadow-colored)}.dark\:focus\:border-white:focus:is(.dark *){--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.dark\:focus\:ring-white\/10:focus:is(.dark *){--tw-ring-color:#ffffff1a}.group:hover .dark\:group-hover\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:block{display:block}.sm\:max-w-none{max-width:none}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:text-7xl{font-size:4.5rem;line-height:1}.lg\:text-8xl{font-size:6rem;line-height:1}}
