@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing: .25rem;--container-md: 28rem;--container-xl: 36rem;--container-2xl: 42rem;--container-5xl: 64rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--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);--font-weight-light: 300;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-black: 900;--tracking-tight: -.025em;--tracking-wide: .025em;--tracking-wider: .05em;--leading-snug: 1.375;--leading-relaxed: 1.625;--animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm: 8px;--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);--font-display: "Fraunces", "Times New Roman", serif;--font-body: "DM Sans", system-ui, sans-serif;--color-bg: oklch(.14 .006 80);--color-surface: oklch(.17 .006 80);--color-border: oklch(.28 .008 70);--color-accent: oklch(.54 .17 30);--color-accent-hover: oklch(.62 .17 30);--color-text: oklch(.89 .006 85);--color-text-secondary: oklch(.6 .006 85);--color-text-muted: oklch(.42 .006 85);--color-text-inverse: oklch(.14 .005 80);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;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{font-size:75%;line-height:0;position:relative;vertical-align:baseline}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{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}: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}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::-moz-placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}::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,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-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]),::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.top-\[2px\]{top:2px}.right-0{right:calc(var(--spacing) * 0)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-18{bottom:calc(var(--spacing) * 18)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.z-10{z-index:10}.z-50{z-index:50}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-48{margin-top:calc(var(--spacing) * 48)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-16{margin-bottom:calc(var(--spacing) * 16)}.mb-20{margin-bottom:calc(var(--spacing) * 20)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-2{height:calc(var(--spacing) * 2)}.h-\[2px\]{height:2px}.h-\[3px\]{height:3px}.h-\[64px\]{height:64px}.h-px{height:1px}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-8{width:calc(var(--spacing) * 8)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-left{transform-origin:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x: calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-0{--tw-translate-y: calc(var(--spacing) * -0);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,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-20>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 20) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 20) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-5{-moz-column-gap:calc(var(--spacing) * 5);column-gap:calc(var(--spacing) * 5)}.gap-x-6{-moz-column-gap:calc(var(--spacing) * 6);column-gap:calc(var(--spacing) * 6)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.rounded-full{border-radius:calc(infinity * 1px)}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-t-\[3px\]{border-top-style:var(--tw-border-style);border-top-width:3px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-\[var\(--color-accent\)\]\/30{border-color:color-mix(in srgb,oklch(.54 .17 30) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.border-\[var\(--color-accent\)\]\/30{border-color:color-mix(in oklab,var(--color-accent) 30%,transparent)}}.border-\[var\(--color-accent\)\]\/40{border-color:color-mix(in srgb,oklch(.54 .17 30) 40%,transparent)}@supports (color: color-mix(in lab,red,red)){.border-\[var\(--color-accent\)\]\/40{border-color:color-mix(in oklab,var(--color-accent) 40%,transparent)}}.border-\[var\(--color-border\)\]{border-color:var(--color-border)}.border-\[var\(--color-border\)\]\/60{border-color:color-mix(in srgb,oklch(.28 .008 70) 60%,transparent)}@supports (color: color-mix(in lab,red,red)){.border-\[var\(--color-border\)\]\/60{border-color:color-mix(in oklab,var(--color-border) 60%,transparent)}}.bg-\[var\(--color-accent\)\]{background-color:var(--color-accent)}.bg-\[var\(--color-accent\)\]\/40{background-color:color-mix(in srgb,oklch(.54 .17 30) 40%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-\[var\(--color-accent\)\]\/40{background-color:color-mix(in oklab,var(--color-accent) 40%,transparent)}}.bg-\[var\(--color-bg\)\]{background-color:var(--color-bg)}.bg-\[var\(--color-bg\)\]\/98{background-color:color-mix(in srgb,oklch(.14 .006 80) 98%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-\[var\(--color-bg\)\]\/98{background-color:color-mix(in oklab,var(--color-bg) 98%,transparent)}}.bg-\[var\(--color-border\)\]{background-color:var(--color-border)}.bg-transparent{background-color:transparent}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-24{padding-top:calc(var(--spacing) * 24)}.pb-32{padding-bottom:calc(var(--spacing) * 32)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading, var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--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))}.text-\[0\.6rem\]{font-size:.6rem}.text-\[clamp\(1\.25rem\,2\.5vw\,1\.75rem\)\]{font-size:clamp(1.25rem,2.5vw,1.75rem)}.text-\[clamp\(2\.5rem\,6vw\,4rem\)\]{font-size:clamp(2.5rem,6vw,4rem)}.text-\[clamp\(2rem\,5vw\,3rem\)\]{font-size:clamp(2rem,5vw,3rem)}.text-\[clamp\(4rem\,10vw\,7\.5rem\)\]{font-size:clamp(4rem,10vw,7.5rem)}.leading-\[0\.9\]{--tw-leading: .9;line-height:.9}.leading-\[0\.85\]{--tw-leading: .85;line-height:.85}.leading-\[1\.05\]{--tw-leading: 1.05;line-height:1.05}.leading-relaxed{--tw-leading: var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading: var(--leading-snug);line-height:var(--leading-snug)}.font-\[var\(--font-body\)\]{--tw-font-weight: var(--font-body);font-weight:var(--font-body)}.font-\[var\(--font-display\)\]{--tw-font-weight: var(--font-display);font-weight:var(--font-display)}.font-black{--tw-font-weight: var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight: var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight: var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking: -.01em;letter-spacing:-.01em}.tracking-\[-0\.02em\]{--tw-tracking: -.02em;letter-spacing:-.02em}.tracking-\[-0\.03em\]{--tw-tracking: -.03em;letter-spacing:-.03em}.tracking-\[0\.15em\]{--tw-tracking: .15em;letter-spacing:.15em}.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-wider{--tw-tracking: var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-\[var\(--color-accent\)\]{color:var(--color-accent)}.text-\[var\(--color-text\)\]{color:var(--color-text)}.text-\[var\(--color-text-inverse\)\]{color:var(--color-text-inverse)}.text-\[var\(--color-text-muted\)\]{color:var(--color-text-muted)}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-25{opacity:25%}.backdrop-blur-sm{--tw-backdrop-blur: blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,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))}.duration-150{--tw-duration: .15s;transition-duration:.15s}@media(hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x: calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}}@media(hover:hover){.group-hover\:-translate-y-1:is(:where(.group):hover *){--tw-translate-y: calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}}@media(hover:hover){.group-hover\:text-\[var\(--color-accent\)\]:is(:where(.group):hover *){color:var(--color-accent)}}@media(hover:hover){.group-hover\:text-\[var\(--color-text\)\]:is(:where(.group):hover *){color:var(--color-text)}}@media(hover:hover){.group-hover\:text-\[var\(--color-text-secondary\)\]:is(:where(.group):hover *){color:var(--color-text-secondary)}}.selection\:bg-\[var\(--color-accent\)\]\/30 *::-moz-selection{background-color:color-mix(in srgb,oklch(.54 .17 30) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.selection\:bg-\[var\(--color-accent\)\]\/30 *::-moz-selection{background-color:color-mix(in oklab,var(--color-accent) 30%,transparent)}}.selection\:bg-\[var\(--color-accent\)\]\/30 *::selection{background-color:color-mix(in srgb,oklch(.54 .17 30) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.selection\:bg-\[var\(--color-accent\)\]\/30 *::selection{background-color:color-mix(in oklab,var(--color-accent) 30%,transparent)}}.selection\:bg-\[var\(--color-accent\)\]\/30::-moz-selection{background-color:color-mix(in srgb,oklch(.54 .17 30) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.selection\:bg-\[var\(--color-accent\)\]\/30::-moz-selection{background-color:color-mix(in oklab,var(--color-accent) 30%,transparent)}}.selection\:bg-\[var\(--color-accent\)\]\/30::selection{background-color:color-mix(in srgb,oklch(.54 .17 30) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.selection\:bg-\[var\(--color-accent\)\]\/30::selection{background-color:color-mix(in oklab,var(--color-accent) 30%,transparent)}}@media(hover:hover){.hover\:border-\[var\(--color-accent\)\]:hover{border-color:var(--color-accent)}}@media(hover:hover){.hover\:bg-\[var\(--color-accent-hover\)\]:hover{background-color:var(--color-accent-hover)}}@media(hover:hover){.hover\:bg-\[var\(--color-surface\)\]\/60:hover{background-color:color-mix(in srgb,oklch(.17 .006 80) 60%,transparent)}@supports (color: color-mix(in lab,red,red)){.hover\:bg-\[var\(--color-surface\)\]\/60:hover{background-color:color-mix(in oklab,var(--color-surface) 60%,transparent)}}}@media(hover:hover){.hover\:text-\[var\(--color-accent\)\]:hover{color:var(--color-accent)}}@media(min-width:40rem){.sm\:flex-row{flex-direction:row}}@media(min-width:40rem){.sm\:items-center{align-items:center}}@media(min-width:48rem){.md\:flex{display:flex}}@media(min-width:48rem){.md\:hidden{display:none}}@media(min-width:48rem){.md\:flex-row{flex-direction:row}}@media(min-width:48rem){.md\:items-baseline{align-items:baseline}}@media(min-width:48rem){.md\:justify-between{justify-content:space-between}}@media(min-width:48rem){.md\:px-12{padding-inline:calc(var(--spacing) * 12)}}}:root{font-family:var(--font-body);color-scheme:dark;scroll-behavior:smooth;overflow-y:auto;scrollbar-width:none}:root::-webkit-scrollbar{display:none}body{background-color:var(--color-bg);color:var(--color-text);margin:0;overflow:visible;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-moz-selection{background-color:#bd3a2b4d;color:var(--color-text)}::selection{background-color:#bd3a2b4d;color:var(--color-text)}.section-label{font-family:var(--font-display);font-size:.75rem;font-weight:600;font-style:italic;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}.section-divider{height:2px;background:var(--color-border);flex-grow:1;max-width:12rem;margin-left:1rem;transform-origin:left;animation:draw-line .6s var(--ease-out-expo) forwards}@keyframes draw-line{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}.scroll-progress{position:fixed;top:0;left:0;height:2px;background:var(--color-accent);z-index:200;transform-origin:left}.grain{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}.grid-overlay{position:fixed;inset:0;z-index:99;pointer-events:none;opacity:.04;background-image:linear-gradient(to right,var(--color-border) 1px,transparent 1px),linear-gradient(to bottom,var(--color-border) 1px,transparent 1px);background-size:96px 96px}.nav-link{position:relative;padding-bottom:2px}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease-out-expo)}.nav-link:hover:after{transform:scaleX(1)}.skill-item{position:relative;overflow:hidden}.skill-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--color-accent);transform:scaleY(0);transform-origin:bottom;transition:transform .2s var(--ease-out-expo)}.skill-item:hover:before{transform:scaleY(1)}.skill-item:hover{color:var(--color-text)}.project-row{position:relative}.project-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--color-accent);opacity:0;transform:scaleY(.4);transform-origin:center;transition:opacity .25s var(--ease-out-expo),transform .25s var(--ease-out-expo)}.project-row:hover:before{opacity:1;transform:scaleY(1)}.experience-row{position:relative}.experience-row:before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:3px;background:var(--color-accent);transform:scaleY(0);transform-origin:top;transition:transform .3s var(--ease-out-expo)}.experience-row:hover:before{transform:scaleY(1)}.btn-press{transition:transform .08s var(--ease-out-quart)}.btn-press:active{transform:scale(.97)}.btn-primary{transition:transform .15s var(--ease-out-expo),background-color .15s var(--ease-out-quart)}.btn-primary:hover{transform:translateY(-1px)}.btn-outline{transition:transform .15s var(--ease-out-expo),border-color .15s var(--ease-out-quart),color .15s var(--ease-out-quart)}.btn-outline:hover{transform:translateY(-1px)}.mobile-menu-enter{animation:menu-slide-in .25s var(--ease-out-expo) forwards}@keyframes menu-slide-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.mobile-menu-item{animation:menu-item-in .2s var(--ease-out-expo) both}@keyframes menu-item-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@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-space-y-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-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;}@property --tw-duration{syntax: "*"; inherits: false;}@keyframes pulse{50%{opacity:.5}}@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-space-y-reverse: 0;--tw-border-style: solid;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-backdrop-blur: initial;--tw-backdrop-brightness: initial;--tw-backdrop-contrast: initial;--tw-backdrop-grayscale: initial;--tw-backdrop-hue-rotate: initial;--tw-backdrop-invert: initial;--tw-backdrop-opacity: initial;--tw-backdrop-saturate: initial;--tw-backdrop-sepia: initial;--tw-duration: initial}}}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:300;src:url(./fraunces-vietnamese-300-normal-BrBjvxUu.woff2) format("woff2"),url(./fraunces-vietnamese-300-normal-CmQ6M8D-.woff) format("woff");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:Fraunces;font-style:normal;font-display:swap;font-weight:300;src:url(./fraunces-latin-ext-300-normal-BvV3UMMg.woff2) format("woff2"),url(./fraunces-latin-ext-300-normal-BAkGoidE.woff) format("woff");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:Fraunces;font-style:normal;font-display:swap;font-weight:300;src:url(./fraunces-latin-300-normal-CTWA4xHV.woff2) format("woff2"),url(./fraunces-latin-300-normal-BJaf1pbq.woff) format("woff");unicode-range:U+0000-00FF,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:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(./fraunces-vietnamese-400-normal-CvGt0Ybw.woff2) format("woff2"),url(./fraunces-vietnamese-400-normal-B65MOf9T.woff) format("woff");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:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(./fraunces-latin-ext-400-normal-D8gbi3Gu.woff2) format("woff2"),url(./fraunces-latin-ext-400-normal-UihxqfOe.woff) format("woff");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:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(./fraunces-latin-400-normal-6IfK1voy.woff2) format("woff2"),url(./fraunces-latin-400-normal-NUPT2cO8.woff) format("woff");unicode-range:U+0000-00FF,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:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(./fraunces-vietnamese-500-normal-GOH_-EGq.woff2) format("woff2"),url(./fraunces-vietnamese-500-normal-B-KbxExq.woff) format("woff");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:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(./fraunces-latin-ext-500-normal-Z5DV8IzT.woff2) format("woff2"),url(./fraunces-latin-ext-500-normal-BMcFk1Xs.woff) format("woff");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:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(./fraunces-latin-500-normal-DnGCNyPD.woff2) format("woff2"),url(./fraunces-latin-500-normal-BTR4KCeb.woff) format("woff");unicode-range:U+0000-00FF,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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(./fraunces-vietnamese-600-normal-BjlAJixd.woff2) format("woff2"),url(./fraunces-vietnamese-600-normal-DlAl5EAR.woff) format("woff");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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(./fraunces-latin-ext-600-normal-BtzmzP0X.woff2) format("woff2"),url(./fraunces-latin-ext-600-normal-B0Dy4lqi.woff) format("woff");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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(./fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(./fraunces-latin-600-normal-DL5QCzvS.woff) format("woff");unicode-range:U+0000-00FF,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:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(./fraunces-vietnamese-700-normal-DH94m5DZ.woff2) format("woff2"),url(./fraunces-vietnamese-700-normal-DxawQjq2.woff) format("woff");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:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(./fraunces-latin-ext-700-normal-CanUGppC.woff2) format("woff2"),url(./fraunces-latin-ext-700-normal-DuBstVeD.woff) format("woff");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:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(./fraunces-latin-700-normal-CEOla-zY.woff2) format("woff2"),url(./fraunces-latin-700-normal-DTjk5d1Q.woff) format("woff");unicode-range:U+0000-00FF,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:Fraunces;font-style:normal;font-display:swap;font-weight:800;src:url(./fraunces-vietnamese-800-normal-B5-KC0PG.woff2) format("woff2"),url(./fraunces-vietnamese-800-normal-Ciifa4CI.woff) format("woff");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:Fraunces;font-style:normal;font-display:swap;font-weight:800;src:url(./fraunces-latin-ext-800-normal-DYQACqvw.woff2) format("woff2"),url(./fraunces-latin-ext-800-normal-pDzgxm9I.woff) format("woff");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:Fraunces;font-style:normal;font-display:swap;font-weight:800;src:url(./fraunces-latin-800-normal-5RM8DebB.woff2) format("woff2"),url(./fraunces-latin-800-normal-B3oGScaA.woff) format("woff");unicode-range:U+0000-00FF,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:Fraunces;font-style:normal;font-display:swap;font-weight:900;src:url(./fraunces-vietnamese-900-normal-BwLbQoNo.woff2) format("woff2"),url(./fraunces-vietnamese-900-normal-22-IZO0F.woff) format("woff");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:Fraunces;font-style:normal;font-display:swap;font-weight:900;src:url(./fraunces-latin-ext-900-normal-B8j5GSzS.woff2) format("woff2"),url(./fraunces-latin-ext-900-normal-B2hmprcz.woff) format("woff");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:Fraunces;font-style:normal;font-display:swap;font-weight:900;src:url(./fraunces-latin-900-normal-DmBL83SS.woff2) format("woff2"),url(./fraunces-latin-900-normal-D67OkaMf.woff) format("woff");unicode-range:U+0000-00FF,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:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./dm-sans-latin-ext-400-normal-BtiwyxMk.woff2) format("woff2"),url(./dm-sans-latin-ext-400-normal-BjWJ59Pq.woff) format("woff");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:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(./dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff");unicode-range:U+0000-00FF,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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./dm-sans-latin-ext-500-normal-BJfUCQsA.woff2) format("woff2"),url(./dm-sans-latin-ext-500-normal-DR84L5F-.woff) format("woff");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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(./dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff");unicode-range:U+0000-00FF,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}
