/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--font-weight-medium:500;--font-weight-semibold:600;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--spacing-page:clamp(1.25rem, 4vw, 4.5rem);--spacing-section:clamp(4rem, 8vw, 8rem);--spacing-hero-top:clamp(4rem, 7vw, 6.5rem);--spacing-hero-bottom:clamp(3rem, 5vw, 4.5rem);--spacing-hero-content:clamp(3.5rem, 6vw, 5.5rem);--spacing-contact-top:clamp(5rem, 10vw, 10rem);--color-foreground:#11110f;--color-background:#f2f0e9;--color-muted:#696860;--color-border:#bdbab0;--text-label:.75rem;--text-label--line-height:1.4;--text-label--letter-spacing:.12em;--text-small:.8125rem;--text-small--line-height:1.6;--text-body:.9375rem;--text-body--line-height:1.6;--text-title:1.4rem;--text-title--line-height:1.2;--text-title--letter-spacing:-.04em;--text-title--font-weight:700;--text-lead:clamp(1.1rem, 2vw, 1.55rem);--text-lead--line-height:1.45;--text-lead--letter-spacing:-.03em;--text-intro:clamp(1.25rem, 2.4vw, 2.1rem);--text-intro--line-height:1.45;--text-intro--letter-spacing:-.045em;--text-note:.75rem;--text-note--line-height:1.6;--text-heading:clamp(2rem, 4.5vw, 4.5rem);--text-heading--line-height:1;--text-heading--letter-spacing:-.065em;--text-heading--font-weight:700;--text-display:clamp(3.4rem, 8.5vw, 8rem);--text-display--line-height:.88;--text-display--letter-spacing:-.09em;--text-display--font-weight:700}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}section{scroll-margin-top:2rem}button:not(:disabled){cursor:pointer}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-s-4{inset-inline-start:calc(var(--spacing) * 4)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.-mx-page{margin-inline:calc(var(--spacing-page) * -1)}.mx-auto{margin-inline:auto}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.h-px{height:1px}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-19{min-height:calc(var(--spacing) * 19)}.min-h-70{min-height:calc(var(--spacing) * 70)}.min-h-\[70vh\]{min-height:70vh}.min-h-screen{min-height:100vh}.w-full{width:100%}.w-max{width:max-content}.max-w-170{max-width:calc(var(--spacing) * 170)}.max-w-225{max-width:calc(var(--spacing) * 225)}.max-w-250{max-width:calc(var(--spacing) * 250)}.max-w-375{max-width:calc(var(--spacing) * 375)}.max-w-\[36ch\]{max-width:36ch}.flex-1{flex:1}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-20{--tw-translate-y:calc(var(--spacing) * -20);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,)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-cols-\[2\.5rem_1fr\]{grid-template-columns:2.5rem 1fr}.flex-col{flex-direction:column}.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}.gap-1{gap:var(--spacing)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-14{gap:calc(var(--spacing) * 14)}.gap-20{gap:calc(var(--spacing) * 20)}.gap-hero-content{gap:var(--spacing-hero-content)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.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-border{border-color:var(--color-border)}.border-muted{border-color:var(--color-muted)}.bg-background{background-color:var(--color-background)}.bg-foreground{background-color:var(--color-foreground)}.p-6{padding:calc(var(--spacing) * 6)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-page{padding-inline:var(--spacing-page)}.py-1\.75{padding-block:calc(var(--spacing) * 1.75)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-section{padding-block:var(--spacing-section)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-14{padding-top:calc(var(--spacing) * 14)}.pt-contact-top{padding-top:var(--spacing-contact-top)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-hero-bottom{padding-bottom:var(--spacing-hero-bottom)}.type-display{font-family:var(--font-space-mono);font-size:var(--text-display);line-height:var(--tw-leading,var(--text-display--line-height));letter-spacing:var(--tw-tracking,var(--text-display--letter-spacing));font-weight:var(--tw-font-weight,var(--text-display--font-weight))}.type-heading{font-family:var(--font-space-mono);font-size:var(--text-heading);line-height:var(--tw-leading,var(--text-heading--line-height));letter-spacing:var(--tw-tracking,var(--text-heading--letter-spacing));font-weight:var(--tw-font-weight,var(--text-heading--font-weight))}.type-title{font-family:var(--font-space-mono);font-size:var(--text-title);line-height:var(--tw-leading,var(--text-title--line-height));letter-spacing:var(--tw-tracking,var(--text-title--letter-spacing));font-weight:var(--tw-font-weight,var(--text-title--font-weight))}.type-label{font-family:var(--font-ibm-plex-mono);font-size:var(--text-label);line-height:var(--tw-leading,var(--text-label--line-height));letter-spacing:var(--tw-tracking,var(--text-label--letter-spacing));text-transform:uppercase}.type-intro{font-family:var(--font-ibm-plex-mono);font-size:var(--text-intro);line-height:var(--tw-leading,var(--text-intro--line-height));letter-spacing:var(--tw-tracking,var(--text-intro--letter-spacing))}.type-lead{font-family:var(--font-ibm-plex-mono);font-size:var(--text-lead);line-height:var(--tw-leading,var(--text-lead--line-height));letter-spacing:var(--tw-tracking,var(--text-lead--letter-spacing))}.type-body{font-family:var(--font-ibm-plex-mono);font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height))}.type-note{font-family:var(--font-ibm-plex-mono);font-size:var(--text-note);line-height:var(--tw-leading,var(--text-note--line-height))}.type-small{font-family:var(--font-ibm-plex-mono);font-size:var(--text-small);line-height:var(--tw-leading,var(--text-small--line-height))}.text-\[clamp\(2\.8rem\,5vw\,5rem\)\]{font-size:clamp(2.8rem,5vw,5rem)}.leading-\[0\.95\]{--tw-leading:.95;line-height:.95}.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)}.text-nowrap{text-wrap:nowrap}.text-background{color:var(--color-background)}.text-foreground{color:var(--color-foreground)}.text-muted{color:var(--color-muted)}.uppercase{text-transform:uppercase}.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)}.\[-webkit-text-stroke\:1\.5px_var\(--color-foreground\)\]{-webkit-text-stroke:1.5px var(--color-foreground)}.after\:content-\[\'_↗\'\]:after{--tw-content:" ↗";content:var(--tw-content)}@media (hover:hover){.hover\:bg-foreground:hover{background-color:var(--color-foreground)}.hover\:pl-5:hover{padding-left:calc(var(--spacing) * 5)}.hover\:text-background:hover{color:var(--color-background)}.hover\:underline:hover{text-decoration-line:underline}.hover\:underline-offset-4:hover{text-underline-offset:4px}}.focus\:translate-y-0:focus{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}@media (width>=40rem){.sm\:flex-row{flex-direction:row}.sm\:items-end{align-items:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}}@media (width>=48rem){.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-start-2{grid-column-start:2}.md\:col-start-3{grid-column-start:3}.md\:row-start-1{grid-row-start:1}.md\:mx-0{margin-inline:0}.md\:flex{display:flex}.md\:min-h-0{min-height:0}.md\:min-h-19{min-height:calc(var(--spacing) * 19)}.md\:min-h-82\.5{min-height:calc(var(--spacing) * 82.5)}.md\:max-w-90{max-width:calc(var(--spacing) * 90)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[1\.3fr_0\.7fr\]{grid-template-columns:1.3fr .7fr}.md\:grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.md\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)_8rem\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 8rem}.md\:grid-cols-\[minmax\(150px\,0\.5fr\)_minmax\(0\,2fr\)\]{grid-template-columns:minmax(150px,.5fr) minmax(0,2fr)}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}.md\:gap-\[clamp\(1rem\,2\.4vw\,2\.5rem\)\]{gap:clamp(1rem,2.4vw,2.5rem)}.md\:border-0{border-style:var(--tw-border-style);border-width:0}.md\:border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.md\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.md\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.md\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.md\:border-border{border-color:var(--color-border)}.md\:p-0{padding:0}.md\:p-5{padding:calc(var(--spacing) * 5)}.md\:py-16{padding-block:calc(var(--spacing) * 16)}.md\:pt-hero-top{padding-top:var(--spacing-hero-top)}.md\:text-right{text-align:right}.md\:leading-none{--tw-leading:1;line-height:1}.md\:not-last\:border-r:not(:last-child){border-right-style:var(--tw-border-style);border-right-width:1px}}@media (width>=64rem){.lg\:absolute{position:absolute}.lg\:top-hero-top{top:var(--spacing-hero-top)}.lg\:right-page{right:var(--spacing-page)}.lg\:block{display:block}.lg\:w-\[min\(31vw\,22\.5rem\)\]{width:min(31vw,22.5rem)}}.dark\:hidden:where([data-theme=dark],[data-theme=dark] *){display:none}.dark\:inline:where([data-theme=dark],[data-theme=dark] *){display:inline}}:root{color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--color-foreground:#eceae3;--color-background:#10100f;--color-muted:#99978f;--color-border:#3e3d39}:where(a,button):focus-visible{outline:2px solid var(--color-foreground);outline-offset:4px}@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-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}.checklist-text-overlay[data-astro-cid-7uoirsvt]{pointer-events:none}.checklist-line[data-astro-cid-7uoirsvt]{opacity:0}@media (prefers-reduced-motion:no-preference){.checklist-item[data-astro-cid-7uoirsvt]{opacity:0;animation:checklist-item-enter .18s steps(2, end) var(--item-delay) forwards;transform:translateY(.3125rem)}.checklist-text-overlay[data-astro-cid-7uoirsvt]{clip-path:inset(0 100% 0 0);animation:checklist-text-fill .3s cubic-bezier(.6, 0, .25, 1) calc(var(--item-delay) + 80ms) forwards}.checklist-line[data-astro-cid-7uoirsvt]{transform-origin:0;animation:checklist-line-sweep .32s ease-out calc(var(--item-delay) + 80ms);transform:translateY(-50%)scaleX(0)}.checklist-item-completed[data-astro-cid-7uoirsvt] .checklist-symbol[data-astro-cid-7uoirsvt]{opacity:0;animation:checklist-check-enter .18s cubic-bezier(.2, 1.7, .4, 1) calc(var(--item-delay) + .21s) forwards;display:inline-block;transform:scale(.35)}.checklist-item-completed[data-astro-cid-7uoirsvt] .checklist-marker[data-astro-cid-7uoirsvt]:after{z-index:-1;background:var(--color-foreground);content:"";opacity:0;animation:checklist-check-pulse .28s ease-out calc(var(--item-delay) + .2s);position:absolute;inset:-.375rem -.4375rem}.checklist-item-pending[data-astro-cid-7uoirsvt]{animation:checklist-pending-enter .25s ease-out var(--item-delay) forwards;transform:translate(-.3125rem)}.checklist-marker-pending[data-astro-cid-7uoirsvt] .checklist-symbol[data-astro-cid-7uoirsvt]{animation:checklist-pending-pulse 1.7s ease-in-out calc(var(--item-delay) + .27s) 3 forwards;display:inline-block}}@keyframes checklist-item-enter{to{opacity:1;transform:none}}@keyframes checklist-text-fill{to{clip-path:inset(0)}}@keyframes checklist-line-sweep{0%{opacity:0;transform:translateY(-50%)scaleX(0)}35%{opacity:.8;transform:translateY(-50%)scaleX(1)}to{opacity:0;transform:translateY(-50%)scaleX(1)}}@keyframes checklist-check-enter{to{opacity:1;transform:none}}@keyframes checklist-check-pulse{0%{opacity:0;transform:scale(.6)}35%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}@keyframes checklist-pending-enter{to{opacity:1;transform:none}}@keyframes checklist-pending-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.project-card[data-astro-cid-t3eiqlen]{border-bottom:1px solid var(--color-border)}.project-card[data-astro-cid-t3eiqlen]:last-child{border-bottom:0}@media (width>=48rem){.project-card[data-astro-cid-t3eiqlen]:nth-child(odd):not(:last-child){border-right:1px solid var(--color-border)}.project-card[data-astro-cid-t3eiqlen]:nth-last-child(2):nth-child(odd){border-bottom:0}}
