/*! 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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:var(--font-dm-sans);--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-amber-50:oklch(98.7% .022 95.277);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-950:oklch(27.9% .077 45.635);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-950:oklch(26.2% .051 172.552);--color-blue-50:oklch(97% .014 254.604);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-950:oklch(28.2% .091 267.935);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-700:oklch(51.4% .222 16.935);--color-rose-950:oklch(27.1% .105 12.094);--color-zinc-50:oklch(98.5% 0 none);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-semibold:600;--tracking-widest:.1em;--radius-xl:.75rem;--radius-2xl:1rem;--animate-spin:spin 1s linear infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-dm-sans);--default-mono-font-family:var(--font-mono);--font-display:var(--font-bricolage)}}@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]){-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;-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{.pointer-events-auto{pointer-events:auto}.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}.relative{position:relative}.static{position:static}.-inset-x-4{inset-inline:calc(var(--spacing) * -4)}.-inset-y-6{inset-block:calc(var(--spacing) * -6)}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.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}}.prose{--tw-prose-body:oklch(44.2% .017 285.786);--tw-prose-headings:oklch(21% .006 285.885);--tw-prose-links:oklch(70.4% .14 182.503);--tw-prose-links-hover:oklch(60% .118 184.704);--tw-prose-underline:oklab(70.4% -.139866 -.00611406/.2);--tw-prose-underline-hover:oklch(70.4% .14 182.503);--tw-prose-bold:oklch(21% .006 285.885);--tw-prose-counters:oklch(21% .006 285.885);--tw-prose-bullets:oklch(21% .006 285.885);--tw-prose-hr:oklch(96.7% .001 286.375);--tw-prose-quote-borders:oklch(92% .004 286.32);--tw-prose-captions:oklch(70.5% .015 286.067);--tw-prose-code:oklch(37% .013 285.805);--tw-prose-code-bg:oklab(87.1% .00168259 -.00575924/.2);--tw-prose-pre-code:oklch(96.7% .001 286.375);--tw-prose-pre-bg:oklch(21% .006 285.885);--tw-prose-pre-border:transparent;--tw-prose-th-borders:oklch(92% .004 286.32);--tw-prose-td-borders:oklch(96.7% .001 286.375);--tw-prose-invert-body:oklch(70.5% .015 286.067);--tw-prose-invert-headings:oklch(92% .004 286.32);--tw-prose-invert-links:oklch(77.7% .152 181.912);--tw-prose-invert-links-hover:oklch(77.7% .152 181.912);--tw-prose-invert-underline:oklab(77.7% -.151915 -.00507142/.3);--tw-prose-invert-underline-hover:oklch(77.7% .152 181.912);--tw-prose-invert-bold:oklch(92% .004 286.32);--tw-prose-invert-counters:oklch(92% .004 286.32);--tw-prose-invert-bullets:oklch(92% .004 286.32);--tw-prose-invert-hr:oklab(37% .00354074 -.0125085/.4);--tw-prose-invert-quote-borders:oklch(55.2% .016 285.938);--tw-prose-invert-captions:oklch(55.2% .016 285.938);--tw-prose-invert-code:oklch(87.1% .006 286.286);--tw-prose-invert-code-bg:oklab(92% .00112401 -.00383883/.05);--tw-prose-invert-pre-code:oklch(96.7% .001 286.375);--tw-prose-invert-pre-bg:#0006;--tw-prose-invert-pre-border:oklab(92% .00112401 -.00383883/.1);--tw-prose-invert-th-borders:oklch(37% .013 285.805);--tw-prose-invert-td-borders:oklch(27.4% .006 286.033);color:var(--tw-prose-body);line-height:1.75rem}.prose :where(.prose>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.5rem;margin-bottom:2.5rem}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.75rem;margin-bottom:1.75rem}.prose :where(h2,h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:5rem;margin-bottom:1rem;font-size:1.25rem;line-height:1.75rem}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:4rem;margin-bottom:1rem;font-size:1rem;line-height:1.75rem}.prose :where(:is(h2,h3)+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:1.5rem}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;-webkit-text-decoration-color:var(--tw-prose-underline);-webkit-text-decoration-color:var(--tw-prose-underline);-webkit-text-decoration-color:var(--tw-prose-underline);text-decoration-color:var(--tw-prose-underline);font-weight:600;transition-property:color,text-decoration-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.prose :where(a:hover):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links-hover);-webkit-text-decoration-color:var(--tw-prose-underline-hover);-webkit-text-decoration-color:var(--tw-prose-underline-hover);-webkit-text-decoration-color:var(--tw-prose-underline-hover);text-decoration-color:var(--tw-prose-underline-hover)}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);background-color:var(--tw-prose-code-bg);border-radius:.5rem;padding-left:.25rem;padding-right:.25rem;font-size:.875rem;font-weight:600;display:inline-block}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(:is(h2,h3) code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-left-width:2px;border-left-color:var(--tw-prose-quote-borders);padding-left:1.5rem;font-style:italic}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.75rem;font-size:.875rem;line-height:1.5rem}.prose :where(figcaption>p):not(:where([class~=not-prose],[class~=not-prose] *)){margin:0}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul,ol):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:1.5rem}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.5rem;margin-bottom:1.5rem;padding-left:.875rem}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-size:.875rem;font-weight:600}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(li :is(ol,ul)):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1rem;margin-bottom:1rem}.prose :where(li :is(li,p)):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75rem;margin-bottom:.75rem}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);border:1px solid;border-color:var(--tw-prose-pre-border);border-radius:1.5rem;padding:2rem;font-size:.875rem;font-weight:500;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:inherit;font-weight:inherit;background-color:#0000;border-radius:0;padding:0;display:inline}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-color:var(--tw-prose-hr);margin-top:5rem;margin-bottom:5rem}@media (width>=1024px){.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-left:-3rem;margin-right:-3rem}}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;text-align:left;width:100%;font-size:.875rem}.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-bottom:.5rem;font-weight:600}.prose :where(thead th:not(:first-child)):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:.5rem}.prose :where(thead th:not(:last-child)):not(:where([class~=not-prose],[class~=not-prose] *)){padding-right:.5rem}.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(:is(tbody,tfoot) td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5rem;padding-bottom:.5rem}.prose :where(:is(tbody,tfoot) td:not(:first-child)):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:.5rem}.prose :where(:is(tbody,tfoot) td:not(:last-child)):not(:where([class~=not-prose],[class~=not-prose] *)){padding-right:.5rem}.my-6{margin-block:calc(var(--spacing) * 6)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-8{margin-top:calc(var(--spacing) * 8)}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-139{height:calc(var(--spacing) * 139)}.h-205{height:calc(var(--spacing) * 205)}.h-1080{height:calc(var(--spacing) * 1080)}.h-full{height:100%}.min-h-\[500px\]{min-height:500px}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-full{width:100%}.flex-none{flex:none}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.justify-center{justify-content:center}.gap-3{gap:calc(var(--spacing) * 3)}.rounded-full{border-radius:2147483647px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-amber-500\/70{border-color:#f99c00b3}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/70{border-color:color-mix(in oklab, var(--color-amber-500) 70%, transparent)}}.border-blue-500\/70{border-color:#3080ffb3}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/70{border-color:color-mix(in oklab, var(--color-blue-500) 70%, transparent)}}.border-emerald-500\/70{border-color:#00bb7fb3}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/70{border-color:color-mix(in oklab, var(--color-emerald-500) 70%, transparent)}}.border-rose-500\/70{border-color:#ff2357b3}@supports (color:color-mix(in lab, red, red)){.border-rose-500\/70{border-color:color-mix(in oklab, var(--color-rose-500) 70%, transparent)}}.border-zinc-200\/60{border-color:#e4e4e799}@supports (color:color-mix(in lab, red, red)){.border-zinc-200\/60{border-color:color-mix(in oklab, var(--color-zinc-200) 60%, transparent)}}.bg-amber-50\/60{background-color:#fffbeb99}@supports (color:color-mix(in lab, red, red)){.bg-amber-50\/60{background-color:color-mix(in oklab, var(--color-amber-50) 60%, transparent)}}.bg-blue-50\/60{background-color:#eff6ff99}@supports (color:color-mix(in lab, red, red)){.bg-blue-50\/60{background-color:color-mix(in oklab, var(--color-blue-50) 60%, transparent)}}.bg-emerald-50\/60{background-color:#ecfdf599}@supports (color:color-mix(in lab, red, red)){.bg-emerald-50\/60{background-color:color-mix(in oklab, var(--color-emerald-50) 60%, transparent)}}.bg-rose-50\/60{background-color:#fff1f299}@supports (color:color-mix(in lab, red, red)){.bg-rose-50\/60{background-color:color-mix(in oklab, var(--color-rose-50) 60%, transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.bg-white\/90{background-color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.bg-zinc-50{background-color:var(--color-zinc-50)}.bg-zinc-100{background-color:var(--color-zinc-100)}.object-cover{object-fit:cover}.p-0\.5{padding:calc(var(--spacing) * .5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-3{padding-block:calc(var(--spacing) * 3)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-amber-700{color:var(--color-amber-700)}.text-blue-700{color:var(--color-blue-700)}.text-emerald-700{color:var(--color-emerald-700)}.text-rose-700{color:var(--color-rose-700)}.text-zinc-600{color:var(--color-zinc-600)}.text-zinc-700{color:var(--color-zinc-700)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.scheme-light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.opacity-0{opacity:0}.shadow{--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-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px 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)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + 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)}.shadow-zinc-800\/5{--tw-shadow-color:#27272a0d}@supports (color:color-mix(in lab, red, red)){.shadow-zinc-800\/5{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-zinc-800) 5%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-zinc-900\/5{--tw-ring-color:#18181b0d}@supports (color:color-mix(in lab, red, red)){.ring-zinc-900\/5{--tw-ring-color:color-mix(in oklab, var(--color-zinc-900) 5%, transparent)}}.invert{--tw-invert:invert(100%);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,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-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,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))}.running{animation-play-state:running}@media (hover:hover){.group-hover\:scale-100:is(:where(.group):hover *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-data-\[loading\=true\]\/loading\:block:is(:where(.group\/loading)[data-loading=true] *){display:block}.group-data-\[loading\=true\]\/loading\:hidden:is(:where(.group\/loading)[data-loading=true] *){display:none}.group-data-\[loading\=true\]\/loading\:inline:is(:where(.group\/loading)[data-loading=true] *){display:inline}@media (width>=40rem){.sm\:-inset-x-6{inset-inline:calc(var(--spacing) * -6)}.sm\:w-auto{width:auto}.sm\:flex-row{flex-direction:row}.sm\:rounded-2xl{border-radius:var(--radius-2xl)}}@media (width>=48rem){.md\:block{display:block}.md\:hidden{display:none}}.dark\:block:where(.dark,.dark *){display:block}.dark\:hidden:where(.dark,.dark *){display:none}.dark\:border-amber-400\/70:where(.dark,.dark *){border-color:#fcbb00b3}@supports (color:color-mix(in lab, red, red)){.dark\:border-amber-400\/70:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-amber-400) 70%, transparent)}}.dark\:border-blue-400\/60:where(.dark,.dark *){border-color:#54a2ff99}@supports (color:color-mix(in lab, red, red)){.dark\:border-blue-400\/60:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-blue-400) 60%, transparent)}}.dark\:border-emerald-400\/70:where(.dark,.dark *){border-color:#00d294b3}@supports (color:color-mix(in lab, red, red)){.dark\:border-emerald-400\/70:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-emerald-400) 70%, transparent)}}.dark\:border-rose-400\/70:where(.dark,.dark *){border-color:#ff667fb3}@supports (color:color-mix(in lab, red, red)){.dark\:border-rose-400\/70:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-rose-400) 70%, transparent)}}.dark\:border-zinc-700\/60:where(.dark,.dark *){border-color:#3f3f4699}@supports (color:color-mix(in lab, red, red)){.dark\:border-zinc-700\/60:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-zinc-700) 60%, transparent)}}.dark\:bg-amber-950\/30:where(.dark,.dark *){background-color:#4619014d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-amber-950\/30:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-amber-950) 30%, transparent)}}.dark\:bg-blue-950\/30:where(.dark,.dark *){background-color:#1624564d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-950\/30:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-blue-950) 30%, transparent)}}.dark\:bg-emerald-950\/30:where(.dark,.dark *){background-color:#002c224d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-emerald-950\/30:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-emerald-950) 30%, transparent)}}.dark\:bg-rose-950\/30:where(.dark,.dark *){background-color:#4d02184d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-rose-950\/30:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-rose-950) 30%, transparent)}}.dark\:bg-zinc-800:where(.dark,.dark *){background-color:var(--color-zinc-800)}.dark\:bg-zinc-800\/50:where(.dark,.dark *){background-color:#27272a80}@supports (color:color-mix(in lab, red, red)){.dark\:bg-zinc-800\/50:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-zinc-800) 50%, transparent)}}.dark\:bg-zinc-800\/90:where(.dark,.dark *){background-color:#27272ae6}@supports (color:color-mix(in lab, red, red)){.dark\:bg-zinc-800\/90:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-zinc-800) 90%, transparent)}}.dark\:bg-zinc-900\/60:where(.dark,.dark *){background-color:#18181b99}@supports (color:color-mix(in lab, red, red)){.dark\:bg-zinc-900\/60:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-zinc-900) 60%, transparent)}}.dark\:text-amber-300:where(.dark,.dark *){color:var(--color-amber-300)}.dark\:text-blue-300:where(.dark,.dark *){color:var(--color-blue-300)}.dark\:text-emerald-300:where(.dark,.dark *){color:var(--color-emerald-300)}.dark\:text-rose-300:where(.dark,.dark *){color:var(--color-rose-300)}.dark\:text-zinc-200:where(.dark,.dark *){color:var(--color-zinc-200)}.dark\:text-zinc-400:where(.dark,.dark *){color:var(--color-zinc-400)}.dark\:scheme-dark:where(.dark,.dark *){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.dark\:ring-white\/10:where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.dark\:ring-white\/10:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.dark\:prose-invert:where(.dark,.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-links-hover:var(--tw-prose-invert-links-hover);--tw-prose-underline:var(--tw-prose-invert-underline);--tw-prose-underline-hover:var(--tw-prose-invert-underline-hover);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-code-bg:var(--tw-prose-invert-code-bg);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-pre-border:var(--tw-prose-invert-pre-border);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.\[\&_p\]\:mt-3 p{margin-top:calc(var(--spacing) * 3)}.\[\&_p\:first-child\]\:mt-0 p:first-child{margin-top:0}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--paper:#f5f1e7;--surface:#fffcf4;--ink:#24231f;--muted:#615e55;--rule:#24231f;--shadow:#24231f;--yellow:#f9d94b;--coral:#f29179;--lilac:#c8b7e3;--mint:#c5d8b0;--accent-ink:#24231f;--line:2px solid var(--rule);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--paper:#262621;--surface:#31322b;--ink:#f4eedf;--muted:#c1bcaf;--rule:#e2dbc8;--shadow:#12130f;--yellow:#ead06a;--coral:#d88e79;--lilac:#b8a7cd;--mint:#b5c79f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{min-width:320px;scroll-padding-top:1.5rem}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.7}::selection{color:var(--accent-ink);background:var(--yellow)}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}a,button,input{touch-action:manipulation}:focus-visible{outline:3px solid var(--ink);outline-offset:5px}main:focus{outline:none}svg{flex-shrink:0}h1,h2,h3{font-family:var(--font-display);font-weight:800}h1{text-wrap:balance}.site-shell{flex-direction:column;min-height:100dvh;display:flex}.site-shell>main{flex:1}.container-outer{width:100%}.container-inner{width:min(100% - 7rem,1160px);margin-inline:auto}.skip-link{z-index:100;background:var(--yellow);color:var(--accent-ink);border:var(--line);padding:10px 16px;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:var(--line)}.header-inner{justify-content:space-between;align-items:center;gap:20px;min-height:108px;display:flex}.wordmark{align-items:center;gap:12px;text-decoration:none;display:flex}.monogram{background:var(--yellow);width:52px;height:52px;color:var(--accent-ink);border:var(--line);box-shadow:3px 3px 0 var(--shadow);font-family:var(--font-display);letter-spacing:-2px;place-items:center;padding-bottom:4px;font-size:30px;font-weight:800;line-height:1;display:grid;transform:rotate(-5deg)}.wordmark-name{letter-spacing:-.3px;font-size:14px;font-weight:700;line-height:1.15}.header-actions,.desktop-navigation{align-items:center;gap:8px;display:flex}.header-actions{gap:22px}.nav-link{border:2px solid #0000;padding:8px 16px;font-size:14px;font-weight:700;transition:background .15s,transform .15s,box-shadow .15s;display:block}.nav-link:hover,.nav-link[aria-current=page]{border-color:var(--rule);background:var(--yellow);color:var(--accent-ink);box-shadow:3px 3px 0 var(--shadow);transform:rotate(-2deg)}.icon-button{border:var(--line);width:44px;height:44px;color:var(--ink);background:var(--surface);box-shadow:3px 3px 0 var(--shadow);justify-content:center;align-items:center;transition:transform .15s,box-shadow .15s;display:inline-flex}.icon-button svg{width:20px;height:20px}.icon-button:hover{box-shadow:5px 5px 0 var(--shadow);transform:translate(-2px,-2px)}.icon-button:active{box-shadow:none;transform:translate(3px,3px)}.menu-toggle{display:none}.mobile-menu{border:var(--line);width:min(360px,100% - 32px);box-shadow:7px 7px 0 var(--shadow);background:var(--surface);color:var(--ink);margin:0 0 0 auto;padding:24px;inset:18px 16px auto}.mobile-menu::backdrop{background:#14141099}.mobile-menu-heading{justify-content:end;align-items:center;gap:16px;padding-bottom:24px;display:flex}.mobile-menu nav a{border-top:var(--line);font-family:var(--font-display);justify-content:space-between;align-items:center;padding:16px 0;font-size:30px;font-weight:800;display:flex}.mobile-menu nav a svg{width:28px}.mobile-menu nav a[aria-current=page]{text-decoration:underline;-webkit-text-decoration-color:var(--coral);-webkit-text-decoration-color:var(--coral);-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-underline-offset:8px}.home-hero{padding-top:clamp(48px,6vw,84px)}.hero-grid{grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);align-items:center;gap:clamp(24px,4vw,64px);padding-bottom:64px;display:grid}.eyebrow{letter-spacing:1.6px;text-transform:uppercase;align-items:center;gap:10px;font-size:11px;font-weight:700;line-height:1.5;display:flex}.tiny-square{background:var(--coral);border:1.5px solid var(--rule);flex-shrink:0;width:9px;height:9px;display:inline-block}.hero-copy h1{letter-spacing:-.065em;margin:24px 0 28px;font-size:clamp(54px,7.6vw,99px);line-height:1.04}.highlight{isolation:isolate;padding:0 .1em .07em 0;display:inline-block;position:relative}.highlight:before{content:"";z-index:-1;background:var(--yellow);border:var(--line);box-shadow:4px 4px 0 var(--shadow);position:absolute;inset:10% -1% 0 -2%;transform:rotate(-2deg)}.hero-copy .highlight{color:var(--accent-ink)}.hero-description{max-width:490px;font-size:16px;line-height:1.8}.hero-links{flex-wrap:wrap;align-items:center;gap:24px;margin-top:28px;display:flex}.social-links{gap:10px;display:flex}.social-link{border:var(--line);background:var(--surface);width:42px;height:42px;box-shadow:2px 2px 0 var(--shadow);justify-content:center;align-items:center;transition:transform .15s,box-shadow .15s;display:inline-flex}.social-link svg{width:18px;height:18px}.social-link:hover{box-shadow:2px 5px 0 var(--shadow);transform:translateY(-3px)}.hero-art{padding:14px 14px 28px;position:relative}.portrait-card{background:var(--coral);border:var(--line);box-shadow:8px 8px 0 var(--shadow);transform:rotate(4deg)}.portrait-label{color:var(--accent-ink);letter-spacing:1.8px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:10px;font-weight:700;display:flex}.portrait-label span:last-child{font-size:21px;line-height:1}.portrait-card img{aspect-ratio:1;object-fit:cover;border-block:var(--line);filter:grayscale();width:100%}.portrait-card figcaption{color:var(--accent-ink);align-items:center;gap:8px;padding:14px;font-size:12px;font-weight:700;display:flex}.portrait-card figcaption svg{width:15px;height:15px}.portrait-card figcaption span{margin-left:auto;font-size:20px;line-height:1}.home-content{padding-top:52px}.home-columns{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);align-items:start;gap:clamp(32px,5vw,72px);display:grid}.home-sidebar{gap:32px;padding-top:5px;display:grid}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:22px;display:flex}.section-heading h2{letter-spacing:-1.5px;font-size:clamp(27px,3vw,36px);line-height:1.1}.heading-dot{color:var(--coral)}.text-link{text-underline-offset:5px;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.text-link svg{width:17px;height:17px}.text-link:hover{text-decoration:underline}.article-list{border-top:var(--line)}.article-entry{border-bottom:var(--line);padding:26px 0 28px;position:relative}.article-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.article-meta time{text-transform:uppercase;letter-spacing:.9px;color:var(--muted)}.article-topic{border:1px solid var(--rule);background:var(--mint);color:var(--accent-ink);padding:1px 7px;line-height:1.5}.article-entry h2{letter-spacing:-.7px;margin:13px 0 9px;font-size:clamp(23px,2.4vw,29px);line-height:1.15}.article-entry h2 a:after{content:"";position:absolute;inset:0}.article-entry:has(a:focus-visible){outline:3px solid var(--ink);outline-offset:6px}.article-entry p{color:var(--muted);font-size:14px;line-height:1.65}.article-read{align-items:center;gap:8px;margin-top:17px;font-size:12px;font-weight:700;display:flex}.article-read svg{width:19px;height:19px;transition:transform .16s}.article-entry:hover h2 a{text-decoration:underline;-webkit-text-decoration-color:var(--coral);-webkit-text-decoration-color:var(--coral);-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-underline-offset:5px;text-decoration-thickness:3px}.article-entry:hover .article-read svg{transform:translate(3px,-3px)}.button{border:var(--line);min-height:45px;box-shadow:4px 4px 0 var(--shadow);font-family:var(--font-sans);justify-content:center;align-items:center;gap:10px;padding:10px 17px;font-size:12px;font-weight:700;line-height:1.5;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.button-primary{background:var(--yellow);color:var(--accent-ink)}.button-secondary{background:var(--surface);color:var(--ink)}.button svg{width:18px;height:18px}.button:hover:not(:disabled){box-shadow:6px 6px 0 var(--shadow);transform:translate(-2px,-2px)}.button:active:not(:disabled){box-shadow:none;transform:translate(4px,4px)}.button:disabled{opacity:.6}.newsletter-panel,.resume-panel{border:var(--line);box-shadow:6px 6px 0 var(--shadow);padding:25px}.newsletter-panel{background:var(--yellow);color:var(--accent-ink)}.panel-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.panel-heading h2{letter-spacing:-1px;font-size:28px;line-height:1.1}.panel-heading>svg{width:26px;height:26px}.newsletter-panel p{margin:14px 0 20px;font-size:13px;line-height:1.7}.newsletter-panel .button{background:var(--accent-ink);color:#fffcf4;border-color:var(--accent-ink);box-shadow:3px 3px 0 var(--coral);justify-content:space-between}.resume-panel{background:var(--surface)}.experience-list{margin:22px 0}.experience-list li{border-top:1px solid var(--rule);padding:12px 0}.experience-company{font-size:14px;font-weight:700}.experience-role{font-size:12px}.experience-date{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.6}.page-section{padding-top:clamp(44px,6vw,80px)}.page-intro{border-bottom:var(--line);padding-bottom:36px}.page-intro h1,.about-copy h1{letter-spacing:-.055em;max-width:940px;margin-top:22px;font-size:clamp(42px,6vw,74px);line-height:1.04}.page-intro-description{max-width:730px;color:var(--muted);margin-top:25px;font-size:16px}.page-content{padding-top:42px}.article-archive{border-top:0;max-width:880px}.article-archive .article-entry{padding-block:30px}.article-archive .article-entry:first-child{padding-top:0}.article-archive .article-entry h2{max-width:740px;font-size:clamp(27px,3.5vw,38px)}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.project-card{border:var(--line);background:var(--surface);box-shadow:5px 5px 0 var(--shadow);flex-direction:column;padding:25px;transition:transform .15s,box-shadow .15s;display:flex;position:relative}.project-card:nth-child(4n+1){--project-color:var(--yellow)}.project-card:nth-child(4n+2){--project-color:var(--lilac)}.project-card:nth-child(4n+3){--project-color:var(--coral)}.project-card:nth-child(4n){--project-color:var(--mint)}.project-card-top{border-bottom:var(--line);background:var(--project-color);color:var(--accent-ink);justify-content:space-between;align-items:center;margin:-25px -25px 24px;padding:18px 25px;display:flex}.project-number{font-family:var(--font-display);letter-spacing:-2px;font-size:42px;font-weight:800;line-height:1}.project-icon{place-items:center;width:38px;height:38px;display:grid}.project-icon svg,.project-icon img{object-fit:contain;width:32px;height:32px}.project-card h2{letter-spacing:-1px;font-size:29px;line-height:1.1}.project-card h2 a:after{content:"";position:absolute;inset:0}.project-card p{color:var(--muted);margin:12px 0 26px;font-size:13px;line-height:1.7}.project-card-bottom{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;font-size:11px;font-weight:700;display:flex}.project-card-bottom svg{width:24px;height:24px}.project-card:hover{box-shadow:8px 8px 0 var(--shadow);transform:translate(-3px,-3px)}.project-card:has(a:focus-visible){outline:3px solid var(--ink);outline-offset:6px}.about-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:32px 72px;display:grid}.about-copy{grid-row:span 2}.about-copy h1{font-size:clamp(40px,4.9vw,64px)}.about-body{margin-top:30px}.about-body p+p{margin-top:22px}.about-body p{color:var(--muted);font-size:16px}.about-portrait{padding:32px 12px 0}.about-portrait img{aspect-ratio:1;object-fit:cover;filter:grayscale();border:var(--line);width:100%;box-shadow:10px 10px 0 var(--coral), 12px 12px 0 var(--rule);transform:rotate(3deg)}.about-socials{padding-top:16px}.about-socials li{border-bottom:1px solid var(--rule)}.about-socials a{overflow-wrap:anywhere;align-items:center;gap:15px;min-height:54px;padding:12px 0;font-size:13px;font-weight:700;display:flex}.about-socials a:hover{text-underline-offset:5px;text-decoration:underline}.about-socials a svg{width:22px;height:22px}.reading-page .container-inner{max-width:900px}.reading-header{border-bottom:var(--line);padding-bottom:32px}.back-link{margin-bottom:24px}.reading-header h1{letter-spacing:-.045em;overflow-wrap:anywhere;margin:20px 0 25px;font-size:clamp(38px,5.5vw,68px);line-height:1.08}.reading-date{background:var(--yellow);color:var(--accent-ink);border:var(--line);padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.tag-list{flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.tag-list li{background:var(--surface);border:1px solid var(--rule);overflow-wrap:anywhere;padding:2px 8px}.series-panel{border:var(--line);background:var(--surface);margin-top:25px;padding:20px;font-size:14px}.series-panel>span{font-weight:700}.series-panel li{margin-top:9px}.series-panel a{text-underline-offset:4px;text-decoration:underline}.project-actions{flex-wrap:wrap;gap:16px;margin-top:25px;display:flex}.article-end{margin-top:56px}.article-end .newsletter-panel{margin-bottom:40px}.prose{max-width:100%;color:var(--ink);overflow-wrap:anywhere}.prose :is(h1,h2,h3,h4,strong,th){color:var(--ink)}.prose :is(h2,h3){letter-spacing:-.03em}.prose h2{font-size:30px;line-height:1.2}.prose h3{font-size:24px;line-height:1.3}.prose a{color:var(--ink);-webkit-text-decoration-color:var(--coral);-webkit-text-decoration-color:var(--coral);-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-underline-offset:4px;text-decoration-thickness:2px}.prose a:hover{color:var(--ink);-webkit-text-decoration-color:var(--ink);-webkit-text-decoration-color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.prose :is(ul,ol)>li::marker{color:var(--ink)}.prose :is(img,video){border:var(--line);border-radius:0}.prose img{max-width:100%;height:auto}.prose pre{border:var(--line);box-shadow:5px 5px 0 var(--shadow);border-radius:0;padding:24px;overflow-x:auto}.prose :not(pre)>code{color:var(--ink);background:var(--surface);border:1px solid var(--rule);overflow-wrap:anywhere;border-radius:0;padding:1px 4px;font-size:.85em}.prose blockquote{border:var(--line);background:var(--yellow);color:var(--accent-ink);box-shadow:5px 5px 0 var(--shadow);padding:4px 24px}.prose blockquote p{color:inherit}.prose :is(hr,thead,tr){border-color:var(--rule)}.prose hr{border-top-width:2px;margin-inline:0}.prose figcaption{color:var(--muted)}.prose table{display:block;overflow-x:auto}.prose iframe{border:var(--line);max-width:100%}.prose .callout{border:var(--line);box-shadow:4px 4px 0 var(--shadow);border-radius:0}.newsletter-dialog{width:auto;max-width:none;height:auto;max-height:none;color:var(--ink);background:0 0;position:fixed;inset:0;overflow-y:auto}.newsletter-dialog::backdrop{background:0 0}.newsletter-backdrop{background:#141410a6;position:fixed;inset:0}.newsletter-dialog-position{justify-content:center;align-items:center;min-height:100%;padding:24px;display:flex}.newsletter-dialog-panel{border:var(--line);width:100%;max-width:480px;box-shadow:9px 9px 0 var(--shadow);background:var(--surface);text-align:left;padding:30px;display:block;position:relative}.newsletter-dialog-panel h2{letter-spacing:-1px;margin-top:18px;font-size:33px;line-height:1.1}.newsletter-dialog-panel p{color:var(--muted);margin-top:14px;font-size:14px;line-height:1.7}.email-field{margin-block:24px}.email-field label{margin-bottom:8px;font-size:12px;font-weight:700;display:block}.email-field input{background:var(--paper);width:100%;height:48px;color:var(--ink);border:var(--line);font:inherit;border-radius:0;padding:10px 12px;font-size:14px}.email-field input::placeholder{color:var(--muted)}.dialog-actions{gap:16px;margin-top:26px;display:flex}.dialog-actions .button{flex:1}cap-widget{--cap-widget-width:100%;--cap-border-radius:0;--cap-checkbox-border-radius:0;--cap-background:var(--paper);--cap-color:var(--ink);--cap-border-color:var(--rule);--cap-checkbox-border:var(--line);--cap-checkbox-background:var(--surface);--cap-focus-ring:var(--ink);--cap-font:var(--font-sans);width:min(260px,100%);display:block}.success-panel{border:var(--line);max-width:680px;box-shadow:8px 8px 0 var(--shadow);background:var(--surface);margin-inline:auto;padding:clamp(24px,5vw,48px)}.success-panel h1{letter-spacing:-.05em;font-size:clamp(38px,5vw,56px);line-height:1.05}.success-panel>p{color:var(--muted);margin-top:24px}.success-panel hr{border-top:var(--line);margin-block:30px}.success-panel h2{font-size:25px}.success-panel ul{margin-top:20px;font-size:14px}.success-panel li{gap:12px;margin-top:15px;display:flex}.success-panel li svg{width:20px;height:20px;margin-top:3px}.site-footer{border-top:var(--line);background:var(--yellow);color:var(--accent-ink);margin-top:clamp(72px,10vw,128px);padding:34px 0 24px}.footer-inner{justify-content:space-between;align-items:center;gap:30px;padding-bottom:28px;display:flex}.footer-signature{font-family:var(--font-display);letter-spacing:-1px;font-size:clamp(23px,3vw,36px);font-weight:800;line-height:1}.footer-signature span{margin-left:16px}.footer-inner nav{flex-wrap:wrap;gap:24px;font-size:12px;font-weight:700;display:flex}.footer-inner nav a:hover{text-underline-offset:5px;text-decoration:underline}.footer-bottom{border-top:1px solid var(--accent-ink);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-top:18px;font-size:10px;display:flex}@media (width<=1050px){.container-inner{width:calc(100% - 5rem)}.hero-links{gap:20px}.hero-art{padding-inline:8px}.hero-copy h1{font-size:clamp(54px,7.9vw,82px)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-columns{gap:36px}.about-grid{column-gap:40px}}@media (width<=767px){.container-inner{width:calc(100% - 40px)}.header-inner{min-height:88px}.monogram{width:43px;height:43px;font-size:27px}.wordmark-name{font-size:12px}.header-actions{gap:12px}.menu-toggle{display:inline-flex}.home-hero{padding-top:38px}.hero-grid{grid-template-columns:minmax(0,1fr);gap:46px;padding-bottom:40px}.hero-copy h1{margin-block:22px 28px;font-size:clamp(53px,12vw,86px)}.eyebrow{letter-spacing:1px;font-size:9px}.hero-description{max-width:540px;font-size:15px}.hero-links{gap:20px}.hero-art{justify-self:center;width:min(290px,78%);padding-bottom:22px}.portrait-card{transform:rotate(3deg)}.home-content{padding-top:35px}.home-columns{grid-template-columns:minmax(0,1fr);gap:36px}.home-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px}.newsletter-panel,.resume-panel{padding:21px}.panel-heading h2{font-size:27px}.page-content{padding-top:30px}.page-intro h1{font-size:clamp(40px,9vw,62px)}.page-intro-description{font-size:15px}.project-grid{gap:24px}.about-grid{grid-template-columns:minmax(0,1fr);gap:35px}.about-copy{grid-row:auto}.about-portrait{justify-self:center;width:min(330px,90%);padding-top:4px}.about-socials{padding-top:10px}.reading-header h1{font-size:clamp(36px,8vw,56px)}.prose pre{padding:18px;font-size:12px}.prose h2{font-size:28px}.footer-inner{flex-direction:column;align-items:start;gap:24px}.footer-bottom{font-size:10px}}@media (width<=520px){.project-grid,.home-sidebar{grid-template-columns:minmax(0,1fr)}.section-heading h2{font-size:30px}.hero-links{gap:20px}.hero-links>.button{min-height:44px;padding-inline:12px;font-size:11px}.hero-links .social-links{gap:8px}.social-link{width:36px;height:44px}.newsletter-dialog-position{padding:20px}.newsletter-dialog-panel{padding:22px}.newsletter-dialog-panel h2{font-size:29px}.dialog-actions{gap:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
