@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/dm-sans-latin-ext-400-normal.BtiwyxMk.woff2) format("woff2"),url(/_astro/dm-sans-latin-ext-400-normal.BjWJ59Pq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/dm-sans-latin-400-normal.CW0RaeGs.woff2) format("woff2"),url(/_astro/dm-sans-latin-400-normal.BwCSEQnW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/dm-sans-latin-ext-500-normal.BJfUCQsA.woff2) format("woff2"),url(/_astro/dm-sans-latin-ext-500-normal.DR84L5F-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/dm-sans-latin-500-normal.B9HHJjqV.woff2) format("woff2"),url(/_astro/dm-sans-latin-500-normal.Dr3UlScf.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/dm-sans-latin-ext-600-normal.4vooXBpG.woff2) format("woff2"),url(/_astro/dm-sans-latin-ext-600-normal.DRtaDpgU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/dm-sans-latin-600-normal.Aqo67rzb.woff2) format("woff2"),url(/_astro/dm-sans-latin-600-normal.BmdmIIQ2.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-ext-400-normal.C2je3j2s.woff2) format("woff2"),url(/_astro/instrument-serif-latin-ext-400-normal.CFCUzsTy.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-normal.DnYpCC2O.woff2) format("woff2"),url(/_astro/instrument-serif-latin-400-normal.BVbkICAY.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-serif: "Instrument Serif", Georgia, "Times New Roman", serif;--font-sans: "DM Sans", system-ui, -apple-system, sans-serif;--color-brand: #352dc4;--color-brand-dark: #2a24a0;--color-logo-mark-dark: #007db7;--color-logo-mark-light: rgb(191, 218, 228);--color-logo-mark: color-mix(in srgb, var(--color-logo-mark-light) 30%, var(--color-logo-mark-dark) 70%);--color-brand-light: #eeedfc;--color-brand-glow: rgba(53, 45, 196, .2);--color-warm: #f86e40;--color-warm-dark: #e05a32;--color-warm-light: #fef0eb;--color-warm-glow: rgba(248, 110, 64, .24);--color-highlight: rgb(255, 254, 236);--color-bold-yellow: #ffe26e;--color-bold-yellow-dark: #e6c85a;--color-nav-link: #ef5b34;--color-green: #00a881;--color-green-dark: #008f6d;--color-green-light: #e6f7f3;--color-work-showcase-gradient: linear-gradient( 180deg, var(--color-logo-mark-light) 0%, rgb(170, 205, 222) 42%, rgb(148, 192, 214) 74%, rgb(126, 178, 206) 100% );--color-dark: #12101f;--color-bg: #fafbff;--color-surface: #ffffff;--color-text: #1e1a35;--color-heading: #1a4d66;--color-text-muted: #4a4563;--color-accent: var(--color-brand);--color-accent-light: var(--color-brand-light);--color-border: #ddd9f0;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--space-2xl: 6rem;--max-width: 72rem;--radius: .5rem}*,*:before,*:after{box-sizing:border-box}html{font-size:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);font-size:1.0625rem;line-height:1.65;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:var(--color-accent);text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{text-decoration:none}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400;line-height:1.15;letter-spacing:-.01em;color:var(--color-heading)}h1{font-size:clamp(2.5rem,6vw,4rem)}h2{font-size:clamp(1.75rem,4vw,2.5rem);margin-top:0}h3{font-size:1.375rem}p{margin:0 0 var(--space-sm)}ul{margin:0 0 var(--space-sm);padding-left:1.25rem}.container{width:min(100% - 2rem,var(--max-width));margin-inline:auto}.u-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{padding:var(--space-md) 0;background:var(--color-surface);position:sticky;top:0;z-index:100;overflow:visible}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.logo{display:inline-flex;align-items:center;flex-shrink:0;min-width:min-content;text-decoration:none;color:var(--color-text)}.logo-mark{display:block;height:3.5rem;width:auto;flex-shrink:0}.logo-text{max-width:0;margin-left:0;overflow:hidden;white-space:nowrap;font-family:var(--font-sans);font-size:1.0625rem;font-weight:600;letter-spacing:-.02em;line-height:1;color:var(--color-logo-mark-dark);opacity:0;transform:translate(-.75rem);transition:max-width .32s cubic-bezier(.4,0,.2,1),margin-left .32s cubic-bezier(.4,0,.2,1),opacity .28s ease,transform .28s cubic-bezier(.4,0,.2,1)}.logo:hover .logo-text,.logo:focus-visible .logo-text{max-width:10rem;margin-left:.75rem;opacity:1;transform:translate(0)}@media(prefers-reduced-motion:reduce){.logo-text{transition:none}}.dot-sep{flex-shrink:0;display:block;width:.35rem;height:.35rem;border-radius:50%;background:color-mix(in srgb,var(--color-nav-link) 45%,white)}.site-nav__list{display:flex;align-items:center;gap:.875rem;list-style:none;margin:0;padding:0}.site-nav__list a{display:inline-block;color:var(--color-text-muted);text-decoration:none;font-size:1.1875rem;font-weight:700;padding:.45rem .9rem;transition:color .22s ease}.site-nav__list a:hover,.site-nav__list a:focus-visible{color:var(--color-nav-link)}.site-nav__list a[aria-current=page]{color:var(--color-nav-link)}.site-nav__list a[aria-current=page]:hover,.site-nav__list a[aria-current=page]:focus-visible{color:var(--color-warm-dark)}.site-nav__toggle{display:none}.site-nav__toggle-bars{position:relative;display:block;width:1.125rem;height:1.125rem}.site-nav__toggle-bars span{position:absolute;left:0;width:100%;height:2px;border-radius:1px;background:var(--color-text);transform-origin:center;transition:top .22s ease,transform .22s ease,opacity .22s ease}.site-nav__toggle-bars span:nth-child(1){top:0}.site-nav__toggle-bars span:nth-child(2){top:50%;transform:translateY(-50%)}.site-nav__toggle-bars span:nth-child(3){top:100%;transform:translateY(-100%)}.site-nav__toggle[aria-expanded=true] .site-nav__toggle-bars span:nth-child(1),.site-nav__toggle[aria-expanded=true] .site-nav__toggle-bars span:nth-child(3){top:50%;transform:translateY(-50%) rotate(45deg)}.site-nav__toggle[aria-expanded=true] .site-nav__toggle-bars span:nth-child(2){opacity:0}.site-nav__toggle[aria-expanded=true] .site-nav__toggle-bars span:nth-child(3){transform:translateY(-50%) rotate(-45deg)}@media(max-width:767px){.site-header .container{flex-wrap:nowrap;align-items:center;position:relative}.logo-mark{height:2.75rem}.site-nav__toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.75rem;height:2.75rem;margin:0;padding:0;border:none;border-radius:var(--radius);background:transparent;color:var(--color-text);cursor:pointer}.site-nav__toggle:hover,.site-nav__toggle:focus-visible{color:var(--color-nav-link);outline:none;box-shadow:0 0 0 3px var(--color-warm-glow)}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;margin-top:.75rem;padding:.5rem 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 12px 32px #12101f1a}.site-nav.is-open{display:block}.site-nav__list{flex-direction:column;align-items:stretch;gap:0;width:100%}.site-nav__list a{display:block;padding:.75rem 1rem;font-size:1.1875rem}}@media(min-width:768px){.site-nav{display:block}}.hero{padding:var(--space-2xl) 0 var(--space-xl)}.page-hero{padding:var(--space-2xl) 0 var(--space-lg)}.page-hero .container{position:relative;padding-top:2.125rem}.page-hero .back-link{position:absolute;top:0;left:0;margin:0}.page-hero .section-label{margin:0 0 var(--space-sm)}.page-hero h1{margin:0;font-family:var(--font-serif);font-size:clamp(2.5rem,5vw,3.75rem);font-weight:400;line-height:1.15;letter-spacing:-.02em;color:var(--color-logo-mark)}@media(min-width:768px){.page-hero .container{--page-hero-title-max: calc((100% - var(--space-xl)) * .82)}.page-hero h1{max-width:var(--page-hero-title-max);margin-bottom:var(--space-lg)}.page-hero .hero-tagline{max-width:var(--page-hero-title-max)}}.hero-home{position:relative;overflow-x:clip;overflow-y:visible;background:var(--color-bg)}.hero-home h1{position:relative;font-family:var(--font-serif);font-size:clamp(3rem,8vw,5.5rem);font-weight:400;line-height:1.02;letter-spacing:-.03em;color:var(--color-logo-mark)}.hero-home--compact{padding-block:var(--space-xl)}.hero-home__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) min(38%,18rem);gap:clamp(var(--space-lg),5vw,var(--space-2xl));align-items:center}.hero-home__photo{position:relative;margin:0;z-index:1;overflow:hidden;border-radius:var(--radius)}.hero-home__photo img{width:100%;aspect-ratio:3 / 4;object-fit:cover;object-position:center 22%;border-radius:0;box-shadow:0 20px 48px #0a0a0a1f}@media(max-width:52rem){.hero-home__grid{grid-template-columns:1fr}.hero-home__photo{max-width:16rem}}.hero-tagline{font-family:var(--font-sans);font-size:clamp(1.375rem,3vw,2rem);font-weight:400;line-height:1.35;color:var(--color-text-muted);max-width:40rem;margin-top:var(--space-md)}.page-hero .hero-tagline{max-width:none}.section{padding:var(--space-xl) 0}.section-label{font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-heading);margin-bottom:var(--space-sm)}.section-accent{background:linear-gradient(135deg,#12101f,#2a24a0);color:#fff;border-top:none}.section-accent .section-label{color:var(--color-highlight)}.section-accent h2{color:#fff}.section-accent a{color:var(--color-highlight)}.contact-lead{font-size:clamp(1.125rem,2.5vw,1.375rem);margin:0}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:var(--space-md);margin:var(--space-lg) 0}.case-study-content .stats-row{margin:calc(-1 * var(--space-md)) 0 var(--space-xl);padding:var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.stats-row--home{margin:var(--space-xl) 0 var(--space-lg);padding:var(--space-md) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.stat-block{padding:var(--space-sm) 0}.stat-value{font-family:var(--font-sans);font-size:clamp(2rem,5vw,3.25rem);font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--color-brand);margin:0 0 .35rem}.case-study-content .stat-value{color:var(--case-study-accent, var(--color-brand))}.stat-label{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0}.outcome-banner{width:100vw;margin:var(--space-xl) calc(50% - 50vw);padding:clamp(2.5rem,8vw,5rem) var(--space-md);color:#fff;text-align:center}.outcome-label{font-family:var(--font-sans);font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;margin:0 0 var(--space-sm);opacity:.9}.outcome-text{font-family:var(--font-sans);font-size:clamp(2.25rem,7vw,4.5rem);font-weight:700;line-height:1.05;letter-spacing:-.03em;margin:0;max-width:20ch;margin-inline:auto}.case-study-grid{display:grid;gap:var(--space-md);grid-template-columns:1fr}@media(min-width:640px){.case-study-grid{grid-template-columns:repeat(2,1fr)}}.case-study-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-lg);text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:var(--space-sm);transition:border-color .2s,box-shadow .2s,transform .2s;border-top:3px solid var(--color-warm)}.case-study-card:hover{border-color:var(--color-warm);border-top-color:var(--color-warm);box-shadow:0 12px 40px var(--color-warm-glow);transform:translateY(-2px)}.case-study-card h3{margin:0}.case-study-card p{color:var(--color-text-muted);font-size:.9375rem;margin:0;flex:1}.case-study-card .read-more{font-size:.875rem;font-weight:600;color:var(--color-brand)}.case-study-hero{position:relative;border-bottom:1px solid var(--color-border);overflow:hidden}.case-study-hero-bg{position:absolute;inset:0;background:linear-gradient(120deg,var(--color-brand-light) 0%,transparent 45%);pointer-events:none}.case-study-hero .container{position:relative}.case-study-meta{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-md);margin-top:var(--space-md);font-size:.875rem;color:var(--color-text-muted)}.case-study-meta span{display:inline-flex;align-items:center;gap:.35rem}.case-study-content{padding:var(--space-xl) 0}.case-study-content h2{margin:var(--space-lg) 0 var(--space-sm)}.case-study-content .case-study-section{padding-top:33px}.case-study-content .case-study-section h2,.case-study-content h2:first-child{margin-top:0}.challenge-solution{display:grid;gap:var(--space-md);margin:var(--space-lg) 0}@media(max-width:767px){.case-study-hero.page-hero{padding-bottom:0}.case-study-meta{padding-bottom:20px}.case-study-content{padding-top:20px;padding-bottom:var(--space-xl)}.case-study-content .challenge-solution{margin:0 0 20px}.case-study-content .outcome-banner{margin:0 calc(50% - 50vw) 20px}.case-study-content .stats-row{margin:0 0 20px}.case-study-content .case-study-teams{margin:0 0 var(--space-xl)}.case-study-content .case-study-teams h2{margin-top:0}}@media(min-width:640px){.challenge-solution{grid-template-columns:1fr 1fr}}.challenge-solution>div{background:var(--color-brand-light);border-radius:var(--radius);padding:var(--space-md);border-left:4px solid var(--color-brand)}.case-study-content .challenge-solution>div{border-left-color:var(--case-study-accent, var(--color-brand))}.challenge-solution h2{font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-heading);margin:0 0 var(--space-xs);font-family:var(--font-sans)}.case-study-teams{margin:var(--space-lg) 0 var(--space-xl)}.team-grid{display:grid;gap:var(--space-md)}@media(min-width:640px){.team-grid{grid-template-columns:repeat(3,1fr)}}.team-block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-md)}.team-block h3{font-family:var(--font-sans);font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-heading);margin:0 0 var(--space-xs)}.team-block p{margin:0;font-size:.9375rem;color:var(--color-text-muted)}.case-study-screenshots{margin:var(--space-xl) 0}.case-study-screenshots .container{margin-bottom:var(--space-md)}.screenshots-intro{color:var(--color-text-muted);max-width:40rem;margin-bottom:0}.screenshot-grid{display:grid;gap:var(--space-md);grid-template-columns:1fr;width:100%;padding-inline:1rem}@media(min-width:640px){.screenshot-grid{grid-template-columns:repeat(2,1fr)}}.screenshot-grid>:only-child{grid-column:1 / -1}.screenshot-card{margin:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;content-visibility:auto;contain-intrinsic-size:auto 320px}.screenshot-card:not(.scroll-screenshot) img{width:100%;aspect-ratio:16 / 10;object-fit:cover;object-position:top}.scroll-screenshot{margin:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;outline:none}.scroll-screenshot:focus-visible{box-shadow:0 0 0 3px var(--color-brand-glow);border-color:var(--color-brand)}.scroll-screenshot__viewport{aspect-ratio:16 / 10;overflow:hidden;background:var(--color-dark);contain:layout style paint}.scroll-screenshot__image{width:100%;height:auto;max-width:none;object-fit:contain;object-position:top;display:block;vertical-align:top;will-change:transform}.scroll-screenshot.is-scrollable .scroll-screenshot__viewport{cursor:s-resize}.scroll-screenshot figcaption,.screenshot-card figcaption{padding:var(--space-sm) var(--space-md);font-size:.875rem;font-weight:500;color:var(--color-text)}.section-figure.scroll-screenshot figcaption{color:var(--color-text-muted);border-top:1px solid var(--color-border)}.section-figure{margin:var(--space-md) 0 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.section-figure img{width:100%;height:auto;display:block;vertical-align:top}.section-figure figcaption{padding:var(--space-sm) var(--space-md);font-size:.875rem;color:var(--color-text-muted);border-top:1px solid var(--color-border)}.resume-grid{display:grid;gap:var(--space-xl)}.experience-heading{margin:0 0 var(--space-lg);font-size:clamp(1.75rem,4vw,2.5rem)}.experience-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:var(--space-lg)}.experience-filters__button{padding:.55rem 1rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-muted);font-family:var(--font-sans);font-size:1.1875rem;font-weight:700;line-height:1.2;cursor:pointer;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.experience-filters__button:hover,.experience-filters__button:focus-visible{color:var(--color-text);border-color:var(--color-warm);outline:none}.experience-filters__button.is-active{border-color:var(--color-nav-link);background:var(--color-nav-link);color:#fff}.experience-filters__button.is-active:hover,.experience-filters__button.is-active:focus-visible{border-color:var(--color-warm-dark);background:var(--color-warm-dark);color:#fff}.experience-industries{padding-bottom:var(--space-2xl)}.experience-industries__grid{display:grid;gap:var(--space-lg)}@media(min-width:640px){.experience-industries__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.experience-industries__grid{grid-template-columns:repeat(3,1fr)}}.experience-industry h3{font-family:var(--font-sans);font-size:1rem;font-weight:700;color:var(--color-heading);margin:0 0 var(--space-sm)}.experience-client{position:relative;display:inline}.experience-client__trigger{display:inline;padding:0;border:0;border-bottom:1px dotted var(--color-text-muted);background:none;font:inherit;color:inherit;cursor:help;text-align:left}.experience-client__trigger:hover,.experience-client__trigger:focus-visible{color:var(--color-warm-dark);border-bottom-color:var(--color-warm);outline:none}.experience-client__tooltip{position:absolute;left:0;bottom:calc(100% + .5rem);z-index:20;width:max-content;max-width:min(18rem,70vw);padding:.5rem .75rem;border-radius:var(--radius);background:var(--color-dark);color:#fff;font-size:.8125rem;line-height:1.45;font-weight:400;box-shadow:0 8px 24px #0a0a0a2e;opacity:0;visibility:hidden;transform:translateY(.25rem);transition:opacity .15s ease,transform .15s ease,visibility .15s ease;pointer-events:none}.experience-client__tooltip a{color:var(--color-brand)}.experience-client__tooltip a:hover{color:#fff}.experience-client:hover .experience-client__tooltip,.experience-client:focus-within .experience-client__tooltip{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}@media(min-width:768px){.resume-grid{grid-template-columns:2fr 1fr}}.experience-item{padding-bottom:var(--space-md);margin-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.experience-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.experience-item h3{margin:0 0 .25rem;font-family:var(--font-sans);font-weight:600;font-size:1.0625rem}.experience-item .meta{font-size:.875rem;color:var(--color-text-muted);margin-bottom:var(--space-xs)}.sidebar-block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-md);margin-bottom:var(--space-md)}.sidebar-block h3{font-family:var(--font-sans);font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.035em;color:var(--color-heading);margin:0 0 var(--space-sm)}.skill-list{list-style:none;padding:0;margin:0;font-size:.9375rem}.skill-list li{padding:.25rem 0;color:var(--color-text-muted)}.sidebar-block .skill-list{display:flex;flex-direction:column;gap:.625rem}.sidebar-block .skill-list li{padding:0;line-height:1.32;letter-spacing:-.015em}.site-footer{padding:var(--space-lg) 0;border-top:1px solid var(--color-border);font-size:1.1875rem;color:var(--color-text-muted)}.site-footer .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm)}.site-footer__copyright{margin:0}.site-footer__links{display:flex;align-items:center;gap:.875rem;margin:0}.site-footer a{color:var(--color-nav-link);font-weight:700}.site-footer a:hover,.site-footer a:focus-visible{color:var(--color-warm-dark)}.back-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;font-weight:500;text-decoration:none}.back-link:hover{text-decoration:underline}.btn{display:inline-block;padding:.75rem 1.5rem;background:var(--color-brand);color:#fff;text-decoration:none;border-radius:var(--radius);font-weight:600;font-size:.9375rem;transition:background .2s,transform .2s}.btn:hover{background:var(--color-brand-dark);color:#fff;transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--color-brand);border:2px solid var(--color-brand)}.btn-outline:hover{background:var(--color-highlight);color:var(--color-brand);border-color:var(--color-bold-yellow-dark)}.cta-row{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-lg)}.work-intro{max-width:40rem;color:var(--color-text-muted);margin-bottom:var(--space-lg)}.industry-grid{display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}.industry-block h3{font-family:var(--font-sans);font-size:.9375rem;font-weight:600;margin:0 0 var(--space-xs)}.industry-block ul{font-size:.875rem;color:var(--color-text-muted);margin:0}.experience-section{background:var(--color-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.experience-companies{list-style:none;margin:var(--space-lg) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-md)}.experience-company{display:grid;grid-template-columns:auto 1fr;gap:var(--space-md);align-items:center;padding:var(--space-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);transition:border-color .2s ease,box-shadow .2s ease}.experience-company:hover{border-color:var(--color-warm);box-shadow:0 8px 32px var(--color-warm-glow)}.experience-company__logo{display:flex;align-items:center;justify-content:flex-start;flex-shrink:0;padding:0;background:transparent;border:none;overflow:visible}.experience-company__logo--wide{width:5.75rem;height:5.75rem}.experience-company__logo--tall{width:5.75rem;height:5.5rem}.experience-company__logo--square,.experience-company__logo--compact{width:5.75rem;height:5.75rem}.experience-company__logo img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:left center}.experience-company__logo--wide img{width:auto;height:3.5rem;max-width:100%;max-height:none}.experience-company__logo--tall img{width:auto;height:100%;max-width:none;margin-left:1.1rem}.experience-company__logo--compact img{width:auto;height:2.75rem;max-width:none;max-height:none;margin-left:.08rem}.experience-company__body h3{font-family:var(--font-sans);font-size:1.25rem;font-weight:700;color:var(--color-heading);margin:0 0 .35rem;letter-spacing:-.02em}.experience-company__body .experience-company__dates{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:var(--color-text-muted);letter-spacing:.02em;line-height:1.4;max-width:none}.experience-company__body p:not(.experience-company__dates){margin:0;color:var(--color-text-muted);font-size:1rem;line-height:1.6;max-width:40rem}.experience-companies--resume{margin:0 0 var(--space-xl);gap:0}.experience-companies--resume .experience-company:first-child{padding-top:0}.experience-companies--resume .experience-company{padding:var(--space-md) 0;background:transparent;border:none;border-radius:0;transition:none}.experience-companies--resume .experience-company__body h3{color:var(--color-text-muted)}.experience-companies--resume .experience-company+.experience-company{border-top:1px solid #e4e2ea}.experience-companies--resume .experience-company+.experience-company:hover{border-top:1px solid #e4e2ea}.experience-companies--resume .experience-company:hover{box-shadow:none}@media(min-width:768px){.experience-company{grid-template-columns:6.75rem 1fr;gap:var(--space-md);padding:var(--space-lg)}.experience-companies--resume .experience-company{padding:var(--space-lg) 0}.experience-companies--resume .experience-company:first-child{padding-top:0}.experience-company__logo--wide{width:6.25rem;height:6.25rem}.experience-company__logo--wide img{height:4rem}.experience-company__logo--tall{width:6.25rem;height:6rem}.experience-company__logo--tall img{margin-left:1.2rem}.experience-company__logo--square,.experience-company__logo--compact{width:6.25rem;height:6.25rem}.experience-company__logo--compact img{height:3.05rem;margin-left:.05rem}.experience-company__body h3{font-size:1.375rem}}.resume-download{margin:var(--space-md) 0 0}.resume-download .btn{background:var(--color-nav-link);font-size:1.1875rem;font-weight:700}.resume-download .btn:hover{background:var(--color-warm-dark);color:#fff}.work-cover{--work-cover-logo-max: 60%;position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden}.work-cover__logo{display:block;width:auto;height:auto;max-width:var(--work-cover-logo-max);max-height:var(--work-cover-logo-max-height, 58%);object-fit:contain;filter:drop-shadow(0 2px 10px rgba(0,0,0,.28))}.work-cover__logo--knockout{mix-blend-mode:screen;filter:drop-shadow(0 2px 10px rgba(0,0,0,.28))}.work-showcase{position:relative;padding:var(--space-md) 0 var(--space-2xl);background:var(--color-work-showcase-gradient)}.work-showcase .container{position:relative;z-index:1}.work-showcase__header{margin-bottom:var(--space-md)}.work-showcase .section-label{color:var(--color-heading)}.work-showcase__heading{margin:0;color:var(--color-heading)}.work-showcase__list{list-style:none;margin:0;padding:0}.work-showcase__item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-md);padding:clamp(1.25rem,3vw,2rem) 0;border-bottom:.5px solid rgba(42,36,160,.16);text-decoration:none;color:inherit;transition:color .25s ease,padding-left .25s ease}.work-showcase__item:first-child{border-top:none}.work-showcase__item.is-active,.work-showcase__item:hover,.work-showcase__item:focus-visible{color:var(--color-nav-link);padding-left:.5rem;outline:none}.work-showcase__index{font-family:var(--font-sans);font-size:.875rem;font-weight:700;letter-spacing:.08em;color:var(--color-nav-link);min-width:2rem}.work-showcase__item.is-active .work-showcase__index,.work-showcase__item:hover .work-showcase__index,.work-showcase__item:focus-visible .work-showcase__index{color:var(--color-warm-dark)}.work-showcase__text{display:flex;flex-direction:column;gap:.25rem;min-width:0}.work-showcase__client{font-family:var(--font-sans);font-size:clamp(1.75rem,5vw,3.5rem);font-weight:600;line-height:.95;letter-spacing:-.03em;color:var(--color-brand-dark)}.work-showcase__item.is-active .work-showcase__client,.work-showcase__item:hover .work-showcase__client,.work-showcase__item:focus-visible .work-showcase__client{color:var(--color-nav-link)}.work-showcase__title{font-size:clamp(.9375rem,2vw,1.125rem);line-height:1.35;color:#2a24a0b8;font-weight:500}.work-showcase__item.is-active .work-showcase__title,.work-showcase__item:hover .work-showcase__title,.work-showcase__item:focus-visible .work-showcase__title{color:var(--color-nav-link)}.work-showcase__arrow{font-size:1.5rem;opacity:0;transform:translate(-.5rem);transition:opacity .25s ease,transform .25s ease;color:var(--color-nav-link)}.work-showcase__item.is-active .work-showcase__arrow,.work-showcase__item:hover .work-showcase__arrow,.work-showcase__item:focus-visible .work-showcase__arrow{opacity:1;transform:translate(0);color:var(--color-nav-link)}@media(hover:none),(pointer:coarse){.work-showcase__arrow{opacity:1;transform:none}}.work-showcase__aside{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;text-align:right}.work-showcase__meta-line{font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#2a24a09e;white-space:nowrap}.work-showcase__item.is-active .work-showcase__meta-line,.work-showcase__item:hover .work-showcase__meta-line,.work-showcase__item:focus-visible .work-showcase__meta-line{color:var(--color-nav-link)}.work-showcase__footer{margin:var(--space-lg) 0 0;padding-top:var(--space-md);border-top:1px solid rgba(42,36,160,.16)}.work-showcase__see-all{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-sans);font-size:1.125rem;font-weight:600;text-decoration:none;color:var(--color-brand-dark)}.work-showcase__see-all:hover,.work-showcase__count{color:var(--color-nav-link)}.videos-page__intro{max-width:42rem;margin:var(--space-md) 0 0;color:var(--color-text-muted);font-size:1.125rem;line-height:1.6}.videos-page__content{padding-top:0}.videos-page__divider{margin:var(--space-xl) 0;border:0;border-top:1px solid var(--color-border)}.videos-section__title{margin:0 0 var(--space-md);font-size:1.5rem}.video-grid{display:grid;gap:var(--space-md);grid-template-columns:1fr}@media(min-width:640px){.video-grid--two,.video-grid--three{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.video-grid--three{grid-template-columns:repeat(3,1fr)}}.work-page__content{padding-bottom:0}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0}.work-grid__card{position:relative;display:block;overflow:hidden;aspect-ratio:4 / 3;text-decoration:none;color:#fff;background:var(--color-dark)}.work-grid__card:nth-child(4n+2),.work-grid__card:nth-child(4n+3){aspect-ratio:1 / 1}.work-grid__card:nth-child(4n+3){margin-top:-25%}.work-grid__cover{position:absolute;inset:0;transition:transform .45s ease,filter .45s ease}.work-grid__overlay{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;gap:.5rem;padding:clamp(1.25rem,3vw,3rem);background:linear-gradient(0deg,#000000b8,#00000026 55%,#0000);opacity:0;transition:opacity .35s ease}.work-grid__title{margin:0;font-family:var(--font-sans);font-size:clamp(1.375rem,2.5vw,2rem);font-weight:400;line-height:1.1;letter-spacing:-.02em;color:#fff}.work-grid__tagline{margin:0;font-family:var(--font-sans);font-size:clamp(.875rem,1.5vw,1.0625rem);font-weight:400;line-height:1.45;color:#ffffffe0;max-width:28rem}@media(hover:hover){.work-grid__card:hover .work-grid__cover,.work-grid__card:focus-visible .work-grid__cover{transform:scale(1.05);filter:brightness(.88)}.work-grid__card:hover .work-grid__overlay,.work-grid__card:focus-visible .work-grid__overlay{opacity:1}}@media(hover:none){.work-grid__overlay{opacity:1}}@media(max-width:767px){.work-grid{grid-template-columns:1fr}.work-grid__card,.work-grid__card:nth-child(4n+2),.work-grid__card:nth-child(4n+3){aspect-ratio:4 / 3;margin-top:0}.work-grid__overlay{opacity:1}.work-page .work-grid__title{display:none}.work-page .work-grid__overlay{gap:0}}@media(prefers-reduced-motion:reduce){.work-grid__cover,.work-grid__overlay{transition:none}.work-grid__card:hover .work-grid__cover,.work-grid__card:focus-visible .work-grid__cover{transform:none}}::view-transition-old(main-content),::view-transition-new(main-content){animation-duration:.26s}::view-transition-group(main-content){animation-duration:.26s}::view-transition-group(site-header),::view-transition-group(site-footer){animation-duration:.26s}main{isolation:isolate}.scroll-reveal{opacity:0;transform:translateY(1.25rem);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay, 0ms)}.scroll-reveal.is-revealed{opacity:1;transform:none}.hero-home__text h1,.hero-home__text .hero-tagline,.hero-home__photo,.page-hero .section-label,.page-hero h1,.page-hero .hero-tagline,.videos-page__intro,.case-study-meta>span{opacity:1}@media(prefers-reduced-motion:reduce){.scroll-reveal,.scroll-reveal.is-revealed{opacity:1;transform:none;transition:none}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}main[data-astro-cid-wkvvnwgq].videos-page{isolation:auto}.video-embed[data-astro-cid-wkvvnwgq]{position:relative;display:block;width:100%;overflow:hidden}.video-embed[data-astro-cid-wkvvnwgq]:before{display:block;content:"";padding-top:56.25%}.video-embed[data-astro-cid-wkvvnwgq] iframe[data-astro-cid-wkvvnwgq]{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
