/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-950:oklch(27.9% .077 45.635);--color-green-400:oklch(79.2% .209 151.711);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-emerald-950:oklch(26.2% .051 172.552);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);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}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.inset-y-0{inset-block:0}.left-0{left:0}.z-40{z-index:40}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-16{height:calc(var(--spacing) * 16)}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-64{width:calc(var(--spacing) * 64)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:0}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-400{border-color:var(--color-amber-400)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-transparent{border-color:#0000}.bg-amber-50{background-color:var(--color-amber-50)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-green-400{background-color:var(--color-green-400)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[\.35em\]{--tw-tracking:.35em;letter-spacing:.35em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-950{color:var(--color-amber-950)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-indigo-600{color:var(--color-indigo-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-slate-950{color:var(--color-slate-950)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-slate-200\/50{--tw-shadow-color:#e2e8f080}@supports (color:color-mix(in lab, red, red)){.shadow-slate-200\/50{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-slate-200) 50%, transparent) var(--tw-shadow-alpha), transparent)}}.blur{--tw-blur:blur(8px);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,)}.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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:text-indigo-500:hover{color:var(--color-indigo-500)}.hover\:text-slate-600:hover{color:var(--color-slate-600)}}.focus\:border-indigo-500:focus{border-color:var(--color-indigo-500)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-indigo-500:focus{--tw-ring-color:var(--color-indigo-500)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media (width>=40rem){.sm\:mx-auto{margin-inline:auto}.sm\:w-full{width:100%}.sm\:max-w-md{max-width:var(--container-md)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:rounded-lg{border-radius:var(--radius-lg)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-10{padding-inline:calc(var(--spacing) * 10)}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (width>=48rem){.md\:static{position:static}.md\:hidden{display:none}.md\:translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:flex-row{flex-direction:row}}@media (width>=64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}@media (prefers-color-scheme:dark){.dark\:border-emerald-900{border-color:var(--color-emerald-900)}.dark\:border-red-800{border-color:var(--color-red-800)}.dark\:border-red-900{border-color:var(--color-red-900)}.dark\:border-slate-600{border-color:var(--color-slate-600)}.dark\:border-slate-700{border-color:var(--color-slate-700)}.dark\:border-slate-800{border-color:var(--color-slate-800)}.dark\:border-slate-800\/80{border-color:#1d293dcc}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-800\/80{border-color:color-mix(in oklab, var(--color-slate-800) 80%, transparent)}}.dark\:bg-amber-950{background-color:var(--color-amber-950)}.dark\:bg-emerald-950{background-color:var(--color-emerald-950)}.dark\:bg-red-900\/30{background-color:#82181a4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-900\/30{background-color:color-mix(in oklab, var(--color-red-900) 30%, transparent)}}.dark\:bg-red-950{background-color:var(--color-red-950)}.dark\:bg-slate-100{background-color:var(--color-slate-100)}.dark\:bg-slate-700{background-color:var(--color-slate-700)}.dark\:bg-slate-800{background-color:var(--color-slate-800)}.dark\:bg-slate-800\/50{background-color:#1d293d80}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-800\/50{background-color:color-mix(in oklab, var(--color-slate-800) 50%, transparent)}}.dark\:bg-slate-900{background-color:var(--color-slate-900)}.dark\:bg-slate-950{background-color:var(--color-slate-950)}.dark\:text-amber-100{color:var(--color-amber-100)}.dark\:text-amber-300{color:var(--color-amber-300)}.dark\:text-emerald-200{color:var(--color-emerald-200)}.dark\:text-emerald-300{color:var(--color-emerald-300)}.dark\:text-indigo-400{color:var(--color-indigo-400)}.dark\:text-red-200{color:var(--color-red-200)}.dark\:text-red-300{color:var(--color-red-300)}.dark\:text-red-400{color:var(--color-red-400)}.dark\:text-slate-100{color:var(--color-slate-100)}.dark\:text-slate-200{color:var(--color-slate-200)}.dark\:text-slate-300{color:var(--color-slate-300)}.dark\:text-slate-400{color:var(--color-slate-400)}.dark\:text-slate-500{color:var(--color-slate-500)}.dark\:text-slate-900{color:var(--color-slate-900)}.dark\:shadow-black\/20{--tw-shadow-color:#0003}@supports (color:color-mix(in lab, red, red)){.dark\:shadow-black\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent)}}@media (hover:hover){.dark\:hover\:bg-slate-700:hover{background-color:var(--color-slate-700)}}}}@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque-latin.woff2)format("woff2");font-style:normal;font-weight:500 800;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans-latin.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap}:root{--accent-dark:#54ffff;--accent-dark-text:#142000;--accent-light:#2454d6;--accent-light-text:#fff;--hero-animation-duration:1.05s;--scroll-animation-duration:1.1s;--bg:#101112;--surface:#181a1a;--surface-2:#202323;--text:#f2f1ec;--muted:#a6aaa4;--line:#f2f1ec24;--separator-color:#54ffffc7;--separator-glow:#54ffff3d;--grid-size:64px;--grid-line-color:#f2f1ec12;--grid-speed:10s;--accent:var(--accent-dark);--accent-text:var(--accent-dark-text);color-scheme:dark}:root[data-theme=light]{--bg:#f3f2ed;--surface:#e9e9e3;--surface-2:#fffefa;--text:#171918;--muted:#626761;--line:#17191833;--separator-color:#2454d6d1;--separator-glow:#2454d633;--grid-line-color:#1719181a;--accent:var(--accent-light);--accent-text:var(--accent-light-text);color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);min-width:320px;color:var(--text);margin:0;font-family:Instrument Sans,ui-sans-serif,system-ui,sans-serif;font-size:1.05rem;transition:background-color .22s,color .22s}::selection{background:var(--accent);color:var(--accent-text)}a{color:inherit;text-decoration:none}button{font:inherit}svg{flex:none;width:18px;height:18px}.site-shell{overflow:hidden}.skip-link{z-index:20;background:var(--accent);color:var(--accent-text);padding:.75rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.topbar{z-index:10;background:var(--bg);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:72px;padding:0 clamp(1.25rem,4vw,4.75rem);display:flex;position:fixed;top:0;left:0;right:0}.brand{letter-spacing:-.08em;font-family:Bricolage Grotesque,ui-sans-serif,system-ui,sans-serif;font-size:1.2rem;font-weight:800}.brand span{color:var(--accent)}.terminal-brand{white-space:nowrap;align-items:center;gap:.35rem;min-width:178px;display:inline-flex;overflow:hidden}.terminal-menu-trigger{cursor:pointer;background:0 0;border:0;padding:0;display:none}.terminal-brand .terminal-prompt{color:var(--accent);animation:1.1s step-end infinite terminal-prompt-blink}.terminal-brand .terminal-text{color:var(--text);letter-spacing:-.06em}:root[data-theme=dark] .terminal-brand .terminal-text{color:#fff}.terminal-brand.is-exiting{animation:.55s cubic-bezier(.55,0,.7,.2) forwards terminal-enter}nav{gap:2rem;display:flex}nav a,.language-button{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.73rem;font-weight:700}nav a:hover{color:var(--text)}.controls{gap:.5rem;display:flex}.icon-button,.language-button{border:1px solid var(--line);cursor:pointer;width:36px;height:36px;color:var(--text);background:0 0;border-radius:50%;place-items:center;display:grid}.language-button{font-size:.68rem}.icon-button:hover,.language-button:hover{background:var(--surface-2);border-color:var(--accent)}.section{width:min(1220px,100% - 3rem);margin:auto;padding:8.5rem 0}.hero{grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr);align-content:center;gap:clamp(3rem,9vw,10rem);min-height:100svh;padding-top:9rem;display:grid;position:relative}.hero-copy{z-index:1;position:relative}.eyebrow,.section-label{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:800}.eyebrow{align-items:center;gap:.6rem;margin:0 0 1.5rem;display:flex}.status-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 5px var(--accent);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.status-dot{box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 15%, transparent)}}h1,h2,h3,h4{font-family:Bricolage Grotesque,ui-sans-serif,system-ui,sans-serif}h1,h2,h3,h4,p{margin-top:0}h1{letter-spacing:-.075em;max-width:850px;margin-bottom:1.8rem;font-size:clamp(3.1rem,7vw,7.2rem);font-weight:750;line-height:.92}h1 em{color:var(--accent);letter-spacing:-.09em;font-family:Georgia,serif;font-weight:400}.hero-description{max-width:560px;color:var(--muted);font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.65}.hero-actions,.contact-actions{flex-wrap:wrap;gap:.8rem;margin-top:2.2rem;display:flex}.button{border:1px solid var(--line);letter-spacing:.02em;cursor:pointer;justify-content:center;align-items:center;gap:.6rem;min-height:48px;padding:.75rem 1.1rem;font-size:.92rem;font-weight:800;transition:transform .2s,background .2s,border-color .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);border-color:var(--accent);color:#fff}:root[data-theme=dark] .button-primary{color:#000}.button-secondary{color:var(--text);background:0 0}.button-secondary:hover{background:var(--surface-2)}.hero-card{z-index:1;border:1px solid var(--line);background:linear-gradient(145deg, var(--surface), var(--surface-2));align-self:center}@supports (color:color-mix(in lab, red, red)){.hero-card{background:linear-gradient(145deg, color-mix(in srgb, var(--surface) 92%, transparent), color-mix(in srgb, var(--surface-2) 70%, transparent))}}.hero-card{min-height:310px;box-shadow:16px 16px 0 var(--accent);flex-direction:column;justify-content:space-between;padding:1rem;display:flex}@supports (color:color-mix(in lab, red, red)){.hero-card{box-shadow:16px 16px 0 color-mix(in srgb, var(--accent) 12%, transparent)}}.monogram{border:1px solid var(--line);height:192px;color:var(--text);letter-spacing:-.12em;place-content:center;font-size:clamp(3rem,6vw,5rem);font-weight:850;display:grid}.monogram span{color:var(--accent);vertical-align:middle;font-size:.35em}.hero-card-line{color:var(--muted);justify-content:space-between;gap:1rem;padding-top:1rem;font-size:.78rem;line-height:1.4;display:flex}.hero-card-line b{color:var(--accent)}.hero-card-stack{flex-wrap:wrap;gap:.35rem;margin-top:1rem;display:flex}.hero-card-stack span,.skill-tags span{border:1px solid var(--line);color:var(--muted);padding:.3rem .45rem;font-size:.72rem;font-weight:700}.scroll-cue{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);align-items:center;gap:.7rem;font-size:.62rem;display:flex;position:absolute;bottom:2rem;left:0}.scroll-cue span{border-top:1px solid var(--accent);width:42px}h2{letter-spacing:-.065em;margin-bottom:0;font-size:clamp(2.1rem,4.5vw,4.4rem);line-height:.98}.about-section{border-top:2px solid var(--separator-color);box-shadow:0 -5px 16px -10px var(--separator-glow)}.about-grid{grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,9rem);margin-top:2.5rem;display:grid}.body-large{color:var(--muted);font-size:1.15rem;line-height:1.7}.principles{gap:.6rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.principles li{gap:.65rem;font-weight:700;display:flex}.principles span{color:var(--accent)}.section-intro{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem;display:flex}.section-intro>p{width:min(360px,100%);color:var(--muted);margin:0;line-height:1.6}.skills-grid{border-left:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.skill-card{border:1px solid var(--line);background:var(--surface);border-left:0;min-height:250px;padding:1.4rem;transition:background .2s,transform .2s}.skill-card:hover{background:var(--surface-2);transform:translateY(-4px)}.card-index{color:var(--accent);font-size:.72rem;font-weight:800}.skill-card h3{letter-spacing:-.04em;margin:3rem 0 1rem;font-size:1.25rem}.skill-tags{flex-wrap:wrap;gap:.35rem;display:flex}.services-section{border-top:2px solid var(--separator-color);box-shadow:0 -5px 16px -10px var(--separator-glow)}.services-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.service-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);flex-direction:column;min-height:260px;padding:1.5rem;display:flex}@supports (color:color-mix(in lab, red, red)){.service-card{background:color-mix(in srgb, var(--surface) 72%, transparent)}}.service-card{transition:background .2s,transform .2s}.service-card:hover{background:var(--surface-2);transform:translateY(-4px)}.service-card h3{letter-spacing:-.045em;max-width:17ch;margin:2.8rem 0 .8rem;font-size:clamp(1.25rem,2vw,1.65rem)}.service-card p{color:var(--muted);margin:0;line-height:1.6}.service-card .skill-tags{margin-top:auto;padding-top:1.5rem}.service-process{border-top:2px solid var(--separator-color);box-shadow:0 -5px 16px -10px var(--separator-glow);grid-template-columns:minmax(220px,.65fr) 1.35fr;gap:clamp(2rem,7vw,7rem);margin-top:4.5rem;padding-top:2rem;display:grid}.service-process h3{letter-spacing:-.055em;max-width:14ch;margin:0;font-size:clamp(1.55rem,3vw,2.4rem);line-height:1.05}.service-process ol{gap:0;margin:0;padding:0;list-style:none;display:grid}.process-step{border-bottom:1px solid var(--line);grid-template-columns:3rem 1fr;gap:1rem;padding:1.2rem 0;display:grid}.process-step:first-child{border-top:2px solid var(--separator-color);box-shadow:0 -5px 16px -10px var(--separator-glow)}.process-step>span{color:var(--accent);font-size:.8rem;font-weight:800}.process-step h4{margin:0 0 .35rem;font-size:1rem}.process-step p{color:var(--muted);margin:0;line-height:1.6}.experience-section,.timeline{border-top:2px solid var(--separator-color);box-shadow:0 -5px 16px -10px var(--separator-glow)}.timeline-item{border-bottom:1px solid var(--line);grid-template-columns:80px minmax(200px,.7fr) 1.3fr;gap:1.6rem;padding:2rem 0;display:grid}.timeline-marker{color:var(--accent);font-size:.82rem;font-weight:800}.timeline-period{color:var(--muted);margin-bottom:.55rem;font-size:.82rem}.timeline-main h3{letter-spacing:-.04em;margin-bottom:.3rem;font-size:1.35rem}.timeline-role,.timeline-description{color:var(--muted);margin:0;line-height:1.65}.timeline-role{font-size:.98rem}.timeline-description{font-size:1rem}.projects-section{background:var(--surface);width:100%;padding:8.5rem max(1.5rem,50% - 610px)}.project-list{gap:1rem;display:grid}.project-card{border:1px solid var(--line);background:var(--bg);grid-template-columns:.82fr 1.18fr;min-height:315px;display:grid}.project-visual{background:var(--surface-2);color:var(--accent);letter-spacing:-.1em;padding:1.3rem;font-size:4rem;font-weight:800;position:relative;overflow:hidden}.project-visual span{z-index:1;position:relative}.project-shape{aspect-ratio:1;opacity:.85;border:1px solid;width:75%;position:absolute;bottom:-25%;right:-8%;transform:rotate(33deg)}.visual-2{color:#71a7ff}.visual-3{color:#ff906b}.project-content{flex-direction:column;align-items:start;padding:2rem;display:flex}.project-type{text-transform:uppercase;color:var(--accent);letter-spacing:.1em;font-size:.75rem;font-weight:800}.project-content h3{letter-spacing:-.06em;margin:.3rem 0 .8rem;font-size:2rem}.project-content>p:not(.project-type){color:var(--muted);max-width:520px;line-height:1.65}.project-footer{justify-content:space-between;align-items:end;gap:1rem;width:100%;margin-top:auto;display:flex}.text-link{color:var(--text);white-space:nowrap;align-items:center;gap:.4rem;font-size:.82rem;font-weight:800;display:inline-flex}.text-link:hover{color:var(--accent)}.learning-section{border-bottom:2px solid var(--separator-color);box-shadow:0 5px 16px -10px var(--separator-glow)}.learning-section>h2{max-width:700px;margin:1rem 0 3.5rem}.learning-grid{grid-template-columns:1.15fr .85fr;gap:clamp(3rem,10vw,10rem);display:grid}.learning-grid>div>h3{text-transform:uppercase;color:var(--muted);letter-spacing:.1em;margin-bottom:1.25rem;font-size:.76rem}.learning-item{border-top:1px solid var(--line);grid-template-columns:105px 1fr;gap:1rem;padding:1rem 0;display:grid}.learning-item>span{color:var(--accent);font-size:.82rem;font-weight:800}.learning-item h4{margin:0 0 .25rem;font-size:1.02rem}.learning-item p,.cert-item p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.5}.cert-item{border-top:1px solid var(--line);gap:.75rem;padding:1rem 0;display:flex}.cert-item span{color:var(--accent)}.contact-section{text-align:center;max-width:760px;margin:auto;padding:9rem 1.5rem;position:relative}.contact-section .section-label{margin-bottom:1.3rem}.contact-section>p:not(.section-label){max-width:610px;color:var(--muted);margin:1.6rem auto 0;line-height:1.65}.contact-actions{justify-content:center}.contact-form{text-align:left;gap:1.1rem;max-width:640px;margin:3rem auto 0;display:grid}.contact-form-grid{grid-template-columns:repeat(2,1fr);gap:1.1rem;display:grid}.contact-form label{gap:.45rem;display:grid}.contact-form label>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.contact-form .field-error{color:#ff4d6d;font-size:.82rem;line-height:1.4}.contact-form input.email-invalid{border-color:#ff4d6d;box-shadow:0 0 0 3px #ff4d6d24,0 0 14px #ff4d6d47}.turnstile-fieldset{border:0;min-width:0;margin:0;padding:0}.turnstile-fieldset legend{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.45rem;font-size:.72rem;font-weight:800}.contact-form input,.contact-form textarea,.contact-form select{border:1px solid var(--line);width:100%;color:var(--text);background:var(--surface);border-radius:0;padding:.85rem .95rem}@supports (color:color-mix(in lab, red, red)){.contact-form input,.contact-form textarea,.contact-form select{background:color-mix(in srgb, var(--surface) 76%, transparent)}}.contact-form input,.contact-form textarea,.contact-form select{font:inherit;font-size:.95rem;line-height:1.5;transition:border-color .2s,background-color .2s}.contact-form textarea{resize:vertical;min-height:140px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.contact-form input::placeholder,.contact-form textarea::placeholder{color:color-mix(in srgb, var(--muted) 70%, transparent)}}.contact-form input:hover,.contact-form textarea:hover,.contact-form input:focus,.contact-form textarea:focus,.contact-form select:hover,.contact-form select:focus{border-color:var(--accent);background:var(--surface-2);outline:none}.contact-form select{cursor:pointer}.contact-honeypot{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.form-footer{justify-content:space-between;align-items:center;gap:1.25rem;margin-top:.35rem;display:flex}.form-footer .button:disabled{cursor:not-allowed;opacity:.58;transform:none}.form-notice{min-height:1.25rem;color:var(--muted);margin:0;font-size:.84rem;line-height:1.45}.form-success{color:var(--accent)}.form-error{color:#ff906b}.social-links{justify-content:center;gap:1.5rem;margin-top:2rem;display:flex}.social-links a{color:var(--muted);align-items:center;gap:.45rem;font-size:.84rem;font-weight:700;display:inline-flex}.social-links a:hover{color:var(--accent)}footer{width:min(1220px,100% - 3rem);color:var(--muted);border-top:2px solid var(--separator-color);box-shadow:0 -5px 16px -10px var(--separator-glow);justify-content:space-between;gap:1rem;margin:auto;padding:1.5rem 0 2.5rem;font-size:.75rem;display:flex}.back-to-top{z-index:9;border:1px solid var(--line);width:44px;height:44px;color:var(--accent-text);background:var(--accent);box-shadow:0 12px 30px var(--bg);border-radius:50%;place-items:center;display:grid;position:fixed;bottom:1.4rem;right:1.4rem}@supports (color:color-mix(in lab, red, red)){.back-to-top{box-shadow:0 12px 30px color-mix(in srgb, var(--bg) 50%, transparent)}}.back-to-top{cursor:pointer;opacity:0;pointer-events:none;transition:opacity .28s,transform .28s,background-color .22s;transform:translateY(12px)}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{background:var(--text);color:var(--bg)}.reveal{animation:rise var(--hero-animation-duration) .1s both}.delay{animation-delay:.2s}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes terminal-prompt-blink{0%,45%{opacity:1}46%,to{opacity:.2}}@keyframes terminal-enter{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-135%)}}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (width<=850px){.hero{grid-template-columns:1fr;padding-top:8rem;padding-bottom:5rem}.hero-card{max-width:440px;min-height:230px}.monogram{height:130px}.scroll-cue{display:none}.skills-grid{grid-template-columns:repeat(2,1fr)}.service-process{grid-template-columns:1fr;gap:2rem}.timeline-item{grid-template-columns:55px 1fr}.timeline-description{grid-column:2}.project-card{grid-template-columns:1fr}.project-visual{min-height:180px}.learning-grid{grid-template-columns:1fr;gap:3rem}}@media (width<=600px){.topbar{height:62px;padding:0 1rem}.terminal-brand-desktop{display:none}.terminal-menu-trigger{display:inline-flex}.topbar nav{border:1px solid var(--line);background:var(--surface);flex-direction:column;gap:0;padding:.5rem;display:flex;position:absolute;top:calc(100% + .55rem);left:1rem;right:1rem}@supports (color:color-mix(in lab, red, red)){.topbar nav{background:color-mix(in srgb, var(--surface) 94%, transparent)}}.topbar nav{box-shadow:0 16px 40px var(--bg)}@supports (color:color-mix(in lab, red, red)){.topbar nav{box-shadow:0 16px 40px color-mix(in srgb, var(--bg) 38%, transparent)}}.topbar nav{opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;transform:translateY(-8px)}.topbar.is-menu-open nav{opacity:1;pointer-events:auto;transform:translateY(0)}.topbar nav a{color:var(--text);padding:.85rem .9rem}.back-to-top{bottom:1rem;right:1rem}.section{width:min(100% - 2rem,1220px);padding:5rem 0}.hero{min-height:760px}h1{font-size:3.45rem}.section-intro,.about-grid{display:block}.contact-form-grid{grid-template-columns:1fr}.form-footer{flex-direction:column;align-items:stretch}.form-footer .button{width:100%}.section-intro>p{margin-top:1.25rem}.skills-grid{grid-template-columns:1fr}.service-card{min-height:225px}.service-card h3{margin-top:2rem}.service-process{margin-top:3rem}.skill-card{min-height:180px}.skill-card h3{margin:1.8rem 0 1rem}.timeline-item{display:block}.timeline-marker,.timeline-main{margin-bottom:1rem}.projects-section{padding:5rem 1rem}.project-content{padding:1.4rem}.project-footer{display:block}.project-footer .text-link{margin-top:1.3rem}.learning-item{grid-template-columns:1fr;gap:.35rem}footer{gap:.5rem;display:grid}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.terminal-brand,.terminal-brand.is-exiting,.terminal-brand .terminal-prompt{animation:none}}.site-shell{background:var(--bg);position:relative;overflow:hidden}.site-shell:before{z-index:0;pointer-events:none;content:"";background-image:linear-gradient(to right, var(--grid-line-color) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-line-color) 1px, transparent 1px);background-size:var(--grid-size) var(--grid-size);animation:grid-drift var(--grid-speed) linear infinite;background-position:0 0;position:absolute;inset:0}main,footer{z-index:1;position:relative}.projects-section{position:relative;overflow:hidden}.reveal-on-scroll{opacity:0;transition:opacity var(--scroll-animation-duration) cubic-bezier(.2, .65, .25, 1) var(--reveal-delay,0s), transform var(--scroll-animation-duration) cubic-bezier(.2, .65, .25, 1) var(--reveal-delay,0s);transform:translateY(20px)}.reveal-on-scroll.is-visible{opacity:1;transform:translate(0)}.skill-card.reveal-on-scroll,.service-card.reveal-on-scroll{transform:translateY(14px)}.skill-card.reveal-on-scroll.is-visible,.service-card.reveal-on-scroll.is-visible{transform:translate(0)}.skill-card.reveal-on-scroll.is-visible:hover,.service-card.reveal-on-scroll.is-visible:hover{transform:translateY(-4px)}.project-card.reveal-on-scroll{transform:translateY(24px)}@media (prefers-reduced-motion:reduce){.reveal-on-scroll,.reveal-on-scroll.is-visible{opacity:1;transition:none;transform:none}}@keyframes grid-drift{0%{background-position:0 0,0 0}to{background-position:calc(var(--grid-size) * -1) var(--grid-size), calc(var(--grid-size) * -1) var(--grid-size)}}@media (prefers-reduced-motion:reduce){.site-shell:before{animation:none}}section[id],article[id]{scroll-margin-top:96px}.topbar nav{gap:clamp(.65rem,1.25vw,1.25rem)}.topbar nav a{letter-spacing:.03em;font-size:.65rem}.header-cv{border:1px solid var(--line);align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.7rem;font-weight:700;display:inline-flex}.header-cv:hover{border-color:var(--accent)}.nav-crosslink{color:var(--accent)}.portfolio-hero,.services-hero{grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:clamp(2rem,5vw,5rem)}.portfolio-hero h1,.services-hero h1{letter-spacing:-.065em;font-size:clamp(3rem,5.5vw,5.5rem);line-height:1.02}.portfolio-hero h1 em,.services-hero h1 em{letter-spacing:-.06em}.hero-description{max-width:670px}.architecture-card,.service-overview{padding:1.6rem}.architecture-card ol{gap:.65rem;margin:.5rem 0 1.5rem;padding:0;list-style:none;display:grid}.architecture-card li{border:1px solid var(--line);background:var(--surface-2);padding:1rem .75rem;font-size:.9rem;line-height:1.5}.architecture-card li span{color:var(--accent);margin-right:.65rem;font-size:.75rem}.architecture-card>p:not(.section-label),.service-overview>p:last-child{color:var(--muted);font-size:.9rem;line-height:1.6}.case-list{gap:1.5rem;display:grid}.case-card{border:1px solid var(--line);background:var(--surface);grid-template-columns:.9fr 1.1fr;display:grid}.case-heading,.case-body{min-width:0;padding:clamp(1.5rem,3vw,2.5rem)}.case-heading{border-right:1px solid var(--line)}.case-heading h3{letter-spacing:-.045em;font-size:clamp(1.7rem,2.8vw,2.6rem);line-height:1.1}.case-heading .text-link{margin-top:1.5rem}.case-heading .project-type{margin-top:1.25rem}.current-badge{color:var(--muted);margin-top:.5rem;font-size:.65rem;display:block}.case-body h4{margin:0 0 .6rem;font-size:.85rem}.case-body p{color:var(--muted);font-size:.95rem;line-height:1.7}.case-results{margin:1.25rem 0;padding-left:1.1rem;list-style:outside}.case-results li{padding:.3rem 0;font-size:.95rem;line-height:1.65}.case-results li::marker{color:var(--accent)}summary{cursor:pointer;padding:1.2rem 0;font-weight:700}summary>span{float:right;color:var(--accent);margin-left:1rem}details{border-top:1px solid var(--line)}details[open] summary>span{transform:rotate(45deg)}.subsection-title{max-width:800px;margin:4rem 0 2rem;font-size:clamp(1.5rem,3vw,2.4rem)}.approach-copy .body-large{font-size:1.1rem}.about-section .learning-grid{margin-top:4rem}.services-bridge{border:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:2rem;padding:2.5rem;display:flex}.services-bridge h3{margin-bottom:.6rem;font-size:1.6rem}.services-bridge p{color:var(--muted);margin-bottom:0;line-height:1.6}.services-bridge .button{flex:none}.hero-trust{color:var(--muted);max-width:520px;margin:1.5rem 0 0;font-size:.85rem;line-height:1.6}.service-overview ul{gap:1.4rem;margin:1.4rem 0 2rem;padding:0;list-style:none;display:grid}.service-overview li{align-items:center;gap:.8rem;display:flex}.service-overview li span{color:var(--accent)}.proof-strip{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);padding:2rem 0;display:grid}.proof-strip>div{text-align:center;gap:.5rem;padding:.5rem 1rem;display:grid}.proof-strip>div+div{border-left:1px solid var(--line)}.proof-strip strong{color:var(--accent);font:700 clamp(2rem,4vw,3.5rem) Bricolage Grotesque,sans-serif}.proof-strip span{color:var(--muted);font-size:.85rem}.benefits-grid,.steps-grid,.plans-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.steps-grid{margin-top:3rem;padding:0;list-style:none}.steps-grid .process-step{border-top:1px solid var(--line);padding:1.5rem 0;display:block}.steps-grid h3{margin:1.2rem 0;font-size:1.4rem}.steps-grid p{color:var(--muted);font-size:.95rem;line-height:1.7}.fit-section{background:var(--surface);border:1px solid var(--line);margin-top:4rem;padding:2rem}.fit-section>h3{font-size:1.75rem}.fit-grid{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.fit-grid ul,.plan-card ul{padding-left:1.1rem;list-style:outside}.fit-grid li,.plan-card li{color:var(--muted);padding:.4rem 0;font-size:.95rem;line-height:1.6}.fit-grid li::marker,.plan-card li::marker{color:var(--accent)}.plan-card{border:1px solid var(--line);background:var(--surface);flex-direction:column;padding:2rem;display:flex;position:relative}.plan-featured{border-color:var(--accent)}.plan-badge{background:var(--accent);color:var(--accent-text);text-align:center;margin:0;padding:.5rem .75rem;font-size:.72rem;font-weight:800;position:absolute;top:0;left:-1px;right:-1px;transform:translateY(-100%)}.plans-grid{margin-top:3rem}.plan-card h3{margin:1.1rem 0;font-size:1.7rem}.plan-description{min-height:5rem;color:var(--muted);font-size:.92rem;line-height:1.6}.plan-quote{color:var(--accent);margin:0 0 1.5rem;font-size:1.15rem;font-weight:700}.custom-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:2.5rem;display:grid}.custom-project-card{border-top:3px solid var(--accent)}@media (width<=760px){.custom-projects-grid{grid-template-columns:1fr}}.plan-card ul{margin:0 0 2rem}.plan-card .button{text-align:center;margin-top:auto;font-size:.85rem}.faq-section{max-width:900px}.faq-list{margin-top:3rem}.faq-list summary{padding:1.5rem 0}.faq-list p{max-width:760px;color:var(--muted);line-height:1.8}.contact-section h2{font-size:clamp(2.5rem,4.6vw,4.25rem)}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}@media (width<=1250px){.header-cv span{display:none}.topbar{padding-inline:1.25rem}.topbar nav{gap:.7rem}.topbar .terminal-brand{min-width:155px}}@media (width>=601px) and (width<=1050px){.topbar nav{background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;padding:1.5rem;display:none;position:absolute;top:72px;left:0;right:0}.topbar.is-menu-open nav{display:flex}.terminal-brand-desktop{display:none}.terminal-menu-trigger{display:inline-flex}.topbar nav a{padding:.5rem;font-size:.8rem}}@media (width<=950px){.portfolio-hero,.services-hero{grid-template-columns:1fr;min-height:auto;padding-bottom:4rem}.hero-card{width:100%;max-width:560px}.plans-grid{grid-template-columns:1fr;gap:3rem}.plan-description{min-height:0}.benefits-grid,.steps-grid{grid-template-columns:1fr}.plan-card{padding:1.5rem}}@media (width<=760px){.case-card,.fit-grid{grid-template-columns:1fr}.case-heading{border-right:0;border-bottom:1px solid var(--line)}.services-bridge{flex-direction:column;align-items:start;padding:1.5rem}.proof-strip{grid-template-columns:1fr}.proof-strip>div+div{border-left:0;border-top:1px solid var(--line);margin-top:1rem;padding-top:1.5rem}.fit-section{padding:1.5rem}.topbar nav a{padding:.4rem;font-size:.8rem}.hero-actions .button{width:100%}.header-cv{padding:.45rem}}@media (width<=600px){.topbar nav{visibility:hidden}.topbar.is-menu-open nav{visibility:visible}.controls{flex-shrink:0}.topbar .terminal-brand{min-width:0}}@media (width<=1050px){.topbar nav{max-height:calc(100dvh - 90px);overflow-y:auto}}.assistant-widget{z-index:70;color:var(--text);font-size:.9rem;position:fixed;bottom:1.25rem;left:1.25rem}.assistant-trigger,.assistant-panel button{cursor:pointer;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:inherit;border-radius:.7rem;padding:.65rem .85rem}.assistant-trigger{font-weight:700;box-shadow:0 6px 28px #0004}.assistant-panel{background:var(--surface);border:1px solid var(--line);overscroll-behavior:contain;border-radius:1.2rem;width:min(390px,100vw - 2.5rem);max-height:min(720px,100dvh - 7rem);position:absolute;bottom:3.7rem;left:0;overflow:auto;box-shadow:0 18px 65px #0006}.assistant-panel header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:1rem;display:flex}.assistant-panel small{color:var(--muted);font-size:.75rem;display:block}.assistant-body{gap:.85rem;padding:1rem;display:grid}.assistant-body p{margin:.3rem 0;line-height:1.5}.assistant-notice{color:var(--muted);font-size:.8rem}.assistant-intro{gap:.8rem;display:grid}.assistant-log{overscroll-behavior:contain;gap:.65rem;max-height:260px;display:grid;overflow-y:auto}.assistant-log:empty{display:none}.assistant-bubble{background:var(--surface-2);overflow-wrap:anywhere;border-radius:.8rem;padding:.75rem}.assistant-bubble-user{border:1px solid var(--line);margin-left:2rem}.assistant-bubble-assistant{margin-right:.8rem}.assistant-bubble ul{padding-left:1rem;list-style:outside}.assistant-suggestions{flex-wrap:wrap;gap:.5rem;display:flex}.assistant-suggestions button{text-align:left;font-size:.8rem}.assistant-compose,.assistant-lead{gap:.65rem;display:grid}.assistant-compose>div{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.assistant-panel input:not([type=checkbox]),.assistant-panel textarea{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:.55rem;padding:.65rem;font-size:16px}.assistant-panel textarea{resize:vertical}.assistant-panel label{gap:.3rem;display:grid}.assistant-panel .assistant-consent{align-items:flex-start;gap:.6rem;font-size:.8rem;display:flex}.assistant-consent input{flex-shrink:0;margin-top:.25rem}.assistant-panel button:disabled{opacity:.55;cursor:wait}.assistant-panel a{font-size:.8rem;text-decoration:underline}.assistant-panel :is(button,input,textarea,a):focus-visible{outline:2px solid var(--text);outline-offset:3px}.assistant-error{border-left:3px solid;padding-left:.65rem}.assistant-widget{--assistant-invalid:#ffaca0}:root[data-theme=light] .assistant-widget{--assistant-invalid:#a42621}.assistant-panel :is(input:not([type=checkbox]),textarea)[aria-invalid=true]{border:2px solid var(--assistant-invalid);box-shadow:0 0 0 3px var(--assistant-invalid)}@supports (color:color-mix(in lab, red, red)){.assistant-panel :is(input:not([type=checkbox]),textarea)[aria-invalid=true]{box-shadow:0 0 0 3px color-mix(in srgb, var(--assistant-invalid) 14%, transparent)}}.assistant-panel [aria-invalid=true]:focus-visible{outline-color:var(--assistant-invalid)}.assistant-field-error{color:var(--assistant-invalid);overflow-wrap:anywhere;font-size:.78rem;line-height:1.5;display:block}.assistant-field-error:empty{display:none}.assistant-validation-summary{color:var(--assistant-invalid);border-left:3px solid;padding:.4rem .65rem;font-size:.85rem}.assistant-consent-field{border:1px solid #0000;border-radius:.55rem;padding:.45rem}.assistant-consent-field.is-invalid{border-color:var(--assistant-invalid);background:var(--assistant-invalid)}@supports (color:color-mix(in lab, red, red)){.assistant-consent-field.is-invalid{background:color-mix(in srgb, var(--assistant-invalid) 7%, transparent)}}.assistant-consent-field .assistant-field-error{margin-top:.4rem}@media (prefers-reduced-motion:no-preference){.assistant-field-error:not(:empty){animation:.18s ease-out assistant-error-appear}}@keyframes assistant-error-appear{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
