/*! tailwindcss v4.3.0 | 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)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--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-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-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{:root,:host{--font-sans:"Inter", "Neue Haas Grotesk", "Neue Haas Fallback", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--font-weight-bold:700;--radius-xl:.75rem;--blur-md:12px;--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-bg:var(--bg);--color-ink:var(--ink);--font-display:"Inter Tight", "Inter", sans-serif}}@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;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,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{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}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis-weight:none;scroll-behavior:smooth;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scrollbar-width:none;-ms-overflow-style:none;background-color:var(--bg);scroll-padding-top:96px;transition:background-color .5s;overflow-x:clip}::-webkit-scrollbar{width:0;height:0;display:none}body{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;max-width:100vw;overflow-x:clip}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}@media(max-width:640px){.sect{margin-top:clamp(4.5rem,16vw,8rem)}}@media(min-width:92em){html{font-size:18px}}body{color:var(--ink);font-family:var(--font-sans);background-color:#0000;font-weight:400;transition:color .5s}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-bold)}::selection{color:#0d0d0d;background-color:#82ff1c}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}#cursor,#cursor-dot{display:none!important}}}@layer components{.link-hover{display:inline-block;position:relative}.link-hover:after{content:"";background-color:var(--accent);transform-origin:100%;width:100%;height:2px;transition:transform .4s cubic-bezier(.65,0,.35,1);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.link-hover:hover:after{transform-origin:0;transform:scaleX(1)}.reveal{opacity:0;will-change:opacity,transform;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(28px)}.reveal.in{opacity:1;transform:none}.scroll-progress{transform-origin:0;background-color:var(--accent);z-index:60;width:100%;height:3px;position:fixed;top:0;left:0;transform:scaleX(0)}.marquee{-webkit-user-select:none;user-select:none;display:flex;overflow:hidden}.marquee__track{flex-shrink:0;min-width:100%;animation:26s linear infinite marquee;display:flex}.marquee:hover .marquee__track{animation-play-state:paused}@keyframes marquee{to{transform:translate(-100%)}}.enter{opacity:0;animation:1s cubic-bezier(.16,1,.3,1) forwards enter;transform:translateY(40px)}.enter-2{animation-delay:.12s}.enter-3{animation-delay:.22s}@keyframes enter{to{opacity:1;transform:none}}.pulse-dot{background:#22c55e;border-radius:9999px;width:8px;height:8px;display:inline-block;position:relative}.pulse-dot:after{content:"";background:#22c55e;border-radius:9999px;animation:1.8s cubic-bezier(0,0,.2,1) infinite ping;position:absolute;inset:0}@keyframes ping{75%,to{opacity:0;transform:scale(2.6)}}.work-num{font-variant-numeric:tabular-nums}.work-arrow{transition:transform .4s cubic-bezier(.16,1,.3,1)}.group:hover .work-arrow{transform:translate(4px,-4px)}.wrap{max-width:95rem;margin-inline:auto;padding-left:clamp(1.5rem,6vw,6rem);padding-right:clamp(1.5rem,6vw,6rem)}.sect{margin-top:clamp(5rem,10vw,10rem)}.measure{max-width:78ch}.doodle-wiggle{transform-origin:50% 80%;animation:3.2s ease-in-out infinite doodle-wiggle}.doodle-float{animation:4.5s ease-in-out infinite doodle-float}.group:hover .doodle-wiggle{animation-duration:.7s}@keyframes doodle-wiggle{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@keyframes doodle-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media(prefers-reduced-motion:reduce){.doodle-wiggle,.doodle-float{animation:none!important}}.liquid-pill{overflow:hidden;background:#0d0d0d!important;border:1px solid #ffffff26!important}.liquid-pill span.text-white{color:#fff!important}.liquid-pill-blob{filter:blur(12px);will-change:transform;opacity:.6;z-index:0;mix-blend-mode:screen;border-radius:50%;position:absolute}.lp-blob-1{transform-origin:30px 40px;background:#82ff1c;width:60px;height:60px;margin-top:-30px;margin-left:-30px;animation:4s linear infinite lp-swirl;top:50%;left:50%}.lp-blob-2{transform-origin:-20px -30px;background:#fb6414;width:50px;height:50px;margin-top:-25px;margin-left:-25px;animation:5s linear infinite reverse lp-swirl;top:50%;left:50%}.lp-blob-3{transform-origin:-40px 10px;background:#cf0;width:55px;height:55px;margin-top:-27.5px;margin-left:-27.5px;animation:6s linear infinite lp-swirl;top:50%;left:50%}@keyframes lp-swirl{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(1.2)}to{transform:rotate(360deg)scale(1)}}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.right-3{right:calc(var(--spacing) * 3)}.left-3{left:calc(var(--spacing) * 3)}.z-\[80\]{z-index:80}.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}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.max-h-\[72vh\]{max-height:72vh}.max-h-full{max-height:100%}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-full{width:100%}.max-w-\[88vw\]{max-width:88vw}.max-w-full{max-width:100%}.flex-1{flex:1}.shrink{flex-shrink:1}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.place-items-center{place-items:center}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-4{gap:calc(var(--spacing) * 4)}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-bg\/40{border-color:var(--color-bg)}@supports (color:color-mix(in lab,red,red)){.border-bg\/40{border-color:color-mix(in oklab,var(--color-bg) 40%,transparent)}}.object-contain{object-fit:contain}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-4{padding-block:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.font-display{font-family:var(--font-display)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.text-bg{color:var(--color-bg)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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}.blur{--tw-blur:blur(8px);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,)}.invert{--tw-invert:invert(100%);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,)}.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-md{--tw-backdrop-blur:blur(var(--blur-md));-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,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-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-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-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-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-\[cubic-bezier\(0\.16\,1\,0\.3\,1\)\]{--tw-ease:cubic-bezier(.16,1,.3,1);transition-timing-function:cubic-bezier(.16,1,.3,1)}@media(hover:hover){.hover\:bg-bg:hover{background-color:var(--color-bg)}.hover\:text-ink:hover{color:var(--color-ink)}}@media(min-width:40rem){.sm\:right-6{right:calc(var(--spacing) * 6)}.sm\:left-6{left:calc(var(--spacing) * 6)}.sm\:h-14{height:calc(var(--spacing) * 14)}.sm\:w-14{width:calc(var(--spacing) * 14)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:px-12{padding-inline:calc(var(--spacing) * 12)}}}@font-face{font-family:Neue Haas Grotesk;src:url(/fonts/NeueHaasGroteskTextPro-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Neue Haas Grotesk;src:url(/fonts/NeueHaasGroteskTextPro-Medium.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Neue Haas Grotesk;src:url(/fonts/NeueHaasGroteskTextPro-Bold.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Neue Haas Fallback;src:local(Arial);ascent-override:93.19%;descent-override:23.34%;line-gap-override:0%;size-adjust:104.95%}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Variable.woff2)format("woff2");font-weight:200 700;font-style:normal;font-display:swap}:root{--bg:#fff;--ink:#0b0b0b;--mute:#6b6b6b;--line:#e6e6e6;--accent:#e8112d;--surface:#f3f3f1;--surface-ink:#0b0b0b;--surface-mute:#0b0b0b9e;--surface-line:#0b0b0b1f;--surface-line-strong:#0b0b0b3d;--color-bg-alt:#0f0f0f;--color-bg-deep:#1a1a1a;--color-text-sec:#c2c2c2;--color-text-mute:#7a7a7a;--color-divider:#262626;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-md:15px;--text-lg:16px;--text-xl:18px;--text-2xl:20px;--text-3xl:24px;--text-4xl:30px;--text-5xl:36px;--text-6xl:40px;--text-7xl:52px;--text-8xl:64px;--text-9xl:80px;--text-10xl:88px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--tracking-normal:0px;--tracking-tight:-.01em;--tracking-tighter:-.02em;--tracking-snug:-.03em;--tracking-narrow:-.04em;--tracking-compressed:-.05em;--leading-tight:1.1em;--leading-snug:1.2em;--leading-normal:1.3em;--leading-relaxed:1.5em;--space-1:4px;--space-2:6px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;--space-7:24px;--space-8:28px;--space-9:32px;--space-10:40px;--space-11:54px;--space-12:80px;--space-13:100px;--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-3xl:24px;--radius-4xl:32px;--radius-pill:50px;--radius-full:100px;--radius-circle:50%;--ease-snappy:cubic-bezier(.75, -.02, .2, .97);--ease-smooth:cubic-bezier(.44, 0, .56, 1);--transition-base:all .3s var(--ease-snappy);--transition-color:color .2s var(--ease-smooth);--transition-fade:opacity .4s ease-out;--max-width:1200px}:root[data-theme=dark]{--bg:#0d0d0d;--ink:#fff;--mute:#c2c2c2;--line:#262626;--accent:#e8112d;--surface:#262626;--surface-ink:#fff;--surface-mute:#ffffff9e;--surface-line:#ffffff24;--surface-line-strong:#ffffff42}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@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-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-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 ping{75%,to{opacity:0;transform:scale(2)}}#fluid-canvas[data-astro-cid-vlxpwnil]{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;display:block;transition:filter .5s ease,opacity .5s ease}:root[data-theme=light] #fluid-canvas[data-astro-cid-vlxpwnil]{filter:invert(1) hue-rotate(181deg) saturate(2.5) brightness(1.15);opacity:.9}main,footer{position:relative;z-index:1}:root{--f-glow: #e8112d}.folio{--f-bg: #f9f9fa;--f-surface: rgb(243 243 245 / .82);--f-surface-solid: #f3f3f5;--f-ink: #141415;--f-mute: #656572;--f-faint: #6E6E7C;--f-faint-lg: #858593;--f-line: rgb(20 20 21 / .08);--f-line-strong: rgb(20 20 21 / .14);--f-well: #e6e6ea;--f-raised: #ffffff;--f-online: #22c55e;--f-dock-bg: rgb(255 255 255 / .72);--f-shadow: 0 12px 40px -12px rgb(20 20 21 / .25), 0 2px 6px rgb(20 20 21 / .06);--f-sans: "Inter", system-ui, sans-serif;--f-display: "Inter Tight", "Inter", system-ui, sans-serif;--f-mono: "DM Mono", ui-monospace, monospace;--f-gutter: 24px;--f-gap: 8px;--f-radius: 60px;--f-radius-sm: 8px;--f-ease: cubic-bezier(.16, 1, .3, 1);min-height:100dvh;padding:0 var(--f-gutter);color:var(--f-ink);font-family:var(--f-sans);font-optical-sizing:auto;-webkit-font-smoothing:antialiased}@media(max-width:809px){.folio{--f-gutter: 16px}}:root[data-theme=dark] .folio{--f-bg: #0b0b0c;--f-surface: rgb(22 22 25 / .8);--f-surface-solid: #161619;--f-ink: #f4f4f5;--f-mute: #a6a6b0;--f-faint: #8d8d98;--f-faint-lg: #8d8d98;--f-line: rgb(255 255 255 / .08);--f-line-strong: rgb(255 255 255 / .16);--f-well: #1c1c20;--f-raised: #232327;--f-dock-bg: rgb(28 28 31 / .72);--f-shadow: 0 12px 40px -12px rgb(0 0 0 / .7), 0 2px 6px rgb(0 0 0 / .3);color-scheme:dark}.folio h1,.folio h2,.folio h3,.folio h4{font-family:var(--f-sans);font-weight:400}.folio ::selection{background:var(--f-ink);color:var(--f-bg)}.folio :focus-visible{outline:2px solid var(--f-ink);outline-offset:3px;border-radius:6px}html.folio-page[data-theme=light] #fluid-canvas{filter:invert(1)!important;opacity:.5!important}html.folio-page[data-theme=dark] #fluid-canvas{filter:brightness(1.8)!important;opacity:1!important}html.folio-page[data-theme=dark]{background:#0b0b0c}html.folio-page{scroll-padding-top:16px}.f-card{position:relative;overflow:hidden;border:1px solid var(--f-line);border-radius:var(--f-radius);background:var(--f-surface);-webkit-backdrop-filter:blur(24px) saturate(1.4);backdrop-filter:blur(24px) saturate(1.4)}.f-mono{font-family:var(--f-mono);font-size:14px;color:var(--f-faint)}.folio .f-pill{display:inline-block;padding:4px 8px;border:1px solid var(--f-line-strong);border-radius:var(--f-radius-sm);font-family:var(--f-mono);font-size:14px;line-height:1.4;color:var(--f-faint)}.f-rule{width:1px;height:48px;margin:0 auto;background:var(--f-line-strong)}.f-link{display:inline-flex;align-items:center;gap:10px;color:var(--f-ink);font-size:16px;transition:opacity .2s ease}.f-link:hover{opacity:.6}.f-link svg{color:var(--f-faint)}.f-top{display:flex;justify-content:space-between;align-items:flex-start;padding-top:24px}.f-id{display:block;padding:24px 0 0 32px;color:var(--f-ink)}.f-id .f-id-sign{height:140px;margin:-10px 0 0 -8px}@media(max-width:809px){.f-id{padding:12px 0 0 12px}.f-id .f-id-sign{height:96px}}.f-back{display:inline-flex;align-items:center;gap:16px;color:var(--f-mute);padding-top:8px}.f-back:hover{color:var(--f-ink)}.f-socials{display:flex;flex-direction:column;gap:8px;height:192px;overflow:visible}.f-socials>.f-social{flex:none}.f-social:hover,.f-social:focus-within{z-index:5}.f-social-icon{display:grid;place-items:center;width:32px;height:32px;color:var(--f-mute);transition:color .2s ease,transform .2s ease}.f-social-icon:hover{color:var(--brand, var(--f-ink));transform:translateY(-1px)}.f-social{position:relative}.f-profile.f-pass{--pass-paper: #fff;--pass-ink: #202124;--pass-muted: #626671;--pass-line: rgb(32 33 36 / .14);--pass-accent: var(--brand);--pass-button: var(--brand);--pass-on-button: #fff;--pass-radius: 26px;width:340px;padding-top:0;perspective:900px;color:var(--pass-ink);text-align:left;transform-origin:50% 64px}.f-pass-strap{transform-origin:50% 100%}.f-pass-card{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.f-pass.is-dragging .f-pass-card{cursor:grabbing}.f-pass.is-dragging .f-pass-card{transition:transform .18s ease}.f-pass-card img{-webkit-user-drag:none}.f-social.is-held .f-profile{opacity:1!important;visibility:visible!important;transition:none!important}.f-pass-strap{position:relative;width:34px;height:120vh;margin:calc(64px - 120vh) auto 0;overflow:hidden;background:linear-gradient(90deg,rgb(0 0 0 / .25),transparent 30% 70%,rgb(0 0 0 / .25)),var(--fill);filter:saturate(1.1) brightness(.9)}.f-pass-strap span{position:absolute;top:50%;left:50%;white-space:nowrap;font-family:var(--f-mono);font-size:9px;letter-spacing:.18em;color:#ffffffb3;transform:translate(-50%,-50%) rotate(90deg)}.f-pass-clasp{transform-origin:50% 0;position:relative;z-index:2;display:block;width:22px;height:30px;margin:-6px auto -14px;border:3px solid #c9ccd2;border-radius:10px 10px 12px 12px;background:transparent;box-shadow:inset 0 0 0 1px #00000040,0 2px 4px #00000059;border-top-color:#eef0f3;border-bottom-color:#8e939b}.f-pass-card{--rx: 0deg;--ry: 0deg;--gl: 0;--mx: 50%;--my: 0%;position:relative;border-radius:var(--pass-radius);box-shadow:none;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .5s var(--f-ease)}.f-pass-card:hover{transition:transform .12s linear}.f-pass-card:focus-visible{outline:2px solid var(--f-ink);outline-offset:4px}.f-pass-flip{position:relative;width:100%;height:var(--badge-height);transform-style:preserve-3d;transform:rotateY(0);transition:transform .52s cubic-bezier(.22,.61,.36,1)}.f-pass.is-resetting .f-pass-flip{transition:none}.f-pass-face.is-front{transform:rotateY(0) translateZ(1px)}.f-pass-face[aria-hidden=true]{pointer-events:none}.f-pass.is-flipped .f-pass-flip{transform:rotateY(180deg)}.f-pass-face{position:relative;box-sizing:border-box;width:100%;height:100%;overflow:hidden;padding:30px 26px 26px;border-radius:var(--pass-radius);color:var(--pass-ink);background:var(--pass-paper);border-bottom:8px solid var(--pass-accent);box-shadow:0 20px 38px -18px #00000073,inset 0 1px #ffffff40;-webkit-backface-visibility:hidden;backface-visibility:hidden}.f-pass-face.is-back{position:absolute;inset:0;display:flex;flex-direction:column;transform:rotateY(180deg) translateZ(1px)}.f-pass-face:before{content:"";position:absolute;inset:0;opacity:.065;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}.f-pass-qr{align-self:center;width:52%;margin-top:18px;padding:10px;border-radius:18px;background:#fff}.f-pass-qr svg{display:block;width:100%;height:auto}.f-pass-scan{margin-top:14px;text-align:center;font-size:15px;font-weight:500}.f-pass-face.is-back .f-pass-handle{text-align:center}.f-pass-mail{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding:6px 6px 6px 14px;border-radius:999px;background:var(--pass-line);font-size:12px}.f-pass-mail .f-mono{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pass-ink);font-size:12px}.f-pass-copy{flex:none;padding:7px 14px;border-radius:999px;background:var(--pass-button);color:var(--pass-on-button);font-size:13px;font-weight:600}.f-pass-copy .is-done,.f-pass-copy.is-copied .is-idle{display:none}.f-pass-copy.is-copied .is-done{display:inline}.f-pass-flip-hint{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--pass-muted)}.f-pass-glare{position:absolute;inset:0;overflow:hidden;border-radius:inherit;opacity:var(--gl);transition:opacity .4s ease;pointer-events:none}.f-pass-glare:before{content:"";position:absolute;inset:0;background:radial-gradient(70% 55% at var(--mx) var(--my),rgb(255 255 255 / .5),transparent 62%);mix-blend-mode:soft-light}.f-pass-glare:after{content:"";position:absolute;top:-45%;bottom:-45%;left:var(--mx, 50%);width:42%;margin-left:-21%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / .16) 34%,rgb(255 255 255 / .34) 50%,rgb(255 255 255 / .16) 66%,transparent);transform:rotate(14deg);filter:blur(9px);mix-blend-mode:screen}.f-pass-face:after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;pointer-events:none;background:linear-gradient(to bottom,rgb(255 255 255 / .16),transparent 13%,transparent 80%,rgb(0 0 0 / .1));box-shadow:inset 0 1px #ffffff80,inset 0 0 0 1px #ffffff1a,inset 0 -1px #0000002e}.f-pass-hole{position:absolute;top:10px;left:50%;width:40px;height:7px;border-radius:999px;background:#00000073;box-shadow:inset 0 1px 2px #00000080,0 1px #fff3;transform:translate(-50%)}.f-pass-top{display:flex;justify-content:space-between;margin-top:6px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--pass-muted)}.f-pass-id{display:flex;align-items:center;gap:12px;margin-top:20px}.f-pass-id img{flex:none;width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid rgb(255 255 255 / .7)}.f-pass-name{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-display);font-size:27px;font-weight:600;letter-spacing:-.02em;line-height:1.1}.f-pass-check{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#fff;color:var(--brand)}.f-pass-handle{margin-top:4px;font-size:11px;color:var(--pass-muted);overflow-wrap:anywhere}.f-pass-headline{margin-top:16px;padding-top:14px;border-top:1px solid var(--pass-line);font-size:15px;line-height:1.5;color:var(--pass-ink)}.f-pass-fields{display:flex;flex-direction:column;gap:6px;margin-top:12px}.f-pass-fields li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--pass-muted)}.f-pass-fields svg{flex:none;opacity:.8}.f-pass-cta{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:8px;height:44px;margin-top:18px;border-radius:999px;background:var(--pass-button);color:var(--pass-on-button);font-size:14px;font-weight:600;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s var(--f-ease)}.f-pass-cta:hover{box-shadow:none}.f-pass-cta:active{transform:scale(.98)}.f-pass-foot{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.f-pass-brand{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600}.f-pass-code{width:64px;height:16px;background:repeating-linear-gradient(90deg,currentColor 0 2px,transparent 2px 4px,currentColor 4px 5px,transparent 5px 8px,currentColor 8px 11px,transparent 11px 13px);opacity:.6}@media(hover:hover){.f-socials .f-profile{position:absolute;top:var(--pass-top, -24px);right:calc(100% + 14px);width:min(340px,calc(100vw - 80px));opacity:0;visibility:hidden;transform:translate(8px) scale(.97);transform-origin:100% 0;transition:opacity .2s ease .15s,transform .3s var(--f-ease) .15s,visibility 0s linear .45s}.f-socials .f-profile:after{content:"";position:absolute;top:0;right:-16px;width:16px;height:100%}.f-social:hover .f-profile,.f-social:focus-within .f-profile{opacity:1;visibility:visible;transform:none;transition:opacity .2s ease .08s,transform .35s var(--f-ease) .08s,visibility 0s linear .08s}}@media(hover:none){.f-socials .f-profile{display:none}}.f-social.is-dismissed .f-profile{opacity:0;visibility:hidden;pointer-events:none;transition:none}.f-sheet{position:fixed;inset:auto 0 max(16px,env(safe-area-inset-bottom));width:calc(100% - 32px);max-width:420px;margin:0 auto;padding:0;border:1px solid var(--f-line-strong);border-radius:32px;background:var(--f-raised);color:var(--f-ink);box-shadow:var(--f-shadow);overflow:hidden}.f-sheet.is-closing{animation:f-sheet-out .22s ease-in forwards}.f-sheet::backdrop{background:#00000059;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.f-sheet{padding:0 16px 8px;border:0;background:none;box-shadow:none;overflow:visible}.f-sheet .f-pass-strap{margin-top:calc(100dvh - 640px - 120vh)}.f-sheet .f-profile{width:min(340px,100%);margin:0 auto}.f-pass{--badge-height: 540px}.f-pass .f-pass-face.is-front{display:flex;flex-direction:column;height:var(--badge-height);min-height:0;padding:38px 26px 18px;border-bottom:0}.f-pass .f-pass-face.is-back{padding:38px 24px 22px;border-bottom:0}.f-pass .is-front>:not(.f-pass-hole,.f-pass-glare,.badge-cover-portrait,.badge-photo-wash,.badge-sideband,.badge-ribbon,.badge-editorial-strip){position:relative;z-index:1}.badge-brand{display:flex;align-items:center;gap:8px;font-size:21px;font-weight:650;letter-spacing:-.04em}.badge-brand svg{flex:none}.badge-name{font-family:var(--f-display);font-size:34px;font-weight:650;line-height:1.1;letter-spacing:-.04em}.badge-role{margin-top:6px;font-size:12px;line-height:1.4}.badge-handle{margin-top:9px;font-family:var(--f-mono);font-size:11px;overflow-wrap:anywhere}.badge-eyebrow{font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.09em}.badge-note{margin-top:14px;font-size:12px;line-height:1.6;color:var(--pass-muted)}.badge-portrait{display:block;object-fit:cover}.badge-actions{margin-top:auto;padding-top:16px;flex:none}.f-pass .f-pass-cta{height:40px;min-height:40px;margin-top:0;font-size:12px;border-radius:7px;flex-shrink:0}.f-pass-foot{margin-top:10px;min-height:24px;gap:8px}.f-pass-code{width:58px;height:18px;flex:none}.f-pass-turn{padding:6px 0 6px 5px;font-size:10px;cursor:pointer;transition:color .2s ease}.f-pass-turn:hover{color:var(--pass-ink)}.f-pass :is(a,button):focus-visible{outline-color:var(--pass-ink)}.f-pass-card{box-shadow:none}.f-pass-face:after{background:linear-gradient(120deg,rgb(255 255 255 / .08),transparent 50%,rgb(0 0 0 / .025))}.f-pass[data-brand=linkedin]{--pass-paper: #fdfefe;--pass-radius: 22px}[data-brand=linkedin] .f-pass-face.is-front{text-align:center;border:8px solid #e8edf0;padding:30px 22px 14px}.badge-ribbon{position:absolute;left:calc(50% - 58px);top:0;width:116px;height:174px;border-radius:0 0 64px 64px;background:#0a66c2;color:#fff;padding-top:25px}.badge-ribbon svg{margin:0 auto}.badge-centered{padding-top:45px}.badge-centered .badge-portrait{width:96px;height:96px;margin:0 auto 18px;border:5px solid #fdfefe;border-radius:50%}[data-brand=linkedin] .badge-name{color:#0a66c2;font-size:30px}.badge-directory{margin-top:23px;text-align:left;font-size:11px}.badge-directory p{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #e8edf0}.badge-directory span{color:#626671}.badge-directory strong{font-weight:500}[data-brand=linkedin] .badge-note{font-size:11px}[data-brand=linkedin] .f-pass-cta{border-radius:999px}[data-brand=linkedin] .is-back{border:8px solid #e8edf0;border-top:14px solid #0a66c2}.f-pass[data-brand=behance]{--pass-radius: 14px}[data-brand=behance] .f-pass-face.is-front{padding-right:68px}.badge-sideband{position:absolute;inset:0 0 0 auto;width:56px;background:#1769ff}.badge-sideband span{position:absolute;top:34px;left:19px;color:#fff;writing-mode:vertical-rl;font-size:18px;font-weight:700;letter-spacing:.18em}[data-brand=behance] .badge-brand{color:#1769ff;font-size:18px}.badge-portrait-ring{width:152px;height:152px;border-radius:50%;padding:7px;background:#fff;border:1px dashed #1769ff;margin:26px 0 18px 46px;box-shadow:0 0 0 13px #fff}.badge-portrait-ring .badge-portrait{width:100%;height:100%;border-radius:50%}[data-brand=behance] .badge-eyebrow{color:#626671;margin-bottom:8px}[data-brand=behance] .badge-name{font-size:38px}.badge-name-dot{color:#1769ff}[data-brand=behance] .badge-note{line-height:1.45;margin-top:12px}[data-brand=behance] .f-pass-code{width:32px}[data-brand=behance] .f-pass-cta{justify-content:space-between;background:transparent;color:#1769ff;border-top:1px solid #dce7fa;border-radius:0}[data-brand=behance] .is-back{border-right:18px solid #1769ff}.f-pass[data-brand=github]{--pass-paper: #151515;--pass-ink: #f5f5f5;--pass-muted: #c3c3c3;--pass-line: #444;--pass-accent: #fff;--pass-button: #f5f5f5;--pass-on-button: #151515;--pass-radius: 16px}[data-brand=github] .f-pass-face{background:repeating-linear-gradient(135deg,#141414 0 34px,#222 34px 53px,#141414 53px 70px,#303030 70px 77px);border:7px solid #e6e7e8}[data-brand=github] .badge-brand{justify-content:center;font-size:19px}.badge-diamond{width:104px;height:104px;margin:34px auto 32px;padding:5px;border:1px solid #ddd;transform:rotate(45deg);overflow:hidden}.badge-diamond .badge-portrait{width:150px;height:150px;max-width:none;transform:translate(-28px,-28px) rotate(-45deg);filter:grayscale(1)}[data-brand=github] .badge-name,[data-brand=github] .badge-role{text-align:center}[data-brand=github] .badge-name{font-size:29px;text-transform:uppercase;letter-spacing:.015em}[data-brand=github] .badge-role{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em}.badge-terminal{margin-top:24px;font-family:var(--f-mono);font-size:10px;line-height:1.9}.badge-terminal span{color:#aaa}[data-brand=github] .badge-note{margin-top:6px;font-size:11px}[data-brand=github] .f-pass-cta{background:transparent;color:#fff;border:1px solid #929292;border-radius:0}.f-pass[data-brand=dribbble]{--pass-paper: #fff7fa;--pass-ink: #0d0c22;--pass-muted: #66535c;--pass-button: #ea4c89;--pass-on-button: #0d0c22;--pass-radius: 16px}[data-brand=dribbble] .f-pass-face.is-front{padding-top:37px;background:linear-gradient(#ea4c89 0 53%,#fff7fa 53%)}.badge-dribbble-header{display:flex;align-items:center;gap:9px;font-size:24px;font-weight:650;letter-spacing:-.045em}.badge-dribbble-label{margin-left:auto;font-family:var(--f-mono);font-size:8px;letter-spacing:.08em;writing-mode:vertical-rl}.badge-dribbble-portrait{position:relative;height:194px;flex:none;margin:10px -26px 0;overflow:hidden}.badge-court{position:absolute;right:-86px;top:-6px;width:270px;height:270px;color:#a9275b;opacity:.5;transform:rotate(-16deg)}.badge-dribbble-portrait .badge-portrait{position:absolute;left:28px;top:18px;width:135px;height:150px;object-fit:cover;object-position:center 35%;border:5px solid #fff7fa;border-radius:7px;transform:rotate(-5deg)}.badge-studio-tag{position:absolute;right:20px;bottom:37px;padding:7px 9px;background:#0d0c22;color:#fff7fa;font-family:var(--f-mono);font-size:9px;transform:rotate(5deg)}.badge-dribbble-identity{padding-top:13px}[data-brand=dribbble] .badge-name{display:flex;justify-content:space-between;font-size:38px}[data-brand=dribbble] .badge-name>span{color:#ea4c89;font-size:32px}[data-brand=dribbble] .badge-role{font-size:12px}[data-brand=dribbble] .badge-note{margin-top:15px;font-size:10px}[data-brand=dribbble] .badge-note>span{margin-inline:4px;color:#a9275b}[data-brand=dribbble] .f-pass-cta{border-radius:999px}[data-brand=dribbble] .is-back{background:linear-gradient(135deg,#ea4c89 0 17%,#fff7fa 17%)}.f-pass[data-brand=gmail]{--pass-paper: #f8fafd;--pass-ink: #202124;--pass-muted: #5f6368;--pass-accent: #4285f4;--pass-button: #1a73e8;--pass-on-button: #fff;--pass-radius: 16px}[data-brand=gmail] .f-pass-face{background:#f8fafd}.badge-google-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.badge-google-header .badge-eyebrow{color:#5f6368;font-size:8px;letter-spacing:.05em}.f-google-wordmark{font-size:30px;font-weight:500;letter-spacing:-.06em}.f-google-wordmark span:nth-child(1),.f-google-wordmark span:nth-child(4){color:#4285f4}.f-google-wordmark span:nth-child(2),.f-google-wordmark span:nth-child(6){color:#ea4335}.f-google-wordmark span:nth-child(3){color:#fbbc04}.f-google-wordmark span:nth-child(5){color:#34a853}.badge-google-art{position:relative;height:160px;margin:12px -26px 0;flex:none;overflow:hidden}.google-shape{position:absolute}.google-blue{width:150px;height:150px;left:-30px;top:16px;background:#4285f4;border-radius:50%}.google-red{width:87px;height:43px;right:18px;top:12px;background:#ea4335;border-radius:60px 60px 0 0;transform:rotate(-25deg)}.google-yellow{width:112px;height:112px;right:-31px;bottom:12px;background:#fbbc04;border-radius:50%}.google-green{width:123px;height:56px;left:18px;bottom:5px;background:#34a853;border-radius:8px 8px 54px 54px;transform:rotate(10deg)}.badge-google-art .badge-portrait{position:absolute;top:6px;left:calc(50% - 58px);width:116px;height:145px;border:6px solid #f8fafd;border-radius:70px 70px 12px 12px;object-fit:cover;object-position:center 35%;transform:rotate(4deg)}.badge-google-identity{margin-top:8px}[data-brand=gmail] .badge-name{display:flex;align-items:center;gap:5px;font-size:36px}.badge-google-dot{width:9px;height:9px;background:#4285f4;border-radius:50%;align-self:flex-end;margin-bottom:6px}[data-brand=gmail] .badge-role{font-size:10px;color:#5f6368}.badge-google-address{display:flex;align-items:center;gap:11px;margin-top:13px;padding-top:10px;border-top:1px solid #dce2eb}.badge-google-address>svg{color:#ea4335;flex:none}.badge-google-address .badge-eyebrow{font-size:8px;color:#5f6368}.badge-google-address p{font-size:12px;margin-top:3px;overflow-wrap:anywhere}[data-brand=gmail] .badge-note{font-size:10px;margin-top:8px}[data-brand=gmail] .f-pass-cta{border-radius:999px}[data-brand=gmail] .is-back{background:linear-gradient(#f8fafd,#f8fafd) padding-box,linear-gradient(90deg,#4285f4 25%,#ea4335 25% 50%,#fbbc04 50% 75%,#34a853 75%) border-box;border-bottom:8px solid transparent}.f-pass[data-brand=substack]{--pass-paper: #191919;--pass-ink: #f7f5f0;--pass-muted: #bfbcb6;--pass-line: #47413c;--pass-accent: #ff762b;--pass-button: #ff762b;--pass-on-button: #191919;--pass-radius: 19px}[data-brand=substack] .f-pass-card{background:none;box-shadow:none}[data-brand=substack] .f-pass-flip{width:100%;margin-left:0}[data-brand=substack] .f-pass-strap,[data-brand=substack] .f-pass-clasp{margin-inline:auto}[data-brand=substack] .f-pass-face{box-shadow:0 12px 24px -12px #0000008c}[data-brand=substack] .f-pass-face.is-front{padding-inline:22px}[data-brand=substack] .f-pass-face.is-back{align-items:center;justify-content:center;background:#ff762b}[data-brand=substack] .is-back .f-pass-qr{position:relative;z-index:1;width:68%;max-width:210px;margin:0;padding:16px;border-radius:12px}.badge-companion{position:absolute;top:4px;bottom:12px;left:-8px;width:100%;border-radius:18px;background:#ff762b;transform:translateZ(-3px) rotate(7deg);transform-origin:50% 50%;box-shadow:0 12px 24px -12px #0006;pointer-events:none}.badge-companion>span{position:absolute;bottom:21px;left:9px;writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--f-display);font-size:42px;font-weight:650;letter-spacing:.01em;color:#fff5e9}.badge-companion>svg{position:absolute;top:30px;left:12px;color:#fff5e9}[data-brand=substack] .badge-brand{justify-content:space-between;font-size:16px}.badge-substack-mark{display:flex;align-items:center;justify-content:center;margin:34px 0 30px;color:#ff762b}.badge-substack-mark>svg{width:142px;height:142px}.badge-substack-mark>span{align-self:flex-end;font-size:40px;line-height:1}[data-brand=substack] .badge-name{font-size:43px;letter-spacing:-.045em}.badge-substack-lines{margin-top:18px;font-size:12px;line-height:1.9}.badge-substack-lines span{margin-right:6px;color:#ff762b}[data-brand=substack] .badge-handle{color:#bfbcb6;margin-top:23px}[data-brand=substack] .f-pass-cta{justify-content:space-between;background:none;color:#ff9b65;border-top:1px solid #514035;border-radius:0}[data-brand=substack] .f-pass-code{width:32px}[data-brand=substack] .f-pass-mail{flex-wrap:wrap;border-radius:12px;padding:8px}[data-brand=substack] .f-pass-mail .f-mono{font-size:10px}[data-brand=substack] .is-back .f-pass-brand{font-size:11px}.f-pass[data-brand=instagram]{--pass-paper: #71359e;--pass-ink: #fff;--pass-muted: #f1e4fa;--pass-line: rgb(255 255 255 / .25);--pass-accent: #fff;--pass-button: #fff;--pass-on-button: #772b84;--pass-radius: 16px}[data-brand=instagram] .f-pass-face.is-front{padding-top:39px;background:linear-gradient(135deg,#fa995d,#ce3688 60%,#693db5)}.badge-cover-portrait{position:absolute;inset:0 0 auto;width:100%;height:68%;object-fit:cover;object-position:center 28%}.badge-photo-wash{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgb(26 9 44 / .5),transparent 30%,#802f8f 68%,#632d94)}[data-brand=instagram] .badge-brand{font-size:19px}.badge-photo-caption{margin-top:auto;padding-top:188px}[data-brand=instagram] .badge-eyebrow{color:#eedafa;margin-bottom:9px}[data-brand=instagram] .badge-name{font-size:42px}[data-brand=instagram] .badge-handle{margin-top:8px}[data-brand=instagram] .badge-role{font-size:11px;margin-top:11px}[data-brand=instagram] .badge-actions{margin-top:16px;padding-top:0}[data-brand=instagram] .f-pass-cta{background:#ffffff24;color:#fff;border:1px solid rgb(255 255 255 / .45)}[data-brand=instagram] .is-back{background:linear-gradient(150deg,#af3b86,#542985)}.f-pass[data-brand=medium]{--pass-paper: #f5f0e6;--pass-ink: #27241f;--pass-muted: #696255;--pass-radius: 9px;--pass-button: #27241f}[data-brand=medium] .f-pass-face.is-front{padding-left:72px;padding-right:21px}.badge-editorial-strip{position:absolute;inset:0 auto 0 0;width:49px;background:#292620;color:#f5f0e6}.badge-editorial-strip span{position:absolute;bottom:30px;left:14px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:20px;font-weight:500;letter-spacing:.1em}[data-brand=medium] .badge-brand{font-family:Georgia,serif;font-size:25px}[data-brand=medium] .badge-portrait{width:70px;height:70px;margin-top:23px;border-radius:50%;filter:grayscale(1);border:3px double #a79c89}[data-brand=medium] .badge-eyebrow{margin-top:18px;margin-bottom:6px;color:#696255}[data-brand=medium] .badge-name{font-family:Georgia,serif;font-size:29px;font-weight:400}[data-brand=medium] .badge-role{font-size:10px}.badge-editorial-quote{font-family:Georgia,serif;font-size:36px;line-height:1.03;letter-spacing:-.04em;margin-top:20px}[data-brand=medium] .badge-handle{font-size:10px;margin-top:14px}[data-brand=medium] .f-pass-cta{justify-content:space-between;background:none;color:#27241f;border-top:1px solid #b7ab98;border-bottom:1px solid #b7ab98;border-radius:0}[data-brand=medium] .f-pass-code{width:32px}[data-brand=medium] .is-back{border-left:16px solid #292620}:root[data-theme=dark] .f-social-icon:is([data-social=github],[data-social=medium]):hover{color:#fff}@media(max-height:740px){.f-pass{--badge-height: 480px}.badge-centered{padding-top:30px}.badge-centered .badge-portrait{width:82px;height:82px;margin-bottom:13px}.badge-ribbon{height:143px}.badge-directory{margin-top:16px}.badge-directory p{padding-block:5px}.badge-portrait-ring{width:118px;height:118px;margin-block:16px 10px}.badge-diamond{width:87px;height:87px;margin-block:27px 25px}.badge-diamond .badge-portrait{width:130px;height:130px;transform:translate(-27px,-27px) rotate(-45deg)}.badge-terminal{margin-top:17px}.badge-substack-mark{margin-block:23px 22px}.badge-substack-mark>svg{width:112px;height:112px}.badge-substack-lines{margin-top:13px}[data-brand=substack] .badge-handle{margin-top:17px}.badge-photo-caption{padding-top:134px}[data-brand=medium] .badge-portrait{width:57px;height:57px;margin-top:15px}[data-brand=medium] .badge-eyebrow{margin-top:13px}.badge-editorial-quote{font-size:30px;margin-top:16px}}@media(max-width:379px){.f-pass .f-pass-face.is-front,.f-pass .f-pass-face.is-back{padding-inline:18px}.badge-name{font-size:29px}.badge-directory{font-size:10px}[data-brand=behance] .f-pass-face.is-front{padding-right:49px}.badge-sideband{width:37px}.badge-sideband span{left:11px;font-size:15px}.badge-portrait-ring{margin-left:18px}[data-brand=behance] .badge-name{font-size:32px}.badge-terminal{font-size:8px}[data-brand=substack] .f-pass-face.is-front{padding-inline:17px}.badge-companion>span{font-size:34px;left:6px}[data-brand=substack] .badge-name{font-size:36px}.badge-substack-lines{font-size:10px}[data-brand=medium] .f-pass-face.is-front{padding-left:59px;padding-right:15px}.badge-editorial-strip{width:39px}.badge-editorial-strip span{left:9px;font-size:18px}[data-brand=medium] .badge-name{font-size:27px}.f-pass .f-pass-cta{font-size:11px;gap:4px}.f-pass-turn{font-size:9px}.f-pass-mail{padding-left:8px;gap:4px}.f-pass-mail .f-mono{font-size:10px}}.f-pass .f-pass-face{width:100%;height:var(--badge-height)}@media(max-height:740px){.badge-dribbble-portrait{height:154px}.badge-dribbble-portrait .badge-portrait{height:128px;width:113px;top:10px}.badge-studio-tag{bottom:27px;font-size:8px}.badge-dribbble-identity{padding-top:8px}[data-brand=dribbble] .badge-note{margin-top:10px}.badge-google-art{height:126px;margin-top:10px}[data-brand=gmail] .f-google-wordmark{font-size:27px}[data-brand=gmail] .badge-name{font-size:32px}.badge-google-art .badge-portrait{width:96px;height:118px;left:calc(50% - 48px);top:3px}.google-blue{width:125px;height:125px}.google-green{bottom:0}.badge-google-address{margin-top:10px;padding-top:8px}}@media(max-width:379px){.badge-dribbble-portrait,.badge-google-art{margin-inline:-18px}.badge-dribbble-portrait .badge-portrait{left:22px}.badge-studio-tag{right:13px}.badge-dribbble-header{font-size:22px}[data-brand=dribbble] .badge-name{font-size:33px}[data-brand=dribbble] .badge-note{font-size:8px}.badge-google-header .badge-eyebrow{font-size:7px}.badge-google-address p{font-size:10px}.badge-google-address{gap:8px}[data-brand=gmail] .badge-note{font-size:9px}.badge-companion{left:-6px;width:100%;transform:translateZ(-3px) rotate(3.5deg)}}.f-pass .f-pass-cta:is(:hover,:focus-visible){box-shadow:none}[data-brand=linkedin] .f-pass-cta:is(:hover,:focus-visible){background-color:#004182;color:#fff}[data-brand=behance] .f-pass-cta:is(:hover,:focus-visible){background-color:#e8f0ff;color:#084dcc;border-color:#1769ff}[data-brand=dribbble] .f-pass-cta:is(:hover,:focus-visible){background-color:#0d0c22;color:#fff}[data-brand=github] .f-pass-cta:is(:hover,:focus-visible){background-color:#f5f5f5;color:#151515;border-color:#f5f5f5}[data-brand=medium] .f-pass-cta:is(:hover,:focus-visible){background-color:#e8dfd0;color:#191712;border-color:#27241f}[data-brand=substack] .f-pass-cta:is(:hover,:focus-visible){background-color:#ff762b;color:#191919;border-color:#ff762b}[data-brand=instagram] .f-pass-cta:is(:hover,:focus-visible){background-color:#fff;color:#71359e;border-color:#fff}[data-brand=gmail] .f-pass-cta:is(:hover,:focus-visible){background-color:#174ea6;color:#fff}.f-social-icon.is-bounce{animation:f-icon-bounce .55s cubic-bezier(.3,1.6,.5,1)}@keyframes f-icon-bounce{0%{transform:scale(1)}35%{transform:scale(.8)}70%{transform:scale(1.25)}to{transform:scale(1)}}.f-sheet-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:40px;height:40px;z-index:2;border-radius:50%;background:#ffffffd9;color:#141415}@keyframes f-sheet-out{to{transform:translateY(calc(100% + 24px));opacity:0}}.f-hero{padding:clamp(64px,6.5vw,96px) 0 64px}.f-display{font-family:var(--f-display)!important;font-weight:500!important;font-size:clamp(64px,9.2vw,132px);line-height:1;letter-spacing:-.02em;text-wrap:balance}.f-hero .f-display{margin-top:128px}.f-display-pre{display:block;color:var(--f-faint-lg)}@media(max-width:809px){.f-hero .f-display{margin-top:72px}}.f-sweep{position:relative;display:inline-block;vertical-align:bottom;white-space:nowrap;transition:width .55s cubic-bezier(.65,0,.35,1)}.f-sweep-word{display:inline-block;word-spacing:.06em}.f-hero .f-sweep{font-size:clamp(26px,9.2vw,132px)}.f-sweep-word span{display:inline-block}.f-sweep-word.is-revealing span{animation:f-sweep-letter .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--n) * 45ms + .12s)}@keyframes f-sweep-letter{0%{opacity:0;transform:translateY(.12em);filter:blur(4px)}}.f-sweep-bars{position:absolute;inset:-.12em -.04em;pointer-events:none}.f-sweep-bars i{position:absolute;inset:0;border-radius:.12em;transform:scaleX(0)}.f-hero-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:20px}.f-hero-foot .f-lede{align-self:flex-start}.f-lede{max-width:880px;font-size:clamp(20px,1.7vw,24px);line-height:1.5;letter-spacing:.01em;color:var(--f-mute)}.f-badge{--size: 112px;position:relative;display:grid;place-items:center;flex:none;width:var(--size);height:var(--size);border-radius:50%;color:var(--f-mute);will-change:transform,opacity}.f-badge-ring{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.f-badge-ring text{font-family:var(--f-mono);font-size:9.2px;letter-spacing:.04em;text-transform:uppercase;fill:currentColor}.f-badge-core{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--f-glow);color:#fff;box-shadow:0 8px 24px -8px var(--f-glow);transition:transform .4s var(--f-ease)}.f-badge:hover{color:var(--f-ink)}.f-badge:hover .f-badge-core{transform:scale(1.12)}.f-badge:hover .f-badge-core svg{animation:f-nudge .9s var(--f-ease) infinite}@keyframes f-nudge{50%{transform:translateY(4px)}}@media(max-width:809px){.f-badge{--size: 84px}.f-badge-core{width:38px;height:38px}}@media(max-width:379px){.f-badge{--size: 70px}.f-badge-core{width:32px;height:32px}.f-badge-ring text{font-size:10px}}@media(max-width:809px){.f-hero{display:grid;grid-template-columns:minmax(0,1fr)}.f-hero-foot{display:contents}.f-hero .f-display{grid-row:1;grid-column:1}.f-hero-badge{grid-row:1;grid-column:1;justify-self:end;align-self:end;margin-bottom:-6px}.f-lede{grid-row:2;margin-top:20px}}.f-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--f-gap)}@media(max-width:809px){.f-grid{grid-template-columns:minmax(0,1fr)}}.f-work{display:block;color:inherit}.f-card img.is-contain{object-fit:contain;padding:12%}.f-work-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 40px 26px}.f-work-title{font-size:24px;line-height:1.3}.f-work-meta{display:inline-flex;align-items:center;gap:10px}.f-work-arrow{display:inline-grid;color:var(--f-ink);opacity:0;transform:translate(-6px,6px);transition:opacity .3s ease,transform .4s var(--f-ease)}.f-work:hover .f-work-arrow{opacity:1;transform:none}@media(hover:none){.f-work-arrow{opacity:1;transform:none}}.f-drag{overflow:hidden;cursor:grab;touch-action:pan-y;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.f-drag.is-dragging{cursor:grabbing}.f-drag-track{display:flex;width:max-content;will-change:transform}.f-drag-set{display:flex;flex:none;gap:8px;padding-right:8px}.f-roles{align-self:stretch;margin:-8px calc(-1*clamp(24px,5vw,72px)) 0}.f-role-tag{white-space:nowrap;--tone: color-mix(in srgb, var(--f-glow) 82%, var(--f-ink));padding:10px 20px;border:1px solid var(--f-line-strong);border-radius:999px;font-size:15px;font-weight:500;color:var(--f-mute);background:var(--f-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.f-role-tag.is-solid{border-color:transparent;background:var(--f-glow);color:#fff}.f-role-tag.is-accent{border-color:color-mix(in srgb,var(--f-glow) 40%,transparent);background:color-mix(in srgb,var(--f-glow) 8%,var(--f-surface));color:var(--tone)}.f-stats{margin-top:var(--f-gap);padding:40px clamp(24px,4vw,64px)}.f-stats .f-slider-track{gap:0;--f-gap: 0px}.f-stat{padding:0 clamp(16px,2vw,32px)}.f-stat+.f-stat{border-left:1px solid var(--f-line-strong)}.f-stat-num{font-family:var(--f-display);font-size:clamp(40px,4vw,56px);font-weight:600;line-height:1.05;letter-spacing:-.03em;color:color-mix(in srgb,var(--f-glow) 82%,var(--f-ink))}.f-stat-label{margin-top:8px;font-size:15px;color:var(--f-mute)}@media(max-width:809px){.f-stats{padding:40px 24px 28px}.f-stat{text-align:center}.f-stat+.f-stat{border-left:0}}.f-wk-card{display:flex;flex-direction:column;gap:32px;padding:40px 0 36px;overflow:hidden}.f-card.f-wk-card{border-color:transparent;background:var(--f-card-fill, var(--f-glow));color:var(--f-on-fill, #fff);transition:background .5s ease,color .3s ease}.folio .f-wk-card .f-pill{color:inherit;border-color:color-mix(in srgb,currentColor 40%,transparent)}.f-wk-head{position:relative;display:flex;justify-content:center;margin:0 48px}@media(min-width:810px){.f-wk-card{height:calc(100svh - 2 * var(--f-gap));min-height:600px;justify-content:center;padding-bottom:104px}}.f-wk-tools{position:absolute;right:0;top:50%;display:flex;align-items:center;gap:16px;transform:translateY(-50%)}.f-wk-count{font-size:13px;color:inherit;opacity:.75}.f-fc-stage{display:flex;gap:16px;padding:0 24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.f-fc-stage::-webkit-scrollbar{display:none}.f-fc-slide{position:relative;flex:0 0 min(80%,640px);aspect-ratio:16 / 10;overflow:hidden;border-radius:28px;background:#0000001f;scroll-snap-align:center}.f-fc-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .4s ease,transform .8s var(--f-ease)}.f-fc-slide img.is-contain{object-fit:contain;padding:8%;background:var(--f-surface)}.f-fc-slide img.is-alt{opacity:0}.f-fc-slide[aria-current=true]:hover img{transform:scale(1.03)}.f-fc-slide[aria-current=true]:hover img.is-alt{opacity:1}.f-fc-slide:focus-visible{outline:2px solid currentColor;outline-offset:4px}.f-fc.is-live .f-fc-stage{position:relative;display:block;overflow:visible;padding:0;touch-action:pan-y;cursor:grab;user-select:none}.f-fc.is-live .f-fc-stage.is-dragging{cursor:grabbing}.f-fc.is-live .f-fc-slide{position:absolute;top:0;left:50%;margin-left:calc(var(--fc-w) / -2);aspect-ratio:auto;will-change:transform,filter,opacity;-webkit-user-drag:none}.f-fc.is-live .f-fc-slide:not([aria-current=true]){cursor:pointer}.f-fc-caption{position:relative;width:min(var(--fc-w, 640px),calc(100% - 48px));margin:-14px auto 0}.f-fc-caret{position:absolute;top:-14px;left:50%;width:0;height:0;border:5px solid transparent;border-bottom:7px solid currentColor;border-top:0;transform:translate(-50%)}.f-fc-text{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:8px 32px;padding-top:12px;animation:f-fc-in .45s var(--f-ease)}.f-fc-text>div{grid-column:1;grid-row:1;min-width:0}.f-fc-text .f-fc-title,.f-fc-text .f-fc-meta{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.f-fc-text .f-fc-cta{grid-column:2;grid-row:1 / span 2}.f-fc-text[hidden]{display:none}.f-fc-title{font-size:24px;line-height:1.25;font-weight:500;letter-spacing:-.01em}.folio .f-fc-meta{margin-top:2px;font-size:13px;color:inherit;opacity:.75}.f-fc-blurb{font-size:15px;line-height:1.5;opacity:.8}.f-fc-text .f-fc-blurb{grid-column:1;grid-row:2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.f-fc-cta{display:inline-flex;align-items:center;gap:6px;font-size:15px;white-space:nowrap}.f-fc-cta:hover{text-decoration:underline;text-underline-offset:4px}@keyframes f-fc-in{0%{opacity:0;transform:translateY(6px)}}.f-fc-nav{display:flex;justify-content:center;gap:8px}.f-fc-btn{display:grid;place-items:center;width:44px;height:44px;border:1px solid color-mix(in srgb,currentColor 35%,transparent);border-radius:999px;color:inherit;transition:background .2s ease,border-color .2s ease}.f-fc-btn:hover{background:color-mix(in srgb,currentColor 12%,transparent);border-color:currentColor}.f-fc-btn:focus-visible{outline:2px solid currentColor;outline-offset:2px}.f-fc:not(.is-live) .f-fc-nav,.f-fc:not(.is-live) .f-fc-caret{display:none}.f-wk-card .f-wk-phone{display:none}@media(max-width:809px){.f-wk-card{gap:24px;padding:32px 24px 24px}.f-wk-head{margin:0}.f-wk-tools{display:none}.f-fc-stage,.f-fc-caption,.f-fc-nav{display:none!important}.f-wk-card .f-wk-phone{display:flex}.f-wk-m{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;color:inherit}.f-wk-m-media{position:relative;align-self:stretch;aspect-ratio:16 / 10;margin-bottom:14px;overflow:hidden;border-radius:28px;background:#0000001f}.f-wk-m-media img{width:100%;height:100%;object-fit:cover}.f-wk-m .f-fc-title{font-size:20px}.f-wk-m .f-fc-blurb{margin-top:6px}.f-wk-m .f-fc-cta{margin-top:10px}.f-wk-card .f-dot:before{background:color-mix(in srgb,currentColor 35%,transparent)}.f-wk-card .f-dot[aria-current=true]:before{background:currentColor}}@media(prefers-reduced-motion:reduce){.f-fc-text{animation:none}}.f-split{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--f-gap);margin-top:var(--f-gap);align-items:start}.f-sticky{position:sticky;top:var(--f-gap);display:flex;flex-direction:column;gap:var(--f-gap)}.f-photo{height:calc(100dvh - 3 * var(--f-gap) - 96px);min-height:420px}.f-sticky--solo .f-photo{height:calc(100dvh - 2 * var(--f-gap))}.f-photo img{width:100%;height:100%;object-fit:cover}.f-gal{isolation:isolate;background:var(--f-well)}.f-gal .f-gal-img{position:absolute;inset:0;opacity:0;transform:scale(1.08);filter:blur(14px);transition:opacity .9s ease,transform 1.4s var(--f-ease),filter .9s ease}.f-gal .f-gal-img.is-on{opacity:1;transform:none;filter:none}.f-gal-dock{position:absolute;left:50%;bottom:20px;z-index:1;display:flex;gap:6px;max-width:calc(100% - 40px);padding:6px;border:1px solid rgb(255 255 255 / .28);border-radius:999px;background:#ffffff29;-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);box-shadow:0 10px 30px -12px #00000073;overflow-x:auto;scrollbar-width:none;transform:translate(-50%)}.f-gal-dock::-webkit-scrollbar{display:none}.f-gal-thumb{flex:none;width:44px;height:44px;border-radius:999px;overflow:hidden;opacity:.6;transition:width .5s var(--f-ease),opacity .3s ease}.f-gal-thumb img{width:100%;height:100%;object-fit:cover}.f-gal-thumb:hover{opacity:.9}.f-gal-thumb[aria-current=true]{width:92px;opacity:1}@media(max-width:809px){.f-gal-dock{bottom:10px;max-width:calc(100% - 20px);gap:4px;padding:4px}.f-gal-thumb{width:30px;height:30px}.f-gal-thumb[aria-current=true]{width:54px}}.f-stack{display:flex;flex-direction:column;gap:var(--f-gap)}@media(max-width:1023px){.f-split{grid-template-columns:minmax(0,1fr)}.f-sticky{position:static}.f-photo,.f-sticky--solo .f-photo{height:auto;min-height:0;aspect-ratio:4 / 5}}@media(max-width:809px){.f-gal,.f-sticky--solo .f-gal{aspect-ratio:4 / 3}}.f-panel{display:flex;flex-direction:column;align-items:center;gap:40px;padding:64px clamp(24px,5vw,72px);text-align:center}.f-panel-title{font-size:18px;line-height:1.4}.f-panel-body{font-size:16px;line-height:1.6;color:var(--f-mute);text-wrap:pretty}.f-panel-title+.f-panel-body{margin-top:16px}.f-facts{display:flex;flex-direction:column;gap:4px;line-height:1.6}.f-timeline{display:flex;flex-direction:column;align-items:center;gap:20px}.f-when{display:inline-flex;align-items:center;gap:12px}.f-kind{display:block;width:fit-content;margin:0 auto 10px;padding:3px 10px;border-radius:999px;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--f-mute);background:var(--f-well)}.f-kind.is-achievement{color:color-mix(in srgb,var(--f-glow) 82%,var(--f-ink));background:color-mix(in srgb,var(--f-glow) 12%,transparent)}.f-when i{width:4px;height:4px;border-radius:50%;background:var(--f-line-strong)}.f-role{margin-top:8px;font-size:18px;line-height:1.4}.f-org{margin-top:4px;color:var(--f-mute)}.f-card.f-cv{display:flex;justify-content:center;align-items:center;gap:10px;padding:40px 24px;border-color:transparent;background:var(--f-card-fill, var(--f-glow));color:var(--f-on-fill, #fff);font-size:16px;font-weight:500;transition:background .5s ease,color .3s ease,filter .2s ease,transform .3s var(--f-ease)}.f-card.f-cv:hover{filter:brightness(1.06)}.f-card.f-cv:active{transform:scale(.99)}.f-card.f-cv svg{transition:transform .3s var(--f-ease)}.f-card.f-cv:hover svg{transform:translateY(2px)}.f-quotes{width:100%}.f-slider{display:flex;flex-direction:column;align-items:center;gap:24px}.f-slider-track{--per: var(--per-sm);align-self:stretch;display:flex;gap:var(--f-gap);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.f-slider-track::-webkit-scrollbar{display:none}.f-slider-track>*{flex:0 0 calc((100% - (var(--per) - 1) * var(--f-gap)) / var(--per));min-width:0;scroll-snap-align:start}@media(min-width:810px){.f-slider-track{--per: var(--per-md)}}@media(min-width:1200px){.f-slider-track{--per: var(--per-lg)}}.f-dots{display:flex;gap:2px}.f-dot{display:grid;place-items:center;width:24px;height:24px}.f-dot:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--f-line-strong);transition:width .35s var(--f-ease),background-color .2s ease}.f-dot:hover:before{background:var(--f-faint)}.f-dot[aria-current=true]:before{width:20px;background:var(--f-ink)}.f-quote{display:flex;flex-direction:column;align-items:center;justify-content:center}.f-quote blockquote{font-size:18px;line-height:1.45;text-wrap:pretty}.f-quote-name{margin-top:20px;color:var(--f-ink);font-weight:500}.f-quote blockquote.is-pending{color:var(--f-faint);font-style:italic}.f-quote-draft{margin-bottom:12px;font-size:11px;color:var(--f-mute)}.f-quote-links{display:flex;justify-content:center;gap:8px;margin-top:16px}.f-quote-links a{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--f-line-strong);border-radius:50%;color:var(--f-mute)}.f-quote-links a:hover{color:#fff}.f-quote-links a.is-linkedin:hover{background:#0a66c2;border-color:#0a66c2}.f-quote-links a.is-web:hover{background:var(--brand, var(--f-glow));border-color:var(--brand, var(--f-glow));color:#fff}.f-quote-role{margin-top:2px;font-size:13px}.f-marquee{height:96px;display:flex;align-items:center;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.f-marquee-track{display:flex;flex:none;gap:72px;padding-right:72px;animation:f-marquee 48s linear infinite}.f-marquee-track span{font-family:var(--f-display);font-size:22px;font-weight:600;letter-spacing:-.02em;white-space:nowrap;color:var(--f-ink);opacity:.78}.f-marquee-track{align-items:center}.f-marquee-track .f-mq-logo{display:inline-flex;align-items:center;opacity:1}.f-mq-logo img{display:block;width:auto;height:30px}.f-mq-logo .is-dark,:root[data-theme=dark] .f-mq-logo .is-light{display:none}:root[data-theme=dark] .f-mq-logo .is-dark{display:block}@keyframes f-marquee{to{transform:translate(-100%)}}.f-exp summary{list-style:none;cursor:pointer}.f-exp summary::-webkit-details-marker{display:none}.f-exp summary:hover .f-exp-toggle{color:var(--f-ink);border-color:var(--f-faint)}.f-org-logo{display:flex;justify-content:center;margin-top:10px}.f-org-logo img{height:26px;width:auto}.f-org-logo .is-dark,:root[data-theme=dark] .f-org-logo .is-light{display:none}:root[data-theme=dark] .f-org-logo .is-dark{display:block}.f-exp-toggle{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:4px 12px;border:1px solid var(--f-line-strong);border-radius:999px;font-size:12px;color:var(--f-mute);transition:color .2s ease,border-color .2s ease}.f-exp-toggle svg{transition:transform .35s var(--f-ease)}.f-exp[open] .f-exp-toggle svg{transform:rotate(180deg)}.f-exp-less,.f-exp[open] .f-exp-more{display:none}.f-exp[open] .f-exp-less{display:inline}.f-exp-body{padding:20px 4px 4px;text-align:left}.f-exp-body>.f-mono{font-size:12px;text-align:center}.f-exp-body ul{display:flex;flex-direction:column;margin-top:16px}.f-exp-body li{position:relative;padding:12px 0 12px 18px;font-size:15px;line-height:1.6;color:var(--f-mute);text-wrap:pretty}.f-exp-body li+li{border-top:1px solid var(--f-line)}.f-exp-body li:before{content:"";position:absolute;left:2px;top:22px;width:5px;height:5px;border-radius:50%;background:var(--f-glow)}@supports (interpolate-size: allow-keywords){.f-exp{interpolate-size:allow-keywords}.f-exp::details-content{height:0;overflow:clip;transition:height .45s var(--f-ease),content-visibility .45s allow-discrete}.f-exp[open]::details-content{height:auto}}.f-svc{display:flex;flex-direction:column;align-items:center}.f-svc-num{font-family:var(--f-display);font-size:56px;font-weight:600;line-height:1;letter-spacing:-.04em;color:color-mix(in srgb,var(--f-glow) 82%,var(--f-ink));margin-bottom:20px}.f-stack-strip{align-self:stretch;margin:0 calc(-1*clamp(24px,5vw,72px))}.f-stack-strip .f-drag-set{gap:12px;padding-right:12px}.f-stack-item{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:var(--f-raised);border:1px solid var(--f-line)}.f-stack-item img{width:44px;height:44px;object-fit:contain;border-radius:10px;pointer-events:none}.f-stack-names{max-width:32ch;font-size:13px;line-height:1.6}.f-post{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--f-ink)}.f-post-title{font-size:18px;line-height:1.45;text-wrap:balance}.f-post-meta{font-size:13px}.f-post-cta{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:15px;color:var(--f-mute);transition:color .2s ease,gap .3s var(--f-ease)}.f-post:hover .f-post-cta{color:var(--f-ink);gap:10px}.f-contact{margin-top:var(--f-gap);padding:72px 24px 80px;gap:0}.f-card.f-contact{border-color:transparent;background:var(--f-card-fill, var(--f-glow));color:var(--f-on-fill, #fff);transition:background .5s ease,color .3s ease}.f-contact .f-panel-body{color:inherit;opacity:.82}.folio .f-contact .f-pill{color:inherit;border-color:color-mix(in srgb,currentColor 40%,transparent);opacity:.9}.f-contact h2{max-width:760px;margin-top:64px;font-size:clamp(32px,3.4vw,48px);line-height:1.2;letter-spacing:-.03em;text-wrap:balance}.f-contact .f-panel-body{max-width:360px;margin-top:24px;font-size:18px}@property --f-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.f-cta{position:relative;isolation:isolate;display:inline-grid;place-items:center;min-width:192px;height:64px;margin-top:64px;padding:0 32px;border-radius:999px;font-size:16px;font-weight:500;transition:transform .3s var(--f-ease)}.f-cta span{background:var(--f-card-fill, var(--f-glow));-webkit-background-clip:text;background-clip:text;color:transparent}.f-cta:before{content:"";position:absolute;inset:-1px;z-index:-2;border-radius:inherit;background:conic-gradient(from var(--f-angle),transparent 0 55%,var(--f-on-fill, #fff) 75%,transparent 95%);filter:blur(6px);animation:f-orbit 4s linear infinite}.f-cta:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--f-on-fill, #fff)}.f-cta:hover{transform:scale(1.03)}.f-cta:active{transform:scale(.98)}@keyframes f-orbit{to{--f-angle: 360deg}}.folio>:not(.f-foot):not(.f-dock):not(.f-top){position:relative;z-index:1}.folio>.f-top{position:relative;z-index:5}.folio{--foot-h: clamp(300px, 46vh, 460px)}.f-reveal-space{height:var(--foot-h);pointer-events:none}.f-foot{--p: 0;position:fixed;inset:auto 0 0;z-index:0;height:var(--foot-h);display:flex;flex-direction:column;justify-content:space-between;padding:32px var(--f-gutter) 104px;opacity:var(--p);transform:translateY(calc((1 - var(--p)) * 18%)) scale(calc(.96 + var(--p) * .04));transform-origin:50% 100%}.f-foot-row{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:14px}.f-foot b{font-weight:400;color:var(--f-ink)}.f-foot a:hover{color:var(--f-ink)}.f-sign{display:block;width:auto;max-width:100%;height:calc(var(--foot-h) - 200px);margin:0 auto;overflow:visible}.f-sign path{stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:var(--len) var(--len);stroke-dashoffset:var(--len)}.f-sign-letter{fill:var(--f-ink);fill-opacity:0;stroke:var(--f-ink);stroke-width:1}.f-sign-flourish{fill:none;stroke:var(--f-glow);stroke-width:3}.f-sign.is-signed path{animation:f-sign-draw var(--dur) cubic-bezier(.5,.1,.3,1) var(--delay) forwards}.f-sign.is-signed .f-sign-letter{animation:f-sign-draw var(--dur) cubic-bezier(.5,.1,.3,1) var(--delay) forwards,f-sign-ink .5s ease calc(var(--delay) + var(--dur) * .7) forwards}@keyframes f-sign-draw{to{stroke-dashoffset:0}}@keyframes f-sign-ink{to{fill-opacity:1}}html:not(.js) .f-sign path{stroke-dasharray:none}html:not(.js) .f-sign-letter{fill-opacity:1}.f-case-hero{padding:clamp(56px,6vw,88px) 0 0}.f-nf-code{font-size:15px;letter-spacing:.08em}.f-nf-list{align-items:stretch;gap:32px;text-align:left}.f-nf-list .f-pill{align-self:center}.f-nf-list ul{display:flex;flex-direction:column}.f-nf-list li+li{border-top:1px solid var(--f-line)}.f-nf-list a{display:flex;align-items:baseline;gap:16px;padding:20px 4px;color:var(--f-ink);transition:padding-left .3s var(--f-ease),color .2s ease}.f-nf-list a:hover{padding-left:12px}.f-nf-list a svg{margin-left:auto;align-self:center;flex:none;color:var(--f-faint)}.f-nf-name{font-size:20px}.f-nf-meta{font-size:13px}@media(max-width:609px){.f-nf-list a{flex-wrap:wrap;gap:4px 12px}.f-nf-list a svg{order:-1}}.f-case-lede{max-width:620px;margin-top:40px;font-size:clamp(18px,1.5vw,21px);line-height:1.5}.f-case-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px 24px;margin:72px 16px 16px;font-size:16px;color:var(--f-mute)}.f-case-meta div{display:inline-flex;gap:6px}.f-case-meta dd{color:var(--f-ink);font-weight:500}.f-case-meta dt:after{content:":"}.f-case-live{margin-top:24px}.f-case-meta .f-star{color:var(--f-line-strong);font-size:12px}.f-case-cover{aspect-ratio:16 / 9}.f-case-cover img{width:100%;height:100%;object-fit:cover}.f-case-credit{position:absolute;right:44px;bottom:28px;padding:6px 12px;border-radius:999px;background:#00000073;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#ffffffe6;font-size:11px}.f-case-credit a:hover{color:#fff}@media(max-width:809px){.f-case-hero{padding-top:48px}.f-case-lede{margin-top:20px;font-size:17px;line-height:1.55;color:var(--f-mute)}.f-case-live{margin-top:24px;padding:12px 20px;border-radius:999px;background:var(--f-ink);color:var(--f-bg);font-size:15px;font-weight:500}.f-case-live svg{color:inherit}.f-case-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:32px 0 var(--f-gap);border:1px solid var(--f-line);border-radius:28px;background:var(--f-surface);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);overflow:hidden}.f-case-meta .f-star{display:none}.f-case-meta div{flex-direction:column;gap:4px;padding:18px 20px}.f-case-meta div:nth-of-type(odd){border-right:1px solid var(--f-line)}.f-case-meta div:nth-of-type(n+3){border-top:1px solid var(--f-line)}.f-case-meta div:nth-of-type(odd):last-of-type{grid-column:span 2;border-right:0}.f-case-meta dt{font-family:var(--f-mono);font-size:12px;color:var(--f-faint)}.f-case-meta dt:after{content:none}.f-case-meta dd{font-size:15px;line-height:1.4}.f-sticky--solo{display:none}.f-sect{gap:28px;padding:48px 24px 52px}.f-sect-body{gap:18px}.f-sect-body p,.f-sect-body li{font-size:16px;line-height:1.7}.f-sect-body ul{gap:12px}.f-gallery{display:flex;gap:var(--f-gap);margin:40px calc(-1 * var(--f-gutter)) 0;padding:36px var(--f-gutter) 4px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--f-gutter);overscroll-behavior-x:contain;scrollbar-width:none;position:relative}.f-gallery::-webkit-scrollbar{display:none}.f-gallery:before{content:attr(data-label);position:absolute;top:0;left:var(--f-gutter);font-family:var(--f-mono);font-size:13px;color:var(--f-faint)}.f-gallery>figure{flex:0 0 84%;scroll-snap-align:start}.f-gallery--phones>figure{flex-basis:56%}.f-gallery--phones .f-shot img{aspect-ratio:9 / 17}.f-case-cover{aspect-ratio:4 / 3}}.f-impact{margin-top:var(--f-gap);padding:48px clamp(24px,4vw,64px)}.f-impact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.f-impact-grid div{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.f-impact-grid dd{font-size:17px;line-height:1.6;color:var(--f-ink);text-wrap:pretty}.f-impact-stats{display:flex;flex-wrap:wrap;gap:16px 56px;margin-top:40px;padding-top:32px;border-top:1px solid var(--f-line)}.f-impact-stats li{display:flex;flex-direction:column;gap:4px}.f-impact-num{font-family:var(--f-display);font-size:clamp(32px,3.4vw,44px);font-weight:600;line-height:1.05;letter-spacing:-.03em;color:color-mix(in srgb,var(--f-glow) 82%,var(--f-ink))}.f-impact-label{font-size:14px;color:var(--f-mute)}@media(max-width:809px){.f-impact{padding:40px 24px}.f-impact-grid{grid-template-columns:minmax(0,1fr);gap:28px}.f-impact-grid dd{font-size:16px}.f-impact-stats{gap:20px 32px;margin-top:32px;padding-top:28px}}.f-sect{align-items:center;gap:32px;padding:56px clamp(24px,3.5vw,48px)}.f-sect-body{display:flex;flex-direction:column;gap:16px;text-align:left}.f-sect-body p,.f-sect-body li{font-size:16px;line-height:1.65;color:var(--f-mute);text-wrap:pretty}.f-sect-body strong,.f-sect-body em{color:var(--f-ink);font-weight:500;font-style:normal}.f-sect-body ul{display:flex;flex-direction:column;gap:10px;padding-left:18px;list-style:disc}.f-sect-body li::marker{color:var(--f-faint)}.f-gallery{margin-top:var(--f-gap)}.f-gallery--phones{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1023px){.f-gallery--phones{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:809px){.f-gallery--phones{grid-template-columns:repeat(2,minmax(0,1fr))}}.f-shot{display:block;width:100%;cursor:zoom-in}.f-shot img{width:100%;aspect-ratio:4 / 3;object-fit:cover;transition:transform .9s var(--f-ease)}.f-gallery--phones .f-shot img{aspect-ratio:9 / 16;object-fit:contain;background:var(--f-well)}.f-shot:hover img{transform:scale(1.03)}.f-shot-cap{padding:14px 20px 16px;text-align:left;font-size:13px}.f-dock{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));z-index:60;display:flex;flex-direction:column;align-items:center;gap:8px;width:min(360px,calc(100vw - 2 * var(--f-gutter)));transform:translate(-50%);pointer-events:none}.f-dock>*{pointer-events:auto}.f-dock-bar,.f-dock-panel{border:1px solid var(--f-line-strong);background:var(--f-dock-bg);box-shadow:var(--f-shadow);-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6)}.f-dock-bar{display:flex;align-items:center;gap:4px;padding:6px;border-radius:999px}.f-dock-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:44px;border-radius:999px;color:var(--f-ink);transition:background-color .2s ease,transform .2s var(--f-ease)}.f-dock-btn:hover{background:var(--f-well)}.f-dock-btn:active{transform:scale(.96)}.f-dock-menu{padding:0 18px 0 14px}.f-dock-icon{position:relative;width:44px}.f-dock-current{min-width:5.5em;text-align:left;font-size:15px}.f-dock-sep{width:1px;height:20px;margin:0 2px;background:var(--f-line-strong)}.f-burger{display:grid;gap:5px;width:18px}.f-burger i{display:block;height:1.5px;border-radius:2px;background:currentColor;transition:transform .35s var(--f-ease)}.f-dock-menu[aria-expanded=true] .f-burger i:first-child{transform:translateY(3.25px) rotate(45deg)}.f-dock-menu[aria-expanded=true] .f-burger i:last-child{transform:translateY(-3.25px) rotate(-45deg)}.f-sun,.f-moon{position:absolute;display:grid;transition:opacity .3s ease,transform .4s var(--f-ease)}:root[data-theme=dark] .f-sun,:root:not([data-theme=dark]) .f-moon{opacity:0;transform:rotate(-90deg) scale(.5)}.f-swatch{width:18px;height:18px;border-radius:50%;background:var(--f-fluid, var(--f-glow));box-shadow:0 0 0 3px var(--f-raised),0 0 0 4px var(--f-line-strong);transition:background .3s ease}.f-dock-panel{order:-1;width:100%;padding:8px;border-radius:24px;transform-origin:50% 100%;transition:opacity .25s ease,transform .35s var(--f-ease),visibility 0s linear .35s}.f-dock-panel[data-open=false]{visibility:hidden;opacity:0;transform:translateY(12px) scale(.96)}.f-dock-panel[data-open=true]{transition-delay:0s}.f-dock-link{display:flex;align-items:center;gap:16px;min-height:48px;padding:0 16px;border-radius:16px;font-size:18px;color:var(--f-ink);transition:background-color .2s ease}.f-dock-link .f-mono{font-size:12px}.f-dock-link:hover,.f-dock-link[aria-current=true]{background:var(--f-well)}.f-dock-link-arrow{margin-left:auto;color:var(--f-faint);opacity:0;transform:translate(-6px);transition:opacity .2s ease,transform .3s var(--f-ease)}.f-dock-link:hover .f-dock-link-arrow,.f-dock-link[aria-current=true] .f-dock-link-arrow{opacity:1;transform:none}.f-dock-foot{display:flex;justify-content:space-between;gap:16px;margin-top:8px;padding:12px 16px 8px;border-top:1px solid var(--f-line);font-size:12px}.f-dock-foot a:hover{color:var(--f-ink)}.gyro-on .f-gal .f-gal-img.is-on{transform:translate3d(calc(var(--gx, 0) * -30px),calc(var(--gy, 0) * -24px),0) scale(1.16);transition:opacity .9s ease,filter .9s ease}.gyro-on .f-cta{transform:perspective(500px) rotateX(calc(var(--gy, 0) * -14deg)) rotateY(calc(var(--gx, 0) * 14deg));box-shadow:calc(var(--gx, 0) * -10px) calc(8px + var(--gy, 0) * -8px) 24px -8px #00000059}.gyro-on .f-foot .f-sign{transform:translate3d(calc(var(--gx, 0) * 18px),calc(var(--gy, 0) * 12px),0) rotate(calc(var(--gx, 0) * 2.5deg))}.f-rise{opacity:0;transform:translateY(24px);filter:blur(6px)}.f-rise.is-in{opacity:1;transform:none;filter:none;transition:opacity .9s var(--f-ease),transform .9s var(--f-ease),filter .9s var(--f-ease);transition-delay:var(--d, 0ms)}html:not(.js) .f-rise{opacity:1;transform:none;filter:none}@media(prefers-reduced-motion:reduce){.f-rise{opacity:1;transform:none;filter:none}.f-marquee-track,.f-cta:before{animation:none}.f-dock-panel,.f-burger i,.f-sun,.f-moon,.f-dot:before{transition:none}.f-badge:hover .f-badge-core svg{animation:none}.f-gal .f-gal-img{transform:none;filter:none;transition:opacity .3s ease}.f-gal-thumb{transition:none}.f-sheet.is-closing,.f-social-icon.is-bounce{animation:none}.f-pass-flip{transition:none}.f-sign path{stroke-dashoffset:0;animation:none!important}.f-sign .f-sign-letter{fill-opacity:1}.f-socials .f-profile{transition:none!important}.f-shot img{transition:none}}
