@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--spark:0deg}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:#ff6568;--color-red-800:#9f0712;--color-green-400:#05df72;--color-green-700:#008138;--color-gray-50:#f9fafb;--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-semibold:600;--font-weight-bold:700;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-400:lab(63.7053% 60.745 31.3109);--color-red-800:lab(33.7174% 55.8993 41.0293);--color-green-400:lab(78.503% -64.9265 39.7492);--color-green-700:lab(47.0329% -47.0239 31.4788);--color-gray-50:lab(98.2596% -.247031 -.706708)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mr-2{margin-right:calc(var(--spacing) * 2)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-full{width:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.flex-col{flex-direction:column}.items-center{align-items:center}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-gray-300{border-color:#999}.bg-gray-100{background-color:#fafafa}.bg-gray-200{background-color:#eaeaea}.bg-white{background-color:var(--color-white)}.object-cover{object-fit:cover}.p-4{padding:calc(var(--spacing) * 4)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.text-left{text-align:left}.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))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-gray-700{color:#333}.text-gray-900{color:#111}.text-green-700{color:var(--color-green-700)}.text-red-800{color:var(--color-red-800)}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.opacity-100{opacity:1}.ring{--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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;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}@media (hover:hover){.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}}@media (min-width:48rem){.md\:hidden{display:none}}.dark\:border-gray-700:is(.dark *){border-color:#333}.dark\:border-gray-800:is(.dark *){border-color:#222}.dark\:bg-gray-800:is(.dark *){background-color:#222}.dark\:bg-gray-900:is(.dark *){background-color:#111}.dark\:text-gray-100:is(.dark *){color:#fafafa}.dark\:text-gray-400:is(.dark *){color:#888}.dark\:text-green-400:is(.dark *){color:var(--color-green-400)}.dark\:text-red-400:is(.dark *){color:var(--color-red-400)}@media (hover:hover){.dark\:hover\:bg-gray-800:is(.dark *):hover{background-color:#222}}}:root{--bg:#f2f1f6;--card:#fff;--ink:#1b1830;--muted:#5d5a70;--line:#dddbe6;--blue:#6d4aff;--blue-soft:#e6e0ff;--coral:#6d4aff;--mint:#e6e0ff;--yellow:#ffcc1f;--green:#6fdca0;--on-yellow:#1b1830;--display:var(--font-hero), "Fraunces", Georgia, serif;--hero:var(--font-hero), "Fraunces", Georgia, serif;--body:var(--font-body), "Hanken Grotesk", system-ui, sans-serif;--ease:cubic-bezier(.2, .8, .2, 1);--bounce:cubic-bezier(.34, 1.56, .64, 1)}.dark{--bg:#13111f;--card:#1d1a2e;--ink:#f2f1f6;--muted:#a8a4bb;--line:#2e2a44;--blue:#9a82ff;--blue-soft:#2a2350;--coral:#9a82ff;--mint:#2a2350;--yellow:#ffd54a;--green:#7ff0b2;--on-yellow:#1b1830;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.55;overflow-x:clip}html.has-cursor,html.has-cursor *{cursor:none!important}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--coral);outline-offset:4px}::selection{background:var(--yellow);color:var(--on-yellow)}h1,h2,h3,h4,p,ul,figure{margin:0}h1,h2,h3{font-family:var(--display);font-variation-settings:"opsz" 144, "SOFT" 40;text-wrap:balance;font-weight:560}img{max-width:100%;height:auto}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){animation:lights .7s var(--ease)}@keyframes lights{0%{clip-path:circle(0 at var(--vt-x,50%) var(--vt-y,0))}to{clip-path:circle(170vmax at var(--vt-x,50%) var(--vt-y,0))}}.cursor-dot,.cursor-ring{z-index:1000;pointer-events:none;opacity:0;transition:opacity .2s;position:fixed;top:0;left:0}.cursor-dot.is-visible,.cursor-ring.is-visible{opacity:1}.cursor-dot:after{content:"";background:var(--yellow);border-radius:50%;width:8px;height:8px;margin:-4px 0 0 -4px;position:absolute}.cursor-ring:before{content:"";border:1.5px solid var(--ink);width:36px;height:36px;transition:transform .3s var(--bounce), background .3s, border-color .3s;border-radius:50%;margin:-18px 0 0 -18px;position:absolute}.cursor-ring.is-active:before{background:var(--coral);transform:scale(1.9)}@supports (color:color-mix(in lab, red, red)){.cursor-ring.is-active:before{background:color-mix(in srgb, var(--coral) 18%, transparent)}}.cursor-ring.is-active:before{border-color:var(--coral)}.cursor-ring.is-down:before{transform:scale(.8)}.cursor-ring.is-active.is-down:before{transform:scale(1.6)}.cursor-ring span{font-family:var(--body);letter-spacing:.02em;color:var(--ink);white-space:nowrap;opacity:0;font-size:11px;font-weight:700;transition:opacity .2s;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.cursor-ring.is-active span{opacity:1}.wrap{width:min(1200px,100% - 96px);margin-inline:auto}.site-shell{flex-direction:column;min-height:100svh;display:flex}.site-main{flex:1}.site-main:focus{outline:none}.skip-nav{z-index:100;background:var(--ink);color:var(--bg);padding:10px 18px;position:fixed;top:12px;left:16px;transform:translateY(-160%)}.skip-nav:focus{transform:translateY(0)}.site-header{justify-content:space-between;align-items:center;gap:28px;min-height:96px;display:flex}.wordmark{font-family:var(--display);letter-spacing:-.01em;flex-shrink:0;font-size:19px;font-weight:560;display:inline-flex}.wordmark span{transition:transform .35s var(--bounce);transition-delay:calc(var(--i) * 18ms);display:inline-block}.wordmark:hover span{transform:translateY(-6px)}.main-navigation{align-items:center;gap:4px;margin-left:auto;display:flex}.main-navigation>a{color:var(--muted);transition:color .2s, background .2s, transform .3s var(--bounce);border-radius:999px;padding:8px 14px;font-size:15px;font-weight:500}.main-navigation>a:hover{color:var(--ink);background:var(--blue-soft);transform:rotate(-2deg)scale(1.04)}.header-controls{align-items:center;gap:12px;display:flex}.icon-button,.locale-switcher{width:40px;height:40px;color:var(--ink);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;transition:background .2s;display:inline-flex}.icon-button:hover,.locale-switcher:hover{background:var(--blue-soft)}.light-switch{width:24px;height:72px;color:var(--ink);background:0 0;border:0;margin-top:-28px;padding:0;display:block}.light-switch svg{width:24px;height:72px;transition:transform .35s var(--bounce)}.light-switch .cord{stroke:currentColor;stroke-width:1.5px}.light-switch .knob{fill:var(--yellow);transition:fill .2s}.light-switch:hover svg{transform:translateY(3px)}.light-switch.is-pulling svg{transition-duration:.15s;transform:translateY(12px)}.menu-toggle,.mobile-preferences{display:none}.lights-text{color:var(--ink);background:0 0;border:0;padding:0;font-weight:600}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:center;align-items:center;gap:40px 64px;min-height:calc(100svh - 96px);padding:32px 0 48px;display:grid}@media (max-width:860px){.hero{min-height:0}}.hero h1{font-family:var(--hero);font-variation-settings:"opsz" 144, "SOFT" 40;letter-spacing:-.02em;overflow-wrap:anywhere;animation:pop-in .9s var(--bounce) both;margin-top:0;font-size:clamp(42px,5vw,76px);font-weight:500;line-height:1}@keyframes pop-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.hero-lede{max-width:48ch;color:var(--muted);animation:pop-in .9s .15s var(--bounce) both;margin-top:24px;font-size:18px}.hero-actions{animation:pop-in .9s .3s var(--bounce) both;flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.stack{grid-template-columns:repeat(3,minmax(0,1fr));justify-self:end;gap:14px;width:100%;max-width:520px;padding:0;list-style:none;display:grid}.stack-tile{aspect-ratio:1;background:var(--card);border:1.5px solid var(--line);color:var(--ink);transition:transform .35s var(--bounce), border-color .25s, box-shadow .35s var(--ease);animation:pop-in .7s calc(.2s + var(--i) * 60ms) var(--bounce) backwards;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:relative}@property --spark{syntax:"<angle>";inherits:false;initial-value:0deg}.stack-spark{border-radius:inherit;background:conic-gradient(from var(--spark), transparent 0deg, var(--green) 18deg, var(--green) 40deg, var(--green) 52deg, var(--green) 58deg, transparent 70deg 360deg);padding:2.5px;position:absolute;inset:-1.5px}@supports (color:color-mix(in lab, red, red)){.stack-spark{background:conic-gradient(from var(--spark), transparent 0deg, color-mix(in srgb, var(--green) 40%, transparent) 18deg, var(--green) 40deg, color-mix(in srgb, var(--green) 70%, #0f7a45) 52deg, color-mix(in srgb, var(--green) 40%, #fff) 58deg, transparent 70deg 360deg)}}.stack-spark{-webkit-mask-composite:xor;pointer-events:none;opacity:0;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;animation:2.2s cubic-bezier(.45,0,.25,1) forwards spark;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.stack-spark.is-tr{--from:-30deg;--to:60deg}.stack-spark.is-br{--from:60deg;--to:150deg}.stack-spark.is-bl{--from:150deg;--to:240deg}.stack-spark.is-tl{--from:240deg;--to:330deg}@keyframes spark{0%{--spark:var(--from);opacity:0;filter:brightness(.9)drop-shadow(0 0 #0000)}30%{opacity:.55}55%{opacity:1;filter:brightness(1.15) drop-shadow(0 0 6px var(--green))}to{--spark:var(--to);opacity:0;filter:brightness(.9)drop-shadow(0 0 #0000)}}.stack-icon{filter:grayscale();opacity:.7;width:44px;height:44px;transition:filter .3s, opacity .3s, transform .35s var(--bounce)}.stack-icon.is-wide{width:64px}.stack-tile span{color:var(--muted);font-size:14px;font-weight:600;transition:color .25s}.stack-tile:hover{border-color:var(--coral);box-shadow:0 10px 0 -2px var(--yellow);transform:translateY(-6px)rotate(-2deg)}.stack-tile:hover .stack-icon{filter:none;opacity:1;transform:scale(1.12)}.stack-tile:hover span{color:var(--coral)}.button{min-height:52px;font-family:var(--body);transition:transform .3s var(--bounce), background .2s, color .2s, box-shadow .3s;border-radius:999px;justify-content:center;align-items:center;padding:12px 26px;font-size:15px;font-weight:700;display:inline-flex}.button:hover{transform:translateY(-3px)rotate(-1deg)}.button-primary{color:var(--coral);border:2px solid var(--coral);background:0 0}.button-primary:hover{background:var(--coral);color:#fff}.button-ghost{color:var(--ink);border:2px solid var(--ink)}@supports (animation-timeline:view()){.reveal{animation:linear both reveal;animation-timeline:view();animation-range:entry entry 35%}}@keyframes reveal{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.section-title{letter-spacing:-.03em;font-size:clamp(36px,5vw,64px);line-height:1}.work{padding-top:72px}.work .section-title{margin-bottom:40px}.work-row{border-top:1.5px solid var(--line);grid-template-columns:200px minmax(0,1fr) auto;align-items:center;gap:40px;padding:36px 0;display:grid}.work-art{background:var(--card);width:200px;height:200px;transition:transform .4s var(--bounce);border-radius:24px;place-items:center;display:grid}.work-row:hover .work-art{transform:rotate(-3deg)scale(1.03)}.art{width:150px;height:150px}.art-cloud .cell{fill:var(--blue-soft);stroke:var(--blue);stroke-width:2px;transition:fill .3s}.work-row:hover .art-cloud .cell{animation:cell 1.4s calc(var(--i) * .16s) infinite}@keyframes cell{0%,60%,to{fill:var(--blue-soft)}20%{fill:var(--blue)}}.art-network .globe,.art-network .meridian{fill:none;stroke:var(--line);stroke-width:1.5px}.art-network .globe{stroke:var(--ink);stroke-width:2px}.art-network .route{fill:none;stroke:var(--coral);stroke-width:3px;stroke-linecap:round;stroke-dasharray:6 14}.art-network .peer{fill:var(--yellow);stroke:var(--on-yellow);stroke-width:1.5px}.work-row:hover .art-network .route{animation:.8s linear infinite flow}.work-row:hover .art-network .route-2{animation-direction:reverse}@keyframes flow{to{stroke-dashoffset:-20px}}.art-architecture .cloud{fill:var(--blue-soft);stroke:var(--blue);stroke-width:2px;stroke-linejoin:round}.art-architecture .shield{fill:var(--card);stroke:var(--ink);stroke-width:2.5px;stroke-linejoin:round;stroke-dasharray:240;stroke-dashoffset:0}.art-architecture .tick{fill:none;stroke:var(--yellow);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:50;stroke-dashoffset:0}.work-row:hover .art-architecture .shield{animation:draw-shield 1.2s var(--ease)}.work-row:hover .art-architecture .tick{animation:draw-tick .6s .8s var(--ease) both}@keyframes draw-shield{0%{stroke-dashoffset:240px}}@keyframes draw-tick{0%{stroke-dashoffset:50px}}.work-category{color:var(--muted);font-size:15px}.work-body h3{letter-spacing:-.03em;margin-top:6px;font-size:clamp(30px,3.4vw,44px);line-height:1.05}.work-body h3 a{background:linear-gradient(var(--yellow), var(--yellow)) no-repeat 0 100% / 0 4px;transition:background-size .35s var(--ease)}.work-row:hover .work-body h3 a{background-size:100% 4px}.work-description{max-width:56ch;color:var(--ink);margin-top:14px}.work-stack{color:var(--muted);margin-top:10px;font-size:15px}.work-visit{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:14px;transition:color .2s;display:inline-flex}.work-visit:hover{color:var(--ink)}.work-visit svg{transition:transform .3s var(--bounce)}.work-visit:hover svg{transform:translate(3px,-3px)rotate(10deg)}.path{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:80px;padding-top:140px;display:grid}.path-intro{position:sticky;top:32px}.portrait{aspect-ratio:1;object-fit:cover;width:320px;transition:rotate .4s var(--bounce);border-radius:24px;display:block;rotate:-3deg}.portrait:hover{rotate:2deg}.path-intro .section-title{margin-top:36px;font-size:clamp(30px,3.6vw,46px)}.path-intro>p{color:var(--muted);max-width:48ch;margin-top:20px}.timeline{padding-left:28px;position:relative}.timeline:before{content:"";background:var(--line);width:3px;position:absolute;top:8px;bottom:0;left:0}.timeline:after{content:"";background:var(--coral);transform-origin:top;width:3px;position:absolute;top:8px;bottom:0;left:0;transform:scaleY(1)}@supports (animation-timeline:view()){.timeline:after{animation:linear both grow;animation-timeline:view();animation-range:entry 10% exit 90%}}@keyframes grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.timeline-heading{letter-spacing:.01em;color:var(--muted);margin:0 0 6px;font-size:14px;font-weight:700}.timeline-heading+.timeline-entry{border-top:0}.timeline-entry+.timeline-heading{margin-top:48px}.timeline-entry{border-top:1.5px solid var(--line);grid-template-columns:150px minmax(0,1fr);gap:20px;padding:20px 0;display:grid;position:relative}.timeline-entry:before{content:"";background:var(--yellow);border:3px solid var(--coral);border-radius:50%;width:13px;height:13px;position:absolute;top:27px;left:-33px}.timeline-date{color:var(--muted);padding-top:3px;font-size:14px}.timeline-entry h4{font-family:var(--display);margin:0;font-size:19px;font-weight:560;line-height:1.3}.timeline-company{color:var(--muted);margin-top:4px;font-size:15px;display:inline-block}a.timeline-company:hover{color:var(--blue)}.timeline-entry div>p{color:var(--muted);margin-top:8px;font-size:15px}.certifications{padding-top:140px}.certifications .section-title{margin-bottom:40px}.stamps{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.stamp{background:var(--card);outline:2px dashed var(--line);outline-offset:-10px;rotate:var(--tilt);transition:rotate .4s var(--bounce), translate .4s var(--bounce), outline-color .3s;border-radius:20px;flex-direction:column;gap:8px;padding:28px;display:flex}.stamp:hover{outline-color:var(--coral);translate:0 -6px;rotate:none}.stamp-date{color:var(--muted);font-size:13px}.stamp strong{font-family:var(--display);letter-spacing:-.01em;font-size:21px;font-weight:560;line-height:1.2}.stamp-issuer{font-weight:600}.stamp-scope,.stamp-id{color:var(--muted);font-size:14px}.contact{padding:160px 0 120px}.contact h2{letter-spacing:-.03em;max-width:18ch;font-size:clamp(30px,4vw,54px);line-height:1.05}.contact-email{font-family:var(--display);letter-spacing:-.03em;overflow-wrap:anywhere;background:linear-gradient(var(--yellow), var(--yellow)) no-repeat 0 100% / 100% 6px;transition:background-size .35s var(--ease);margin-top:36px;font-size:clamp(24px,4.4vw,56px);font-weight:560;line-height:1.1;display:inline-block}.contact-email:hover{color:var(--on-yellow);background-size:100% 100%}.contact-tools{margin-top:14px}.copy-email{border:2px solid var(--ink);color:var(--ink);transition:transform .3s var(--bounce), background .2s, color .2s;background:0 0;border-radius:999px;align-items:center;gap:10px;padding:9px 16px;font-size:14px;font-weight:600;display:inline-flex}.copy-email:hover{background:var(--ink);color:var(--bg);transform:rotate(-2deg)}.copy-feedback{color:var(--muted);min-height:1.5em;margin-top:10px;font-size:14px;display:block}.contact-links{flex-wrap:wrap;gap:10px;margin-top:28px;padding:0;list-style:none;display:flex}.contact-links a{background:var(--blue-soft);transition:transform .3s var(--bounce), background .2s, color .2s;border-radius:999px;padding:8px 16px;font-size:15px;font-weight:600;display:inline-block}.contact-links a:hover{background:var(--blue);color:#fff;transform:translateY(-3px)rotate(-2deg)}.contact-phone{color:var(--muted);margin-top:28px;font-size:15px}.site-footer{border-top:1.5px solid var(--line);color:var(--muted);justify-content:space-between;align-items:start;gap:32px;padding-top:26px;padding-bottom:34px;font-size:14px;display:flex}.hosting-credit{margin-top:4px;font-size:13px;display:block}.hosting-credit:hover,.footer-links a:hover{color:var(--ink)}.footer-links{gap:22px;display:flex}.page-heading{padding:56px 0}.page-heading h1{letter-spacing:-.03em;font-size:clamp(44px,6vw,84px);line-height:1}.page-heading p{color:var(--muted);margin-top:20px}.not-found{min-height:55vh}.not-found .button{margin-top:28px}@media (max-width:1080px){.wrap{width:calc(100% - 56px)}.path{gap:48px}.portrait{width:260px}.stamps{grid-template-columns:1fr 1fr}}@media (max-width:860px){.site-header{grid-template-rows:80px;grid-template-columns:minmax(0,1fr) auto;gap:0;min-height:80px;display:grid}.header-controls{display:none}.menu-toggle{width:44px;height:44px;color:var(--ink);background:0 0;border:0;justify-content:center;align-items:center;padding:12px;display:inline-flex}.menu-toggle svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:20px;height:20px}.main-navigation{border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line);grid-column:1/-1;width:100%;margin:0 0 12px;padding:12px 0;display:none}.main-navigation.is-open{flex-direction:column;align-items:stretch;gap:2px;display:flex}.main-navigation>a{border-radius:12px;min-height:48px;padding:11px 14px;font-size:18px}.main-navigation>a:hover{transform:none}.mobile-preferences{border-top:1.5px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:12px 14px 0;font-size:15px;display:flex}.mobile-preferences .locale-switcher{width:auto;padding:0 12px}.hero{grid-template-columns:1fr;gap:28px;padding:16px 0 32px}.stack{justify-self:stretch;max-width:none}.hero-lede{font-size:17px}.work{padding-top:48px}.work-row{grid-template-columns:1fr;gap:20px}.work-art{width:160px;height:160px}.art{width:120px;height:120px}.path{grid-template-columns:1fr;gap:48px;padding-top:96px}.path-intro{position:static}.timeline-entry{grid-template-columns:1fr;gap:4px}.certifications{padding-top:96px}.stamps{grid-template-columns:1fr}.stamp{rotate:none}.contact{padding:110px 0 80px}}@media (max-width:620px){.wrap{width:calc(100% - 40px)}.site-footer{flex-direction:column;gap:18px;padding:22px 0 28px}.button{min-height:48px;padding:11px 20px;font-size:14px}.portrait{width:60vw}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/1316bdccde5e7cab-s.3zrb6siod-_f0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/91a2f7867a28cebf-s.2o1dletpdqcxm.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/57b02995d6e1530a-s.p.1n10e_apdb6ux.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/85fcf895b86d74a6-s.3pdm20a023wv-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5307092570128b5a-s.16191ingcc7md.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b67966e0b83b2cd0-s.p.0fuf3937kiol3.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_b4cca554-module__0Pum5W__className{font-family:Fraunces,Fraunces Fallback}.fraunces_b4cca554-module__0Pum5W__variable{--font-hero:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/91bd2e40df15814e-s.19s5evoqhirey.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.386o_ri1vb0yv.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.44dak0sams9f0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.3lxpqujs87tck.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk Fallback;src:local(Arial);ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.0%;size-adjust:100.94%}.hanken_grotesk_74a06ad1-module__SAL2Za__className{font-family:Hanken Grotesk,Hanken Grotesk Fallback;font-style:normal}.hanken_grotesk_74a06ad1-module__SAL2Za__variable{--font-body:"Hanken Grotesk", "Hanken Grotesk Fallback"}
