@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-tracking:initial;--tw-outline-style:solid;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;--default-mono-font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}html{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}body{background-color:var(--bg-base);color:var(--fg);-webkit-font-smoothing:antialiased;font-family:Space Grotesk,ui-sans-serif,system-ui,sans-serif}a{color:inherit;text-decoration:none}::selection{background:var(--selection-bg);color:var(--selection-fg)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.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}}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.font-display{font-family:Sora,Space Grotesk,ui-sans-serif,sans-serif}.tracking-\[-0\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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))}.paused{animation-play-state:paused}.running{animation-play-state:running}@media(min-width:64rem){.lg\:self-auto{align-self:auto}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@font-face{font-family:Sora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/Sora-var-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/Sora-var-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/JetBrainsMono-var-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/JetBrainsMono-var-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/SpaceGrotesk-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/SpaceGrotesk-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/SpaceGrotesk-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/SpaceGrotesk-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/SpaceGrotesk-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/SpaceGrotesk-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/SpaceGrotesk-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/SpaceGrotesk-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--radius:.75rem;--bg-base:#fff;--fg:#10131a;--fg-muted:#10131a8c;--fg-faint:#10131a61;--accent-brand:#3457c8;--glass-bg:#10131a09;--glass-bg-strong:#10131a0f;--glass-border:#10131a1f;--nav-pill-bg:#10131aeb;--nav-pill-fg:#fff;--scrim:255 255 255;--hero-shadow:#141e3c38;--selection-bg:#3457c8;--selection-fg:#fff;--dot-color:#10131a;--aura-base:#fff;--aura-blob-1:#93b4f5;--aura-blob-2:#c9d9fb;--aura-blob-3:#6fa0f0;--aura-blob-4:#e8eefc;--aura-blob-5:#a9c4ff;--shade-frost-h:232;--shade-frost-step:0;--shade-ice-h:240;--shade-ice-step:.035;--shade-sky-h:248;--shade-sky-step:.07;--shade-azure-h:256;--shade-azure-step:.105;--shade-cobalt-h:264;--shade-cobalt-step:.14;--tone-step-dir:-1;--tone-ink-l:.55;--tone-ink-c:.12;--tone-subtle-l:.935;--tone-subtle-c:.048;--tone-frost:oklch(calc(var(--tone-ink-l) + var(--tone-step-dir)*var(--shade-frost-step))var(--tone-ink-c)var(--shade-frost-h));--tone-frost-subtle:oklch(calc(var(--tone-subtle-l) + var(--tone-step-dir)*var(--shade-frost-step))var(--tone-subtle-c)var(--shade-frost-h));--tone-ice:oklch(calc(var(--tone-ink-l) + var(--tone-step-dir)*var(--shade-ice-step))var(--tone-ink-c)var(--shade-ice-h));--tone-ice-subtle:oklch(calc(var(--tone-subtle-l) + var(--tone-step-dir)*var(--shade-ice-step))var(--tone-subtle-c)var(--shade-ice-h));--tone-sky:oklch(calc(var(--tone-ink-l) + var(--tone-step-dir)*var(--shade-sky-step))var(--tone-ink-c)var(--shade-sky-h));--tone-sky-subtle:oklch(calc(var(--tone-subtle-l) + var(--tone-step-dir)*var(--shade-sky-step))var(--tone-subtle-c)var(--shade-sky-h));--tone-azure:oklch(calc(var(--tone-ink-l) + var(--tone-step-dir)*var(--shade-azure-step))var(--tone-ink-c)var(--shade-azure-h));--tone-azure-subtle:oklch(calc(var(--tone-subtle-l) + var(--tone-step-dir)*var(--shade-azure-step))var(--tone-subtle-c)var(--shade-azure-h));--tone-cobalt:oklch(calc(var(--tone-ink-l) + var(--tone-step-dir)*var(--shade-cobalt-step))var(--tone-ink-c)var(--shade-cobalt-h));--tone-cobalt-subtle:oklch(calc(var(--tone-subtle-l) + var(--tone-step-dir)*var(--shade-cobalt-step))var(--tone-subtle-c)var(--shade-cobalt-h));--constellation-line:#10131a2e;--constellation-line-active:var(--accent-brand);--shadow-color:20 30 60;--icon-sun:oklch(88% .17 95);--icon-moon:oklch(40% .14 264);--background:var(--bg-base);--foreground:var(--fg);--card:var(--glass-bg);--card-surface:var(--glass-bg-strong);--card-foreground:var(--fg);--primary:var(--accent-brand);--primary-foreground:#fff;--muted:var(--glass-bg);--muted-foreground:var(--fg-muted);--accent:var(--glass-bg-strong);--accent-foreground:var(--fg);--destructive:oklch(57.7% .245 27.325);--border:var(--glass-border);--input:var(--glass-border);--ring:var(--accent-brand)}.dark{--bg-base:#0b1f4d;--fg:#fff;--fg-muted:#ffffff9e;--fg-faint:#ffffff6b;--accent-brand:#a9c4ff;--glass-bg:#ffffff0d;--glass-bg-strong:#ffffff17;--glass-border:#ffffff24;--nav-pill-bg:#ffffffeb;--nav-pill-fg:#1a1a17;--scrim:9 20 54;--hero-shadow:#06102d99;--selection-bg:#a9c4ff;--selection-fg:#0b1f4d;--dot-color:#fff;--aura-base:#0b1f4d;--aura-blob-1:#2563eb;--aura-blob-2:#1e3a8a;--aura-blob-3:#3b82f6;--aura-blob-4:#081642;--aura-blob-5:#6082dc;--tone-step-dir:1;--tone-ink-l:.82;--tone-ink-c:.09;--tone-subtle-l:.36;--tone-subtle-c:.045;--constellation-line:#ffffff38;--constellation-line-active:var(--accent-brand);--shadow-color:0 0 0;--primary:var(--accent-brand);--primary-foreground:#0b1f4d;--destructive:oklch(70.4% .191 22.216)}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@layer components{.site-bg{pointer-events:none;inset:calc(var(--spacing,.25rem)*0);width:100%;height:100%;display:block;position:fixed}.site-bg--aura{z-index:0}.site-bg--dots{z-index:1}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-font-weight:initial}}}@layer components{.scroll-indicator{inset-inline:calc(var(--spacing,.25rem)*0);bottom:calc(var(--spacing,.25rem)*0);z-index:50;background:linear-gradient(to top,rgb(var(--scrim)/.55),rgb(var(--scrim)/0));position:fixed}.scroll-indicator__inner{width:100%;max-width:1180px;padding-inline:calc(var(--spacing,.25rem)*6);padding-top:calc(var(--spacing,.25rem)*8);margin-inline:auto}@media(min-width:48rem){.scroll-indicator__inner{padding-inline:calc(var(--spacing,.25rem)*10)}}@media(min-width:64rem){.scroll-indicator__inner{padding-inline:60px}}.scroll-indicator__inner{padding-bottom:calc(.625rem + env(safe-area-inset-bottom))}.scroll-indicator__track{background:var(--fg);height:1px;margin-bottom:9px;position:relative}@supports (color:color-mix(in lab,red,red)){.scroll-indicator__track{background:color-mix(in srgb,var(--fg)50%,transparent)}}.scroll-indicator__fill{top:-.5px;left:calc(var(--spacing,.25rem)*0);height:calc(var(--spacing,.25rem)*.5);transform-origin:0;--tw-scale-x:0%;width:100%;scale:var(--tw-scale-x)var(--tw-scale-y);background:var(--fg);box-shadow:0 0 10px var(--accent-brand);position:absolute}@supports (color:color-mix(in lab,red,red)){.scroll-indicator__fill{box-shadow:0 0 10px color-mix(in srgb,var(--accent-brand)80%,transparent)}}.scroll-indicator__items{justify-content:space-between;display:flex}.scroll-indicator__item{align-items:flex-start;gap:calc(var(--spacing,.25rem)*1);color:var(--fg-faint);flex-direction:column;transition:color .35s;display:flex}.scroll-indicator__item:last-child{align-items:flex-end}.scroll-indicator__item--active{color:var(--fg)}.scroll-indicator__label{--tw-font-weight:var(--font-weight-medium,500);font-size:11px;font-weight:var(--font-weight-medium,500)}@media(min-width:40rem){.scroll-indicator__label{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)))}}.scroll-indicator__num{--tw-font-weight:var(--font-weight-semibold,600);font-family:Sora,Space Grotesk,ui-sans-serif,sans-serif;font-size:15px;font-weight:var(--font-weight-semibold,600)}@media(min-width:40rem){.scroll-indicator__num{font-size:21px}}}@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}@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-font-weight:initial}}}@layer components{.nav-pill{align-items:center;gap:calc(var(--spacing,.25rem)*2);padding-inline:10px;padding-block:calc(var(--spacing,.25rem)*2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);border-radius:30px;display:none}@media(min-width:40rem){.nav-pill{display:flex}}.nav-pill{background:var(--nav-pill-bg);color:var(--nav-pill-fg)}.nav-pill__link{padding-inline:calc(var(--spacing,.25rem)*3);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));border-radius:20px;padding-block:5px}.nav-pill__link:hover{opacity:.7}}@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-tracking:initial}}}@layer components{.btn{cursor:pointer;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,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));justify-content:center;align-items:center;display:inline-flex}.btn:disabled{pointer-events:none;opacity:.6}.btn{--btn-accent:var(--primary);--btn-fill:var(--primary);--btn-fill-fg:var(--primary-foreground)}.btn--frost{--btn-accent:var(--tone-frost);--btn-fill:var(--tone-frost-subtle);--btn-fill-fg:var(--tone-frost)}.btn--ice{--btn-accent:var(--tone-ice);--btn-fill:var(--tone-ice-subtle);--btn-fill-fg:var(--tone-ice)}.btn--sky{--btn-accent:var(--tone-sky);--btn-fill:var(--tone-sky-subtle);--btn-fill-fg:var(--tone-sky)}.btn--azure{--btn-accent:var(--tone-azure);--btn-fill:var(--tone-azure-subtle);--btn-fill-fg:var(--tone-azure)}.btn--cobalt{--btn-accent:var(--tone-cobalt);--btn-fill:var(--tone-cobalt-subtle);--btn-fill-fg:var(--tone-cobalt)}.btn--solid{padding-inline:calc(var(--spacing,.25rem)*7);padding-block:calc(var(--spacing,.25rem)*3.5);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));--tw-tracking:var(--tracking-widest,.1em);letter-spacing:var(--tracking-widest,.1em);text-transform:uppercase;transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));border-radius:3.40282e38px}@media(hover:hover){.btn--solid:hover{opacity:.9}}.btn--solid{background:var(--btn-fill);color:var(--btn-fill-fg)}.btn--text{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));--tw-tracking:.08em;letter-spacing:.08em;text-transform:uppercase}@media(hover:hover){.btn--text:hover{text-decoration-line:underline}}.btn--text{color:var(--btn-accent)}.btn--ghost{color:var(--foreground)}}@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-border-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer components{.theme-toggle{height:calc(var(--spacing,.25rem)*10);width:calc(var(--spacing,.25rem)*10);border-style:var(--tw-border-style);--tw-backdrop-blur:blur(var(--blur-sm,8px));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);transition-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,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));border-width:1px;border-color:var(--glass-border);background:var(--glass-bg);border-radius:3.40282e38px}.theme-toggle:hover{background:var(--glass-bg-strong)}.theme-toggle__icon{height:calc(var(--spacing,.25rem)*6);width:calc(var(--spacing,.25rem)*6)}.theme-toggle__icon--sun{color:var(--icon-sun)}.theme-toggle__icon--moon{color:var(--icon-moon)}}@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-font-weight:initial;--tw-tracking:initial}}}@layer components{.top-bar{justify-content:space-between;align-items:center;display:flex}.top-bar__logo{font-family:Sora,Space Grotesk,ui-sans-serif,sans-serif;font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75/1.25)));--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700);--tw-tracking:.04em;letter-spacing:.04em}.top-bar__actions{align-items:center;gap:calc(var(--spacing,.25rem)*2);display:flex}}@layer components{.photo{display:contents}.photo>source{display:none}}@layer components{.portrait-card{border-radius:calc(var(--radius) + 8px);flex:none;width:200px;height:256px;overflow:hidden}@media(min-width:64rem){.portrait-card{width:250px;height:320px}}.portrait-card{box-shadow:0 24px 50px -20px var(--hero-shadow)}.portrait-card__img{object-fit:cover;width:100%;height:100%}}@layer components{.typewriter{display:grid}.typewriter__ghost,.typewriter__ink{grid-area:1/1}.typewriter__ghost{color:#0000;text-shadow:none}.typewriter__ink{-webkit-user-select:none;user-select:none}.typewriter__caret{vertical-align:baseline;background:var(--accent-brand);width:.07em;height:.82em;animation:1s step-end infinite typewriter-caret;display:inline-block;translate:0 .08em}@keyframes typewriter-caret{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.typewriter__caret{animation:none}}}@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-tracking:initial;--tw-leading:initial;--tw-font-weight:initial}}}@layer components{.hero{z-index:10;min-height:100svh;position:relative;overflow:hidden}.hero__inner{min-height:100svh;padding-inline:calc(var(--spacing,.25rem)*6);padding-top:calc(var(--spacing,.25rem)*6);padding-bottom:calc(var(--spacing,.25rem)*28);flex-direction:column;display:flex}@media(min-width:48rem){.hero__inner{padding-inline:calc(var(--spacing,.25rem)*10)}}@media(min-width:64rem){.hero__inner{padding-inline:60px;padding-top:34px;padding-bottom:90px}}.hero__body{justify-content:center;align-items:flex-start;gap:calc(var(--spacing,.25rem)*10);flex-direction:column;flex:1;display:flex}@media(min-width:64rem){.hero__body{justify-content:center;align-items:center;gap:calc(var(--spacing,.25rem)*14);flex-direction:row}}.hero__intro{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.hero__greeting{margin-bottom:calc(var(--spacing,.25rem)*.5);font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75/1.25)));--tw-tracking:.04em;letter-spacing:.04em;color:var(--accent-brand)}.hero__title{--tw-leading:.92;--tw-font-weight:var(--font-weight-semibold,600);font-family:Sora,Space Grotesk,ui-sans-serif,sans-serif;font-size:clamp(48px,9vw,104px);line-height:.92;font-weight:var(--font-weight-semibold,600);--tw-tracking:-.04em;letter-spacing:-.04em}@media(min-width:48rem){.hero__title{white-space:nowrap}}.hero__title{text-shadow:0 2px 40px var(--hero-shadow)}.hero__tagline{margin-top:calc(var(--spacing,.25rem)*5);--tw-leading:var(--leading-relaxed,1.625);max-width:440px;font-size:17px;line-height:var(--leading-relaxed,1.625);flex-direction:column;align-items:flex-start;display:flex}@media(min-width:40rem){.hero__tagline{font-size:19px}}}@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-tracking:initial}}}@layer components{.eyebrow{--tw-tracking:.22em;letter-spacing:.22em;color:var(--accent-brand);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:13px}}@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-font-weight:initial;--tw-tracking:initial}}}@layer components{.section-shell{z-index:10;min-height:100svh;padding-block:calc(var(--spacing,.25rem)*16);align-items:center;display:flex;position:relative}@media(min-width:48rem){.section-shell{padding-block:calc(var(--spacing,.25rem)*24)}}.section-shell__inner{width:100%;max-width:1180px;padding-inline:calc(var(--spacing,.25rem)*6);padding-bottom:calc(var(--spacing,.25rem)*24);margin-inline:auto}@media(min-width:48rem){.section-shell__inner{padding-inline:calc(var(--spacing,.25rem)*10)}}@media(min-width:64rem){.section-shell__inner{padding-inline:60px}}.section-shell__title{margin-top:calc(var(--spacing,.25rem)*3.5);--tw-font-weight:var(--font-weight-semibold,600);font-family:Sora,Space Grotesk,ui-sans-serif,sans-serif;font-size:clamp(40px,7vw,76px);font-weight:var(--font-weight-semibold,600);--tw-tracking:-.03em;letter-spacing:-.03em}}@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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-border-style:solid}}}@layer components{.card{border-radius:calc(var(--radius) + 8px);--tw-backdrop-blur:blur(var(--blur-sm,8px));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.card--surface{border-style:var(--tw-border-style);background:var(--glass-bg);border-width:1px;border-color:var(--glass-border)}.card--tinted{border-style:var(--tw-border-style);border-width:1px;border-color:var(--glass-border)}.card--frost{background-color:var(--tone-frost-subtle)}.card--ice{background-color:var(--tone-ice-subtle)}.card--sky{background-color:var(--tone-sky-subtle)}.card--azure{background-color:var(--tone-azure-subtle)}.card--cobalt{background-color:var(--tone-cobalt-subtle)}}@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-tracking:initial;--tw-border-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer components{.pill{padding-inline:calc(var(--spacing,.25rem)*6);padding-block:calc(var(--spacing,.25rem)*3.5);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));--tw-tracking:var(--tracking-widest,.1em);letter-spacing:var(--tracking-widest,.1em);text-transform:uppercase;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,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));border-radius:3.40282e38px;justify-content:center;align-items:center;display:inline-flex}.pill--solid{background-color:var(--foreground);color:var(--background);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}@media(hover:hover){.pill--solid:hover{opacity:.9}}.pill--outline{border-style:var(--tw-border-style);border-width:1px;border-color:var(--glass-border);color:var(--fg);--tw-backdrop-blur:blur(var(--blur-sm,8px));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}@media(hover:hover){.pill--outline:hover{border-color:var(--accent-brand);color:var(--accent-brand)}}}@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-leading:initial}}}@layer components{.about__grid{margin-top:calc(var(--spacing,.25rem)*10);align-items:center;gap:calc(var(--spacing,.25rem)*10);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media(min-width:64rem){.about__grid{gap:calc(var(--spacing,.25rem)*14);grid-template-columns:repeat(2,minmax(0,1fr))}}.about__photo{aspect-ratio:3/2;border-radius:calc(var(--radius) + 8px);object-fit:cover;width:100%;max-width:520px;box-shadow:0 24px 50px -20px var(--hero-shadow);overflow:hidden}.card.about__bio{padding:calc(var(--spacing,.25rem)*8)}@media(min-width:64rem){.card.about__bio{padding:calc(var(--spacing,.25rem)*10)}}.card.about__bio{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg-base)}@supports (color:color-mix(in lab,red,red)){.card.about__bio{background:color-mix(in srgb,var(--bg-base)55%,var(--glass-bg))}}.about__text{--tw-leading:var(--leading-relaxed,1.625);font-size:17px;line-height:var(--leading-relaxed,1.625);color:var(--fg)}.about__text+.about__text{margin-top:calc(var(--spacing,.25rem)*4)}.about__actions{margin-top:calc(var(--spacing,.25rem)*8);gap:calc(var(--spacing,.25rem)*3.5);flex-wrap:wrap;display:flex}}@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}}}@layer components{.carousel{position:relative}.carousel__viewport{clip-path:inset(-40px -8px)}.carousel__track{will-change:transform;display:flex}.carousel__item{display:flex}.carousel__item>*{width:100%;height:100%}.carousel__btn{z-index:20;height:calc(var(--spacing,.25rem)*11);width:calc(var(--spacing,.25rem)*11);--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y);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,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));background:var(--bg-base);border-radius:3.40282e38px;place-items:center;display:grid;position:absolute;top:50%}@supports (color:color-mix(in lab,red,red)){.carousel__btn{background:color-mix(in srgb,var(--bg-base)78%,var(--glass-bg-strong))}}.carousel__btn{border:1px solid var(--glass-border);color:var(--fg)}.carousel__btn:hover{color:var(--accent-brand);border-color:var(--accent-brand)}.carousel__btn:focus-visible{outline:2px solid var(--accent-brand);outline-offset:2px}.carousel__btn--left{left:calc(var(--spacing,.25rem)*0)}.carousel__btn--right{right:calc(var(--spacing,.25rem)*0)}.carousel__chevron{height:calc(var(--spacing,.25rem)*5);width:calc(var(--spacing,.25rem)*5)}}@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}@layer components{.tag{align-items:center;gap:calc(var(--spacing,.25rem)*2.5);padding-inline:calc(var(--spacing,.25rem)*2.5);padding-block:calc(var(--spacing,.25rem)*1.5);border-radius:3.40282e38px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:11px;display:inline-flex}.tag--frost{background-color:var(--tone-frost-subtle);color:var(--tone-frost)}.tag--ice{background-color:var(--tone-ice-subtle);color:var(--tone-ice)}.tag--sky{background-color:var(--tone-sky-subtle);color:var(--tone-sky)}.tag--azure{background-color:var(--tone-azure-subtle);color:var(--tone-azure)}.tag--cobalt{background-color:var(--tone-cobalt-subtle);color:var(--tone-cobalt)}}@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-duration:initial;--tw-ease:initial;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial}}}@layer components{.projects__carousel{margin-top:calc(var(--spacing,.25rem)*10)}.projects__carousel .carousel__viewport{max-width:940px;margin-inline:auto}.projects__carousel .card.project-card{max-width:320px;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,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.3s;--tw-ease:var(--ease-out,cubic-bezier(0,0,.2,1));transition-duration:.3s;transition-timing-function:var(--ease-out,cubic-bezier(0,0,.2,1));margin-inline:auto}.projects__carousel .card.project-card:hover{z-index:1;position:relative;scale:1.03}.card.project-card{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,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg-base);flex-direction:column;display:flex;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.card.project-card{background:color-mix(in srgb,var(--bg-base)55%,var(--glass-bg))}}.card.project-card:hover{background:var(--bg-base)}@supports (color:color-mix(in lab,red,red)){.card.project-card:hover{background:color-mix(in srgb,var(--bg-base)55%,var(--glass-bg-strong))}}.project-card__img{height:calc(var(--spacing,.25rem)*40);object-fit:cover;background:var(--glass-bg-strong);width:100%}.project-card__body{padding:calc(var(--spacing,.25rem)*6);flex-direction:column;flex:1;display:flex}.project-card__title{margin-bottom:calc(var(--spacing,.25rem)*3);font-family:Sora,Space Grotesk,ui-sans-serif,sans-serif;font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75/1.25)));--tw-leading:var(--leading-tight,1.25);line-height:var(--leading-tight,1.25);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);--tw-tracking:-.02em;letter-spacing:-.02em}.project-card__site{margin-bottom:calc(var(--spacing,.25rem)*4);align-items:center;gap:calc(var(--spacing,.25rem)*1.5);padding-inline:calc(var(--spacing,.25rem)*2.5);padding-block:calc(var(--spacing,.25rem)*1);color:var(--accent-brand);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));background:var(--glass-bg-strong);border-radius:3.40282e38px;align-self:flex-start;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:11px;display:inline-flex}.project-card__site:hover{opacity:.8}.project-card__site-icon{height:calc(var(--spacing,.25rem)*3);width:calc(var(--spacing,.25rem)*3)}.project-card__desc{margin-bottom:calc(var(--spacing,.25rem)*5);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--fg)}.project-card__tags{margin-bottom:calc(var(--spacing,.25rem)*6);gap:calc(var(--spacing,.25rem)*2);flex-wrap:wrap;display:flex}.project-card__link{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));--tw-tracking:.08em;letter-spacing:.08em;color:var(--accent-brand);text-transform:uppercase;margin-top:auto}@media(hover:hover){.project-card__link:hover{text-decoration-line:underline}}}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@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-border-style:solid;--tw-font-weight:initial}}}@layer components{.constellation{margin-top:calc(var(--spacing,.25rem)*8);width:100%;position:relative}.constellation__canvas{inset:calc(var(--spacing,.25rem)*0);width:100%;height:100%;position:absolute}.skill-node{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:2;cursor:grab;touch-action:none;border-style:var(--tw-border-style);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);white-space:nowrap;-webkit-user-select:none;user-select:none;border-width:1px;border-color:var(--glass-border);transform-origin:50%;will-change:transform;border-radius:3.40282e38px;transition:box-shadow .2s;position:absolute}.skill-node--frost{background-color:var(--tone-frost-subtle);color:var(--tone-frost)}.skill-node--ice{background-color:var(--tone-ice-subtle);color:var(--tone-ice)}.skill-node--sky{background-color:var(--tone-sky-subtle);color:var(--tone-sky)}.skill-node--azure{background-color:var(--tone-azure-subtle);color:var(--tone-azure)}.skill-node--cobalt{background-color:var(--tone-cobalt-subtle);color:var(--tone-cobalt)}}@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-border-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-font-weight:initial}}}@layer components{.contact__grid{margin-top:calc(var(--spacing,.25rem)*10);gap:calc(var(--spacing,.25rem)*12);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media(min-width:48rem){.contact__grid{grid-template-columns:.9fr 1.1fr}}.contact__email{margin-bottom:calc(var(--spacing,.25rem)*8);align-items:center;gap:calc(var(--spacing,.25rem)*2.5);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*2.5);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));--tw-backdrop-blur:blur(var(--blur-sm,8px));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);transition-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,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));background:var(--glass-bg);border-width:1px;border-color:var(--glass-border);border-radius:3.40282e38px;display:inline-flex}.contact__email:hover{background:var(--glass-bg-strong)}.contact__email-glyph{height:calc(var(--spacing,.25rem)*5);width:calc(var(--spacing,.25rem)*5);color:var(--accent-brand)}.contact__constellation{z-index:2;height:calc(var(--spacing,.25rem)*40);width:100%;position:relative}.contact__constellation-canvas{inset:calc(var(--spacing,.25rem)*0);width:100%;height:100%;position:absolute}.contact__node{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:2;height:calc(var(--spacing,.25rem)*11);width:calc(var(--spacing,.25rem)*11);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transform-origin:50%;will-change:transform;border-radius:3.40282e38px;flex:none;justify-content:center;align-items:center;transition:box-shadow .2s;display:inline-flex;position:absolute}.contact__node--frost{background-color:var(--tone-frost-subtle)}.contact__node--ice{background-color:var(--tone-ice-subtle)}.contact__node--sky{background-color:var(--tone-sky-subtle)}.contact__node--azure{background-color:var(--tone-azure-subtle)}.contact__node--cobalt{background-color:var(--tone-cobalt-subtle)}.contact__title{margin-bottom:calc(var(--spacing,.25rem)*6);font-size:var(--text-3xl,1.875rem);line-height:var(--tw-leading,var(--text-3xl--line-height, 1.2 ));--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700)}.contact__constellation{--tone-frost-subtle:oklch(.94 .045 var(--shade-frost-h));--tone-ice-subtle:oklch(.905 .048 var(--shade-ice-h));--tone-sky-subtle:oklch(.87 .05 var(--shade-sky-h));--tone-azure-subtle:oklch(.835 .052 var(--shade-azure-h));--tone-cobalt-subtle:oklch(.8 .055 var(--shade-cobalt-h))}.contact__social-img{height:calc(var(--spacing,.25rem)*5);width:calc(var(--spacing,.25rem)*5)}.contact__form{gap:calc(var(--spacing,.25rem)*3.5);flex-direction:column;display:flex}.field{border-radius:calc(var(--radius) + 4px);border-style:var(--tw-border-style);width:100%;padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*3.5);color:var(--fg);--tw-backdrop-blur:blur(var(--blur-sm,8px));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);transition-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,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));border-width:1px}.field::placeholder{color:var(--fg-faint)}.field:focus{--tw-outline-style:none;outline-style:none}.field{background:var(--glass-bg);border-color:var(--glass-border)}.field:focus{border-color:var(--accent-brand)}.field--area{resize:vertical}.contact__submit{--btn-fill:var(--fg);--btn-fill-fg:var(--bg-base);align-self:flex-start}.contact__submit-icon{margin-left:calc(var(--spacing,.25rem)*2);height:calc(var(--spacing,.25rem)*4);width:calc(var(--spacing,.25rem)*4);display:inline-block}.contact__status{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)))}.contact__status--ok{color:var(--accent-brand)}.contact__status--err{color:var(--destructive)}}@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-border-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-tracking:initial}}}@layer components{.site-footer{inset-inline:calc(var(--spacing,.25rem)*0);bottom:calc(var(--spacing,.25rem)*0);z-index:40;border-top-style:var(--tw-border-style);--tw-backdrop-blur:blur(var(--blur-sm,8px));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);border-top-width:1px;border-color:var(--glass-border);background:var(--scrim);position:fixed}.site-footer__inner{gap:calc(var(--spacing,.25rem)*3);width:100%;max-width:1180px;padding-inline:calc(var(--spacing,.25rem)*6);padding-top:calc(var(--spacing,.25rem)*6);flex-direction:column;margin-inline:auto;display:flex}@media(min-width:48rem){.site-footer__inner{padding-inline:calc(var(--spacing,.25rem)*10);flex-direction:row;justify-content:space-between;align-items:flex-end}}@media(min-width:64rem){.site-footer__inner{padding-inline:60px}}.site-footer__inner{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}.site-footer__meta{align-items:center;gap:calc(var(--spacing,.25rem)*6);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));display:flex}.site-footer__copyright{color:var(--fg-faint)}.site-footer__top{align-items:center;gap:calc(var(--spacing,.25rem)*1.5);--tw-tracking:.08em;letter-spacing:.08em;color:var(--accent-brand);text-transform:uppercase;transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));display:inline-flex}@media(hover:hover){.site-footer__top:hover{opacity:.7}}.site-footer__top-glyph{height:calc(var(--spacing,.25rem)*3.5);width:calc(var(--spacing,.25rem)*3.5)}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@layer components{.home{min-height:100svh;position:relative;overflow-x:clip}.home__content{z-index:10;padding-bottom:180px;position:relative}}@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-font-weight:initial;--tw-tracking:initial;--tw-leading:initial}}}@layer components{.notfound{min-height:100svh;position:relative}.notfound__inner{z-index:10;min-height:100svh;max-width:var(--container-2xl,42rem);padding-inline:calc(var(--spacing,.25rem)*6);text-align:center;flex-direction:column;justify-content:center;align-items:center;margin-inline:auto;display:flex;position:relative}.notfound__title{margin-top:calc(var(--spacing,.25rem)*3.5);font-family:Sora,Space Grotesk,ui-sans-serif,sans-serif;font-size:var(--text-6xl,3.75rem);line-height:var(--tw-leading,var(--text-6xl--line-height,1));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);--tw-tracking:-.03em;letter-spacing:-.03em}@media(min-width:48rem){.notfound__title{font-size:var(--text-8xl,6rem);line-height:var(--tw-leading,var(--text-8xl--line-height,1))}}.notfound__text{margin-top:calc(var(--spacing,.25rem)*6);max-width:var(--container-md,28rem);--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--fg-muted)}.notfound__actions{margin-top:calc(var(--spacing,.25rem)*9);justify-content:center;gap:calc(var(--spacing,.25rem)*3.5);flex-wrap:wrap;display:flex}}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}
