@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--theme-wipe-size:0px}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-xl:36rem;--container-3xl:48rem;--text-xs:.75rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, 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;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{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{.invisible{visibility:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.right-0{right:calc(var(--spacing) * 0)}.bottom-\[6px\]{bottom:6px}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.z-50{z-index:50}.mx-auto{margin-inline:auto}.my-5{margin-block:calc(var(--spacing) * 5)}.block{display:block}.flex{display:flex}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-0{height:calc(var(--spacing) * 0)}.h-8{height:calc(var(--spacing) * 8)}.h-\[3px\]{height:3px}.h-\[5px\]{height:5px}.h-\[15px\]{height:15px}.h-full{height:100%}.w-0{width:calc(var(--spacing) * 0)}.w-8{width:calc(var(--spacing) * 8)}.w-\[3px\]{width:3px}.w-\[5px\]{width:5px}.w-\[15px\]{width:15px}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-xl{max-width:var(--container-xl)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.rounded-none{border-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.p-\[3px\]{padding:3px}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.text-\[14px\]{font-size:14px}.text-\[clamp\(1\.6rem\,4vw\,3rem\)\]{font-size:clamp(1.6rem,4vw,3rem)}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.2px\]{--tw-tracking:.2px;letter-spacing:.2px}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-\[var\(--ease\)\]{--tw-ease:var(--ease);transition-timing-function:var(--ease)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media(hover:hover){.hover\:bg-\[var\(--bg-secondary\)\]:hover{background-color:var(--bg-secondary)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:opacity-60:hover{opacity:.6}}}:root{color-scheme:light;--color-paper:oklch(98% .008 60);--color-paper-2:oklch(95% .012 60);--color-paper-3:oklch(92% .014 60);--color-ink:oklch(22% .015 270);--color-ink-2:oklch(48% .012 270);--color-ink-3:oklch(62% .01 270);--color-rule:oklch(88% .008 60);--color-rule-soft:oklch(92% .008 60);--color-accent:oklch(62% .16 25);--color-accent-ink:oklch(98% .008 60);--color-accent-soft:oklch(94% .04 25);--color-focus:oklch(55% .17 25);--color-positive:oklch(65% .14 145);--font-display:"Instrument Serif", "Iowan Old Style", Georgia, serif;--font-body:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4.5rem;--space-3xl:7rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.0625rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:1.875rem;--text-3xl:2.5rem;--text-display-s:clamp(2.25rem, 5vw, 3.5rem);--text-display:clamp(2.75rem, 7vw, 5.25rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--dur-short:.18s;--dur-med:.28s;--dur-long:.42s;--radius-card:10px;--radius-input:6px;--radius-pill:9999px;--measure:38rem;--measure-wide:50rem;--gutter:clamp(1.25rem, 4vw, 2rem)}:root.dark{color-scheme:dark;--color-paper:oklch(18% .012 285);--color-paper-2:oklch(23% .014 285);--color-paper-3:oklch(29% .016 285);--color-ink:oklch(94% .01 65);--color-ink-2:oklch(76% .016 70);--color-ink-3:oklch(60% .018 70);--color-rule:oklch(34% .018 285);--color-rule-soft:oklch(27% .016 285);--color-accent:oklch(72% .145 25);--color-accent-ink:oklch(18% .012 285);--color-accent-soft:oklch(30% .055 25);--color-focus:oklch(76% .16 25);--color-positive:oklch(74% .13 145)}@media(prefers-color-scheme:dark){:root:not(.light){color-scheme:dark;--color-paper:oklch(18% .012 285);--color-paper-2:oklch(23% .014 285);--color-paper-3:oklch(29% .016 285);--color-ink:oklch(94% .01 65);--color-ink-2:oklch(76% .016 70);--color-ink-3:oklch(60% .018 70);--color-rule:oklch(34% .018 285);--color-rule-soft:oklch(27% .016 285);--color-accent:oklch(72% .145 25);--color-accent-ink:oklch(18% .012 285);--color-accent-soft:oklch(30% .055 25);--color-focus:oklch(76% .16 25);--color-positive:oklch(74% .13 145)}}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overflow-x:clip}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:clip}.lenis.lenis-smooth iframe{pointer-events:none}body{min-height:100vh;font-family:var(--font-body);font-size:var(--text-md);color:var(--color-ink);background:var(--color-paper);font-feature-settings:"ss01","ss02","cv11";transition:background-color var(--dur-med) var(--ease-out),color var(--dur-med) var(--ease-out);line-height:1.65;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto;display:block}::selection{background:var(--color-accent-soft);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:2px}@property --theme-wipe-size{syntax:"<length>";inherits:false;initial-value:0}html.theme-is-switching body{transition:none}html.theme-is-switching::view-transition-old(root){animation-duration:.9s;animation-timing-function:var(--ease-out);mix-blend-mode:normal}html.theme-is-switching::view-transition-new(root){animation-duration:.9s;animation-timing-function:var(--ease-out);mix-blend-mode:normal}html.theme-is-switching::view-transition-old(root){animation:none}html.theme-is-switching::view-transition-new(root){--theme-wipe-size:var(--theme-wipe-radius,150vmax);animation:theme-wipe .9s var(--ease-out);-webkit-mask-image:radial-gradient(circle at var(--theme-wipe-x,100%) var(--theme-wipe-y,0),black 0,black max(0px,calc(var(--theme-wipe-size) - 128px)),#000000b8 max(0px,calc(var(--theme-wipe-size) - 48px)),transparent calc(var(--theme-wipe-size) + 96px));mask-image:radial-gradient(circle at var(--theme-wipe-x,100%) var(--theme-wipe-y,0),black 0,black max(0px,calc(var(--theme-wipe-size) - 128px)),#000000b8 max(0px,calc(var(--theme-wipe-size) - 48px)),transparent calc(var(--theme-wipe-size) + 96px))}@keyframes theme-wipe{0%{--theme-wipe-size:0px}to{--theme-wipe-size:var(--theme-wipe-radius,150vmax)}}@media(prefers-reduced-motion:reduce){html.theme-is-switching::view-transition-old(root){animation:none}html.theme-is-switching::view-transition-new(root){animation:none}}.shell{max-width:var(--measure-wide);padding-inline:var(--gutter);margin:0 auto;position:relative}.measure{max-width:var(--measure)}.nav{z-index:20;background:var(--color-paper);animation:nav-drop .56s var(--ease-out) both;transition:transform var(--dur-med) var(--ease-in-out);position:sticky;top:0}.nav.is-hidden{transform:translateY(-101%)}.nav:after{content:"";pointer-events:none;background:linear-gradient(to bottom,var(--color-paper),transparent);inset-inline:0;height:28px;position:absolute;bottom:-28px}@supports (color:color-mix(in lab,red,red)){.nav:after{background:linear-gradient(to bottom,color-mix(in oklch,var(--color-paper) 30%,transparent),transparent)}}@keyframes nav-drop{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.nav{transition:none;animation:none}.nav.is-hidden{opacity:0;pointer-events:none;transform:none}}.nav__row{max-width:var(--measure-wide);padding:var(--space-md) var(--gutter);justify-content:space-between;align-items:baseline;gap:var(--space-md);margin:0 auto;display:flex}.nav__wordmark{font-family:var(--font-display);font-style:italic;font-size:var(--text-xl);letter-spacing:-.01em;color:var(--color-ink);line-height:1}.nav__wordmark:after{content:".";color:var(--color-accent)}.nav__links{gap:var(--space-md);align-items:baseline;display:flex}.nav__actions{align-items:center;gap:var(--space-md);display:flex}.nav__link{font-size:var(--text-sm);color:var(--color-ink-2);transition:color var(--dur-short) var(--ease-out);align-items:baseline;gap:4px;display:inline-flex;position:relative}.nav__link:after{content:"→";font-family:var(--font-mono);transition:transform var(--dur-short) var(--ease-out);font-size:.85em;display:inline-block;transform:translate(0)}.nav__link:hover{color:var(--color-ink)}.nav__link:hover:after{transform:translate(2px)}.theme-toggle{border-radius:var(--radius-pill);width:3.25rem;height:2rem;color:var(--color-ink);transition:transform var(--dur-short) var(--ease-out);background:0 0;border:0;place-items:stretch stretch;padding:0;display:inline-grid}.theme-toggle__track{border:1px solid var(--color-rule);border-radius:inherit;background:radial-gradient(circle at 24% 35%,var(--color-accent),transparent 34%),var(--color-paper-2);display:block;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.theme-toggle__track{background:radial-gradient(circle at 24% 35%,color-mix(in oklch,var(--color-accent) 24%,transparent),transparent 34%),color-mix(in oklch,var(--color-paper-2) 88%,transparent)}}.theme-toggle__track{box-shadow:inset 0 1px 0 var(--color-ink)}@supports (color:color-mix(in lab,red,red)){.theme-toggle__track{box-shadow:inset 0 1px color-mix(in oklch,var(--color-ink) 8%,transparent)}}.theme-toggle__track{transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.theme-toggle__glow{background:linear-gradient(115deg,transparent 20%,var(--color-accent) 44%,transparent 68%);position:absolute;inset:-40% -20%}@supports (color:color-mix(in lab,red,red)){.theme-toggle__glow{background:linear-gradient(115deg,transparent 20%,color-mix(in oklch,var(--color-accent) 26%,transparent) 44%,transparent 68%)}}.theme-toggle__glow{opacity:0;transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-med) var(--ease-out);transform:translate(-38%)}.theme-toggle__thumb{background:var(--color-paper);width:1.5rem;height:1.5rem;box-shadow:0 6px 14px var(--color-ink),inset 0 0 0 1px var(--color-rule);border-radius:50%;place-items:center;display:grid;position:absolute;top:3px;left:3px}@supports (color:color-mix(in lab,red,red)){.theme-toggle__thumb{box-shadow:0 6px 14px color-mix(in oklch,var(--color-ink) 12%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--color-rule) 70%,transparent)}}.theme-toggle__thumb{transition:background-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),transform .42s var(--ease-out);transform:translate(0)rotate(0)}.theme-toggle__icon{transition:opacity var(--dur-short) var(--ease-out),transform .42s var(--ease-out);grid-area:1/1}.theme-toggle__icon--sun{color:var(--color-accent);opacity:1;transform:rotate(0)scale(1)}.theme-toggle__icon--moon{color:var(--color-ink-2);opacity:0;transform:rotate(-90deg)scale(.55)}.theme-toggle.is-dark .theme-toggle__track{background:radial-gradient(circle at 76% 34%,var(--color-accent),transparent 32%),var(--color-paper-3)}@supports (color:color-mix(in lab,red,red)){.theme-toggle.is-dark .theme-toggle__track{background:radial-gradient(circle at 76% 34%,color-mix(in oklch,var(--color-accent) 20%,transparent),transparent 32%),color-mix(in oklch,var(--color-paper-3) 88%,transparent)}}.theme-toggle.is-dark .theme-toggle__thumb{transform:translate(1.375rem)rotate(180deg)}.theme-toggle.is-dark .theme-toggle__icon--sun{opacity:0;transform:rotate(90deg)scale(.55)}.theme-toggle.is-dark .theme-toggle__icon--moon{opacity:1;transform:rotate(0)scale(1)}.theme-toggle:hover{transform:translateY(-1px)}.theme-toggle:hover .theme-toggle__track{border-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.theme-toggle:hover .theme-toggle__track{border-color:color-mix(in oklch,var(--color-accent) 70%,var(--color-rule))}}.theme-toggle:hover .theme-toggle__track{box-shadow:inset 0 1px 0 var(--color-ink),0 8px 24px var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.theme-toggle:hover .theme-toggle__track{box-shadow:inset 0 1px color-mix(in oklch,var(--color-ink) 8%,transparent),0 8px 24px color-mix(in oklch,var(--color-accent) 16%,transparent)}}.theme-toggle:hover .theme-toggle__glow{opacity:1;transform:translate(38%)}.theme-toggle:active{transform:translateY(0)}@media(prefers-reduced-motion:reduce){.theme-toggle,.theme-toggle__track,.theme-toggle__glow,.theme-toggle__thumb,.theme-toggle__icon{transition:none}.theme-toggle:hover,.theme-toggle:hover .theme-toggle__glow{transform:none}}.letter{padding-top:clamp(var(--space-2xl),10vh,var(--space-3xl));padding-bottom:var(--space-2xl)}.avatar{width:84px;height:84px;margin:0 0 var(--space-lg) 0;border:1px solid var(--color-rule);background:var(--color-paper-2);border-radius:50%;position:relative;overflow:hidden}.avatar:after{content:"";border:1px solid var(--color-paper);pointer-events:none;z-index:2;border-radius:50%;position:absolute;inset:-1px}.avatar__blur,.avatar__full{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.avatar__blur{filter:blur(8px)saturate(1.1);z-index:0;transform:scale(1.15)}.avatar__full{opacity:0;z-index:1;transition:opacity .48s var(--ease-out)}.avatar__full.is-loaded{opacity:1}@media(prefers-reduced-motion:reduce){.avatar__full{transition:none}}.salutation{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:var(--text-display);letter-spacing:-.015em;color:var(--color-ink);margin-bottom:var(--space-sm);overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:.05em;min-width:0;line-height:1.02;display:flex}.salutation__line{white-space:nowrap;display:inline-block}.salutation__period{color:var(--color-accent)}.salutation__qualifier{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-ink-2);font-size:clamp(1.5rem,3.2vw,2.5rem);font-style:italic;font-weight:400;line-height:1.1}@media(max-width:560px){.salutation__line{white-space:normal}}.salutation__shine{--salutation-shine-color:oklch(78% .006 270);background-image:linear-gradient(115deg,var(--color-ink) 0%,var(--color-ink) 36%,var(--salutation-shine-color) 50%,var(--color-ink) 64%,var(--color-ink) 100%);color:#0000;-webkit-text-fill-color:transparent;animation:salutation-shine 3.9s var(--ease-out) .9s infinite;background-position:150%;background-size:200%;-webkit-background-clip:text;background-clip:text;margin-block:-.08em -.16em;padding-block:.08em .16em;display:inline-block}:root.dark .salutation__shine{--salutation-shine-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){:root.dark .salutation__shine{--salutation-shine-color:color-mix(in oklch, var(--color-accent) 44%, var(--color-ink))}}@media(prefers-color-scheme:dark){:root:not(.light) .salutation__shine{--salutation-shine-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){:root:not(.light) .salutation__shine{--salutation-shine-color:color-mix(in oklch, var(--color-accent) 44%, var(--color-ink))}}}@keyframes salutation-shine{0%,28%{background-position:150%}78%,to{background-position:-50%}}@media(prefers-reduced-motion:reduce){.salutation__shine{color:var(--color-ink);-webkit-text-fill-color:currentColor;background-image:none;animation:none}}.letter__tagline{font-family:var(--font-display);font-style:italic;font-size:var(--text-xl);letter-spacing:-.01em;color:var(--color-ink-2);margin-bottom:var(--space-xl);max-width:var(--measure);line-height:1.4}.letter__body{font-size:var(--text-md);color:var(--color-ink);max-width:var(--measure);line-height:1.75}.letter__body p+p{margin-top:var(--space-md)}.letter__body em{font-family:var(--font-display);letter-spacing:-.005em;font-size:1.08em;font-style:italic}.letter__body .place{font-family:var(--font-display);font-size:1.05em;font-style:italic}.inline-mark{color:var(--color-ink);background-image:linear-gradient(currentColor,currentColor),linear-gradient(var(--color-ink-3),var(--color-ink-3));transition:background-size .32s var(--ease-out),color var(--dur-short) var(--ease-out);background-position:0 100%,0 100%;background-repeat:no-repeat;background-size:0 1px,100% 1px;align-items:baseline;gap:4px;padding-bottom:1px;font-weight:500;display:inline-flex}.inline-mark:hover{color:var(--color-accent);background-size:100% 1px,100% 1px}.currently{margin-top:var(--space-xl);align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper-2);font-size:var(--text-sm);color:var(--color-ink-2);flex-wrap:wrap;display:inline-flex}.currently__dot{background:var(--color-positive);border-radius:50%;flex-shrink:0;width:7px;height:7px;position:relative}.currently__dot:before{content:"";background:var(--color-positive);opacity:.35;animation:pulse-soft 2.4s var(--ease-in-out) infinite;border-radius:50%;position:absolute;inset:-3px}@keyframes pulse-soft{0%,to{opacity:0;transform:scale(.85)}50%{opacity:.35;transform:scale(1.4)}}@media(prefers-reduced-motion:reduce){.currently__dot:before{opacity:0;animation:none}}.currently__strong{color:var(--color-ink);font-weight:500}.section{padding-block:var(--space-2xl);border-top:1px solid var(--color-rule)}.section--tight{padding-block:var(--space-xl)}.section__head{font-family:var(--font-display);font-style:italic;font-size:var(--text-2xl);letter-spacing:-.01em;color:var(--color-ink);margin-bottom:var(--space-lg);max-width:var(--measure);line-height:1.1}.section__head em{color:var(--color-accent);font-style:italic}.section__intro{max-width:var(--measure);margin:calc(var(--space-sm) * -1) 0 var(--space-lg);color:var(--color-ink-2);font-size:var(--text-base);line-height:1.75}.capability-list{column-gap:var(--space-xl);row-gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.capability-row{padding-top:var(--space-md);border-top:1px solid var(--color-rule)}.problem-item__index{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-ink-3);font-variant-numeric:tabular-nums}.capability-row__tag{width:fit-content;margin:0 0 var(--space-2xs);background:var(--color-accent);border-radius:4px;padding:1px 6px;display:block}@supports (color:color-mix(in lab,red,red)){.capability-row__tag{background:color-mix(in oklch,var(--color-accent) 10%,transparent)}}.capability-row__tag{color:var(--color-accent);font-family:var(--font-mono);letter-spacing:.02em;font-size:.72em;line-height:1.2}.capability-row h3,.problem-item h3{color:var(--color-ink);font-size:var(--text-lg);margin:0;font-weight:500;line-height:1.2}.capability-row p,.problem-item p{margin-top:var(--space-2xs);color:var(--color-ink-2);font-size:var(--text-base);line-height:1.7}.problem-item__title-link{color:inherit;transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out);border-bottom:1px solid #0000;align-items:center;gap:4px;padding-bottom:1px;display:inline-flex}.problem-item__title-link:hover{color:var(--color-accent);border-bottom-color:var(--color-accent)}.problem-list{border-top:1px solid var(--color-rule);flex-direction:column;display:flex}.problem-item{gap:var(--space-md);padding-block:var(--space-md);border-bottom:1px solid var(--color-rule);grid-template-columns:4ch minmax(0,1fr);align-items:start;display:grid}.problem-item:last-child{border-bottom:0}.work-list{gap:var(--space-xl);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.work-list--grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.work-list--grid>li{min-width:0}.work-list--grid .link-preview{width:100%;display:block}.work-item{gap:var(--space-md);grid-template-columns:48px minmax(0,1fr) auto;align-items:start;display:grid;position:relative}.work-item__primary{z-index:1;border-radius:inherit;text-indent:-9999px;background:0 0;position:absolute;inset:0;overflow:hidden}.work-item__primary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.work-item__logo,.work-item__body,.work-item__arrow{pointer-events:none}.work-item__body a,.work-item__case{pointer-events:auto;z-index:2;position:relative}.work-item__logo{place-items:center;width:48px;height:48px;display:grid}.work-item__logo img{object-fit:cover;border-radius:var(--radius-pill);width:100%;height:100%;transition:transform var(--dur-short) var(--ease-out)}.work-item:hover .work-item__logo img{transform:scale(1.04)}.work-item__body{min-width:0}.work-item__name{font-family:var(--font-display);font-style:italic;font-size:var(--text-xl);letter-spacing:-.01em;color:var(--color-ink);margin-bottom:4px;line-height:1.1}.work-item__desc{font-size:var(--text-base);color:var(--color-ink-2);margin-bottom:var(--space-2xs);line-height:1.65}.work-item__arrow{width:34px;height:34px;color:var(--color-ink);border:1px solid var(--color-rule);border-radius:var(--radius-pill);transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),transform var(--dur-med) var(--ease-out);justify-self:end;place-items:center;display:grid;transform:rotate(-8deg)}.work-item:hover .work-item__arrow,.work-item:focus-within .work-item__arrow{color:var(--color-accent);border-color:var(--color-accent);background-color:var(--color-accent-soft);transform:translate(3px,-3px)rotate(0)}.company-row{gap:var(--space-md);padding-block:var(--space-md);border-bottom:1px solid var(--color-rule);grid-template-columns:7ch 1fr auto;grid-template-areas:"year name role";align-items:start;display:grid}.company-row__year{grid-area:year}.company-row__name{grid-area:name}.company-row__role{grid-area:role}.company-row:last-child{border-bottom:0}.company-row__year{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-ink-3);letter-spacing:.02em;font-variant-numeric:tabular-nums;padding-top:4px}.company-row__name{align-items:center;gap:var(--space-2xs);font-size:var(--text-lg);color:var(--color-ink);width:fit-content;min-width:0;transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out);border-bottom:1px solid #0000;padding-bottom:1px;font-weight:500;line-height:1.2;display:flex}.company-row__name:hover{color:var(--color-accent);border-bottom-color:var(--color-accent)}.company-row__logo{opacity:.7;filter:grayscale();width:auto;height:18px;transition:opacity var(--dur-short) var(--ease-out),filter var(--dur-short) var(--ease-out);border-radius:3px}.company-row:hover .company-row__logo{opacity:1;filter:none}.company-row__role{align-items:flex-end;gap:var(--space-2xs);text-align:right;flex-direction:column;padding-top:2px;display:flex}.company-row__role-line{font-family:var(--font-body);font-size:var(--text-md);color:var(--color-ink-2);line-height:1.25}.company-row__sub{align-items:center;gap:var(--space-sm);display:inline-flex}.company-row__place{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-ink-3);font-variant-numeric:tabular-nums}.closing{padding-block:var(--space-2xl) var(--space-xl);border-top:1px solid var(--color-rule)}.closing__line{font-family:var(--font-display);font-style:italic;font-size:var(--text-display-s);letter-spacing:-.01em;color:var(--color-ink);max-width:var(--measure);margin-bottom:var(--space-lg);overflow-wrap:anywhere;min-width:0;line-height:1.1}.closing__line em{color:var(--color-accent);font-style:italic}.closing__ctas{gap:var(--space-lg);flex-wrap:wrap;align-items:baseline;display:flex}.cta{align-items:baseline;gap:var(--space-2xs);font-size:var(--text-lg);color:var(--color-ink);border-bottom:1px solid var(--color-ink-3);transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out);white-space:nowrap;padding-bottom:2px;font-weight:500;display:inline-flex}.cta__arrow{font-family:var(--font-mono);transition:transform var(--dur-short) var(--ease-out);font-size:.8em;display:inline-block}.cta:hover{color:var(--color-accent);border-bottom-color:var(--color-accent)}.cta:hover .cta__arrow{transform:translate(3px)}.cta--soft{color:var(--color-ink-2);border-bottom-color:var(--color-rule)}.signoff{margin-top:var(--space-2xl);color:var(--color-ink-2);font-size:var(--text-base);flex-direction:column;gap:4px;display:flex}.signoff__name{font-family:var(--font-display);font-style:italic;font-size:var(--text-xl);color:var(--color-ink)}.signoff__where{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-ink-3);text-transform:uppercase}.footer{padding-block:var(--space-3xl) var(--space-2xl);background:var(--color-paper-2);margin-top:var(--space-2xl)}.footer__statement{font-family:var(--font-display);letter-spacing:-.015em;color:var(--color-ink);overflow-wrap:anywhere;min-width:0;max-width:14ch;font-size:clamp(2.5rem,7vw,4.5rem);font-style:italic;line-height:1.04}.footer__statement em{color:var(--color-accent);font-style:italic}.footer__meta{margin-top:var(--space-2xl);padding-top:var(--space-md);border-top:1px solid var(--color-rule);justify-content:space-between;align-items:baseline;gap:var(--space-md);flex-wrap:wrap;display:flex}.footer__meta-left,.footer__meta-right{align-items:baseline;gap:var(--space-md);font-size:var(--text-xs);color:var(--color-ink-3);font-family:var(--font-mono);letter-spacing:.02em;display:flex}.footer__link{color:var(--color-ink-2);transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out);border-bottom:1px solid #0000;padding-bottom:1px}.footer__link:hover{color:var(--color-ink);border-bottom-color:var(--color-rule)}.page-fade{animation:page-fade-in .62s var(--ease-out) both}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}.work-item{padding:var(--space-xs);margin-inline:calc(var(--space-xs) * -1);transition:background-color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out);border-radius:8px}.work-item:hover{background-color:var(--color-paper-2);transform:translateY(-1px)}@media(prefers-reduced-motion:reduce){.page-fade{animation:none}.work-item:hover{transform:none}}.section-nav{display:none}@media(min-width:1480px){.section-nav{right:calc(50% + var(--measure-wide) / 2 + var(--gutter) + var(--space-md));top:calc(4.5rem + clamp(var(--space-2xl),10vh,var(--space-3xl)));z-index:15;display:block;position:fixed}.section-nav__identity{margin-bottom:var(--space-sm);flex-direction:column;gap:3px;display:flex}.section-nav__name{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.07em;text-transform:uppercase;color:var(--color-ink);font-weight:600}.section-nav__role{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-ink-3)}.section-nav__list{padding:var(--space-sm) 0;gap:var(--space-xs);border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);flex-direction:column;margin:0;list-style:none;display:flex}.section-nav__item{gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;white-space:nowrap;color:var(--color-ink-3);transition:color var(--dur-short) var(--ease-out);grid-template-columns:2.5ch 1fr;padding:2px 0;display:grid}.section-nav__num{color:var(--color-accent);font-variant-numeric:tabular-nums}.section-nav__item:hover{color:var(--color-ink-2)}.section-nav__item.is-active{color:var(--color-ink)}}@media(min-width:1480px)and (prefers-reduced-motion:reduce){.section-nav__item,.section-nav.is-hidden{transition:none}}@media(max-width:640px){.nav__row{padding-block:var(--space-xs)}.nav__actions,.nav__links{gap:var(--space-sm)}.section{padding-block:var(--space-xl)}.capability-list{gap:var(--space-md);grid-template-columns:1fr}.problem-item{gap:var(--space-xs);grid-template-columns:1fr}.company-row{column-gap:var(--space-sm);row-gap:var(--space-3xs);padding-block:var(--space-sm);grid-template-columns:1fr auto;grid-template-areas:"name role""year role";align-items:start}.company-row__year{padding-top:2px}.company-row__role{padding-top:0}.company-row__role-line{font-size:var(--text-xs)}.company-row__place{font-size:.6875rem}.work-item{column-gap:var(--space-sm);grid-template-columns:40px minmax(0,1fr);grid-template-areas:"logo body";align-items:flex-start;row-gap:0}.work-item__logo{grid-area:logo;align-self:flex-start;width:40px;height:40px}.work-item__body{grid-area:body}.work-item__arrow{display:none}.footer__meta{flex-direction:column;align-items:flex-start}}.case{padding-top:clamp(var(--space-xl),8vh,var(--space-2xl));padding-bottom:var(--space-xl)}.case__back{align-items:center;gap:var(--space-2xs);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-ink-3);text-transform:lowercase;margin-bottom:var(--space-xl);transition:color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out);display:inline-flex}.case__back:hover{color:var(--color-accent);transform:translate(-2px)}.case__header{gap:var(--space-md);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-rule);grid-template-columns:auto 1fr auto;align-items:center;display:grid}.case__logo{object-fit:contain;background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:12px;width:62px;height:62px;padding:6px}.case__head{min-width:0}.case__name{font-family:var(--font-display);font-style:italic;font-size:var(--text-3xl);letter-spacing:-.015em;color:var(--color-ink);margin:0;line-height:1.05}.case__meta{gap:var(--space-2xs) var(--space-xs);margin:var(--space-2xs) 0 0;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-ink-3);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.case__site{align-items:center;gap:var(--space-2xs);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-ink-2);padding:var(--space-2xs) var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius-pill);transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out);white-space:nowrap;display:inline-flex}.case__site:hover{color:var(--color-accent);border-color:var(--color-accent);background-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.case__site:hover{background-color:color-mix(in oklch,var(--color-accent) 6%,transparent)}}.case__intro{margin:var(--space-lg) 0 0;color:var(--color-ink-2);font-size:var(--text-base);line-height:1.75}.company-row__case{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-ink-3);transition:color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out);align-items:center;gap:4px;display:inline-flex}.company-row__case:hover{color:var(--color-accent);transform:translate(2px)}@media(max-width:640px){.case__header{row-gap:var(--space-sm);grid-template-columns:auto 1fr;grid-template-areas:"logo head""site site";align-items:start}.case__logo{border-radius:10px;grid-area:logo;width:48px;height:48px;padding:5px}.case__head{grid-area:head}.case__site{width:100%;padding-block:var(--space-xs);grid-area:site;justify-content:center;justify-self:stretch}.case__name{font-size:var(--text-2xl)}}.link-preview{width:fit-content;display:inline-block}.company-row>.link-preview{grid-area:name}.work-list .link-preview{width:100%;display:block}.link-preview__content{transform-origin:var(--radix-hover-card-content-transform-origin);z-index:50;pointer-events:none}.link-preview__card{background:var(--color-paper);border:1px solid var(--color-rule);width:fit-content;box-shadow:0 12px 32px var(--color-ink),0 2px 6px var(--color-ink);border-radius:12px;padding:4px}@supports (color:color-mix(in lab,red,red)){.link-preview__card{box-shadow:0 12px 32px color-mix(in oklch,var(--color-ink) 18%,transparent),0 2px 6px color-mix(in oklch,var(--color-ink) 10%,transparent)}}.link-preview__media{background:var(--color-paper-2);border-radius:8px;position:relative;overflow:hidden}.link-preview__media:before{content:"";background:linear-gradient(100deg,transparent 20%,var(--color-ink) 50%,transparent 80%);position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.link-preview__media:before{background:linear-gradient(100deg,transparent 20%,color-mix(in oklch,var(--color-ink) 5%,transparent) 50%,transparent 80%)}}.link-preview__media:before{animation:skeleton-sweep 1.4s var(--ease-in-out) infinite;opacity:1;transition:opacity var(--dur-med) var(--ease-out)}.link-preview__media[data-loaded=true]:before{opacity:0;animation:none}.link-preview__media img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity var(--dur-med) var(--ease-out);border-radius:8px;display:block}.link-preview__media[data-loaded=true] img{opacity:1}@keyframes skeleton-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.link-preview__media:before{animation:none}}@media(hover:none){.link-preview__content{display:none}}.letter__marquee{margin-top:var(--space-xl)}.marquee{padding-block:var(--space-sm);position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 7% 93%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 7% 93%,#0000)}.marquee__track{align-items:center;gap:var(--space-xl);width:max-content;margin:0;padding:0;list-style:none;animation:48s linear infinite marquee-scroll;display:flex}.marquee:hover .marquee__track{animation-play-state:paused}.marquee__item{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.marquee__item .tech-icon{vertical-align:0;width:20px;height:20px}.marquee__label{font-family:var(--font-body);font-size:var(--text-md);color:var(--color-ink);white-space:nowrap;line-height:1}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.marquee__track{animation:none}}.metric{color:var(--color-accent);font-family:var(--font-display);letter-spacing:-.005em;white-space:nowrap;background:0 0;font-size:1.06em;font-style:italic;font-weight:500}.work-item--featured{background-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.work-item--featured{background-color:color-mix(in oklch,var(--color-accent) 3%,transparent)}}.work-item--featured{border:1px solid var(--color-rule-soft)}.work-item--featured:hover{background-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.work-item--featured:hover{background-color:color-mix(in oklch,var(--color-accent) 6%,transparent)}}.work-item--featured:hover{border-color:var(--color-rule)}.work-item__head{align-items:center;gap:var(--space-2xs);flex-wrap:wrap;margin-bottom:4px;display:flex}.work-item__badge{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent);border:1px solid var(--color-accent);font-size:.6875rem}@supports (color:color-mix(in lab,red,red)){.work-item__badge{border:1px solid color-mix(in oklch,var(--color-accent) 35%,var(--color-rule))}}.work-item__badge{background:var(--color-accent-soft);border-radius:var(--radius-pill);white-space:nowrap;padding:2px 7px;line-height:1}.work-item__tech{margin:var(--space-xs) 0 0;gap:var(--space-3xs) var(--space-2xs);flex-wrap:wrap;padding:0;list-style:none;display:flex}.work-item__tech li{font-family:var(--font-mono);letter-spacing:.02em;color:var(--color-ink-3);border:1px solid var(--color-rule-soft);border-radius:var(--radius-pill);background:var(--color-paper);white-space:nowrap;padding:2px 7px;font-size:.6875rem;line-height:1.4}.work-item__case{z-index:1;margin-top:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-accent);width:fit-content;transition:border-color var(--dur-short) var(--ease-out);border-bottom:1px solid #0000;align-items:center;gap:4px;padding-bottom:1px;display:inline-flex;position:relative}.work-item__case:hover{border-bottom-color:var(--color-accent)}.work-item__case:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:2px}@media(max-width:880px){.work-list--grid{gap:var(--space-sm);grid-template-columns:1fr}}.tech-icon{vertical-align:-2px;flex-shrink:0;width:14px;height:14px;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.stack-col__list li{align-items:center;display:flex}.work-item__tech li{align-items:center;gap:5px;display:inline-flex}.testimonials{margin-top:var(--space-md);max-width:var(--measure-wide)}.testimonials__list{--testimonials-dur:.72s;gap:var(--space-sm);max-height:760px;transition:max-height var(--testimonials-dur) var(--ease-in-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.testimonials__list.is-expanded{max-height:none}.testimonial-card{gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper-2);display:grid}.testimonial-card__head{align-items:center;gap:var(--space-sm);min-width:0;display:flex}.testimonial-card__company{object-fit:contain;opacity:.75;border-radius:6px;flex:none;width:28px;height:28px;margin-left:auto}.testimonial-card__avatar{object-fit:cover;border-radius:var(--radius-pill);border:1px solid var(--color-rule);background:var(--color-paper-3);flex:none;width:44px;height:44px}.testimonial-card__person{min-width:0}.testimonial-card__name{font-family:var(--font-body);font-size:var(--text-md);color:var(--color-ink);letter-spacing:-.005em;font-weight:500}.testimonial-card__role{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-ink-3);margin-top:2px}.testimonial-card__quote{font-family:var(--font-display);letter-spacing:-.005em;color:var(--color-ink);margin:0;font-size:clamp(1.0625rem,1.6vw,1.25rem);font-style:italic;line-height:1.55}.testimonial-card__quote p{margin:0}.testimonials__fade{pointer-events:none;opacity:1;background:linear-gradient(to bottom,transparent 0%,var(--color-paper) 55%,var(--color-paper) 100%);height:180px;position:absolute;inset:auto 0 0}@supports (color:color-mix(in lab,red,red)){.testimonials__fade{background:linear-gradient(to bottom,transparent 0%,color-mix(in oklch,var(--color-paper) 55%,transparent) 55%,var(--color-paper) 100%)}}.testimonials__fade{transition:opacity var(--testimonials-dur,.72s) var(--ease-out)}.testimonials__list.is-expanded .testimonials__fade{opacity:0}.testimonials__toggle{margin:var(--space-md) auto 0;border:1px solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper);width:40px;height:40px;color:var(--color-ink-2);cursor:pointer;transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out);justify-content:center;align-items:center;padding:0;display:flex}.testimonials__toggle:hover{color:var(--color-accent);border-color:var(--color-accent);background-color:var(--color-accent-soft)}.testimonials__toggle:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.testimonials__toggle svg{transition:transform var(--dur-short) var(--ease-out)}.testimonials__toggle[aria-expanded=true] svg{transform:rotate(180deg)}@media(prefers-reduced-motion:reduce){.testimonials__list,.testimonials__fade,.testimonials__toggle svg{transition:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
