*{box-sizing:border-box;margin:0;padding:0}:root{--colors-slate-50:#f8fafc;--colors-slate-100:#f1f5f9;--colors-slate-500:#64748b;--colors-slate-600:#475569;--colors-slate-800:#1e293b;--colors-slate-900:#0f172a;--colors-blue-600:#2563eb;--colors-blue-700:#1d4ed8;--colors-blue-800:#1e40af;--colors-blue-900:#1e3a8a;--colors-slate-300:#cbd5e1;--colors-slate-200:#e2e8f0;--colors-gray-200:#e5e7eb;--colors-neutral-100:#f5f5f5;--tokens-spacing-2:8px;--tokens-spacing-3:12px;--tokens-spacing-5:20px;--tokens-spacing-6:24px;--tokens-spacing-8:32px;--tokens-spacing-10:40px;--tokens-spacing-12:48px;--tokens-spacing-16:64px;--tokens-spacing-20:80px;--tokens-spacing-24:96px;--page-gutter:clamp(16px,2.41vw + 7.32px,40px);--tokens-fontsize-base:16px;--tokens-fontsize-xl:20px;--tokens-fontsize-3xl:30px;--tokens-borderRadius-2xl:16px;--tokens-color-blue-700:#1d4ed8;--tokens-color-neutral-100:#f5f5f5;--tokens-text-base-font-normal-fontFamily:Inter;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--ease-drawer:cubic-bezier(.32,.72,0,1);--shadow-soft:0 18px 45px #0f172a14;--shadow-lifted:0 24px 60px #0f172a24;--nav-height:88px;--ease-title-swap:cubic-bezier(.22,1,.36,1);--btn-control-min-height:46px;--btn-control-radius:var(--tokens-borderRadius-2xl,16px);--btn-control-padding-y:var(--tokens-spacing-2,8px);--btn-control-padding-x:var(--tokens-spacing-5,20px)}body{font-family:var(--font-inter),"Inter",sans-serif;background-color:var(--colors-slate-100);color:var(--colors-slate-900);line-height:1.5}.site-shell{z-index:1;position:relative}.site-bg{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.site-bg-gradient{background:radial-gradient(90% 70% at 12% -8%,#f8fafcd9 0%,#0000 58%),radial-gradient(65% 55% at 92% 105%,#e2e8f073 0%,#0000 52%),radial-gradient(50% 40%,#f1f5f959 0%,#0000 70%);position:absolute;inset:0}.site-bg-noise{opacity:.038;mix-blend-mode:soft-light;width:300%;height:300%;image-rendering:pixelated;position:absolute;inset:-100%}@media (prefers-reduced-motion:reduce){.site-bg-noise{opacity:.028}}html{scroll-behavior:smooth}:focus-visible{outline:2px solid var(--colors-blue-600);outline-offset:4px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-utility-bar{width:100%;padding-bottom:var(--tokens-spacing-4,16px);margin-bottom:var(--tokens-spacing-2,8px);justify-content:flex-end;align-items:center;display:flex}.section-utility-bar--center{padding-bottom:0;padding-top:var(--tokens-spacing-8,32px);justify-content:center;margin-bottom:0}.section-utility-link{color:var(--colors-slate-600,#475569);border-radius:4px;flex-shrink:0;font-family:Inter,sans-serif;font-size:13px;font-weight:500;line-height:16px;text-decoration:none}.section-utility-link:hover{color:var(--colors-slate-900,#0f172a);text-decoration:underline}.section-utility-link:focus-visible{outline-offset:3px}.about-me-section,.about-thoughts-section,.reviews-section,.work-experience-section,.hero-banner-section{box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto}#home{scroll-margin-top:0}#about-me,#fresh-thoughts,#work-experience{scroll-snap-margin-top:88px;scroll-margin-top:88px}.about-thoughts-section #fresh-thoughts{z-index:5;position:relative}.hero-banner{z-index:6;background-color:#0000;flex-direction:column;display:flex;position:relative;overflow:visible}.nav-bar{z-index:100;width:100%;padding:0 var(--tokens-spacing-16);-webkit-backdrop-filter:blur(8px);background-color:#f8fafcf5;justify-content:space-between;align-items:center;height:88px;display:flex;position:sticky;top:0;left:0;right:0;overflow:visible;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f}.nav-left{flex-shrink:0;align-items:center;display:flex}.avatar-link{cursor:pointer;transition:opacity .18s var(--ease-out),transform .18s var(--ease-out);border-radius:999px;align-items:center;text-decoration:none;display:flex}.avatar-link:hover{opacity:.8;transform:translateY(-1px)}.avatar{border-radius:50%;flex-shrink:0;width:56px;height:56px;position:relative;overflow:hidden}.avatar img{object-fit:cover;object-position:center;width:100%;height:100%}.nav-title{display:none}.nav-menu{gap:var(--tokens-spacing-6);align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.nav-menu-item-wrapper{align-items:center;gap:8px;display:flex}.nav-menu-item-external{color:var(--colors-slate-600);align-items:center;padding:4px;text-decoration:none;transition:color .18s,opacity .18s;display:flex}.nav-menu-item-external:hover{opacity:.7;color:var(--colors-slate-900)}.nav-menu-item-external img{flex-shrink:0;width:16px;height:16px;display:block}.nav-menu-item-external svg{width:16px;height:16px;color:inherit;display:block}.nav-right{flex-shrink:0;justify-content:center;align-items:center;height:100%;display:flex}.nav-cv-button{align-items:center;margin:0;display:flex;margin-top:0!important}.nav-cv-button .btn-text-wrapper{height:28px;line-height:28px}.nav-menu-item{color:var(--colors-slate-500);white-space:nowrap;align-items:center;gap:8px;height:24px;padding:0;font-family:Inter,sans-serif;font-size:16px;font-weight:400;line-height:24px;text-decoration:none;transition:color .18s;display:flex;position:relative}.nav-menu-item-arrow{opacity:.7;vertical-align:middle;flex-shrink:0;width:16px;min-width:16px;height:16px;min-height:16px;transition:opacity .18s;display:block}.nav-menu-item:hover .nav-menu-item-arrow{opacity:1}.nav-menu-item:after{content:"";background-color:var(--colors-blue-600);width:0;height:0;transition:width .18s var(--ease-out),height .18s var(--ease-out);z-index:1;border-radius:50%;position:absolute;bottom:-14px;left:50%;transform:translate(-50%)}.nav-menu-item:hover:not(.active){color:var(--colors-slate-900)}.nav-menu-item.active{color:var(--colors-slate-900);font-weight:400}.nav-menu-item.active:after{width:6px;height:6px}.nav-menu-item:focus-visible{outline-offset:6px;border-radius:4px}.avatar-link:focus-visible{outline-offset:4px}.mobile-menu-button:focus-visible{outline-offset:3px}.mobile-menu-button{min-height:var(--btn-control-min-height);padding:var(--btn-control-padding-y)var(--btn-control-padding-x);box-sizing:border-box;background-color:var(--colors-slate-200);border-radius:var(--btn-control-radius);cursor:pointer;font-family:Space Grotesk,sans-serif;font-size:var(--tokens-fontsize-base);color:var(--colors-slate-900);transition:background-color .18s ease,transform .18s var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;font-weight:500;line-height:24px;display:none}.mobile-menu-button.active{background-color:var(--colors-slate-900);color:var(--colors-slate-50)}.mobile-menu-button.active .hamburger-icon span{background-color:var(--colors-slate-50)}.mobile-menu-button:hover{background-color:#bae6fd}.mobile-menu-button:active{transform:scale(.97)}.hamburger-icon{flex-direction:column;gap:4px;width:20px;height:16px;display:flex;position:relative}.hamburger-icon span{background-color:var(--colors-slate-900);width:100%;height:2px;transition:transform .2s var(--ease-out),opacity .16s ease;border-radius:2px;display:block}.mobile-menu-button.active .hamburger-icon span:first-child{transform:rotate(45deg)translate(7px,7px)}.mobile-menu-button.active .hamburger-icon span:nth-child(2){opacity:0}.mobile-menu-button.active .hamburger-icon span:nth-child(3){transform:rotate(-45deg)translate(7px,-7px)}.menu-label{font-family:Space Grotesk,sans-serif;font-size:var(--tokens-fontsize-base);font-weight:500}.mobile-menu-overlay{z-index:99;opacity:0;width:100%;height:100%;transition:opacity .4s var(--ease-drawer);background-color:#0f172a7a;display:none;position:fixed;top:0;left:0}.mobile-menu-overlay.active{opacity:1;display:block}.mobile-menu-content{width:100%;max-width:100vw;height:auto;max-height:min(88vh,100dvh);padding:10px clamp(20px,5vw,32px) 0;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));transition:transform .5s var(--ease-drawer);-webkit-overflow-scrolling:touch;background-color:#fff;border-radius:28px 28px 0 0;flex-direction:column;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%);box-shadow:0 -12px 40px #0f172a24}.mobile-menu-overlay.active .mobile-menu-content{transform:translateY(0)}.mobile-menu-handle{background-color:var(--colors-slate-300);border-radius:9999px;flex-shrink:0;align-self:center;width:40px;height:4px;margin:8px 0 20px}.mobile-menu-links{flex-direction:column;gap:clamp(20px,5.5vw,30px);display:flex}.mobile-menu-item{box-sizing:border-box;color:#334155;min-height:44px;font-family:Space Grotesk,sans-serif;font-size:var(--tokens-fontsize-xl);border-radius:8px;align-items:center;gap:8px;padding:12px 8px;font-weight:500;text-decoration:none;transition:background-color .18s,color .18s;display:flex;position:relative}.mobile-menu-item-label{flex:1}.mobile-menu-item-arrow{opacity:.7;vertical-align:middle;flex-shrink:0;width:16px;min-width:16px;height:16px;min-height:16px;transition:opacity .3s;display:block}.mobile-menu-item:hover .mobile-menu-item-arrow{opacity:1}.mobile-menu-item-dot{background-color:var(--colors-blue-600);border-radius:50%;flex-shrink:0;width:8px;height:8px}.mobile-menu-item:focus-visible{outline-offset:2px;background-color:var(--colors-slate-50,#f8fafc)}.mobile-menu-item.active{color:#0f172a;background-color:#0000;font-weight:500}.mobile-menu-item-wrapper{align-items:center;gap:8px;display:flex}.mobile-menu-item-external{color:var(--colors-slate-600);align-items:center;padding:4px;line-height:0;text-decoration:none;transition:opacity .3s;display:flex}.mobile-menu-item-external:hover{opacity:.7;color:var(--colors-slate-900)}.mobile-menu-item-external img{flex-shrink:0;width:16px;height:16px;display:block}.mobile-menu-divider{height:1px;margin:0;margin-top:var(--tokens-spacing-8);background-color:var(--colors-slate-300);border:none;flex-shrink:0}.mobile-menu-actions{align-items:stretch;gap:var(--tokens-spacing-3);width:100%;margin-top:var(--tokens-spacing-6);flex-direction:column;display:flex}.mobile-menu-actions .btn-secondary{box-sizing:border-box;width:100%}.mobile-menu-cv-button{width:100%;margin-top:0;padding-top:0}.mobile-menu-cv-button .btn{width:100%}.mobile-menu-cv-button .btn-primary{color:#fff;background:#0052d4}.mobile-menu-cv-button .btn-primary:hover:not(:disabled){background:#0042b3;box-shadow:0 10px 24px #0052d447}.menu-item{color:inherit;text-decoration:none}.menu-button{cursor:pointer;align-items:center;gap:8px;display:flex}.menu-button .icon{width:38px;height:auto}.menu-button span{font-family:Space Mono,monospace;font-size:var(--tokens-fontsize-xl);color:var(--colors-slate-900);white-space:nowrap;line-height:28px}.hero-content{gap:var(--tokens-spacing-8);padding:0 var(--tokens-spacing-16);flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.about-me-content{gap:var(--tokens-spacing-16);padding:var(--tokens-spacing-16);grid-template-columns:1fr 2fr;align-items:center;max-width:1400px;margin:0 auto;display:grid}.about-me-text{gap:var(--tokens-spacing-10);flex-direction:column;display:flex}.about-me-skills{margin-top:var(--tokens-spacing-6)}.about-me-skills-title{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:var(--tokens-fontsize-xl);color:var(--colors-slate-900);margin:0 0 var(--tokens-spacing-3)0;line-height:28px}.about-me-image{justify-content:center;align-items:center;display:flex}.portrait-image{object-fit:cover;border-radius:10px;width:100%;max-width:600px;height:auto}.download-cv-container{margin-top:var(--tokens-spacing-6);justify-content:center;align-items:center;line-height:1;display:inline-flex}.btn{box-sizing:border-box;min-height:var(--btn-control-min-height);padding:var(--btn-control-padding-y)var(--btn-control-padding-x);border-radius:var(--btn-control-radius);font-family:var(--tokens-text-base-font-normal-fontFamily,Inter),sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base,16px);cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s var(--ease-out),transform .18s var(--ease-out);white-space:nowrap;vertical-align:middle;border:1px solid #0000;flex-direction:row;justify-content:center;align-items:center;font-style:normal;line-height:24px;text-decoration:none;display:inline-flex;box-shadow:0 1px 2px #0f172a14}.btn-primary{background:var(--tokens-color-blue-700,#1d4ed8);color:var(--tokens-color-neutral-100,#f5f5f5)}.btn-primary:hover:not(:disabled){background-color:var(--colors-blue-700,#1d4ed8);transform:translateY(-1px);box-shadow:0 10px 24px #2563eb38}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:var(--colors-blue-600,#2563eb);border-color:var(--colors-blue-600,#2563eb);background-color:#0000}.btn-secondary:hover:not(:disabled){background-color:var(--colors-blue-50,#eff6ff);border-color:var(--colors-blue-700,#1d4ed8);color:var(--colors-blue-700,#1d4ed8);transform:translateY(-1px);box-shadow:0 10px 24px #2563eb1a}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.download-cv-button{padding:var(--tokens-spacing-2,8px)var(--tokens-spacing-5,20px);border-radius:var(--tokens-borderRadius-2xl,16px);background:var(--tokens-color-blue-700,#1d4ed8);color:var(--tokens-color-neutral-100,#f5f5f5);font-family:var(--tokens-text-base-font-normal-fontFamily,Inter),sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base,16px);cursor:pointer;white-space:nowrap;vertical-align:middle;border:none;flex-direction:row;justify-content:center;align-items:center;font-style:normal;line-height:24px;text-decoration:none;transition:background-color .3s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.download-cv-button:hover{background:var(--tokens-color-blue-700,#1d4ed8)}.reviews-container{max-width:1400px;margin:0 auto;position:relative}.reviews-slideshow{min-height:200px;position:relative}.review-content{text-align:center;padding:var(--tokens-spacing-8)}.review-text{font-family:Space Grotesk,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-3xl);color:var(--colors-slate-800);margin:0 0 var(--tokens-spacing-6)0;max-width:900px;margin-left:auto;margin-right:auto;line-height:40px}.review-author{font-family:Inter,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base);color:var(--colors-slate-600);margin:0;line-height:24px}.reviews-controls{justify-content:center;gap:var(--tokens-spacing-6);margin-top:var(--tokens-spacing-8);display:flex}.review-control{border:2px solid var(--colors-slate-600);color:var(--colors-slate-600);cursor:pointer;width:48px;height:48px;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s var(--ease-out);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:24px;display:flex}.review-control:hover{background-color:var(--colors-slate-600);color:#fff}.review-control:focus{outline:2px solid var(--colors-blue-600);outline-offset:2px}@media (prefers-reduced-motion:no-preference){.fade-in{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(20px)}.fade-in.visible{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.fade-in{opacity:1;transform:none}}.hero-text{gap:var(--tokens-spacing-10);flex-direction:column;flex:1;justify-content:center;display:flex}.hero-heading h1{color:var(--colors-slate-900);margin:0;font-family:Space Grotesk,sans-serif;font-size:60px;font-weight:700;line-height:70px}.hero-heading .subtitle{color:var(--colors-slate-900);margin:0;font-family:Space Grotesk,sans-serif;font-size:60px;font-weight:400;line-height:70px}.hero-description{font-family:Space Grotesk,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-3xl);color:var(--colors-slate-600);margin:0;line-height:36px}.scroll-indicator{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:var(--tokens-fontsize-xl);color:var(--colors-slate-600);margin:0;line-height:28px}.hero-image{flex:1;max-width:641px;height:643px;position:relative}.polygon-container{width:100%;height:100%;position:relative;overflow:hidden}.video-placeholder{width:100%;height:100%}.video-placeholder video{object-fit:cover;width:100%;height:100%}.portfolio-main{z-index:1;background-color:#fff;padding:0;position:relative}.portfolio-hero{background:linear-gradient(180deg,var(--colors-blue-50,#eff6ff)0%,var(--colors-slate-50,#f8fafc)50%,#fff 100%);padding:var(--tokens-spacing-16,64px)clamp(16px,2.41vw + 7.32px,32px);padding-bottom:var(--tokens-spacing-24,96px);justify-content:flex-end;align-items:flex-start;min-height:400px;display:flex;position:relative;overflow:hidden}.portfolio-hero:after{content:"";pointer-events:none;background:linear-gradient(#fff0 0%,#fff 100%);height:100px;position:absolute;bottom:0;left:0;right:0}.portfolio-hero-content{z-index:1;justify-content:flex-end;align-items:flex-start;width:100%;max-width:1408px;display:flex;position:relative}.portfolio-hero-text{text-align:left;max-width:600px}.portfolio-hero-title{color:var(--colors-slate-900,#0f172a);margin:0 0 var(--tokens-spacing-4,16px)0;font-family:Space Grotesk,sans-serif;font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1.2}.portfolio-hero-subtitle{color:var(--colors-slate-600,#475569);margin:0;font-family:Inter,sans-serif;font-size:clamp(16px,2vw,18px);font-weight:400;line-height:1.5}html.portfolio-page{background-color:var(--colors-slate-700,#334155)}html.portfolio-page body{background-color:var(--colors-slate-100)}.portfolio-heading-section{padding:var(--tokens-spacing-8,32px)clamp(16px,2.41vw + 7.32px,32px);border-bottom:1px solid var(--colors-slate-300,#cbd5e1);justify-content:center;align-items:center;display:flex}.portfolio-main-heading{color:var(--colors-slate-900,#0f172a);width:100%;max-width:1408px;margin:0;font-family:Space Grotesk,sans-serif;font-size:60px;font-weight:700;line-height:70px}.portfolio-accordion{width:100%;max-width:1408px;margin:0 auto}.accordion-header{width:100%;padding:var(--tokens-spacing-8,32px)clamp(16px,2.41vw + 7.32px,32px);border:none;border-bottom:1px solid var(--colors-slate-300,#cbd5e1);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:var(--tokens-spacing-8,32px);background:0 0;display:flex}.accordion-title{font-family:Space Grotesk,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-4xl,36px);line-height:var(--tokens-spacing-11,44px);color:var(--colors-blue-700,#1d4ed8);flex:1}.accordion-chevron-container{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.accordion-chevron{width:24px;height:24px;color:var(--colors-slate-900,#0f172a);transition:transform .3s;transform:rotate(0)}.accordion-header.accordion-open .accordion-chevron{transform:rotate(90deg)}.accordion-header.accordion-disabled,.accordion-header[disabled]{cursor:not-allowed;opacity:.5;pointer-events:none}.accordion-header.accordion-disabled .accordion-title,.accordion-header[disabled] .accordion-title{color:var(--colors-slate-400,#94a3b8)}.portfolio-tabs{width:100%;max-width:1408px;margin:0 auto}.portfolio-tabs-header{gap:var(--tokens-spacing-6,24px);border-bottom:1px solid var(--colors-slate-300,#cbd5e1);padding:0 clamp(16px,2.41vw + 7.32px,32px);display:flex}.portfolio-tab{align-items:center;gap:var(--tokens-spacing-2,8px);padding:var(--tokens-spacing-3,12px)var(--tokens-spacing-4,16px);cursor:pointer;font-family:Space Grotesk,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-xl,20px);color:var(--colors-slate-600,#475569);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;line-height:28px;transition:color .18s,border-color .18s;display:flex;position:relative}.portfolio-tab:hover:not(.disabled){color:var(--colors-slate-900,#0f172a)}.portfolio-tab.active{color:var(--colors-blue-700,#1d4ed8);border-bottom-color:var(--colors-blue-700,#1d4ed8)}.portfolio-tab.disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.tab-badge{font-size:var(--tokens-fontsize-base,16px);background-color:var(--colors-slate-200,#e2e8f0);color:var(--colors-slate-600,#475569);margin-left:var(--tokens-spacing-2);border-radius:4px;padding:2px 8px;font-weight:400}.tab-badge.coming-soon{background-color:var(--colors-slate-100,#f1f5f9);color:var(--colors-slate-500,#64748b)}.tab-badge.wip{background-color:var(--colors-blue-50,#eff6ff);color:var(--colors-blue-600,#2563eb)}.portfolio-tabs-content{padding:var(--tokens-spacing-8)0}.accordion-content{max-height:0;transition:max-height .3s;overflow:hidden}.accordion-content.accordion-open{max-height:10000px}.project-section{padding:var(--tokens-spacing-16)clamp(16px,2.41vw + 7.32px,32px);gap:var(--tokens-spacing-12);flex-direction:column;display:flex}.section-row{gap:var(--tokens-spacing-8);align-items:flex-start;display:flex}.logo-container{flex-direction:column;flex:1;align-items:flex-start;display:flex}.logo-container .logo-image{object-fit:contain;width:111px;height:58px}.blurb-area{gap:var(--tokens-spacing-6);flex-direction:column;flex:1;display:flex}.section-title-link{text-decoration:none;transition:color .2s;display:block}.section-title-link:hover .section-title{color:var(--colors-slate-600)}.section-title{font-family:Space Grotesk,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-3xl,30px);color:var(--colors-slate-800,#1e293b);margin:0;line-height:36px;transition:color .2s}.section-title strong{font-weight:700}.section-image-link{cursor:pointer;text-decoration:none;transition:opacity .2s;display:block}.section-image-link:hover{opacity:.9}.skills-container{gap:var(--tokens-spacing-3);flex-wrap:wrap;display:flex}.skill-tag{font-family:Space Mono,monospace;font-size:var(--tokens-fontsize-base);color:var(--colors-blue-800);white-space:nowrap;background-color:#0000;border:1px solid #cbd5e1d9;border-radius:100px;padding:10px 16px;line-height:24px;transition:border-color .18s,color .18s,background-color .18s}@media (hover:hover) and (pointer:fine){.skill-tag:hover{background-color:#2563eb0a;border-color:#2563eb59}}.section-description{font-family:Inter,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base);color:var(--colors-slate-600);margin:0;line-height:24px}.section-image{border-radius:10px;width:100%;height:502px;position:relative;overflow:hidden}.section-image img{object-fit:cover;border-radius:10px;width:100%;height:100%;display:block}.footer-parallax{background-color:var(--colors-slate-700,#334155);padding:clamp(var(--tokens-spacing-10,40px),8vw,var(--tokens-spacing-16,64px))clamp(var(--tokens-spacing-6,24px),5vw,var(--tokens-spacing-16,64px));width:100%;min-height:fit-content;position:relative;overflow:visible}.footer-parallax-content{gap:var(--tokens-spacing-16,64px);z-index:1;flex-direction:column;display:flex;position:relative}.footer-top-row{justify-content:space-between;align-items:flex-start;width:100%;display:flex}.footer-heading-container{gap:var(--tokens-spacing-8,32px);flex-direction:column;display:flex}.footer-heading{font-family:Space Grotesk,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-4xl,36px);line-height:var(--tokens-spacing-11,44px);letter-spacing:-.02em;color:var(--colors-slate-50,#f8fafc);flex-direction:column;margin:0;display:flex}.footer-heading span{white-space:nowrap}.footer-cta-button{width:fit-content}.footer-social-links{flex-direction:column;gap:16px;display:flex}.footer-social-link{box-sizing:border-box;min-height:44px;color:var(--colors-slate-300,#cbd5e1);font-family:Inter,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base,16px);border-radius:8px;align-items:center;gap:10px;padding:6px 4px;line-height:24px;text-decoration:none;transition:color .2s;display:flex}.footer-social-link:hover{color:var(--colors-slate-50,#f8fafc)}.footer-social-link:focus-visible{outline-offset:3px}.footer-social-link img{object-fit:contain;flex-shrink:0;width:24px;height:24px;display:block}.footer-bottom-row{justify-content:space-between;align-items:center;width:100%;display:flex}.footer-name-container{gap:var(--tokens-spacing-4,16px);flex-direction:row;align-items:center;display:flex}.footer-name{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:var(--tokens-fontsize-xl,20px);color:var(--colors-slate-300,#cbd5e1);margin:0;line-height:28px}.footer-title{font-family:Inter,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base,16px);color:var(--colors-slate-300,#cbd5e1);margin:0;line-height:24px}.footer-copyright{gap:var(--tokens-spacing-8,32px);flex-direction:column;display:flex}.footer-copyright p{font-family:Inter,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base,16px);color:var(--colors-slate-300,#cbd5e1);white-space:nowrap;margin:0;line-height:24px}@media (max-width:480px){.footer-copyright p{white-space:normal}}.footer{padding:var(--tokens-spacing-16);z-index:1;flex-direction:column;gap:48px;display:flex}.footer-content{justify-content:space-between;align-items:center;width:100%;display:flex}.footer-left{align-items:center;gap:32px;display:flex}.footer-social{align-items:center;gap:16px;display:flex}.footer-next{align-items:center;display:flex}.footer-next-link{color:var(--colors-blue-700);font-family:Space Grotesk,sans-serif;font-size:36px;font-weight:700;line-height:40px;text-decoration:none;transition:color .2s}.footer-next-link:hover{color:var(--colors-blue-600)}.social-icon{flex-shrink:0;width:24px;height:24px;display:block}.social-icon img{width:100%;height:100%;display:block}.detail-page-header{background-color:var(--colors-slate-100);overflow:visible}.detail-page-main{min-height:calc(100vh - 200px);padding:calc(var(--nav-height) + var(--tokens-spacing-16))clamp(16px,2.41vw + 7.32px,40px)var(--tokens-spacing-20);background-color:#0000}.detail-page-container{flex-direction:column;gap:0;max-width:1080px;margin:0 auto;display:flex}.detail-section{gap:var(--tokens-spacing-8);flex-direction:column;display:flex}.detail-section-title{color:var(--colors-slate-900);margin:0;font-family:Space Grotesk,sans-serif;font-size:48px;font-weight:700;line-height:56px}.detail-section-subtitle{color:var(--colors-slate-800);margin:0;font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:400;line-height:32px}.detail-section-text{font-family:Inter,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base);color:var(--colors-slate-600);margin:0;line-height:24px}.detail-section-image{width:100%;margin:var(--tokens-spacing-6)0;border-radius:10px;overflow:hidden}.detail-section-image img{object-fit:cover;border-radius:10px;width:100%;height:auto;display:block}.detail-section-image video{border-radius:10px;width:100%;height:auto;display:block}.detail-section-grid{gap:var(--tokens-spacing-8);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.detail-section-two-column{gap:var(--tokens-spacing-8);grid-template-columns:1fr 1fr;display:grid}.detail-section-col{gap:var(--tokens-spacing-3);flex-direction:column;display:flex}.constraint-cards-container{gap:var(--tokens-spacing-8);grid-template-columns:repeat(3,1fr);width:100%;max-width:1200px;display:grid}.constraint-card{padding:var(--tokens-spacing-6);gap:var(--tokens-spacing-7);background:#fff;border:1px solid #0000001a;border-radius:14px;flex-direction:column;display:flex}.constraint-card-header{align-items:center;gap:12px;height:48px;display:flex}.constraint-card-icon{background:var(--colors-blue-50);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.constraint-card-icon img{width:24px;height:24px}.constraint-card-title{color:var(--colors-blue-600);margin:0;font-family:Space Mono,monospace;font-size:16px;font-weight:400;line-height:16px}.constraint-card-content{flex-direction:column;gap:16px;display:flex}.constraint-section{gap:var(--tokens-spacing-2);flex-direction:column;display:flex}.constraint-heading{color:#101828;margin:0;font-family:Space Mono,monospace;font-size:18px;font-weight:400;line-height:27px}.constraint-text{font-family:Inter,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base);color:#4a5565;margin:0;line-height:24px}.constraint-divider{background:#cbd5e1;width:100%;height:1px}.detail-quote-container{gap:var(--tokens-spacing-16);align-items:flex-start;display:flex;overflow:hidden}.detail-quote-content{gap:var(--tokens-spacing-16);width:100%;display:flex}.detail-quote-image{flex-shrink:0;width:476px;height:592px}.detail-quote-image img{object-fit:cover;width:100%;height:100%}.detail-quote-text{flex-direction:column;flex:1;justify-content:space-between;padding:65px 65px 65px 0;display:flex}.detail-quote-quote{color:#f1f5f9;margin:0;font-family:Space Grotesk,sans-serif;font-size:48px;font-weight:500;line-height:48px}.detail-quote-author{flex-direction:column;gap:0;display:flex}.detail-quote-name{color:#f1f5f9;margin:0;font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:700;line-height:32px}.detail-quote-title{color:#f1f5f9;margin:0;font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:400;line-height:32px}.detail-list{font-family:Inter,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base);color:var(--colors-slate-600);margin:0;padding-left:24px;line-height:24px}.detail-list li{margin-bottom:8px}.detail-list li:last-child{margin-bottom:0}.detail-workshop-container{gap:var(--tokens-spacing-6);background-color:#f2f3f2;border-radius:10px;flex-direction:column;padding:24px;display:flex}.detail-workshop-image{border:1px solid var(--colors-slate-300,#cbd5e1);border-radius:4px;width:100%;overflow:hidden}.detail-workshop-image img{width:100%;height:auto;display:block}.detail-mobile-showcase{width:100%}.detail-mobile-grid{gap:25px;padding:10px 0;display:flex;overflow-x:auto}.detail-mobile-grid img{border-radius:10px;flex-shrink:0;width:auto;height:278px;box-shadow:0 6px 13px #00000040}.references-header{background-color:var(--colors-slate-100);overflow:visible}.back-home-link{font-family:Inter,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base);color:var(--colors-slate-900);line-height:24px;text-decoration:none;transition:color .2s}.back-home-link:hover{color:var(--colors-blue-600)}.references-main{background-color:var(--colors-slate-100);min-height:calc(100vh - 200px);padding:var(--tokens-spacing-8,32px)clamp(16px,2.41vw + 7.32px,32px)}.references-container{max-width:1408px;padding:var(--tokens-spacing-5,20px)clamp(16px,2.41vw + 7.32px,32px)var(--tokens-spacing-14,56px)clamp(16px,2.41vw + 7.32px,32px);flex-direction:column;margin:0 auto;display:flex}.references-heading-container{gap:var(--tokens-spacing-10,16px);width:100%;padding:var(--tokens-spacing-6,24px)0;border-bottom:1px solid var(--colors-slate-300,#cbd5e1);margin-bottom:var(--tokens-spacing-8,32px);flex-direction:column;display:flex}.references-heading{color:var(--colors-slate-900,#0f172a);margin:0;font-family:Space Grotesk,sans-serif;font-size:60px;font-weight:700;line-height:70px}.references-list{gap:var(--tokens-spacing-8,32px);flex-direction:column;width:688px;display:flex}.reference-item{gap:var(--tokens-spacing-6,24px);flex-direction:column;width:100%;display:flex}.reference-name{color:var(--colors-slate-950,#020617);margin:0;font-family:Inter,sans-serif;font-size:24px;font-weight:700;line-height:32px}.reference-item .reference-details{color:var(--colors-slate-600,#475569);flex-direction:column;gap:8px;display:flex}.reference-title{color:var(--colors-slate-600,#475569);margin:0;font-family:Space Grotesk,sans-serif;font-size:18px;font-weight:700;line-height:28px}.reference-email{color:var(--colors-slate-600,#475569);font-family:Space Grotesk,sans-serif;font-size:18px;font-weight:400;line-height:28px;text-decoration:none}.reference-email:hover{color:var(--colors-slate-700,#334155)}.reference-description{font-family:Inter,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base,16px);color:var(--colors-slate-600,#475569);margin:0;line-height:24px}@media (min-width:1200px){.hero-content,.project-section{max-width:1400px;margin:0 auto}}@media (max-width:1024px){.about-me-content{gap:var(--tokens-spacing-8);grid-template-columns:1fr}.about-me-image{order:-1}.hero-content{padding:var(--tokens-spacing-8);flex-direction:column}.hero-image{max-width:100%;height:auto}.section-row{flex-direction:column}.nav-menu,.nav-right{display:none}.mobile-menu-button{margin-right:clamp(16px,2.41vw + 7.32px,32px);display:flex}.nav-bar{height:88px;padding:0 clamp(16px,2.41vw + 7.32px,32px)}.avatar{width:56px;height:56px}.avatar img{image-rendering:auto;backface-visibility:hidden;transform:translateZ(0)}}@media (max-width:768px){.nav-bar{gap:var(--tokens-spacing-4);flex-direction:row}.nav-left{flex:1}.nav-menu{display:none}.mobile-menu-button{display:flex}.about-me-content{padding:var(--tokens-spacing-8)}.review-text{font-size:var(--tokens-fontsize-xl);line-height:32px}.hero-heading h1,.hero-heading .subtitle{font-size:40px;line-height:50px}.hero-description{font-size:24px;line-height:32px}.section-title{font-size:28px;line-height:36px}.project-section{padding:var(--tokens-spacing-8)clamp(16px,2.41vw + 7.32px,32px)}.footer-content{gap:var(--tokens-spacing-6);flex-direction:column;align-items:flex-start}.references-container{padding:var(--tokens-spacing-8,32px)clamp(16px,2.41vw + 7.32px,32px)}.references-heading{font-size:48px;line-height:56px}.references-list{width:100%;max-width:688px}.detail-page-main{padding:calc(var(--nav-height) + var(--tokens-spacing-12))clamp(16px,2.41vw + 7.32px,32px)var(--tokens-spacing-16)}.detail-section-title{font-size:36px;line-height:44px}.detail-section-subtitle{font-size:20px;line-height:28px}.detail-section-two-column,.detail-section-grid,.constraint-cards-container{grid-template-columns:1fr}.detail-quote-content{flex-direction:column}.detail-quote-image{width:100%;height:auto}.detail-quote-text{padding:var(--tokens-spacing-8)}.detail-quote-quote{font-size:36px;line-height:44px}}.hero-scramble-text{letter-spacing:-.015em;color:var(--colors-slate-600);max-width:36ch;min-height:1.45em;margin:0;font-family:Space Grotesk,sans-serif;font-size:20px;font-weight:400;line-height:1.45}.dud{opacity:.3}.hero-banner-section{z-index:5;background:0 0;justify-content:center;align-items:center;min-height:calc(100svh - 88px);padding:clamp(48px,8vw,112px) clamp(16px,2.41vw + 7.32px,32px);display:flex;position:relative}.hero-banner-section .hero-content{padding:0}.hero-content{gap:clamp(var(--tokens-spacing-8),5.5vw,88px);justify-content:space-between;align-items:center;width:100%;max-width:1408px;margin:0 auto;display:flex}.hero-blurb{flex-direction:column;flex:1;justify-content:center;gap:clamp(18px,3.2vw,26px);max-width:720px;display:flex}.hero-heading{letter-spacing:-.045em;margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(44px,6vw,76px);font-weight:700;line-height:.98}.hero-heading .blue-text{color:var(--colors-blue-700)}.hero-heading .hero-subtitle{color:var(--colors-slate-900);letter-spacing:-.038em;margin-top:clamp(6px,1.2vw,10px);font-weight:500;display:block}.hero-actions{gap:var(--tokens-spacing-3);flex-wrap:wrap;align-items:center;margin-top:clamp(4px,.8vw,10px);display:flex}.hero-polygon{aspect-ratio:1;border-radius:0;flex-shrink:0;width:clamp(300px,34vw,508px);height:auto;position:relative;overflow:hidden;transform:translateZ(0)}.polygon-image{object-fit:cover;width:100%;height:100%;display:block}.about-thoughts-section{min-height:100lvh;padding:calc(var(--nav-height)*1.5)clamp(16px,2.41vw + 7.32px,40px)var(--nav-height);z-index:4;background-color:#0000;position:relative}.about-thoughts-inner{max-width:1408px;margin:0 auto}.about-buffa-layout{flex-direction:row;align-items:stretch;gap:clamp(24px,3vw,48px);width:100%;display:flex}.about-buffa-text{justify-content:space-between;gap:var(--tokens-spacing-10,40px);flex-direction:column;flex:1 1 0;min-width:0;display:flex}.about-buffa-headline-wrap{margin-bottom:calc(var(--tokens-spacing-10,40px)*-1)}.about-buffa-headline{letter-spacing:-.035em;color:var(--colors-slate-900,#0f172a);text-wrap:balance;max-width:17ch;margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(28px,3.2vw,42px);font-weight:700;line-height:1.08}.about-buffa-body{flex-direction:column;gap:28px;max-width:32ch;margin-left:auto;display:flex}.about-buffa-body p{color:var(--colors-slate-600,#475569);margin:0;font-family:Inter,sans-serif;font-size:16px;font-weight:400;line-height:1.62}.about-buffa-footnote{align-items:flex-start;gap:8px;max-width:25ch;display:flex}.about-buffa-footnote-mark{color:var(--colors-slate-900,#0f172a);flex-shrink:0;font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:700;line-height:1}.about-buffa-footnote p{color:var(--colors-slate-600,#475569);margin:0;font-family:Inter,sans-serif;font-size:14px;font-weight:400;line-height:1.5}.about-buffa-portrait{flex:0 0 35%;min-width:0}.about-buffa-portrait--mobile{width:100%;margin:var(--tokens-spacing-10,40px)0;display:block}.about-buffa-portrait--desktop{display:none}.about-buffa-portrait-frame{aspect-ratio:3/4;background-color:var(--colors-slate-200,#e2e8f0);width:100%;position:relative;overflow:hidden}.about-buffa-portrait-img{object-fit:cover;object-position:50% 28%}.about-thoughts-merge-divider{border:none;border-top:1px solid var(--colors-slate-300,#cbd5e1);width:100%;height:0;margin:var(--tokens-spacing-12,48px)0}@media (min-width:992px){.about-buffa-portrait--mobile{display:none}.about-buffa-portrait--desktop{top:calc(var(--nav-height) + 2rem);flex:0 0 35%;align-self:flex-start;min-width:480px;max-width:35%;display:block;position:sticky}.about-buffa-portrait--desktop .about-buffa-portrait-frame{aspect-ratio:auto;height:calc(100lvh - var(--nav-height) - 4rem)}}@media (max-width:991px){.about-buffa-layout{flex-direction:column}.about-buffa-body{max-width:none;margin-left:0}.about-buffa-headline-wrap{margin-bottom:0}}.dual-layer-title{margin:0;line-height:1.1;display:block;position:relative;overflow:hidden}.dual-layer-title-primary,.dual-layer-title-alt{transition:transform .5s var(--ease-title-swap);display:block}.dual-layer-title-alt{font-style:italic;position:absolute;top:100%;left:0}.dual-layer-title--work{letter-spacing:-.02em;color:var(--colors-slate-900,#0f172a);font-family:Space Grotesk,sans-serif;font-size:clamp(22px,2.8vw,36px);font-weight:700}.dual-layer-title--portfolio{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;letter-spacing:-.02em;color:var(--colors-slate-900,#0f172a);flex:1;min-width:0;font-size:clamp(20px,2.2vw,28px);font-weight:500}@media (hover:hover) and (pointer:fine){.case-study-card-link:hover .dual-layer-title-primary,.case-study-card-link:hover .dual-layer-title-alt{transform:translateY(-100%)}}@media (hover:hover){.work-row:hover .dual-layer-title-primary,.work-row:hover .dual-layer-title-alt,.fresh-thoughts-row-title-link:hover .dual-layer-title-primary,.fresh-thoughts-row-title-link:hover .dual-layer-title-alt{transform:translateY(-100%)}}.fresh-thoughts-shell{width:100%}.fresh-thoughts-utility-bar{padding-bottom:0;padding-top:var(--tokens-spacing-8,32px);margin-top:20px;margin-bottom:0}.fresh-thoughts-list{width:100%;margin:0;padding:0;list-style:none}.fresh-thoughts-row{padding-top:var(--tokens-spacing-8,32px);padding-bottom:var(--tokens-spacing-2,8px);display:block}.fresh-thoughts-row-grid{grid-template-columns:repeat(12,1fr);align-items:center;gap:12px 24px;display:grid}.fresh-thoughts-row-meta-col{flex-direction:column;grid-column:1/-1;gap:6px;display:none}.fresh-thoughts-row-title-col{grid-column:1/-1}.fresh-thoughts-row-title-link{color:inherit;border-radius:2px;text-decoration:none;display:block}.fresh-thoughts-row-title-link:focus-visible{outline-offset:2px}.fresh-thoughts-row-cta-col{grid-column:1/-1;justify-content:flex-start;margin-top:4px;display:flex}.fresh-thoughts-row-cta-col .btn{min-height:40px;padding:8px 20px;font-size:14px;line-height:1}.fresh-thoughts-row-date{color:var(--colors-slate-500,#64748b);white-space:nowrap;font-family:Inter,sans-serif;font-size:13px;font-weight:400;line-height:1.4}.fresh-thoughts-row-mobile-meta{color:var(--colors-slate-500,#64748b);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:0;font-family:Inter,sans-serif;font-size:12px;line-height:1.4;display:flex}.fresh-thoughts-row-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--colors-slate-600,#475569);font-family:Inter,sans-serif;font-size:11px;font-weight:600;line-height:1.3}.fresh-thoughts-row-sep{color:var(--colors-slate-300,#cbd5e1);margin:0 8px}.fresh-thoughts-row-divider{margin-top:var(--tokens-spacing-8,32px);border:none;border-top:1px solid var(--colors-slate-300,#cbd5e1);height:0}.fresh-thoughts-row:last-child .fresh-thoughts-row-divider{display:none}@media (min-width:992px){.fresh-thoughts-row{padding-top:var(--tokens-spacing-10,40px)}.fresh-thoughts-row-meta-col{grid-column:span 2;display:flex}.fresh-thoughts-row-title-col{grid-column:span 6}.fresh-thoughts-row-cta-col{grid-column:span 4;justify-content:flex-end;margin-top:0}.fresh-thoughts-row-mobile-meta{display:none}}.fresh-thoughts-empty{width:100%}.fresh-thoughts-empty-text{font-family:Inter,sans-serif;font-size:var(--tokens-fontsize-base);color:var(--colors-slate-600);margin:0;line-height:24px}@media (max-width:768px){.fresh-thoughts-row-cta-col .btn{justify-content:center;width:100%}}.thought-detail-section{background-color:var(--colors-slate-100);padding:100px clamp(16px,2.41vw + 7.32px,32px)var(--tokens-spacing-16);z-index:2;position:relative}.thought-detail-container{max-width:800px;margin:0 auto}.thought-detail-back{font-family:Inter,sans-serif;font-size:var(--tokens-fontsize-base);color:var(--colors-slate-600);margin-bottom:var(--tokens-spacing-8);font-weight:500;text-decoration:none;transition:color .16s;display:inline-block}.thought-detail-back:hover{color:var(--colors-blue-700)}.thought-detail-header{margin-bottom:var(--tokens-spacing-10);padding-bottom:var(--tokens-spacing-8);border-bottom:1px solid #cbd5e1e6}.thought-detail-time{color:var(--colors-slate-500);margin-bottom:var(--tokens-spacing-4);font-family:Inter,sans-serif;font-size:15px;font-weight:500;display:block}.thought-detail-title{color:var(--colors-slate-900);margin:0 0 var(--tokens-spacing-5)0;font-family:Space Grotesk,sans-serif;font-size:clamp(28px,5vw,40px);font-weight:700;line-height:1.15}.thought-detail-canonical-link{font-family:Inter,sans-serif;font-size:var(--tokens-fontsize-base);color:var(--colors-blue-700);font-weight:500;text-decoration:none}.thought-detail-canonical-link:hover{text-decoration:underline}.thought-detail-prose{color:var(--colors-slate-800);font-family:Inter,sans-serif;font-size:18px;line-height:1.75}.thought-detail-prose h1,.thought-detail-prose h2,.thought-detail-prose h3,.thought-detail-prose h4{color:var(--colors-slate-900);margin:var(--tokens-spacing-10)0 var(--tokens-spacing-5);font-family:Space Grotesk,sans-serif;font-weight:700;line-height:1.25}.thought-detail-prose h3{font-size:clamp(22px,3vw,28px)}.thought-detail-prose h4{font-size:clamp(18px,2.5vw,22px);font-weight:600}.thought-detail-prose p{margin:0 0 1.15em}.thought-detail-prose a{color:var(--colors-blue-700);text-underline-offset:2px;text-decoration:underline}.thought-detail-prose a:hover{color:var(--colors-blue-800)}.thought-detail-prose ul,.thought-detail-prose ol{margin:0 0 1.15em;padding-left:1.35em}.thought-detail-prose li{margin-bottom:.4em}.thought-detail-prose figure{margin:var(--tokens-spacing-8)0}.thought-detail-prose figcaption{color:var(--colors-slate-500);margin-top:var(--tokens-spacing-3);font-size:15px;line-height:1.5}.thought-detail-prose img{border-radius:10px;max-width:100%;height:auto;display:block}.thought-detail-prose blockquote{margin:var(--tokens-spacing-8)0;padding-left:var(--tokens-spacing-5);border-left:4px solid var(--colors-slate-300);color:var(--colors-slate-600)}.thought-detail-prose pre{background:var(--colors-slate-100);border:1px solid var(--colors-slate-200);padding:var(--tokens-spacing-5);margin:var(--tokens-spacing-6)0;border-radius:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:15px;line-height:1.55;overflow-x:auto}.thought-detail-fallback{align-items:flex-start;gap:var(--tokens-spacing-6);flex-direction:column;display:flex}.thought-detail-fallback-text{color:var(--colors-slate-700);max-width:640px;margin:0;font-family:Inter,sans-serif;font-size:18px;line-height:1.7}.skills-container{gap:var(--tokens-spacing-3);flex-wrap:wrap;flex:1;max-width:940px;display:flex}.reviews-section{padding:var(--tokens-spacing-16,64px)clamp(16px,2.41vw + 7.32px,32px);z-index:3;background-color:#0000;width:100%;position:relative;overflow:visible}.reviews-container{width:100%;max-width:1200px;padding:var(--tokens-spacing-8,32px)clamp(16px,2.41vw + 7.32px,32px);box-sizing:border-box;gap:var(--tokens-spacing-12,48px);border:1px solid var(--colors-slate-200,#e2e8f0);box-shadow:var(--shadow-soft);background-color:#fff;border-radius:24px;flex-direction:column;justify-content:flex-start;align-items:stretch;margin:0 auto;display:flex;overflow:visible}.reviews-header{gap:var(--tokens-spacing-6,24px);flex-direction:column;width:100%;display:flex}.reviews-header-content{width:100%;padding-bottom:var(--tokens-spacing-4,16px);border-bottom:1px solid var(--colors-slate-300,#cbd5e1);justify-content:space-between;align-items:center;display:flex}.reviews-header-label{font-family:Space Grotesk,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-sm,14px);color:var(--colors-slate-600,#475569);text-transform:uppercase;letter-spacing:.5px;line-height:20px}.reviews-header-number{font-family:Space Grotesk,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-sm,14px);color:var(--colors-slate-600,#475569);line-height:20px}.reviews-header-main{justify-content:flex-start;align-items:flex-start;width:100%;display:flex}.reviews-title{color:var(--colors-blue-700);flex:1;margin:0;font-family:Space Grotesk,sans-serif;font-size:36px;font-weight:700;line-height:44px}.reviews-header-right{gap:var(--tokens-spacing-6,24px);flex-direction:column;flex:1;max-width:500px;display:flex}.reviews-description{font-family:Inter,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base);color:var(--colors-slate-600);margin:0 0 8px;line-height:24px}.reviews-cta-button{background-color:var(--colors-slate-100,#f1f5f9);border:1px solid var(--colors-slate-300,#cbd5e1);color:var(--colors-slate-900,#0f172a);align-self:flex-start}.reviews-cta-button:hover{background-color:var(--colors-slate-200,#e2e8f0);border-color:var(--colors-slate-400,#94a3b8)}.reviews-ticker-shell{width:100%;position:relative}.reviews-ticker-viewport{width:100%}.reviews-ticker-fade{display:none}.reviews-ticker{gap:var(--tokens-spacing-4,16px);box-sizing:border-box;align-items:stretch;width:100%;padding:12px 4px 16px;display:flex;overflow:visible}.reviews-ticker-card{scroll-snap-align:start;padding:var(--tokens-spacing-6,24px)var(--tokens-spacing-5,20px);cursor:pointer;text-align:left;font:inherit;min-width:0;transition:box-shadow .22s var(--ease-out),border-color .2s ease,background-color .22s var(--ease-out),transform .16s var(--ease-out);animation:reviews-ticker-enter .32s var(--ease-out)backwards;border-radius:18px;flex-direction:column;flex-shrink:0;display:flex}.reviews-ticker-card:first-child{animation-delay:0s}.reviews-ticker-card:nth-child(2){animation-delay:50ms}.reviews-ticker-card:nth-child(3){animation-delay:.1s}.reviews-ticker-card:nth-child(4){animation-delay:.15s}@keyframes reviews-ticker-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.reviews-ticker-card:active{transform:scale(.985)}.reviews-ticker-card:focus-visible{outline:2px solid var(--colors-blue-500,#3b82f6);outline-offset:3px}.reviews-ticker-card--collapsed{background-color:var(--colors-slate-100,#f1f5f9);border:1px solid var(--colors-slate-200,#e2e8f0);box-shadow:none;flex:0 0 160px}.reviews-ticker-card--expanded{background:linear-gradient(145deg,#334155,#1e293b);border:1px solid #f8fafc14;flex:1 1 0;min-width:min(100%,280px);box-shadow:0 16px 36px #0f172a2e}@media (hover:hover) and (pointer:fine){.reviews-ticker-card--collapsed:hover{border-color:var(--colors-slate-300,#cbd5e1);transform:translateY(-2px);box-shadow:0 8px 20px #0f172a14}.reviews-ticker-card--collapsed:active{transform:translateY(-1px)scale(.985)}.reviews-ticker-card--expanded:hover{box-shadow:0 20px 40px #0f172a38}}.reviews-ticker-card-inner{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.reviews-ticker-card-panel{justify-content:space-between;gap:var(--tokens-spacing-4,16px);opacity:0;filter:blur(3px);pointer-events:none;min-width:0;transition:opacity .2s var(--ease-out),filter .2s var(--ease-out);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.reviews-ticker-card-panel.is-visible{opacity:1;filter:blur();pointer-events:auto;flex:1;position:relative;inset:auto;overflow:visible}.reviews-ticker-card--expanded .reviews-ticker-card-panel--expanded.is-visible{transition-duration:.26s}.reviews-ticker-card--collapsed .reviews-ticker-card-panel--collapsed.is-visible{transition-duration:.18s}.reviews-ticker-card-meta{flex-direction:column;gap:2px;margin-top:auto;display:flex}.reviews-ticker-card--collapsed .review-card-name{font-size:var(--tokens-fontsize-sm,14px);color:var(--colors-slate-900,#0f172a);line-height:1.35}.reviews-ticker-card-company{color:var(--colors-slate-600,#475569);margin:0;font-family:Inter,sans-serif;font-size:11px;font-weight:400;line-height:1.4}.reviews-ticker-card--expanded .review-card-text{max-width:none}.reviews-ticker-card--expanded .review-card-author{align-items:center;gap:var(--tokens-spacing-3,12px);flex-direction:row;margin-top:auto}.reviews-ticker-card--expanded .review-card-author .review-card-avatar-wrap{margin:0}.reviews-ticker-card-author-text{flex-direction:column;gap:2px;min-width:0;display:flex}.reviews-ticker-card--expanded .review-card-author .review-card-name,.reviews-ticker-card--expanded .review-card-author .review-card-position{margin:0}@media (max-width:768px){.reviews-ticker-shell{margin-bottom:-12px;padding-bottom:12px}.reviews-ticker-viewport{overscroll-behavior-x:contain;overscroll-behavior-y:none;touch-action:pan-x;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow:auto hidden}.reviews-ticker-viewport::-webkit-scrollbar{display:none}.reviews-ticker{width:max-content;min-width:100%;padding:8px 4px 12px}.reviews-ticker-fade{pointer-events:none;z-index:2;opacity:0;width:min(72px,20vw);transition:opacity .22s var(--ease-out);background:linear-gradient(90deg,#fff0 0%,#ffffffb8 52%,#fff 100%);display:block;position:absolute;top:0;bottom:0;right:0}.reviews-ticker-fade.is-visible{opacity:1}.reviews-ticker-card--collapsed{flex:0 0 140px}.reviews-ticker-card--expanded{flex:0 0 min(360px,85vw);box-shadow:0 10px 24px #0f172a29}}@media (prefers-reduced-motion:reduce){.reviews-ticker-card{transition:border-color .2s,background-color .2s;animation:none}.reviews-ticker-card:active{transform:none}.reviews-ticker-card-panel{filter:none;transition:opacity .16s}}.review-card{padding:var(--tokens-spacing-8,32px);gap:var(--tokens-spacing-4,16px);min-height:320px;transition:box-shadow .22s var(--ease-out),transform .22s var(--ease-out);background:linear-gradient(145deg,#334155,#1e293b);border:1px solid #f8fafc14;border-radius:18px;flex-direction:column;display:flex;position:relative;box-shadow:0 16px 36px #0f172a2e}.review-card:focus-visible{outline-offset:4px;border-radius:20px}@media (hover:hover) and (pointer:fine){.review-card:hover{box-shadow:var(--shadow-lifted);transform:translateY(-4px)}}.review-card-avatar-wrap{flex-shrink:0}.review-card-avatar{object-fit:cover;border:2px solid #f8fafc38;border-radius:50%;width:64px;height:64px;display:block;box-shadow:0 8px 24px #0f172a59}.review-card-avatar--placeholder{background:linear-gradient(145deg,var(--colors-slate-500),var(--colors-slate-700));color:var(--colors-slate-50,#f8fafc);justify-content:center;align-items:center;font-family:Space Grotesk,sans-serif;font-size:20px;font-weight:600;line-height:1;display:flex}.review-card-avatar--sm{width:48px;height:48px;font-size:16px}.review-card-text{font-family:Inter,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base,16px);max-width:40ch;color:var(--colors-slate-50,#f8fafc);flex:1;margin:0;line-height:1.55}.review-card-author{flex-direction:column;gap:4px;margin-top:auto;display:flex}.review-card-name{font-family:Space Grotesk,sans-serif;font-weight:500;font-size:var(--tokens-fontsize-lg,18px);color:var(--colors-slate-50,#f8fafc);margin:0;line-height:24px}.review-card-position{font-family:Inter,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-sm,14px);color:var(--colors-slate-400,#94a3b8);margin:0;line-height:20px}@media (max-width:768px){.reviews-header-main{flex-direction:column}.reviews-title{font-size:28px;line-height:36px}}.owl-dot.active:hover{background-color:var(--colors-blue-400,#60a5fa)}.work-experience-section{padding:64px clamp(16px,2.41vw + 7.32px,40px)var(--tokens-spacing-12);z-index:2;background-color:#0000;margin-bottom:40px;position:relative}.work-experience-container{max-width:1408px;margin:0 auto}.work-list{width:100%;margin:0;padding:0;list-style:none}@media (hover:hover){.work-list:hover .work-row{opacity:.2;transition:opacity .2s}.work-list:hover .work-row:hover{opacity:1}}.work-row{padding-top:var(--tokens-spacing-8,32px);padding-bottom:var(--tokens-spacing-2,8px);transition:opacity .2s;display:block}@media (min-width:992px){.work-row{padding-top:var(--tokens-spacing-10,40px)}}.work-row-grid{grid-template-columns:repeat(12,1fr);align-items:center;gap:0 24px;display:grid}.work-row-title-col{grid-column:span 10}.work-row-meta-col,.work-row-location-col{display:none}.work-row-mobile-meta{color:var(--colors-slate-500,#64748b);flex-wrap:wrap;grid-column:1/-1;align-items:center;margin-top:10px;font-family:Inter,sans-serif;font-size:12px;line-height:1.4;display:flex}.work-row-sep{color:var(--colors-slate-300,#cbd5e1);margin:0 8px}.work-row-skills{color:var(--colors-slate-600,#475569);margin:0;padding:0;font-family:Inter,sans-serif;font-size:14px;line-height:1.4;list-style:none}.work-row-skills li{display:inline-block}.work-row-skills li:not(:last-child):after{content:"/";color:var(--colors-slate-400,#94a3b8);margin:0 .35em}.work-row-location-col span{color:var(--colors-slate-600,#475569);white-space:nowrap;font-family:Inter,sans-serif;font-size:14px;line-height:1.4}.work-row-divider{margin-top:var(--tokens-spacing-8,32px);border:none;border-top:1px solid var(--colors-slate-300,#cbd5e1);height:0}.work-row:last-child .work-row-divider{display:none}@media (min-width:992px){.work-row-title-col{grid-column:span 6}.work-row-meta-col{grid-column:span 4;display:block}.work-row-location-col{text-align:right;grid-column:span 2;display:block}.work-row-mobile-meta{display:none}}@media (prefers-reduced-motion:reduce){.dual-layer-title-primary,.dual-layer-title-alt{transition:none}.work-list:hover .work-row{opacity:1}}.footer-parallax{width:100%}.footer{background-color:var(--colors-slate-100);padding:var(--tokens-spacing-16);z-index:1;width:100%;position:relative}.footer-content{gap:var(--tokens-spacing-12);flex-direction:column;max-width:1408px;margin:0 auto;display:flex}.footer-left{justify-content:space-between;align-items:center;display:flex}.footer-text{color:var(--colors-slate-600);margin:0;font-family:Space Grotesk,sans-serif;font-size:36px;font-weight:700;line-height:40px}.footer-social{gap:var(--tokens-spacing-4);align-items:center;display:flex}.social-icon{width:24px;height:24px;display:block}.social-icon img{object-fit:contain;width:100%;height:100%}@media (max-width:1200px){.hero-content{text-align:center;flex-direction:column}.hero-blurb{align-items:center}.hero-actions{justify-content:center}.hero-polygon{width:100%;max-width:545px;height:auto}.footer-parallax{padding:var(--tokens-spacing-12,48px)var(--tokens-spacing-8,32px)}.footer-top-row{gap:var(--tokens-spacing-8,32px);flex-direction:column;align-items:flex-start}.footer-heading{font-size:var(--tokens-fontsize-3xl,28px);line-height:36px}.footer-bottom-row{gap:var(--tokens-spacing-6,24px);flex-direction:column;align-items:flex-start}}@media (max-width:768px){.hero-banner-section{min-height:auto;padding-top:var(--tokens-spacing-12);padding-bottom:var(--tokens-spacing-12)}.hero-heading{font-size:clamp(40px,13vw,56px);line-height:1}.hero-scramble-text{max-width:32ch;font-size:18px;line-height:1.45}.hero-actions{flex-direction:column;align-items:stretch;width:100%}.hero-actions .btn{width:100%}.hero-polygon{border-radius:0;order:-1;width:min(100%,420px)}.footer-parallax{padding:var(--tokens-spacing-8,32px)var(--tokens-spacing-6,24px)}.footer-parallax-content{gap:var(--tokens-spacing-12,48px)}.footer-heading{font-size:var(--tokens-fontsize-2xl,24px);line-height:32px}.footer-heading-container{gap:var(--tokens-spacing-6,24px)}.footer-social-links{gap:12px}}body.not-found{flex-direction:column;min-height:100vh;display:flex}.container-404{text-align:center;padding:var(--tokens-spacing-16,64px)var(--tokens-spacing-8,32px);justify-content:center;align-items:center;gap:var(--tokens-spacing-8,32px);flex-direction:column;flex:1;max-width:800px;margin:0 auto;display:flex}.container-404 h1{color:var(--colors-slate-900);margin:0;font-family:Space Grotesk,sans-serif;font-size:120px;font-weight:700;line-height:1}.container-404 h2{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:var(--tokens-fontsize-3xl,30px);color:var(--colors-slate-900);margin:0;line-height:40px}.container-404 p{font-family:Inter,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-xl,20px);color:var(--colors-slate-600);max-width:600px;margin:0;line-height:32px}.btn-text-wrapper{height:28px;line-height:28px;display:inline-block;position:relative;overflow:hidden}.btn-text{white-space:nowrap;height:28px;line-height:28px;transition:transform .3s cubic-bezier(.76,0,.24,1);display:block}.btn-text-duplicate{width:100%;height:28px;line-height:28px;transition:transform .3s cubic-bezier(.76,0,.24,1);position:absolute;top:0;left:0;transform:translateY(100%)}.btn-primary:hover .btn-text{transform:translateY(-100%)}.btn-primary:hover .btn-text-duplicate{transform:translateY(0)}.btn-secondary:hover .btn-text{transform:translateY(-100%)}.btn-secondary:hover .btn-text-duplicate{transform:translateY(0)}@media (max-width:768px){.container-404{padding:var(--tokens-spacing-12,48px)var(--tokens-spacing-6,24px);gap:var(--tokens-spacing-6,24px)}.container-404 h1{font-size:80px}.container-404 h2{font-size:var(--tokens-fontsize-xl,20px);line-height:28px}.container-404 p{font-size:var(--tokens-fontsize-base,16px);line-height:24px}}.portfolio-blur-overlay{-webkit-backdrop-filter:blur(8px);z-index:98;pointer-events:none;background-color:#f8fafc4d;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.portfolio-blur-overlay.active{pointer-events:auto;display:block}.password-modal-overlay{z-index:99;opacity:0;background-color:#00000080;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:none;position:fixed;top:0;left:0}.password-modal-overlay.active{opacity:1;display:flex}.password-modal-content{padding:var(--tokens-spacing-12,48px);background-color:#fff;border-radius:12px;width:90%;max-width:480px;transition:transform .3s;transform:scale(.95);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.password-modal-overlay.active .password-modal-content{transform:scale(1)}.password-modal-title{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:var(--tokens-fontsize-3xl,30px);color:var(--colors-slate-900);margin:0 0 var(--tokens-spacing-8,32px)0;text-align:center;white-space:pre-line;line-height:40px}.password-modal-form{gap:var(--tokens-spacing-6,24px);flex-direction:column;display:flex}.password-input{width:100%;padding:var(--tokens-spacing-3,12px)var(--tokens-spacing-4,16px);border:1px solid var(--colors-blue-600,#2563eb);font-family:Inter,sans-serif;font-size:var(--tokens-fontsize-base,16px);color:var(--colors-slate-900);box-sizing:border-box;background-color:#fff;border-radius:8px;line-height:24px;transition:border-color .3s}.password-input:focus{border-color:var(--colors-blue-600,#2563eb);outline:none}.password-input::placeholder{color:var(--colors-slate-600,#475569)}.password-modal-buttons{gap:var(--tokens-spacing-4,16px);flex-wrap:wrap;justify-content:flex-end;display:flex}.password-btn-primary{box-sizing:border-box;min-height:var(--btn-control-min-height);padding:var(--btn-control-padding-y)var(--btn-control-padding-x);background-color:var(--colors-blue-600,#2563eb);color:#f5f5f5;border-radius:var(--btn-control-radius);font-family:Inter,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base,16px);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;line-height:24px;transition:background-color .3s;display:inline-flex}.password-btn-primary:hover{background-color:var(--colors-blue-700,#1d4ed8)}.password-btn-primary:active{background-color:var(--colors-blue-800,#1e40af)}.password-btn-secondary{box-sizing:border-box;min-height:var(--btn-control-min-height);padding:var(--btn-control-padding-y)var(--btn-control-padding-x);color:var(--colors-slate-600,#475569);border:1px solid var(--colors-slate-300,#cbd5e1);border-radius:var(--btn-control-radius);font-family:Inter,sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base,16px);cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s var(--ease-out);white-space:nowrap;background-color:#0000;justify-content:center;align-items:center;line-height:24px;display:inline-flex}.password-btn-secondary:hover{background-color:var(--colors-slate-100,#f1f5f9);border-color:var(--colors-slate-400,#94a3b8);color:var(--colors-slate-900)}.password-modal-buttons .btn-secondary{border-color:var(--colors-blue-600,#2563eb);color:var(--colors-blue-600,#2563eb);background-color:#fff}.password-modal-buttons .btn-secondary:hover{background-color:var(--colors-blue-50,#eff6ff);border-color:var(--colors-blue-700,#1d4ed8);color:var(--colors-blue-700,#1d4ed8)}.password-error{color:#dc2626;font-family:Inter,sans-serif;font-size:var(--tokens-fontsize-base,16px);text-align:center;margin:0;line-height:24px}@media (max-width:768px){.portfolio-hero{padding:var(--tokens-spacing-12,48px)clamp(16px,2.41vw + 7.32px,32px);padding-bottom:var(--tokens-spacing-16,64px);justify-content:center;min-height:300px}.portfolio-hero-content{justify-content:center}.portfolio-hero-text{text-align:left;max-width:100%}.portfolio-tabs-header{gap:var(--tokens-spacing-4,16px)}.portfolio-tab{padding:var(--tokens-spacing-2,8px)var(--tokens-spacing-3,12px);font-size:var(--tokens-fontsize-lg,18px);line-height:24px}.password-modal-content{padding:var(--tokens-spacing-8,32px)var(--tokens-spacing-6,24px);width:95%}.password-modal-title{font-size:var(--tokens-fontsize-xl,20px);margin-bottom:var(--tokens-spacing-6,24px);line-height:28px}.password-modal-buttons{flex-direction:column}.password-modal-buttons .btn{width:100%}}.work-hero-banner{padding:var(--tokens-spacing-6,24px)var(--tokens-spacing-16,64px);z-index:3;background-color:#0000;justify-content:center;align-items:center;display:flex;position:relative}.work-hero-container{border-bottom:1px solid var(--colors-slate-300,#cbd5e1);width:100%;max-width:1408px;padding-bottom:var(--tokens-spacing-6,24px);margin:0 auto}.work-hero-heading{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;color:var(--colors-blue-600,#2563eb);margin:0;font-size:60px;font-weight:700;line-height:70px}.work-body{padding:var(--tokens-spacing-16,64px)var(--tokens-spacing-16,64px)var(--tokens-spacing-20,80px);z-index:2;background-color:#0000;position:relative}.work-cards-grid{gap:var(--tokens-spacing-12,48px);flex-wrap:wrap;justify-content:center;max-width:1408px;margin:0 auto;display:flex}.case-study-card-link{color:inherit;cursor:pointer;border-radius:18px;text-decoration:none;display:block}.case-study-card-link:focus-visible{outline:2px solid var(--colors-blue-600);outline-offset:4px}.case-study-card-link:hover{text-decoration:none}.case-study-card-wrapper{display:block}.case-study-card{gap:var(--tokens-spacing-5,20px);flex-direction:column;width:100%;display:flex;position:relative}.case-study-card-title{margin:0}.case-study-card-image-container{aspect-ratio:584/334;height:auto;padding:var(--tokens-spacing-6,24px);background-color:var(--colors-slate-100);transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out);border-radius:18px;align-items:flex-end;display:flex;position:relative;overflow:hidden}.case-study-card-image-wrapper{border-radius:18px;position:absolute;inset:0;overflow:hidden}.case-study-card-image-wrapper:after{content:"";pointer-events:none;background:linear-gradient(#0f172a00 62%,#0f172a24 100%);position:absolute;inset:0}.case-study-card-image{object-fit:cover;object-position:center;transition:transform .24s var(--ease-out)}@media (hover:hover) and (pointer:fine){.case-study-card-link:hover .case-study-card-image-container{transform:translateY(-2px);box-shadow:0 18px 45px #0f172a14}.case-study-card-link:hover .case-study-card-image{transform:scale(1.02)}}.case-study-card-link:active .case-study-card-image-container{transition-duration:.12s;transform:scale(.985)}@media (prefers-reduced-motion:reduce){.case-study-card-image,.case-study-card-image-container{transition-duration:1ms}.case-study-card-link:hover .case-study-card-image-container,.case-study-card-link:active .case-study-card-image-container{box-shadow:none;transform:none}.case-study-card-link:hover .case-study-card-image{transform:none}}.case-study-card-badges{z-index:1;flex-wrap:wrap;gap:8px;display:flex;position:relative}.case-study-card-badge{background-color:var(--colors-slate-50);border:1px solid var(--colors-slate-200);border-radius:100px;justify-content:center;align-items:center;padding:8px 14px;display:inline-flex}.case-study-card-badge--protected{background-color:var(--colors-slate-100,#f1f5f9)}.case-study-card-industry{font-family:var(--font-space-mono),"Space Mono",monospace;letter-spacing:.02em;color:var(--colors-slate-700,#334155);white-space:nowrap;font-size:14px;line-height:1.35}.case-study-card-coming-soon{font-family:var(--font-space-mono),"Space Mono",monospace;color:#101010;letter-spacing:4.1644px;white-space:nowrap;z-index:2;pointer-events:none;font-size:20.822px;line-height:27.763px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.case-study-card-wrapper .case-study-card{opacity:.72}@media (max-width:1024px){.work-cards-grid{align-items:stretch;gap:var(--tokens-spacing-8,32px);flex-flow:column}.case-study-card{width:100%;max-width:100%}}@media (max-width:768px){.work-hero-banner{padding:var(--tokens-spacing-6,24px)var(--tokens-spacing-6,24px)}.work-hero-container{max-width:100%}.work-hero-heading{font-size:40px;line-height:50px}.work-body{padding:var(--tokens-spacing-12,48px)var(--tokens-spacing-6,24px)var(--tokens-spacing-16,64px)}.work-cards-grid{align-items:stretch;gap:var(--tokens-spacing-8,32px);flex-flow:column;max-width:100%}.case-study-card{width:100%;max-width:100%}.case-study-card-title{font-size:24px;line-height:32px}.case-study-card-image-container{aspect-ratio:auto;height:280px}}.case-study-hero{background-color:var(--colors-slate-50,#f8fafc);flex-direction:column;align-items:center;gap:0;width:100%;padding:0;display:flex}.case-study-hero-title-section{padding:var(--tokens-spacing-6,24px)0;justify-content:center;align-items:center;width:100%;display:flex}.case-study-hero-title-container{border-bottom:1px solid var(--colors-slate-300,#cbd5e1);width:100%;max-width:1080px;padding:0 var(--tokens-spacing-6,24px)var(--tokens-spacing-6,24px)var(--tokens-spacing-6,24px)}.case-study-hero-title{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;color:var(--colors-blue-600,#2563eb);margin:0;font-size:60px;font-weight:700;line-height:70px}.case-study-hero-content{gap:var(--tokens-spacing-6,24px);width:100%;max-width:1080px;padding:0 var(--tokens-spacing-6,24px)var(--tokens-spacing-6,24px)var(--tokens-spacing-6,24px);flex-direction:column;display:flex}.case-study-hero-problem{gap:var(--tokens-spacing-3,12px);flex-direction:column;display:flex}.case-study-hero-problem-title{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;color:var(--colors-slate-800,#1e293b);margin:0;font-size:18px;font-weight:700;line-height:28px}.case-study-hero-problem-body{font-family:var(--font-inter),"Inter",sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base,16px);color:var(--colors-slate-600,#475569);margin:0;line-height:24px}.case-study-hero-meta{gap:var(--tokens-spacing-6,24px);align-items:flex-start;display:flex}.case-study-hero-meta-item{gap:var(--tokens-spacing-2,8px);font-family:var(--font-inter),"Inter",sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base,16px);white-space:nowrap;flex-direction:column;line-height:24px;display:flex}.case-study-hero-meta-label{color:var(--colors-slate-400,#94a3b8);margin:0}.case-study-hero-meta-value{color:var(--colors-slate-600,#475569);margin:0}.case-study-hero-image-container{width:100%;max-width:1080px;height:460px;margin:0 var(--tokens-spacing-6,24px);background-color:var(--colors-slate-100,#f1f5f9);border-radius:10px;position:relative;overflow:hidden}.case-study-hero-image{object-fit:cover;object-position:center}.case-study-hero-super-powers{width:100%;max-width:1080px;padding:var(--tokens-spacing-6,24px)var(--tokens-spacing-6,24px)var(--tokens-spacing-10,40px)var(--tokens-spacing-6,24px);flex-direction:column;gap:16px;display:flex}.case-study-hero-super-powers-title{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;color:var(--colors-slate-800,#1e293b);margin:0;font-size:18px;font-weight:700;line-height:28px}@media (max-width:1280px){.case-study-hero-title-container,.case-study-hero-content,.case-study-hero-super-powers{max-width:100%}.case-study-hero-image-container{max-width:100%;margin-left:var(--tokens-spacing-6,24px);margin-right:var(--tokens-spacing-6,24px)}}@media (max-width:768px){.case-study-hero-title{font-size:40px;line-height:50px}.case-study-hero-problem-title,.case-study-hero-super-powers-title{font-size:16px;line-height:24px}.case-study-hero-meta{gap:var(--tokens-spacing-4,16px);flex-direction:column}.case-study-hero-meta-item{white-space:normal}.case-study-hero-image-container{aspect-ratio:16/9;height:auto;min-height:250px}}.case-study-methods-section{background-color:var(--colors-slate-50,#f8fafc);padding:var(--tokens-spacing-6,24px)var(--tokens-spacing-16,64px)var(--tokens-spacing-10,40px)var(--tokens-spacing-16,64px);flex-direction:column;align-items:center;width:100%;display:flex}.case-study-methods-container{gap:var(--tokens-spacing-6,24px);flex-direction:column;width:100%;max-width:1080px;display:flex}.case-study-methods-title-wrapper{border-bottom:1px solid var(--colors-slate-300,#cbd5e1);width:100%;padding-bottom:16px}.case-study-methods-title{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;color:var(--colors-slate-800,#1e293b);margin:0;font-size:36px;font-weight:500;line-height:44px}.case-study-methods-grid{gap:var(--tokens-spacing-8,32px);width:100%;display:grid}.case-study-methods-grid-2{grid-template-columns:repeat(2,1fr)}.case-study-methods-grid-3{grid-template-columns:repeat(3,1fr)}.case-study-methods-grid-4{grid-template-columns:repeat(4,1fr)}.case-study-methods-item{gap:var(--tokens-spacing-3,12px);flex-direction:column;display:flex}.case-study-methods-item-title{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;color:var(--colors-slate-800,#1e293b);margin:0;font-size:18px;font-weight:700;line-height:28px}.case-study-methods-item-body{font-family:var(--font-inter),"Inter",sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base,16px);color:var(--colors-slate-600,#475569);margin:0;line-height:24px}@media (max-width:1280px){.case-study-methods-section{padding:var(--tokens-spacing-6,24px)var(--tokens-spacing-6,24px)var(--tokens-spacing-10,40px)var(--tokens-spacing-6,24px)}.case-study-methods-container{max-width:100%}.case-study-methods-grid-3,.case-study-methods-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.case-study-methods-section{padding:var(--tokens-spacing-6,24px)var(--tokens-spacing-6,24px)var(--tokens-spacing-10,40px)var(--tokens-spacing-6,24px)}.case-study-methods-title{font-size:28px;line-height:36px}.case-study-methods-item-title{font-size:16px;line-height:24px}.case-study-methods-grid-2,.case-study-methods-grid-3,.case-study-methods-grid-4{grid-template-columns:1fr}.case-study-methods-grid{gap:var(--tokens-spacing-6,24px)}}.case-study-related-projects-section{padding-top:var(--tokens-spacing-16);padding-bottom:var(--tokens-spacing-20);background-color:#0000}.case-study-related-projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,40px);width:100%;display:grid}.case-study-related-project-card{gap:var(--tokens-spacing-6);color:inherit;transition:transform .2s var(--ease-out);border-radius:18px;flex-direction:column;text-decoration:none;display:flex}.case-study-related-project-card:hover{transform:translateY(-2px)}.case-study-related-project-card:focus-visible{outline:2px solid var(--colors-blue-600);outline-offset:4px}.case-study-related-project-card:active{transition-duration:.12s;transform:scale(.99)}.case-study-related-project-title{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;letter-spacing:-.015em;color:var(--colors-slate-900);text-wrap:balance;margin:0;font-size:clamp(16px,1.6vw,20px);font-weight:500;line-height:1.3}.case-study-related-project-image-container{aspect-ratio:584/334;background-color:var(--colors-slate-100);border-radius:18px;width:100%;position:relative;overflow:hidden}.case-study-related-project-image{object-fit:cover;object-position:center;transition:transform .24s var(--ease-out)}@media (hover:hover) and (pointer:fine){.case-study-related-project-card:hover .case-study-related-project-image{transform:scale(1.02)}}@media (prefers-reduced-motion:reduce){.case-study-related-project-card,.case-study-related-project-image{transition-duration:1ms}.case-study-related-project-card:hover,.case-study-related-project-card:active,.case-study-related-project-card:hover .case-study-related-project-image{transform:none}}@media (max-width:768px){.case-study-related-projects-grid{grid-template-columns:1fr}.case-study-related-project-image-container{aspect-ratio:auto;height:220px}}.case-study-3col-section{background-color:var(--colors-slate-50,#f8fafc);padding:var(--tokens-spacing-6,24px)var(--tokens-spacing-16,64px)var(--tokens-spacing-10,40px)var(--tokens-spacing-16,64px);flex-direction:column;align-items:center;width:100%;display:flex}.case-study-3col-container{gap:var(--tokens-spacing-6,24px);flex-direction:column;width:100%;max-width:1080px;display:flex}.case-study-3col-title-wrapper{border-bottom:1px solid var(--colors-slate-300,#cbd5e1);width:100%;padding-bottom:16px}.case-study-3col-title{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;color:var(--colors-slate-800,#1e293b);margin:0;font-size:36px;font-weight:500;line-height:44px}.case-study-3col-blurb{font-family:var(--font-inter),"Inter",sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base,16px);color:var(--colors-slate-600,#475569);margin:0;line-height:24px}.case-study-3col-image-container{background-color:var(--colors-slate-100,#f1f5f9);border-radius:10px;width:100%;height:460px;position:relative;overflow:hidden}.case-study-3col-image{object-fit:cover;object-position:center}.case-study-3col-grid{gap:var(--tokens-spacing-8,32px);width:100%;display:grid}.case-study-3col-grid-2{grid-template-columns:repeat(2,1fr)}.case-study-3col-grid-3{grid-template-columns:repeat(3,1fr)}.case-study-3col-grid-4{grid-template-columns:repeat(4,1fr)}.case-study-3col-item{gap:var(--tokens-spacing-3,12px);flex-direction:column;display:flex}.case-study-3col-item-title{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;color:var(--colors-slate-800,#1e293b);margin:0;font-size:18px;font-weight:700;line-height:28px}.case-study-3col-item-body{font-family:var(--font-inter),"Inter",sans-serif;font-weight:400;font-size:var(--tokens-fontsize-base,16px);color:var(--colors-slate-600,#475569);margin:0;line-height:24px}@media (max-width:1280px){.case-study-3col-section{padding:var(--tokens-spacing-6,24px)var(--tokens-spacing-6,24px)var(--tokens-spacing-10,40px)var(--tokens-spacing-6,24px)}.case-study-3col-container{max-width:100%}.case-study-3col-grid-3,.case-study-3col-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.case-study-3col-section{padding:var(--tokens-spacing-6,24px)var(--tokens-spacing-6,24px)var(--tokens-spacing-10,40px)var(--tokens-spacing-6,24px)}.case-study-3col-title{font-size:28px;line-height:36px}.case-study-3col-item-title{font-size:16px;line-height:24px}.case-study-3col-image-container{aspect-ratio:16/9;height:auto;min-height:250px}.case-study-3col-grid-2,.case-study-3col-grid-3,.case-study-3col-grid-4{grid-template-columns:1fr}.case-study-3col-grid{gap:var(--tokens-spacing-6,24px)}}.estimate-page{background-color:var(--colors-slate-100);min-height:100svh}.estimate-page-inner{max-width:820px;padding:calc(88px + var(--tokens-spacing-6))var(--tokens-spacing-6)var(--tokens-spacing-16);box-sizing:border-box;width:100%;margin:0 auto}.estimate-page-toolstrip{font-family:var(--font-inter),"Inter",sans-serif;color:var(--colors-slate-600);margin:0 0 var(--tokens-spacing-6);font-size:14px;line-height:22px}.estimate-page-toolstrip--flush{margin-bottom:0}.estimate-paper-hint{padding:var(--tokens-spacing-5);margin-bottom:var(--tokens-spacing-8);border-radius:var(--tokens-borderRadius-2xl);border:1px dashed var(--colors-slate-300);background:#ffffffa6}.estimate-paper-hint-lead{font-family:var(--font-inter),"Inter",sans-serif;color:var(--colors-slate-700);margin:0;font-size:14px;line-height:22px}.estimate-paper-hint-lead--strong{color:var(--colors-slate-800);font-weight:500}.estimate-page-toolstrip--after{margin-top:var(--tokens-spacing-3);margin-bottom:0}.estimate-paper-hint-steps{margin:0 0 var(--tokens-spacing-3);padding-left:var(--tokens-spacing-6);color:var(--colors-slate-600);font-size:14px;line-height:22px}.estimate-paper-hint-steps li{margin-bottom:var(--tokens-spacing-2)}.estimate-paper-hint-code{font-family:var(--font-space-mono),"Space Mono",monospace;background:var(--colors-slate-100);color:var(--colors-slate-800);border-radius:6px;padding:2px 6px;font-size:12px}.estimate-paper-hint-note{color:var(--colors-slate-500);margin:0;font-size:13px;line-height:20px}.estimate-paper-hint-meta{color:var(--colors-slate-500);font-size:13px}.estimate-inline-link{color:var(--colors-blue-700);transition:color .16s var(--ease-out),border-color .16s var(--ease-out);border-bottom:1px solid #0000;font-weight:500;text-decoration:none}.estimate-inline-link:hover{color:var(--colors-blue-800);border-bottom-color:#2563eb59}.estimate-shell{border-radius:var(--tokens-borderRadius-2xl);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);padding:var(--tokens-spacing-8);background:#f8fafcc7;border:1px solid #cbd5e1a6}.estimate-paper-frame{border-style:solid;border-color:var(--colors-slate-300);border-width:1px}.estimate-shell-top{justify-content:space-between;align-items:flex-start;gap:var(--tokens-spacing-6);margin-bottom:var(--tokens-spacing-8);flex-wrap:wrap;display:flex}.estimate-back-home{font-family:var(--font-inter),"Inter",sans-serif;color:var(--colors-slate-600);transition:color .16s var(--ease-out);font-size:14px;text-decoration:none}.estimate-back-home:hover{color:var(--colors-blue-700)}.estimate-progress{flex:1;min-width:160px;max-width:280px}.estimate-progress-track{background:var(--colors-slate-200);border-radius:999px;height:4px;overflow:hidden}.estimate-progress-fill{background:linear-gradient(90deg,var(--colors-blue-600),var(--colors-blue-700));height:100%;transition:width .32s var(--ease-out);border-radius:999px}.estimate-progress-meta{margin:var(--tokens-spacing-2)0 0;letter-spacing:.02em;color:var(--colors-slate-500);font-size:12px;line-height:18px;font-family:var(--font-space-mono),"Space Mono",monospace}.estimate-paper-tag{font-family:var(--font-space-mono),"Space Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--colors-slate-500);margin:0 0 var(--tokens-spacing-3);font-size:11px;font-weight:400}.estimate-step{animation:.22s ease-out estimate-step-enter}@keyframes estimate-step-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.estimate-step-title{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;letter-spacing:-.035em;color:var(--colors-slate-900);margin:0 0 var(--tokens-spacing-3);font-size:clamp(26px,4vw,34px);font-weight:700;line-height:1.12}.estimate-step-subtitle{font-family:var(--font-inter),"Inter",sans-serif;font-size:var(--tokens-fontsize-base);color:var(--colors-slate-600);margin:0 0 var(--tokens-spacing-8);max-width:52ch;line-height:24px}.estimate-choice-grid{gap:var(--tokens-spacing-3);margin-bottom:var(--tokens-spacing-10);grid-template-columns:1fr;display:grid}@media (min-width:560px){.estimate-choice-grid,.estimate-choice-grid--dense{grid-template-columns:repeat(2,1fr)}}@media (min-width:720px){.estimate-choice-grid--dense{grid-template-columns:repeat(3,1fr)}}.estimate-choice-card{align-items:flex-start;gap:var(--tokens-spacing-2);text-align:left;padding:var(--tokens-spacing-5);border-radius:var(--tokens-borderRadius-2xl);border:1px solid var(--colors-slate-300);cursor:pointer;transition:border-color .18s var(--ease-out),box-shadow .18s var(--ease-out),transform .16s var(--ease-out),background-color .18s var(--ease-out);font:inherit;color:inherit;animation:estimate-card-enter .25s var(--ease-out)backwards;background:#ffffffb8;flex-direction:column;display:flex}.estimate-choice-card:first-child{animation-delay:0s}.estimate-choice-card:nth-child(2){animation-delay:50ms}.estimate-choice-card:nth-child(3){animation-delay:.1s}.estimate-choice-card:nth-child(4){animation-delay:.15s}.estimate-choice-card:nth-child(5){animation-delay:.2s}.estimate-choice-card:nth-child(6){animation-delay:.25s}@keyframes estimate-card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (hover:hover) and (pointer:fine){.estimate-choice-card:hover{border-color:var(--colors-blue-600);transform:translateY(-1px);box-shadow:0 12px 28px #2563eb14}}.estimate-choice-card:active{transform:scale(.97)}.estimate-choice-card--selected{border-color:var(--colors-blue-700);background:#eff6ffeb;box-shadow:0 12px 32px #1d4ed81f}.estimate-choice-card-title{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;font-weight:700;font-size:var(--tokens-fontsize-xl);color:var(--colors-slate-900);line-height:26px}.estimate-choice-card-desc{font-family:var(--font-inter),"Inter",sans-serif;color:var(--colors-slate-600);font-size:14px;line-height:21px}.estimate-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.estimate-textarea-wrap{margin-bottom:var(--tokens-spacing-10)}.estimate-textarea{box-sizing:border-box;width:100%;padding:var(--tokens-spacing-5);border-radius:var(--tokens-borderRadius-2xl);border:1px solid var(--colors-slate-300);font-family:var(--font-inter),"Inter",sans-serif;font-size:var(--tokens-fontsize-base);color:var(--colors-slate-900);resize:vertical;min-height:140px;transition:border-color .16s var(--ease-out),box-shadow .16s var(--ease-out);background:#ffffffd9;line-height:24px}.estimate-textarea::placeholder{color:var(--colors-slate-500)}.estimate-textarea:focus-visible{border-color:var(--colors-blue-600);outline:none;box-shadow:0 0 0 3px #2563eb2e}.estimate-nav-row{gap:var(--tokens-spacing-3);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.estimate-footnote{margin-top:var(--tokens-spacing-8);color:var(--colors-slate-500);font-size:14px;line-height:22px}.estimate-result-header{margin-bottom:var(--tokens-spacing-8)}.estimate-result-title{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;letter-spacing:-.03em;color:var(--colors-slate-900);margin:0 0 var(--tokens-spacing-3);font-size:clamp(24px,3.5vw,30px);font-weight:700;line-height:1.15}.estimate-result-lede{font-size:var(--tokens-fontsize-base);color:var(--colors-slate-600);max-width:54ch;margin:0;line-height:24px}.estimate-result-grid{gap:var(--tokens-spacing-3);margin-bottom:var(--tokens-spacing-8);grid-template-columns:1fr;display:grid}@media (min-width:640px){.estimate-result-grid{grid-template-columns:repeat(3,1fr)}.estimate-metric-card--wide{grid-column:span 3}}.estimate-metric-card{padding:var(--tokens-spacing-5);border-radius:var(--tokens-borderRadius-2xl);background:#ffffffb8;border:1px solid #cbd5e1d9}.estimate-metric-label{font-family:var(--font-space-mono),"Space Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--colors-slate-500);margin:0 0 var(--tokens-spacing-2);font-size:11px;font-weight:400}.estimate-metric-value{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;font-weight:700;font-size:var(--tokens-fontsize-3xl);color:var(--colors-blue-800);margin:0;line-height:36px}.estimate-metric-value--sm{font-size:var(--tokens-fontsize-xl);color:var(--colors-slate-900);line-height:28px}.estimate-metric-alt{margin:var(--tokens-spacing-3)0 0;color:var(--colors-slate-600);font-size:14px;line-height:21px}.estimate-rationale{margin-bottom:var(--tokens-spacing-8);padding:var(--tokens-spacing-6);border-radius:var(--tokens-borderRadius-2xl);border:1px solid var(--colors-slate-200);background:#ffffff8c}.estimate-rationale-title{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;font-weight:700;font-size:var(--tokens-fontsize-xl);margin:0 0 var(--tokens-spacing-3);color:var(--colors-slate-900)}.estimate-rationale-list{padding-left:var(--tokens-spacing-6);color:var(--colors-slate-600);font-size:var(--tokens-fontsize-base);margin:0;line-height:26px}.estimate-rationale-list li{margin-bottom:var(--tokens-spacing-2)}.estimate-result-actions{gap:var(--tokens-spacing-3);margin-bottom:var(--tokens-spacing-6);flex-wrap:wrap;display:flex}.estimate-disclaimer{color:var(--colors-slate-500);max-width:62ch;margin:0;font-size:12px;line-height:18px}@media (prefers-reduced-motion:reduce){.estimate-choice-card,.estimate-progress-fill{transition:none}.estimate-choice-card:hover{transform:none}.estimate-step,.estimate-choice-card{animation:none}}.portfolio-index-section{padding-block:calc(var(--nav-height) + var(--tokens-spacing-8))calc(var(--tokens-spacing-20) + var(--tokens-spacing-4));padding-inline:var(--page-gutter)}.portfolio-index-inner{gap:var(--tokens-spacing-12);flex-direction:column;max-width:1200px;margin:50px auto;display:flex}.portfolio-index-back{color:var(--colors-slate-600);width:fit-content;transition:color .18s var(--ease-out),transform .18s var(--ease-out);font-family:Inter,sans-serif;font-size:14px;font-weight:500;text-decoration:none}.portfolio-index-back:hover{color:var(--colors-slate-900);text-decoration:underline}.portfolio-index-back:focus-visible{outline:2px solid var(--colors-blue-600);outline-offset:3px;border-radius:4px}.portfolio-index-back:active{transform:translateY(1px)}.portfolio-index-header{gap:var(--tokens-spacing-3);padding-bottom:var(--tokens-spacing-8);border-bottom:1px solid var(--colors-slate-300);flex-direction:column;display:flex}.portfolio-index-meta{font-family:var(--font-space-mono),"Space Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--colors-slate-500);margin:0;font-size:13px;font-weight:400;line-height:1.25}.portfolio-index-title{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;letter-spacing:-.04em;color:var(--colors-slate-900);text-wrap:balance;margin:0;font-size:clamp(32px,4vw,48px);font-weight:700;line-height:1.06}.portfolio-index-lead{color:var(--colors-slate-600);text-wrap:pretty;max-width:58ch;margin:0;font-family:Inter,sans-serif;font-size:16px;font-weight:400;line-height:1.62}.portfolio-index-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(40px,5vw,64px) clamp(28px,3.5vw,48px);display:grid}.portfolio-index-grid>.case-study-card-link{animation:portfolio-card-enter .32s var(--ease-out)backwards}.portfolio-index-grid>.case-study-card-link:first-child{animation-delay:0s}.portfolio-index-grid>.case-study-card-link:nth-child(2){animation-delay:45ms}.portfolio-index-grid>.case-study-card-link:nth-child(3){animation-delay:90ms}.portfolio-index-grid>.case-study-card-link:nth-child(4){animation-delay:.135s}.portfolio-index-grid>.case-study-card-link:nth-child(5){animation-delay:.18s}.portfolio-index-grid>.case-study-card-link:nth-child(6){animation-delay:.225s}.portfolio-index-grid>.case-study-card-link:nth-child(7){animation-delay:.27s}@keyframes portfolio-card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.portfolio-index-grid>.case-study-card-link{animation:none}}.case-study-section{width:100%;padding:var(--tokens-spacing-16)clamp(16px,2.41vw + 7.32px,32px)}#design-ops-overview,#observatory-overview{padding-bottom:var(--tokens-spacing-6)}#design-ops-overview+#design-ops,#observatory-overview+#observatory{padding-top:0}#saved-queries{padding-bottom:var(--tokens-spacing-6)}#saved-queries+#data-tailored{padding-top:0}#url-system .case-study-image-block-frame,#url-system .case-study-image-block-frame--framed{border-radius:0}#quick-prototype .case-study-wireframe-columns--2{grid-template-columns:minmax(0,278px) minmax(0,1fr);align-items:start}@media (max-width:768px){#quick-prototype .case-study-wireframe-columns--2{grid-template-columns:1fr}}#proof-of-concept+#proof-of-concept-image,#results-quantitative+#results-chart,#results-chart+#results-qualitative,#mobile-screens+#results{padding-top:0}.case-study-section--slate{background-color:var(--colors-slate-50)}.case-study-section--dark{color:#f9fafb;background:#1c2a39}.case-study-section-container{gap:var(--tokens-spacing-10);flex-direction:column;max-width:1080px;margin:0 auto;display:flex}.case-study-section-title-wrapper{padding-bottom:var(--tokens-spacing-5);border-bottom:1px solid var(--colors-slate-300)}.case-study-section-title{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;letter-spacing:-.025em;color:var(--colors-slate-900);text-wrap:balance;margin:0;font-size:clamp(28px,3.2vw,36px);font-weight:700;line-height:1.12}.case-study-section-blurb{color:var(--colors-slate-600);text-wrap:pretty;max-width:65ch;margin:0;font-family:Inter,sans-serif;font-size:16px;font-weight:400;line-height:1.65}.case-study-section-intro-stack{gap:var(--tokens-spacing-3);flex-direction:column;display:flex}.case-study-section-blurb-stack{gap:var(--tokens-spacing-4);flex-direction:column;display:flex}.case-study-lead-statement{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;letter-spacing:-.025em;color:var(--colors-slate-800);text-wrap:pretty;max-width:none;margin:0;font-size:clamp(28px,3.2vw,36px);font-weight:400;line-height:1.12}.case-study-lead-statement strong{font-weight:700}.case-study-results-closing{text-align:center;flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.case-study-results-closing .case-study-results-summary{max-width:52ch}.case-study-results-closing .case-study-results-note{margin:0}.case-study-results-summary{color:var(--colors-slate-600);text-wrap:pretty;max-width:65ch;margin:0;font-family:Inter,sans-serif;font-size:16px;font-weight:400;line-height:1.65}.case-study-results-note{color:var(--colors-slate-500);margin:var(--tokens-spacing-4)0 0;font-family:Inter,sans-serif;font-size:14px;line-height:1.5}.case-study-figma-embed-frame{border:1px solid var(--colors-slate-200);background:var(--colors-slate-50);border-radius:18px;width:100%;overflow:hidden}.case-study-figma-embed{border-radius:inherit;border:0;width:100%;display:block}.case-study-section-grid{gap:clamp(28px,4vw,40px);display:grid}.case-study-section-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-section-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.case-study-section-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.case-study-section-item{gap:var(--tokens-spacing-3);flex-direction:column;display:flex}.case-study-section-item-title{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;letter-spacing:-.01em;color:var(--colors-slate-900);margin:0;font-size:clamp(17px,1.8vw,20px);font-weight:600;line-height:1.35}.case-study-section-item-body{color:var(--colors-slate-600);white-space:pre-wrap;max-width:58ch;margin:0;font-family:Inter,sans-serif;font-size:16px;line-height:1.65}.case-study-image-block{width:100%;margin:0}.case-study-image-block-frame{border-radius:18px;width:100%;position:relative;overflow:hidden}.case-study-image-block-frame--intrinsic{width:100%;max-width:100%}.case-study-image-block-frame--framed{border-radius:18px}.case-study-image-block-img-intrinsic,.case-study-video-block-media-intrinsic{vertical-align:top;width:100%;height:auto;display:block}.case-study-image-block-skeleton{aspect-ratio:16/9;background:linear-gradient(90deg,var(--colors-slate-100,#f1f5f9)0%,var(--colors-slate-200,#e2e8f0)50%,var(--colors-slate-100,#f1f5f9)100%);border-radius:inherit;background-size:200% 100%;width:min(100%,1080px);animation:1.2s ease-in-out infinite case-study-image-skeleton}@keyframes case-study-image-skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.case-study-image-placeholder{background:var(--colors-slate-100,#f1f5f9);border:2px dashed var(--colors-slate-300,#cbd5e1);text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex;position:absolute;inset:0}.case-study-image-placeholder-label{letter-spacing:.04em;text-transform:uppercase;color:var(--colors-slate-500,#64748b);font-family:Space Mono,monospace;font-size:12px}.case-study-image-placeholder-filename{color:var(--colors-blue-800,#1e40af);word-break:break-all;font-family:Space Mono,monospace;font-size:14px;font-weight:700}.case-study-image-placeholder-path{color:var(--colors-slate-400,#94a3b8);word-break:break-all;font-family:Inter,sans-serif;font-size:12px}.case-study-section--dark .case-study-section-title,.case-study-section--dark .case-study-section-item-title{color:#f9fafb}.case-study-section--dark .case-study-section-blurb,.case-study-section--dark .case-study-section-item-body{color:#f8fafce0}.case-study-strategy-banner{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:clamp(24px,4vw,40px);display:grid}.case-study-strategy-banner-title{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;letter-spacing:-.025em;color:#f9fafb;text-wrap:balance;margin:0;font-size:clamp(28px,3.2vw,36px);font-weight:700;line-height:1.15}.case-study-strategy-banner-title em{font-style:normal;font-weight:500}.case-study-wireframe-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,40px);display:grid}.case-study-wireframe-columns--1{grid-template-columns:minmax(0,1fr)}.case-study-wireframe-columns--2,.case-study-wireframe-columns--4{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-wireframe-columns--5{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width:900px){.case-study-wireframe-columns--5{grid-template-columns:repeat(2,minmax(0,1fr))}}.case-study-wireframe-column{gap:var(--tokens-spacing-6);flex-direction:column;height:100%;display:flex}.case-study-wireframe-column--text-first .case-study-split-copy{flex:1}.case-study-split-copy{gap:var(--tokens-spacing-3);flex-direction:column;display:flex}.case-study-principles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,40px);display:grid}.case-study-principle-card{gap:var(--tokens-spacing-6);flex-direction:column;display:flex}.case-study-principle-card-title{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;letter-spacing:-.01em;color:var(--colors-slate-900);margin:0;font-size:clamp(17px,1.8vw,20px);font-weight:600;line-height:1.35}.case-study-principle-card-body{color:var(--colors-slate-600);max-width:58ch;margin:0;font-family:Inter,sans-serif;font-size:16px;line-height:1.65}@media (max-width:768px){.case-study-strategy-banner,.case-study-wireframe-columns,.case-study-principles-grid{grid-template-columns:1fr}}.case-study-image-block-caption{color:var(--colors-slate-500);margin:var(--tokens-spacing-3)0 0;font-family:Inter,sans-serif;font-size:14px;line-height:1.5}.case-study-detail-hero{gap:var(--tokens-spacing-10);padding:0 clamp(16px,2.41vw + 7.32px,32px)var(--tokens-spacing-16);flex-direction:column;display:flex}.case-study-detail-hero-inner{gap:var(--tokens-spacing-10);flex-direction:column;width:100%;max-width:1080px;margin:0 auto;display:flex}.case-study-detail-hero-title-row{padding-bottom:var(--tokens-spacing-6);border-bottom:1px solid var(--colors-slate-300)}.case-study-detail-hero-title{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;letter-spacing:-.035em;color:var(--colors-slate-900);text-wrap:balance;margin:0;font-size:clamp(36px,4.5vw,56px);font-weight:700;line-height:1.06}.case-study-detail-hero-meta-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:clamp(32px,5vw,64px);display:grid}.case-study-detail-hero-label{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;letter-spacing:-.01em;color:var(--colors-slate-900);margin:0 0 var(--tokens-spacing-3);font-size:clamp(17px,1.8vw,20px);font-weight:600;line-height:1.35}.case-study-detail-hero-body{color:var(--colors-slate-600);text-wrap:pretty;max-width:62ch;margin:0;font-family:Inter,sans-serif;font-size:16px;line-height:1.65}.case-study-detail-hero-facts{gap:var(--tokens-spacing-5);flex-direction:column;margin:0;padding-top:4px;display:flex}.case-study-detail-hero-fact{flex-direction:column;gap:6px;display:flex}.case-study-detail-hero-fact dt{letter-spacing:.04em;text-transform:uppercase;color:var(--colors-slate-500);font-family:Inter,sans-serif;font-size:12px;font-weight:500}.case-study-detail-hero-fact dd{color:var(--colors-slate-900);margin:0;font-family:Inter,sans-serif;font-size:16px;font-weight:500;line-height:1.4}.case-study-detail-hero-team-list{gap:var(--tokens-spacing-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.case-study-detail-hero-team-list li{color:var(--colors-slate-600);font-family:Inter,sans-serif;font-size:16px;line-height:1.6}.case-study-tag-list{padding-top:var(--tokens-spacing-2);flex-direction:column;gap:16px;display:flex}.case-study-tag-list-title{font-family:var(--font-space-grotesk),"Space Grotesk",sans-serif;letter-spacing:-.01em;color:var(--colors-slate-900);margin:0;font-size:clamp(17px,1.8vw,20px);font-weight:600;line-height:1.35}.case-study-workshop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,40px);display:grid}.case-study-split-rows{gap:var(--tokens-spacing-10);flex-direction:column;display:flex}.case-study-split-row{gap:var(--tokens-spacing-8);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.case-study-image-grid{gap:var(--tokens-spacing-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.case-study-image-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width:900px){.case-study-image-grid--5{grid-template-columns:repeat(2,minmax(0,1fr))}}.case-study-image-grid .case-study-image-block,.case-study-principles-grid .case-study-image-block,.case-study-wireframe-column .case-study-image-block{width:100%}.case-study-image-grid .case-study-image-block-frame--intrinsic,.case-study-principles-grid .case-study-image-block-frame--intrinsic,.case-study-wireframe-column .case-study-image-block-frame--intrinsic{width:100%;max-width:100%}.case-study-wireframe-column .case-study-image-block-img-intrinsic{width:100%;height:auto}.case-study-mobile-grid-wrap{padding:var(--tokens-spacing-6);border-radius:10px}.case-study-mobile-grid{gap:var(--tokens-spacing-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.case-study-mobile-grid-item{border-radius:8px;width:100%;height:auto}@media (max-width:1024px){:root{--page-gutter:clamp(16px,2.41vw + 7.32px,32px)}.portfolio-index-grid{grid-template-columns:1fr}.case-study-card{width:100%;max-width:100%}}@media (max-width:1280px){.case-study-section-grid-3,.case-study-section-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.detail-page-main{padding-top:calc(var(--nav-height) + var(--tokens-spacing-10));padding-bottom:var(--tokens-spacing-12)}:root{--page-gutter:var(--tokens-spacing-6)}.portfolio-index-section{padding-block-start:calc(var(--nav-height) + var(--tokens-spacing-6))}.portfolio-index-inner{margin-block:32px;margin-inline:auto}.case-study-section{padding-block:var(--tokens-spacing-12)}.case-study-detail-hero{padding-bottom:var(--tokens-spacing-12)}.case-study-detail-hero-title{max-width:none}.case-study-detail-hero-meta-grid,.case-study-split-row,.case-study-workshop-grid,.case-study-section-grid,.case-study-section-grid-2,.case-study-section-grid-3,.case-study-section-grid-4,.case-study-image-grid,.case-study-wireframe-columns,.case-study-principles-grid{grid-template-columns:1fr}.case-study-section-title{font-size:clamp(24px,6vw,28px)}.case-study-mobile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-card-title{font-size:24px;line-height:32px}.case-study-card-image-container{aspect-ratio:auto;height:280px}}
