@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75.06d3mdzz5bre_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307.11.cyxs5p-0z~.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315.p.16t1db8_9y2o~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.geist_f6d0bb19-module__dz4YJq__className{font-family:Geist,system-ui,Arial,sans-serif;font-style:normal}.geist_f6d0bb19-module__dz4YJq__variable{--font-geist-sans:"Geist", system-ui, Arial, sans-serif}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14.0q3udbd2bu5yp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21.0gw~uztddq1df.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e.p.0.q-h669a_dqa.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.geist_mono_b96649ec-module__aWDEUa__className{font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-style:normal}.geist_mono_b96649ec-module__aWDEUa__variable{--font-geist-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:.972 .004 84;--foreground:.212 .016 257;--card:.989 .003 84;--card-foreground:var(--foreground);--popover:var(--card);--popover-foreground:var(--card-foreground);--muted:.946 .006 82;--muted-foreground:.458 .013 257;--primary:.668 .145 46;--primary-foreground:.985 .004 84;--secondary:var(--muted);--secondary-foreground:var(--foreground);--accent:.668 .145 46;--accent-foreground:.985 .004 84;--border:.872 .008 80;--ring:.705 .128 46;--danger:.592 .205 29;--warning:.744 .145 84;--destructive:var(--danger);--destructive-foreground:.985 .004 84;--success:.62 .125 154;--grid-line:.904 .006 82;--hero-glow:.84 .075 70;--bg:var(--background);--fg:var(--foreground);--surface-1:var(--card);--surface-2:var(--muted);--surface-3:.926 .008 80;--surface-inset:.954 .005 82;--surface-brand:.706 .106 50;--surface-trust:.936 .01 78;--surface-interactive:.982 .004 84;--text:var(--foreground);--text-muted:var(--muted-foreground);--accent-contrast:var(--accent-foreground);--focus:var(--ring);--frame:.816 .012 77;--radius-1:.5rem;--radius-2:.75rem;--radius-3:1.125rem;--radius-small:var(--radius-1);--radius-medium:var(--radius-2);--radius-large:var(--radius-3);--max-reading:46rem;--max-content:65rem;--max-wide:76rem;--container-inline:var(--space-md);--container-inline-lg:var(--space-lg);--shadow-ambient:0 20px 56px #1a140c14;--shadow-elevate:0 18px 42px #1a140c1f;--type-display-size:clamp(3.35rem, 2.4rem + 4vw, 5.6rem);--type-h1-size:clamp(2.55rem, 2rem + 2.3vw, 3.95rem);--type-h2-size:clamp(1.95rem, 1.65rem + 1.2vw, 2.7rem);--type-h3-size:clamp(1.35rem, 1.22rem + .6vw, 1.75rem);--type-h4-size:clamp(1.0625rem, 1.01rem + .28vw, 1.22rem);--type-body-lg-size:clamp(1.0625rem, 1.02rem + .28vw, 1.2rem);--type-body-size:1rem;--type-body-sm-size:.9375rem;--type-small-size:.9375rem;--type-label-size:.76rem;--type-meta-size:.72rem;--leading-display:.95;--leading-heading:1.02;--leading-body:1.72;--leading-tight:1.45;--tracking-display:-.068em;--tracking-h1:-.055em;--tracking-h2:-.042em;--tracking-h3:-.03em;--tracking-label:.18em;--tracking-meta:.22em;--weight-body:400;--weight-ui:500;--weight-heading:600;--space-2xs:clamp(.5rem, .47rem + .12vw, .58rem);--space-xs:clamp(.75rem, .7rem + .18vw, .88rem);--space-sm:clamp(1rem, .95rem + .28vw, 1.18rem);--space-md:clamp(1.5rem, 1.36rem + .48vw, 1.82rem);--space-lg:clamp(2rem, 1.78rem + .82vw, 2.55rem);--space-xl:clamp(2.75rem, 2.38rem + 1.18vw, 3.55rem);--space-2xl:clamp(3.5rem, 2.95rem + 1.75vw, 4.75rem);--space-3xl:clamp(4.5rem, 3.75rem + 2.45vw, 6.2rem);--space-4xl:clamp(5.75rem, 4.8rem + 3.05vw, 7.8rem);--space-section-y:var(--space-3xl);--space-section-y-lg:var(--space-4xl);--space-stack-sm:var(--space-sm);--space-stack-md:var(--space-md);--space-stack-lg:var(--space-lg);--space-grid-gap:var(--space-md);--space-section:var(--space-section-y);--space-section-lg:var(--space-section-y-lg);--pad-panel:clamp(1.35rem, 1.05rem + .82vw, 2rem);--pad-panel-lg:clamp(1.75rem, 1.35rem + 1.1vw, 2.5rem);--pad-control-x:clamp(1rem, .94rem + .25vw, 1.2rem);--pad-control-y:clamp(.72rem, .68rem + .16vw, .84rem);--font-sans:var(--font-geist-sans), system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:.184 .013 255;--foreground:.938 .009 82;--card:.22 .014 255;--card-foreground:var(--foreground);--popover:var(--card);--popover-foreground:var(--card-foreground);--muted:.266 .013 255;--muted-foreground:.748 .012 82;--primary:.734 .113 54;--primary-foreground:.19 .015 255;--secondary:var(--muted);--secondary-foreground:var(--foreground);--accent:.734 .113 54;--accent-foreground:.19 .015 255;--border:.338 .013 255;--ring:.76 .1 52;--danger:.67 .18 27;--warning:.81 .12 88;--destructive:var(--danger);--destructive-foreground:.95 .008 82;--success:.72 .11 154;--grid-line:.29 .011 255;--hero-glow:.79 .1 60;--bg:var(--background);--fg:var(--foreground);--surface-1:var(--card);--surface-2:var(--muted);--surface-3:.298 .014 255;--surface-inset:.24 .014 255;--surface-brand:.312 .03 256;--surface-trust:.286 .018 255;--surface-interactive:.26 .014 255;--text:var(--foreground);--text-muted:var(--muted-foreground);--accent-contrast:var(--accent-foreground);--focus:var(--ring);--frame:.424 .016 255;--shadow-ambient:0 28px 88px #0000006b;--shadow-elevate:0 18px 44px #00000057}}
:root{--motion-t1:.12s;--motion-t2:.18s;--motion-t3:.26s;--motion-t4:.42s;--motion-stagger:56ms;--motion-stagger-current:var(--motion-stagger);--motion-delay-start:0s;--motion-distance:8px;--motion-distance-sm:6px;--motion-distance-current:var(--motion-distance);--motion-hover-distance-current:2px;--motion-hover-active-distance:1px;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-linear:linear}@keyframes motion-reveal-enter{0%{opacity:0;transform:translate3d(0, var(--motion-distance-current), 0)}to{opacity:1;transform:translate(0,0)}}[data-motion-group]{--motion-stagger-current:var(--motion-stagger);--motion-delay-start:0s}[data-motion=reveal]{opacity:0;transform:translate3d(0, var(--motion-distance-current,var(--motion-distance)), 0);animation:motion-reveal-enter var(--motion-duration,var(--motion-t3)) var(--ease-out) var(--motion-delay-current,0s) both;will-change:opacity, transform}.motion-hover-lift,.interactive-lift,.card-interactive{transition:transform var(--motion-t2) var(--ease-out), border-color var(--motion-t2) var(--ease-out), box-shadow var(--motion-t2) var(--ease-out), background-color var(--motion-t2) var(--ease-out), color var(--motion-t2) var(--ease-out), opacity var(--motion-t2) var(--ease-out)}.motion-hover-lift:hover,.motion-hover-lift:focus-visible,.motion-hover-lift:focus-within,.interactive-lift:hover,.interactive-lift:focus-visible,.card-interactive:hover,.card-interactive:focus-visible,.card-interactive:focus-within{transform:translate3d(0, calc(var(--motion-hover-distance-current) * -1), 0);border-color:oklch(var(--accent) / .24);box-shadow:var(--shadow-elevate)}.motion-hover-lift:active,.interactive-lift:active,.card-interactive:active{transform:translate3d(0, var(--motion-hover-active-distance), 0);transition-duration:var(--motion-t1)}.link-underline,.text-link{text-decoration-line:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:oklch(var(--accent) / .22);text-decoration-color:oklch(var(--accent) / .22);text-underline-offset:.22em;transition:color var(--motion-t2) var(--ease-out), text-decoration-color var(--motion-t2) var(--ease-out)}.link-underline:hover,.link-underline:focus-visible,.text-link:hover,.text-link:focus-visible{-webkit-text-decoration-color:oklch(var(--accent) / .65);text-decoration-color:oklch(var(--accent) / .65)}.link-underline:focus-visible,.text-link:focus-visible,.nav-link:focus-visible{outline:2px solid oklch(var(--focus));outline-offset:4px;border-radius:.35rem}.button-icon,.card-icon{transition:transform var(--motion-t2) var(--ease-out)}.nav-signature-indicator{transition:transform var(--motion-t3) var(--ease-out), width var(--motion-t3) var(--ease-out), opacity var(--motion-t2) var(--ease-out), border-color var(--motion-t2) var(--ease-out), box-shadow var(--motion-t2) var(--ease-out), background-color var(--motion-t2) var(--ease-out)}.nav-signature-link{transition:color var(--motion-t2) var(--ease-out)}.button-base:hover .button-icon,.button-base:focus-visible .button-icon,.interactive-lift:hover .button-icon,.interactive-lift:focus-visible .button-icon,.card-interactive:hover .button-icon,.card-interactive:focus-visible .button-icon{transform:translate(2px)}.project-card:hover .card-icon,.project-card:focus-within .card-icon,.card-interactive:hover .card-icon,.card-interactive:focus-within .card-icon{transform:translate(2px,-2px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-motion-group]{--motion-stagger-current:0s;--motion-delay-start:0s}[data-motion=reveal]{opacity:1;will-change:auto;animation:none;transform:none}.motion-hover-lift,.interactive-lift,.card-interactive,.link-underline,.text-link,.nav-link,.nav-signature-indicator,.nav-signature-link,.button-icon,.card-icon{transition-duration:1ms}.motion-hover-lift:hover,.motion-hover-lift:focus-visible,.motion-hover-lift:focus-within,.motion-hover-lift:active,.interactive-lift:hover,.interactive-lift:focus-visible,.interactive-lift:active,.card-interactive:hover,.card-interactive:focus-visible,.card-interactive:focus-within,.card-interactive:active{transform:none}}
*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{--tw-border-opacity:1;border-color:oklch(var(--border) / var(--tw-border-opacity,1))}html{--tw-bg-opacity:1;background-color:oklch(var(--background) / var(--tw-bg-opacity,1));--tw-text-opacity:1;color:oklch(var(--foreground) / var(--tw-text-opacity,1))}body{--tw-bg-opacity:1;background-color:oklch(var(--background) / var(--tw-bg-opacity,1));min-height:100vh;font-family:var(--font-sans);--tw-text-opacity:1;color:oklch(var(--foreground) / var(--tw-text-opacity,1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--type-body-size);line-height:var(--leading-body);background-image:repeating-linear-gradient(90deg, oklch(var(--grid-line) / .16) 0 1px, transparent 1px 7rem), radial-gradient(circle at top right, oklch(var(--hero-glow) / .16), transparent 26rem), radial-gradient(circle at 18% 0%, oklch(var(--accent) / .08), transparent 30rem), radial-gradient(circle at bottom left, oklch(var(--accent) / .06), transparent 24rem), linear-gradient(180deg, oklch(var(--background)), oklch(var(--card)))}a{color:inherit}::selection{background-color:oklch(var(--accent));color:oklch(var(--accent-foreground))}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.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);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.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] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.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] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.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] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.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);margin-top:1.25em;font-weight:600}.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] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.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);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.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] *)){margin-top:2em;margin-bottom:2em;display:block}.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] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.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] *)),.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] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.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);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.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] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.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);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.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);margin-top:.857143em;font-size:.875em;line-height:1.42857}.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:#1118271a;--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:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:#00000080;--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] *)),.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] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.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:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.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}.prose-portfolio{--tw-prose-body:oklch(var(--text-muted));--tw-prose-headings:oklch(var(--text));--tw-prose-lead:oklch(var(--text-muted));--tw-prose-links:oklch(var(--accent));--tw-prose-bold:oklch(var(--text));--tw-prose-counters:oklch(var(--text-muted));--tw-prose-bullets:oklch(var(--accent));--tw-prose-hr:oklch(var(--border));--tw-prose-quotes:oklch(var(--text));--tw-prose-quote-borders:oklch(var(--border));--tw-prose-captions:oklch(var(--text-muted));--tw-prose-code:oklch(var(--text));--tw-prose-pre-code:oklch(var(--text));--tw-prose-pre-bg:oklch(var(--surface-2));--tw-prose-th-borders:oklch(var(--border));--tw-prose-td-borders:oklch(var(--border));font-size:var(--type-body-size);line-height:var(--leading-body)}.prose-portfolio :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:var(--type-h2-size);line-height:calc(var(--leading-heading) + .04);letter-spacing:var(--tracking-h2);margin-top:var(--space-xl);margin-bottom:var(--space-sm)}.prose-portfolio :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:var(--type-h3-size);line-height:calc(var(--leading-heading) + .12);letter-spacing:var(--tracking-h3);margin-top:var(--space-lg);margin-bottom:var(--space-xs)}.prose-portfolio :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:var(--type-body-lg-size);line-height:var(--leading-tight);letter-spacing:-.015em;margin-top:var(--space-md);margin-bottom:var(--space-xs)}.prose-portfolio :where(p):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-portfolio :where(ul,ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:var(--space-sm);margin-bottom:0}.prose-portfolio :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration:underline;-webkit-text-decoration-color:oklch(var(--accent) / .24);text-decoration-color:oklch(var(--accent) / .24);text-underline-offset:.22em;font-weight:500}.prose-portfolio :where(a:hover):not(:where([class~=not-prose],[class~=not-prose] *)){color:oklch(var(--text))}.prose-portfolio :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.95em;font-weight:500}.prose-portfolio :where():not(:where([class~=not-prose],[class~=not-prose] *)){content:none}.prose-portfolio :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:var(--radius-2);border:1px solid oklch(var(--border))}.prose-portfolio :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:var(--space-xl);margin-bottom:var(--space-xl)}.type-display{font-size:var(--type-display-size);line-height:var(--leading-display);letter-spacing:var(--tracking-display);font-weight:var(--weight-heading)}.type-h1{font-size:var(--type-h1-size);line-height:var(--leading-heading);letter-spacing:var(--tracking-h1);font-weight:var(--weight-heading)}.type-h2{font-size:var(--type-h2-size);line-height:calc(var(--leading-heading) + .04);letter-spacing:var(--tracking-h2);font-weight:var(--weight-heading)}.type-h3{font-size:var(--type-h3-size);line-height:calc(var(--leading-heading) + .12);letter-spacing:var(--tracking-h3);font-weight:var(--weight-heading)}.type-h4{font-size:var(--type-h4-size);line-height:var(--leading-tight);letter-spacing:-.012em;font-weight:var(--weight-heading)}.type-body-lg{font-size:var(--type-body-lg-size);line-height:var(--leading-body);font-weight:var(--weight-body)}.type-body{font-size:var(--type-body-size);line-height:var(--leading-body);font-weight:var(--weight-body)}.type-small{font-size:var(--type-small-size);line-height:1.65;font-weight:var(--weight-body)}.type-meta{font-family:var(--font-mono);font-size:var(--type-meta-size);letter-spacing:var(--tracking-meta);text-transform:uppercase;line-height:1.25;font-weight:var(--weight-ui)}.section-shell{padding-block:var(--space-section-y)}.stack-block{gap:var(--space-lg);display:grid}.stack-copy{gap:var(--space-sm);display:grid}.panel-base{border:1px solid oklch(var(--border) / .82);background:linear-gradient(180deg, oklch(var(--card) / .97), oklch(var(--surface-1) / .88)), linear-gradient(135deg, oklch(var(--accent) / .032), transparent 42%);border-radius:var(--radius-3);box-shadow:inset 0 1px 0 oklch(var(--foreground) / .025), var(--shadow-ambient);padding:var(--pad-panel);position:relative;overflow:clip}.panel-quiet{background:linear-gradient(180deg, oklch(var(--surface-1) / .82), oklch(var(--surface-2) / .56)), linear-gradient(135deg, oklch(var(--accent) / .022), transparent 46%);box-shadow:inset 0 1px 0 oklch(var(--foreground) / .025), var(--shadow-ambient)}.panel-feature,.panel-dossier{position:relative}.panel-feature:before,.panel-dossier:before{content:"";background:linear-gradient(90deg, oklch(var(--accent) / .58), transparent 70%);z-index:0;height:1px;position:absolute;inset:0 0 auto}.panel-feature:after{content:"";aspect-ratio:1;background:radial-gradient(circle, oklch(var(--hero-glow) / .22), transparent 72%);pointer-events:none;z-index:0;border-radius:999px;width:min(18rem,44%);position:absolute;top:-3.75rem;right:-2rem}.panel-dossier:after{content:"";background:radial-gradient(circle at bottom right, oklch(var(--accent) / .075), transparent 72%);pointer-events:none;z-index:0;width:9rem;height:9rem;position:absolute;inset:auto 0 0 auto}.skip-link{z-index:50;--tw-translate-y:-6rem;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));border-radius:var(--radius-2);--tw-bg-opacity:1;background-color:oklch(var(--primary) / var(--tw-bg-opacity,1));--tw-text-opacity:1;color:oklch(var(--primary-foreground) / var(--tw-text-opacity,1));font-size:var(--type-small-size);padding:.5rem 1rem;font-weight:600;line-height:1.4;transition-property:transform;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);position:fixed;top:1rem;left:1rem}.skip-link:focus-visible{--tw-translate-y:0px;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));outline-offset:2px;--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);--tw-ring-opacity:1;--tw-ring-color:oklch(var(--focus) / var(--tw-ring-opacity,1));outline:2px solid #0000}.section-label{--tw-text-opacity:1;color:oklch(var(--text-muted) / var(--tw-text-opacity,1));font-family:var(--font-mono);font-size:var(--type-meta-size);letter-spacing:var(--tracking-meta);text-transform:uppercase;font-weight:600;line-height:1.2}.brand-mark{justify-content:center;align-items:center;width:2.9rem;height:2.9rem;display:inline-flex}.brand-mark-image{width:100%;height:100%;filter:drop-shadow(var(--shadow-ambient));display:block}.brand-lockup{gap:.18rem;display:grid}.brand-note{font-size:var(--type-small-size);color:oklch(var(--text-muted));line-height:1.45}.button-base{border-width:1px;border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.button-base:focus-visible{outline-offset:2px;--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);--tw-ring-opacity:1;--tw-ring-color:oklch(var(--focus) / var(--tw-ring-opacity,1));--tw-ring-offset-width:4px;--tw-ring-offset-color:oklch(var(--bg) / 1);outline:2px solid #0000}.button-base{min-height:2.75rem;font-size:var(--type-small-size);box-shadow:inset 0 1px 0 oklch(var(--foreground) / .04);transition:transform var(--motion-t2) var(--ease-out), border-color var(--motion-t2) var(--ease-out), background-color var(--motion-t2) var(--ease-out), color var(--motion-t2) var(--ease-out), box-shadow var(--motion-t2) var(--ease-out);border-color:#0000;font-weight:600;line-height:1.2}.button-sm{padding-inline:calc(var(--pad-control-x) - .15rem);padding-block:calc(var(--pad-control-y) - .08rem);min-height:2.5rem}.button-md{padding-inline:var(--pad-control-x);padding-block:var(--pad-control-y)}.button-lg{padding-inline:calc(var(--pad-control-x) + .22rem);padding-block:calc(var(--pad-control-y) + .1rem);min-height:3rem}.button-icon{width:2.75rem;min-width:2.75rem;padding:0}.button-base:hover,.button-base:focus-visible{transform:translateY(-1px)}.button-base:active{transition-duration:var(--motion-t1);transform:translateY(1px)}.button-primary{--tw-bg-opacity:1;background-color:oklch(var(--primary) / var(--tw-bg-opacity,1));--tw-text-opacity:1;color:oklch(var(--primary-foreground) / var(--tw-text-opacity,1));border-color:oklch(var(--primary) / .2);box-shadow:inset 0 1px 0 oklch(var(--primary-foreground) / .22), var(--shadow-elevate)}.button-secondary{border-color:oklch(var(--border) / .8);--tw-text-opacity:1;color:oklch(var(--secondary-foreground) / var(--tw-text-opacity,1));background-color:oklch(var(--secondary) / .8)}.button-ghost{--tw-text-opacity:1;color:oklch(var(--text-muted) / var(--tw-text-opacity,1));background-color:#0000}.button-primary:hover,.button-primary:focus-visible{background-color:oklch(var(--primary) / .92);box-shadow:inset 0 1px 0 oklch(var(--primary-foreground) / .26), var(--shadow-elevate)}.button-secondary:hover,.button-secondary:focus-visible{border-color:oklch(var(--accent) / .45);background-color:oklch(var(--secondary) / .92);box-shadow:var(--shadow-ambient)}.button-ghost:hover,.button-ghost:focus-visible{--tw-text-opacity:1;color:oklch(var(--text) / var(--tw-text-opacity,1));background-color:oklch(var(--secondary) / .56)}.button-base:disabled,.button-base[aria-disabled=true]{opacity:.52;pointer-events:none;box-shadow:none;filter:saturate(.75);transform:none}.ambient-grid{background-image:linear-gradient(oklch(var(--grid-line) / .65) 1px, transparent 1px), linear-gradient(90deg, oklch(var(--grid-line) / .65) 1px, transparent 1px);background-size:2rem 2rem}.section-divider{border-top-width:1px;border-color:oklch(var(--border) / .7)}.text-link{width:fit-content;text-decoration-line:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:oklch(var(--accent) / .22);text-decoration-color:oklch(var(--accent) / .22);text-underline-offset:.22em;transition:color var(--motion-t2) var(--ease-out), text-decoration-color var(--motion-t2) var(--ease-out), background-color var(--motion-t2) var(--ease-out);border-radius:.35rem;align-items:center;gap:.35rem;display:inline-flex}.text-link-default{color:oklch(var(--text))}.text-link-muted{color:oklch(var(--text-muted))}.text-link-accent{color:oklch(var(--accent))}.text-link:hover,.text-link:focus-visible{-webkit-text-decoration-color:oklch(var(--accent) / .65);text-decoration-color:oklch(var(--accent) / .65)}.text-link-muted:hover,.text-link-muted:focus-visible{color:oklch(var(--text))}.text-link-accent:hover,.text-link-accent:focus-visible{color:oklch(var(--foreground))}.text-link:focus-visible{outline:2px solid oklch(var(--focus));outline-offset:4px}.nav-link{min-height:2.25rem;font-size:var(--type-small-size);color:oklch(var(--text-muted));background-image:linear-gradient(oklch(var(--accent) / .72), oklch(var(--accent) / .72));transition:color var(--motion-t2) var(--ease-out), background-size var(--motion-t2) var(--ease-out), background-color var(--motion-t2) var(--ease-out);background-position:0 calc(100% - .08rem);background-repeat:no-repeat;background-size:0 1px;border-radius:.4rem;align-items:center;padding-inline:.15rem;font-weight:600;line-height:1.25;text-decoration:none;display:inline-flex}.nav-link:hover,.nav-link:focus-visible{color:oklch(var(--text));background-size:100% 1px}.nav-link:focus-visible{outline:2px solid oklch(var(--focus));outline-offset:4px}.nav-link-menu{min-height:auto;padding-block:var(--space-sm);border-bottom:1px solid oklch(var(--border) / .7);font-size:var(--type-h2-size);line-height:calc(var(--leading-heading) + .04);letter-spacing:var(--tracking-h2);color:oklch(var(--text));background-image:none;border-radius:.5rem;padding-inline:0;display:block}.nav-link-menu:hover,.nav-link-menu:focus-visible{color:oklch(var(--accent));background-color:oklch(var(--secondary) / .36);background-size:0 0}.nav-signature{border:1px solid oklch(var(--border) / .76);background:linear-gradient(180deg, oklch(var(--surface-1) / .9), oklch(var(--surface-2) / .68));box-shadow:var(--shadow-ambient);isolation:isolate;border-radius:999px;align-items:center;padding:.25rem;display:inline-flex;position:relative}.nav-signature-list{z-index:1;align-items:center;gap:.15rem;display:flex;position:relative}.nav-signature-indicator{inset-block:.25rem;width:var(--nav-indicator-width,0px);border:1px solid oklch(var(--accent) / .18);background:linear-gradient(180deg, oklch(var(--card) / .98), oklch(var(--surface-1) / .92));box-shadow:inset 0 1px 0 oklch(var(--foreground) / .05), var(--shadow-ambient);opacity:var(--nav-indicator-opacity,0);pointer-events:none;transform:translate3d(var(--nav-indicator-left,0px), 0, 0);border-radius:999px;position:absolute;left:0}.nav-signature-link{min-height:2.4rem;font-size:var(--type-small-size);color:oklch(var(--text-muted));border-radius:999px;justify-content:center;align-items:center;padding-inline:.95rem;font-weight:600;line-height:1.25;text-decoration:none;display:inline-flex;position:relative}.nav-signature-link[data-active=true],.nav-signature-link:hover,.nav-signature-link:focus-visible{color:oklch(var(--text))}.nav-signature-link:focus-visible{outline:2px solid oklch(var(--focus));outline-offset:4px}.card-base{border:1px solid oklch(var(--border) / .8);border-radius:var(--radius-3);background:linear-gradient(180deg, oklch(var(--card) / .95), oklch(var(--surface-1) / .84));box-shadow:var(--shadow-ambient)}.card-pad-compact{padding:clamp(1rem,.9rem + .32vw,1.35rem)}.card-pad-comfortable{padding:var(--pad-panel)}.card-surface{background-color:oklch(var(--card) / .88)}.card-subtle{background-color:oklch(var(--card) / .68)}.card-outline{box-shadow:none;background-color:#0000}.card-interactive{transition:transform var(--motion-t2) var(--ease-out), border-color var(--motion-t2) var(--ease-out), background-color var(--motion-t2) var(--ease-out), box-shadow var(--motion-t2) var(--ease-out)}.card-interactive:hover,.card-interactive:focus-visible,.card-interactive:focus-within{border-color:oklch(var(--accent) / .28);background-color:oklch(var(--card) / .92);box-shadow:var(--shadow-elevate);transform:translateY(-2px)}.card-interactive:active{transform:translateY(1px)}.card-interactive:focus-within,.card-interactive:focus-visible{outline:2px solid oklch(var(--focus));outline-offset:4px}.focus-ring-link{border-radius:.4rem}.focus-ring-link:focus-visible{outline-offset:2px;--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);--tw-ring-opacity:1;--tw-ring-color:oklch(var(--focus) / var(--tw-ring-opacity,1));--tw-ring-offset-width:4px;--tw-ring-offset-color:oklch(var(--bg) / 1);outline:2px solid #0000}.ledger-link{margin-inline:calc(var(--space-xs) * -1);border-radius:var(--radius-2);padding:var(--space-sm);transition:border-color var(--motion-t2) var(--ease-out), background-color var(--motion-t2) var(--ease-out), box-shadow var(--motion-t2) var(--ease-out), transform var(--motion-t2) var(--ease-out);border:1px solid #0000;display:block}.ledger-link:hover,.ledger-link:focus-visible,.ledger-link:focus-within{border-color:oklch(var(--border) / .82);background:linear-gradient(180deg, oklch(var(--card) / .96), oklch(var(--surface-1) / .84)), linear-gradient(135deg, oklch(var(--accent) / .03), transparent 48%);box-shadow:var(--shadow-elevate);transform:translateY(-1px)}.project-card{position:relative;overflow:clip}.project-card:before{content:"";background:linear-gradient(90deg, oklch(var(--accent) / .58), transparent 68%);height:1px;position:absolute;inset:0 0 auto}.project-card:after{content:"";background:radial-gradient(circle, oklch(var(--accent) / .09), transparent 72%);pointer-events:none;border-radius:999px;width:9rem;height:9rem;position:absolute;top:-3rem;right:-2rem}.project-card-arrow-shell{border:1px solid oklch(var(--border) / .75);background-color:oklch(var(--background) / .68);border-radius:999px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:inline-flex}.capability-card,.process-card{position:relative}.capability-card:before,.process-card:before{content:"";background:linear-gradient(90deg, oklch(var(--accent) / .52), transparent 62%);height:1px;position:absolute;inset:0 0 auto}.case-study-section{border-color:oklch(var(--frame) / .46);background:linear-gradient(180deg, oklch(var(--card) / .97), oklch(var(--surface-1) / .84)), linear-gradient(135deg, oklch(var(--accent) / .03), transparent 54%);position:relative}.case-study-section:after{content:"";background:linear-gradient(180deg, oklch(var(--accent) / .2), transparent 72%);width:1px;position:absolute;inset:0 auto 0 0}.case-study-map{border-color:oklch(var(--frame) / .46)}.decision-record,.artifact-shell,.contact-link-card{border-color:oklch(var(--frame) / .42)}.footer-shell{padding-block:var(--space-lg)}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.top-0{top:0}.z-40{z-index:40}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.my-space-lg{margin-top:var(--space-lg);margin-bottom:var(--space-lg)}.my-space-md{margin-top:var(--space-md);margin-bottom:var(--space-md)}.mt-1{margin-top:.25rem}.mt-auto{margin-top:auto}.mt-space-2xs{margin-top:var(--space-2xs)}.mt-space-lg{margin-top:var(--space-lg)}.mt-space-md{margin-top:var(--space-md)}.mt-space-sm{margin-top:var(--space-sm)}.mt-space-xs{margin-top:var(--space-xs)}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-11{height:2.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-fit{height:fit-content}.h-full{height:100%}.min-h-11{min-height:2.75rem}.min-h-20{min-height:5rem}.min-h-48{min-height:12rem}.w-11{width:2.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-fit{width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-11{min-width:2.75rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-content{max-width:var(--max-content)}.max-w-none{max-width:none}.max-w-reading{max-width:var(--max-reading)}.max-w-wide{max-width:var(--max-wide)}.max-w-xl{max-width:36rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.translate-x-1{--tw-translate-x:.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))}.resize{resize:both}.scroll-mt-28{scroll-margin-top:7rem}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-grid-gap{gap:var(--space-grid-gap)}.gap-space-2xl{gap:var(--space-2xl)}.gap-space-2xs{gap:var(--space-2xs)}.gap-space-3xl{gap:var(--space-3xl)}.gap-space-lg{gap:var(--space-lg)}.gap-space-md{gap:var(--space-md)}.gap-space-sm{gap:var(--space-sm)}.gap-space-xl{gap:var(--space-xl)}.gap-space-xs{gap:var(--space-xs)}.gap-stack-lg{gap:var(--space-stack-lg)}.gap-stack-md{gap:var(--space-stack-md)}.gap-stack-sm{gap:var(--space-stack-sm)}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-space-sm>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(var(--space-sm) * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(var(--space-sm) * var(--tw-space-y-reverse))}.space-y-space-xs>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(var(--space-xs) * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(var(--space-xs) * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.text-balance{text-wrap:balance}.rounded-2xl{border-radius:1rem}.rounded-\[calc\(var\(--radius-2\)\+0\.3rem\)\]{border-radius:calc(var(--radius-2) + .3rem)}.rounded-\[var\(--radius-2\)\]{border-radius:var(--radius-2)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius-3)}.rounded-md{border-radius:var(--radius-2)}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-accent\/20{border-color:oklch(var(--accent) / .2)}.border-border\/60{border-color:oklch(var(--border) / .6)}.border-border\/70{border-color:oklch(var(--border) / .7)}.border-border\/80{border-color:oklch(var(--border) / .8)}.bg-background\/45{background-color:oklch(var(--background) / .45)}.bg-background\/55{background-color:oklch(var(--background) / .55)}.bg-background\/60{background-color:oklch(var(--background) / .6)}.bg-surface-1\/60{background-color:oklch(var(--surface-1) / .6)}.bg-surface-2\/60{background-color:oklch(var(--surface-2) / .6)}.bg-\[linear-gradient\(180deg\,oklch\(var\(--card\)\/0\.98\)\,oklch\(var\(--surface-1\)\/0\.9\)\)\]{background-image:linear-gradient(180deg,oklch(var(--card)/.98),oklch(var(--surface-1)/.9))}.bg-\[radial-gradient\(circle_at_top\,oklch\(var\(--hero-glow\)\/0\.18\)\,transparent_70\%\)\]{background-image:radial-gradient(circle at top,oklch(var(--hero-glow)/.18),transparent 70%)}.p-0{padding:0}.p-space-md{padding:var(--space-md)}.p-space-sm{padding:var(--space-sm)}.px-0{padding-left:0;padding-right:0}.px-gutter{padding-left:var(--container-inline);padding-right:var(--container-inline)}.px-space-md{padding-left:var(--space-md);padding-right:var(--space-md)}.px-space-sm{padding-left:var(--space-sm);padding-right:var(--space-sm)}.px-space-xs{padding-left:var(--space-xs);padding-right:var(--space-xs)}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-space-sm{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.pb-space-2xl{padding-bottom:var(--space-2xl)}.pb-space-lg{padding-bottom:var(--space-lg)}.pb-space-md{padding-bottom:var(--space-md)}.pb-space-sm{padding-bottom:var(--space-sm)}.pt-space-2xs{padding-top:var(--space-2xs)}.pt-space-3xl{padding-top:var(--space-3xl)}.pt-space-lg{padding-top:var(--space-lg)}.pt-space-md{padding-top:var(--space-md)}.pt-space-sm{padding-top:var(--space-sm)}.pt-space-xs{padding-top:var(--space-xs)}.text-left{text-align:left}.text-center{text-align:center}.font-medium{font-weight:500}.not-italic{font-style:normal}.text-accent{--tw-text-opacity:1;color:oklch(var(--accent) / var(--tw-text-opacity,1))}.text-text{--tw-text-opacity:1;color:oklch(var(--text) / var(--tw-text-opacity,1))}.text-text-muted{--tw-text-opacity:1;color:oklch(var(--text-muted) / var(--tw-text-opacity,1))}.shadow-\[0_18px_38px_rgba\(26\,20\,12\,0\.08\)\]{--tw-shadow:0 18px 38px #1a140c14;--tw-shadow-colored:0 18px 38px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[inset_0_1px_0_oklch\(var\(--foreground\)\/0\.03\)\]{--tw-shadow:inset 0 1px 0 oklch(var(--foreground)/.03);--tw-shadow-colored:inset 0 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[inset_0_1px_0_oklch\(var\(--foreground\)\/0\.04\)\]{--tw-shadow:inset 0 1px 0 oklch(var(--foreground)/.04);--tw-shadow-colored:inset 0 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-ambient{--tw-shadow:var(--shadow-ambient);--tw-shadow-colored:var(--shadow-ambient);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.last\:border-b-0:last-child{border-bottom-width:0}.hover\:text-accent:hover{--tw-text-opacity:1;color:oklch(var(--accent) / var(--tw-text-opacity,1))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus-visible\:text-accent:focus-visible,.group:focus-within .group-focus-within\:text-accent{--tw-text-opacity:1;color:oklch(var(--accent) / var(--tw-text-opacity,1))}.group:hover .group-hover\:translate-x-1{--tw-translate-x:.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\:text-accent{--tw-text-opacity:1;color:oklch(var(--accent) / var(--tw-text-opacity,1))}.group:focus-visible .group-focus-visible\:translate-x-1{--tw-translate-x:.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:focus-visible .group-focus-visible\:text-accent{--tw-text-opacity:1;color:oklch(var(--accent) / var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:block{display:block}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:p-panel-lg{padding:var(--pad-panel-lg)}}@media (min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[minmax\(0\,1\.15fr\)_minmax\(0\,0\.85fr\)\]{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.md\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:px-gutter-lg{padding-left:var(--container-inline-lg);padding-right:var(--container-inline-lg)}.md\:pb-section{padding-bottom:var(--space-section)}.md\:pb-space-3xl{padding-bottom:var(--space-3xl)}.md\:pt-space-md{padding-top:var(--space-md)}.md\:pt-space-xl{padding-top:var(--space-xl)}}@media (min-width:1024px){.lg\:sticky{position:sticky}.lg\:top-28{top:7rem}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:mt-0{margin-top:0}.lg\:mt-8{margin-top:2rem}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.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\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,0\.95fr\)_minmax\(0\,0\.8fr\)\]{grid-template-columns:minmax(0,.95fr) minmax(0,.8fr)}.lg\:grid-cols-\[minmax\(0\,0\.98fr\)_minmax\(18rem\,0\.72fr\)\]{grid-template-columns:minmax(0,.98fr) minmax(18rem,.72fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_18rem\]{grid-template-columns:minmax(0,1fr) 18rem}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(18rem\,0\.78fr\)\]{grid-template-columns:minmax(0,1fr) minmax(18rem,.78fr)}.lg\:items-start{align-items:flex-start}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}}@media (min-width:1280px){.xl\:col-span-2{grid-column:span 2/span 2}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,0\.86fr\)_minmax\(0\,1\.14fr\)\]{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)}.xl\:px-0{padding-left:0;padding-right:0}}.\[\&\>\*\+\*\]\:border-t>*+*{border-top-width:1px}.\[\&\>\*\+\*\]\:border-border\/70>*+*{border-color:oklch(var(--border) / .7)}.\[\&\>\*\+\*\]\:pt-space-sm>*+*{padding-top:var(--space-sm)}
