*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);color:var(--color-text-primary)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}p{line-height:var(--leading-relaxed)}a{color:var(--color-accent-primary);text-decoration:none;transition:color var(--duration-fast) var(--easing-default)}a:hover{color:var(--color-text-primary)}a:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:4px;border-radius:2px}a{touch-action:manipulation}img{max-width:100%;height:auto;display:block}button{font-family:inherit;font-size:inherit;border:none;background:none;cursor:pointer;color:inherit;touch-action:manipulation}button:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:4px;border-radius:2px}ul,ol{list-style:none}::selection{background-color:var(--color-accent-light);color:var(--color-text-primary)}*:focus{outline:none}*:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:4px}.container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding-left:var(--content-padding-mobile);padding-right:var(--content-padding-mobile)}@media(min-width:768px){.container{padding-left:var(--content-padding-tablet);padding-right:var(--content-padding-tablet)}}@media(min-width:1024px){.container{padding-left:var(--content-padding-desktop);padding-right:var(--content-padding-desktop)}}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-accent-primary);color:#fff;padding:.5rem 1rem;text-decoration:none;z-index:100}.skip-link:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:root{--color-bg-primary: #FAFAF9;--color-bg-secondary: #F5F5F4;--color-text-primary: #1C1917;--color-text-secondary: #57534E;--color-text-tertiary: #A8A29E;--color-accent-primary: #C2410C;--color-accent-light: #FED7AA;--color-accent-subtle: #FFF7ED;--color-border-light: #E7E5E4;--color-border-subtle: #F5F5F4;--color-surface: #FFFFFF;--color-nav-bg: rgba(250, 250, 249, .95);--color-canvas-bg: #FAF9F7;--color-canvas-grid: rgba(194, 65, 12, .06);--color-canvas-grid-strong: rgba(194, 65, 12, .12);--color-canvas-dot: rgba(194, 65, 12, .15);--color-canvas-stroke: rgba(194, 65, 12, .4);--color-canvas-vignette: rgba(250, 249, 247, .4);--color-timeline-pulse: #FF3008;--font-display: "Outfit", sans-serif;--font-body: "Inter", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-weight-black: 900;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--space-2xl: 5rem;--space-3xl: 6rem;--container-max-width: 1200px;--content-padding-mobile: 1.5rem;--content-padding-tablet: 3rem;--content-padding-desktop: 4rem;--nav-height: 60px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--duration-fast: .2s;--duration-normal: .4s;--duration-slow: .6s;--easing-default: cubic-bezier(.4, 0, .2, 1);--easing-in: cubic-bezier(.4, 0, 1, 1);--easing-out: cubic-bezier(0, 0, .2, 1);--shadow-subtle: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 8px rgba(0, 0, 0, .1)}[data-theme=dark]{--color-bg-primary: #0F0F12;--color-bg-secondary: #1A1A1F;--color-text-primary: #F5F5F4;--color-text-secondary: #A8A29E;--color-text-tertiary: #78716C;--color-accent-primary: #EA580C;--color-accent-light: #431407;--color-accent-subtle: #1C0A04;--color-border-light: #2A2A30;--color-border-subtle: #1F1F24;--color-surface: #1A1A1F;--color-nav-bg: rgba(15, 15, 18, .95);--color-canvas-bg: #0D1117;--color-canvas-grid: rgba(234, 88, 12, .08);--color-canvas-grid-strong: rgba(234, 88, 12, .15);--color-canvas-dot: rgba(234, 88, 12, .2);--color-canvas-stroke: rgba(234, 88, 12, .5);--color-canvas-vignette: rgba(13, 17, 23, .5);--color-timeline-pulse: #FF4D2A;--shadow-subtle: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 8px rgba(0, 0, 0, .3)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.fade-in-view{opacity:0;transition:opacity var(--duration-slow) var(--easing-default),transform var(--duration-slow) var(--easing-default)}.fade-in-view--visible{opacity:1;animation:fadeInUp var(--duration-slow) var(--easing-default)}.transition-colors{transition:color var(--duration-fast) var(--easing-default),background-color var(--duration-fast) var(--easing-default)}.transition-transform{transition:transform var(--duration-normal) var(--easing-default)}.transition-opacity{transition:opacity var(--duration-normal) var(--easing-default)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}.theme-toggle{position:relative;width:36px;height:36px;border:none;background:none;cursor:pointer;color:#a8a29e;border-radius:8px;transition:color .2s ease,background-color .2s ease;display:flex;align-items:center;justify-content:center}.theme-toggle:hover{color:#f5f5f4;background-color:#ffffff1a}.theme-toggle:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.theme-toggle__icon{position:absolute;width:20px;height:20px;opacity:0;transform:scale(.5) rotate(-90deg);transition:opacity .3s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}.theme-toggle__icon--visible{opacity:1;transform:scale(1) rotate(0)}.theme-toggle__icon svg{width:100%;height:100%}.navigation{position:fixed;top:0;left:0;right:0;height:var(--nav-height);background-color:#0f0f12f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);z-index:1000;transition:background-color var(--duration-fast) var(--easing-default)}.navigation__container{max-width:var(--container-max-width);height:100%;margin:0 auto;padding:0 var(--content-padding-mobile);display:flex;align-items:center;justify-content:space-between}.navigation__brand{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-medium);color:#f5f5f4;text-decoration:none;opacity:0;transform:scale(.95);pointer-events:none;transition:opacity .5s ease-out,transform .6s cubic-bezier(.34,1.56,.64,1),color .2s ease;position:relative;display:flex;align-items:center;gap:.5em}.navigation__brand--visible{opacity:1;transform:scale(1);pointer-events:auto}.navigation__avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;opacity:.8;transition:opacity .2s ease,transform .2s ease}.navigation__brand:hover .navigation__avatar{opacity:1;transform:scale(1.05)}.navigation__brand:hover{color:#ea580c}.navigation__actions{display:flex;align-items:center;gap:var(--space-md)}.navigation__links{display:flex;gap:var(--space-lg);list-style:none;margin:0;padding:0}.navigation__link{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-decoration:none;transition:color var(--duration-fast) var(--easing-default);position:relative;padding:.25em 0}.navigation__link:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:var(--color-accent-primary);transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.4,0,.2,1)}.navigation__link:hover{color:var(--color-text-primary)}.navigation__link:hover:after{transform:scaleX(1);transform-origin:left}.navigation__link--active{color:var(--color-accent-primary)}.navigation__link--active:after{transform:scaleX(1)}.navigation__link:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:4px;border-radius:2px}.navigation__progress{position:absolute;bottom:0;left:0;height:2px;background:linear-gradient(90deg,var(--color-accent-primary),var(--color-accent-light));transition:width .1s ease-out}@media(min-width:768px){.navigation__container{padding:0 var(--content-padding-tablet)}.navigation__links{gap:var(--space-xl)}}@media(min-width:1024px){.navigation__container{padding:0 var(--content-padding-desktop)}}@media(max-width:640px){.navigation__brand{font-size:var(--text-sm);line-height:1.15;max-width:110px;text-align:left}.navigation__links{gap:var(--space-md)}.navigation__link{font-size:var(--text-sm)}}@media(max-width:380px){.navigation__brand{font-size:var(--text-sm);max-width:100px}}.login-modal__overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-md);animation:overlay-fade-in .2s ease-out;will-change:opacity,background}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.login-modal{background:var(--color-surface);border-radius:12px;padding:var(--space-xl);width:100%;max-width:400px;position:relative;animation:modal-slide-up .3s cubic-bezier(.34,1.56,.64,1);will-change:transform,opacity;transform:translateZ(0)}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-modal__close{position:absolute;top:var(--space-sm);right:var(--space-sm);width:32px;height:32px;border:none;background:none;cursor:pointer;color:var(--color-text-tertiary);transition:color .2s ease;display:flex;align-items:center;justify-content:center;border-radius:4px}.login-modal__close:hover{color:var(--color-text-primary)}.login-modal__close svg{width:20px;height:20px}.login-modal__icon{width:56px;height:56px;margin:0 auto var(--space-md);background-color:var(--color-bg-secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.login-modal__icon svg{width:28px;height:28px}.login-modal__lock{filter:drop-shadow(2px 2px 0 rgba(0,0,0,.15))}.login-modal__icon-check{color:#22c55e}.login-modal__icon--animating{perspective:200px;overflow:visible}.login-modal__icon--animating .login-modal__lock{animation:lock-spin .8s cubic-bezier(.34,1.56,.64,1) forwards;transform-style:preserve-3d;will-change:transform}@keyframes lock-spin{0%{transform:rotateY(0) scale(1)}50%{transform:rotateY(180deg) scale(1.1)}to{transform:rotateY(360deg) scale(1)}}.login-modal__icon--success .login-modal__shackle{animation:shackle-unlock .4s ease-out 1s forwards;transform-origin:17px 7px}@keyframes shackle-unlock{0%{transform:translateY(0) rotate(0)}40%{transform:translateY(-3px) rotate(0)}to{transform:translateY(-4px) rotate(-30deg)}}.login-modal__icon--error{animation:lock-shake .5s ease-in-out}.login-modal__icon--error .login-modal__lock{color:#ef4444}@keyframes lock-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.login-modal__rainbow{position:absolute;top:50%;left:50%;width:20px;height:20px;border-radius:50%;transform:translate(-50%,-50%) translateZ(0);pointer-events:none;background:conic-gradient(red,#ff8c00,#ff0,#0f0,#09f,#90f,red);animation:rainbow-burst .4s ease-out forwards;will-change:transform,opacity}@keyframes rainbow-burst{0%{transform:translate(-50%,-50%) scale(.5);opacity:1}60%{opacity:.9}to{transform:translate(-50%,-50%) scale(6);opacity:0}}.login-modal__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-align:center;margin:0 0 var(--space-xs) 0}.login-modal__description{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center;margin:0 0 var(--space-lg) 0;line-height:var(--leading-normal)}.login-modal__form{display:flex;flex-direction:column;gap:var(--space-md)}.login-modal__input-wrapper{position:relative}.login-modal__input{width:100%;padding:var(--space-sm) var(--space-md);font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);background-color:var(--color-bg-secondary);border:2px solid transparent;border-radius:8px;outline:none;transition:border-color .2s ease,background-color .2s ease;box-sizing:border-box}.login-modal__input::placeholder{color:var(--color-text-tertiary)}.login-modal__input:focus{border-color:var(--color-accent-primary);background-color:var(--color-surface)}.login-modal__input--error{border-color:#ef4444;background-color:#fef2f2}.login-modal__input:disabled{opacity:.7;cursor:not-allowed}.login-modal__error{font-family:var(--font-body);font-size:var(--text-sm);color:#ef4444;margin:var(--space-xs) 0 0 0;animation:error-shake .4s ease}@keyframes error-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.login-modal__rainbow-text{font-weight:700;background:linear-gradient(90deg,red,#ff8c00,#ff0,#0f0,#09f,#90f,red);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:rainbow-cycle 2s linear infinite}@keyframes rainbow-cycle{0%{background-position:0% center}to{background-position:200% center}}.login-modal__email-link{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);margin-top:var(--space-md);padding:var(--space-sm);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-decoration:none;border-radius:8px;transition:color .2s ease,background-color .2s ease}.login-modal__email-link:hover{color:var(--color-accent-primary);background-color:var(--color-bg-secondary)}.login-modal__email-link svg{width:18px;height:18px}.login-modal__submit{width:100%;padding:var(--space-sm) var(--space-md);font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-weight-semibold);color:#fff;background-color:var(--color-accent-primary);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease,transform .2s ease;display:flex;align-items:center;justify-content:center;min-height:48px}.login-modal__submit:hover:not(:disabled){background-color:#a73509;transform:translateY(-1px)}.login-modal__submit:active:not(:disabled){transform:translateY(0)}.login-modal__submit:disabled{opacity:.7;cursor:not-allowed}.login-modal__spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spinner-rotate .8s linear infinite}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-modal__overlay--success{background:linear-gradient(135deg,#6366f1e6,#a855f7e6,#ec4899e6,#fb923ce6);background-size:400% 400%;animation:celebration-gradient 3s ease infinite}@keyframes celebration-gradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.login-modal__celebration{position:absolute;inset:0;overflow:hidden;pointer-events:none}.login-modal__rays{position:absolute;top:50%;left:50%;width:200vmax;height:200vmax;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,transparent 0deg,rgba(255,255,255,.1) 10deg,transparent 20deg,transparent 30deg,rgba(255,255,255,.1) 40deg,transparent 50deg,transparent 60deg,rgba(255,255,255,.08) 70deg,transparent 80deg,transparent 90deg);animation:rays-rotate 20s linear infinite}@keyframes rays-rotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.login-modal__particles{position:absolute;inset:0}.login-modal__particle{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;opacity:0;animation:particle-float 2s ease-out forwards;animation-delay:calc(var(--i) * .1s)}.login-modal__particle:nth-child(odd){background:#fbbf24}.login-modal__particle:nth-child(3n){background:#a78bfa;width:6px;height:6px}.login-modal__particle:nth-child(1){left:50%;top:50%}.login-modal__particle:nth-child(2){left:45%;top:45%}.login-modal__particle:nth-child(3){left:55%;top:45%}.login-modal__particle:nth-child(4){left:40%;top:50%}.login-modal__particle:nth-child(5){left:60%;top:50%}.login-modal__particle:nth-child(6){left:45%;top:55%}.login-modal__particle:nth-child(7){left:55%;top:55%}.login-modal__particle:nth-child(8){left:35%;top:45%}.login-modal__particle:nth-child(9){left:65%;top:45%}.login-modal__particle:nth-child(10){left:35%;top:55%}.login-modal__particle:nth-child(11){left:65%;top:55%}.login-modal__particle:nth-child(12){left:50%;top:40%}@keyframes particle-float{0%{opacity:1;transform:translate(-50%,-50%) scale(0)}50%{opacity:1}to{opacity:0;transform:translate(calc(-50% + (var(--i) - 6) * 30px),calc(-50% - 100px)) scale(1)}}.login-modal--success{background:transparent;box-shadow:none;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.login-modal--success .login-modal__title,.login-modal--success .login-modal__description{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3)}.login-modal--success .login-modal__icon{width:120px;height:140px;padding-top:20px;background:transparent;margin-bottom:var(--space-lg);overflow:visible}.login-modal--success .login-modal__icon svg{width:80px;height:80px;overflow:visible}.login-modal__glow{position:absolute;inset:-40px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.8) 0%,rgba(251,191,36,.6) 30%,rgba(251,191,36,.3) 50%,transparent 70%);animation:glow-pulse 1s ease-in-out infinite}@keyframes glow-pulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.3);opacity:1}}.login-modal__icon--success .login-modal__lock{color:#fff;filter:drop-shadow(0 0 20px rgba(255,255,255,.9)) drop-shadow(0 0 40px rgba(251,191,36,.6));animation:lock-success-spin .8s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes lock-success-spin{0%{transform:rotateY(0) scale(1)}50%{transform:rotateY(180deg) scale(1.3)}to{transform:rotateY(360deg) scale(1.2)}}.login-modal__icon--success .login-modal__shackle{animation:shackle-unlock-success .6s ease-out .6s forwards;transform-origin:17px 7px}@keyframes shackle-unlock-success{0%{transform:translateY(0) rotate(0)}30%{transform:translateY(-2px) rotate(0)}60%{transform:translateY(-5px) rotate(-15deg)}to{transform:translateY(-6px) rotate(-35deg)}}@media(max-width:480px){.login-modal{padding:var(--space-lg)}.login-modal__title{font-size:var(--text-xl)}}.video-background{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0}.video-background__canvas{width:100%;height:100%;display:block}.hero{min-height:calc(15vh - 60px);display:flex;align-items:center;justify-content:center;padding:var(--space-xs) var(--content-padding-mobile);margin-top:var(--nav-height);position:relative;overflow:hidden}.hero__content{text-align:center;opacity:0;transform:translateY(20px);transition:opacity var(--duration-slow) var(--easing-default),transform var(--duration-slow) var(--easing-default);position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.hero__avatar{width:100px;height:100px;border-radius:50%;overflow:hidden;background-color:var(--color-surface);box-shadow:0 6px 20px #00000014}.hero__avatar-image{width:100%;height:100%;object-fit:cover}.hero--visible .hero__content{opacity:1;transform:translateY(0)}.hero__name{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;color:#f5f5f4;margin:0;line-height:var(--leading-tight);letter-spacing:-.02em}.hero__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-normal);color:#a8a29e;margin:0;line-height:var(--leading-normal)}@media(min-width:768px){.hero{padding:var(--space-sm) var(--content-padding-tablet)}.hero__avatar{width:120px;height:120px}.hero__name{font-size:calc(var(--text-5xl) * 1.2)}.hero__title{font-size:var(--text-2xl)}}@media(min-width:1024px){.hero{padding:var(--space-md) var(--content-padding-desktop)}.hero__name{font-size:calc(var(--text-5xl) * 1.4)}}@media(max-width:640px){.hero__name{font-size:var(--text-4xl)}.hero__title{font-size:var(--text-xl)}}.home-page{min-height:calc(100vh - var(--nav-height))}.hero-experience-wrapper{position:relative;overflow:hidden;background-color:#0f0f12}.hero-experience-wrapper>.video-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.hero-experience-wrapper .hero{position:relative;z-index:1}.experience{background-color:transparent;padding:var(--space-md) 0;position:relative;z-index:1}.experience__content{opacity:0;transform:translateY(20px);transition:opacity .5s ease-out,transform .6s cubic-bezier(.34,1.56,.64,1)}.experience__content--visible{opacity:1;transform:translateY(0)}.experience__header{margin-bottom:var(--space-sm)}.experience__heading{font-size:var(--text-3xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.experience__illustration-wrapper{position:relative;background-color:var(--color-surface);border-radius:8px;padding:var(--space-sm);box-shadow:0 1px 3px #0000000a;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s ease-out}.experience__illustration-wrapper:has(.experience__illustration--hovered){transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.experience__illustration{width:100%;height:auto;display:block}.experience__traveling-dot{filter:drop-shadow(0 0 3px currentColor)}.experience__node{opacity:1}.experience__dot{transform-origin:center;transform-box:fill-box}.experience__pulse{transform-origin:center;transform-box:fill-box;opacity:0}.experience__pulse{opacity:0}.experience__illustration--hovered .experience__traveling-pulse{animation-play-state:paused;opacity:0}.experience__illustration--hovered .experience__pulse{animation-play-state:paused;filter:opacity(0);transition:filter .3s ease-out}.experience__illustration--hovered .experience__node:nth-child(3) .experience__logo{animation:logo-wave .3s cubic-bezier(.34,1.56,.64,1)}.experience__illustration--hovered .experience__node:nth-child(4) .experience__logo{animation:logo-wave .3s cubic-bezier(.34,1.56,.64,1) 30ms}.experience__illustration--hovered .experience__node:nth-child(5) .experience__logo{animation:logo-wave .3s cubic-bezier(.34,1.56,.64,1) 60ms}.experience__illustration--hovered .experience__node:nth-child(6) .experience__logo{animation:logo-wave .3s cubic-bezier(.34,1.56,.64,1) 90ms}.experience__illustration--hovered .experience__node:nth-child(7) .experience__logo{animation:logo-wave .3s cubic-bezier(.34,1.56,.64,1) .12s}.experience__illustration--hovered .experience__node:nth-child(8) .experience__logo{animation:logo-wave .3s cubic-bezier(.34,1.56,.64,1) .15s}@keyframes logo-wave{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.experience__logo,.experience__company-name,.experience__title-label,.experience__years-label{opacity:0}.experience__content--visible .experience__logo,.experience__content--visible .experience__company-name,.experience__content--visible .experience__title-label,.experience__content--visible .experience__years-label{opacity:1;transition:opacity .3s ease-out;transition-delay:var(--delay)}.experience__logo-band{fill:transparent;transition:fill .3s ease}[data-theme=dark] .experience__logo-band{fill:#fff}.experience__logo{transform:translateY(0);transition:transform .15s cubic-bezier(.34,1.56,.64,1)}.experience__logo--pulsing{animation:logo-pulse-bounce .4s cubic-bezier(.34,1.56,.64,1)}@keyframes logo-pulse-bounce{0%{transform:translateY(0)}30%{transform:translateY(-4px)}to{transform:translateY(0)}}.experience__pulse--active{animation:js-pulse-ring .4s ease-out forwards}@keyframes js-pulse-ring{0%{transform:scale(1);opacity:.8;stroke-width:3}to{transform:scale(3.5);opacity:0;stroke-width:1}}.experience__company-name{font-family:var(--font-body);font-size:15px;font-weight:700;fill:var(--color-text-primary)}.experience__title-label{font-family:var(--font-body);font-size:11px;font-weight:500;fill:var(--color-text-tertiary)}.experience__years-label{font-family:var(--font-body);font-size:9px;font-weight:500;fill:var(--color-text-tertiary)}.experience__endpoint-year{font-family:var(--font-body);font-size:11px;font-weight:600;fill:var(--color-text-tertiary)}.career-path{position:relative}.career-path__expanded{display:flex;gap:var(--space-md);padding:var(--space-sm) 0;position:relative;animation:expand-fade-in .3s ease-out forwards}@keyframes expand-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.career-path__tabs{display:flex;flex-direction:column;gap:var(--space-xs);min-width:180px}.career-path__tab{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:none;background:var(--color-bg-secondary);border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);text-align:left;border-top:3px solid transparent}.career-path__tab:hover{background:var(--color-surface);transform:translateY(-2px);box-shadow:0 2px 8px #00000014}.career-path__tab--active{background:var(--color-surface);border-top-color:var(--tab-color);box-shadow:0 2px 8px #00000014}.career-path__tab-logo-wrapper{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background-color .3s ease}[data-theme=dark] .career-path__tab-logo-wrapper{background-color:#ffffffe6}.career-path__tab-logo{width:28px;height:28px;object-fit:contain}.career-path__tab-name{font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);flex:1}.career-path__tab-years{font-family:var(--font-body);font-size:10px;color:var(--color-text-tertiary)}.career-path__content{flex:1;min-height:200px}.career-path__detail{background:var(--color-surface);border-radius:8px;padding:var(--space-md);box-shadow:0 2px 8px #00000014;border-top:3px solid var(--detail-color);animation:detail-appear .3s ease-out forwards}@keyframes detail-appear{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.career-path__detail-header{margin-bottom:var(--space-sm)}.career-path__detail-company{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:var(--color-text-primary);margin:0}.career-path__detail-title{font-family:var(--font-display);font-size:var(--text-sm);font-weight:500;color:var(--color-text-tertiary);margin-left:.5em}.career-path__detail-description{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.career-path__detail-description p{margin:0 0 var(--space-sm) 0}.career-path__detail-description p:last-child{margin-bottom:0}.career-path__detail-description strong{font-weight:600;color:var(--color-text-primary)}.career-path__detail-description ul,.career-path__detail-description ol{margin:0 0 var(--space-sm) 0;padding-left:var(--space-md)}.career-path__detail-description li{margin-bottom:var(--space-xs)}.career-path__detail-description h2,.career-path__detail-description h3{font-family:var(--font-display);font-weight:600;color:var(--color-text-primary);margin:var(--space-sm) 0 var(--space-xs) 0}.career-path__detail-description h2{font-size:var(--text-base)}.career-path__detail-description h3{font-size:var(--text-sm)}.career-path__mobile-list{display:none}@media(max-width:768px){.career-path__expanded{display:none}.experience__illustration-wrapper{margin-left:calc(-1 * var(--space-md));margin-right:calc(-1 * var(--space-md));border-radius:0;padding:var(--space-sm) var(--space-md)}.career-path__mobile-list{display:flex;flex-direction:column;gap:var(--space-xs)}.career-path__mobile-item{background:var(--color-bg-secondary);border-radius:8px;overflow:hidden;border-left:3px solid var(--company-color);transition:box-shadow .2s ease}.career-path__mobile-item--active{box-shadow:0 4px 12px #0000001a}.career-path__mobile-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);width:100%;background:none;border:none;cursor:pointer;text-align:left}.career-path__mobile-logo-wrapper{width:48px;height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background-color .3s ease}[data-theme=dark] .career-path__mobile-logo-wrapper{background-color:#ffffffe6}.career-path__mobile-logo{max-width:44px;max-height:44px;object-fit:contain}.career-path__mobile-info{display:flex;flex-direction:column;min-width:0}.career-path__mobile-name{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;color:var(--color-text-primary);white-space:nowrap}.career-path__mobile-years{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-tertiary)}.career-path__mobile-title{flex:1;font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-secondary);text-align:right;padding-right:var(--space-xs);line-height:1.3}.career-path__mobile-chevron{width:20px;height:20px;flex-shrink:0;color:var(--color-text-tertiary);transition:transform .2s ease}.career-path__mobile-chevron--open{transform:rotate(180deg)}.career-path__mobile-content{padding:var(--space-sm) var(--space-sm) var(--space-sm) var(--space-sm);margin-top:var(--space-xs);border-top:1px solid var(--color-border-light);animation:mobile-slide-down .2s ease-out}.career-path__mobile-content p{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:var(--space-xs) 0 0 0}.career-path__mobile-content p:first-child{margin-top:0}.career-path__mobile-content strong{font-weight:600;color:var(--color-text-primary)}.career-path__mobile-content ul,.career-path__mobile-content ol{margin:var(--space-xs) 0;padding-left:var(--space-md)}.career-path__mobile-content li{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-xs)}.career-path__mobile-content h2,.career-path__mobile-content h3{font-family:var(--font-display);font-weight:600;color:var(--color-text-primary);margin:var(--space-xs) 0 var(--space-xs) 0}.career-path__mobile-content h2{font-size:var(--text-base)}.career-path__mobile-content h3{font-size:var(--text-sm)}@keyframes mobile-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.career-path__mobile-show-all{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);width:100%;padding:var(--space-sm);background:var(--color-bg-secondary);border:1px dashed var(--color-border-light);border-radius:8px;cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--color-text-tertiary);transition:all .2s ease}.career-path__mobile-show-all:hover{background:var(--color-surface);color:var(--color-text-secondary);border-color:var(--color-text-tertiary)}.career-path__mobile-show-all svg{width:16px;height:16px}}@media(min-width:769px){.career-path__mobile-list{display:none}}@media(max-width:640px){.experience{padding:var(--space-sm) 0}.experience__heading{font-size:var(--text-2xl)}.experience__illustration-wrapper{padding:var(--space-sm)}}.home-intro{padding:var(--space-xl) 0;background-color:#e6e4de}[data-theme=dark] .home-intro{background-color:#2a2a2f}.home-intro__content{display:flex;gap:var(--space-xl);align-items:flex-start;opacity:0;transform:translateY(20px);transition:opacity .5s ease-out,transform .6s cubic-bezier(.34,1.56,.64,1)}.home-intro__content--visible{opacity:1;transform:translateY(0)}.home-intro__text{flex:1;font-family:var(--font-body);font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-text-primary)}.home-intro__text p{margin:0 0 var(--space-sm) 0}.home-intro__text p:last-child{margin-bottom:0}.home-intro__image-wrapper{flex-shrink:0;width:358px}.home-intro__image{width:100%;height:auto;border-radius:8px;object-fit:cover}@media(max-width:900px){.home-intro__content{flex-direction:column}.home-intro__image-wrapper{width:100%;max-width:358px}}@media(max-width:767px){.home-intro{padding:var(--space-lg) 0}.home-intro__text{font-size:var(--text-base)}}.home-work{padding:var(--space-xl) 0;background-color:var(--color-bg-secondary)}.experience--demoted{padding:var(--space-lg) 0;background-color:var(--color-bg-primary)}.home-work__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.home-work__heading{font-size:var(--text-3xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.home-work__view-all{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--color-accent-primary);text-decoration:none;transition:color var(--duration-fast) var(--easing-default)}.home-work__view-all:hover{color:var(--color-text-primary)}.home-work__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}.home-work__card{display:block;text-decoration:none;color:inherit;background-color:var(--color-surface);border-radius:8px;overflow:hidden;opacity:0;transform:translateY(20px) scale(.97);transition:opacity .5s ease-out,transform .6s cubic-bezier(.34,1.56,.64,1),box-shadow var(--duration-normal) var(--easing-default)}.home-work__card--visible{opacity:1;transform:translateY(0) scale(1)}.home-work__card--visible:hover{transform:translateY(-4px) scale(1);box-shadow:0 12px 24px #0000001a}.home-work__card:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:4px}.home-work__image-wrapper{position:relative;width:100%;padding-top:53%;background-color:var(--color-bg-secondary);overflow:hidden}.home-work__image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--easing-default)}.home-work__card:hover .home-work__image{transform:scale(1.08)}.home-work__protected-badge{position:absolute;top:var(--space-sm);right:var(--space-sm);display:flex;align-items:center;gap:6px;padding:6px 12px;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:100px;z-index:1}.home-work__protected-badge svg{width:14px;height:14px;color:#fff}.home-work__protected-badge span{font-family:var(--font-body);font-size:11px;font-weight:500;color:#fff}.home-work__content{padding:var(--space-md)}.home-work__meta{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs)}.home-work__client{font-size:12px;color:var(--color-accent-primary);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em}.home-work__divider,.home-work__timeline{font-size:12px;color:var(--color-text-tertiary)}.home-work__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-xs) 0;line-height:var(--leading-tight)}.home-work__description{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0}@media(min-width:768px)and (max-width:1023px){.home-work__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.home-work{padding:var(--space-lg) 0}.home-work__header{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.home-work__heading{font-size:var(--text-2xl)}.home-work__grid{grid-template-columns:1fr;gap:var(--space-md)}}.home-footer{padding:var(--space-xl) 0;background:linear-gradient(135deg,var(--color-bg-secondary) 0%,#e8e4df 50%,var(--color-bg-secondary) 100%);text-align:center}[data-theme=dark] .home-footer{background:linear-gradient(135deg,#2a2a30cc,#32323a99,#2a2a30cc);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px #ffffff0d,0 -10px 40px #0003}.home-footer__text{font-family:var(--font-body);font-size:var(--text-sm);font-style:italic;color:var(--color-text-tertiary);margin:0 0 var(--space-md) 0;letter-spacing:.02em}[data-theme=dark] .home-footer__text{color:#ffffffb3}.home-footer{position:relative;overflow:hidden}.home-footer__illustration{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.15;pointer-events:none}[data-theme=dark] .home-footer__illustration{opacity:.3}.home-footer__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.home-footer__contact{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.home-footer__contact-label{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-tertiary)}.home-footer__contact-links{display:flex;gap:var(--space-lg);align-items:center}.home-footer__icon-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background-color:var(--color-text-tertiary);color:#fff;transition:all .2s ease}.home-footer__icon-link:hover{background-color:var(--color-text-primary);color:#fff;transform:scale(1.1)}.home-footer__icon-link svg{width:22px;height:22px}.home-footer__credits{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--color-border-light);width:100%;max-width:400px}@media(max-width:767px){.home-footer__contact-links{flex-direction:row;gap:var(--space-md)}}.home-footer__code{font-family:Courier New,monospace;font-size:18px;font-weight:700;fill:var(--color-accent-primary);animation:float 6s ease-in-out infinite}[data-theme=dark] .home-footer__code{fill:#fff9}.home-footer__code:nth-child(2){animation-delay:-1s}.home-footer__code:nth-child(3){animation-delay:-2s}.home-footer__code:nth-child(4){animation-delay:-3s}.home-footer__code:nth-child(5){animation-delay:-4s}.home-footer__sparkle{fill:var(--color-accent-primary);animation:twinkle 2s ease-in-out infinite}[data-theme=dark] .home-footer__sparkle{fill:#fffc}.home-footer__sparkle:nth-child(7){animation-delay:-.5s}.home-footer__sparkle:nth-child(8){animation-delay:-1s}.home-footer__sparkle:nth-child(9){animation-delay:-1.5s}.home-footer__wave{fill:none;stroke:var(--color-accent-primary);stroke-width:1;opacity:.3;animation:wave 8s linear infinite}[data-theme=dark] .home-footer__wave{stroke:#fff3;opacity:1}.home-footer__wave--delayed{animation-delay:-4s;opacity:.2}[data-theme=dark] .home-footer__wave--delayed{stroke:#ffffff26;opacity:1}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes twinkle{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}@keyframes wave{0%{transform:translate(0)}to{transform:translate(-100px)}}.home-footer__github{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background-color:var(--color-text-tertiary);color:#fff;transition:all .2s ease}.home-footer__github:hover{background-color:var(--color-text-primary);color:#fff;transform:scale(1.1)}.home-footer__github-icon{width:20px;height:20px}.case-study-hero{margin-bottom:var(--space-xl)}.case-study-hero--no-header{margin-top:0}.case-study-hero__meta{margin-bottom:0;text-align:center;background-color:#0f0f12;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:var(--space-2xl) var(--content-padding-mobile)}.case-study-hero__title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-weight-semibold);color:#f5f5f4;margin:0 0 var(--space-md) 0;line-height:var(--leading-tight)}.case-study-hero__details,.case-study-hero__role-line,.case-study-hero__team{font-size:var(--text-base);color:#a8a29e;margin-bottom:var(--space-sm);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-xs)}.case-study-hero__client,.case-study-hero__role{font-weight:var(--font-weight-medium)}.case-study-hero__separator{color:#78716c}.case-study-hero__team-info{font-size:var(--text-sm)}.case-study-hero__image-wrapper{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);position:relative}.case-study-hero__image,.case-study-hero__video{width:100%;height:auto;display:block;aspect-ratio:16 / 9;object-fit:cover;background-color:var(--color-bg-secondary)}.case-study-hero__overlay{position:absolute;top:calc(var(--nav-height) + 100px);left:var(--content-padding-mobile);z-index:5;max-width:400px}@media(min-width:768px){.case-study-hero__overlay{left:var(--content-padding-tablet)}}@media(min-width:1024px){.case-study-hero__overlay{left:var(--content-padding-desktop)}}.case-study-hero__overlay-title{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:var(--font-weight-extrabold);color:var(--color-text-primary);margin:0 0 var(--space-sm) 0;line-height:var(--leading-tight)}.case-study-hero__overlay-text{font-size:var(--text-lg);color:var(--color-text-secondary);margin:0;line-height:var(--leading-relaxed)}.case-study-hero__caption{text-align:center;font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--space-md);margin-bottom:0;padding:0 var(--content-padding-mobile)}@media(min-width:768px){.case-study-hero__meta{padding:var(--space-2xl) var(--content-padding-tablet)}.case-study-hero__title{font-size:var(--text-4xl)}.case-study-hero__caption{padding:0 var(--content-padding-tablet)}}@media(min-width:1024px){.case-study-hero__meta{padding:var(--space-2xl) var(--content-padding-desktop)}.case-study-hero__caption{padding:0 var(--content-padding-desktop)}}@media(max-width:640px){.case-study-hero__title{font-size:var(--text-2xl)}.case-study-hero__details,.case-study-hero__role-line,.case-study-hero__team{flex-direction:column;gap:var(--space-xs)}.case-study-hero__separator{display:none}}.case-study-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-xl);margin:var(--space-2xl) 0;padding:var(--space-xl);background-color:var(--color-bg-secondary);border-radius:8px}.case-study-metrics__item{text-align:center}.case-study-metrics__value{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--font-weight-semibold);color:var(--color-accent-primary);margin-bottom:var(--space-xs);line-height:var(--leading-tight)}.case-study-metrics__label{font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--space-xs)}.case-study-metrics__context{font-size:var(--text-sm);color:var(--color-text-tertiary)}@media(min-width:768px){.case-study-metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media(max-width:640px){.case-study-metrics{grid-template-columns:repeat(2,1fr);gap:var(--space-lg);padding:var(--space-lg)}.case-study-metrics__value{font-size:var(--text-3xl)}}.case-study-testimonial{margin:var(--space-2xl) 0;padding:var(--space-xl);background-color:var(--color-accent-subtle);border-left:4px solid var(--color-accent-primary);border-radius:4px}.case-study-testimonial__quote{font-size:var(--text-lg);font-style:italic;color:var(--color-text-primary);line-height:var(--leading-relaxed);margin:0 0 var(--space-lg) 0}.case-study-testimonial__footer{display:flex;flex-direction:column;gap:var(--space-xs)}.case-study-testimonial__author{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-weight-semibold);font-style:normal;color:var(--color-text-primary)}.case-study-testimonial__role{font-size:var(--text-sm);color:var(--color-text-secondary)}@media(max-width:640px){.case-study-testimonial{padding:var(--space-lg)}.case-study-testimonial__quote{font-size:var(--text-base)}}.case-study-content{max-width:800px;margin:0 auto}.case-study-content__section{margin-bottom:var(--space-3xl)}.case-study-content__heading{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-lg) 0;line-height:var(--leading-tight)}.case-study-content__subheading{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-semibold);color:var(--color-accent-primary);margin:var(--space-md) 0 var(--space-md) 0}.case-study-content__subheading--neutral{color:var(--color-text-primary)}.case-study-content__text{font-size:var(--text-lg);color:var(--color-text-primary);line-height:var(--leading-relaxed);margin-bottom:var(--space-lg)}.case-study-content__context-image{margin:var(--space-xl) 0}.case-study-content__context-image-img{width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #0000001a}.case-study-content__context-image-img--no-shadow{box-shadow:none}.case-study-content__image-pair{display:flex;gap:var(--space-xl);margin:var(--space-xl) 0}.case-study-content__image-pair-item{flex:1;margin:0;display:flex;flex-direction:column;align-items:center}.case-study-content__image-pair-img{width:100%;max-width:300px;height:540px;object-fit:contain}.case-study-content__image-pair-label{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-top:0;text-align:center}@media(max-width:640px){.case-study-content__image-pair{flex-direction:column;align-items:center}}.case-study-content__image-three-up{display:flex;gap:var(--space-lg);margin:var(--space-lg) 0;align-items:flex-end}.case-study-content__image-three-up-item{flex:1;margin:0;text-align:center}.case-study-content__image-three-up-item img{width:100%;height:auto;border-radius:8px}.case-study-content__image-three-up-label{font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-top:var(--space-sm)}@media(max-width:640px){.case-study-content__image-three-up{flex-direction:column;align-items:center}.case-study-content__image-three-up-item{max-width:280px}}.case-study-content__image-two-up{display:flex;gap:var(--space-lg);margin:var(--space-lg) 0;align-items:flex-end;justify-content:center}.case-study-content__image-two-up-item{flex:0 0 auto;width:30%;margin:0;text-align:center}.case-study-content__image-two-up-item img{width:100%;height:auto;border-radius:8px}.case-study-content__image-two-up-label{font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-top:var(--space-sm)}@media(max-width:640px){.case-study-content__image-two-up{flex-direction:column;align-items:center}.case-study-content__image-two-up-item{max-width:320px}}.case-study-content__image-four-up{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);margin:var(--space-lg) 0}.case-study-content__image-four-up-item{margin:0;text-align:center;overflow:hidden}.case-study-content__image-four-up-item img{width:100%;height:280px;object-fit:cover;object-position:top center;border-radius:8px}.case-study-content__image-four-up-label{font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-top:var(--space-sm)}@media(max-width:768px){.case-study-content__image-four-up{flex-wrap:wrap}.case-study-content__image-four-up-item{flex:0 0 calc(50% - var(--space-sm))}}@media(max-width:480px){.case-study-content__image-four-up-item{flex:0 0 100%}}.case-study-content__principles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl);margin:var(--space-xl) 0}.case-study-content__principle{text-align:center;display:flex;flex-direction:column;align-items:center}.case-study-content__principle-image-wrapper{width:100%;height:160px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:var(--space-md)}.case-study-content__principle-image{max-width:160px;max-height:160px;width:auto;height:auto;object-fit:contain}.case-study-content__principle:first-child .case-study-content__principle-image{max-width:144px;max-height:144px}.case-study-content__principle-content{flex:1}.case-study-content__principle-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-sm) 0}.case-study-content__principle-description{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0}@media(max-width:768px){.case-study-content__principles{grid-template-columns:1fr;gap:var(--space-xl)}.case-study-content__principle-image{max-width:140px;max-height:140px}.case-study-content__principle-image-wrapper{height:140px}}.case-study-content__image-flow{margin:var(--space-xl) 0}.case-study-content__image-flow-row{display:flex;gap:var(--space-md)}.case-study-content__image-flow-img{flex:1;width:25%;height:auto}.case-study-content__image-flow-label{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-align:center;margin-top:0}@media(max-width:640px){.case-study-content__image-flow-row{flex-wrap:wrap}.case-study-content__image-flow-img{width:calc(50% - var(--space-sm));flex:none}}.case-study-content__concerns{margin:var(--space-xl) 0}.case-study-content__concerns-heading{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-lg) 0}.case-study-content__concerns-grid{display:flex;gap:var(--space-md)}.case-study-content__concerns-card{flex:1;background-color:var(--color-bg-secondary);border-radius:12px;padding:var(--space-lg)}.case-study-content__concerns-badge{display:inline-block;background-color:var(--color-accent-primary);color:#fff;font-size:var(--text-sm);font-weight:var(--font-weight-medium);padding:var(--space-xs) var(--space-sm);border-radius:999px;margin-bottom:var(--space-md)}.case-study-content__concerns-quotes{list-style:none;padding:0;margin:0}.case-study-content__concerns-quotes li{font-size:var(--text-lg);color:var(--color-text-primary);line-height:var(--leading-relaxed);margin-bottom:var(--space-sm)}.case-study-content__concerns-quotes li:last-child{margin-bottom:0}@media(max-width:640px){.case-study-content__concerns-grid{flex-direction:column}}.case-study-content__learnings{margin-top:var(--space-xl)}.case-study-content__learning{margin-bottom:var(--space-lg)}.case-study-content__learning:last-child{margin-bottom:0}.case-study-content__learning-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-xs) 0}.case-study-content__learning-description{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0}.case-study-content__section-closing{margin-top:var(--space-xl)}.case-study-content__success-metrics{margin:var(--space-xl) 0}.case-study-content__success-metrics-heading{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-lg) 0}.case-study-content__success-metrics-grid{display:flex;gap:var(--space-md)}.case-study-content__success-metric-card{flex:1;background-color:var(--color-bg-secondary);border-radius:12px;padding:var(--space-lg);min-height:140px}.case-study-content__success-metric-badge{display:inline-block;background-color:var(--color-text-secondary);color:#fff;font-size:var(--text-xs);font-weight:var(--font-weight-medium);padding:var(--space-xs) var(--space-sm);border-radius:999px;margin-bottom:var(--space-md)}.case-study-content__success-metric-badge--primary{background-color:var(--color-accent-primary)}.case-study-content__success-metric-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-xs) 0}.case-study-content__success-metric-description{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}@media(max-width:640px){.case-study-content__success-metrics-grid{flex-direction:column}.case-study-content__success-metric-card{min-height:auto}}.case-study-content__vision-questions{margin:var(--space-lg) 0}.case-study-content__vision-questions-grid{display:flex;gap:var(--space-md)}.case-study-content__vision-question-card{flex:1;background-color:var(--color-bg-secondary);border-radius:12px;padding:var(--space-lg);min-height:160px}.case-study-content__vision-question-badge{display:inline-block;background-color:var(--color-accent-primary);color:#fff;font-size:var(--text-xs);font-weight:var(--font-weight-medium);padding:var(--space-xs) var(--space-sm);border-radius:999px;margin-bottom:var(--space-md)}.case-study-content__vision-question-text{font-size:var(--text-lg);color:var(--color-text-primary);line-height:var(--leading-relaxed);margin:0}@media(max-width:640px){.case-study-content__vision-questions-grid{flex-direction:column}.case-study-content__vision-question-card{min-height:auto}}.case-study-content__two-column{display:flex;gap:var(--space-xl);margin:var(--space-lg) 0;align-items:flex-start}.case-study-content__two-column-image{flex:0 0 auto;margin:0;max-width:220px}.case-study-content__two-column-image img{width:100%;height:auto;border-radius:8px}.case-study-content__two-column-content{flex:1}.case-study-content__two-column-content .case-study-content__text:last-child{margin-bottom:0}.case-study-content__two-column--video .case-study-content__two-column-video{flex:0 0 35%}.case-study-content__two-column--video .case-study-content__two-column-content{flex:1;display:flex;flex-direction:column;justify-content:center;gap:var(--space-md)}.case-study-content__two-column--reverse .case-study-content__two-column-content{flex:1}.case-study-content__two-column--reverse .case-study-content__two-column-image{flex:0 0 auto;max-width:220px}.case-study-content__two-column--text-heavy .case-study-content__two-column-content{flex:0 0 48%}.case-study-content__two-column--text-heavy .case-study-content__two-column-image{flex:1;max-width:none}.case-study-content__impact-row{display:flex;gap:var(--space-xl);margin:var(--space-lg) 0;align-items:center}.case-study-content__impact-image{flex:0 0 60%}.case-study-content__impact-image img{width:100%;height:auto;border-radius:var(--radius-lg)}.case-study-content__impact-metrics{flex:1;display:flex;flex-direction:column;gap:var(--space-md)}.case-study-content__impact-metric{display:flex;flex-direction:column;gap:var(--space-xs)}.case-study-content__impact-value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1}.case-study-content__impact-label{font-size:var(--text-base);color:var(--color-text-secondary)}.case-study-content__platform-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);margin:var(--space-lg) 0}.case-study-content__platform-grid-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.case-study-content__platform-grid-item img{width:100%;height:auto;border-radius:var(--radius-lg)}.case-study-content__platform-grid-item--clickable{cursor:pointer;position:relative;transition:transform .2s ease}.case-study-content__platform-grid-item--clickable:hover{transform:scale(1.02)}.case-study-content__platform-grid-zoom{position:absolute;bottom:var(--space-sm);right:var(--space-sm);width:32px;height:32px;background-color:#0009;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:opacity .2s ease,transform .2s ease}.case-study-content__platform-grid-zoom svg{width:18px;height:18px;color:#fff}.case-study-content__platform-grid-item--clickable:hover .case-study-content__platform-grid-zoom{opacity:1;transform:scale(1)}.case-study-content__platform-grid-label{font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center}.case-study-content__future-grid-wrapper{margin:0}.case-study-content__grid-label{font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center;margin-top:var(--space-md);margin-bottom:var(--space-xl)}.case-study-content__platform-two-up{display:flex;gap:var(--space-lg);justify-content:center;align-items:flex-start;margin:var(--space-lg) 0}.case-study-content__platform-two-up-item{flex:0 0 auto;margin:0;display:flex;flex-direction:column;align-items:center}.case-study-content__platform-two-up-item img{width:auto;height:auto;max-height:540px;border-radius:var(--radius-lg)}.case-study-content__platform-two-up-video-container{border-radius:26px;overflow:hidden}.case-study-content__platform-two-up-video{width:auto;height:auto;max-height:540px;display:block}.case-study-content__platform-two-up-label{font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center;margin-top:var(--space-sm)}@media(max-width:768px){.case-study-content__platform-two-up{flex-direction:column;align-items:center}.case-study-content__platform-two-up-item img,.case-study-content__platform-two-up-video{max-width:300px}}@media(max-width:768px){.case-study-content__platform-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.case-study-content__impact-row{flex-direction:column}.case-study-content__impact-image{flex:none;width:100%;max-width:300px}}@media(max-width:768px){.case-study-content__two-column{flex-direction:column}.case-study-content__two-column-image{flex:none;width:100%;max-width:300px;margin:0 auto}.case-study-content__two-column--reverse .case-study-content__two-column-content{flex:none}}.case-study-content__full-bleed{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:var(--space-xl);margin-bottom:var(--space-xl)}.case-study-content__full-bleed img{width:100%;height:auto;display:block}.case-study-content__full-bleed--ratio-16-9 img{aspect-ratio:16 / 9;object-fit:cover}.case-study-content__full-bleed--ratio-3-1 img{aspect-ratio:3 / 1;object-fit:cover}.case-study-content__full-bleed--ratio-4-1 img{aspect-ratio:4 / 1;object-fit:cover}.case-study-content__full-bleed-caption{text-align:center;font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--space-md);padding:0 var(--content-padding-mobile)}@media(min-width:768px){.case-study-content__full-bleed-caption{padding:0 var(--content-padding-tablet)}}@media(min-width:1024px){.case-study-content__full-bleed-caption{padding:0 var(--content-padding-desktop)}}.case-study-content__section-image{margin:var(--space-lg) 0;position:relative}.case-study-content__section-image--clickable{cursor:pointer}.case-study-content__section-image--clickable:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.case-study-content__section-image-img{width:100%;height:auto;border-radius:8px;transition:transform .3s ease}.case-study-content__section-image-caption{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-align:center;margin-top:var(--space-md)}.case-study-content__section-image--clickable:hover .case-study-content__section-image-img{transform:scale(1.01)}.case-study-content__section-image-zoom{position:absolute;bottom:var(--space-md);right:var(--space-md);width:40px;height:40px;background-color:#0009;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:opacity .2s ease,transform .2s ease}.case-study-content__section-image-zoom svg{width:22px;height:22px;color:#fff}.case-study-content__section-image--clickable:hover .case-study-content__section-image-zoom{opacity:1;transform:scale(1)}.case-study-content__section-image--small{max-width:80%;margin-left:auto;margin-right:auto}.case-study-content__section-image--half{max-width:50%;margin-left:auto;margin-right:auto}.case-study-content__problem-opportunity{display:flex;gap:var(--space-xl);margin:var(--space-lg) 0}.case-study-content__problem-opportunity-item{flex:1}.case-study-content__problem-opportunity-label{display:block;font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin-bottom:var(--space-xs)}.case-study-content__problem-opportunity-text{font-size:var(--text-base);color:var(--color-text-primary);line-height:var(--leading-relaxed);margin:0}.case-study-content__problem-opportunity-image{width:100%;height:auto;border-radius:8px;margin-top:var(--space-md)}.case-study-content__problem-opportunity-image--half{width:50%}.case-study-content__problem-opportunity-image--small{width:80%}@media(max-width:640px){.case-study-content__problem-opportunity{flex-direction:column;gap:var(--space-md)}}.case-study-content__phone-video{margin:var(--space-xl) 0;display:flex;flex-direction:column;align-items:center}.case-study-content__phone-video-container{position:relative;width:220px}.case-study-content__phone-video-player{width:100%;height:auto;border-radius:26px}.case-study-content__phone-video-frame{position:absolute;top:-2%;left:-8%;width:116%;height:auto;z-index:2;pointer-events:none}.case-study-content__phone-video-caption{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-align:center;margin-top:var(--space-md)}.case-study-content__lessons-image{margin:var(--space-xl) 0;display:flex;flex-direction:column;align-items:center}.case-study-content__lessons-image img,.case-study-content__lessons-image video{width:220px;height:auto;border-radius:26px}.case-study-content__lessons-image .case-study-content__caption{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-align:center;margin-top:var(--space-md)}.case-study-content__lessons-conclusion{display:flex;gap:var(--space-xl);align-items:flex-start;margin:var(--space-xl) 0}.case-study-content__lessons-conclusion-image{flex-shrink:0;margin:0}.case-study-content__lessons-conclusion-image img,.case-study-content__lessons-conclusion-image video{width:176px;height:auto;border-radius:26px}.case-study-content__lessons-conclusion-image .case-study-content__caption{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-align:center;margin-top:var(--space-md)}.case-study-content__lessons-conclusion-text{font-size:var(--text-lg);color:var(--color-text-primary);line-height:var(--leading-relaxed);margin:0}.case-study-content__lessons-conclusion-text p{margin:0 0 var(--space-md) 0}.case-study-content__lessons-conclusion-text p:last-child{margin-bottom:0}@media(max-width:640px){.case-study-content__lessons-conclusion{flex-direction:column}}.case-study-content__desktop-video{margin:var(--space-xl) 0;display:flex;flex-direction:column;align-items:center}.case-study-content__desktop-video-player{width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #0000001a}.case-study-content__desktop-video-caption{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-align:center;margin-top:var(--space-md)}@media(max-width:640px){.case-study-content__phone-video-container{width:200px}.case-study-content__phone-video-player{border-radius:20px}}.case-study-content__customer-quotes{display:flex;flex-direction:column;gap:var(--space-md);margin:var(--space-xl) 0}.case-study-content__quote-card{background-color:var(--color-bg-secondary);border-radius:12px;padding:var(--space-lg) var(--space-xl);margin:0;display:flex;flex-direction:row;align-items:center;gap:var(--space-lg);position:relative}.case-study-content__quote-mark{font-family:Georgia,serif;font-size:2.5rem;color:var(--color-accent-primary);line-height:1;flex-shrink:0}.case-study-content__quote-mark--open{align-self:flex-start}.case-study-content__quote-mark--close{display:none}.case-study-content__quote-text{font-family:Georgia,serif;font-size:var(--text-lg);font-style:italic;color:var(--color-text-primary);line-height:var(--leading-relaxed);margin:0;flex:1}.case-study-content__quote-author{font-family:var(--font-body);font-size:var(--text-sm);font-style:normal;color:var(--color-text-tertiary);white-space:nowrap;flex-shrink:0}@media(max-width:640px){.case-study-content__quote-card{flex-direction:column;align-items:flex-start;padding:var(--space-lg)}.case-study-content__quote-text{font-size:var(--text-base)}.case-study-content__quote-mark{font-size:2rem}.case-study-content__quote-author{align-self:flex-end}}.case-study-content__customer-quotes-labeled{display:flex;gap:var(--space-lg);margin:var(--space-xl) 0}.case-study-content__quote-card-labeled{flex:1;background-color:var(--color-bg-secondary);border-radius:16px;padding:var(--space-xl) var(--space-lg);margin:0;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.case-study-content__quote-category{display:inline-block;background-color:var(--color-accent-primary);color:#fff;font-size:var(--text-xs);font-weight:var(--font-weight-medium);padding:var(--space-xs) var(--space-sm);border-radius:999px;margin-bottom:var(--space-md)}.case-study-content__quote-card-labeled .case-study-content__quote-mark{position:static}.case-study-content__quote-card-labeled .case-study-content__quote-text{margin:0 var(--space-sm)}@media(max-width:640px){.case-study-content__customer-quotes-labeled{flex-direction:column}}.case-study-content__challenges{margin:var(--space-xl) 0}.case-study-content__challenges-heading{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-lg) 0}.case-study-content__challenges-grid{display:flex;gap:var(--space-xl);justify-content:flex-start}.case-study-content__challenge-item{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;max-width:200px}.case-study-content__challenge-icon{width:80px;height:80px;background-color:var(--color-bg-secondary);border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-sm)}.case-study-content__challenge-icon img{width:40px;height:40px;filter:brightness(0) saturate(100%);opacity:.7}[data-theme=dark] .case-study-content__challenge-icon img{filter:brightness(0) saturate(100%) invert(1);opacity:.85}.case-study-content__challenge-label{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--color-accent-primary);line-height:var(--leading-tight)}@media(max-width:640px){.case-study-content__challenges-grid{flex-direction:column;align-items:center;gap:var(--space-lg)}.case-study-content__challenge-item{max-width:none}}.case-study-content__context-image-caption{font-size:var(--text-sm);color:var(--color-text-tertiary);text-align:center;margin-top:var(--space-sm)}.case-study-content__pain-points{margin-top:var(--space-xl)}.case-study-content__list{list-style:none;padding:0;margin:0}.case-study-content__list-item{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed);padding:var(--space-sm) 0 var(--space-sm) var(--space-lg);margin-bottom:var(--space-sm);border-left:3px solid var(--color-accent-primary);background-color:var(--color-accent-subtle);border-radius:2px}.case-study-content__opportunity{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-top:var(--space-lg);margin-bottom:var(--space-lg);padding:var(--space-md);background-color:var(--color-bg-secondary);border-radius:4px}.case-study-content__opportunity--callout{font-size:var(--text-lg);color:var(--color-text-primary);background-color:var(--color-bg-secondary);border-left:4px solid var(--color-accent-primary);padding:var(--space-lg);margin-top:var(--space-xl);margin-bottom:var(--space-xl);border-radius:0 8px 8px 0}.case-study-content__opportunity--callout strong{display:block;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent-primary);margin-bottom:var(--space-sm)}.case-study-content__execution{margin-top:var(--space-xl)}.case-study-content__phase{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border-light)}.case-study-content__phase:last-child{border-bottom:none;margin-bottom:0}.case-study-content__phase-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-sm);flex-wrap:wrap;gap:var(--space-sm)}.case-study-content__phase-name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.case-study-content__phase-duration{font-size:var(--text-sm);color:var(--color-text-tertiary)}.case-study-content__phase-description{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0}.case-study-content__collaboration,.case-study-content__business-impact{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-top:var(--space-lg);padding:var(--space-md);background-color:var(--color-bg-secondary);border-radius:4px}.case-study-content__media{margin-top:var(--space-xl)}.case-study-content__media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg);margin-top:var(--space-md);max-width:75%;padding-left:var(--space-xl)}.case-study-content__media-item{margin:0}.case-study-content__media-image{width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #0000001a}.case-study-content__media-caption{font-size:var(--text-sm);color:var(--color-text-tertiary);text-align:center;margin-top:var(--space-sm)}.case-study-content__media-footer{margin-top:var(--space-xl)}.case-study-content__media-footer-figure{margin:var(--space-lg) 0 0 0;max-width:40%;padding-left:var(--space-xl)}.case-study-content__media-footer-video{width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #0000001a}.case-study-content__video{margin-top:var(--space-xl)}.case-study-content__video-wrapper{margin:var(--space-md) 0 0 0}.case-study-content__video-player{width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #0000001a;background-color:var(--color-bg-secondary)}.case-study-content__video-player--no-shadow{box-shadow:none}.case-study-content__video-player--no-radius{border-radius:0}.case-study-content__video-caption{font-size:var(--text-sm);color:var(--color-text-tertiary);text-align:center;margin-top:var(--space-sm)}.case-study-content__features{background-color:var(--color-bg-secondary);margin-left:calc(-1 * var(--content-padding-desktop));margin-right:calc(-1 * var(--content-padding-desktop));padding:var(--space-2xl) var(--content-padding-desktop);border-radius:0}.case-study-content__features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xl);margin-top:var(--space-lg)}.case-study-content__feature{background-color:var(--color-bg-primary);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;transition:transform var(--duration-fast) var(--easing-default),box-shadow var(--duration-fast) var(--easing-default)}.case-study-content__feature--clickable{cursor:pointer}.case-study-content__feature--clickable:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.case-study-content__feature:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000026}.case-study-content__feature-image-wrapper{margin:0;aspect-ratio:16 / 9;overflow:hidden;position:relative}.case-study-content__feature-image{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.case-study-content__feature:hover .case-study-content__feature-image{transform:scale(1.08)}.case-study-content__feature-zoom-hint{position:absolute;bottom:var(--space-sm);right:var(--space-sm);width:32px;height:32px;background-color:#0009;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:opacity .2s ease,transform .2s ease}.case-study-content__feature-zoom-hint svg{width:18px;height:18px;color:#fff}.case-study-content__feature:hover .case-study-content__feature-zoom-hint{opacity:1;transform:scale(1)}.case-study-content__feature-content{padding:var(--space-lg)}.case-study-content__feature-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-sm) 0}.case-study-content__feature-description{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0}.case-study-content__feature-details{font-size:var(--text-sm);color:var(--color-text-tertiary);line-height:var(--leading-relaxed);margin:var(--space-sm) 0 0 0}.case-study-content__timeline{display:flex;gap:var(--space-md);margin-top:var(--space-md);margin-bottom:var(--space-xl);padding:var(--space-md) 0;position:relative;align-items:flex-start}.case-study-content__timeline-phase{flex:1;display:flex;flex-direction:column;align-items:flex-start;padding-bottom:var(--space-lg);position:relative}.case-study-content__timeline-date{display:inline-block;font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background-color:var(--color-bg-secondary);padding:var(--space-xs) var(--space-sm);border-radius:999px;margin-bottom:var(--space-sm);border:1px solid var(--color-border-light)}.case-study-content__timeline-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--color-accent-primary);margin:0 0 var(--space-xs) 0;line-height:var(--leading-tight)}.case-study-content__timeline-description{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0;max-width:200px}.case-study-content__intro-closing{margin-top:0}.case-study-content__intro-video{margin-top:var(--space-sm);margin-bottom:var(--space-sm)}.case-study-content__intro-video+.case-study-content__intro-closing{margin-top:var(--space-xl)}@media(max-width:640px){.case-study-content__timeline{flex-direction:column;align-items:stretch;min-height:auto;gap:var(--space-lg);padding-left:var(--space-lg)}.case-study-content__timeline:before{inset:0 auto 0 0;width:2px;height:auto;background:linear-gradient(to bottom,var(--color-accent-primary),var(--color-border-light))}.case-study-content__timeline-phase{transform:none;padding-bottom:0;padding-left:var(--space-lg)}.case-study-content__timeline-phase:after{bottom:auto;top:var(--space-xs);left:calc(-1 * var(--space-lg) - 5px)}.case-study-content__timeline-description{max-width:none}.case-study-content__heading{font-size:var(--text-xl)}.case-study-content__subheading{font-size:var(--text-lg)}.case-study-content__text{font-size:var(--text-base)}.case-study-content__media-grid{grid-template-columns:1fr}.case-study-content__features{margin-left:calc(-1 * var(--content-padding-mobile));margin-right:calc(-1 * var(--content-padding-mobile));padding:var(--space-xl) var(--content-padding-mobile)}.case-study-content__features-grid{grid-template-columns:1fr;gap:var(--space-lg)}}.lightbox{position:fixed;inset:0;background-color:#000000eb;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-xl);animation:lightbox-fade-in .2s ease-out}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.lightbox__close{position:absolute;top:var(--space-lg);right:var(--space-lg);width:44px;height:44px;background:#ffffff1a;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,transform .2s ease;z-index:10}.lightbox__close:hover{background:#fff3;transform:scale(1.1)}.lightbox__close svg{width:24px;height:24px;color:#fff}.lightbox__content{max-width:90vw;max-height:85vh;display:flex;flex-direction:column;align-items:center;animation:lightbox-zoom-in .3s cubic-bezier(.34,1.56,.64,1)}@keyframes lightbox-zoom-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.lightbox__image{max-width:100%;max-height:70vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px #00000080}.lightbox__caption{margin-top:var(--space-lg);text-align:center;max-width:600px}.lightbox__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-semibold);color:#fff;margin:0 0 var(--space-xs) 0}.lightbox__description{font-size:var(--text-base);color:#ffffffb3;line-height:var(--leading-relaxed);margin:0}.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;background:#ffffff1a;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,transform .2s ease}.lightbox__nav:hover{background:#fff3;transform:translateY(-50%) scale(1.1)}.lightbox__nav svg{width:28px;height:28px;color:#fff}.lightbox__nav--prev{left:var(--space-lg)}.lightbox__nav--next{right:var(--space-lg)}.lightbox__counter{position:absolute;bottom:var(--space-lg);left:50%;transform:translate(-50%);font-size:var(--text-sm);color:#fff9;background:#0006;padding:var(--space-xs) var(--space-sm);border-radius:20px}@media(max-width:640px){.lightbox{padding:var(--space-md)}.lightbox__close{top:var(--space-md);right:var(--space-md);width:40px;height:40px}.lightbox__nav{width:40px;height:40px}.lightbox__nav--prev{left:var(--space-sm)}.lightbox__nav--next{right:var(--space-sm)}.lightbox__title{font-size:var(--text-lg)}.lightbox__description{font-size:var(--text-sm)}}.case-study-page{min-height:calc(100vh - var(--nav-height));padding-top:var(--nav-height);background-color:var(--color-bg-primary)}.case-study-page__container{padding:0 0 var(--space-3xl) 0}.case-study-page__back{display:inline-flex;align-items:center;font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-decoration:none;margin:0 0 var(--space-2xl) 0;padding:0 var(--content-padding-mobile);transition:color var(--duration-fast) var(--easing-default)}.case-study-page__back:hover{color:var(--color-accent-primary)}.case-study-page--video-hero,.case-study-page--video-hero .case-study-page__container{padding-top:0}.case-study-page--video-hero .case-study-page__back{position:absolute;top:calc(var(--nav-height) + var(--space-md));left:var(--content-padding-mobile);z-index:10;margin:0;padding:0}@media(min-width:768px){.case-study-page--video-hero .case-study-page__back{left:var(--content-padding-tablet)}}@media(min-width:1024px){.case-study-page--video-hero .case-study-page__back{left:var(--content-padding-desktop)}}.case-study-page__content{margin-bottom:var(--space-3xl)}.case-study-page__body{padding:var(--space-3xl) var(--content-padding-mobile)}.case-study-page__nav{border-top:1px solid var(--color-border-light);padding:var(--space-3xl) 0;margin-top:var(--space-3xl);background-color:var(--color-bg-secondary)}.case-study-page__nav-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl)}.case-study-page__nav-link{display:flex;flex-direction:column;gap:var(--space-xs);text-decoration:none;padding:var(--space-lg);border:1px solid var(--color-border-light);border-radius:8px;background-color:var(--color-bg-primary);transition:all var(--duration-fast) var(--easing-default)}.case-study-page__nav-link:hover{border-color:var(--color-accent-primary);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.case-study-page__nav-link--prev{text-align:left}.case-study-page__nav-link--next{text-align:right}.case-study-page__nav-label{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.case-study-page__nav-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.case-study-page__nav-link:hover .case-study-page__nav-title{color:var(--color-accent-primary)}@media(min-width:768px){.case-study-page__back{padding:0 var(--content-padding-tablet)}.case-study-page__body{padding:var(--space-3xl) var(--content-padding-tablet)}}@media(min-width:1024px){.case-study-page__back{padding:0 var(--content-padding-desktop)}.case-study-page__body{padding:var(--space-3xl) var(--content-padding-desktop)}}@media(max-width:640px){.case-study-page__container{padding:0 0 var(--space-2xl) 0}.case-study-page__nav-content{grid-template-columns:1fr}.case-study-page__nav-link--next{text-align:left}}.app{min-height:100vh}
