@font-face{font-family:GeistSans;src:url(/_next/static/media/0b78ff376f6b9734-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local("Arial");ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.00%;size-adjust:106.28%}.__className_8adcd2{font-family:GeistSans,GeistSans Fallback}.__variable_8adcd2{--font-geist-sans:"GeistSans","GeistSans Fallback"}@font-face{font-family:GeistMono;src:url(/_next/static/media/723e11e5093b8e80.p.woff2) format("woff2");font-display:swap;font-weight:100 900}.__className_46451f{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.__variable_46451f{--font-geist-mono:"GeistMono",ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-cyrillic-ext-wght-normal.192d14b2.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-cyrillic-wght-normal.b0b919fc.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-greek-wght-normal.ef1c8a30.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-vietnamese-wght-normal.bdc4ddcb.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-latin-ext-wght-normal.a8a9073d.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-latin-wght-normal.a7358d2e.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-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-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-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;--tw-ease:initial}}}@layer theme{:host,:root{--font-sans:var(--font-geist-sans),ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:var(--font-geist-mono),ui-monospace,"SF Mono",SFMono-Regular,Menlo,monospace;--color-red-500:oklch(63.7% .237 25.331);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-500:oklch(72.3% .219 149.579);--color-emerald-500:oklch(69.6% .17 162.48);--color-teal-500:oklch(70.4% .14 182.503);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-500:oklch(58.5% .233 277.117);--color-purple-400:oklch(71.4% .203 305.504);--color-pink-500:oklch(65.6% .241 354.308);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-4xl:56rem;--container-6xl:72rem;--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:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--animate-spin:spin 1s linear 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);--color-background:oklch(14.5% 0 0);--color-foreground:oklch(97% 0 0);--color-card:oklch(18.5% 0 0);--color-card-foreground:oklch(97% 0 0);--color-primary:oklch(71% .19 41);--color-primary-foreground:oklch(14% .02 41);--color-secondary:oklch(24% 0 0);--color-secondary-foreground:oklch(97% 0 0);--color-muted-foreground:oklch(68% 0 0);--color-accent:oklch(24% 0 0);--color-border:oklch(100% 0 0/.1);--color-input:oklch(100% 0 0/.12);--color-ring:oklch(71% .19 41);--ease-out-expo:cubic-bezier(.16,1,.3,1)}}@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(--color-border)}html{color-scheme:dark;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}html.lenis{scroll-behavior:auto;height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{background-color:var(--color-background);color:var(--color-foreground);font-family:var(--font-sans);overflow-x:clip}::selection{color:var(--color-foreground);background-color:oklch(71% .19 41/.3)}:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px;border-radius:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer components;@layer utilities{.\!visible{visibility:visible!important}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-4{top:calc(var(--spacing) * 4)}.left-4{left:calc(var(--spacing) * 4)}.z-60{z-index:60}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-20{width:calc(var(--spacing) * 20);height:calc(var(--spacing) * 20)}.h-9{height:calc(var(--spacing) * 9)}.h-11{height:calc(var(--spacing) * 11)}.h-13{height:calc(var(--spacing) * 13)}.h-full{height:100%}.min-h-\[120px\]{min-height:120px}.min-h-svh{min-height:100svh}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-y-20{--tw-translate-y:calc(var(--spacing) * -20);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.resize-none{resize:none}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.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)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.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-color:var(--color-border)}.border-input{border-color:var(--color-input)}.border-primary\/30{border-color:#ff6f334d}@supports (color:color-mix(in lab,red,red)){.border-primary\/30{border-color:color-mix(in oklab,var(--color-primary) 30%,transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/15{border-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.border-white\/15{border-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-card{background-color:var(--color-card)}.bg-cyan-500{background-color:var(--color-cyan-500)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-green-500{background-color:var(--color-green-500)}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-500\/15{background-color:#fe6e0026}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/15{background-color:color-mix(in oklab,var(--color-orange-500) 15%,transparent)}}.bg-pink-500{background-color:var(--color-pink-500)}.bg-primary{background-color:var(--color-primary)}.bg-primary\/10{background-color:#ff6f331a}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--color-primary) 10%,transparent)}}.bg-purple-400{background-color:var(--color-purple-400)}.bg-red-500{background-color:var(--color-red-500)}.bg-secondary{background-color:var(--color-secondary)}.bg-secondary\/40{background-color:#1f1f1f66}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/40{background-color:color-mix(in oklab,var(--color-secondary) 40%,transparent)}}.bg-secondary\/60{background-color:#1f1f1f99}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/60{background-color:color-mix(in oklab,var(--color-secondary) 60%,transparent)}}.bg-teal-500{background-color:var(--color-teal-500)}.bg-white\/3{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-white\/3{background-color:color-mix(in oklab,var(--color-white) 3%,transparent)}}.bg-yellow-500{background-color:var(--color-yellow-500)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-0{padding-top:0}.pt-6{padding-top:calc(var(--spacing) * 6)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-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))}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.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\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-pretty{text-wrap:pretty}.whitespace-nowrap{white-space:nowrap}.text-black{color:var(--color-black)}.text-card-foreground{color:var(--color-card-foreground)}.text-foreground{color:var(--color-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-orange-400{color:var(--color-orange-400)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-slate-100{color:var(--color-slate-100)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.shadow-\[0_0_0_1px_oklch\(1_0_0_\/_8\%\)\,0_8px_24px_oklch\(0\.71_0\.19_41_\/_25\%\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,oklch(100% 0 0/.08)),0 8px 24px var(--tw-shadow-color,oklch(71% .19 41/.25));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(255\,255\,255\,0\.02\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#ffffff05);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}.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-\[background-color\,color\,border-color\,transform\,box-shadow\]{transition-property:background-color,color,border-color,transform,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,transform\]{transition-property:opacity,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-300{--tw-duration:.3s;transition-duration:.3s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.duration-800{--tw-duration:.8s;transition-duration:.8s}.ease-out-expo{--tw-ease:var(--ease-out-expo);transition-timing-function:var(--ease-out-expo)}@media (hover:hover){.group-hover\:text-orange-300:is(:where(.group):hover *){color:var(--color-orange-300)}}.group-data-\[reveal\=hidden\]\/stagger\:translate-y-\(--stagger-y\):is(:where(.group\/stagger)[data-reveal=hidden] *){--tw-translate-y:var(--stagger-y);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[reveal\=hidden\]\/stagger\:opacity-0:is(:where(.group\/stagger)[data-reveal=hidden] *){opacity:0}.placeholder\:text-muted-foreground\/70::placeholder{color:#989898b3}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-muted-foreground\/70::placeholder{color:color-mix(in oklab,var(--color-muted-foreground) 70%,transparent)}}.first\:mt-0:first-child{margin-top:0}@media (hover:hover){.hover\:border-foreground\/20:hover{border-color:#f5f5f533}@supports (color:color-mix(in lab,red,red)){.hover\:border-foreground\/20:hover{border-color:color-mix(in oklab,var(--color-foreground) 20%,transparent)}}.hover\:border-orange-400\/40:hover{border-color:#ff8b1a66}@supports (color:color-mix(in lab,red,red)){.hover\:border-orange-400\/40:hover{border-color:color-mix(in oklab,var(--color-orange-400) 40%,transparent)}}.hover\:border-white\/30:hover{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/30:hover{border-color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-orange-400:hover{background-color:var(--color-orange-400)}.hover\:bg-primary\/90:hover{background-color:#ff6f33e6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--color-primary) 90%,transparent)}}.hover\:bg-white\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/5:hover{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:translate-y-0:focus{--tw-translate-y:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.focus-visible\:border-ring:focus-visible{border-color:var(--color-ring)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--color-ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-\[0\.97\]:active{scale:.97}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\:mt-16{margin-top:calc(var(--spacing) * 16)}.sm\:size-24{width:calc(var(--spacing) * 24);height:calc(var(--spacing) * 24)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:py-32{padding-block:calc(var(--spacing) * 32)}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}@media (min-width:48rem){.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}@media (min-width:64rem){.lg\:p-10{padding:calc(var(--spacing) * 10)}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}.lg\:px-12{padding-inline:calc(var(--spacing) * 12)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.text-balance{text-wrap:balance}.hero-rise{animation:hero-rise 1.1s var(--ease-out-expo) both;animation-delay:var(--hero-delay,0s)}.hero-fade{animation:hero-fade 1.1s var(--ease-out-expo) both;animation-delay:var(--hero-delay,0s)}@keyframes hero-rise{0%{transform:translateY(56px)}to{transform:translateY(0)}}@keyframes hero-fade{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.tab-panel-enter{animation:tab-panel-in .55s var(--ease-out-expo) both}@keyframes tab-panel-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.surface-glow{background-image:radial-gradient(80% 60% at 50% 0,oklch(71% .19 41/.07) 0,#0000 100%)}}@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-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-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}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(1turn)}}.portfolio{--ink:#151719;--paper:#f1f2f3;--accent:#e4ad82;--lime:var(--accent);--dim:#aab0b7;--rule:#34383e;--surface:#1d2024;--surface-raised:#25292e;--text:var(--paper);--text-muted:#b9bec5;--text-soft:var(--dim);--border-strong:#707782;--font-sans:"IBM Plex Sans Variable","IBM Plex Sans",sans-serif;background-color:var(--ink);background-image:linear-gradient(rgba(21,23,25,.78),rgba(21,23,25,.9)),url(/bg.webp);background-position:top;background-size:cover;background-attachment:fixed;color:var(--text);color-scheme:dark;font-family:var(--font-sans);font-size:1.125rem;line-height:1.65}.portfolio *,.portfolio :after,.portfolio :before{box-sizing:border-box}.portfolio em{font-style:normal}.portfolio button,.portfolio input,.portfolio textarea{font:inherit}.portfolio button{cursor:pointer}.portfolio button:disabled{cursor:default;opacity:.45}.portfolio a,.portfolio button{-webkit-tap-highlight-color:transparent}.portfolio a:focus-visible,.portfolio button:focus-visible,.portfolio input:focus-visible,.portfolio summary:focus-visible,.portfolio textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.portfolio ::selection{background:var(--accent);color:var(--ink)}#project-archive,.portfolio article[id],.portfolio details[id],.portfolio section[id]{scroll-margin-top:110px}.portfolio h1,.portfolio h2,.portfolio h3,.portfolio h4{font-family:inherit;font-weight:600;line-height:1.15;letter-spacing:-.025em;text-wrap:balance}.portfolio h2{font-size:clamp(2rem,3vw,2.75rem)}.portfolio .eyebrow{font-size:.9375rem;line-height:1.5;color:var(--dim);letter-spacing:0;text-transform:none}.page-shell{width:min(1320px,calc(100% - 96px));margin-inline:auto}.portfolio-nav{position:sticky;top:0;z-index:50;background:var(--ink);border-bottom:1px solid var(--rule)}.nav-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}.wordmark{font-size:1.5rem;line-height:1.2;font-weight:600;letter-spacing:-.02em}.wordmark-note{display:block;font-size:.875rem;line-height:1.4;font-weight:400;color:var(--dim);margin-top:5px;letter-spacing:0}.desktop-nav{display:flex;align-items:center;gap:30px}.desktop-nav a,.nav-contact{font-size:1rem;font-weight:450}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:var(--accent)}.nav-contact{display:flex;align-items:center;gap:13px;padding:10px 0}.menu-toggle,.mobile-nav{display:none}.skip-link{position:fixed;top:12px;left:12px;z-index:100;padding:14px 20px;background:var(--paper);color:var(--ink);transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.hero-meta{display:flex;justify-content:space-between;gap:25px;padding-top:28px;color:var(--text-muted);font-size:.9375rem}.hero-meta>span:first-child{display:flex;align-items:center;gap:10px}.status-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--accent);display:inline-block}.hero-composition{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:50px;align-items:center;padding:64px 0 55px}.hero-name{font-size:1.25rem;color:var(--text-muted);margin-bottom:18px}.hero-copy h1{font-size:clamp(3.3rem,5.8vw,5.5rem);line-height:1.04;letter-spacing:-.035em;font-weight:600}.hero-specialism{font-size:clamp(1.2rem,1.7vw,1.5rem);color:var(--accent);margin-top:25px;font-weight:450}.hero-description{max-width:600px;font-size:1.125rem;line-height:1.8;color:var(--text-muted);margin-top:16px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin-top:30px}.action-button{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:52px;padding:13px 21px;border:1px solid transparent;border-radius:4px;font-size:1rem;font-weight:500;transition:background .15s,border-color .15s}.action-lime,.action-primary{background:var(--paper);color:var(--ink)}.action-lime:hover,.action-primary:hover{background:var(--accent)}.action-secondary{border-color:var(--border-strong)}.action-secondary:hover{background:var(--surface-raised)}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:1rem;border-bottom:1px solid var(--border-strong);padding:6px 0}.text-link:hover{color:var(--accent)}.hero-actions .text-link{margin-left:8px}.hero-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;padding:28px 0 36px;border-top:1px solid var(--rule)}.hero-summary dt{font-size:.9375rem;color:var(--dim);margin-bottom:7px}.hero-summary dd{font-size:1.125rem;font-weight:450}.hero-demo{min-width:0}.hero-demo-note{font-size:1rem;line-height:1.65;color:var(--text-muted);margin-top:16px}.roles-section{padding:66px 0 80px;border-top:1px solid var(--rule);background:#191c1f}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:35px;flex-wrap:wrap}.section-heading>.eyebrow{flex-basis:100%;margin-bottom:-12px}.section-heading>div{flex:1;min-width:0}.section-heading>div>p{max-width:750px;margin-top:16px;color:var(--text-muted);font-size:1.125rem}.section-heading>.text-link{flex-shrink:0}.role-list{border-top:1px solid var(--rule)}.role-list article{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr) minmax(0,1fr);gap:35px;padding:28px 0;border-bottom:1px solid var(--rule);align-items:start}.role-title h3{font-size:1.35rem}.role-title>span{display:inline-block;font-size:.875rem;color:var(--accent);margin-top:8px}.role-list article>p{color:var(--text-muted);font-size:1.0625rem;line-height:1.7}.role-list article>a{display:flex;gap:14px;font-size:1rem;line-height:1.7;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--border-strong)}.role-list article>a:hover{color:var(--accent)}.role-list article>a svg{flex-shrink:0;margin-top:4px}.work-section{padding:80px 0}.featured-work{border-top:1px solid var(--rule)}.featured-project{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:65px;row-gap:28px;padding:45px 0;border-bottom:1px solid var(--rule)}.project-story{grid-column:1;grid-row:1}.project-visual{grid-column:2;grid-row:1;min-width:0;align-self:center}.project-story>.eyebrow{color:var(--dim);margin-bottom:13px}.project-story h3{font-size:2rem}.project-subtitle{font-size:1.125rem;color:var(--accent);margin-top:10px}.project-description{color:var(--text-muted);line-height:1.8;margin-top:16px}.project-role{display:flex;flex-wrap:wrap;gap:15px;align-items:baseline;margin-top:20px;font-size:1rem}.project-role>span{color:var(--dim)}.project-role strong{font-weight:500}.technology-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px;list-style:none}.technology-list>li{font-size:.9375rem;line-height:1.5;padding:5px 10px;border:1px solid var(--rule);border-radius:3px;color:var(--text-muted)}.project-read-link{display:inline-flex;align-items:center;gap:15px;font-size:1rem;font-weight:500;margin-top:23px;padding-bottom:5px;border-bottom:1px solid var(--border-strong)}.project-read-link:hover{color:var(--accent)}.project-evidence{padding:30px;background:var(--surface);border-left:2px solid var(--border-strong)}.project-evidence>.eyebrow{color:var(--text);font-size:1rem;font-weight:500;margin-bottom:18px}.project-evidence li{position:relative;padding-left:20px;color:var(--text-muted);font-size:1.125rem;line-height:1.75}.project-evidence li+li{margin-top:18px}.project-evidence li:before{content:"•";position:absolute;left:0;color:var(--accent)}.mobile-project-image{position:relative;aspect-ratio:1.4;min-height:300px;overflow:hidden;background:#0b2819}.mobile-image-label{position:absolute;bottom:15px;left:18px;font-size:.875rem;padding:5px 10px;color:#f1f2f3;background:#151719df}.case-details{grid-column:1/-1;background:var(--surface);border:1px solid var(--rule)}.case-details summary{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;font-size:1rem;list-style:none}.archive-item summary::-webkit-details-marker,.case-details summary::-webkit-details-marker{display:none}.archive-item[open] summary>svg,.case-details[open] summary svg{transform:rotate(45deg)}.case-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:12px 24px 30px}.case-content .eyebrow{color:var(--text);font-weight:500;font-size:1rem;margin-bottom:12px}.case-content div>p:last-child{font-size:1rem;color:var(--text-muted);line-height:1.8}.case-footer{padding:18px 24px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;align-items:center}.case-footer>span{font-size:.9375rem;color:var(--dim)}.project-archive{padding-top:65px}.archive-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:25px}.archive-heading h3{font-size:1.75rem;margin-top:8px}.archive-heading h3>span{color:var(--dim);font-weight:400}.archive-filters{display:flex;gap:8px}.archive-filters button{border:1px solid var(--border-strong);border-radius:3px;padding:9px 15px;font-size:1rem}.archive-filters button[aria-pressed=true]{background:var(--paper);color:var(--ink);border-color:var(--paper)}.archive-item{border-top:1px solid var(--rule)}.archive-item:last-child{border-bottom:1px solid var(--rule)}.archive-item summary{display:flex;align-items:center;gap:22px;padding:22px 8px;list-style:none;cursor:pointer}.archive-item summary:hover{background:var(--surface)}.archive-number{font-size:.9375rem;color:var(--dim);width:26px;flex-shrink:0;font-variant-numeric:tabular-nums}.archive-item h4{font-size:1.1875rem;font-weight:500}.archive-tech{margin-left:auto;font-size:.9375rem;color:var(--dim)}.archive-category{font-size:.875rem;text-transform:capitalize;color:var(--dim);width:65px;margin-left:15px}.archive-item summary>svg{flex-shrink:0}.archive-content{display:flex;gap:30px;padding:8px 0 30px 56px}.archive-content>div:last-child{max-width:740px;flex:1;min-width:0}.archive-content p{line-height:1.8;color:var(--text-muted)}.archive-image{position:relative;width:260px;min-height:160px;background:var(--surface);align-self:start;flex-shrink:0}.archive-links{display:flex;flex-wrap:wrap;gap:23px;align-items:center;margin-top:20px}.private-note{font-size:.9375rem;color:var(--dim)}.about-section{padding:80px 0;background:var(--surface);border-block:1px solid var(--rule)}.about-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:85px;align-items:center}.portrait-frame{aspect-ratio:4/4.7;position:relative;max-width:360px;overflow:hidden;background:var(--surface-raised)}.portrait-image{object-fit:cover;object-position:center 20%}.portrait-caption{display:flex;flex-direction:column;gap:3px;font-size:.9375rem;margin-top:16px}.portrait-caption>span:last-child{color:var(--dim)}.about-copy>p{font-size:1.125rem;line-height:1.85;color:var(--text-muted);margin-top:20px}.about-copy>.about-intro{font-size:1.3rem;color:var(--text);line-height:1.65}.about-links{display:flex;flex-wrap:wrap;gap:30px;margin-top:28px}.expertise-section{padding:80px 0}.expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.expertise-grid>article{border-top:1px solid var(--rule);padding-top:25px;display:flex;flex-direction:column}.expertise-top{font-size:.9375rem;color:var(--dim)}.expertise-grid h3{font-size:1.5rem;margin-top:12px;line-height:1.3}.expertise-description{font-size:1.0625rem;line-height:1.8;color:var(--text-muted);margin-top:17px}.expertise-grid .technology-list{margin-bottom:25px}.expertise-proof{font-size:.9375rem;margin-top:auto;padding-top:20px;border-top:1px solid var(--rule);color:var(--text-muted)}.expertise-proof>span{display:block;color:var(--dim);margin-bottom:6px}.journey-section{padding:0 0 80px}.journey-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;border-top:1px solid var(--rule);padding-top:65px}.journey-grid h2{margin-top:12px}.journey-grid>div>p:not(.eyebrow){line-height:1.8;color:var(--text-muted);margin-top:20px}.certification-list>a{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--rule);padding:20px 5px}.certification-list>a:hover{color:var(--accent)}.certification-list h3{font-size:1.1875rem;font-weight:500;margin-top:6px}.certification-list a>div>span{font-size:.9375rem;color:var(--dim)}.learning-timeline{margin-top:25px}.learning-timeline summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--border-strong);padding-block:10px;font-size:1rem;max-width:300px}.learning-timeline ol{margin-top:24px;border-left:1px solid var(--rule);padding-left:20px}.learning-timeline li{margin-bottom:24px}.learning-timeline li>span{font-size:.9375rem;color:var(--dim)}.learning-timeline h3{font-size:1.125rem;margin-block:7px}.learning-timeline li p{font-size:1rem;line-height:1.7;color:var(--text-muted)}.contact-section{background:#1c2024;border-top:1px solid var(--rule);padding:65px 0 80px}.contact-top{justify-content:space-between;gap:25px}.contact-top,.contact-top>span{display:flex;align-items:center}.contact-top>span{gap:10px;font-size:.9375rem;color:var(--dim)}.contact-section h2{max-width:800px;font-size:clamp(2.25rem,4vw,3.5rem);margin:24px 0 40px}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:75px;padding-top:35px;border-top:1px solid var(--rule)}.contact-info>p{color:var(--text-muted);line-height:1.85;max-width:440px}.email-row{display:flex;align-items:center;gap:18px;margin-top:25px}.email-row>a{font-size:clamp(1.25rem,2vw,1.75rem);overflow-wrap:anywhere}.email-row>a:hover{color:var(--accent)}.email-row>button{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--border-strong);border-radius:3px;flex-shrink:0}.copy-feedback{display:block;font-size:.9375rem;color:var(--dim);margin-top:12px}.contact-socials{display:flex;flex-wrap:wrap;gap:22px;margin:30px 0 22px}.contact-socials>a{display:flex;align-items:center;gap:6px;font-size:1rem}.contact-socials>a:hover{color:var(--accent)}.contact-form{gap:25px}.contact-form,.contact-form label{display:flex;flex-direction:column}.contact-form label{gap:10px;font-size:1rem}.form-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--border-strong);border-radius:4px;padding:12px 14px;background:var(--ink);font-size:1rem;color:var(--paper)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#9098a3}.contact-form textarea{resize:vertical;min-height:150px}.form-submit{display:flex;justify-content:space-between;align-items:center;gap:20px}.form-submit>span{font-size:.9375rem;color:var(--dim);max-width:190px}.form-error{font-size:1rem;line-height:1.7;color:#ffb5a1}.form-error a{text-decoration:underline}.contact-success{border:1px solid var(--border-strong);padding:32px}.contact-success>svg{color:var(--accent)}.contact-success h3{font-size:1.75rem;margin-top:20px}.contact-success p{color:var(--text-muted);margin:18px 0}.portfolio-footer{background:var(--ink);color:var(--dim);border-top:1px solid var(--rule);padding:26px 0}.portfolio-footer .page-shell{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.875rem}.portfolio-footer a{display:flex;align-items:center;gap:10px;color:var(--text)}.object-studio{min-width:0}.object-stage{position:relative;isolation:isolate;height:660px;background:#202429;overflow:hidden}.object-studio-compact .object-stage{background:var(--surface);height:410px;border-radius:5px}.scene-host{position:absolute;inset:0}.scene-host canvas{display:block;width:100%;height:100%;outline-offset:-5px}.scene-host canvas[tabindex="0"]{cursor:grab}.scene-host canvas[tabindex="0"]:active{cursor:grabbing}.stage-bottomline,.stage-topline{position:absolute;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;gap:15px;pointer-events:none;color:var(--dim);font-size:.875rem;line-height:1.5}.stage-topline{top:20px}.stage-bottomline{bottom:20px}.stage-bottomline button{display:flex;align-items:center;gap:8px;pointer-events:auto;font-size:.875rem;border-bottom:1px solid var(--border-strong);padding:9px 0}.object-studio-compact .stage-bottomline>span{display:none}.object-studio-compact .stage-bottomline{justify-content:start}.scene-toolbar{position:absolute;bottom:70px;right:20px;display:flex;gap:1px;border:1px solid var(--border-strong);border-radius:4px;background:var(--ink)}.scene-toolbar button{display:grid;place-items:center;width:44px;height:44px}.scene-toolbar button:hover:not(:disabled){background:var(--surface-raised)}.object-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0 0}.object-caption .eyebrow{display:none}.object-caption p{font-size:1.125rem;font-weight:500}.object-caption>a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--border-strong);border-radius:4px}.scene-message{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 25px 120px;background:var(--surface);gap:10px}.scene-message-number{font-size:3rem;color:var(--dim);font-weight:500}.scene-message>p{max-width:300px;font-size:1.125rem}.scene-message>span:last-of-type{max-width:300px;color:var(--dim);font-size:1rem}.scene-message button{display:flex;gap:10px;align-items:center;padding:10px;border-bottom:1px solid var(--border-strong)}.studio-intro{display:flex;align-items:end;justify-content:space-between;gap:40px;padding-block:45px 30px}.studio-intro .eyebrow{margin-bottom:12px}.studio-intro h1{font-size:clamp(2.4rem,3.8vw,3.75rem)}.studio-intro>p{max-width:420px;font-size:1.0625rem;line-height:1.7;color:var(--text-muted)}.object-studio-full{display:grid;grid-template-columns:minmax(0,1fr) 340px;border:1px solid var(--rule);border-radius:5px;overflow:hidden}.object-studio-full .object-stage{height:auto;min-height:660px}.studio-controls{padding:25px;background:var(--surface)}.studio-controls fieldset{border:0;padding:0;margin:0;min-width:0}.studio-controls legend,.wireframe-control>span{font-size:1rem;line-height:1.5;color:var(--text-muted);margin-bottom:12px}.model-selector>button{display:flex;align-items:center;gap:15px;width:100%;text-align:left;padding:11px 8px;border-bottom:1px solid var(--rule);font-size:1.125rem}.model-selector small,.model-selector>button>span{color:var(--dim);font-size:.875rem}.model-selector small{display:block;margin-top:2px}.model-selector svg{margin-left:auto;opacity:0}.model-selector button[aria-pressed=true]{color:var(--accent);background:var(--surface-raised)}.model-selector button[aria-pressed=true] svg{opacity:1}.studio-controls .finish-selector{margin-top:24px}.finish-selector>div{display:flex;gap:16px}.finish-selector button{display:flex;flex-direction:column;align-items:center;gap:10px;text-transform:capitalize;font-size:.875rem;min-width:65px;padding:4px}.finish-swatch{display:block;width:30px;height:30px;border-radius:50%;border:1px solid #ffffff40;outline:2px solid transparent;outline-offset:4px}.swatch-clay{background:#ae5136}.swatch-ivory{background:#e6dfcf}.swatch-graphite{background:#414b50}.finish-selector button[aria-pressed=true] .finish-swatch{outline-color:var(--paper)}.wireframe-control{margin-top:23px}.wireframe-control>span{display:block;margin-bottom:8px}.wireframe-control button{display:flex;gap:10px;align-items:center;padding:10px 13px;border:1px solid var(--border-strong);border-radius:3px;font-size:1rem}.wireframe-control button[aria-pressed=true]{background:var(--paper);color:var(--ink)}.study-note{margin-top:24px;padding-top:18px;border-top:1px solid var(--rule)}.study-note>.eyebrow{display:none}.study-note h2{font-size:1.5rem}.study-note>p:last-child{font-size:1rem;line-height:1.75;color:var(--text-muted);margin-top:10px}.spatial-practice{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:35px 80px;padding-block:80px}.spatial-practice>.eyebrow{grid-column:1/-1;margin-bottom:-10px}.spatial-practice>div>p{font-size:1.125rem;line-height:1.85;color:var(--text-muted);margin:24px 0}.spatial-notes article{padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid var(--rule)}.spatial-notes article>span{display:none}.spatial-notes h3{font-size:1.25rem}.spatial-notes p{font-size:1.0625rem;line-height:1.75;color:var(--text-muted);margin-top:10px}.studio-colophon{padding-bottom:30px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.9375rem;color:var(--dim)}@media (max-width:1100px){.page-shell{width:calc(100% - 64px)}.desktop-nav{gap:20px}.nav-contact{display:none}.hero-composition{gap:30px;grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr);padding-block:45px}.hero-copy h1{font-size:4rem}.hero-actions .text-link{margin-left:0}.object-studio-compact .stage-topline>span:last-child{display:none}.role-list article{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:15px 35px}.role-list article>a{grid-column:2}.featured-project{column-gap:35px}.project-evidence{padding:25px}.about-grid{gap:50px}.contact-grid{gap:40px}.archive-tech{display:none}.archive-category{margin-left:auto}.object-studio-full{grid-template-columns:minmax(0,1fr) 310px}.studio-controls{padding:22px}.finish-selector>div{gap:10px}.spatial-practice{gap:30px 50px}}@media (max-width:850px){.desktop-nav{gap:15px}.desktop-nav a{font-size:.9375rem}.hero-composition{grid-template-columns:minmax(0,1fr)}.hero-copy h1 br{display:none}.hero-copy h1{max-width:650px}.hero-demo{max-width:580px;width:100%}.object-studio-compact .object-stage{height:340px}.hero-description{max-width:650px}.hero-summary{gap:22px}.hero-summary dd{font-size:1rem}.hero-meta{flex-wrap:wrap;gap:10px}.featured-project{grid-template-columns:1fr}.project-story,.project-visual{grid-column:auto;grid-row:auto}.project-evidence{padding:25px}.project-evidence ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.project-evidence li+li{margin-top:0}.case-content{grid-template-columns:1fr;gap:24px}.mobile-project-image{min-height:0;aspect-ratio:1.8}.expertise-grid{grid-template-columns:1fr;gap:35px}.expertise-grid .technology-list{margin-bottom:20px}.journey-grid{gap:45px}.form-pair{grid-template-columns:1fr}.studio-intro{display:block}.studio-intro>p{margin-top:18px;max-width:650px}.object-studio-full{grid-template-columns:1fr}.object-studio-full .object-stage{height:440px;min-height:0}.studio-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px;padding:25px}.model-selector{grid-row:span 2}.studio-controls .finish-selector,.study-note,.wireframe-control{margin-top:0}.study-note{grid-column:1/-1}.portfolio-footer .page-shell>span{display:none}}@media (max-width:650px){.page-shell{width:calc(100% - 40px)}.nav-inner{min-height:78px}.wordmark{font-size:1.35rem}.desktop-nav{display:none}.menu-toggle{display:grid;place-items:center;width:44px;height:44px}.mobile-nav:not([hidden]){flex-direction:column;position:absolute;top:78px;left:0;right:0;background:var(--surface);padding:12px 24px 24px}.mobile-nav a,.mobile-nav:not([hidden]){display:flex;border-bottom:1px solid var(--rule)}.mobile-nav a{align-items:center;gap:20px;padding:15px 0;font-size:1.125rem}.mobile-nav a svg{margin-left:auto}.hero-meta{font-size:.875rem;padding-top:22px}.hero-composition{padding-top:35px;gap:35px}.hero-name{font-size:1.125rem}.hero-copy h1{font-size:clamp(2.8rem,10vw,4rem)}.hero-description{font-size:1.125rem}.hero-specialism{margin-top:20px;font-size:1.2rem}.hero-actions{gap:12px}.action-button{padding-inline:16px;gap:14px}.hero-actions .text-link{margin-top:4px}.hero-summary{grid-template-columns:1fr;gap:18px;padding-block:24px}.hero-summary dt{margin-bottom:3px}.hero-summary dd{font-size:1.125rem}.about-section,.expertise-section,.roles-section,.work-section{padding-block:55px}.section-heading{gap:20px;margin-bottom:28px}.section-heading>div{flex-basis:100%}.role-list article{grid-template-columns:1fr;gap:12px;padding-block:24px}.role-list article>a{grid-column:auto}.role-title{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.role-title>span{margin-top:0}.project-story h3{font-size:1.8rem}.featured-project{padding-block:30px}.project-evidence{padding:22px}.project-evidence ul{display:block}.project-evidence li+li{margin-top:14px}.project-evidence li{font-size:1.0625rem}.technology-list>li{font-size:.875rem}.mobile-project-image{aspect-ratio:1.35}.archive-heading{align-items:start;flex-direction:column;gap:22px}.archive-item summary{gap:13px;padding:20px 0}.archive-item h4{font-size:1.125rem}.archive-category{display:none}.archive-item summary>svg{margin-left:auto}.archive-content{padding:0 0 25px;flex-direction:column;gap:20px}.archive-image{width:100%;height:190px}.archive-heading h3{font-size:1.65rem}.about-grid,.contact-grid,.journey-grid{grid-template-columns:minmax(0,1fr);gap:35px}.about-image-column{max-width:320px}.portrait-frame{aspect-ratio:1}.about-copy>.about-intro{font-size:1.2rem}.journey-section{padding-bottom:55px}.journey-grid{padding-top:45px}.contact-section{padding-block:45px 55px}.contact-top{flex-direction:column;align-items:start;gap:12px}.contact-section h2{font-size:2.3rem;margin-bottom:30px}.form-pair{grid-template-columns:1fr}.form-submit>span{font-size:.875rem}.portfolio-footer .page-shell{flex-direction:column;align-items:start;gap:12px}.studio-intro{padding-top:35px}.studio-intro h1{font-size:2.5rem}.object-studio-full .object-stage{height:390px}.stage-bottomline,.stage-topline{left:16px;right:16px}.stage-axis,.stage-topline>span:last-child{display:none}.scene-toolbar{right:16px}.studio-controls{padding:20px;gap:25px}.finish-selector>div{gap:10px}.finish-selector button{min-width:50px}.spatial-practice{grid-template-columns:minmax(0,1fr);gap:25px;padding-block:55px}.spatial-practice>.eyebrow{grid-column:auto}.studio-colophon{flex-direction:column;align-items:start}}@media (max-width:480px){.studio-controls{grid-template-columns:minmax(0,1fr)}.model-selector{grid-row:auto}.study-note{grid-column:auto}.finish-selector>div{gap:22px}.form-submit{flex-wrap:wrap}.hero-actions .action-button{flex:1 1 auto}.hero-demo-note,.object-caption p{font-size:1rem}.scene-toolbar button{width:42px}.object-studio-full .object-stage{height:370px}}@media (prefers-reduced-motion:reduce){.portfolio *,.portfolio :after,.portfolio :before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{.portfolio{--ink:white;--paper:black;--surface:white;--surface-raised:white;--text:black;--text-muted:#333;--dim:#444;--accent:#333;--rule:#bbb;--border-strong:#777;color-scheme:light;font-size:11pt}.archive-filters,.contact-form,.hero-actions,.hero-demo,.object-studio,.portfolio-footer,.portfolio-nav{display:none!important}.page-shell{width:100%}.about-grid,.contact-grid,.expertise-grid,.featured-project,.hero-composition,.hero-summary,.journey-grid,.role-list article,.spatial-practice{display:block}.contact-section,.roles-section{background:white}.hero-copy h1{font-size:2.8rem}.about-section,.contact-section,.expertise-section,.journey-section,.roles-section,.work-section{padding-block:25px}.project-story,.project-visual,.role-list article{margin-block:15px}.featured-project{break-inside:avoid}.portrait-frame{width:180px}}