@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/bricolage-grotesque-vietnamese-wght-normal.96a5d80f.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/bricolage-grotesque-latin-ext-wght-normal.232ded7b.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/bricolage-grotesque-latin-wght-normal.3e340e57.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/instrument-sans-latin-ext-wght-normal.7db92424.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/instrument-sans-latin-wght-normal.ae05c57c.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
/*! 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)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--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-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-500:oklch(62.3% .214 259.815);--color-black:#000;--spacing:.25rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-snug:1.375;--radius-xl:.75rem;--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{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:hsl(var(--border))}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-\[1px\]{top:1px}.top-\[60\%\]{top:60%}.top-full{top:100%}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.z-10{z-index:10}.z-50{z-index:50}.z-\[1\]{z-index:1}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.m-5{margin:calc(var(--spacing) * 5)}.m-11{margin:calc(var(--spacing) * 11)}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.my-6{margin-block:calc(var(--spacing) * 6)}.mt-0{margin-top:0}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mr-2{margin-right:calc(var(--spacing) * 2)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-6{margin-left:calc(var(--spacing) * 6)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-full{width:100%;height:100%}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-\[1\.2rem\]{height:1.2rem}.h-\[1px\]{height:1px}.h-\[20px\]{height:20px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-96{max-height:calc(var(--spacing) * 96)}.min-h-\[80vh\]{min-height:80vh}.w-2{width:calc(var(--spacing) * 2)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-\[1\.2rem\]{width:1.2rem}.w-\[1px\]{width:1px}.w-\[70px\]{width:70px}.w-\[100px\]{width:100px}.w-full{width:100%}.w-max{width:max-content}.max-w-max{max-width:max-content}.max-w-sm{max-width:var(--container-sm)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.caption-bottom{caption-side:bottom}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1)}.-translate-x-1\/2,.-translate-y-1\/2{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%}.scale-0,.scale-100{scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%}.rotate-0{rotate:0deg}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:pulse var(--duration) ease-out infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.scroll-m-20{scroll-margin:calc(var(--spacing) * 20)}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.-space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -4) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(var(--spacing) * var(--tw-space-x-reverse));margin-inline-end:calc(var(--spacing) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-accent{border-color:hsl(var(--accent))}.border-input{border-color:hsl(var(--input))}.bg-\[\#007bff\]{background-color:#007bff}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-inherit{background-color:inherit}.bg-muted,.bg-muted\/50{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,hsl(var(--muted)) 50%,transparent)}}.bg-popover{background-color:hsl(var(--popover))}.bg-primary,.bg-primary\/10{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,hsl(var(--primary)) 10%,transparent)}}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-\[0\.3rem\]{padding-inline:.3rem}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-\[0\.2rem\]{padding-block:.2rem}.pt-0{padding-top:0}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-none{--tw-leading:1;line-height:1}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-blue-500{color:var(--color-blue-500)}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.italic{font-style:italic}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-lg{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)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.shadow-md,.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring{--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)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *){rotate:180deg}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.first\:mt-0:first-child{margin-top:0}@media (hover:hover){.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,hsl(var(--destructive)) 90%,transparent)}}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,hsl(var(--muted)) 50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,hsl(var(--secondary)) 80%,transparent)}}.hover\:font-semibold:hover{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px 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)}}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--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)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[active\]\:bg-accent\/50[data-active]{background-color:hsl(var(--accent))}@supports (color:color-mix(in lab,red,red)){.data-\[active\]\:bg-accent\/50[data-active]{background-color:color-mix(in oklab,hsl(var(--accent)) 50%,transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:-13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:-13rem}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-]{--tw-exit-opacity:0}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=hidden\]\:animate-out[data-state=hidden]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=open\]\:bg-accent[data-state=open],.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent))}@supports (color:color-mix(in lab,red,red)){.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:color-mix(in oklab,hsl(var(--accent)) 50%,transparent)}}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=visible\]\:animate-in[data-state=visible]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}@media (min-width:40rem){.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.sm\:text-left{text-align:left}}@media (min-width:48rem){.md\:absolute{position:absolute}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:px-8{padding-inline:calc(var(--spacing) * 8)}}@media (min-width:64rem){.lg\:flex{display:flex}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}:where(.rtl\:space-x-reverse:where(:dir(rtl),[dir=rtl],[dir=rtl] *)>:not(:last-child)){--tw-space-x-reverse:1}.dark\:scale-0:is(.dark *){--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.dark\:scale-100:is(.dark *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.dark\:-rotate-90:is(.dark *){rotate:-90deg}.dark\:rotate-0:is(.dark *){rotate:0deg}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\:not\(\:first-child\)\]\:mt-6:not(:first-child){margin-top:calc(var(--spacing) * 6)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>li\]\:mt-2>li{margin-top:calc(var(--spacing) * 2)}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}:root{--background:120 9.091% 95.686%;--foreground:154.286 9.859% 13.922%;--muted:140 13.043% 90.98%;--muted-foreground:150 6.186% 38.039%;--popover:0 0% 100%;--popover-foreground:154.286 9.859% 13.922%;--card:0 0% 100%;--card-foreground:154.286 9.859% 13.922%;--border:144 10.638% 81.569%;--input:144 10.638% 81.569%;--primary:172.381 45.985% 26.863%;--primary-foreground:0 0% 100%;--secondary:140 13.043% 90.98%;--secondary-foreground:154.286 9.859% 13.922%;--accent:154.286 20% 86.275%;--accent-foreground:154.286 9.859% 13.922%;--ring:172.381 45.985% 26.863%;--destructive:0 70% 44%;--destructive-foreground:0 0% 100%;--radius:.7rem;--display-font:"Bricolage Grotesque Variable",sans-serif;--body-font:"Instrument Sans Variable",sans-serif;--feature-surface:#25453d;--feature-ink:#f3f5f3;--feature-hover:#1e3b34;--newsletter-surface:#d5e3dd;--newsletter-hover:#c8dbd1;--code-surface:#222e29;--code-ink:#edf4f0;--calendar-0:#e5ebe7;--calendar-1:#c3d8cc;--calendar-2:#94bba8;--calendar-3:#5f9380;--calendar-4:#25645c;--page:hsl(var(--background));--surface:hsl(var(--card));--ink:hsl(var(--foreground));--secondary-text:hsl(var(--muted-foreground));--accent-ink:hsl(var(--primary));--accent-fill:hsl(var(--accent));--stroke:hsl(var(--border));--subtle:hsl(var(--muted));color-scheme:light}.dark{--background:160 15.789% 11.176%;--foreground:145.714 24.138% 94.314%;--muted:150 15.094% 20.784%;--muted-foreground:144 10.067% 70.784%;--popover:155 15% 15.686%;--popover-foreground:145.714 24.138% 94.314%;--card:155 15% 15.686%;--card-foreground:145.714 24.138% 94.314%;--border:147 13.158% 29.804%;--input:147 13.158% 29.804%;--primary:162.545 33.333% 67.647%;--primary-foreground:160 15.789% 11.176%;--secondary:150 15.094% 20.784%;--secondary-foreground:145.714 24.138% 94.314%;--accent:156 19.38% 25.294%;--accent-foreground:145.714 24.138% 94.314%;--ring:162.545 33.333% 67.647%;--feature-surface:#344d43;--feature-ink:#edf4f0;--feature-hover:#3d5c50;--newsletter-surface:#2d3d35;--newsletter-hover:#344d43;--code-surface:#222e29;--code-ink:#edf4f0;--calendar-0:#2d3d35;--calendar-1:#3c5f50;--calendar-2:#537f6c;--calendar-3:#74a48d;--calendar-4:#a0ccb7;--page:hsl(var(--background));--surface:hsl(var(--card));--ink:hsl(var(--foreground));--secondary-text:hsl(var(--muted-foreground));--accent-ink:hsl(var(--primary));--accent-fill:hsl(var(--accent));--stroke:hsl(var(--border));--subtle:hsl(var(--muted));color-scheme:dark}*{box-sizing:border-box}html{scroll-padding-top:95px}body{background:var(--page);color:var(--ink);font-family:var(--body-font);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button,summary{touch-action:manipulation}a:hover{color:var(--accent-ink)}button:disabled{cursor:default}:focus-visible{outline:3px solid var(--accent-ink);outline-offset:5px}::selection{background:var(--accent-fill);color:hsl(var(--accent-foreground))}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}h1,h2{font-family:var(--display-font);letter-spacing:-.045em;font-weight:600;line-height:1.1}h1{font-size:clamp(44px,6vw,76px)}h2{font-size:clamp(28px,3vw,38px)}h3{letter-spacing:-.025em;font-size:22px;font-weight:600;line-height:1.25}.skip-link{z-index:100;background:var(--ink);color:var(--page);border-radius:8px;padding:12px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.site-header{z-index:30;position:relative}.header-inner{align-items:center;gap:34px;max-width:1200px;margin:auto;padding:32px 40px;display:flex}.wordmark{font-family:var(--display-font);letter-spacing:-1.3px;align-items:center;gap:5px;font-size:27px;font-weight:700;display:inline-flex}.wordmark-dot{background:var(--accent-ink);border-radius:50%;width:6px;height:6px;margin:14px 0 0 1px}.primary-nav{align-items:center;gap:8px;margin-left:auto;font-size:14px;font-weight:500;display:flex}.primary-nav a{border-radius:24px;padding:9px 17px}.primary-nav a:hover,.primary-nav a[aria-current=page]{background:var(--subtle);color:var(--ink)}.header-actions{align-items:center;gap:12px;display:flex}.menu-toggle,.theme-button{border:1px solid var(--stroke);width:38px;height:38px;color:var(--ink);background:0 0;border-radius:50%;place-items:center;display:grid}.theme-button:hover{background:var(--subtle)}.theme-moon{display:none}.dark .theme-moon{display:block}.dark .theme-sun,.menu-toggle{display:none}.page-shell{outline:none;max-width:1200px;min-height:65vh;margin:auto;padding:0 40px}.portfolio-hero{grid-template-columns:minmax(0,1fr) 360px;align-items:center;gap:70px;padding:70px 0 105px;display:grid}.portfolio-intro h1{letter-spacing:-.075em;margin-left:-7px;font-size:clamp(90px,11.3vw,154px);font-weight:700;line-height:1}.portfolio-role{letter-spacing:-.9px;margin-top:21px;font-size:clamp(25px,2.7vw,35px);font-weight:500;line-height:1.3}.portfolio-bio{max-width:420px;color:var(--secondary-text);margin-top:23px;font-size:17px;line-height:1.7}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px;display:flex}.button-primary,.button-secondary{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:12px 21px;font-size:14px;font-weight:600;display:inline-flex}.button-primary{color:hsl(var(--primary-foreground));background:var(--accent-ink)}.button-primary:hover{color:var(--page);background:var(--ink)}.button-secondary{color:var(--ink);border-color:var(--stroke);background:0 0}.button-secondary:hover{color:var(--ink);background:var(--subtle)}.profile-links{color:var(--secondary-text);flex-wrap:wrap;align-items:center;gap:25px;margin-top:27px;font-size:13px;display:flex}.profile-links a{align-items:center;gap:8px;display:inline-flex}.x-symbol{font-family:Arial,sans-serif;font-size:19px;line-height:1}.portrait-composition{justify-self:end;width:340px;margin:8px 18px 0 0;position:relative}.portrait{object-fit:cover;object-position:50% 44%;border-radius:120px 28px 28px;width:340px;height:388px;display:block;position:relative}.portrait-backplate{background:var(--accent-fill);border-radius:120px 28px 28px;position:absolute;inset:20px -20px -20px 20px}.section-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;display:flex}.text-link{text-decoration:underline;-webkit-text-decoration-color:var(--stroke);text-decoration-color:var(--stroke);text-underline-offset:5px;align-items:center;gap:7px;font-size:14px;font-weight:500;display:inline-flex}.selected-work{padding:5px 0 65px}.selected-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;display:grid}.portfolio-project{min-width:0}.project-image-link{background:var(--surface);border-radius:12px;display:block;overflow:hidden}.project-image-link img{aspect-ratio:1.51;object-fit:cover;width:100%;height:auto;display:block}.project-card-heading{justify-content:space-between;align-items:baseline;gap:15px;margin:21px 0 10px;display:flex}.project-card-heading :is(h2,h3){font-family:var(--display-font);font-size:22px;font-weight:600}.portfolio-project .project-summary{color:var(--secondary-text);max-width:48ch;font-size:14px}.project-stack{color:var(--secondary-text);flex-wrap:wrap;gap:8px 16px;margin-top:16px;font-size:12px;display:flex}.contact-strip{border-top:1px solid var(--stroke);justify-content:space-between;align-items:center;gap:30px;margin:12px 0 45px;padding:34px 0;display:flex}.contact-strip h2{font-size:31px}.site-footer{border-top:1px solid var(--stroke);align-items:center;gap:40px;max-width:1120px;margin:0 auto;padding:27px 0 34px;font-size:12px;display:flex}.footer-name{font-family:var(--display-font);letter-spacing:-.5px;font-size:20px;font-weight:600}.site-footer nav{color:var(--secondary-text);flex-wrap:wrap;align-items:center;gap:25px;display:flex}.footer-domain{color:var(--secondary-text);margin-left:auto}.page-heading{max-width:830px;padding:65px 0 45px}.page-heading h1{margin-bottom:25px}.lead{max-width:62ch;font-size:21px;line-height:1.65}.back-link,.lead{color:var(--secondary-text)}.back-link{text-underline-offset:4px;margin-bottom:25px;font-size:13px;text-decoration:underline;display:inline-block}.about-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:center;gap:95px;padding:90px 0 110px;display:grid}.about-layout h1{margin-bottom:30px}.about-layout .lead{max-width:31ch;color:var(--ink);font-size:25px}.about-copy{max-width:47ch;color:var(--secondary-text);margin-top:25px;font-size:16px}.about-copy p+p{margin-top:18px}.about-copy a{color:var(--ink);text-underline-offset:4px;text-decoration:underline}.about-portrait{object-fit:cover;border-radius:100px 24px 24px;width:320px;height:360px}.projects-section{padding-bottom:75px}.project-toolbar{justify-content:space-between;align-items:center;gap:20px;margin:0 0 40px;display:flex}.filters{flex-wrap:wrap;gap:8px;display:flex}.filters button{color:var(--secondary-text);background:0 0;border:0;border-radius:24px;padding:9px 15px;font-size:13px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--page)}.filters button:hover{background:var(--subtle);color:var(--ink)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;display:grid}.project-record{border:1px solid var(--stroke);border-radius:12px;min-width:0;padding:30px}.project-category{color:var(--secondary-text);font-size:12px}.project-record h2{margin:12px 0;font-size:25px;line-height:1.2}.project-record>p{color:var(--secondary-text);max-width:50ch;font-size:15px}.project-record-links{align-items:center;gap:22px;margin-top:30px;font-size:13px;display:flex}.project-record-links a{text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:var(--stroke);text-decoration-color:var(--stroke)}.project-detail-image{background:#000;border-radius:14px;margin:0 0 40px;overflow:hidden}.project-detail-image img{width:100%;height:auto;display:block}.project-description{max-width:700px;color:var(--secondary-text);padding-bottom:90px;font-size:17px;line-height:1.8}.contact-page{padding:80px 0 100px}.contact-page h1{margin-bottom:25px;font-size:clamp(60px,8vw,100px)}.contact-email{width:fit-content;font-family:var(--display-font);letter-spacing:-1.6px;border-bottom:2px solid var(--stroke);align-items:center;gap:30px;margin-top:60px;padding-bottom:18px;font-size:clamp(29px,4.4vw,56px);font-weight:500;display:flex}.contact-email svg{width:31px;height:31px}.contact-socials{gap:60px;margin-top:50px;display:flex}.contact-socials a{color:var(--secondary-text);align-items:center;gap:15px;font-size:13px;display:flex}.contact-socials strong{color:var(--ink);margin-top:3px;font-size:18px;font-weight:500;display:block}.contact-socials .x-symbol{color:var(--ink);font-size:24px}.empty-state{border-top:1px solid var(--stroke);max-width:700px;margin:5px 0 95px;padding:30px 0}.empty-state p{color:var(--secondary-text);margin-bottom:20px}.prose{overflow-wrap:anywhere;max-width:720px;padding-bottom:60px;font-size:18px;line-height:1.85}.prose p{margin-bottom:24px}.prose h2{margin:40px 0 22px;scroll-margin-top:30px;font-size:30px}.prose a{text-underline-offset:4px;text-decoration:underline}.prose ol{padding-left:23px;list-style:decimal}.prose ul{padding-left:23px;list-style:outside}.prose li{margin-bottom:15px;padding-left:5px}.prose pre{background:var(--code-surface);max-width:100%;color:var(--code-ink);border-radius:9px;margin:25px 0;padding:22px;overflow-x:auto}.prose code{background:var(--subtle);border-radius:3px;padding:3px 5px;font-family:ui-monospace,monospace;font-size:.8em}.prose pre code{color:inherit;background:0 0;padding:0}.prose picture{display:block}.prose picture img{border-radius:9px;width:100%;height:auto;display:block}.prose p:has(picture)+p{color:var(--secondary-text);font-size:13px;line-height:1.6}.review-banner{background:var(--subtle);border-radius:9px;flex-direction:column;gap:4px;margin-top:20px;padding:16px 20px;font-size:12px;display:flex}.article-heading{max-width:900px;margin:60px auto 40px}.article-heading h1{letter-spacing:-.045em;margin:25px 0;font-size:clamp(38px,5vw,64px)}.eyebrow{font-weight:500}.article-byline,.eyebrow{color:var(--secondary-text);font-size:13px}.article-byline{border-bottom:1px solid var(--stroke);flex-wrap:wrap;gap:20px;padding:15px 0;display:flex}.article-layout{grid-template-columns:180px minmax(0,720px);gap:55px;max-width:1000px;margin:auto;display:grid}.article-toc nav{color:var(--secondary-text);flex-direction:column;gap:18px;margin-top:20px;font-size:12px;display:flex}.article-body{min-width:0}.article-end{border-top:1px solid var(--stroke);max-width:720px;margin:0 auto 70px;padding-top:30px}.article-end h2{margin:15px 0}.article-end>p{color:var(--secondary-text);margin-bottom:20px;font-size:14px}.article-end details{color:var(--secondary-text);overflow-wrap:anywhere;margin-top:30px;font-size:12px}.article-end summary{cursor:pointer;margin-bottom:15px}.contracts-table{width:100%;min-width:0;padding-bottom:70px}.contracts-table a{color:var(--accent-ink)}#main-content>h1{margin-bottom:25px;padding-top:60px}#main-content>p{margin-bottom:16px}@media (min-width:1440px){.portfolio-hero{padding-top:85px;padding-bottom:115px}}@media (max-width:1199px){.site-footer{margin-left:40px;margin-right:40px}.portfolio-hero{grid-template-columns:minmax(0,1fr) 310px;gap:45px}.portrait,.portrait-composition{width:290px}.portrait{height:340px}.portfolio-role{font-size:29px}.about-layout{gap:45px}}@media (max-width:850px){.portfolio-hero{grid-template-columns:minmax(0,1fr) 260px;gap:30px;padding-top:55px}.portrait,.portrait-composition{width:240px}.portrait{height:290px}.portrait,.portrait-backplate{border-top-left-radius:90px}.portfolio-intro h1{font-size:104px}.portfolio-role{font-size:25px}.portfolio-bio{font-size:16px}.project-card-heading{flex-direction:column;align-items:start;gap:7px}.about-layout{grid-template-columns:1fr 240px}.about-portrait{width:240px;height:290px}.project-toolbar{flex-direction:column;align-items:start}.article-layout{display:block}.article-toc{border-bottom:1px solid var(--stroke);margin-bottom:35px;padding-bottom:25px}.article-toc nav{gap:12px;font-size:13px}}@media (max-width:700px){.header-inner{gap:16px;padding:24px}.primary-nav{gap:0}.primary-nav a{padding:8px 12px;font-size:13px}.page-shell{padding:0 24px}.portfolio-hero{flex-direction:column;align-items:start;gap:52px;padding:35px 0 65px;display:flex}.portfolio-intro{width:100%}.portfolio-intro h1{font-size:115px}.portfolio-role{margin-top:17px;font-size:29px}.portfolio-bio{max-width:36ch;margin-top:19px}.hero-actions{margin-top:26px}.profile-links{margin-top:24px}.portrait-composition{align-self:center;width:255px;margin:0 30px 15px 0}.portrait{border-radius:92px 24px 24px;width:255px;height:280px}.portrait-backplate{border-radius:92px 24px 24px;inset:14px -14px -14px 14px}.section-heading{gap:15px;margin-bottom:24px}.section-heading h2{font-size:28px}.section-heading .text-link{font-size:12px}.project-grid,.selected-project-grid{grid-template-columns:1fr;gap:38px}.selected-work{padding-bottom:35px}.project-card-heading{flex-direction:row;align-items:baseline;gap:12px}.project-card-heading :is(h2,h3){font-size:21px}.contact-strip{flex-direction:column;align-items:start;gap:24px;margin:10px 0 25px;padding:30px 0}.contact-strip h2{font-size:30px}.site-footer{flex-wrap:wrap;gap:23px;margin:0 24px;padding:24px 0}.site-footer nav{gap:20px}.footer-domain{display:none}.footer-name{width:100%}.page-heading{padding:40px 0 35px}.page-heading h1{margin-bottom:22px}.lead{font-size:19px}.about-layout{flex-direction:column;align-items:start;gap:45px;padding:50px 0 70px;display:flex}.about-layout .lead{font-size:23px}.about-portrait{align-self:center;width:255px;height:280px}.project-grid{gap:22px}.project-record{padding:25px}.project-detail-image{margin-bottom:28px}.project-description{padding-bottom:65px;font-size:16px}.contact-page{padding:50px 0 85px}.contact-email{letter-spacing:-1px;gap:18px;margin-top:45px}.contact-email svg{width:25px;height:25px}.contact-socials{gap:40px}.article-heading{margin:40px auto 30px}.article-heading h1{font-size:40px}.prose{font-size:17px}.prose h2{font-size:29px}.empty-state{margin-bottom:70px}}@media (max-width:480px){.header-inner{flex-wrap:wrap;justify-content:space-between}.wordmark{font-size:25px}.header-actions{gap:10px;margin-left:auto}.menu-toggle{display:grid}.primary-nav{order:3;width:100%;margin-top:12px;display:none}.primary-nav.is-open{background:var(--surface);border-radius:12px;flex-direction:column;align-items:stretch;gap:5px;padding:8px;display:flex}.primary-nav a{border-radius:7px;padding:12px 14px}.portfolio-intro h1{margin-left:-4px;font-size:clamp(85px,25vw,112px)}.portfolio-role{font-size:26px}.portfolio-bio{font-size:16px}.project-card-heading{flex-direction:column;gap:8px}.project-stack{margin-top:12px}.contact-email{gap:15px;font-size:31px}.contact-socials{gap:30px}.filters{gap:4px}.filters button{padding:8px 11px;font-size:12px}.article-heading h1{font-size:37px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.brand-icon{flex:none;width:18px;height:18px;display:inline-flex}.brand-icon svg{width:100%;height:100%}.source-cover{min-height:270px;color:var(--code-ink);border-radius:12px;flex-direction:column;justify-content:space-between;padding:25px;display:flex;overflow:hidden}.cover-playground,.source-cover{background:var(--code-surface)}.cover-api,.cover-finance,.cover-telegram{background:var(--accent-fill);color:var(--ink)}.cover-file{align-items:center;gap:10px;min-width:0;font-size:11px;display:flex}.cover-file>span:first-of-type{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cover-kind{opacity:.8;white-space:nowrap;margin-left:auto;font-size:10px}.source-cover pre{white-space:pre;letter-spacing:-.25px;min-width:0;max-width:100%;margin:26px 0;font:12px/1.85 ui-monospace,monospace;overflow-x:auto}.cover-tags{opacity:.85;flex-wrap:wrap;gap:15px;font-size:10px;display:flex}.cover-expanded{min-height:310px;margin-bottom:40px;padding:35px}.cover-expanded pre{font-size:15px}.selected-project-grid{gap:40px 32px}.project-evidence,.project-scope{margin-top:40px}.project-evidence h2,.project-scope h2{color:var(--ink);margin-bottom:20px;font-size:28px}.project-scope ul{padding-left:20px;list-style:outside}.project-scope li{margin-bottom:8px}.project-evidence>div{gap:10px;display:grid}.project-evidence a{border:1px solid var(--stroke);border-radius:9px;flex-direction:column;gap:4px;padding:15px 18px;display:flex}.project-evidence strong{color:var(--ink);font-size:14px;font-weight:500}.project-evidence span{overflow-wrap:anywhere;font-size:12px}.github-section{padding:20px 0 65px}.github-calendar-panel{background:var(--surface);border-radius:15px;padding:28px}.github-overview{justify-content:space-between;align-items:center;gap:25px;margin-bottom:26px;display:flex}.github-overview>div:first-child{align-items:baseline;gap:13px;display:flex}.github-overview>div:first-child>strong{font:600 38px/1 var(--display-font);letter-spacing:-1.8px}.github-overview>div:first-child>span{color:var(--secondary-text);font-size:13px}.repo-count{color:var(--secondary-text);align-items:center;gap:8px;font-size:12px;display:flex}.repo-count strong{color:var(--ink);font-weight:600}.calendar-scroll{padding:5px 1px;overflow-x:auto}.calendar-chart{min-width:786px}.calendar-months{color:var(--secondary-text);margin-bottom:9px;font-size:10px}.calendar-days,.calendar-months{grid-template-columns:repeat(53,minmax(0,1fr));display:grid}.calendar-days{grid-template-rows:repeat(7,12px);grid-auto-flow:column;gap:4px}.calendar-days>span,.calendar-legend i{background:var(--calendar-0);border-radius:2px;display:block}.calendar-days [data-level="1"],.calendar-legend [data-level="1"]{background:var(--calendar-1)}.calendar-days [data-level="2"],.calendar-legend [data-level="2"]{background:var(--calendar-2)}.calendar-days [data-level="3"],.calendar-legend [data-level="3"]{background:var(--calendar-3)}.calendar-days [data-level="4"],.calendar-legend [data-level="4"]{background:var(--calendar-4)}.calendar-legend{color:var(--secondary-text);justify-content:end;align-items:center;gap:5px;margin-top:13px;font-size:10px;display:flex}.calendar-legend i{width:11px;height:11px}.calendar-legend>span:first-child{margin-right:4px}.calendar-legend>span:last-child{margin-left:4px}.calendar-breakdown{color:var(--secondary-text);margin-top:8px;font-size:11px}.calendar-breakdown summary{cursor:pointer;width:fit-content}.calendar-breakdown dl{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin-top:15px;padding:16px 0;display:grid}.calendar-breakdown dl>div{gap:10px;display:flex}.calendar-breakdown dd{color:var(--ink);margin:0}.github-sync{border-top:1px solid var(--stroke);color:var(--secondary-text);justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:16px;font-size:10px;display:flex}.github-detail-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:55px;padding-top:30px;display:grid}.github-detail-grid h3{align-items:center;gap:10px;margin-bottom:18px;font-size:17px;display:flex}.github-commits ol{margin:0;padding:0;list-style:none}.github-commits li+li{border-top:1px solid var(--stroke)}.github-commits li a{padding:15px 0;display:block}.github-commits li:first-child a{padding-top:0}.commit-message{overflow-wrap:anywhere;font-size:13px;line-height:1.6;display:block}.commit-meta{color:var(--secondary-text);flex-wrap:wrap;gap:12px;margin-top:7px;font-size:11px;display:flex}.github-languages>p{color:var(--secondary-text);margin-top:-7px;font-size:12px}.language-bar{border-radius:5px;gap:3px;height:10px;margin:20px 0;display:flex;overflow:hidden}.github-languages i[data-tone="0"],.language-bar [data-tone="0"]{background:#25645c}.github-languages i[data-tone="1"],.language-bar [data-tone="1"]{background:#60978b}.github-languages i[data-tone="2"],.language-bar [data-tone="2"]{background:#4d7a99}.github-languages i[data-tone="3"],.language-bar [data-tone="3"]{background:#a5865d}.github-languages i[data-tone="4"],.language-bar [data-tone="4"]{background:#8a9690}.github-languages ul{color:var(--secondary-text);gap:10px;padding:0;font-size:12px;list-style:none;display:grid}.github-languages li{justify-content:space-between;align-items:center;display:flex}.github-languages li>span:first-child{align-items:center;gap:8px;display:flex}.github-languages i{border-radius:50%;width:8px;height:8px;display:block}.activity-empty{color:var(--secondary-text);padding:20px 0;font-size:14px}.publication-section{padding:5px 0 65px}.publication-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.publication-card{border-radius:15px;align-items:start;gap:19px;min-height:240px;padding:30px;display:flex;position:relative;overflow:hidden}.blog-card{background:var(--feature-surface);color:var(--feature-ink)}.blog-card:hover{color:#fff;background:var(--feature-hover)}.newsletter-card{background:var(--newsletter-surface);color:var(--ink)}.newsletter-card:hover{color:var(--ink);background:var(--newsletter-hover)}.publication-card>svg{flex-shrink:0;margin-top:5px}.publication-card>div{z-index:1;position:relative}.publication-card h3{font:600 29px/1.2 var(--display-font);margin-bottom:13px}.publication-card p{max-width:29ch;font-size:14px;line-height:1.75}.publication-action{text-underline-offset:5px;margin-top:25px;font-size:12px;text-decoration:underline;display:block}.publication-destination{background:var(--surface);border-radius:17px;align-items:start;gap:30px;max-width:850px;padding:42px;display:flex}.destination-icon{background:var(--subtle);width:70px;height:70px;color:var(--accent-ink);border-radius:18px;flex-shrink:0;place-items:center;display:grid}.publication-destination h2{margin:5px 0 15px;font-size:33px}.publication-destination p{color:var(--secondary-text);max-width:47ch;font-size:16px}.publication-destination .destination-placeholder{color:var(--ink);background:var(--subtle);border-radius:7px;width:fit-content;margin-top:26px;padding:10px 15px;font-size:13px}.publication-destination .button-primary{margin-top:25px}.publication-followup{max-width:750px;padding:45px 0 75px}.publication-followup h2{margin-bottom:18px;font-size:28px}.publication-followup>p{color:var(--secondary-text);max-width:56ch;margin-bottom:20px;font-size:15px}@media (max-width:850px){.cover-kind{display:none}.source-cover{padding:20px}.source-cover pre{font-size:11px}.github-overview>div:first-child{flex-direction:column;align-items:start;gap:8px}.github-detail-grid{gap:30px}.publication-card{gap:14px;padding:25px}.publication-card h3{font-size:26px}}@media (max-width:700px){.header-inner{flex-wrap:wrap;justify-content:space-between}.header-actions{margin-left:auto}.menu-toggle{display:grid}.primary-nav{order:3;width:100%;margin-top:12px;display:none}.primary-nav.is-open{background:var(--surface);border-radius:12px;flex-direction:column;align-items:stretch;gap:5px;padding:8px;display:flex}.primary-nav a{border-radius:7px;padding:12px 14px}.github-calendar-panel{padding:20px}.github-overview{align-items:start;gap:15px}.github-overview>div:first-child>strong{font-size:34px}.github-overview>div:first-child>span,.repo-count{font-size:11px}.repo-count{gap:6px;margin-top:5px}.repo-count>span{flex-direction:column;display:flex}.github-detail-grid{grid-template-columns:1fr;gap:25px}.github-section{padding-bottom:45px}.publication-grid{grid-template-columns:1fr;gap:20px}.publication-card{min-height:210px;padding:27px}.publication-card h3{font-size:29px}.publication-section{padding-bottom:40px}.publication-destination{flex-direction:column;gap:24px;padding:28px}.publication-destination h2{font-size:30px}.destination-icon{border-radius:14px;width:57px;height:57px}.source-cover{min-height:245px;padding:22px}.source-cover pre{font-size:11px}.cover-kind{font-size:9px;display:block}.cover-file{font-size:10px}.cover-expanded pre{font-size:11px}}.selected-project-grid.featured-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.featured-three .project-image-link{align-items:stretch;height:235px;display:flex}.featured-three .project-image-link>img{object-fit:contain;background:var(--surface);width:100%;height:100%}.featured-three .source-cover{width:100%;height:235px;min-height:235px;padding:22px}.featured-three .cover-kind{display:none}.featured-three .project-card-heading :is(h2,h3){font-size:24px}@media (max-width:900px){.selected-project-grid.featured-three{grid-template-columns:1fr;gap:35px}.featured-three .project-image-link,.featured-three .source-cover{height:260px}}.featured-three .project-image-link>img{background:#000}.portfolio-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px}.portfolio-card-grid .project-image-link{aspect-ratio:16/9;background:#080c16}.portfolio-card-grid .project-image-link img{aspect-ratio:auto;object-fit:contain;background:#000;width:100%;height:100%}.portfolio-card-grid .project-card-heading{margin:22px 0 12px}.portfolio-card-grid .project-card-heading :is(h2,h3){font-size:27px;line-height:1.2}.portfolio-card-grid .project-summary{max-width:51ch}.project-detail-link{margin-top:20px}.booking-nav{background:var(--ink);color:var(--page);white-space:nowrap;border-radius:24px;padding:10px 17px;font-size:13px;font-weight:600}.booking-nav:hover{color:hsl(var(--primary-foreground));background:var(--accent-ink)}.skip-link:hover{color:var(--page)}.contact-strip-actions{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.booking-contact{margin-top:32px}.booking-contact+.contact-email{margin-top:36px}@media (max-width:1050px){.header-inner{flex-wrap:wrap;justify-content:space-between;gap:16px}.header-actions{margin-left:auto}.menu-toggle{display:grid}.primary-nav{order:3;width:100%;margin-top:12px;display:none}.primary-nav.is-open{background:var(--surface);border-radius:12px;flex-direction:column;align-items:stretch;gap:5px;padding:8px;display:flex}.primary-nav a{border-radius:7px;padding:12px 14px}}@media (max-width:700px){.portfolio-card-grid{grid-template-columns:1fr;gap:38px}.booking-nav{padding:10px 13px}.header-actions{gap:8px}}.project-sort{white-space:nowrap;color:var(--secondary-text);align-items:center;gap:10px;font-size:13px;display:flex}.project-sort select{color:var(--ink);background:var(--surface);border:1px solid var(--stroke);font:inherit;border-radius:10px;padding:10px 30px 10px 12px}.project-index-meta{color:var(--secondary-text);flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin:-18px 0 28px;font-size:12px;display:flex}.project-toolbar{align-items:start}.project-toolbar .filters{gap:4px}@media (max-width:1000px){.project-toolbar{flex-direction:column}}.portfolio-group+.portfolio-group{margin-top:64px}.portfolio-group-heading{margin-bottom:30px;font-size:30px}.lab-overview{padding:5px 0 55px}.lab-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;display:grid}.lab-overview-grid h3{margin:14px 0 10px}.lab-overview-grid .lab-summary{color:var(--secondary-text);max-width:39ch;font-size:14px}.lab-status{color:var(--accent-ink);align-items:center;font-size:12px;font-weight:600;display:inline-flex}.portfolio-card-grid .lab-status{margin:0 0 10px}.lab-status-line{color:var(--secondary-text);flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:22px;font-size:12px;display:flex}.earlier-work-preview{border-top:1px solid var(--stroke);justify-content:space-between;align-items:center;gap:28px;padding:35px 0 55px;display:flex}.earlier-work-preview h2{margin-bottom:20px;font-size:27px}.earlier-work-preview h3{margin-bottom:10px;font-size:22px}.earlier-work-preview p{max-width:58ch;color:var(--secondary-text);font-size:14px}.earlier-work-preview>a{flex-shrink:0}.project-contribution{color:var(--accent-ink);margin-top:20px;font-size:14px}.case-architecture{background:var(--subtle);border-radius:12px;gap:25px;margin-top:25px;padding:25px;display:grid}.case-architecture h3,.case-decision h3{color:var(--ink);margin-bottom:12px;font-size:22px}.case-architecture p{font-size:16px}.case-decision{margin-top:28px}@media (max-width:700px){.lab-overview-grid{grid-template-columns:1fr;gap:28px}.earlier-work-preview{flex-direction:column;align-items:start}.portfolio-group-heading{font-size:27px}.case-architecture{padding:22px}}.service-connections{margin-bottom:54px}.service-connections h2{margin-bottom:20px;font-size:29px}.service-connections details{border-top:1px solid var(--stroke)}.service-connections details:last-child{border-bottom:1px solid var(--stroke)}.service-connections summary{cursor:pointer;padding:20px 0;font-size:16px;font-weight:500}.service-connections summary::marker{color:var(--accent-ink)}.service-flow{margin:24px 0 44px}.service-flow-path{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;column-gap:34px;margin:0;padding:0;list-style:none;display:grid}.service-flow-path>li{background:var(--surface);border:1px solid var(--stroke);border-radius:9px;padding:22px 16px;position:relative}.service-flow-path>li:not(:last-child):after{content:"";background:var(--accent-ink);clip-path:polygon(0 43%,80% 43%,80% 0,100% 50%,80% 100%,80% 57%,0 57%);width:34px;height:10px;position:absolute;top:50%;left:calc(100% + 1px);transform:translateY(-50%)}.service-flow-path strong{margin-bottom:9px;font-size:15px;font-weight:600;display:block}.service-flow-path span{color:var(--secondary-text);font-size:13px;line-height:1.65;display:block}.service-flow-path span+span{margin-top:10px}.service-flow figcaption{max-width:65ch;color:var(--secondary-text);margin-top:16px;font-size:13px}.home-control-path{grid-template-columns:1.25fr 1fr 1.25fr}.home-control-path>li:nth-child(2){background:var(--subtle);border-color:#0000;flex-direction:column;justify-content:center;display:flex}@media (max-width:700px){.service-flow-path{grid-template-columns:1fr;gap:30px}.service-flow-path>li{padding:17px 20px}.service-flow-path>li:not(:last-child):after{width:30px;top:100%;left:50%;transform:translate(-50%,10px)rotate(90deg)}}.homelab-hero{grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:66px 0 40px;display:grid}.homelab-hero h1{margin-bottom:26px;font-size:clamp(52px,6.5vw,84px);line-height:1.02}.homelab-hero .homelab-lead{max-width:29ch;color:var(--ink);margin-bottom:18px;font-size:23px;line-height:1.45}.homelab-hero p:last-child{color:var(--secondary-text);max-width:47ch;font-size:15px}.lab-equipment-art{width:100%;height:auto;color:var(--accent-ink);display:block}.equipment-register{border-block:1px solid var(--stroke);grid-template-columns:1fr 1fr;gap:42px;margin:0 0 50px;padding:27px 0;display:grid}.equipment-register dt{color:var(--secondary-text);margin-bottom:8px;font-size:13px}.equipment-register dd{margin:0}.equipment-register strong{font-family:var(--display-font);letter-spacing:-.025em;font-size:24px;font-weight:600;display:block}.equipment-register span{color:var(--secondary-text);margin-top:7px;font-size:13px;display:block}.single-equipment{grid-template-columns:1fr;max-width:720px}.lab-use-cases{grid-template-columns:1fr 1fr;gap:60px;margin-bottom:52px;display:grid}.lab-use-cases h2{margin-bottom:17px;font-size:29px}.lab-use-cases p{color:var(--secondary-text);max-width:52ch;margin-bottom:22px;font-size:15px}.home-automation-feature{background:var(--subtle);border-radius:15px;grid-template-columns:.8fr 1.3fr;gap:45px;margin:0 0 58px;padding:34px;display:grid}.home-automation-feature h2{margin-bottom:16px;font-size:31px}.home-automation-feature p{color:var(--secondary-text);max-width:26ch;font-size:15px}.home-automation-feature dl{grid-template-columns:1fr 1fr;gap:24px 28px;margin:0;display:grid}.home-automation-feature dt{margin-bottom:5px;font-size:14px;font-weight:600}.home-automation-feature dd{color:var(--secondary-text);margin:0;font-size:13px}.lab-reference-grid{grid-template-columns:1fr 1fr;gap:60px;margin-bottom:55px;display:grid}.lab-reference-grid h2{margin-bottom:24px;font-size:27px}.selected-lab-services dl{margin:0}.selected-lab-services dl>div{border-bottom:1px solid var(--stroke);grid-template-columns:105px 1fr;gap:15px;padding:12px 0;font-size:14px;display:grid}.selected-lab-services dt{font-weight:500}.selected-lab-services dd{color:var(--secondary-text);margin:0}.lab-practical-notes ul{color:var(--secondary-text);max-width:55ch;margin:0 0 24px;padding-left:19px;font-size:14px}.lab-practical-notes li{margin-bottom:17px;padding-left:3px}.lab-practical-notes strong{color:var(--ink);font-weight:600}.lab-profile-links{border-top:1px solid var(--stroke);flex-wrap:wrap;gap:24px 32px;padding:25px 0 50px;font-size:14px;display:flex}.lab-profile-links a{text-decoration:underline;-webkit-text-decoration-color:var(--stroke);text-decoration-color:var(--stroke);text-underline-offset:5px}.lab-note-copy{max-width:65ch;color:var(--secondary-text);margin:-12px 0 42px;font-size:16px}.lab-note-sections{max-width:760px;margin-bottom:55px}.lab-note-sections>section{margin-bottom:42px}.lab-note-sections h2{margin-bottom:20px;font-size:29px}.lab-note-sections p{color:var(--secondary-text);max-width:65ch;font-size:16px}.lab-note-tools{color:var(--secondary-text);flex-wrap:wrap;gap:12px 22px;margin:20px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.lab-related-work{border-top:1px solid var(--stroke);padding:24px 0 50px}.lab-related-work h2{margin-bottom:22px;font-size:26px}@media (max-width:900px){.homelab-hero{gap:20px}.homelab-hero .homelab-lead{font-size:21px}.home-automation-feature{grid-template-columns:1fr;gap:26px}.home-automation-feature p{max-width:none}.lab-reference-grid{gap:36px}}@media (max-width:600px){.homelab-hero{grid-template-columns:1fr;gap:14px;padding:40px 0 22px}.homelab-hero h1{font-size:57px}.homelab-hero .homelab-lead{font-size:22px}.lab-equipment-art{max-width:390px;margin:auto}.equipment-register{grid-template-columns:1fr;gap:25px;margin-bottom:36px}.equipment-register strong{font-size:24px}.lab-reference-grid,.lab-use-cases{grid-template-columns:1fr;gap:34px}.home-automation-feature{padding:25px}.home-automation-feature h2{font-size:29px}.home-automation-feature dl{gap:23px 18px}.selected-lab-services dl>div{grid-template-columns:88px 1fr;gap:12px;font-size:13px}.lab-profile-links{gap:18px 25px;font-size:13px}}@media (max-width:360px){.homelab-hero h1{font-size:50px}.home-automation-feature dl{grid-template-columns:1fr}}.lab-agent-intro{border-block:1px solid var(--stroke);justify-content:space-between;align-items:center;gap:32px;margin-bottom:42px;padding:28px 0;display:flex}.lab-agent-intro h2{margin-bottom:16px;font-size:29px}.lab-agent-intro p{color:var(--secondary-text);max-width:60ch;font-size:15px}.lab-agent-intro>a{flex-shrink:0}@media (max-width:700px){.lab-agent-intro{flex-direction:column;align-items:flex-start;gap:20px}}.org-chart{margin:30px 0 48px}.org-chart ul{margin:0;padding:0;list-style:none}.org-node{background:var(--surface);border:1px solid var(--stroke);border-radius:9px;padding:20px 16px}.org-node strong{margin-bottom:7px;font-size:17px;font-weight:600;display:block}.org-node span{color:var(--secondary-text);font-size:13px;line-height:1.6;display:block}.org-chief,.org-principal{text-align:center;width:270px;max-width:100%;margin-inline:auto}.org-principal{background:0 0}.org-chief{background:var(--subtle);border-color:#0000;position:relative}.org-chief:after{content:"";background:var(--accent-ink);width:1px;height:32px;position:absolute;bottom:-33px;left:50%}.org-conversation{fill:none;width:24px;height:44px;stroke:var(--accent-ink);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;margin:7px auto;display:block}.org-chart .org-reports{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:32px;padding-top:26px;display:grid;position:relative}.org-reports:before{content:"";background:var(--accent-ink);height:1px;position:absolute;top:0;left:calc(12.5% - 7.5px);right:calc(12.5% - 7.5px)}.org-reports>li{position:relative}.org-reports>li:before{content:"";background:var(--accent-ink);width:1px;height:26px;position:absolute;top:-26px;left:50%}.org-chart figcaption{max-width:65ch;color:var(--secondary-text);margin-top:24px;font-size:13px}@media (max-width:800px){.org-chief,.org-principal{margin-inline:0}.org-conversation{margin-inline:123px}.org-chief:after{left:20px}.org-chart .org-reports{border-left:1px solid var(--accent-ink);grid-template-columns:1fr;gap:20px;margin-left:20px;padding:0 0 0 28px}.org-reports:before{display:none}.org-reports>li:before{width:28px;height:1px;top:30px;left:-28px}}.org-function{border:1px solid var(--stroke);background:var(--surface);border-radius:9px;height:100%;padding:20px 16px}.org-function h3{margin-bottom:18px;font-size:16px}.org-function li+li{margin-top:16px}.org-function strong{font-size:14px;font-weight:600;display:block}.org-function span{margin-top:3px;line-height:1.65}.org-function span,.service-purpose{color:var(--secondary-text);font-size:12px;display:block}.service-purpose{margin-top:6px;line-height:1.5}.more-lab-services summary{cursor:pointer;color:var(--accent-ink);padding:18px 0;font-size:13px}.access-map{max-width:800px}.access-map strong{margin-bottom:8px;font-size:15px;font-weight:600;display:block}.access-map span{color:var(--secondary-text);font-size:13px;line-height:1.65;display:block}.access-origins{grid-template-columns:1fr 1fr;gap:40px;margin:0;padding:0 0 32px;list-style:none;display:grid;position:relative}.access-origins li{background:var(--surface);border:1px solid var(--stroke);border-radius:9px;padding:20px;position:relative}.access-origins li:after{width:1px;height:32px;top:100%;left:50%}.access-origins li:after,.access-origins:after{content:"";background:var(--accent-ink);position:absolute}.access-origins:after{height:1px;bottom:0;left:calc(25% - 10px);right:calc(25% - 10px)}.access-destination,.access-proxy{text-align:center;border-radius:9px;width:100%;max-width:320px;margin:32px auto 0;padding:20px;position:relative}.access-proxy{background:var(--subtle)}.access-destination{background:var(--surface);border:1px solid var(--stroke)}.access-destination:before,.access-proxy:before{content:"";background:var(--accent-ink);width:1px;height:32px;position:absolute;top:-32px;left:50%}@media (max-width:600px){.access-origins{gap:16px}.access-origins li{padding:17px 12px}.access-origins:after{left:calc(25% - 4px);right:calc(25% - 4px)}.access-map strong{font-size:14px}}.lab-secondary-link{color:var(--accent-ink);text-underline-offset:4px;margin-top:16px;font-size:12px;text-decoration:underline;display:inline-block}.workstation-platforms{border-block:1px solid var(--stroke);grid-template-columns:1fr 1fr;gap:32px;margin-bottom:48px;padding:24px 0;display:grid}.workstation-platforms dt{color:var(--secondary-text);margin-bottom:9px;font-size:13px}.workstation-platforms dd{margin:0;font-size:23px;font-weight:500}.workstation-platforms span{color:var(--secondary-text);margin-top:7px;font-size:13px;font-weight:400;display:block}.workstation-workflow{margin-bottom:48px}.workstation-notes h2,.workstation-workflow h2{margin-bottom:24px;font-size:29px}.inference-map{background:var(--subtle);border-radius:15px;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;padding:28px;display:grid}.inference-stage{background:var(--surface);border:1px solid var(--stroke);border-radius:9px;padding:22px 18px;position:relative}.inference-stage:not(:last-child):after{content:"";background:var(--accent-ink);clip-path:polygon(0 43%,80% 43%,80% 0,100% 50%,80% 100%,80% 57%,0 57%);width:35px;height:10px;position:absolute;top:50%;left:100%}.inference-stage h3{color:var(--secondary-text);margin-bottom:22px;font-size:13px;font-weight:400}.inference-stage strong{font-size:16px;font-weight:600;display:block}.inference-stage span{color:var(--secondary-text);margin-top:7px;font-size:13px;line-height:1.65;display:block}.inference-stage span+strong{margin-top:22px}.workstation-workflow figcaption{max-width:70ch;color:var(--secondary-text);margin-top:18px;font-size:13px}.workstation-notes{grid-template-columns:1fr 1fr;gap:48px;margin-bottom:32px;display:grid}.workstation-notes h2{margin-bottom:16px;font-size:25px}.workstation-notes p{color:var(--secondary-text);max-width:52ch;font-size:15px}.workstation-creative{margin:0 0 36px}.workstation-server-link{color:var(--secondary-text);max-width:72ch;margin-bottom:48px;font-size:14px}.workstation-server-link a{display:inline}@media (max-width:700px){.workstation-notes,.workstation-platforms{grid-template-columns:1fr;gap:24px}.inference-map{grid-template-columns:1fr;padding:20px}.inference-stage:not(:last-child):after{width:34px;top:100%;left:50%;transform:translate(-50%,12px)rotate(90deg)}.workstation-workflow h2{font-size:27px}}.workstation-creative figcaption{color:var(--secondary-text);margin-top:16px;font-size:13px}.home-integrations{margin:0 0 52px}.home-integrations summary{cursor:pointer;border-block:1px solid var(--stroke);padding:20px 0;font-size:16px;font-weight:500}.home-integrations dl{grid-template-columns:1fr 1fr;gap:0 40px;display:grid}.home-integrations dl>div{border-top:1px solid var(--stroke);padding:18px 0}.home-integrations dt{margin-bottom:8px;font-size:14px;font-weight:600}.home-integrations dd{color:var(--secondary-text);margin:0;font-size:13px}@media (max-width:700px){.home-integrations dl{grid-template-columns:1fr}}.tool-mark{vertical-align:middle;object-fit:contain;flex-shrink:0;margin-right:10px;display:inline-block}.dark .tool-mark-ollama{filter:invert()}.branded-page-title{align-items:center;gap:18px;display:flex}.branded-page-title .tool-mark{margin:0}.branded-page-title>span{min-width:0}.home-outcomes{border-block:1px solid var(--stroke);grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-bottom:36px;padding:26px 0;display:grid}.home-outcomes h2{margin-bottom:12px;font-size:23px}.home-outcomes p{color:var(--secondary-text);max-width:33ch;font-size:14px}.ha-hub-map{padding-bottom:0;position:relative}.ha-central{text-align:center;background:var(--subtle);border-radius:12px;flex-direction:column;justify-content:center;height:110px;padding:16px;display:flex;position:absolute;top:145px;left:calc(33.3333% + 12px);right:calc(33.3333% + 12px)}.ha-hub-map strong{font-size:16px;font-weight:600;display:block}.ha-hub-map span{color:var(--secondary-text);margin-top:8px;font-size:13px;line-height:1.6;display:block}.ha-branches{grid-template-rows:repeat(3,110px);grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin:0;padding:0;list-style:none;display:grid}.ha-branches>li{background:var(--surface);border:1px solid var(--stroke);text-align:center;border-radius:9px;padding:20px;position:relative}.ha-devices{grid-area:1/2}.ha-logic{grid-area:2/1}.ha-energy{grid-area:2/3}.ha-services{grid-area:3/2}.ha-branches>li:after{content:"";background:var(--accent-ink);position:absolute}.ha-devices:after{width:1px;height:35px;top:100%;left:50%}.ha-services:after{width:1px;height:35px;bottom:100%;left:50%}.ha-logic:after{width:35px;height:1px;top:50%;left:100%}.ha-energy:after{width:35px;height:1px;top:50%;right:100%}@media (max-width:700px){.branded-page-title{gap:12px}.branded-page-title .tool-mark{width:36px;height:36px}.home-outcomes{grid-template-columns:1fr;gap:24px}.home-outcomes p{max-width:45ch}.ha-central{height:auto;min-height:100px;position:relative;top:auto;left:auto;right:auto}.ha-branches{border-left:1px solid var(--accent-ink);grid-template-rows:none;grid-template-columns:1fr;gap:18px;margin:28px 0 0 20px;padding-left:28px}.ha-branches>li{text-align:left;grid-area:auto}.ha-branches>li:after{width:28px;height:1px;inset:50% auto auto -28px}.ha-central:after{content:"";background:var(--accent-ink);width:1px;height:28px;position:absolute;bottom:-28px;left:20px}}.tool-mark-cloudflare{width:30px}@media (max-width:420px){.access-origins .tool-mark{margin:0 0 10px;display:block}}.equipment-visual{--hardware-edge:#586965;--hardware-metal-light:#e9eeec;--hardware-metal:#b6c3be;--hardware-inset:#43534f;--hardware-gpu-face:#626b70;--hardware-gpu-depth:#363d42;--hardware-gpu-rim:#919c9e;--hardware-gpu-well:#151e22;--hardware-gpu-blade:#323d43;--hardware-gpu-blade-light:#788389;--hardware-gpu-blade-edge:#657278;--hardware-fan-ground:#273a34;--hardware-blade:#a7b8b0;--hardware-port:#25352f;--hardware-connector:#c5ae70;--hardware-light:#96e0bd;--hardware-usb:#7aaed3;--hardware-board:#568e74;--hardware-chip:#35463e;--hardware-window:#d6dfb6;margin:0;position:relative}.dark .equipment-visual{--hardware-edge:#81988b;--hardware-metal-light:#c4d0c9;--hardware-metal:#8b9f93;--hardware-blade:#a2b6aa;--hardware-window:#b5c789;--hardware-gpu-face:#59656a}.equipment-visual .lab-equipment-art{color:var(--accent-ink);overflow:visible}.hardware-fan{transform-box:fill-box;transform-origin:50%}.equipment-visual[data-moving=true] .hardware-fan{animation:hardware-spin 3.6s linear infinite}.equipment-visual[data-moving=true] .hardware-led{animation:hardware-light 4.8s ease-in-out infinite}.hardware-motion-control{color:var(--secondary-text);background:var(--page);cursor:pointer;border-radius:5px;align-items:center;gap:7px;padding:7px 9px;font-size:11px;display:inline-flex;position:absolute;bottom:0;right:0}@keyframes hardware-spin{to{transform:rotate(1turn)}}@keyframes hardware-light{0%,60%,to{opacity:.35}74%,84%{opacity:1}}.server-equipment,.workstation-equipment{border-block:1px solid var(--stroke);grid-template-columns:1.1fr .9fr;align-items:center;gap:40px;margin-bottom:42px;padding:15px 0;display:grid}.server-equipment .equipment-register,.workstation-equipment .workstation-platforms{border:0;margin:0}@media (max-width:700px){.server-equipment,.workstation-equipment{grid-template-columns:1fr;gap:20px}.server-equipment .equipment-visual,.workstation-equipment .equipment-visual{justify-self:center;width:min(100%,380px)}.workstation-equipment .workstation-platforms{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){.equipment-visual[data-moving=true] .hardware-fan,.equipment-visual[data-moving=true] .hardware-led{animation:none}.equipment-visual[data-moving=true][data-motion-choice=play] .hardware-fan{animation:hardware-spin 3.6s linear infinite!important}.equipment-visual[data-moving=true][data-motion-choice=play] .hardware-led{animation:hardware-light 4.8s ease-in-out infinite!important}}.hardware-led{filter:drop-shadow(0 0 2px var(--hardware-light))}.blog-heading{max-width:760px}.blog-intro{max-width:620px;color:var(--secondary-text);font-size:1.05rem;line-height:1.75}.blog-heading .profile-links{margin-top:1.5rem}.blog-archive{margin-top:3rem}.blog-toolbar{border-block:1px solid var(--stroke);gap:1.3rem;padding:1.4rem 0;display:grid}.blog-search{gap:.5rem;max-width:430px;font-size:.82rem;font-weight:600;display:grid}.blog-search input{border:1px solid var(--stroke);background:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:.5rem;padding:.8rem 1rem;font-size:1rem}.blog-result-count{color:var(--secondary-text);margin:1.4rem 0;font-size:.85rem}.blog-index-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.blog-index-card{border:1px solid var(--stroke);background:var(--surface);border-radius:1rem;flex-direction:column;transition:border-color .2s,transform .2s;display:flex;overflow:hidden}.blog-index-card:hover{border-color:var(--accent-ink);transform:translateY(-3px)}.blog-index-card-visual{aspect-ratio:16/10;background:var(--accent-fill);border-bottom:1px solid var(--stroke);justify-content:center;align-items:center;display:flex;overflow:hidden}.blog-index-card-visual img{object-fit:contain;background:#f3f5f3;width:100%;height:100%;padding:.9rem}.blog-index-card-type{width:100%;color:var(--ink);flex-direction:column;justify-content:space-between;align-self:stretch;gap:1rem;padding:1.7rem;display:flex}.blog-index-card-type span{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}.blog-index-card-type strong{font-family:var(--display-font);font-size:1.3rem;line-height:1.25}.blog-index-card-body{flex-direction:column;flex:1;padding:1.5rem;display:flex}.blog-index-card-meta{color:var(--secondary-text);flex-wrap:wrap;gap:.75rem;font-size:.74rem;display:flex}.blog-index-card h2{letter-spacing:-.025em;margin:.8rem 0;font-size:1.4rem;line-height:1.25}.blog-index-card h2 a{color:var(--ink);text-decoration:none}.blog-index-card h2 a:hover{color:var(--accent-ink)}.blog-index-card-body>p{color:var(--secondary-text);margin:0 0 1rem;font-size:.92rem;line-height:1.75}.blog-index-card-topics{flex-wrap:wrap;gap:.45rem;margin:0 0 1.4rem;padding:0;list-style:none;display:flex}.blog-index-card-topics li{background:var(--page);border:1px solid var(--stroke);color:var(--secondary-text);border-radius:2rem;padding:.2rem .55rem;font-size:.65rem}.blog-index-card-link{margin-top:auto;font-size:.85rem}.blog-empty{border:1px solid var(--stroke);background:var(--surface);border-radius:1rem;max-width:800px;margin:3rem 0;padding:3rem}.blog-empty h2{letter-spacing:-.03em;font-size:clamp(1.5rem,3vw,2rem)}.blog-empty>p:not(.eyebrow){max-width:590px;color:var(--secondary-text);line-height:1.8}.blog-newsletter{background:var(--newsletter-surface);color:var(--ink);border-radius:1rem;justify-content:space-between;align-items:center;gap:2rem;margin:4rem 0 clamp(3rem,6vw,5rem);padding:2.5rem;display:flex}.blog-newsletter h2{letter-spacing:-.04em;margin:.7rem 0;font-size:2rem}.blog-newsletter p{max-width:520px;line-height:1.7}.blog-newsletter .button-primary{flex-shrink:0}.blog-pagination{flex-wrap:wrap;gap:.6rem;margin-top:2rem;display:flex}.blog-pagination :is(a,button){border:1px solid var(--stroke);min-width:2.5rem;color:var(--ink);border-radius:.4rem;justify-content:center;padding:.6rem;display:inline-flex}.blog-pagination [aria-current=page]{background:var(--accent-ink);color:var(--surface)}@media (max-width:1050px){.blog-index-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-newsletter{flex-direction:column;align-items:flex-start}}@media (max-width:650px){.blog-index-card-grid{grid-template-columns:1fr}.blog-empty,.blog-newsletter{padding:1.7rem}.blog-index-card h2{font-size:1.5rem}}.blog-index-card,.blog-newsletter .eyebrow{color:var(--ink)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}@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-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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--pulse-color)}50%{box-shadow:0 0 0 8px var(--pulse-color)}}