*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.bottom-0{bottom:0}.isolate{isolation:isolate}.z-\[100\]{z-index:100}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-1{height:.25rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-auto{height:auto}.min-h-10{min-height:2.5rem}.min-h-11{min-height:2.75rem}.min-h-12{min-height:3rem}.min-h-14{min-height:3.5rem}.min-h-\[60vh\]{min-height:60vh}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-16{width:4rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-7{width:1.75rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}.max-w-full{max-width:100%}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-mt-24{scroll-margin-top:6rem}.scroll-mt-28{scroll-margin-top:7rem}.list-none{list-style-type:none}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-\[34px_1fr_auto\]{grid-template-columns:34px 1fr auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-7{-moz-column-gap:1.75rem;column-gap:1.75rem}.gap-y-3{row-gap:.75rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border>:not([hidden])~:not([hidden]){border-color:hsl(var(--border))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.whitespace-normal{white-space:normal}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[var\(--portfolio-control\)\]{border-color:var(--portfolio-control)}.border-\[var\(--portfolio-rule\)\]{border-color:var(--portfolio-rule)}.border-amber-200\/70{border-color:rgb(253 230 138/.7)}.border-blue-300\/20{border-color:rgb(147 197 253/.2)}.border-border{border-color:hsl(var(--border))}.border-current{border-color:currentColor}.border-cyan-300\/20{border-color:rgb(103 232 249/.2)}.border-cyan-300\/30{border-color:rgb(103 232 249/.3)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-primary\/25{border-color:hsl(var(--primary)/.25)}.border-primary\/30{border-color:hsl(var(--primary)/.3)}.border-rose-300\/30{border-color:rgb(253 164 175/.3)}.border-slate-400\/25{border-color:rgb(148 163 184/.25)}.border-slate-700\/70{border-color:rgb(51 65 85/.7)}.border-transparent{border-color:transparent}.border-violet-300\/30{border-color:rgb(196 181 253/.3)}.border-warning-border{border-color:hsl(var(--warning-border))}.border-white\/10{border-color:rgb(255 255 255/.1)}.bg-\[\#07111f\]{--tw-bg-opacity:1;background-color:rgb(7 17 31/var(--tw-bg-opacity,1))}.bg-accent{background-color:hsl(var(--accent))}.bg-amber-300\/70{background-color:rgb(252 211 77/.7)}.bg-background{background-color:hsl(var(--background))}.bg-card{background-color:hsl(var(--card))}.bg-current{background-color:currentColor}.bg-cyan-300{--tw-bg-opacity:1;background-color:rgb(103 232 249/var(--tw-bg-opacity,1))}.bg-cyan-300\/10{background-color:rgb(103 232 249/.1)}.bg-destructive{background-color:hsl(var(--destructive))}.bg-foreground\/45{background-color:hsl(var(--foreground)/.45)}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground{background-color:hsl(var(--muted-foreground))}.bg-muted\/55{background-color:hsl(var(--muted)/.55)}.bg-muted\/65{background-color:hsl(var(--muted)/.65)}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary)/.1)}.bg-primary\/5{background-color:hsl(var(--primary)/.05)}.bg-rose-300\/10{background-color:rgb(253 164 175/.1)}.bg-slate-400\/10{background-color:rgb(148 163 184/.1)}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-slate-800\/80{background-color:rgb(30 41 59/.8)}.bg-violet-300\/10{background-color:rgb(196 181 253/.1)}.bg-warning-surface{background-color:hsl(var(--warning-surface))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/\[0\.045\]{background-color:rgb(255 255 255/.045)}.bg-white\/\[0\.055\]{background-color:rgb(255 255 255/.055)}.bg-\[radial-gradient\(circle_at_20\%_0\%\2c rgba\(59\2c 130\2c 246\2c 0\.22\)\2c transparent_34\%\)\2c radial-gradient\(circle_at_86\%_14\%\2c rgba\(34\2c 211\2c 238\2c 0\.16\)\2c transparent_30\%\)\]{background-image:radial-gradient(circle at 20% 0,rgba(59,130,246,.22),transparent 34%),radial-gradient(circle at 86% 14%,rgba(34,211,238,.16),transparent 30%)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-12{padding-bottom:3rem}.pb-16{padding-bottom:4rem}.pb-20{padding-bottom:5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-3{padding-left:.75rem}.pt-0{padding-top:0}.pt-5{padding-top:1.25rem}.pt-7{padding-top:1.75rem}.text-left{text-align:left}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.22em\]{letter-spacing:.22em}.tracking-\[0\.24em\]{letter-spacing:.24em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-normal{letter-spacing:0}.tracking-tight{letter-spacing:-.025em}.text-\[var\(--portfolio-secondary\)\]{color:var(--portfolio-secondary)}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.text-blue-100{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-cyan-100{--tw-text-opacity:1;color:rgb(207 250 254/var(--tw-text-opacity,1))}.text-cyan-200{--tw-text-opacity:1;color:rgb(165 243 252/var(--tw-text-opacity,1))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-rose-100{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity,1))}.text-slate-100{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-violet-100{--tw-text-opacity:1;color:rgb(237 233 254/var(--tw-text-opacity,1))}.text-warning{color:hsl(var(--warning))}.text-warning-foreground{color:hsl(var(--warning-foreground))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgb(0 0 0/0.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-\[0_24px_80px_rgba\(0\2c 0\2c 0\2c 0\.22\)\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_24px_80px_rgba\(0\2c 0\2c 0\2c 0\.22\)\]{--tw-shadow:0 24px 80px rgba(0,0,0,0.22);--tw-shadow-colored:0 24px 80px var(--tw-shadow-color)}.shadow-\[0_28px_90px_rgba\(6\2c 182\2c 212\2c 0\.11\)\]{--tw-shadow:0 28px 90px rgba(6,182,212,0.11);--tw-shadow-colored:0 28px 90px var(--tw-shadow-color)}.shadow-\[0_28px_90px_rgba\(6\2c 182\2c 212\2c 0\.11\)\],.shadow-editorial{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-editorial{--tw-shadow:0 24px 80px rgba(21,35,48,0.12);--tw-shadow-colored:0 24px 80px var(--tw-shadow-color)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-none,.shadow-subtle{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-subtle{--tw-shadow:0 10px 30px rgba(21,35,48,0.08);--tw-shadow-colored:0 10px 30px var(--tw-shadow-color)}.shadow-black\/30{--tw-shadow-color:rgb(0 0 0/0.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.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)}.backdrop-blur{--tw-backdrop-blur:blur(8px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--background:193.33 21.95% 8.04%;--foreground:108.00 15.15% 93.53%;--muted:192.86 17.95% 15.29%;--muted-foreground:170.00 9.89% 64.31%;--border:191.43 17.07% 24.12%;--input:172.17 10.60% 42.55%;--ring:160.00 42.86% 75.29%;--card:193.85 21.31% 11.96%;--card-foreground:108.00 15.15% 93.53%;--primary:160.00 42.86% 75.29%;--primary-foreground:162.35 34.69% 9.61%;--accent:160.00 42.86% 75.29%;--accent-foreground:162.35 34.69% 9.61%;--destructive:3 68% 46%;--destructive-foreground:0 0% 100%;--warning:34.95 63.98% 68.43%;--warning-foreground:35.00 51.06% 81.57%;--warning-surface:36.00 13.89% 14.12%;--warning-border:34.15 30.23% 42.16%}*{box-sizing:border-box}html{color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:100px;scroll-padding-bottom:calc(var(--consent-banner-height, 0px) + 16px)}body{margin:0;background:hsl(var(--background));color:hsl(var(--foreground));font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}body:has([data-analytics-banner]){padding-bottom:var(--consent-banner-height,0)}button,input,select,textarea{font:inherit}textarea{min-height:92px}::-moz-selection{background:#a5dbc9;color:#10211c}::selection{background:#a5dbc9;color:#10211c}.editorial-grid{background-image:linear-gradient(rgba(148,163,184,.055) 1px,transparent 0),linear-gradient(90deg,rgba(148,163,184,.055) 1px,transparent 0);background-size:32px 32px}.brief-print{color:#eef6ff}.brief-planning-print{display:none}.brief-planning-checks summary::-webkit-details-marker{display:none}.brief-planning-checks summary svg{transition:transform var(--motion-quick) var(--motion-ease)}.brief-planning-checks[open] summary svg{transform:rotate(180deg)}@media print{html{color-scheme:light}body{background:white;color:#172b31;padding-bottom:0!important}.case-study-page,.portfolio-page{--portfolio-ink:#172b31;--portfolio-paper:#ffffff;--portfolio-tint:#f4f6f4;--portfolio-deep:#f4f6f4;--portfolio-secondary:#344b50;--portfolio-muted:#445d62;--portfolio-rule:#bdc9c7;--portfolio-link:#17645f}.no-print{display:none!important}.print-card{box-shadow:none!important;border:1px solid #d8dedf;-moz-column-break-inside:avoid;break-inside:avoid}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}:root{--portfolio-ink:#edf1ec;--portfolio-paper:#101719;--portfolio-tint:#182225;--portfolio-deep:#0c1214;--portfolio-secondary:#b4c2bf;--portfolio-muted:#9badaa;--portfolio-rule:#334448;--portfolio-control:#617875;--portfolio-link:#a5dbc9;--portfolio-link-hover:#c8eddf;--portfolio-button-ink:#10211c;--portfolio-display:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--portfolio-serif:Georgia,"Times New Roman",serif;--motion-quick:160ms;--motion-ease:cubic-bezier(.2,.7,.2,1)}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--portfolio-link);outline-offset:5px}.resume-sheet :focus-visible{outline-color:#17645f}.portfolio-wrap{width:min(100% - 80px,1144px);margin-inline:auto}.case-study-page,.portfolio-page{background:var(--portfolio-paper);color:var(--portfolio-ink)}.portfolio-eyebrow{font-size:12px;line-height:1.7;font-weight:600;letter-spacing:.075em;text-transform:uppercase;color:var(--portfolio-muted)}.portfolio-eyebrow span{margin-inline:9px}.portfolio-heading{max-width:920px;margin-top:20px;font-family:var(--portfolio-display);font-size:clamp(38px,4.7vw,62px);line-height:1.1;letter-spacing:-.045em;font-weight:600;text-wrap:balance}.portfolio-lead{color:var(--portfolio-secondary);font-size:18px;line-height:1.85;max-width:70ch}.portfolio-lead p+p{margin-top:20px}.portfolio-intro{padding-block:80px 62px}.portfolio-section{padding-block:78px}.portfolio-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:11px 18px;border:1px solid var(--portfolio-link);border-radius:6px;background:var(--portfolio-link);color:var(--portfolio-button-ink);font-size:14px;line-height:1.5;font-weight:600;transition:background var(--motion-quick),border-color var(--motion-quick),transform var(--motion-quick) var(--motion-ease)}.portfolio-button:hover{background:var(--portfolio-link-hover);border-color:var(--portfolio-link-hover)}@media (prefers-reduced-motion:no-preference){.portfolio-button:active{transform:translateY(1px)}}.portfolio-button-secondary{background:transparent;color:var(--portfolio-link);border-color:var(--portfolio-control)}.portfolio-button-secondary:hover{color:var(--portfolio-link-hover);background:var(--portfolio-tint);border-color:var(--portfolio-link)}.portfolio-text-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;color:var(--portfolio-link);font-size:14px;line-height:1.65;font-weight:600;text-underline-offset:5px;text-decoration-thickness:1px}.portfolio-text-link:hover{color:var(--portfolio-link-hover);text-decoration:underline}.portfolio-button svg,.portfolio-text-link svg{flex-shrink:0;transition:transform var(--motion-quick) var(--motion-ease)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.portfolio-button:hover .lucide-arrow-right,.portfolio-text-link:hover .lucide-arrow-right{transform:translateX(3px)}.portfolio-button:hover .lucide-arrow-left,.portfolio-text-link:hover .lucide-arrow-left{transform:translateX(-3px)}.portfolio-button:hover .lucide-arrow-up-right,.portfolio-text-link:hover .lucide-arrow-up-right{transform:translate(2px,-2px)}}.site-header{position:sticky;top:0;z-index:50;background:#101719f5;backdrop-filter:blur(12px);border-bottom:1px solid var(--portfolio-rule);color:var(--portfolio-ink)}.site-nav{min-height:80px;justify-content:space-between;gap:24px}.site-brand,.site-nav{display:flex;align-items:center}.site-brand{gap:14px;min-height:44px;color:var(--portfolio-ink);font-size:14px;font-weight:600;white-space:nowrap}.brand-frame{justify-content:center;width:40px;height:34px}.brand-frame,.desktop-nav{display:flex;align-items:center}.desktop-nav{gap:25px}.desktop-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--portfolio-muted);font-size:14px;text-underline-offset:7px}.desktop-nav a:hover,.desktop-nav a[aria-current],.mobile-navigation a[aria-current]{color:var(--portfolio-link);text-decoration:underline}.nav-cv{display:inline-flex;gap:9px;align-items:center;justify-content:center;min-height:44px;font-size:14px;padding:8px 12px;border:1px solid var(--portfolio-control);border-radius:6px;color:var(--portfolio-link)}.nav-cv:hover,.nav-cv[aria-current]{border-color:var(--portfolio-link);background:var(--portfolio-tint)}.mobile-menu-toggle{display:none;color:var(--portfolio-ink);min-height:44px;min-width:44px;align-items:center;justify-content:center;border-radius:3px}.mobile-menu-toggle:hover{background:var(--portfolio-tint)}.mobile-navigation{display:none}.skip-link{position:absolute;top:-100px;left:20px;padding:12px 20px;background:var(--portfolio-link);color:var(--portfolio-button-ink);z-index:101}.skip-link:focus{top:10px}.portfolio-hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:72px;align-items:center;padding-block:88px 84px}.hero-copy h1{margin-top:16px;font-family:var(--portfolio-display);font-size:clamp(50px,6.2vw,88px);line-height:1.05;letter-spacing:-.06em;font-weight:600}.hero-role{margin-top:22px;color:var(--portfolio-link);font-size:19px;line-height:1.6}.hero-copy .portfolio-lead{max-width:60ch;margin-top:22px;font-size:17px}.hero-copy .portfolio-lead+.portfolio-lead{margin-top:17px}.hero-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px;margin-top:23px}.hero-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:600;color:var(--portfolio-link);text-decoration:underline;text-underline-offset:5px}.hero-links a:hover{color:var(--portfolio-link-hover)}.hero-portrait{justify-self:end;max-width:320px;width:100%}.hero-portrait img{display:block;width:100%;height:auto;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;border:1px solid var(--portfolio-rule);border-radius:8px}.hero-portrait figcaption{margin-top:14px;font-size:12px;line-height:1.65;color:var(--portfolio-muted)}.portfolio-paper{background:var(--portfolio-tint);color:var(--portfolio-ink);padding-block:72px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:36px}.section-heading h2{margin-top:13px;font-family:var(--portfolio-display);font-size:clamp(30px,3.2vw,42px);font-weight:550;line-height:1.18;letter-spacing:-.04em}.section-heading>p{max-width:330px;color:var(--portfolio-muted);font-size:15px;line-height:1.75}.case-row{display:grid;grid-template-columns:36px minmax(0,1fr) 210px;gap:32px;border-top:1px solid var(--portfolio-rule);padding-block:38px}.case-row-featured{grid-template-columns:36px minmax(0,1fr) 300px}.case-copy{min-width:0}.case-artifact{display:block;margin-bottom:22px}.case-artifact img{display:block;width:100%;height:auto;border:1px solid var(--portfolio-rule);border-radius:6px;transition:border-color var(--motion-quick)}.case-artifact>span{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:9px;color:var(--portfolio-muted);font-size:12px;line-height:1.65}.case-artifact>span svg{flex-shrink:0}.case-artifact:hover>span{color:var(--portfolio-link)}.case-artifact:focus-visible img,.case-artifact:hover img{border-color:var(--portfolio-link)}.case-evidence{align-self:start;min-width:0;margin-top:32px;padding-left:24px;border-left:1px solid var(--portfolio-rule)}.case-row-featured .case-evidence{margin-top:0}.case-evidence .case-result{margin:0 0 14px;font-size:13px;line-height:1.8}.case-evidence .case-result strong{display:block;margin-bottom:9px;font-size:26px;line-height:1.25;letter-spacing:-.035em}.case-evidence .case-result span{display:block;margin:0}.case-evidence .portfolio-text-link{font-size:13px}.case-number{padding-top:1px;font-variant-numeric:tabular-nums;font-size:13px;line-height:1}.case-kicker,.case-number{color:var(--portfolio-muted)}.case-kicker{font-size:12px;line-height:1.7}.case-kicker span{margin-inline:7px;color:var(--portfolio-muted)}.case-row h3{margin-top:12px;max-width:760px;font-family:var(--portfolio-display);font-size:clamp(26px,2.5vw,34px);font-weight:550;letter-spacing:-.035em;line-height:1.2}.case-row h3 a:hover{color:var(--portfolio-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.case-summary{max-width:66ch;margin-top:15px;color:var(--portfolio-secondary);font-size:16px;line-height:1.8}.case-role{max-width:65ch;margin-top:15px;color:var(--portfolio-muted);font-size:13px;line-height:1.75}.case-decision{max-width:78ch;margin-block:15px 12px;font-size:14px;color:var(--portfolio-secondary);line-height:1.8}.case-decision span{display:inline;margin-right:7px;font-weight:600}.case-result{max-width:76ch;margin-block:15px 12px;color:var(--portfolio-muted);font-size:14px;line-height:1.8}.case-result p,.case-result strong{color:var(--portfolio-ink);font-weight:600}.case-result p{display:inline;font-size:inherit}.case-result span{margin-left:7px}.case-footnote{padding-top:22px;font-size:12px;line-height:1.8;color:var(--portfolio-muted);max-width:100%}.career-timeline>li,.case-footnote{border-top:1px solid var(--portfolio-rule)}.career-timeline>li{display:grid;grid-template-columns:1fr 1.65fr;gap:55px;padding-block:31px}.career-period{font-size:12px;color:var(--portfolio-muted);line-height:1.7}.career-timeline h3{margin-top:9px;font-size:23px;font-weight:550;letter-spacing:-.025em}.career-role{margin-top:7px;max-width:350px;font-size:14px;line-height:1.75}.career-detail,.career-role{color:var(--portfolio-secondary)}.career-detail{font-size:16px;line-height:1.85}.career-points{margin-top:17px;padding-left:19px;list-style:disc;color:var(--portfolio-muted);font-size:15px;line-height:1.8}.career-points li+li{margin-top:9px}.career-compact>li{gap:55px;padding-block:25px}.career-compact .career-detail{font-size:15px}.home-career{border-top:1px solid var(--portfolio-rule)}.portfolio-lab{padding-block:75px;background:var(--portfolio-deep);border-block:1px solid var(--portfolio-rule)}.lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.lab-grid article{border-top:1px solid var(--portfolio-rule);padding-top:24px;display:flex;flex-direction:column;align-items:start}.lab-label{color:var(--portfolio-muted);font-size:12px;line-height:1.7}.lab-grid h3{margin-top:14px;max-width:430px;font-family:var(--portfolio-display);font-size:29px;font-weight:550;line-height:1.2;letter-spacing:-.035em}.lab-grid h3+p{margin-block:18px 20px;color:var(--portfolio-secondary);font-size:16px;line-height:1.8}.lab-grid .portfolio-text-link{margin-top:auto}.home-writing-list>article+article{margin-top:25px}.home-writing-list h3{font-size:27px}.home-writing-list h3 a:hover{color:var(--portfolio-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.home-writing-list h3+p{margin-block:14px 12px;font-size:15px}.lab-grid .home-tool-note{align-self:start;border:1px solid var(--portfolio-rule);border-radius:8px;padding:28px;background:var(--portfolio-tint)}.home-tool-note h3{max-width:360px}.tool-entry-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:8px}.lab-grid .tool-entry-links .portfolio-text-link{margin:0}.tool-outline{width:100%;margin-block:6px 20px;list-style:none}.tool-outline li{display:grid;grid-template-columns:25px minmax(0,1fr);gap:14px;border-top:1px solid var(--portfolio-rule);padding-block:17px;color:var(--portfolio-secondary);font-size:15px;line-height:1.65}.tool-outline li span{padding-top:2px;color:var(--portfolio-muted);font-size:12px}.tool-local-note{max-width:55ch;margin-bottom:18px;color:var(--portfolio-muted);font-size:13px;line-height:1.8}.home-note,.personal-note{padding-block:75px;display:grid;grid-template-columns:1fr 2fr;gap:20px 60px}.personal-note>p:nth-child(2){max-width:58ch;font-family:var(--portfolio-serif);font-size:26px;line-height:1.55;color:var(--portfolio-ink);letter-spacing:-.015em}.personal-note>a{grid-column:2}.home-note h2{font-family:var(--portfolio-display);font-size:33px;line-height:1.25;font-weight:550;letter-spacing:-.025em}.home-note p:not(.portfolio-eyebrow){max-width:68ch;font-size:17px;line-height:1.85;color:var(--portfolio-secondary)}.home-note p+p{margin-top:18px}.home-note .portfolio-text-link{margin-top:15px}.portfolio-contact-strip{border-top:1px solid var(--portfolio-rule);padding-block:45px;background:var(--portfolio-paper)}.portfolio-contact-strip h2{max-width:700px;font-family:var(--portfolio-display);font-size:28px;font-weight:550;line-height:1.3;letter-spacing:-.02em}.portfolio-contact-strip p:not(.portfolio-eyebrow){color:var(--portfolio-muted)}.contact-note{display:flex;align-items:center;justify-content:space-between;gap:25px 50px}.contact-note p{margin-top:10px;font-size:15px;line-height:1.8}.contact-note-links{display:flex;flex-direction:column;align-items:start}.contact-note-links a{overflow-wrap:anywhere}.site-footer{background:var(--portfolio-deep);border-top:1px solid var(--portfolio-rule);padding-block:31px;color:var(--portfolio-muted);font-size:13px;line-height:1.7}.site-footer>div{display:flex;align-items:start;justify-content:space-between;gap:35px}.footer-name{font-weight:600;color:var(--portfolio-ink)}.footer-location{margin-top:7px;font-size:12px}.footer-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:end;gap:0 23px;max-width:610px}.footer-links a,.footer-links button{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}.footer-links a:hover,.footer-links button:hover{color:var(--portfolio-link);text-decoration:underline}.about-intro{padding-block:80px;display:grid;grid-template-columns:1.65fr 1fr;align-items:center;gap:75px}.about-intro figure{max-width:310px;justify-self:end}.about-intro figcaption{color:var(--portfolio-muted);font-size:12px}.about-writing{display:grid;grid-template-columns:1fr 2fr;gap:60px}.about-writing h2{font-family:var(--portfolio-display);font-size:29px;line-height:1.3;font-weight:550;letter-spacing:-.025em}.about-writing p:not(.portfolio-eyebrow){max-width:70ch;margin-block:20px;font-size:17px;line-height:1.85;color:var(--portfolio-secondary)}.about-writing h2:not(:first-child){margin-top:45px}.contact-options{padding-bottom:80px}.contact-options>a{display:grid;grid-template-columns:160px 1fr 24px;align-items:center;gap:25px;min-height:90px;padding-block:27px;border-top:1px solid var(--portfolio-rule)}.contact-options>a>span{color:var(--portfolio-muted);font-size:14px}.contact-options strong{font-family:var(--portfolio-display);font-size:clamp(23px,3vw,34px);font-weight:500;overflow-wrap:anywhere}.contact-options>a:hover strong{color:var(--portfolio-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.story-hero{padding-block:58px 35px}.story-role{max-width:760px;border-top:1px solid var(--portfolio-rule);margin-top:30px;padding-top:19px;color:var(--portfolio-muted);font-size:14px;line-height:1.8}.story-role span{display:block;color:var(--portfolio-ink);font-weight:600;margin-bottom:5px}.story-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding-block:5px 55px}.story-facts>div{padding-top:18px;border-top:1px solid var(--portfolio-rule)}.story-facts p{font-size:29px;font-weight:500;letter-spacing:-.03em;color:var(--portfolio-ink)}.story-facts span{display:block;max-width:240px;margin-top:8px;font-size:13px;line-height:1.8;color:var(--portfolio-muted)}.story-section{display:grid;grid-template-columns:1fr 2fr;gap:60px;margin-bottom:55px}.story-section h2{font-family:var(--portfolio-display);font-size:31px;font-weight:550;letter-spacing:-.025em;line-height:1.25}.story-section p:not(.portfolio-eyebrow){max-width:70ch;margin-top:20px;font-size:17px;line-height:1.85;color:var(--portfolio-secondary)}.story-evidence{margin-top:60px;border-top:1px solid var(--portfolio-rule);padding-top:24px}.story-evidence h2{font-size:13px;font-weight:600}.story-evidence p{margin-top:10px;font-size:13px;line-height:1.8;color:var(--portfolio-muted);max-width:90ch}.next-story{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:18px;max-width:900px;font-family:var(--portfolio-display);font-size:30px;font-weight:550;line-height:1.3;color:var(--portfolio-link)}.next-story:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.next-story svg{flex-shrink:0}.case-workspace{background:var(--portfolio-deep);color:var(--portfolio-ink)}.case-workspace .portfolio-eyebrow{color:var(--portfolio-muted)}.case-workspace .portfolio-text-link{color:var(--portfolio-link)}.case-study-page #discovery{padding-top:48px}.resume-page{background:var(--portfolio-paper);color:var(--portfolio-ink);padding-block:42px 75px}.resume-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 auto 25px;max-width:900px;color:var(--portfolio-muted);font-size:13px}.resume-sheet{color-scheme:light;max-width:900px;margin-inline:auto;padding:55px 65px;background:#fffefa;border:1px solid #d4d8cf;color:#162e35;font-size:14px;line-height:1.7}.resume-sheet h1{font-size:36px;font-weight:650;letter-spacing:-.035em}.resume-title{font-size:21px;margin:4px 0 14px}.resume-sheet ::-moz-selection{background:#ceded3;color:#162e35}.resume-sheet ::selection{background:#ceded3;color:#162e35}.resume-sheet a{text-decoration:underline;text-underline-offset:3px}.resume-sheet header>p:not(.resume-title):not(.resume-summary){font-size:12px}.resume-summary{margin-top:22px}.resume-sheet h2{border-bottom:1px solid #c0cdcd;padding-bottom:7px;margin:28px 0 18px;text-transform:uppercase;font-size:12px;letter-spacing:.12em;font-weight:700}.resume-role{margin-bottom:25px}.resume-role>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 20px;align-items:baseline}.resume-role h3{font-size:17px;font-weight:650}.resume-role span{font-size:11px;color:#48616a}.resume-role>p{margin-top:5px}.resume-sheet ul{padding-left:18px;list-style:disc;margin-top:10px}.resume-sheet li+li{margin-top:5px}.resume-context{margin-top:14px;font-size:11px;color:#50666c}.article-notes-header{padding-block:65px 45px}.article-notes-header h1{max-width:900px}.article-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:20px;color:var(--portfolio-muted);font-size:13px;line-height:1.7}.article-note-section{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,2fr);gap:60px;padding-block:40px;border-top:1px solid var(--portfolio-rule)}.article-note-copy{max-width:70ch;color:var(--portfolio-secondary);font-size:17px;line-height:1.85}.article-note-copy h2,.article-note-copy h3{color:var(--portfolio-ink);font-family:var(--portfolio-display);font-weight:550;line-height:1.3;letter-spacing:-.02em}.article-note-copy h2{font-size:31px;margin-bottom:20px}.article-note-copy h3{font-size:24px;margin-bottom:10px}.article-note-copy ol,.article-note-copy p+p,.article-note-copy ul{margin-top:18px}.article-note-copy ul{list-style:disc;padding-left:22px}.article-note-copy ol{list-style:decimal;padding-left:22px}.article-note-copy li+li{margin-top:12px}.article-note-copy a:not(.portfolio-text-link){color:var(--portfolio-link);text-decoration:underline;text-underline-offset:4px}.article-question-list{margin:0;counter-reset:question}.article-note-copy .article-question-list,.article-question-list{padding:0;list-style:none}.article-question-list>li{position:relative;counter-increment:question;border-top:1px solid var(--portfolio-rule);padding:22px 0 23px 42px}.article-question-list>li:first-child{border-top:0}.article-question-list>li:before{content:counter(question,decimal-leading-zero);position:absolute;left:0;top:26px;font-size:12px;color:var(--portfolio-muted)}.article-related{border-top:1px solid var(--portfolio-rule);padding-block:40px 65px}.article-related h2{font-family:var(--portfolio-display);font-size:28px;line-height:1.3;font-weight:550}.article-related a{color:var(--portfolio-link)}.article-visual{background:var(--portfolio-deep);color:var(--portfolio-ink);padding:24px;border-radius:4px;min-width:0}.writing-index{padding-bottom:70px}.writing-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:40px;border-top:1px solid var(--portfolio-rule);padding-block:34px}.writing-row h2{max-width:850px;font-family:var(--portfolio-display);font-size:clamp(27px,3vw,35px);font-weight:550;line-height:1.25;letter-spacing:-.025em}.writing-row h2 a:hover{color:var(--portfolio-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.writing-row p{max-width:70ch;font-size:16px;line-height:1.8;color:var(--portfolio-secondary)}.writing-row .article-meta{margin-top:0;display:block;font-size:13px}.writing-row .article-meta>*{display:block}.tool-intro-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:60px;align-items:start}.tool-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:40px;padding-block:28px;border-top:1px solid var(--portfolio-rule)}.tool-facts dt{color:var(--portfolio-ink);font-size:14px;font-weight:600}.tool-facts dd{margin-top:9px;font-size:15px;line-height:1.8;color:var(--portfolio-secondary)}@media (max-width:1023px){.portfolio-wrap{width:calc(100% - 56px)}.portfolio-hero{grid-template-columns:minmax(0,1fr) 270px;gap:40px;padding-block:62px}.hero-copy h1{font-size:clamp(54px,6.2vw,68px)}.case-row{grid-template-columns:32px minmax(0,1fr);gap:25px}.case-row-featured .case-evidence{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 24px;align-items:start}.case-artifact{grid-row:1/span 2;max-width:300px;margin-bottom:0}.case-evidence{grid-column:2;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:0;padding:0;border:0}.case-evidence .case-result{max-width:390px;margin:0}.case-evidence .portfolio-text-link{flex-shrink:0}.desktop-nav{gap:18px}.site-brand{gap:10px}.site-brand>span:last-child{display:none}.about-intro{gap:45px}.about-writing,.article-note-section,.story-section{gap:40px;grid-template-columns:1fr 2.2fr}}@media (max-width:767px){html{scroll-padding-top:84px}.portfolio-wrap{width:calc(100% - 40px)}.site-nav{min-height:68px;gap:14px}.site-brand>span:last-child{display:inline}.desktop-nav{display:none}.mobile-menu-toggle{display:flex}.mobile-navigation{display:grid;padding-block:8px 22px}.mobile-navigation a{display:flex;justify-content:space-between;align-items:center;min-height:50px;padding-block:13px;color:var(--portfolio-ink);border-top:1px solid var(--portfolio-rule);font-size:16px}.portfolio-hero{grid-template-columns:1fr;gap:32px;padding-block:46px 50px}.hero-copy h1{font-size:clamp(44px,10vw,64px)}.hero-role{font-size:18px;margin-top:14px}.hero-copy .portfolio-lead{font-size:16px;line-height:1.85}.hero-links{gap:8px 24px;margin-top:18px}.hero-portrait{max-width:240px;justify-self:start}.portfolio-lab,.portfolio-paper,.portfolio-section{padding-block:50px}.section-heading{display:block;margin-bottom:28px}.section-heading>a,.section-heading>p{margin-top:18px;max-width:100%}.section-heading h2{font-size:33px}.case-row{grid-template-columns:27px minmax(0,1fr);gap:17px;padding-block:29px}.case-number{font-size:12px;padding-top:3px}.case-evidence,.case-row-featured .case-evidence{display:block;margin-top:-3px}.case-artifact{margin-bottom:20px}.case-evidence .case-result strong{font-size:23px}.case-evidence .portfolio-text-link{margin-top:9px}.case-kicker{font-size:12px}.case-summary{font-size:15px}.case-result,.case-row .portfolio-text-link{font-size:13px}.career-timeline>li{grid-template-columns:1fr;gap:16px;padding-block:25px}.career-timeline h3{font-size:23px}.career-detail{font-size:15px}.lab-grid{grid-template-columns:1fr;gap:35px}.lab-grid h3{font-size:27px}.lab-grid .home-tool-note{padding:23px}.home-note,.personal-note{grid-template-columns:1fr;gap:22px;padding-block:50px}.personal-note>p:nth-child(2){font-size:23px}.personal-note>a{grid-column:1}.home-note h2{font-size:30px}.home-note p:not(.portfolio-eyebrow){font-size:16px}.portfolio-contact-strip{padding-block:35px}.contact-note{flex-direction:column;align-items:start;gap:20px}.site-footer>div{flex-direction:column;gap:18px}.footer-links{justify-content:start;gap:0 20px}.portfolio-intro{padding-block:48px 40px}.portfolio-heading{font-size:41px}.portfolio-lead{font-size:17px}.about-intro{grid-template-columns:1fr;gap:32px;padding-block:48px}.about-intro figure{justify-self:start;max-width:270px}.about-writing,.article-note-section,.story-section{grid-template-columns:1fr;gap:22px}.about-writing h2,.article-note-copy h2,.story-section h2{font-size:28px}.about-writing p:not(.portfolio-eyebrow),.article-note-copy,.story-section p:not(.portfolio-eyebrow){font-size:16px}.contact-options>a{grid-template-columns:minmax(0,1fr) 24px;gap:12px;padding-block:24px}.contact-options>a>span{grid-column:1/-1}.contact-options strong{font-size:25px}.story-hero{padding-top:35px}.case-study-page #discovery{padding-top:32px}.story-facts{gap:18px;padding-bottom:38px}.story-facts p{font-size:27px}.story-facts span{font-size:12px}.story-section{margin-bottom:40px}.next-story{font-size:27px}.resume-sheet{padding:30px 22px;font-size:15px}.resume-sheet header>p:not(.resume-title):not(.resume-summary){font-size:13px;overflow-wrap:anywhere}.resume-role span{font-size:12px}.resume-tools{align-items:start;flex-direction:column}.resume-page .portfolio-wrap{width:calc(100% - 24px)}.resume-sheet h1{font-size:30px}.article-notes-header{padding-block:45px 35px}.article-note-section{padding-block:30px}.article-visual{padding:18px}.writing-row{grid-template-columns:1fr;gap:14px;padding-block:28px}.writing-row .article-meta{display:flex;gap:10px 18px}.tool-facts,.tool-intro-grid{grid-template-columns:1fr;gap:25px}.tool-facts>div+div{border-top:1px solid var(--portfolio-rule);padding-top:22px}}@media (max-width:360px){.portfolio-wrap{width:calc(100% - 32px)}.site-brand{gap:8px;font-size:13px}.brand-frame,.brand-frame svg{width:33px}.site-nav{gap:8px}.site-nav>div:last-child{gap:6px}.nav-cv{padding-inline:9px}.hero-copy h1{font-size:43px}.portfolio-heading{font-size:36px}.portfolio-eyebrow{font-size:11px}.case-row{grid-template-columns:22px minmax(0,1fr);gap:12px}.story-facts{grid-template-columns:1fr;gap:17px}.story-facts>div{display:grid;grid-template-columns:70px 1fr;align-items:baseline;gap:15px}.story-facts span{margin-top:0}}@media print{@page{size:A4;margin:15mm}.resume-page{padding:0;background:white}.resume-page .portfolio-wrap{width:100%}.resume-sheet{padding:0;border:0;max-width:none;font-size:10pt;line-height:1.5;background:white}.resume-sheet h1{font-size:26pt}.resume-sheet h2{-moz-column-break-after:avoid;break-after:avoid;margin-top:18pt}.resume-role{-moz-column-break-inside:avoid;break-inside:avoid}.resume-sheet a{color:inherit;text-decoration:none}}@media print{body:has(.brief-print){background:white!important;color:#172b31}body:has(.brief-print) #main-content{padding:0;min-height:auto}body:has(.brief-print) :focus{outline:none!important}.brief-print,.brief-print *{color:#172b31!important;background:transparent!important;border-color:#b8c2c4!important;box-shadow:none!important;text-shadow:none!important}.brief-print{font-size:10pt;line-height:1.5}.brief-print h2{font-size:23pt;line-height:1.2}.brief-print h3{font-size:13pt;-moz-column-break-after:avoid;break-after:avoid}.brief-print li,.brief-print p{orphans:3;widows:3}.brief-print .print-card{-moz-column-break-inside:auto;break-inside:auto}.brief-print a,.brief-print li{-moz-column-break-inside:avoid;break-inside:avoid}.brief-print .grid{display:block}.brief-print .grid>*+*{margin-top:8pt}.brief-print .brief-score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8pt}.brief-print .brief-score-grid>*{margin:0;-moz-column-break-inside:avoid;break-inside:avoid}.brief-print .brief-score-grid .p-4{padding:9pt}.brief-planning-print{display:block}.brief-planning-print>p{margin-top:6pt;font-size:9pt}.brief-planning-print dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10pt;margin-top:12pt}.brief-planning-print dl>div{-moz-column-break-inside:avoid;break-inside:avoid}.brief-planning-print dt{font-size:8pt}.brief-planning-print dd{margin-top:4pt;font-weight:600;font-variant-numeric:tabular-nums}.brief-print a{display:block;text-decoration:underline;text-underline-offset:2pt}}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:border-primary:hover{border-color:hsl(var(--primary))}.hover\:bg-accent\/90:hover{background-color:hsl(var(--accent)/.9)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/80:hover{background-color:hsl(var(--muted)/.8)}.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary)/.1)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-primary:focus{border-color:hsl(var(--primary))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-primary:focus{--tw-ring-color:hsl(var(--primary))}.focus\:ring-primary\/15:focus{--tw-ring-color:hsl(var(--primary)/0.15)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus\:ring-offset-background:focus{--tw-ring-offset-color:hsl(var(--background))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}.focus-visible\:outline-primary:focus-visible{outline-color:hsl(var(--primary))}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media (min-width:640px){.sm\:block{display:block}.sm\:hidden{display:none}.sm\:w-auto{width:auto}.sm\:flex-1{flex:1 1 0%}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[0\.45fr_0\.55fr\]{grid-template-columns:.45fr .55fr}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-6{gap:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[1fr_220px\]{grid-template-columns:1fr 220px}.md\:grid-cols-\[1fr_260px\]{grid-template-columns:1fr 260px}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:p-5{padding:1.25rem}.md\:p-7{padding:1.75rem}.md\:p-8{padding:2rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[0\.36fr_0\.64fr\]{grid-template-columns:.36fr .64fr}.lg\:grid-cols-\[0\.78fr_1\.22fr\]{grid-template-columns:.78fr 1.22fr}.lg\:grid-cols-\[0\.8fr_1\.2fr\]{grid-template-columns:.8fr 1.2fr}.lg\:grid-cols-\[300px_1fr\]{grid-template-columns:300px 1fr}.lg\:grid-cols-\[minmax\(0\2c 1fr\)_360px\]{grid-template-columns:minmax(0,1fr) 360px}.lg\:items-start{align-items:flex-start}.lg\:border-b-0{border-bottom-width:0}.lg\:border-r{border-right-width:1px}}@media (min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[1fr_0\.75fr\]{grid-template-columns:1fr .75fr}}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}