:root{--white: #ffffff;--gray-25: #FBFBF9;--gray-50: #f4f5f1;--gray-75: #f3f4f2;--gray-100: #F0F1F4;--gray-150: #eef0eb;--gray-175: #e4e7e1;--gray-200: #e5e7ea;--gray-300: #c7cbcf;--gray-350: #adb3ba;--gray-400: #a0a5b0;--gray-500: #8E929C;--gray-510: #8F969D;--gray-550: #888888;--gray-600: #7B818B;--gray-700: #43474f;--gray-900: #16181d;--gray-950: #121316;--gray-975: #0c0c14;--black: #000000;--red-50: #fff0f0;--red-250: #ff6666;--red-300: #ff4d4d;--red-500: #e60000;--red-600: #cc0000;--coral-300: #FBA395;--blue-500: #2E5FFF;--rust-700: #803627;--indigo-400: #4F6EF7;--purple-300: #A586F9;--violet-200: #BBBFF4;--violet-500: #6B5FE7;--violet-800: #413778;--lavender-100: #EBEBEE;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-size-11: 11px;--font-size-11-5: 11.5px;--font-size-12: 12px;--font-size-12-5: 12.5px;--font-size-13: 13px;--font-size-13-5: 13.5px;--font-size-14: 14px;--font-size-14-5: 14.5px;--font-size-15: 15px;--font-size-15-5: 15.5px;--font-size-16: 16px;--font-size-17: 17px;--font-size-18: 18px;--font-size-19: 19px;--font-size-20: 20px;--font-size-22: 22px;--font-size-28: 28px;--font-size-38: 38px;--font-size-56: 56px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-520: 520;--font-weight-550: 550;--font-weight-560: 560;--font-weight-semibold: 600;--font-weight-640: 640;--font-weight-650: 650;--font-weight-bold: 700;--font-weight-750: 750;--font-weight-850: 850;--line-height-none: 1;--line-height-tight: 1.1;--line-height-heading: 1.13;--line-height-snug: 1.4;--line-height-base: 1.5;--line-height-relaxed: 1.6;--line-height-body: 1.62;--tracking-heading: -.03em;--tracking-caps: .08em;--tracking-caps-wide:.12em;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-14: 14px;--space-16: 16px;--space-18: 18px;--space-20: 20px;--space-24: 24px;--space-28: 28px;--space-32: 32px;--space-36: 36px;--space-40: 40px;--space-48: 48px;--space-56: 56px;--space-60: 60px;--space-72: 72px;--space-80: 80px;--space-90: 90px;--space-100: 100px;--space-120: 120px;--space-140: 140px;--space-200: 200px;--radius-2: 2px;--radius-4: 4px;--radius-6: 6px;--radius-7: 7px;--radius-8: 8px;--radius-9: 9px;--radius-10: 10px;--radius-12: 12px;--radius-14: 14px;--radius-16: 16px;--radius-18: 18px;--radius-full: 999px;--duration-fast: .2s;--duration-medium: .3s;--ease-default: ease;--z-content: 2;--z-caption: 10;--z-nav: 50;--z-tooltip: 9999;--z-lightbox: 10000}:root{--text-primary: var(--gray-900);--text-secondary: var(--gray-700);--text-muted: var(--gray-500);--text-subtle: var(--gray-600);--text-soft-dark: var(--gray-400);--text-disabled: var(--gray-550);--text-display: var(--gray-510);--text-inverse: var(--white);--surface-page: var(--gray-25);--surface-card: var(--white);--surface-tint: var(--gray-50);--surface-media: var(--gray-100);--surface-dark: var(--gray-950);--surface-dark-deepest: var(--gray-975);--surface-inverse: var(--gray-900);--border-default: var(--gray-200);--border-strong: var(--gray-500);--border-on-dark: color-mix(in srgb, var(--white) 10%, transparent);--accent: var(--red-500);--accent-hover: var(--red-600);--accent-soft: var(--red-50);--accent-on-dark: var(--red-300);--accent-on-dark-hover: var(--red-250);--accent-tint: color-mix(in srgb, var(--red-500) 5%, transparent);--accent-tint-on-dark: color-mix(in srgb, var(--red-300) 10%, transparent);--accent-glow: color-mix(in srgb, var(--red-500) 35%, transparent);--text-on-dark-muted: color-mix(in srgb, var(--white) 50%, transparent);--text-on-dark-soft: color-mix(in srgb, var(--white) 70%, transparent);--nav-height: 72px;--nav-bg-mobile: color-mix(in srgb, var(--gray-25) 95%, transparent);--nav-bg-mobile-dark: color-mix(in srgb, var(--gray-900) 95%, transparent);--tag-tf-text: var(--coral-300);--tag-tf-bg: color-mix(in srgb, var(--coral-300) 5%, transparent);--tag-tf-border: color-mix(in srgb, var(--coral-300) 12%, transparent);--tag-wt-text: var(--blue-500);--tag-wt-bg: color-mix(in srgb, var(--blue-500) 5%, transparent);--tag-wt-border: color-mix(in srgb, var(--blue-500) 12%, transparent);--tag-fintech-text: var(--rust-700);--tag-fintech-bg: color-mix(in srgb, var(--rust-700) 5%, transparent);--tag-fintech-border: color-mix(in srgb, var(--rust-700) 12%, transparent);--tag-healthcare-text: var(--indigo-400);--tag-healthcare-bg: color-mix(in srgb, var(--indigo-400) 5%, transparent);--tag-healthcare-border: color-mix(in srgb, var(--indigo-400) 12%, transparent);--tag-cleaning-text: var(--purple-300);--tag-cleaning-bg: color-mix(in srgb, var(--purple-300) 5%, transparent);--tag-cleaning-border: color-mix(in srgb, var(--purple-300) 12%, transparent);--tooltip-bg: color-mix(in srgb, var(--gray-900) 94.9%, transparent);--overlay-scrim: color-mix(in srgb, var(--black) 85%, transparent);--shadow-card-hover: 0 8px 24px color-mix(in srgb, var(--black) 4%, transparent);--shadow-tooltip: 0 12px 24px color-mix(in srgb, var(--black) 20%, transparent);--layout-max-width: 1512px;--layout-max-width-wide: 1920px;--wrap-padding-x: var(--space-28);--section-space: var(--space-90);--scroll-offset: 76px;--scroll-offset-mobile: 130px;--radius-card: var(--radius-16);--radius-media: var(--radius-8);--radius-button: var(--radius-9);--radius-pill: var(--radius-full)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}a{color:inherit}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--surface-page);line-height:var(--line-height-body);-webkit-font-smoothing:antialiased}h1,h2,h3{line-height:var(--line-height-heading);letter-spacing:var(--tracking-heading);font-weight:var(--font-weight-semibold)}h1{font-size:clamp(34px,5.2vw,58px);font-weight:var(--font-weight-750)}h2{font-size:clamp(24px,3.2vw,34px);margin-bottom:var(--space-10)}h3{font-size:var(--font-size-19);font-weight:var(--font-weight-640)}p{color:var(--text-secondary);font-size:var(--font-size-17)}.lead{font-size:clamp(18px,2.2vw,21px);color:var(--text-secondary)}.eyebrow{font-size:var(--font-size-12-5);letter-spacing:var(--tracking-caps-wide);text-transform:uppercase;color:var(--text-primary);font-weight:var(--font-weight-bold)}.text-red{color:var(--accent)}.wrap{max-width:var(--layout-max-width);margin:0 auto;padding:0 var(--wrap-padding-x)}section{padding:var(--section-space) 0;scroll-margin-top:var(--scroll-offset)}.divider{border-top:1px solid var(--border-default)}.band{background:var(--surface-tint);border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}.mb24{margin-bottom:var(--space-24)}.mb12{margin-bottom:var(--space-12)}.mt8{margin-top:var(--space-10)}.mt12{margin-top:var(--space-12)}.mt16{margin-top:var(--space-16)}.page{animation:fade .25s var(--ease-default)}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (max-width: 760px){section{scroll-margin-top:var(--scroll-offset-mobile)}}@media (min-width: 1513px){.wrap{max-width:var(--layout-max-width-wide)}}.btn{display:inline-block;background:var(--surface-inverse);color:var(--text-inverse);padding:var(--space-10) var(--space-20);border-radius:var(--radius-pill);font-size:var(--font-size-15);text-decoration:none;border:none;cursor:pointer;font-weight:var(--font-weight-520);transition:opacity var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default)}.btn.ghost{background:transparent;color:var(--text-primary);border:1px solid var(--border-default)}.btn:hover{opacity:.9;transform:translateY(-1px)}.btn.ghost:hover{border-color:var(--text-primary);background:var(--surface-tint)}.btn-red{display:inline-block;background:var(--accent);color:var(--text-inverse);padding:var(--space-14) var(--space-36);border-radius:var(--radius-pill);font-size:var(--font-size-15);font-weight:var(--font-weight-semibold);text-decoration:none;border:none;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.btn-red:hover{background:var(--accent-hover)}.btn-violet{display:flex;height:44px;min-width:96px;padding:0px var(--space-24);justify-content:center;align-items:center;gap:var(--space-4);border-radius:var(--radius-pill);border:1.3px solid linear-gradient(color-mix(in srgb,var(--lavender-100) 5%,transparent) 0%,var(--lavender-100) 50%,color-mix(in srgb,var(--lavender-100) 5%,transparent) 100%);background:radial-gradient(54.09% 195.21% at 92.23% -4.17%,color-mix(in srgb,var(--violet-200) 20%,transparent),color-mix(in srgb,var(--violet-500) 60%,transparent)),radial-gradient(57.49% 47.97% at 0% 50%,var(--violet-200) 0%,var(--violet-800) 100%);box-shadow:0 16px 4.5px -14px var(--violet-200) inset,inset 0 0 0 1.3px color-mix(in srgb,var(--violet-200) 30%,transparent);color:var(--text-inverse);font-size:var(--font-size-14);font-weight:var(--font-weight-semibold);text-decoration:none;cursor:pointer;transition:transform var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default);white-space:nowrap}.btn-violet:hover{transform:translateY(-1px);box-shadow:0 16px 4.5px -14px var(--violet-200) inset,inset 0 0 0 1.3px color-mix(in srgb,var(--violet-200) 30%,transparent),0 4px 18px color-mix(in srgb,var(--violet-500) 35%,transparent)}.btn-wt{display:flex;height:44px;min-width:96px;padding:0px var(--space-24);justify-content:center;align-items:center;gap:var(--space-4);border-radius:var(--radius-pill);background:var(--accent);color:var(--text-inverse);font-size:var(--font-size-14);font-weight:var(--font-weight-semibold);font-family:inherit;border:none;text-decoration:none;cursor:pointer;transition:transform var(--duration-fast) var(--ease-default),background-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default);white-space:nowrap}.btn-wt:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 18px var(--accent-glow)}.btn-wt-ghost{display:inline-flex;height:44px;min-width:96px;padding:0px var(--space-20);justify-content:center;align-items:center;gap:var(--space-6);border-radius:var(--radius-pill);border:1.5px solid var(--border-default);background:transparent;color:var(--text-primary);font-size:var(--font-size-14);font-weight:var(--font-weight-semibold);text-decoration:none;cursor:pointer;transition:transform var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default),background-color var(--duration-fast) var(--ease-default);white-space:nowrap}.btn-wt-ghost:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.btn-allwork{display:inline-flex;align-items:center;gap:var(--space-6);background:var(--surface-tint);color:var(--text-primary);padding:var(--space-10) var(--space-20);border-radius:var(--radius-pill);font-size:var(--font-size-15);font-weight:var(--font-weight-semibold);text-decoration:none;border:1.5px solid var(--border-default);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.btn-allwork:hover{background:var(--border-default);border-color:var(--border-strong);transform:translateY(-1px)}.backlink{font-size:var(--font-size-13-5);font-weight:var(--font-weight-semibold);color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-6);margin-bottom:var(--space-20);text-decoration:none;background:var(--surface-tint);padding:var(--space-8) var(--space-16);border-radius:var(--radius-pill);border:1px solid var(--border-default);transition:all var(--duration-fast) var(--ease-default);align-self:flex-start}.backlink:hover{color:var(--text-primary);background:var(--border-default);border-color:var(--border-strong)}.btn-disabled,.btn:disabled,button:disabled{opacity:.5;cursor:not-allowed}a.btn-disabled{pointer-events:none}.btn-disabled:hover,.btn:disabled:hover,button:disabled:hover{transform:none!important;box-shadow:none!important;opacity:.5}nav{position:sticky;top:0;z-index:var(--z-nav);background:transparent;transition:background var(--duration-medium) var(--ease-default)}.nav-blur-container{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.blur-layer{position:absolute;top:0;right:0;bottom:0;left:0}.layer-1{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);mask-image:linear-gradient(to bottom,#000,#000 80%,#0000);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,1) 80%,rgba(0,0,0,0) 100%)}.layer-2{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);mask-image:linear-gradient(to bottom,#000,#000 60%,#0000 80%);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,1) 60%,rgba(0,0,0,0) 80%)}.layer-3{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);mask-image:linear-gradient(to bottom,#000,#000 40%,#0000 60%);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,1) 40%,rgba(0,0,0,0) 60%)}.layer-4{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);mask-image:linear-gradient(to bottom,#000,#000,#0000 40%);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,1) 20%,rgba(0,0,0,0) 40%)}.layer-5{backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);mask-image:linear-gradient(to bottom,#000,#0000 20%);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,0) 20%)}nav.nav-dark .brand{color:var(--text-inverse)}nav.nav-dark .lang-link{color:var(--text-on-dark-muted)}nav.nav-dark .lang-link.active{color:var(--text-inverse)}nav.nav-dark .lang-link:hover{color:var(--text-inverse)}nav.nav-dark .navlinks a{color:var(--text-on-dark-muted)}nav.nav-dark .navlinks a:hover{color:var(--text-inverse)}nav .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--nav-height)}.brand{font-weight:var(--font-weight-750);letter-spacing:-.02em;cursor:pointer;font-size:var(--font-size-16);justify-self:start;color:var(--text-primary);text-decoration:none}.lang-selector{display:flex;gap:var(--space-16);align-items:center;justify-self:center}.lang-link{display:flex;align-items:center;gap:var(--space-6);text-decoration:none;font-size:var(--font-size-13-5);font-weight:var(--font-weight-semibold);color:var(--text-muted);transition:color var(--duration-fast) var(--ease-default)}.lang-link.active{color:var(--text-primary);font-weight:var(--font-weight-750)}.lang-link:hover{color:var(--text-primary)}.flag-icon{width:18px;height:auto;display:block;border-radius:var(--radius-2)}.navlinks{display:flex;gap:var(--space-28);align-items:center;justify-self:end}.navlinks a{font-size:var(--font-size-14-5);color:var(--text-muted);text-decoration:none;cursor:pointer;font-weight:var(--font-weight-550);transition:color var(--duration-fast) var(--ease-default)}.navlinks a:hover{color:var(--text-primary)}.navlinks a.btn-cv{color:var(--accent);border:1.5px solid var(--accent);padding:var(--space-6) var(--space-14);border-radius:var(--radius-pill);transition:all var(--duration-fast) var(--ease-default);font-weight:var(--font-weight-semibold)}.navlinks a.btn-cv:hover{color:var(--accent-hover);border-color:var(--accent-hover);background:var(--accent-tint)}nav.nav-dark .navlinks a.btn-cv{color:var(--accent-on-dark);border-color:var(--accent-on-dark)}nav.nav-dark .navlinks a.btn-cv:hover{color:var(--accent-on-dark-hover);border-color:var(--accent-on-dark-hover);background:var(--accent-tint-on-dark)}@media (max-width:760px){.nav-blur-container{display:none}nav{background:var(--nav-bg-mobile);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-default)}nav.nav-dark{background:var(--nav-bg-mobile-dark);border-bottom:1px solid var(--border-on-dark)}nav .wrap{grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:var(--space-12);height:auto;padding:var(--space-16) var(--space-20)}.brand{grid-column:1 / 2;grid-row:1 / 2;justify-self:start}.lang-selector{grid-column:2 / 3;grid-row:1 / 2;justify-self:end}.navlinks{grid-column:1 / -1;grid-row:2 / 3;justify-self:center;margin-top:var(--space-4)}}.hero-section{padding:var(--space-140) 0 70px;background:var(--surface-page)}.hero-split-container{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:flex-start;gap:var(--space-36);width:100%}.hero-col{display:flex;flex-direction:column}.hero-left{justify-self:start;text-align:left;align-items:flex-start}.hero-right{justify-self:end;text-align:left;align-items:flex-start;margin-top:5em}.hero-center{justify-self:center;align-self:center;align-items:center;justify-content:center;flex-shrink:0}.hero-title{color:var(--text-display);font-family:var(--font-sans);font-size:var(--font-size-56);font-style:normal;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:-1.12px;margin:0;white-space:nowrap}.shifted{margin-left:var(--space-48)}.profile-container{width:clamp(180px,18vw,240px);height:clamp(180px,18vw,240px);overflow:hidden}.profile-img{width:100%;height:100%;object-fit:cover;display:block}.hero-cta{margin-top:var(--space-140);display:flex;justify-content:center}.hero-social{display:flex;justify-content:center;gap:var(--space-32);margin-top:34px}.social-link{display:flex;align-items:center;gap:var(--space-8);text-decoration:none;font-size:var(--font-size-13-5);color:var(--text-muted);font-weight:var(--font-weight-550);transition:color var(--duration-fast) var(--ease-default)}.social-link:hover{color:var(--text-primary)}.social-icon{width:16px;height:16px;fill:currentColor}.social-link .arrow{font-size:var(--font-size-11);color:var(--text-muted);transition:transform var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default);display:inline-block}.social-link:hover .arrow{transform:translate(2px,-2px);color:var(--accent)}@media (max-width: 1399px){.hero-title{font-size:clamp(38px,4vw,50px);letter-spacing:-1px}.profile-container{width:clamp(144px,calc(144px + 96 * (100vw - 1280px) / 119),240px);height:clamp(144px,calc(144px + 96 * (100vw - 1280px) / 119),240px)}}@media (max-width:1024px){.hero-split-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-32);text-align:center}.hero-left,.hero-right{align-items:center;text-align:center;justify-self:center;margin-top:0}.hero-left{order:1}.hero-right{order:2;margin-top:-32px}.hero-center{order:3;margin-top:var(--space-8)}.hero-cta{margin-top:var(--space-56)}.hero-title{font-size:var(--font-size-38);letter-spacing:-.76px;white-space:normal}.shifted{margin-left:0}.profile-container{width:clamp(180px,18vw,240px);height:clamp(180px,18vw,240px)}}@media (max-width:760px){.hero-section{padding:50px 0}.hero-social{gap:var(--space-20);flex-wrap:wrap}.hero-section .eyebrow{text-align:center}.hero-title{font-size:var(--font-size-28);letter-spacing:-.56px}}@media (min-width: 1513px){.hero-section{padding:clamp(140px,calc(140px + 40 * (100vw - 1513px) / 407),180px) 0 clamp(70px,calc(70px + 20 * (100vw - 1513px) / 407),90px)}.hero-title{font-size:clamp(56px,calc(56px + 16 * (100vw - 1513px) / 407),72px);letter-spacing:clamp(-1.44px,calc(-1.12px - .32 * (100vw - 1513px) / 407),-1.12px)}.hero-split-container{gap:clamp(36px,calc(36px + 10 * (100vw - 1513px) / 407),46px)}.profile-container{width:clamp(240px,calc(240px + 68 * (100vw - 1513px) / 407),308px);height:clamp(240px,calc(240px + 68 * (100vw - 1513px) / 407),308px)}}#work{scroll-margin-top:var(--nav-height)}.project-section{padding:var(--space-100) 0;transition:background-color var(--duration-medium) var(--ease-default);overflow:hidden}.project-section.dark-theme{background:var(--surface-dark);color:var(--text-inverse)}.project-section.light-theme{background:var(--surface-card);color:var(--text-primary);border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}.project-container{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--space-60);align-items:center}.project-content{display:flex;flex-direction:column;align-items:flex-start}.project-kicker{font-size:var(--font-size-13-5);font-weight:var(--font-weight-semibold);color:var(--text-muted)}.project-title{font-size:clamp(24px,3.2vw,36px);font-weight:var(--font-weight-850);letter-spacing:-.025em;margin-bottom:var(--space-18);margin-top:0}.dark-theme .project-title{color:var(--text-inverse)}.light-theme .project-title{color:var(--text-primary)}.project-desc{font-size:var(--font-size-16);line-height:var(--line-height-body);margin-bottom:var(--space-28);margin-top:0}.dark-theme .project-desc{color:var(--text-soft-dark)}.light-theme .project-desc{color:var(--text-secondary)}.project-tags{display:flex;flex-wrap:wrap;gap:var(--space-8);margin-bottom:var(--space-24)}.project-tags span{font-size:var(--font-size-13);font-weight:var(--font-weight-regular);line-height:var(--line-height-none);color:var(--tag-tf-text);background:var(--tag-tf-bg);border:1px solid var(--tag-tf-border);padding:var(--space-4) var(--space-8);border-radius:var(--radius-6)}.wt-section .project-tags span{color:var(--tag-wt-text);background:var(--tag-wt-bg);border-color:var(--tag-wt-border)}.project-metrics{display:flex;gap:var(--space-40);margin-bottom:var(--space-32)}.tf-section .project-metrics,.wt-section .project-metrics{margin-bottom:var(--space-32)}.project-metric{display:flex;flex-direction:column;gap:var(--space-6)}.metric-val{font-size:var(--font-size-20);font-weight:var(--font-weight-750);letter-spacing:-.015em}.dark-theme .metric-val{color:var(--text-inverse)}.light-theme .metric-val{color:var(--text-primary)}.metric-desc{font-size:var(--font-size-13-5);color:var(--text-muted);font-weight:var(--font-weight-medium)}.project-action{display:flex;align-items:center;gap:var(--space-16)}.coming-soon{font-size:var(--font-size-14);font-weight:var(--font-weight-medium);opacity:.7;color:var(--text-disabled)}@media (max-width:1024px){.project-container{grid-template-columns:1fr;gap:var(--space-40)}.tf-container{gap:var(--space-48)}}.tf-section{background:var(--surface-dark-deepest) url(/assets/TF_bg-CYZ-XuQB.png) top right / cover no-repeat!important;position:relative;overflow:hidden;padding-top:var(--space-16)!important;padding-bottom:0!important}.wt-section{position:relative;overflow:hidden;padding-top:var(--space-48)!important;padding-bottom:0!important}.tf-sticky-caption{display:flex;align-items:center;gap:var(--space-12);position:sticky;top:0;z-index:var(--z-caption);padding:var(--space-16) 0;margin-bottom:var(--space-12)}.tf-container{grid-template-columns:.75fr 1.6fr;gap:var(--space-48);align-items:start}.tf-content{position:relative;z-index:var(--z-content);margin-top:var(--space-48)}.tf-section .project-title,.wt-section .project-title{font-size:var(--font-size-22);font-weight:var(--font-weight-semibold);line-height:var(--line-height-none);letter-spacing:-.22px;margin-bottom:0}.tf-section .project-title{color:var(--text-inverse)}.wt-section .project-title{color:var(--text-primary)}.tf-caption-text{display:flex;flex-direction:column;gap:var(--space-6)}.tf-section .project-kicker,.wt-section .project-kicker{font-size:var(--font-size-13);font-weight:var(--font-weight-regular);line-height:var(--line-height-none);color:var(--text-subtle)}.tf-section .project-desc,.wt-section .project-desc{font-size:var(--font-size-14);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);color:var(--text-subtle);margin-bottom:var(--space-20);margin-top:0}.tf-section .metric-desc,.wt-section .metric-desc{font-size:var(--font-size-14);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);color:var(--text-subtle)}.tf-section .metric-val,.wt-section .metric-val{font-size:var(--font-size-20);font-weight:var(--font-weight-semibold);line-height:var(--line-height-none);letter-spacing:-.2px}.tf-section .metric-val{color:var(--text-inverse)}.wt-section .metric-val{color:var(--text-primary)}.project-logo-img{width:48px;height:48px;border-radius:0;flex-shrink:0;object-fit:contain}.tf-showcase{display:flex;flex-direction:column;gap:var(--space-24);position:relative;z-index:var(--z-content);padding-top:0}.tf-showcase-laptop{width:100%}.tf-showcase-laptop img{width:100%;height:auto;display:block;border-radius:var(--radius-media)}.tf-showcase-mobiles{display:flex;justify-content:center;gap:var(--space-16);margin-left:10%;margin-right:10%;align-items:flex-start}.tf-mobile-frame,.wt-mobile-frame{flex:0 0 calc((100% - 32px) / 3);overflow:hidden;border-radius:var(--radius-media) var(--radius-media) 0 0;aspect-ratio:3 / 4.5}.tf-mobile-frame img,.wt-mobile-frame img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}@media (max-width: 1024px){.tf-container{grid-template-columns:1fr;gap:var(--space-48)}.tf-content{order:1}.tf-showcase{order:2}}@media (max-width: 760px){.tf-showcase-mobiles{gap:var(--space-10)}#work{scroll-margin-top:var(--scroll-offset-mobile)}}figure{margin:0}.case-figure-img{width:100%;height:auto;display:block;border-radius:var(--radius-14)}.is-zoomable{cursor:zoom-in;transition:opacity var(--duration-fast) var(--ease-default)}.is-zoomable:hover{opacity:.92}.ph{position:relative;width:100%;min-height:160px;border:1.5px dashed var(--gray-350);background:repeating-linear-gradient(45deg,var(--gray-150),var(--gray-150) 12px,var(--gray-175) 12px,var(--gray-175) 24px);border-radius:var(--radius-14);display:flex;flex-direction:column;gap:var(--space-10);align-items:center;justify-content:center;text-align:center;padding:var(--space-24)}.ph.r-wide{aspect-ratio:16/8}.ph.r-med{aspect-ratio:16/9}.ph.r-sq{aspect-ratio:4/3}.ph.r-tall{aspect-ratio:4/5}.ph-id{position:absolute;top:14px;left:14px;background:var(--surface-inverse);color:var(--text-inverse);border-radius:var(--radius-7);padding:5px var(--space-10);font-size:var(--font-size-12);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-caps)}.ph-spec{background:var(--surface-card);border:1px solid var(--gray-300);border-radius:var(--radius-8);padding:var(--space-8) var(--space-14);font-size:var(--font-size-12-5);letter-spacing:.02em;color:var(--text-secondary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-base);max-width:46ch}.ph-ratio{font-size:var(--font-size-11-5);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted);font-weight:var(--font-weight-semibold)}.ph .tag{background:var(--surface-card);border:1px solid var(--gray-300);border-radius:var(--radius-8);padding:7px 13px;font-size:var(--font-size-12);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted);font-weight:var(--font-weight-semibold)}figcaption{font-size:var(--font-size-13-5);color:var(--text-muted);margin-top:13px;line-height:var(--line-height-relaxed)}figcaption b{color:var(--text-secondary);font-weight:var(--font-weight-semibold)}@media (max-width:760px){.ph{min-height:100px}}.other-products{padding-top:var(--space-200);padding-bottom:0}.op-title{font-size:clamp(28px,4vw,42px);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-heading);color:var(--text-primary);margin-bottom:var(--space-8);text-align:center}.op-subtitle{font-size:var(--font-size-15);color:var(--text-subtle);text-align:center;margin-bottom:var(--space-48)}.op-row{display:grid;gap:var(--space-24)}.op-row-top{grid-template-columns:5fr 7fr;margin-bottom:var(--space-48)}.op-row-bottom{grid-template-columns:1fr}.op-card{display:flex;flex-direction:column}.op-card-image{width:100%;border-radius:var(--radius-card);overflow:hidden;background:var(--surface-media);margin-bottom:0;cursor:pointer}.op-card-image img{width:100%;height:auto;display:block}.op-card-tooltip{display:none}.global-op-tooltip{position:fixed;top:0;left:0;background:var(--tooltip-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:var(--space-8) var(--space-12);border-radius:var(--radius-2) var(--radius-12) var(--radius-12) var(--radius-12);opacity:0;pointer-events:none;z-index:var(--z-tooltip);transition:opacity var(--duration-fast) var(--ease-default);border:1px solid var(--border-on-dark);box-shadow:var(--shadow-tooltip);width:max-content}.global-op-tooltip.visible{opacity:1}.global-op-tooltip .op-card-info{display:flex;align-items:center;gap:var(--space-12);margin-bottom:var(--space-4)}.global-op-tooltip .op-card-name{color:var(--text-inverse);font-size:var(--font-size-14);font-weight:var(--font-weight-semibold);line-height:var(--line-height-none)}.global-op-tooltip .op-card-desc{color:var(--text-on-dark-soft);font-size:var(--font-size-13);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);margin:0}.global-op-tooltip .op-tag{font-size:var(--font-size-13);font-weight:var(--font-weight-regular);line-height:var(--line-height-none);padding:var(--space-4) var(--space-8);border-radius:var(--radius-6)}.global-op-tooltip .op-tag-fintech{color:var(--tag-fintech-text);background:var(--tag-fintech-bg);border:1px solid var(--tag-fintech-border)}.global-op-tooltip .op-tag-healthcare{color:var(--tag-healthcare-text);background:var(--tag-healthcare-bg);border:1px solid var(--tag-healthcare-border)}.global-op-tooltip .op-tag-cleaning{color:var(--tag-cleaning-text);background:var(--tag-cleaning-bg);border:1px solid var(--tag-cleaning-border)}.lightbox-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--overlay-scrim);z-index:var(--z-lightbox);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--duration-medium) var(--ease-default);cursor:zoom-out}.lightbox-overlay.visible{opacity:1}.lightbox-overlay img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:var(--radius-media);transform:scale(.95);transition:transform var(--duration-medium) var(--ease-default)}.lightbox-overlay.visible img{transform:scale(1)}.op-card-info{display:flex;align-items:center;gap:var(--space-10);margin-bottom:var(--space-4)}.op-card-name{font-size:var(--font-size-16);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:var(--line-height-none)}.op-tag{font-size:var(--font-size-12);font-weight:var(--font-weight-medium);line-height:var(--line-height-none);padding:var(--space-4) var(--space-10);border-radius:var(--radius-4)}.op-tag-fintech{color:var(--tag-fintech-text);background:var(--tag-fintech-bg);border:1px solid var(--tag-fintech-border)}.op-tag-healthcare{color:var(--tag-healthcare-text);background:var(--tag-healthcare-bg);border:1px solid var(--tag-healthcare-border)}.op-tag-cleaning{color:var(--tag-cleaning-text);background:var(--tag-cleaning-bg);border:1px solid var(--tag-cleaning-border)}.op-card-desc{font-size:var(--font-size-14);font-weight:var(--font-weight-regular);color:var(--text-subtle);line-height:var(--line-height-base);margin:0}@media (max-width:760px){.op-row-top{grid-template-columns:1fr}.other-products{padding-top:var(--space-100)}}.pure-ui-section{background:transparent;padding:var(--space-140) 0}.pure-ui-section .wrap{display:flex;flex-direction:column;align-items:center;text-align:center}.pure-ui-desc{max-width:60ch;margin-top:var(--space-16);margin-bottom:var(--space-40);color:var(--text-subtle)}.pure-ui-media{width:100%;position:relative}.pure-ui-frame{border-radius:var(--radius-card);overflow:hidden}.pure-ui-frame img{width:100%;height:auto;display:block}.pure-ui-fade{position:absolute;bottom:0;left:0;width:100%;height:35%;background:linear-gradient(to bottom,color-mix(in srgb,var(--surface-page) 0%,transparent) 0%,var(--surface-page) 100%);pointer-events:none}.pure-ui-cta{position:absolute;bottom:5%;left:50%;transform:translate(-50%);z-index:var(--z-content);white-space:nowrap}@media (max-width:760px){.pure-ui-section{padding:var(--space-90) 0}}.contact{padding:var(--space-80) 0;text-align:center}.contact-card-box{background:var(--surface-dark);border-radius:var(--radius-24, 24px);min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-48) var(--space-28);text-align:center;position:relative}.contact-text{margin-bottom:var(--space-32)}.contact-title{font-size:clamp(24px,3.2vw,34px);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-heading);line-height:var(--line-height-heading);margin-bottom:var(--space-8);color:var(--text-inverse)}.contact-subtitle{font-size:var(--font-size-16);color:var(--gray-400);line-height:var(--line-height-relaxed)}.contact-buttons{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0;margin-bottom:var(--space-48)}.contact-btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 var(--space-20);border-radius:var(--radius-pill);font-size:var(--font-size-15);font-weight:var(--font-weight-medium);text-decoration:none;white-space:nowrap;gap:var(--space-6);transition:transform var(--duration-fast) var(--ease-default),opacity var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.contact-btn:hover{transform:translateY(-2px);opacity:.92}.contact-btn-primary{background:var(--accent);color:var(--white)}.contact-btn-secondary{background:var(--white);color:var(--gray-900)}.contact-btn-secondary .arrow{color:var(--accent);font-size:var(--font-size-14);transition:transform var(--duration-fast) var(--ease-default)}.contact-btn-secondary:hover .arrow{transform:translate(2px,-2px)}.contact-footer{color:var(--gray-500);font-size:var(--font-size-13)}@media (max-width: 760px){.contact{padding:var(--space-40) 0}.contact-card-box{min-height:440px;border-radius:20px;padding:var(--space-36) var(--space-20)}.contact-buttons{gap:0;margin-bottom:var(--space-36)}}.case-id{display:flex;align-items:center;gap:var(--space-14);margin-bottom:var(--space-8)}.case-logo-img{width:44px;height:44px;border-radius:var(--radius-10);object-fit:contain;flex-shrink:0}.case-id-text{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:var(--space-2)}.case-dates{font-size:var(--font-size-14);color:var(--text-muted);line-height:var(--line-height-snug)}.case-hero{padding-bottom:var(--space-24)}.case-hero .wrap{display:flex;flex-direction:column;align-items:center;text-align:center}.case-hero h1{font-size:clamp(30px,4.6vw,46px);max-width:900px;margin-top:var(--space-8)}.case-hero .lead{margin-top:var(--space-20);max-width:760px}.case-facts{width:100%;max-width:840px;margin-top:var(--space-48);text-align:left}.fact-row{display:grid;grid-template-columns:320px 1fr;gap:var(--space-32);align-items:baseline;padding:var(--space-16) 0;border-bottom:1px solid var(--border-default)}.fact-row:first-child{border-top:1px solid var(--border-default)}.fact-label{font-size:var(--font-size-12);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted);font-weight:var(--font-weight-semibold);line-height:var(--line-height-relaxed)}.fact-value{font-size:var(--font-size-15-5);color:var(--text-primary);line-height:var(--line-height-relaxed)}.fact-value b{font-weight:var(--font-weight-650);letter-spacing:-.01em}.fact-note{color:var(--text-muted);font-size:var(--font-size-13-5)}.fact-value a{color:var(--accent);font-weight:var(--font-weight-semibold);text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-4);transition:color var(--duration-fast) var(--ease-default),text-decoration var(--duration-fast) var(--ease-default)}.fact-value a:hover{color:var(--accent-hover);text-decoration:underline}.case-hero-cta{margin-top:var(--space-32)}.status-pill{display:inline-flex;align-items:center;gap:var(--space-6);background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-pill);padding:var(--space-4) var(--space-12);font-size:var(--font-size-12);font-weight:var(--font-weight-bold);letter-spacing:.03em;white-space:nowrap;vertical-align:middle}.status-pill.neutral{background:var(--surface-tint);color:var(--text-secondary);border:1px solid var(--border-default)}.case-hero-image-section{padding-top:var(--space-40);padding-bottom:var(--space-60);overflow:clip}.case-hero-image{width:100%;height:auto;display:block;margin:0 auto;transform-origin:center center;will-change:transform;transition:transform .15s cubic-bezier(.16,1,.3,1)}@keyframes hero-laptop-magnify{0%{transform:scale(.85)}to{transform:scale(1.05)}}@media (prefers-reduced-motion: no-preference){@supports ((animation-timeline: view()) and (animation-range: entry)){.case-hero-image-section .case-hero-image{transition:none;animation:hero-laptop-magnify linear both;animation-timeline:view();animation-range:cover 0% cover 50%}}}.case-hero-image-section figcaption{text-align:center}@media (max-width: 760px){.fact-row{grid-template-columns:1fr;gap:var(--space-4);padding:var(--space-14) 0}}.case-layout{display:grid;grid-template-columns:220px 1fr;gap:var(--space-80);align-items:start;position:relative;margin-top:0;padding-bottom:var(--space-100)}.case-sidebar{position:sticky;top:96px;display:flex;flex-direction:column;gap:var(--space-10);padding-top:var(--space-8)}.case-sidebar a{font-size:var(--font-size-14);color:var(--text-muted);text-decoration:none;transition:color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default);line-height:var(--line-height-base);padding:var(--space-4) 0 var(--space-4) var(--space-14);border-left:2px solid transparent}.case-sidebar a:hover{color:var(--text-primary);border-left-color:var(--text-primary)}.case-sidebar a.active{color:var(--text-primary);font-weight:var(--font-weight-semibold);border-left-color:var(--accent)}.case-content{flex:1;min-width:0}.case-section{padding-bottom:88px;scroll-margin-top:96px}.case-section:last-of-type{padding-bottom:0}.case-content .case-section{border-top:1px solid var(--border-default);padding-top:var(--space-72)}.case-content .case-section:first-child{padding-top:0;border-top:none}.case-section.decisions-wrap>.eyebrow{margin-bottom:var(--space-4)}.case-bottom-nav{margin-top:var(--space-40);display:flex;gap:var(--space-12);flex-wrap:wrap}@media (max-width: 900px){.case-layout{display:flex;flex-direction:column;gap:var(--space-32)}.case-sidebar{position:static;width:100%;border-bottom:1px solid var(--border-default);padding-bottom:var(--space-20);flex-direction:row;flex-wrap:wrap;gap:var(--space-12)}.case-sidebar a{border-left:none;padding:var(--space-4) var(--space-8)}.case-sidebar a.active{border-left:none;color:var(--accent)}.case-content{width:100%;max-width:100%}}@media (max-width: 760px){.case-section{scroll-margin-top:var(--scroll-offset-mobile)}}.block{max-width:100%;text-align:left}.block .eyebrow{margin-bottom:var(--space-14);display:block}.block p+p{margin-top:var(--space-18)}.case-section>.eyebrow,.case-section>h2,.case-section>h3,.case-section>.quote{display:block;max-width:100%;text-align:left}.case-section>.eyebrow{margin-bottom:var(--space-14)}.case-section figure{margin-top:var(--space-36)}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-32);margin-top:var(--space-36)}.twocol figure{margin-top:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-48);align-items:center}.split figure{margin-top:0}.ba-frame{margin-top:var(--space-36)}.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-24);align-items:start}.ba-cell{position:relative}.ba-cell .ph{min-height:140px}.ba-label{position:absolute;top:14px;right:14px;z-index:var(--z-content);border-radius:var(--radius-7);padding:5px var(--space-10);font-size:var(--font-size-11-5);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-caps);text-transform:uppercase}.ba-cell.before .ba-label{background:var(--surface-card);border:1px solid var(--gray-300);color:var(--text-muted)}.ba-cell.after .ba-label{background:var(--accent);color:var(--text-inverse)}.ba-frame>figcaption{margin-top:13px}.note{background:var(--accent-soft);border-left:3px solid var(--accent);padding:var(--space-18) var(--space-24);border-radius:0 var(--radius-10) var(--radius-10) 0;font-size:var(--font-size-14-5);color:var(--text-secondary);margin-top:var(--space-32);line-height:var(--line-height-relaxed)}.note.neutral{background:var(--surface-tint);border-left-color:var(--border-strong)}.quote-sm{font-size:clamp(18px,2.2vw,24px);line-height:var(--line-height-snug);letter-spacing:-.01em;color:var(--text-primary);font-weight:var(--font-weight-560);border-left:3px solid var(--text-primary);padding-left:var(--space-24);margin:var(--space-20) 0}table.metrics-table{width:100%;border-collapse:collapse;margin-top:var(--space-24);font-size:var(--font-size-14)}table.metrics-table th,table.metrics-table td{text-align:left;padding:var(--space-14) var(--space-14);border-bottom:1px solid var(--border-default);vertical-align:top}table.metrics-table th{font-size:var(--font-size-12);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-weight:var(--font-weight-semibold)}table.metrics-table td.tbc{color:var(--text-muted)}.decision{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-18);padding:44px 48px;margin-top:var(--space-32)}.decision:first-of-type{margin-top:var(--space-36)}.decision h3{font-size:clamp(20px,2.4vw,26px);margin-top:var(--space-6);letter-spacing:-.02em}.decision>p{margin-top:var(--space-16);max-width:100%}.decision p+p{margin-top:var(--space-14)}.dnum{font-size:var(--font-size-13);color:var(--accent);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.why-product{margin-top:var(--space-20);background:var(--surface-tint);border:1px solid var(--border-default);border-radius:var(--radius-12);padding:var(--space-14) var(--space-18);font-size:var(--font-size-14);color:var(--text-secondary);line-height:var(--line-height-relaxed)}.why-product b{color:var(--text-primary)}.case-list{padding-left:var(--space-20);line-height:var(--line-height-relaxed);color:var(--text-secondary);font-size:var(--font-size-16)}.case-list li{margin-bottom:var(--space-10)}.case-list li::marker{color:var(--accent);font-weight:var(--font-weight-bold)}.case-subhead{margin-top:var(--space-36);font-size:var(--font-size-18)}.block.wide{max-width:none}@media (max-width: 900px){.decision{padding:var(--space-32) 26px}table.metrics-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 760px){.twocol,.split,.ba-grid{grid-template-columns:1fr;gap:var(--space-24)}}footer{padding:0 0 var(--space-60);color:var(--text-muted);font-size:var(--font-size-14);text-align:center}footer .wrap{display:flex;justify-content:center;align-items:center}
