*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.-left-16{left:-4rem}.top-2{top:.5rem}.z-50{z-index:50}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.mb-12{margin-bottom:3rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-10{margin-left:2.5rem}.ml-4{margin-left:1rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.size-12{width:3rem;height:3rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-8{width:2rem;height:2rem}.h-10{height:2.5rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-full{height:100%}.min-h-\[calc\(100vh-4rem\)\]{min-height:calc(100vh - 4rem)}.w-10{width:2.5rem}.w-9{width:2.25rem}.w-\[1px\]{width:1px}.w-full{width:100%}.w-max{width:max-content}.max-w-3xl{max-width:48rem}.max-w-\[650px\]{max-width:650px}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.translate-x-0{--tw-translate-x:0px}.rotate-0,.translate-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))}.rotate-0{--tw-rotate:0deg}.rotate-90{--tw-rotate:90deg}.rotate-90,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-x-1{column-gap:.25rem}.gap-x-2{column-gap:.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.text-pretty{text-wrap:pretty}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.border-t{border-top-width:1px}.border-border{border-color:hsl(var(--border))}.border-border\/80{border-color:hsl(var(--border)/.8)}.border-input{border-color:hsl(var(--input))}.border-transparent{border-color:transparent}.border-white\/15{border-color:hsla(0,0%,100%,.15)}.bg-background{background-color:hsl(var(--background))}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-muted{background-color:hsl(var(--muted))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/\[0\.04\]{background-color:hsla(0,0%,100%,.04)}.object-contain{object-fit:contain}.p-2{padding:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-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-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pt-2{padding-top:.5rem}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.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-\[10px\]{font-size:10px}.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-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.tracking-\[-0\.045em\]{letter-spacing:-.045em}.tracking-\[-0\.04em\]{letter-spacing:-.04em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-\[\#0175c2\]{--tw-text-opacity:1;color:rgb(1 117 194/var(--tw-text-opacity,1))}.text-\[\#2496ed\]{--tw-text-opacity:1;color:rgb(36 150 237/var(--tw-text-opacity,1))}.text-\[\#3178c6\]{--tw-text-opacity:1;color:rgb(49 120 198/var(--tw-text-opacity,1))}.text-\[\#4169e1\]{--tw-text-opacity:1;color:rgb(65 105 225/var(--tw-text-opacity,1))}.text-\[\#54c5f8\]{--tw-text-opacity:1;color:rgb(84 197 248/var(--tw-text-opacity,1))}.text-\[\#61dafb\]{--tw-text-opacity:1;color:rgb(97 218 251/var(--tw-text-opacity,1))}.text-\[\#68a063\]{--tw-text-opacity:1;color:rgb(104 160 99/var(--tw-text-opacity,1))}.text-\[\#6b9ac4\]{--tw-text-opacity:1;color:rgb(107 154 196/var(--tw-text-opacity,1))}.text-\[\#8ea2ff\]{--tw-text-opacity:1;color:rgb(142 162 255/var(--tw-text-opacity,1))}.text-\[\#e0234e\]{--tw-text-opacity:1;color:rgb(224 35 78/var(--tw-text-opacity,1))}.text-\[\#f05032\]{--tw-text-opacity:1;color:rgb(240 80 50/var(--tw-text-opacity,1))}.text-\[\#f24e1e\]{--tw-text-opacity:1;color:rgb(242 78 30/var(--tw-text-opacity,1))}.text-\[\#f44336\]{--tw-text-opacity:1;color:rgb(244 67 54/var(--tw-text-opacity,1))}.text-\[\#f7df1e\]{--tw-text-opacity:1;color:rgb(247 223 30/var(--tw-text-opacity,1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/70{color:hsla(0,0%,100%,.7)}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-300{animation-duration:.3s}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}:root{color-scheme:dark;--background:0 0% 4%;--foreground:0 0% 94%;--border:0 0% 15%;--ring:79 100% 62%;--muted:0 0% 12%;--muted-foreground:0 0% 60%;--brand:79 100% 62%;--brand-foreground:0 0% 7%;--primary:0 0% 94%;--primary-foreground:0 0% 7%;--secondary:0 0% 12%;--secondary-foreground:0 0% 94%;--accent:0 0% 15%;--accent-foreground:79 100% 62%;--card:0 0% 7%;--card-foreground:0 0% 94%;--popover:0 0% 9%;--popover-foreground:0 0% 94%;--input:0 0% 15%;--destructive:0 70% 48%;--destructive-foreground:0 0% 100%;--radius:6px;--page-background:#080808;--frame-line:#202020;--surface:#0b0b0b;--surface-raised:#161616;--surface-hover:#1f1f1f;--text:#f0f0ec;--ui-text-strong:#fff;--ui-text-soft:#e7e7e4;--ui-muted:#a2a2a0;--ui-muted-strong:#c8c8c4;--ui-faint:#777;--line:#282828;--ui-line-strong:#575757;--ui-accent:#c8f75b;--ui-accent-foreground:#111;--ui-accent-border:#3a4930;--ui-accent-halo:#c8f75b19;--ui-button-background:#f2f2ee;--ui-button-text:#101010;--ui-shadow:#0009;--illustration-social-start:#202b26;--illustration-social-end:#101714;--illustration-travel-start:#242820;--illustration-travel-end:#121510;--illustration-text:#f2f5ef;--illustration-muted:#b3c0b1;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}.light{color-scheme:light;--background:48 29% 96%;--foreground:80 7% 13%;--border:70 9% 85%;--ring:85 74% 24%;--muted:60 13% 92%;--muted-foreground:75 5% 37%;--brand:85 74% 24%;--brand-foreground:0 0% 100%;--primary:80 7% 13%;--primary-foreground:0 0% 100%;--secondary:60 13% 92%;--secondary-foreground:80 7% 13%;--accent:85 36% 87%;--accent-foreground:85 74% 24%;--card:48 100% 99%;--card-foreground:80 7% 13%;--popover:48 100% 99%;--popover-foreground:80 7% 13%;--input:70 9% 85%;--destructive:0 70% 48%;--destructive-foreground:0 0% 100%;--radius:6px;--page-background:#f2f1ec;--frame-line:#deded7;--surface:#fffefa;--surface-raised:#f2f2ed;--surface-hover:#e8e9e2;--text:#20231d;--ui-text-strong:#11140f;--ui-text-soft:#30352d;--ui-muted:#5d6258;--ui-muted-strong:#3e453a;--ui-faint:#71786c;--line:#e0e1d9;--ui-line-strong:#a9b0a3;--ui-accent:#426f0c;--ui-accent-foreground:#fff;--ui-accent-border:#b9d39e;--ui-accent-halo:#426f0c20;--ui-button-background:#20231d;--ui-button-text:#fff;--ui-shadow:#0002;--illustration-social-start:#edf3e7;--illustration-social-end:#d8e3d2;--illustration-travel-start:#f1eee4;--illustration-travel-end:#dfddd2;--illustration-text:#273123;--illustration-muted:#56634e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;background:var(--page-background);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%}::selection{background:var(--ui-accent);color:var(--ui-accent-foreground)}:focus-visible{outline:2px solid var(--ui-accent);outline-offset:4px}section[id]{scroll-margin-top:90px}.skip-link{position:fixed;z-index:200;top:-80px;left:16px;padding:12px 16px;background:var(--ui-accent);color:var(--ui-accent-foreground);font-weight:700}.skip-link:focus{top:16px}.section-wrap,.site-frame,.site-header{width:min(100%,760px);margin-inline:auto;border-inline:1px solid var(--frame-line)}.site-header{position:relative;z-index:10;background:var(--surface)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:70px;margin-inline:32px;border-bottom:1px solid var(--line)}.brand{font-size:18px;font-weight:800;letter-spacing:-.08em}.brand span{color:var(--ui-accent)}.desktop-navigation,.header-contact{display:none}.header-actions{display:flex;align-items:center;gap:8px}.menu-button,.theme-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:5px;background:var(--surface-raised);color:var(--text);cursor:pointer;transition:background .2s,border-color .2s}.menu-button:hover,.theme-button:hover{background:var(--surface-hover);border-color:var(--ui-line-strong)}.theme-icon--moon{display:none}.light .theme-icon--moon{display:block}.dropdown-navigation[hidden],.light .theme-icon--sun{display:none}.dropdown-navigation{position:absolute;top:61px;right:32px;z-index:20;width:min(300px,calc(100% - 48px));padding:8px 16px;border:1px solid var(--ui-line-strong);border-radius:7px;background:var(--surface-raised);box-shadow:0 18px 45px var(--ui-shadow)}.dropdown-navigation a{display:flex;align-items:center;gap:15px;min-height:43px;border-bottom:1px solid var(--line);font-size:13px}.dropdown-navigation a:last-child{border-bottom:0}.dropdown-navigation a:hover{color:var(--ui-accent)}.dropdown-navigation a span{color:var(--ui-faint);font:10px var(--font-mono)}.dropdown-navigation a svg{margin-left:auto}.site-frame{padding:0 32px;background:var(--surface)}.intro{padding:72px 0}.current-role,.intro-status,.project-placeholder small,.project-placeholder span,.project-topline,.section-label,.site-footer,.timeline-period{font-family:var(--font-mono)}.intro-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--ui-muted-strong);font-size:10px;line-height:1.5;letter-spacing:.025em;text-transform:uppercase}.status-dot{display:inline-block;flex:none;width:6px;height:6px;border-radius:50%;background:var(--ui-accent);box-shadow:0 0 0 3px var(--ui-accent-halo)}.status-separator{color:var(--ui-faint)}.intro-grid{display:grid;gap:36px}.intro h1{max-width:720px;margin:27px 0 0;font-size:clamp(42px,8vw,68px);font-weight:650;line-height:1.02;letter-spacing:-.075em}.intro h1 span{color:var(--ui-accent)}.intro .intro-role{margin:16px 0 0;color:var(--ui-text-soft);font-size:clamp(17px,3vw,23px);font-weight:500;letter-spacing:-.04em}.intro .intro-description{max-width:560px;margin:22px 0 0;color:var(--ui-muted);font-size:14px;line-height:1.7}.intro-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:26px}.primary-button{display:inline-flex;align-items:center;gap:20px;min-height:42px;padding:0 16px;border-radius:5px;background:var(--ui-button-background);color:var(--ui-button-text);font-size:12px;font-weight:700;transition:background .2s,transform .2s}.primary-button:hover{background:var(--ui-accent);color:var(--ui-accent-foreground);transform:translateY(-1px)}.text-link{display:inline-flex;align-items:center;gap:6px;min-height:42px;border-bottom:1px solid var(--ui-line-strong);color:var(--ui-muted-strong);font-size:12px;font-weight:600}.text-link:hover{border-color:var(--ui-accent);color:var(--ui-accent)}.intro-visual{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:270px;padding:18px;overflow:hidden;border:1px solid var(--ui-line-strong);border-radius:8px;background:radial-gradient(circle at 52% 45%,var(--ui-accent-halo),transparent 38%),var(--surface-raised)}.intro-visual:before{content:"";position:absolute;inset:0;opacity:.48;background-image:linear-gradient(var(--frame-line) 1px,transparent 1px),linear-gradient(90deg,var(--frame-line) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);pointer-events:none}.intro-visual-bottom,.intro-visual-top{position:relative;z-index:2;display:flex;justify-content:space-between;gap:12px;color:var(--ui-muted-strong);font:9px/1.4 var(--font-mono);letter-spacing:.03em}.intro-visual-bottom{color:var(--ui-text-soft)}.intro-visual-bottom span:last-child{color:var(--ui-accent);text-align:right}.intro-visual-center{position:relative;display:grid;place-items:center;flex:1;min-height:180px}.intro-orbit{position:absolute;width:210px;height:210px;border:1px solid var(--ui-line-strong);border-radius:50%}.intro-orbit--outer{width:255px;height:255px;opacity:.45}.intro-portrait{position:relative;z-index:1;width:155px;height:155px;overflow:hidden;border:1px solid var(--ui-accent-border);border-radius:50%;background:var(--surface-raised);box-shadow:0 18px 70px var(--ui-shadow)}.intro-portrait img{object-fit:cover;filter:grayscale(100%)}.intro-visual-mark{position:absolute;right:7%;bottom:0;color:var(--ui-text-strong);font-size:64px;font-weight:800;line-height:1;letter-spacing:-.11em;opacity:.13}.intro-visual-mark span{color:var(--ui-accent)}.overview-grid{display:block}.cv-section{display:grid;grid-template-columns:118px minmax(0,1fr);gap:24px;padding:38px 0 43px;border-top:1px solid var(--line)}.section-label{margin:4px 0 0;color:var(--ui-muted-strong);font-size:10px;font-weight:500;line-height:1.5;letter-spacing:.04em;text-transform:uppercase}.section-content{min-width:0}.section-content>p{margin:0 0 13px;color:var(--ui-muted);font-size:13px;line-height:1.68}.section-content>p:last-child{margin-bottom:0}.section-content>.lead-copy{color:var(--ui-text-soft);font-size:14px}.skill-list{margin-top:-4px}.skill-row{display:grid;grid-template-columns:155px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.skill-row:last-child{border-bottom:0}.skill-row h3{margin:4px 0 0;font-size:12px;font-weight:600}.technology-list{display:flex;flex-wrap:wrap;gap:8px 15px;min-width:0;margin:0;padding:0;list-style:none}.technology-item{display:inline-flex;align-items:center;gap:6px;min-height:22px;color:var(--ui-muted);font-size:11px;line-height:1.35;white-space:nowrap}.technology-logo{flex:none;width:17px;height:17px;object-fit:contain}.technology-logo--light-backdrop{padding:1px;border-radius:3px;background:#e8e8e5}.light .technology-logo--light-backdrop{background:transparent}.timeline{position:relative;margin:3px 0 0 5px;padding-left:26px;border-left:1px solid var(--ui-line-strong)}.timeline-entry{position:relative;padding:0 0 30px}.timeline-entry:last-child{padding-bottom:0}.timeline-entry:before{content:"";position:absolute;top:3px;left:-31px;width:8px;height:8px;border:1px solid var(--ui-muted-strong);border-radius:50%;background:var(--surface)}.timeline-entry:first-child:before{border-color:var(--ui-accent);background:var(--ui-accent)}.timeline-period{display:block;color:var(--ui-muted);font-size:10px;line-height:1.4;text-transform:uppercase}.timeline-entry h3{margin:7px 0 8px;font-size:14px;font-weight:650;line-height:1.35}.timeline-entry h3 span{color:var(--ui-muted-strong);font-weight:400}.timeline-entry p{max-width:450px;margin:0;color:var(--ui-muted);font-size:12px;line-height:1.65}.current-role{display:inline-block;margin-top:10px;padding:4px 6px;border:1px solid var(--ui-accent-border);border-radius:3px;color:var(--ui-accent);font-size:9px}.projects-heading p{margin:0 0 22px;color:var(--ui-muted);font-size:12px;line-height:1.6}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 15px}.project-card{min-width:0}.project-thumbnail{position:relative;width:100%;aspect-ratio:1.55;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--frame-line)}.project-thumbnail img{object-fit:cover;object-position:center}.project-thumbnail--product{background:#111e21}.project-thumbnail--agri{background:#a0b77c}.project-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:start;justify-content:space-between;padding:14px;background:linear-gradient(135deg,var(--illustration-social-start),var(--illustration-social-end))}.project-thumbnail--travel .project-placeholder{background:linear-gradient(135deg,var(--illustration-travel-start),var(--illustration-travel-end))}.project-placeholder span{color:var(--illustration-muted);font-size:8px;letter-spacing:.08em}.project-placeholder strong{max-width:190px;color:var(--illustration-text);font-size:clamp(18px,2.4vw,26px);line-height:1.1;letter-spacing:-.055em}.project-placeholder small{color:var(--illustration-muted);font-size:8px;line-height:1.4}.project-topline{display:flex;justify-content:space-between;gap:8px;margin-top:9px;color:var(--ui-faint);font-size:9px;line-height:1.3;text-transform:uppercase}.project-topline span:last-child{text-align:right}.project-card h3{margin:9px 0 5px;font-size:14px;font-weight:650;line-height:1.35}.project-card>p{margin:0;color:var(--ui-muted);font-size:11px;line-height:1.55}.project-card>.project-role{margin-top:8px;color:var(--ui-muted-strong)}.project-link{display:inline-flex;align-items:center;gap:5px;margin-top:12px;padding-bottom:3px;border-bottom:1px solid var(--ui-line-strong);font-size:11px;font-weight:600}.project-link:hover{border-color:var(--ui-accent);color:var(--ui-accent)}.education-list{margin-top:-7px}.education-row{display:grid;grid-template-columns:1fr;gap:3px;padding:11px 0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.5}.education-row:last-child{border-bottom:0}.education-row strong{font-weight:600}.education-row span{color:var(--ui-muted)}.contact-block{display:flex;flex-direction:column;gap:20px;padding:55px 0 40px;border-top:1px solid var(--line)}.contact-block h2{margin:0 0 8px;font-size:clamp(24px,4vw,34px);font-weight:650;letter-spacing:-.055em}.contact-block p{margin:0;color:var(--ui-muted);font-size:12px;line-height:1.6}.contact-address{display:inline-flex;align-items:center;align-self:start;gap:10px;padding-bottom:6px;border-bottom:1px solid var(--ui-faint);font-size:clamp(15px,2.8vw,20px);font-weight:600;letter-spacing:-.035em;overflow-wrap:anywhere}.contact-address:hover{color:var(--ui-accent);border-color:var(--ui-accent)}.contact-socials{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:5px}.contact-socials a{color:var(--ui-muted);font-size:11px}.contact-socials a:hover{color:var(--text)}.site-footer{display:flex;justify-content:space-between;gap:12px;padding:19px 0 25px;border-top:1px solid var(--line);color:var(--ui-faint);font-size:9px;line-height:1.5}.site-footer a:hover{color:var(--ui-accent)}.detail-page,.not-found{min-height:75vh;padding:50px 32px 90px;background:var(--surface)}.detail-back{display:inline-flex;align-items:center;gap:7px;min-height:38px;color:var(--ui-muted-strong);font-size:11px}.detail-back:hover,.detail-link:hover,.eyebrow{color:var(--ui-accent)}.eyebrow{font:10px/1.5 var(--font-mono);text-transform:uppercase;letter-spacing:.04em}.detail-hero{display:grid;grid-template-columns:1fr;gap:22px;margin:42px 0 27px}.detail-hero h1{max-width:600px;margin:9px 0 13px;font-size:clamp(34px,5vw,48px);line-height:1.1;letter-spacing:-.06em}.detail-hero p{max-width:540px;margin:0;color:var(--ui-muted);font-size:14px;line-height:1.65}.detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-block:1px solid var(--line)}.detail-facts div{padding:12px 12px 12px 0}.detail-facts dt{color:var(--ui-faint);font:9px/1.4 var(--font-mono);text-transform:uppercase}.detail-facts dd{margin:5px 0 0;font-size:11px;line-height:1.45}.detail-image{position:relative;aspect-ratio:1.65;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:var(--surface-raised)}.detail-image img{object-fit:cover}.detail-image span{position:absolute;bottom:8px;left:8px;max-width:calc(100% - 16px);padding:6px 8px;border-radius:3px;background:#0c0c0ce8;color:#ddd;font:9px/1.4 var(--font-mono)}.detail-body{display:grid;grid-template-columns:118px minmax(0,1fr);gap:24px;margin-top:42px;padding-top:28px;border-top:1px solid var(--line)}.detail-body h2{margin:0;color:var(--ui-muted-strong);font:10px/1.5 var(--font-mono);text-transform:uppercase}.detail-body li,.detail-body p{color:var(--ui-muted);font-size:12px;line-height:1.7}.detail-body p:first-child{margin-top:0;color:var(--ui-text-soft);font-size:13px}.detail-body ul{padding-left:18px}.detail-body li{margin-bottom:6px}.detail-link{display:inline-flex;align-items:center;gap:5px;margin:5px 18px 0 0;padding-bottom:4px;border-bottom:1px solid var(--ui-faint);font-size:11px}.not-found{display:flex;flex-direction:column;justify-content:center}.not-found h1{max-width:580px;margin:15px 0 10px;font-size:clamp(34px,5vw,50px);line-height:1.1;letter-spacing:-.06em}.not-found p{max-width:420px;color:var(--ui-muted);font-size:13px;line-height:1.6}.not-found a{align-self:start}@media (min-width:960px){.site-frame,.site-header{width:min(calc(100% - 64px),1440px)}.section-wrap{width:min(calc(100% - 64px),1180px)}.header-inner{min-height:86px;margin-inline:clamp(38px,4.6vw,76px)}.brand{font-size:23px}.desktop-navigation{display:flex;align-items:center;gap:clamp(18px,2.3vw,37px);margin-left:auto;margin-right:clamp(24px,3vw,48px)}.desktop-navigation a{color:var(--ui-muted);font-size:12px;transition:color .2s}.desktop-navigation a:hover{color:var(--text)}.header-contact{display:inline-flex;align-items:center;gap:8px;min-height:38px;margin-left:8px;padding:0 14px;border:1px solid var(--ui-line-strong);border-radius:5px;font-size:12px;font-weight:600}.header-contact:hover{border-color:var(--ui-accent);color:var(--ui-accent)}.dropdown-navigation,.menu-button{display:none}.site-frame{padding-inline:clamp(38px,4.6vw,76px)}.intro{padding:88px 0 98px}.intro-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(34px,4.2vw,72px);align-items:stretch;min-height:540px}.intro-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}.intro-status{font-size:11px}.intro h1{margin-top:36px;font-size:clamp(62px,7vw,110px);line-height:.98}.intro .intro-role{margin-top:22px;font-size:clamp(23px,2.2vw,31px)}.intro .intro-description{max-width:570px;margin-top:28px;font-size:16px}.intro-actions{margin-top:34px}.primary-button{padding-inline:20px}.primary-button,.text-link{min-height:46px;font-size:13px}.intro-visual{min-height:540px;padding:24px}.intro-visual-bottom,.intro-visual-top{font-size:10px}.intro-portrait{width:min(62%,290px);height:auto;aspect-ratio:1}.intro-orbit{width:73%;height:auto;aspect-ratio:1}.intro-orbit--outer{width:92%}.intro-visual-mark{right:9%;bottom:3%;font-size:clamp(84px,9vw,150px)}.overview-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,4vw,70px);border-top:1px solid var(--line)}.overview-grid .cv-section{display:block;padding:58px 0 76px;border-top:0}.overview-grid .cv-section:first-child{padding-right:clamp(34px,4vw,68px);border-right:1px solid var(--line)}.overview-grid .section-label{margin-bottom:32px}.cv-section{grid-template-columns:180px minmax(0,1fr);gap:38px;padding:70px 0 78px}.section-label{font-size:11px}.section-content>p{max-width:680px;font-size:15px;line-height:1.8}.section-content>.lead-copy{font-size:18px;line-height:1.6}.skill-row{grid-template-columns:1fr;gap:11px;padding:14px 0 18px}.skill-row h3{margin-top:0;font-size:14px}.technology-list{gap:8px 18px}.technology-item{font-size:12px}.technology-logo{width:20px;height:20px}.timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 42px;margin:0;padding:0;border-left:0}.timeline-entry{padding:23px 0 30px;border-top:1px solid var(--line)}.timeline-entry:before{display:none}.timeline-entry:first-child{grid-column:1/-1;margin-bottom:18px;padding:31px 34px;border:1px solid var(--ui-accent-border);border-radius:7px;background:var(--surface-raised)}.timeline-entry h3{margin:10px 0;font-size:20px}.timeline-entry p{max-width:560px;font-size:14px}.timeline-entry:first-child h3{font-size:24px}.timeline-entry:first-child p{max-width:760px}.timeline-period{font-size:11px}.projects-heading p{margin-bottom:30px;font-size:15px}.project-grid{gap:55px 34px}.project-thumbnail{aspect-ratio:1.7}.project-placeholder{padding:24px}.project-placeholder small,.project-placeholder span{font-size:10px}.project-placeholder strong{max-width:320px;font-size:clamp(27px,3vw,44px)}.project-topline{margin-top:14px;font-size:10px}.project-card h3{margin-top:13px;font-size:21px}.project-card>p{font-size:14px}.project-link{margin-top:16px;font-size:13px}.education-row{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:24px;padding:16px 0;font-size:14px}.contact-block{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:34px;padding:80px 0 48px}.contact-block h2{font-size:clamp(38px,4vw,58px)}.contact-block p{font-size:15px}.contact-address{font-size:clamp(17px,2vw,25px)}.contact-socials{grid-column:1/-1;margin-top:4px}.contact-socials a{font-size:13px}.site-footer{padding:24px 0 32px;font-size:11px}.detail-page,.not-found{padding:65px clamp(38px,4.6vw,76px) 110px}.detail-body{grid-template-columns:180px minmax(0,1fr);gap:38px}.detail-body li,.detail-body p{font-size:15px}}@media (max-width:640px){.header-inner{min-height:62px;margin-inline:20px}.dropdown-navigation{right:20px;top:55px}.site-frame{padding-inline:20px}.intro{padding:56px 0 58px}.intro h1{font-size:clamp(42px,11vw,61px)}.intro-visual{min-height:245px}.intro-portrait{width:145px;height:145px}.cv-section{grid-template-columns:1fr;gap:17px;padding:32px 0 36px}.section-label{margin:0}.skill-row{grid-template-columns:1fr;gap:8px;padding-block:13px}.skill-row h3{margin-top:0}.detail-page,.not-found{padding-inline:20px}.detail-body{grid-template-columns:1fr;gap:13px}}@media (max-width:460px){.intro-visual{min-height:225px}.intro-visual-center{min-height:150px}.intro-portrait{width:125px;height:125px}.intro-orbit{width:175px;height:175px}.intro-orbit--outer{width:215px;height:215px}.intro-visual-bottom,.intro-visual-top{font-size:8px}.project-grid{gap:27px 12px}.project-placeholder{padding:10px}.project-placeholder strong{font-size:18px}.project-topline{flex-direction:column;gap:2px}.project-topline span:last-child{text-align:left}.detail-facts{grid-template-columns:1fr}.detail-facts div{border-bottom:1px solid var(--line)}.detail-facts div:last-child{border-bottom:0}}@media (max-width:380px){.project-grid{grid-template-columns:1fr}.project-thumbnail{aspect-ratio:1.7}.technology-list{gap:8px 12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.dark\:prose-invert:is(.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.hover\:border-foreground\/40:hover{border-color:hsl(var(--foreground)/.4)}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-white\/\[0\.08\]:hover{background-color:hsla(0,0%,100%,.08)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--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-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:translate-x-1{--tw-translate-x:0.25rem;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\:opacity-100{opacity:1}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.dark\:border-black\/15:is(.dark *){border-color:rgba(0,0,0,.15)}.dark\:bg-black\/\[0\.04\]:is(.dark *){background-color:rgba(0,0,0,.04)}.dark\:bg-foreground:is(.dark *){background-color:hsl(var(--foreground))}.dark\:text-black:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.dark\:text-black\/60:is(.dark *){color:rgba(0,0,0,.6)}.dark\:text-neutral-400:is(.dark *){--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.dark\:hover\:bg-black\/\[0\.08\]:hover:is(.dark *){background-color:rgba(0,0,0,.08)}@media (min-width:640px){.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-24{padding-top:6rem;padding-bottom:6rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}