/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:host,:root{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--breakpoint-2xl:96rem;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--radius-2xl:calc(var(--radius) + 8px);--radius-3xl:calc(var(--radius) + 12px);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-geist-sans,"Geist","Geist Sans",ui-sans-serif),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,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,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color: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;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body,html{font-family:var(--font-geist-sans,"Geist","Geist Sans",ui-sans-serif),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;position:relative;overflow-x:clip}body{background-color:var(--background);color:var(--foreground);font-kerning:normal;font-optical-sizing:auto}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-full{height:100%}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-svh{min-height:100svh}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[15ch\]{max-width:15ch}.max-w-\[16ch\]{max-width:16ch}.max-w-\[17ch\]{max-width:17ch}.max-w-\[30ch\]{max-width:30ch}.max-w-\[34ch\]{max-width:34ch}.max-w-\[54ch\]{max-width:54ch}.max-w-\[58ch\]{max-width:58ch}.max-w-\[60ch\]{max-width:60ch}.max-w-\[62ch\]{max-width:62ch}.max-w-\[68ch\]{max-width:68ch}.max-w-full{max-width:100%}.max-w-screen-2xl{max-width:var(--breakpoint-2xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%}.scale-100,.scale-75{scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%}.resize{resize:both}.flex-col{flex-direction:column}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.overflow-x-clip{overflow-x:clip}.rounded-2xl{border-radius:calc(var(--radius) + 8px)}.rounded-3xl{border-radius:calc(var(--radius) + 12px)}.rounded-full{border-radius:3.40282e+38px}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border,.border-border\/70{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/70{border-color:color-mix(in oklab,var(--border) 70%,transparent)}}.bg-background{background-color:var(--background)}.bg-card{background-color:var(--card)}.bg-portfolio-green{background-color:var(--portfolio-green)}.bg-primary{background-color:var(--primary)}.bg-transparent{background-color:#0000}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-9{padding-block:calc(var(--spacing) * 9)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-14{padding-block:calc(var(--spacing) * 14)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-14{padding-bottom:calc(var(--spacing) * 14)}.text-center{text-align:center}.text-left{text-align:left}.align-top{vertical-align:top}.text-\[0\.7rem\]{font-size:.7rem}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-portfolio-blue{color:var(--portfolio-blue)}.text-portfolio-green{color:var(--portfolio-green)}.text-portfolio-inverse-foreground\/75{color:var(--portfolio-inverse-foreground)}@supports (color:color-mix(in lab,red,red)){.text-portfolio-inverse-foreground\/75{color:color-mix(in oklab,var(--portfolio-inverse-foreground) 75%,transparent)}}.text-portfolio-on-green{color:var(--portfolio-on-green)}.text-primary-foreground{color:var(--primary-foreground)}.not-italic{font-style:normal}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-\[var\(--portfolio-shadow-soft\)\]{--tw-shadow:var(--portfolio-shadow-soft)}.shadow-\[var\(--portfolio-shadow-soft\)\],.shadow-none{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,color\,box-shadow\]{transition-property:background-color,border-color,color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,color\,transform\]{transition-property:background-color,border-color,color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-500{--tw-duration:.5s;transition-duration:.5s}@media (hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.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)}.group-hover\:-translate-y-0\.5:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:scale-\[1\.035\]:is(:where(.group):hover *){scale:1.035}.hover\:border-portfolio-blue:hover{border-color:var(--portfolio-blue)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-muted:hover,.hover\:bg-muted\/70:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/70:hover{background-color:color-mix(in oklab,var(--muted) 70%,transparent)}}.hover\:bg-portfolio-blue:hover{background-color:var(--portfolio-blue)}.hover\:bg-primary:hover{background-color:var(--primary)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-portfolio-blue:hover{color:var(--portfolio-blue)}.hover\:text-portfolio-green:hover{color:var(--portfolio-green)}.hover\:text-primary-foreground:hover{color:var(--primary-foreground)}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--background)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}@media (min-width:40rem){.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:w-auto{width:auto}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:py-12{padding-block:calc(var(--spacing) * 12)}.sm\:whitespace-nowrap{white-space:nowrap}}@media (min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline-flex{display:inline-flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[minmax\(0\,1fr\)_minmax\(160px\,0\.5fr\)\]{grid-template-columns:minmax(0,1fr) minmax(160px,.5fr)}.md\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.md\:pt-0{padding-top:calc(var(--spacing) * 0)}}@media (min-width:64rem){.lg\:inline-flex{display:inline-flex}.lg\:grid-cols-\[minmax\(0\,1fr\)_420px\]{grid-template-columns:minmax(0,1fr) 420px}.lg\:grid-cols-\[minmax\(0\,1fr\)_460px\]{grid-template-columns:minmax(0,1fr) 460px}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(180px\,0\.42fr\)_minmax\(280px\,0\.58fr\)\]{grid-template-columns:minmax(0,1fr) minmax(180px,.42fr) minmax(280px,.58fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(280px\,420px\)\]{grid-template-columns:minmax(0,1fr) minmax(280px,420px)}.lg\:items-center{align-items:center}.lg\:items-end{align-items:flex-end}.lg\:gap-10{gap:calc(var(--spacing) * 10)}.lg\:gap-12{gap:calc(var(--spacing) * 12)}.lg\:px-12{padding-inline:calc(var(--spacing) * 12)}.lg\:py-16{padding-block:calc(var(--spacing) * 16)}.lg\:py-20{padding-block:calc(var(--spacing) * 20)}.lg\:pt-12{padding-top:calc(var(--spacing) * 12)}.lg\:pb-20{padding-bottom:calc(var(--spacing) * 20)}.lg\:text-right{text-align:right}}@media (min-width:80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:gap-5{gap:calc(var(--spacing) * 5)}.xl\:px-16{padding-inline:calc(var(--spacing) * 16)}}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.type-intro{letter-spacing:0;font-size:clamp(1.0625rem,1rem + .32vw,1.375rem);font-weight:520;line-height:1.55}.type-section-title{letter-spacing:0;font-size:clamp(2rem,1.56rem + 1.9vw,4rem);font-weight:780;line-height:1.08}.type-card-title{letter-spacing:0;font-size:clamp(1.375rem,1.23rem + .62vw,2rem);font-weight:760;line-height:1.16}.type-body{letter-spacing:0;font-size:clamp(.9375rem,.92rem + .08vw,1rem);font-weight:450;line-height:1.6}.type-body-strong{letter-spacing:0;font-size:clamp(.9375rem,.9rem + .18vw,1.0625rem);font-weight:620;line-height:1.58}.type-section-copy{letter-spacing:0;font-size:clamp(1rem,.96rem + .2vw,1.125rem);font-weight:470;line-height:1.65}.type-label{font-size:clamp(.75rem,.72rem + .12vw,.8125rem);font-weight:720}.type-button,.type-label{letter-spacing:0;line-height:1.25rem}.type-button{font-size:clamp(.9375rem,.92rem + .08vw,1rem);font-weight:740}.type-caption{letter-spacing:0;font-size:.8125rem;font-weight:620;line-height:1.45}}:root{--background:#f4f1ea;--foreground:#11110f;--card:#fbfaf6;--card-foreground:#11110f;--popover:#fbfaf6;--popover-foreground:#11110f;--primary:#11110f;--primary-foreground:#fbfaf6;--secondary:#e9e4d8;--secondary-foreground:#11110f;--muted:#e7e1d5;--muted-foreground:#6d675f;--accent:#dfd8ca;--accent-foreground:#11110f;--destructive:#b42318;--border:#d8d0c0;--input:#d8d0c0;--ring:#11110f;--radius:.5rem;--portfolio-blue:#11110f;--portfolio-green:#2f6d57;--portfolio-ink:#11110f;--portfolio-line:#d8d0c0;--portfolio-muted:#6d675f;--portfolio-soft-blue:#e7e1d5;--portfolio-soft-green:#e7e1d5;--portfolio-surface:#fbfaf6;--portfolio-warm:#e6d6c4;--portfolio-on-blue:#fbfaf6;--portfolio-on-green:#fbfaf6;--portfolio-inverse:#11110f;--portfolio-inverse-foreground:#f4f1ea;--portfolio-shadow-soft:0 1px 0 #11110f14;--portfolio-shadow-card:0 1px 0 #11110f17,0 10px 26px #11110f0d;--portfolio-shadow-hero:0 1px 0 #11110f14}.dark{--background:#0d0d0c;--foreground:#f4f1ea;--card:#151513;--card-foreground:#f4f1ea;--popover:#151513;--popover-foreground:#f4f1ea;--primary:#f4f1ea;--primary-foreground:#11110f;--secondary:#22201d;--secondary-foreground:#f4f1ea;--muted:#211f1c;--muted-foreground:#aaa399;--accent:#2a2723;--accent-foreground:#f4f1ea;--destructive:#f87171;--border:#34312c;--input:#34312c;--ring:#f4f1ea;--portfolio-blue:#f4f1ea;--portfolio-green:#9bc7b5;--portfolio-ink:#f4f1ea;--portfolio-line:#34312c;--portfolio-muted:#aaa399;--portfolio-soft-blue:#22201d;--portfolio-soft-green:#22201d;--portfolio-surface:#151513;--portfolio-warm:#2b241d;--portfolio-on-blue:#11110f;--portfolio-on-green:#11110f;--portfolio-inverse:#f4f1ea;--portfolio-inverse-foreground:#11110f;--portfolio-shadow-soft:0 1px 0 #ffffff12;--portfolio-shadow-card:0 1px 0 #ffffff14,0 12px 28px #0000003d;--portfolio-shadow-hero:0 1px 0 #ffffff12}@media (prefers-reduced-motion:no-preference){.theme-transition-scope,.theme-transition-scope *{transition-property:background-color,border-color,box-shadow,color,fill,stroke,transform;transition-duration:.26s;transition-timing-function:cubic-bezier(.22,1,.36,1)}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-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}.landing-deferred{position:relative;content-visibility:auto;contain-intrinsic-size:auto 48rem}.landing-anchor,.landing-deferred{scroll-margin-top:4.25rem}.landing-header{--landing-header-bg:color-mix(in oklab,var(--background) 90%,transparent);--landing-header-bg-elevated:color-mix(in oklab,var(--background) 84%,transparent);--landing-header-fg:var(--foreground);--landing-header-muted:color-mix(in oklab,var(--foreground) 56%,var(--muted-foreground));--landing-header-border:color-mix(in oklab,var(--foreground) 14%,transparent);--landing-header-control-bg:color-mix(in oklab,var(--background) 68%,transparent);--landing-header-control-hover-bg:color-mix(in oklab,var(--foreground) 9%,var(--background));--landing-header-active-bg:color-mix(in oklab,var(--foreground) 9%,transparent);--landing-header-focus-ring:color-mix(in oklab,var(--landing-header-fg) 48%,transparent);color:var(--landing-header-fg);transform:translateZ(0)}.landing-header[data-tone=inverted]{--landing-header-bg:color-mix(in oklab,var(--foreground) 91%,transparent);--landing-header-bg-elevated:color-mix(in oklab,var(--foreground) 86%,transparent);--landing-header-fg:var(--background);--landing-header-muted:color-mix(in oklab,var(--background) 70%,transparent);--landing-header-border:color-mix(in oklab,var(--background) 18%,transparent);--landing-header-control-bg:color-mix(in oklab,var(--background) 9%,transparent);--landing-header-control-hover-bg:color-mix(in oklab,var(--background) 18%,transparent);--landing-header-active-bg:color-mix(in oklab,var(--background) 12%,transparent)}.landing-header-surface{position:relative;width:100%;border-bottom:1px solid var(--landing-header-border);background:var(--landing-header-bg);backface-visibility:hidden;backdrop-filter:blur(18px) saturate(1.08);color:var(--landing-header-fg);transform:translateZ(0);transition:background-color .26s cubic-bezier(.22,1,.36,1),border-color .26s cubic-bezier(.22,1,.36,1),color .22s ease}.landing-header[data-elevated=true] .landing-header-surface,.landing-header[data-menu-open=true] .landing-header-surface{background:var(--landing-header-bg-elevated)}.landing-header-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:4.25rem;gap:.75rem}.landing-header-brand{display:inline-flex;min-width:0;width:fit-content;align-items:center;border-radius:var(--radius-lg);color:var(--landing-header-fg);font-weight:780;outline:none;padding:.45rem .2rem;transition:color .18s ease,transform .22s cubic-bezier(.22,1,.36,1)}.landing-header-brand:focus-visible,.landing-header-icon-button:focus-visible,.landing-header-mobile-link:focus-visible,.landing-header-nav-link:focus-visible{box-shadow:0 0 0 2px var(--landing-header-bg),0 0 0 5px var(--landing-header-focus-ring);outline:none}.landing-header-brand-text{display:inline-flex;min-width:0;overflow:hidden}.landing-header-brand-letter{transition:color .18s ease,transform .22s cubic-bezier(.22,1,.36,1)}.landing-header-nav{justify-content:center;justify-self:center;gap:.55rem;min-width:0;border:1px solid var(--landing-header-border);background:color-mix(in oklab,var(--landing-header-control-bg) 72%,transparent);padding:.2rem .35rem}.landing-header-nav,.landing-header-nav-link{align-items:center;border-radius:999px;color:var(--landing-header-muted)}.landing-header-nav-link{position:relative;display:inline-flex;min-height:2.35rem;outline:none;padding:0 1rem;text-decoration:none;text-decoration-line:none;transition:background-color .18s ease,color .18s ease,transform .22s cubic-bezier(.22,1,.36,1)}.landing-header-nav-link[data-active=true]{background:var(--landing-header-active-bg);color:var(--landing-header-fg)}.landing-header-actions{display:flex;min-width:0;align-items:center;justify-content:flex-end;justify-self:end;gap:.45rem}.landing-header-icon-button{width:2.55rem;height:2.55rem;border:1px solid var(--landing-header-border);border-radius:999px;background:var(--landing-header-control-bg);box-shadow:none;color:var(--landing-header-fg);transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .22s cubic-bezier(.22,1,.36,1)}.landing-header-icon-button [aria-hidden=true],.landing-header-icon-button svg{color:currentColor}.landing-header-mobile-panel{position:absolute;top:100%;right:0;left:0;z-index:0;width:100%;border-top:1px solid var(--landing-header-border);border-bottom:1px solid var(--landing-header-border);background:var(--landing-header-bg-elevated);box-shadow:0 18px 42px color-mix(in oklab,var(--foreground) 12%,transparent);color:var(--landing-header-fg);opacity:0;pointer-events:none;transform:translate3d(0,-.75rem,0) scale(.985);transform-origin:top center;visibility:hidden;transition:opacity .22s ease,transform .26s cubic-bezier(.22,1,.36,1),visibility 0s linear .26s,border-color .18s ease,background-color .18s ease,color .18s ease}.landing-header-mobile-panel-open{opacity:1;pointer-events:auto;transform:translateZ(0) scale(1);visibility:visible;transition-delay:0s}.landing-header-mobile-panel-content{overflow:hidden}.landing-header-mobile-nav{padding-top:.75rem;padding-bottom:.75rem}.landing-header-mobile-link{display:flex;min-height:3rem;align-items:center;justify-content:space-between;border:1px solid transparent;border-radius:var(--radius-lg);color:var(--landing-header-muted);outline:none;padding:0 .85rem;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .22s cubic-bezier(.22,1,.36,1)}.landing-header-mobile-link[data-active=true]{border-color:var(--landing-header-border);background:var(--landing-header-active-bg);color:var(--landing-header-fg)}.landing-header-mobile-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-top:1px solid var(--landing-header-border);padding-top:.85rem;padding-bottom:calc(env(safe-area-inset-bottom) + .85rem)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.landing-header-brand:hover{color:var(--landing-header-fg);transform:translateY(-1px)}.landing-header-brand:hover .landing-header-brand-letter{transform:translateY(-.08rem)}.landing-header-mobile-link:hover,.landing-header-nav-link:hover{background:var(--landing-header-active-bg);color:var(--landing-header-fg);transform:translateY(-1px)}.landing-header-icon-button:hover{border-color:color-mix(in oklab,var(--landing-header-fg) 36%,transparent);background:var(--landing-header-control-hover-bg);color:var(--landing-header-fg);transform:translateY(-2px)}}@media (min-width:768px){.landing-header-inner{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}}@media (max-width:767px){.landing-header-inner{min-height:4rem}.landing-anchor,.landing-deferred{scroll-margin-top:4rem}.landing-header-actions{gap:.38rem}.landing-header-icon-button{width:2.45rem;height:2.45rem}}@media (prefers-reduced-motion:reduce){.landing-header,.landing-header *,.landing-header-surface{transition-delay:0s;transition-duration:1ms}}.landing-hero-shell{min-height:clamp(38rem,74svh,50rem)}.landing-hero-stage:before{position:absolute;inset:-4rem -1rem -3rem;z-index:-2;background:radial-gradient(ellipse at 50% 44%,color-mix(in oklab,var(--card) 48%,transparent) 0,color-mix(in oklab,var(--card) 22%,transparent) 38%,transparent 72%),linear-gradient(180deg,transparent 0,color-mix(in oklab,var(--portfolio-soft-green) 14%,transparent) 82%,transparent 100%);content:"";mask-image:radial-gradient(ellipse at center,#000 0,#000 58%,transparent 86%);opacity:.48}.landing-hero-stage:after{position:absolute;inset:auto -1rem -4.5rem;z-index:-2;height:12rem;background:linear-gradient(180deg,color-mix(in oklab,var(--portfolio-soft-green) 16%,transparent) 0,transparent 100%);content:"";opacity:.34;pointer-events:none}.dark .landing-hero-stage:before{background:radial-gradient(ellipse at 50% 44%,color-mix(in oklab,var(--card) 46%,transparent) 0,color-mix(in oklab,var(--portfolio-soft-blue) 24%,transparent) 42%,transparent 76%),linear-gradient(180deg,transparent 0,color-mix(in oklab,var(--portfolio-soft-green) 14%,transparent) 84%,transparent 100%);opacity:.42}.dark .landing-hero-stage:after{opacity:.2}.landing-motion-layer,.landing-stagger-item{min-width:0}.landing-motion-layer{transform:translateZ(0);will-change:transform}@media (prefers-reduced-motion:reduce){.landing-motion-layer{will-change:auto}}.landing-background-base{position:absolute;inset:0 0 auto;min-height:190rem;background:linear-gradient(180deg,color-mix(in oklab,var(--background) 94%,var(--portfolio-soft-blue)) 0,var(--background) 26%,color-mix(in oklab,var(--background) 96%,var(--portfolio-soft-green)) 58%,color-mix(in oklab,var(--background) 95%,var(--portfolio-soft-blue)) 100%);opacity:.9}.landing-background-grid{position:absolute;inset:0 0 auto;min-height:180rem;background:linear-gradient(90deg,color-mix(in oklab,var(--portfolio-blue) 4.5%,transparent) 0 1px,transparent 1px 100%),linear-gradient(0deg,color-mix(in oklab,var(--portfolio-green) 4%,transparent) 0 1px,transparent 1px 100%);background-size:104px 104px,104px 104px;mask-image:linear-gradient(180deg,#000,#000 40%,rgb(0 0 0/.64) 72%,transparent);opacity:.52}.dark .landing-background-base{background:linear-gradient(180deg,color-mix(in oklab,var(--background) 92%,var(--portfolio-soft-blue)) 0,var(--background) 28%,color-mix(in oklab,var(--background) 94%,var(--portfolio-soft-green)) 62%,color-mix(in oklab,var(--background) 92%,var(--portfolio-soft-blue)) 100%);opacity:.94}.dark .landing-background-grid{opacity:.34}.landing-impact-section{position:relative;isolation:isolate}.landing-impact-shell{display:flex;flex-direction:column;gap:1.1rem}.landing-impact-header{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));gap:2rem;align-items:end}.landing-impact-lead{position:relative;padding-left:1.2rem}.landing-impact-lead:before{position:absolute;top:.35rem;bottom:.35rem;left:0;width:2px;border-radius:999px;background:linear-gradient(180deg,var(--portfolio-blue),color-mix(in oklab,var(--portfolio-blue) 18%,transparent));content:""}.landing-impact-proof-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.85rem;margin-top:.35rem}.landing-impact-proof-tile{position:relative;overflow:hidden;border:1px solid color-mix(in oklab,var(--portfolio-blue) 20%,transparent);border-radius:var(--radius-2xl);background:linear-gradient(135deg,color-mix(in oklab,var(--portfolio-blue) 10%,transparent) 0,transparent 55%),color-mix(in oklab,var(--card) 72%,transparent);box-shadow:var(--portfolio-shadow-soft);padding:.95rem 1rem;backdrop-filter:blur(14px)}.landing-impact-proof-tile:after{position:absolute;inset:auto 1rem 0;height:2px;border-radius:999px 999px 0 0;background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--portfolio-blue) 72%,transparent),transparent);content:""}.landing-impact-proof-value{display:block;min-width:7ch;color:color-mix(in oklab,var(--portfolio-blue) 86%,var(--foreground));font-size:1.55rem;font-weight:850;font-variant-numeric:tabular-nums;letter-spacing:0;line-height:1}.landing-impact-proof-tile p{margin-top:.35rem;color:var(--muted-foreground);font-size:.875rem;font-weight:690;letter-spacing:0;line-height:1.25}.landing-impact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1rem;margin-top:.55rem}.landing-impact-card{--impact-accent:var(--portfolio-blue);--impact-soft:var(--portfolio-soft-blue);position:relative;isolation:isolate;display:flex;min-height:auto;height:100%;flex-direction:column;gap:1.15rem;overflow:hidden;border:1px solid color-mix(in oklab,var(--impact-accent) 24%,var(--border));border-radius:var(--radius-3xl);background:linear-gradient(145deg,color-mix(in oklab,var(--impact-accent) 10%,transparent) 0,transparent 42%),color-mix(in oklab,var(--card) 91%,transparent);box-shadow:0 16px 44px rgb(15 23 42/.08);padding:1.45rem;backdrop-filter:blur(18px);transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.landing-impact-card:before{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,color-mix(in oklab,var(--impact-accent) 7%,transparent) 0 1px,transparent 1px 100%),linear-gradient(0deg,color-mix(in oklab,var(--impact-accent) 6%,transparent) 0 1px,transparent 1px 100%);background-size:2.6rem 2.6rem,2.6rem 2.6rem;content:"";mask-image:linear-gradient(145deg,#000,transparent 78%);opacity:.7}.landing-impact-card:after{position:absolute;inset:auto -20% -35% 18%;z-index:-1;height:12rem;border-radius:999px;background:color-mix(in oklab,var(--impact-accent) 14%,transparent);content:"";opacity:.6;transform:rotate(-8deg);transition:opacity .22s ease,transform .22s ease}.landing-impact-card:hover{border-color:color-mix(in oklab,var(--impact-accent) 42%,var(--border));box-shadow:0 20px 54px rgb(15 23 42/.1)}.landing-impact-card:hover:after{opacity:.86;transform:translate3d(0,-.35rem,0) rotate(-5deg)}.landing-impact-card[data-tone=ice]{--impact-accent:color-mix(in oklab,var(--portfolio-blue) 76%,var(--portfolio-green))}.landing-impact-card[data-tone=deep]{--impact-accent:color-mix(in oklab,var(--portfolio-blue) 82%,var(--foreground))}.landing-impact-card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.landing-impact-icon{display:inline-flex;width:3.15rem;height:3.15rem;align-items:center;justify-content:center;border:1px solid color-mix(in oklab,var(--impact-accent) 36%,transparent);border-radius:var(--radius-2xl);background:color-mix(in oklab,var(--impact-accent) 12%,var(--card));color:color-mix(in oklab,var(--impact-accent) 86%,var(--foreground));transition:background-color .22s ease,transform .22s ease}.landing-impact-icon svg{width:1.35rem;height:1.35rem}.landing-impact-card:hover .landing-impact-icon{background:color-mix(in oklab,var(--impact-accent) 18%,var(--card));transform:translate3d(0,-2px,0) rotate(-2deg)}.landing-impact-card-kicker{max-width:10rem;color:color-mix(in oklab,var(--impact-accent) 72%,var(--foreground));font-size:.78rem;font-weight:760;letter-spacing:0;line-height:1.1;text-align:right}.landing-impact-card-title{color:var(--foreground);font-size:1.7rem;font-weight:740;letter-spacing:0;line-height:1.08}.landing-impact-card-copy{color:var(--muted-foreground);font-weight:480;line-height:1.48}.landing-impact-proof-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;align-items:start;margin-top:auto;border:1px solid color-mix(in oklab,var(--impact-accent) 20%,transparent);border-radius:var(--radius-2xl);background:color-mix(in oklab,var(--impact-accent) 8%,transparent);padding:.9rem;color:color-mix(in oklab,var(--foreground) 86%,var(--impact-accent))}.landing-impact-proof-note svg{width:1rem;height:1rem;margin-top:.1rem;color:var(--impact-accent)}.landing-impact-proof-note strong{font-size:.95rem;font-weight:680;letter-spacing:0;line-height:1.35}.landing-impact-highlights{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}.landing-impact-highlights li{display:inline-flex;align-items:center;border:1px solid color-mix(in oklab,var(--impact-accent) 25%,transparent);border-radius:999px;background:color-mix(in oklab,var(--impact-accent) 9%,var(--card));padding:.38rem .62rem;color:color-mix(in oklab,var(--impact-accent) 74%,var(--foreground));font-size:.8125rem;font-weight:740;letter-spacing:0;line-height:1.1}.dark .landing-impact-card,.dark .landing-impact-proof-tile{box-shadow:none}.dark .landing-impact-card{background:linear-gradient(145deg,color-mix(in oklab,var(--impact-accent) 13%,transparent) 0,transparent 44%),color-mix(in oklab,var(--card) 88%,transparent)}.dark .landing-impact-card:hover{box-shadow:none}.dark .landing-impact-card[data-tone=deep]{--impact-accent:var(--portfolio-blue)}.dark .landing-impact-highlights li,.dark .landing-impact-proof-note{background:color-mix(in oklab,var(--impact-accent) 12%,transparent)}@media (min-width:1024px){.landing-impact-card{min-height:24rem}}.landing-stack-shell{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(1rem,2vw,1.5rem);align-items:stretch}.landing-stack-spotlight{position:relative;isolation:isolate;display:flex;min-height:28rem;flex-direction:column;justify-content:space-between;gap:clamp(1.25rem,2vw,1.75rem);overflow:hidden;border:1px solid color-mix(in oklab,var(--border) 86%,transparent);border-radius:var(--radius-lg);background:color-mix(in oklab,var(--card) 88%,var(--background) 12%);box-shadow:none;color:var(--foreground);padding:clamp(1.15rem,2vw,1.5rem);transition:background-color .22s ease,border-color .22s ease}.landing-stack-spotlight:before{content:none;display:none}.landing-stack-kicker{color:var(--muted-foreground);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:680;text-transform:lowercase}.landing-stack-title{max-width:12ch;color:var(--foreground);font-size:clamp(2.25rem,2rem + 1.1vw,3.25rem);font-weight:760;letter-spacing:0;line-height:1.02}.landing-stack-spotlight-copy{color:color-mix(in oklab,var(--foreground) 72%,var(--muted-foreground))}.landing-stack-ai-mark,.landing-stack-cluster-icon,.landing-stack-proof-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;transition:color .18s ease,transform .18s ease}.landing-stack-ai-mark{width:3rem;height:3rem;border:1px solid color-mix(in oklab,var(--border) 88%,transparent);border-radius:var(--radius-md);background:transparent;color:var(--muted-foreground)}.landing-stack-ai-mark svg{width:1.45rem;height:1.45rem}.landing-stack-proof{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;align-items:start;overflow:hidden;border-top:1px solid color-mix(in oklab,var(--border) 82%,transparent);background:transparent;padding:.9rem 0 0;transition:border-color .18s ease,color .18s ease}.landing-stack-chip:after,.landing-stack-proof:after{position:absolute;inset:-1px auto auto 0;width:44%;height:1px;background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--foreground) 68%,transparent),transparent);content:"";opacity:0;pointer-events:none;transform:translateX(-110%)}.landing-stack-proof-icon{width:1.75rem;height:1.75rem;border:0;background:transparent;color:var(--muted-foreground)}.landing-stack-proof-icon svg{width:1rem;height:1rem}.landing-stack-proof-caption{color:color-mix(in oklab,var(--foreground) 62%,var(--muted-foreground))}.landing-stack-proof .type-body-strong{color:var(--foreground)}.landing-stack-cluster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;height:100%}.landing-stack-cluster-motion-featured{grid-column:1/-1}.landing-stack-cluster{--stack-accent:var(--foreground);position:relative;isolation:isolate;display:flex;min-height:13.5rem;flex-direction:column;justify-content:space-between;gap:1.1rem;overflow:hidden;border:1px solid color-mix(in oklab,var(--border) 86%,transparent);border-radius:var(--radius-lg);background:color-mix(in oklab,var(--card) 88%,var(--background) 12%);box-shadow:none;padding:1rem;transition:background-color .22s ease,border-color .22s ease}.landing-stack-cluster:before{content:none;display:none}.landing-stack-cluster[data-featured=true]{min-height:12.75rem;background:color-mix(in oklab,var(--card) 88%,var(--background) 12%)}.landing-stack-cluster-icon{width:2rem;height:2rem;border:0;background:transparent;color:var(--muted-foreground)}.landing-stack-cluster-icon svg{width:1.1rem;height:1.1rem}.landing-stack-cluster-title{overflow-wrap:anywhere;color:var(--foreground);font-size:1.15rem;font-weight:740;letter-spacing:0;line-height:1.12}.landing-stack-list{display:grid;grid-template-columns:1fr;gap:0;margin:0;padding:0;list-style:none}.landing-stack-cluster[data-featured=true] .landing-stack-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:0 1rem}.landing-stack-chip{position:relative;display:inline-flex;min-height:2.45rem;max-width:100%;align-items:center;gap:.5rem;overflow:hidden;border-top:1px solid color-mix(in oklab,var(--border) 78%,transparent);background:transparent;padding:.48rem 0;color:color-mix(in oklab,var(--foreground) 72%,var(--muted-foreground));font-size:.8125rem;font-weight:660;letter-spacing:0;line-height:1.15;overflow-wrap:anywhere;transition:border-color .16s ease,color .16s ease}.landing-stack-chip:before{width:.34rem;height:1px;flex-shrink:0;background:currentColor;content:"";opacity:.72}.dark .landing-stack-chip:after,.dark .landing-stack-proof:after{background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--foreground) 82%,transparent),transparent)}.dark .landing-stack-spotlight{border-color:color-mix(in oklab,var(--border) 88%,transparent);background:color-mix(in oklab,var(--card) 88%,var(--background) 12%);color:var(--foreground)}.dark .landing-stack-spotlight-copy{color:color-mix(in oklab,var(--foreground) 68%,var(--muted-foreground))}.dark .landing-stack-proof{border-color:color-mix(in oklab,var(--border) 82%,transparent);background:transparent}.dark .landing-stack-proof-caption{color:color-mix(in oklab,var(--foreground) 58%,var(--muted-foreground))}.dark .landing-stack-ai-mark,.dark .landing-stack-proof-icon{border-color:color-mix(in oklab,var(--border) 88%,transparent);background:transparent;color:var(--muted-foreground)}.dark .landing-stack-cluster{background:color-mix(in oklab,var(--card) 88%,var(--background) 12%);border-color:color-mix(in oklab,var(--border) 88%,transparent)}.dark .landing-stack-chip{border-color:color-mix(in oklab,var(--border) 78%,transparent);background:transparent;color:color-mix(in oklab,var(--foreground) 72%,var(--muted-foreground))}@media (hover:hover){.landing-stack-spotlight:hover{border-color:color-mix(in oklab,var(--foreground) 22%,var(--border))}.landing-stack-proof:hover{border-color:color-mix(in oklab,var(--foreground) 24%,var(--border));color:var(--foreground)}.landing-stack-cluster:hover{border-color:color-mix(in oklab,var(--foreground) 26%,var(--border))}.landing-stack-chip:hover{border-color:color-mix(in oklab,var(--foreground) 18%,var(--border));color:var(--foreground)}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.landing-stack-cluster:hover .landing-stack-cluster-icon,.landing-stack-proof:hover .landing-stack-proof-icon,.landing-stack-spotlight:hover .landing-stack-ai-mark{transform:translateY(-1px)}}@media (prefers-reduced-motion:no-preference){.landing-stack-chip:after,.landing-stack-proof:after{animation:landing-stack-divider-flow 3.6s cubic-bezier(.22,1,.36,1) infinite}.landing-stack-chip:nth-child(2n):after,.landing-stack-proof:nth-child(2):after{animation-delay:.22s}.landing-stack-chip:nth-child(3n):after,.landing-stack-proof:nth-child(3):after{animation-delay:.44s}.landing-stack-chip:nth-child(4n):after{animation-delay:.66s}@keyframes landing-stack-divider-flow{0%{opacity:0;transform:translateX(-110%)}18%,58%{opacity:.82}to{opacity:0;transform:translateX(320%)}}}@media (min-width:1280px){.landing-stack-cluster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1023px){.landing-impact-grid,.landing-impact-header{grid-template-columns:1fr}.landing-impact-card{min-height:auto}.landing-stack-cluster-grid,.landing-stack-shell{grid-template-columns:1fr}.landing-stack-spotlight{min-height:auto}.landing-stack-cluster-motion-featured,.landing-stack-cluster[data-featured=true]{grid-column:auto}}@media (max-width:767px){.landing-impact-shell{gap:1.6rem}.landing-impact-lead{padding-left:0}.landing-impact-lead:before{display:none}.landing-impact-proof-grid{grid-template-columns:1fr}.landing-impact-card{padding:1.15rem}.landing-impact-card-title{font-size:1.45rem}.landing-impact-card-head{align-items:flex-start}.landing-impact-card-kicker{max-width:8rem}.landing-stack-title{max-width:13ch;font-size:2.35rem}.landing-stack-ai-mark{width:2.5rem;height:2.5rem}.landing-stack-cluster{min-height:auto}.landing-stack-cluster[data-featured=true] .landing-stack-list,.landing-stack-list{grid-template-columns:1fr}}.landing-journey-story{position:relative;isolation:isolate;overflow:clip}.landing-journey-story:before{position:absolute;inset:1rem 0 0;z-index:-1;border-block:1px solid color-mix(in oklab,var(--border) 42%,transparent);background:linear-gradient(90deg,color-mix(in oklab,var(--border) 34%,transparent) 0 1px,transparent 1px 100%),linear-gradient(0deg,color-mix(in oklab,var(--border) 28%,transparent) 0 1px,transparent 1px 100%);background-size:6.25rem 6.25rem,6.25rem 6.25rem;content:"";mask-image:linear-gradient(180deg,transparent,#000 12%,#000 82%,transparent);opacity:.42;pointer-events:none}.landing-journey-tone[data-tone=blue]{--journey-accent:var(--portfolio-blue);--journey-soft:var(--portfolio-soft-blue)}.landing-journey-tone[data-tone=green]{--journey-accent:var(--portfolio-green);--journey-soft:var(--portfolio-soft-green)}.landing-journey-tone[data-tone=warm]{--journey-accent:#b7791f;--journey-soft:var(--portfolio-warm)}.landing-journey-tone[data-tone=neutral]{--journey-accent:var(--portfolio-muted);--journey-soft:var(--muted)}.landing-journey-header{display:grid;max-width:54rem;margin-inline:auto;justify-items:center;gap:1.1rem;text-align:center}.landing-journey-title{max-width:15ch;font-size:3.75rem;font-weight:830;letter-spacing:0;line-height:1}.landing-journey-header .type-section-copy{max-width:48rem;color:var(--muted-foreground)}.landing-journey-timeline{position:relative;margin-top:4rem}.landing-journey-rail{position:absolute;top:.6rem;bottom:.6rem;left:50%;width:2px;overflow:hidden;border-radius:999px;background:color-mix(in oklab,var(--border) 78%,transparent);transform:translateX(-50%)}.landing-journey-progress{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(180deg,var(--portfolio-blue),color-mix(in oklab,var(--portfolio-blue) 78%,var(--portfolio-soft-blue)),var(--portfolio-blue));transform-origin:top}.landing-journey-list{display:grid;gap:2rem;margin:0;padding:0;list-style:none}.landing-journey-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;min-height:18rem}.landing-journey-node{position:absolute;top:1.35rem;left:50%;z-index:2;display:inline-flex;width:2.3rem;height:2.3rem;align-items:center;justify-content:center;border:1px solid color-mix(in oklab,var(--journey-accent) 25%,var(--border));border-radius:999px;background:color-mix(in oklab,var(--card) 96%,transparent);box-shadow:var(--portfolio-shadow-soft);color:color-mix(in oklab,var(--journey-accent) 82%,var(--foreground));transform:translateX(-50%);transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,color .22s ease,transform .22s ease}.landing-journey-node svg{width:1rem;height:1rem}.landing-journey-card{display:flex;width:min(100%,38.5rem);min-height:18rem;flex-direction:column;gap:1rem;border:1px solid color-mix(in oklab,var(--border) 84%,transparent);border-radius:var(--radius-3xl);background:linear-gradient(135deg,color-mix(in oklab,var(--journey-accent) 6%,transparent) 0,transparent 46%),color-mix(in oklab,var(--card) 96%,transparent);box-shadow:var(--portfolio-shadow-soft);padding:1.15rem;transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease}.landing-journey-item[data-side=left] .landing-journey-card{grid-column:1;justify-self:end;margin-right:3.1rem}.landing-journey-item[data-side=right] .landing-journey-card{grid-column:2;justify-self:start;margin-left:3.1rem}.landing-journey-item[data-active=true] .landing-journey-card{border-color:color-mix(in oklab,var(--journey-accent) 38%,var(--border));box-shadow:var(--portfolio-shadow-card)}.landing-journey-item[data-active=true] .landing-journey-node{border-color:color-mix(in oklab,var(--journey-accent) 54%,var(--border));background:color-mix(in oklab,var(--journey-accent) 12%,var(--card));box-shadow:0 16px 36px color-mix(in oklab,var(--journey-accent) 20%,transparent);color:color-mix(in oklab,var(--journey-accent) 92%,var(--foreground));transform:translateX(-50%) scale(1.06)}.landing-journey-item[data-featured=true]{min-height:24rem}.landing-journey-item[data-featured=true] .landing-journey-card{min-height:23rem;border-color:color-mix(in oklab,var(--portfolio-green) 42%,var(--border));background:linear-gradient(145deg,color-mix(in oklab,var(--portfolio-green) 12%,transparent) 0,transparent 58%),color-mix(in oklab,var(--card) 98%,transparent);box-shadow:var(--portfolio-shadow-card)}.landing-journey-card-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem}.landing-journey-company-block span,.landing-journey-period{font-size:.8125rem;font-weight:780;letter-spacing:0;line-height:1.1}.landing-journey-period{margin-bottom:.45rem;color:color-mix(in oklab,var(--journey-accent) 76%,var(--foreground))}.landing-journey-company-block{display:grid;justify-items:end;gap:.35rem;text-align:right}.landing-journey-company-block span{color:var(--muted-foreground)}.landing-journey-company-block strong{color:var(--foreground);font-size:1rem;font-weight:800;letter-spacing:0;line-height:1.1}.landing-journey-card-title{max-width:21ch;overflow-wrap:anywhere;font-size:1.55rem;font-weight:810;letter-spacing:0;line-height:1.05}.landing-journey-summary{color:var(--muted-foreground);font-size:1rem;font-weight:520;letter-spacing:0;line-height:1.55}.landing-journey-detail-list{display:grid;gap:.58rem}.landing-journey-detail-list span{position:relative;display:block;padding-left:1rem;color:color-mix(in oklab,var(--foreground) 82%,var(--muted-foreground));font-size:.925rem;font-weight:650;letter-spacing:0;line-height:1.35}.landing-journey-detail-list span:before{position:absolute;top:.55em;left:0;width:.42rem;height:.42rem;border-radius:999px;background:color-mix(in oklab,var(--journey-accent) 78%,var(--foreground));content:""}.landing-journey-proof{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem;border:1px solid color-mix(in oklab,var(--journey-accent) 18%,transparent);border-radius:var(--radius-2xl);background:color-mix(in oklab,var(--journey-accent) 7%,transparent);padding:.72rem .82rem}.landing-journey-proof span,.landing-journey-proof strong{font-size:.8125rem;letter-spacing:0;line-height:1.15}.landing-journey-proof span{color:var(--muted-foreground);font-weight:700}.landing-journey-proof strong{color:color-mix(in oklab,var(--journey-accent) 78%,var(--foreground));font-weight:800}.landing-journey-impact{border-left:2px solid color-mix(in oklab,var(--journey-accent) 56%,var(--border));padding-left:.8rem;color:color-mix(in oklab,var(--foreground) 88%,var(--muted-foreground));font-size:.95rem;font-weight:760;letter-spacing:0;line-height:1.35}.landing-journey-stack{display:flex;flex-wrap:wrap;gap:.5rem}.landing-journey-stack span{display:inline-flex;align-items:center;border:1px solid color-mix(in oklab,var(--journey-accent) 18%,transparent);border-radius:999px;background:color-mix(in oklab,var(--journey-accent) 7%,var(--muted));padding:.38rem .62rem;color:color-mix(in oklab,var(--journey-accent) 72%,var(--foreground));font-size:.75rem;font-weight:720;letter-spacing:0;line-height:1.1}.dark .landing-journey-story:before{opacity:.28}.dark .landing-journey-tone[data-tone=warm]{--journey-accent:#f6c35f}.dark .landing-journey-card{background:linear-gradient(135deg,color-mix(in oklab,var(--journey-accent) 9%,transparent) 0,transparent 48%),color-mix(in oklab,var(--card) 90%,transparent)}.dark .landing-journey-item[data-featured=true] .landing-journey-card{background:linear-gradient(145deg,color-mix(in oklab,var(--portfolio-green) 14%,transparent) 0,transparent 58%),color-mix(in oklab,var(--card) 94%,transparent)}.dark .landing-journey-node{background:color-mix(in oklab,var(--card) 92%,transparent)}@media (hover:hover){.landing-journey-card:hover{border-color:color-mix(in oklab,var(--journey-accent) 34%,var(--border));box-shadow:var(--portfolio-shadow-card);transform:translateY(-2px)}}@media (min-width:1024px){.landing-journey-item[data-featured=true] .landing-journey-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem}}@media (max-width:1023px){.landing-journey-title{font-size:3rem}.landing-journey-timeline{margin-top:3rem}.landing-journey-list{gap:1.35rem}.landing-journey-item,.landing-journey-item[data-featured=true]{grid-template-columns:1fr;min-height:auto;padding-left:3rem}.landing-journey-rail{left:1rem}.landing-journey-node{left:1rem;width:2rem;height:2rem}.landing-journey-item[data-side=left] .landing-journey-card,.landing-journey-item[data-side=right] .landing-journey-card{grid-column:1;justify-self:stretch;margin-inline:0}.landing-journey-card,.landing-journey-item[data-featured=true] .landing-journey-card{width:100%;min-height:auto}}@media (max-width:767px){.landing-journey-story:before{inset-inline:-1rem}.landing-journey-header{justify-items:start;text-align:left}.landing-journey-title{max-width:12ch;font-size:2.35rem}.landing-journey-timeline{margin-top:2.4rem}.landing-journey-item,.landing-journey-item[data-featured=true]{padding-left:2.6rem}.landing-journey-rail{left:.8rem}.landing-journey-node{left:.8rem;width:1.82rem;height:1.82rem}.landing-journey-card{border-radius:var(--radius-2xl);padding:1rem}.landing-journey-card-title{font-size:1.32rem}.landing-journey-company-block{justify-items:start;text-align:left}}@media (prefers-reduced-motion:reduce){.landing-journey-card,.landing-journey-node,.landing-journey-stack span{transition:none}}.landing-inverted-band{position:relative;isolation:isolate;--journey-card-bg:color-mix(in oklab,var(--portfolio-inverse) 90%,var(--portfolio-blue));--journey-card-bg-active:color-mix(in oklab,var(--portfolio-inverse) 86%,var(--portfolio-blue));--journey-card-bg-featured:color-mix(in oklab,var(--portfolio-inverse) 82%,var(--portfolio-blue));--journey-card-border:color-mix(in oklab,var(--portfolio-blue) 30%,var(--portfolio-inverse-foreground) 13%);--journey-card-border-active:color-mix(in oklab,var(--portfolio-blue) 48%,var(--portfolio-inverse-foreground) 14%);--journey-card-shadow:0 10px 30px rgb(2 8 23/0.1);--journey-card-shadow-active:0 14px 38px rgb(2 8 23/0.13);overflow:clip;background:radial-gradient(ellipse at 18% 8%,color-mix(in oklab,var(--portfolio-blue) 18%,transparent) 0,transparent 36%),radial-gradient(ellipse at 82% 42%,color-mix(in oklab,var(--portfolio-blue) 14%,transparent) 0,transparent 42%),linear-gradient(180deg,color-mix(in oklab,var(--portfolio-inverse) 97%,var(--portfolio-blue)) 0,var(--portfolio-inverse) 28%,var(--portfolio-inverse) 100%);color:var(--portfolio-inverse-foreground)}.landing-inverted-band .landing-journey-tone{--journey-accent:var(--portfolio-blue);--journey-soft:var(--portfolio-soft-blue)}.landing-inverted-band:before{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,color-mix(in oklab,var(--portfolio-inverse-foreground) 8%,transparent) 0 1px,transparent 1px 100%),linear-gradient(0deg,color-mix(in oklab,var(--portfolio-inverse-foreground) 7%,transparent) 0 1px,transparent 1px 100%);background-size:6.25rem 6.25rem,6.25rem 6.25rem;content:"";mask-image:linear-gradient(180deg,#000,#000 78%,transparent);opacity:.52;pointer-events:none}.landing-inverted-band:after{position:absolute;right:max(2rem,calc((100vw - 96rem) / 2));bottom:0;left:max(2rem,calc((100vw - 96rem) / 2));height:1px;background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--portfolio-inverse-foreground) 22%,transparent),transparent);content:"";pointer-events:none}.landing-inverted-band .landing-journey-story{overflow:visible}.landing-inverted-band .landing-journey-story:before{content:none}.landing-inverted-band .landing-journey-header{max-width:60rem}.landing-inverted-band .landing-journey-title{max-width:17ch;color:var(--portfolio-inverse-foreground)}.landing-contact-layout .type-section-copy{color:color-mix(in oklab,var(--portfolio-inverse-foreground) 74%,transparent)}.landing-inverted-band .landing-journey-header .type-section-copy,.landing-inverted-band .landing-journey-summary{color:color-mix(in oklab,var(--portfolio-inverse-foreground) 76%,transparent)}.landing-inverted-band .landing-journey-rail{background:color-mix(in oklab,var(--portfolio-inverse-foreground) 13%,transparent)}.landing-inverted-band .landing-journey-card{border-color:var(--journey-card-border);background:linear-gradient(135deg,color-mix(in oklab,var(--portfolio-blue) 13%,transparent) 0,transparent 54%),var(--journey-card-bg);box-shadow:var(--journey-card-shadow);color:var(--portfolio-inverse-foreground)}.landing-inverted-band
	.landing-journey-item[data-active=true]
	.landing-journey-card{border-color:var(--journey-card-border-active);background:linear-gradient(135deg,color-mix(in oklab,var(--portfolio-blue) 16%,transparent) 0,transparent 56%),var(--journey-card-bg-active);box-shadow:var(--journey-card-shadow-active)}.landing-inverted-band
	.landing-journey-item[data-featured=true]
	.landing-journey-card{border-color:color-mix(in oklab,var(--portfolio-blue) 58%,var(--portfolio-inverse-foreground) 12%);background:linear-gradient(145deg,color-mix(in oklab,var(--portfolio-blue) 20%,transparent) 0,transparent 60%),var(--journey-card-bg-featured);box-shadow:var(--journey-card-shadow-active)}.landing-inverted-band .landing-journey-company-block span,.landing-inverted-band .landing-journey-detail-list span,.landing-inverted-band .landing-journey-impact,.landing-inverted-band .landing-journey-proof span{color:color-mix(in oklab,var(--portfolio-inverse-foreground) 74%,transparent)}.landing-inverted-band .landing-journey-period,.landing-inverted-band .landing-journey-proof strong{color:color-mix(in oklab,var(--portfolio-blue) 76%,var(--portfolio-inverse-foreground))}.landing-inverted-band .landing-journey-card-title,.landing-inverted-band .landing-journey-company-block strong{color:var(--portfolio-inverse-foreground)}.landing-inverted-band .landing-journey-detail-list span:before{background:color-mix(in oklab,var(--portfolio-blue) 76%,var(--portfolio-inverse-foreground))}.landing-inverted-band .landing-journey-impact{border-left-color:color-mix(in oklab,var(--portfolio-blue) 56%,var(--portfolio-inverse-foreground) 18%)}.landing-inverted-band .landing-journey-proof{border-color:color-mix(in oklab,var(--portfolio-blue) 28%,transparent);background:color-mix(in oklab,var(--portfolio-blue) 10%,transparent)}.landing-inverted-band .landing-journey-node{border-color:color-mix(in oklab,var(--portfolio-blue) 36%,transparent);background:color-mix(in oklab,var(--portfolio-inverse) 88%,transparent);box-shadow:0 8px 20px rgb(2 8 23/.1)}.landing-inverted-band
	.landing-journey-item[data-active=true]
	.landing-journey-node{border-color:color-mix(in oklab,var(--portfolio-blue) 58%,transparent);background:color-mix(in oklab,var(--portfolio-inverse) 82%,var(--portfolio-blue));box-shadow:0 10px 24px rgb(2 8 23/.12);color:color-mix(in oklab,var(--portfolio-blue) 82%,var(--portfolio-inverse-foreground))}.landing-inverted-band .landing-journey-stack span{border-color:color-mix(in oklab,var(--portfolio-blue) 30%,transparent);background:color-mix(in oklab,var(--portfolio-inverse-foreground) 92%,var(--portfolio-blue));color:color-mix(in oklab,var(--portfolio-blue) 78%,var(--portfolio-inverse))}.landing-inverted-band .landing-contact-section{padding-top:3rem}.landing-contact-layout{overflow:hidden;border-top:1px solid color-mix(in oklab,var(--portfolio-inverse-foreground) 12%,transparent);padding-top:4rem}.landing-contact-layout .type-section-title{color:var(--portfolio-inverse-foreground)}.landing-link-blue{--landing-action-blue:#2f6fed;--landing-action-blue-strong:#2563eb;--landing-action-blue-hover:#1d4ed8;--landing-action-on-blue:#ffffff;background:linear-gradient(135deg,var(--landing-action-blue) 0,var(--landing-action-blue-strong) 100%);box-shadow:0 12px 28px color-mix(in oklab,var(--landing-action-blue-strong) 24%,transparent);color:var(--landing-action-on-blue)}.landing-link-blue:hover{background:linear-gradient(135deg,var(--landing-action-blue-strong) 0,var(--landing-action-blue-hover) 100%);box-shadow:0 14px 34px color-mix(in oklab,var(--landing-action-blue-strong) 30%,transparent);color:var(--landing-action-on-blue)}.landing-link-blue:focus-visible{box-shadow:0 0 0 2px var(--portfolio-inverse),0 0 0 5px color-mix(in oklab,var(--landing-action-blue) 58%,transparent),0 12px 28px color-mix(in oklab,var(--landing-action-blue-strong) 24%,transparent)}.landing-contact-card{border-color:color-mix(in oklab,var(--portfolio-blue) 18%,transparent);background:linear-gradient(145deg,color-mix(in oklab,var(--portfolio-blue) 10%,transparent) 0,transparent 46%),color-mix(in oklab,var(--portfolio-inverse-foreground) 96%,transparent);box-shadow:0 16px 42px rgb(2 8 23/.14);color:var(--portfolio-inverse)}.landing-contact-card-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:center;border-bottom:1px solid color-mix(in oklab,var(--portfolio-blue) 16%,transparent);padding-bottom:1rem}.landing-contact-avatar{position:relative;display:inline-flex;width:5.4rem;height:5.4rem;flex-shrink:0;align-items:center;justify-content:center;overflow:hidden;border:3px solid color-mix(in oklab,var(--portfolio-blue) 72%,white);border-radius:999px;background:linear-gradient(135deg,color-mix(in oklab,var(--portfolio-blue) 92%,var(--portfolio-inverse)) 0,color-mix(in oklab,var(--portfolio-blue) 52%,var(--portfolio-inverse)) 100%);box-shadow:0 0 0 6px color-mix(in oklab,var(--portfolio-blue) 12%,transparent),0 14px 30px rgb(2 8 23/.16);color:var(--portfolio-on-blue);font-size:1.35rem;font-weight:860;letter-spacing:0;line-height:1}.landing-contact-avatar:after{position:absolute;inset:10%;border:1px solid rgb(255 255 255/.22);border-radius:inherit;content:"";pointer-events:none}.landing-contact-eyebrow{color:color-mix(in oklab,var(--portfolio-blue) 78%,var(--portfolio-inverse));font-size:.8125rem;font-weight:780;letter-spacing:0;line-height:1.15}.landing-contact-name{margin-top:.2rem;color:var(--portfolio-inverse);font-size:1.45rem;font-weight:830;letter-spacing:0;line-height:1.02}.landing-contact-meta{color:color-mix(in oklab,var(--portfolio-inverse) 62%,transparent)}.landing-contact-note{border:1px solid color-mix(in oklab,var(--portfolio-blue) 18%,transparent);background:color-mix(in oklab,var(--portfolio-blue) 11%,transparent);color:color-mix(in oklab,var(--portfolio-inverse) 88%,var(--portfolio-blue))}@media (max-width:767px){.landing-contact-card-head{grid-template-columns:1fr;justify-items:start}.landing-contact-avatar{width:4.6rem;height:4.6rem}}.landing-project-card{--project-accent:var(--portfolio-blue);position:relative;display:flex;min-height:22.5rem;flex-direction:column;overflow:hidden;border:1px solid color-mix(in oklab,var(--border) 82%,transparent);border-radius:var(--radius-2xl);background:linear-gradient(135deg,color-mix(in oklab,var(--project-accent) 9%,transparent) 0,transparent 48%),color-mix(in oklab,var(--card) 94%,transparent);box-shadow:var(--portfolio-shadow-card);color:var(--foreground);cursor:pointer;font:inherit;outline:none;padding:0;text-align:left;transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease}.landing-project-card:focus-visible{border-color:color-mix(in oklab,var(--project-accent) 58%,var(--border));box-shadow:0 0 0 3px color-mix(in oklab,var(--project-accent) 18%,transparent),var(--portfolio-shadow-card)}.landing-project-card:before{position:absolute;inset:0;z-index:1;border-top:3px solid color-mix(in oklab,var(--project-accent) 68%,transparent);content:"";pointer-events:none}.landing-project-card[data-tone=blue],.landing-project-dialog[data-tone=blue]{--project-accent:var(--portfolio-blue)}.landing-project-card[data-tone=green],.landing-project-dialog[data-tone=green]{--project-accent:var(--portfolio-green)}.landing-project-card[data-tone=warm],.landing-project-dialog[data-tone=warm]{--project-accent:#b7791f}.landing-project-card[data-tone=neutral],.landing-project-dialog[data-tone=neutral]{--project-accent:var(--portfolio-muted)}.landing-project-card-media{position:relative;height:10.5rem;overflow:hidden;background:linear-gradient(135deg,color-mix(in oklab,var(--project-accent) 18%,transparent),color-mix(in oklab,var(--muted) 92%,transparent))}.landing-project-card-tag{display:inline-flex;width:fit-content;max-width:100%;align-items:center;gap:.45rem;border:1px solid color-mix(in oklab,var(--project-accent) 26%,transparent);border-radius:999px;background:color-mix(in oklab,var(--project-accent) 9%,transparent);padding:.35rem .65rem;color:color-mix(in oklab,var(--project-accent) 78%,var(--foreground));font-size:.8125rem;font-weight:760;letter-spacing:0;line-height:1.1}.landing-project-card-tag:before{width:.45rem;height:.45rem;flex-shrink:0;border-radius:999px;background:var(--project-accent);content:""}.landing-project-card-title{overflow-wrap:anywhere;font-size:1.25rem;font-weight:780;letter-spacing:0;line-height:1.12}.landing-project-card-summary{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.landing-project-card-cta{display:inline-flex;width:fit-content;align-items:center;gap:.45rem;border-bottom:1px solid color-mix(in oklab,var(--project-accent) 44%,transparent);color:color-mix(in oklab,var(--project-accent) 78%,var(--foreground));font-size:.875rem;font-weight:760;letter-spacing:0;line-height:1.2;transition:border-color .18s ease,color .18s ease,transform .18s ease}.landing-project-card-cta svg{width:.95rem;height:.95rem;transition:transform .18s ease}.landing-project-dialog-backdrop{position:fixed;inset:0;z-index:50;background:radial-gradient(circle at 50% 24%,color-mix(in oklab,var(--background) 14%,transparent),transparent 34%),color-mix(in oklab,var(--foreground) 30%,transparent)}@supports (backdrop-filter:blur(8px)){.landing-project-dialog-backdrop{backdrop-filter:blur(10px) saturate(.86)}}.landing-project-dialog-viewport{position:fixed;inset:0;z-index:51;display:grid;place-items:center;overflow-y:auto;padding:clamp(1rem,2.2vw,2rem);pointer-events:none}.landing-project-dialog{--project-accent:var(--portfolio-blue);position:relative;width:min(72rem,calc(100vw - 2rem));max-height:min(88svh,48rem);overflow:hidden;border:1px solid color-mix(in oklab,var(--project-accent) 22%,var(--border));border-radius:var(--radius-3xl);background:linear-gradient(135deg,color-mix(in oklab,var(--project-accent) 8%,transparent) 0,transparent 34%),color-mix(in oklab,var(--card) 98%,transparent);box-shadow:0 28px 90px color-mix(in oklab,var(--foreground) 18%,transparent),var(--portfolio-shadow-card);color:var(--foreground);outline:none;pointer-events:auto}.landing-project-dialog:before{position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,color-mix(in oklab,var(--project-accent) 5%,transparent) 0 1px,transparent 1px 100%),linear-gradient(0deg,color-mix(in oklab,var(--project-accent) 4%,transparent) 0 1px,transparent 1px 100%);background-size:2.9rem 2.9rem,2.9rem 2.9rem;content:"";mask-image:linear-gradient(145deg,#000,transparent 70%);pointer-events:none}.landing-project-dialog-scroll{position:relative;z-index:1;overflow:visible;padding:clamp(1rem,1.7vw,1.45rem)}.landing-project-dialog-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start;padding:.35rem .35rem 1rem}.landing-project-dialog-heading{min-width:0;max-width:52rem}.landing-project-dialog-tag{color:color-mix(in oklab,var(--project-accent) 78%,var(--foreground));font-size:.8125rem;font-weight:780;letter-spacing:0;line-height:1.2;text-transform:uppercase}.landing-project-dialog-title{margin-top:.35rem;font-size:clamp(1.75rem,1.33rem + 1.28vw,2.65rem);font-weight:760;letter-spacing:0;line-height:1.02;text-wrap:balance}.landing-project-dialog-description{margin-top:.65rem;max-width:64ch;color:color-mix(in oklab,var(--foreground) 64%,var(--muted-foreground));font-size:.98rem;font-weight:430;line-height:1.46}.landing-project-dialog-close{display:inline-flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border:1px solid color-mix(in oklab,var(--border) 88%,transparent);border-radius:999px;background:color-mix(in oklab,var(--card) 86%,transparent);color:var(--foreground);cursor:pointer;outline:none;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}.landing-project-dialog-close svg{width:1rem;height:1rem}.landing-project-dialog-close:focus-visible{border-color:var(--project-accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--project-accent) 18%,transparent)}.landing-project-dialog-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(20rem,.95fr);gap:clamp(.85rem,1.6vw,1.25rem);padding:.25rem}.landing-project-gallery{display:grid;align-content:start;gap:.55rem}.landing-project-gallery-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.landing-project-gallery-main,.landing-project-gallery-thumb{position:relative;overflow:hidden;border:1px solid color-mix(in oklab,var(--border) 82%,transparent);background:color-mix(in oklab,var(--muted) 88%,transparent)}.landing-project-gallery-main{aspect-ratio:16/9;border-radius:var(--radius-2xl);box-shadow:0 18px 45px color-mix(in oklab,var(--foreground) 9%,transparent)}.landing-project-gallery-thumb{aspect-ratio:16/8.8;border-radius:var(--radius-xl)}.landing-project-dialog-panel{display:grid;align-content:start;gap:.65rem}.landing-project-modal-block{display:grid;gap:.45rem;border:1px solid color-mix(in oklab,var(--border) 78%,transparent);border-radius:var(--radius-2xl);background:color-mix(in oklab,var(--card) 72%,transparent);padding:.8rem .9rem}.landing-project-modal-section-title{color:var(--foreground);font-size:.875rem;font-weight:720;letter-spacing:0;line-height:1.2}.landing-project-modal-block[data-priority=true]{border-color:color-mix(in oklab,var(--foreground) 88%,var(--border));background:var(--foreground);color:var(--background);box-shadow:0 16px 34px color-mix(in oklab,var(--foreground) 14%,transparent)}.landing-project-modal-block[data-priority=true]
	.landing-project-modal-section-title{color:var(--background)}.landing-project-modal-copy{margin:0;color:color-mix(in oklab,var(--foreground) 62%,var(--muted-foreground));line-height:1.48}.landing-project-modal-block[data-priority=true] .landing-project-modal-copy{color:color-mix(in oklab,var(--background) 78%,transparent)}.landing-project-modal-block[data-variant=chips]{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem .55rem;border:0;border-radius:0;background:transparent;padding:.1rem .05rem 0;box-shadow:none}.landing-project-modal-block[data-variant=chips]
	.landing-project-modal-section-title{color:var(--muted-foreground);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;font-weight:680;text-transform:lowercase}.landing-project-modal-chip-list{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}.landing-project-tech-chip{display:inline-flex;align-items:center;border:1px solid color-mix(in oklab,var(--project-accent) 24%,transparent);border-radius:999px;background:color-mix(in oklab,var(--project-accent) 8%,transparent);padding:.32rem .52rem;color:color-mix(in oklab,var(--project-accent) 78%,var(--foreground));font-size:.75rem;font-weight:700;letter-spacing:0;line-height:1.1}@media (hover:hover){.landing-project-card:hover{border-color:color-mix(in oklab,var(--project-accent) 34%,var(--border));background:linear-gradient(135deg,color-mix(in oklab,var(--project-accent) 12%,transparent) 0,transparent 48%),color-mix(in oklab,var(--card) 98%,transparent);box-shadow:0 20px 58px color-mix(in oklab,var(--project-accent) 10%,transparent),var(--portfolio-shadow-card)}.landing-project-card:hover .landing-project-card-cta{color:color-mix(in oklab,var(--project-accent) 88%,var(--foreground));transform:translateX(2px)}.landing-project-card:hover .landing-project-card-cta svg{transform:translateX(2px)}.landing-project-dialog-close:hover{border-color:color-mix(in oklab,var(--project-accent) 36%,var(--border));background:color-mix(in oklab,var(--project-accent) 8%,var(--card));transform:translateY(-1px)}}@media (prefers-reduced-motion:no-preference){.landing-project-dialog-backdrop[data-open]{animation:landing-project-backdrop-in .26s ease-out}.landing-project-dialog-backdrop[data-closed]{animation:landing-project-backdrop-out .18s ease-in}.landing-project-dialog[data-open]{animation:landing-project-dialog-in .32s cubic-bezier(.16,1,.3,1)}.landing-project-dialog[data-closed]{animation:landing-project-dialog-out .18s cubic-bezier(.4,0,1,1)}@keyframes landing-project-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes landing-project-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes landing-project-dialog-in{0%{opacity:0;transform:translate3d(0,22px,0) scale(.97)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes landing-project-dialog-out{0%{opacity:1;transform:translateZ(0) scale(1)}to{opacity:0;transform:translate3d(0,14px,0) scale(.985)}}}@media (min-width:1024px){.landing-project-card-media{height:11.5rem}.landing-project-card-title{font-size:1.35rem}.landing-project-dialog-scroll{padding:1.35rem}.landing-project-dialog-title{font-size:2.15rem}}@media (max-width:767px){.landing-project-card{min-height:21rem}.landing-project-card-media{height:9.75rem}.landing-project-dialog-viewport{align-items:stretch;overflow:hidden;padding:0}.landing-project-dialog{width:100vw;max-height:100svh;min-height:100svh;border-width:0;border-radius:0;box-shadow:none}.landing-project-dialog-scroll{max-height:100svh;overflow-y:auto;padding:calc(env(safe-area-inset-top) + 5rem) 1rem calc(env(safe-area-inset-bottom) + 4rem)}.landing-project-dialog-header{grid-template-columns:minmax(0,1fr);gap:0;padding:0 0 1.25rem}.landing-project-dialog-title{font-size:clamp(2.05rem,1.62rem + 4vw,2.85rem);line-height:.98}.landing-project-dialog-description{font-size:1rem}.landing-project-dialog-close{position:fixed;top:calc(env(safe-area-inset-top) + 1rem);right:1rem;z-index:2;width:2.75rem;height:2.75rem;background:color-mix(in oklab,var(--card) 94%,transparent);box-shadow:0 12px 32px color-mix(in oklab,var(--foreground) 12%,transparent)}.landing-project-dialog-layout{grid-template-columns:1fr;gap:1.25rem;padding:0}.landing-project-gallery-main{aspect-ratio:4/3;border-radius:var(--radius-lg)}.landing-project-gallery-thumb{border-radius:var(--radius-md)}.landing-project-dialog-panel{gap:.75rem}.landing-project-modal-block{padding:.9rem}.landing-project-modal-block[data-variant=chips]{padding:.1rem 0 0}@media (prefers-reduced-motion:no-preference){.landing-project-dialog[data-open]{animation-name:landing-project-dialog-mobile-in}.landing-project-dialog[data-closed]{animation-name:landing-project-dialog-mobile-out}@keyframes landing-project-dialog-mobile-in{0%{opacity:0;transform:translate3d(0,32px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes landing-project-dialog-mobile-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,22px,0)}}}}