.CaseStudy_article__oTzlr{-webkit-padding-after:var(--space-32);padding-block-end:var(--space-32)}.CaseStudy_header__7BT_P{padding-block:var(--space-16) var(--space-12);-webkit-margin-after:var(--space-16);margin-block-end:var(--space-16);-webkit-border-after:1px solid var(--color-border);border-block-end:1px solid var(--color-border)}.CaseStudy_back__w1ayN{display:inline-flex;-webkit-margin-after:var(--space-8);margin-block-end:var(--space-8)}.CaseStudy_headerMeta__mPbOY{display:flex;align-items:center;gap:var(--space-4);-webkit-margin-after:var(--space-5);margin-block-end:var(--space-5)}.CaseStudy_headerTimeframe__Nshw1{font-family:var(--font-mono-stack);font-size:var(--text-sm);color:var(--color-text-muted)}.CaseStudy_title__TOAYh{font-size:var(--text-display);max-inline-size:18ch;letter-spacing:var(--tracking-tight)}.CaseStudy_summary__5j4LE{-webkit-margin-before:var(--space-5);margin-block-start:var(--space-5);max-inline-size:var(--measure);font-size:var(--text-body-lg);color:var(--color-text-muted)}.CaseStudy_actions__ZkjkS{display:flex;flex-wrap:wrap;gap:var(--space-3);-webkit-margin-before:var(--space-8);margin-block-start:var(--space-8)}.CaseStudy_cover___FdNX{position:relative;aspect-ratio:16/9;inline-size:100%;-webkit-margin-before:var(--space-10);margin-block-start:var(--space-10);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-2)}.CaseStudy_coverImage__KuD7J{object-fit:cover}.CaseStudy_layout__dEPeX{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:var(--space-16);gap:var(--space-16);align-items:start}.CaseStudy_main__TtYn2{min-inline-size:0}.CaseStudy_aside__rkwWz{position:-webkit-sticky;position:sticky;inset-block-start:calc(var(--header-height) + var(--space-6))}@media (max-width:1024px){.CaseStudy_layout__dEPeX{grid-template-columns:1fr;gap:var(--space-12)}.CaseStudy_aside__rkwWz{position:static;order:-1}}.CaseStudy_gallery__F4SoC{display:flex;flex-direction:column;gap:var(--space-8);-webkit-margin-before:var(--space-12);margin-block-start:var(--space-12);-webkit-margin-before:var(--space-8);margin-block-start:var(--space-8)}.CaseStudy_showcaseBox__7Agge{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:radial-gradient(ellipse at 50% -20%,color-mix(in srgb,var(--color-accent) 8%,transparent),transparent 70%),var(--color-surface-2);overflow:hidden;box-shadow:0 24px 48px -16px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.08)}.CaseStudy_showcaseBoxHeader__spIP1{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-6);background:color-mix(in srgb,var(--color-surface) 85%,transparent);-webkit-border-after:1px solid var(--color-border);border-block-end:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.CaseStudy_windowControls__h1KPV{display:flex;align-items:center;gap:8px}.CaseStudy_windowDotGreen__UbV6J,.CaseStudy_windowDotRed__oVTn_,.CaseStudy_windowDotYellow__B0nJ8{width:10px;height:10px;border-radius:50%;display:inline-block}.CaseStudy_windowDotRed__oVTn_{background:#ff5f56}.CaseStudy_windowDotYellow__B0nJ8{background:#ffbd2e}.CaseStudy_windowDotGreen__UbV6J{background:#27c93f}.CaseStudy_windowTitle__MlhKW{-webkit-margin-start:var(--space-3);margin-inline-start:var(--space-3);font-family:var(--font-mono-stack);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.CaseStudy_showcaseStage__8hA6e{padding:var(--space-10) var(--space-6) var(--space-12)}.CaseStudy_galleryGridLandscape__rc5mW,.CaseStudy_galleryGrid__6qhbv{display:flex;flex-direction:column;gap:var(--space-8)}.CaseStudy_galleryGridPhone__ra98Q{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:var(--space-8);align-items:flex-start}.CaseStudy_galleryFigure__czkOr{margin:0;width:100%}.CaseStudy_galleryGridLandscape__rc5mW .CaseStudy_galleryFigure__czkOr{display:flex;flex-direction:column;align-items:stretch;max-inline-size:100%}.CaseStudy_galleryGridPhone__ra98Q .CaseStudy_galleryFigure__czkOr{display:flex;flex-direction:column;align-items:center;max-inline-size:280px}.CaseStudy_galleryTrigger__XPCBS{display:block;inline-size:100%;padding:0;border:0;background:transparent;cursor:zoom-in;text-align:inherit;color:inherit;outline:none}.CaseStudy_galleryGridLandscape__rc5mW .CaseStudy_galleryTrigger__XPCBS{border-radius:var(--radius-md)}.CaseStudy_galleryGridPhone__ra98Q .CaseStudy_galleryTrigger__XPCBS{border-radius:46px}.CaseStudy_galleryTrigger__XPCBS:focus-visible{outline:2px solid var(--color-accent);outline-offset:6px}.CaseStudy_iphoneDevice__DApS9{position:relative;width:100%;max-width:260px;margin:0 auto;aspect-ratio:9/19.5;background:#18181d;border-radius:46px;padding:10px;box-shadow:0 0 0 1px rgba(255,255,255,.16),0 0 0 2.5px #101014,0 24px 48px -12px rgba(0,0,0,.8),inset 0 1px 1px rgba(255,255,255,.25);transition:transform var(--motion-fast) var(--ease-out),box-shadow var(--motion-base) var(--ease-out)}.CaseStudy_galleryTrigger__XPCBS:focus-visible .CaseStudy_iphoneDevice__DApS9,.CaseStudy_galleryTrigger__XPCBS:hover .CaseStudy_iphoneDevice__DApS9{transform:translateY(-8px) scale(1.02);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 60%,rgba(255,255,255,.2)),0 0 0 2.5px #101014,0 32px 64px -16px rgba(0,0,0,.85),0 0 32px color-mix(in srgb,var(--color-accent) 25%,transparent)}.CaseStudy_iphoneButtonPower__Q9mIi,.CaseStudy_iphoneButtonSilent__4iZoy,.CaseStudy_iphoneButtonVolumeDown__ZPj_6,.CaseStudy_iphoneButtonVolumeUp__WtvI9{position:absolute;background:#27272e;border-radius:2px}.CaseStudy_iphoneButtonSilent__4iZoy{left:-3px;top:90px;width:3px;height:20px}.CaseStudy_iphoneButtonVolumeUp__WtvI9{left:-3px;top:124px;width:3px;height:40px}.CaseStudy_iphoneButtonVolumeDown__ZPj_6{left:-3px;top:172px;width:3px;height:40px}.CaseStudy_iphoneButtonPower__Q9mIi{right:-3px;top:130px;width:3px;height:58px}.CaseStudy_iphoneScreen__2x8jv{position:relative;width:100%;height:100%;border-radius:36px;overflow:hidden;background:#000;box-shadow:inset 0 0 0 1px rgba(0,0,0,.9)}.CaseStudy_iphoneDynamicIsland__u77kz{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:66px;height:19px;background:#000;border-radius:20px;z-index:12;display:flex;align-items:center;justify-content:flex-end;padding-right:6px;box-shadow:0 0 0 .5px rgba(255,255,255,.08);pointer-events:none}.CaseStudy_iphoneCameraLens__YslSk{width:7px;height:7px;border-radius:50%;background:#0d1322;box-shadow:inset 0 0 2px rgba(255,255,255,.4)}.CaseStudy_iphoneScreenInner__e3Jv4{position:absolute;inset:0;width:100%;height:100%}.CaseStudy_iphoneImage__FvWXc{object-fit:cover;object-position:top center}.CaseStudy_iphoneHomeIndicator___9KSC{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);width:84px;height:3.5px;background:rgba(255,255,255,.65);border-radius:3px;z-index:12;pointer-events:none}.CaseStudy_galleryMedia__BlGjS{position:relative;aspect-ratio:16/9;inline-size:100%;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);transition:border-color var(--motion-base) var(--ease-out),transform var(--motion-fast) var(--ease-out),box-shadow var(--motion-base) var(--ease-out)}.CaseStudy_galleryMediaPhone__9rim9{max-inline-size:360px;margin-inline:auto;aspect-ratio:9/16}.CaseStudy_galleryTrigger__XPCBS:focus-visible .CaseStudy_galleryMedia__BlGjS,.CaseStudy_galleryTrigger__XPCBS:hover .CaseStudy_galleryMedia__BlGjS{border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border));transform:translateY(-3px);box-shadow:0 12px 28px color-mix(in srgb,var(--color-text) 10%,transparent)}.CaseStudy_galleryImage__9ofzb{object-fit:contain}.CaseStudy_galleryCaption__ywDCT{-webkit-margin-before:var(--space-4);margin-block-start:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.4}.CaseStudy_galleryGridLandscape__rc5mW .CaseStudy_galleryCaption__ywDCT{text-align:left;max-width:100%}.CaseStudy_galleryGridPhone__ra98Q .CaseStudy_galleryCaption__ywDCT{text-align:center;max-width:250px}.CaseStudy_lightbox__i64nE{inline-size:min(960px,calc(100vw - 2rem));max-block-size:calc(100svh - 2rem);margin:auto;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text)}.CaseStudy_lightbox__i64nE::-webkit-backdrop{background:color-mix(in srgb,var(--color-text) 55%,transparent)}.CaseStudy_lightbox__i64nE::backdrop{background:color-mix(in srgb,var(--color-text) 55%,transparent)}.CaseStudy_lightboxInner__zBrb0{display:flex;flex-direction:column;gap:var(--space-4);min-block-size:0}.CaseStudy_lightboxActions__Re8OQ,.CaseStudy_lightboxNav__wXHpK,.CaseStudy_lightboxToolbar__yfdcP{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.CaseStudy_lightboxToolbar__yfdcP{justify-content:space-between}.CaseStudy_lightboxCaption__FuGO8{margin:0;max-inline-size:48ch;font-size:var(--text-sm);color:var(--color-text-muted)}.CaseStudy_lightboxStage__cA_Ya{display:flex;justify-content:center;overflow:auto;padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-2)}.CaseStudy_lightboxImage__kNC_z{inline-size:auto;max-inline-size:100%;block-size:auto;max-block-size:min(72svh,920px);object-fit:contain}.CaseStudy_lightboxNav__wXHpK{justify-content:center}.CaseStudy_lightboxCount__0NLII{font-family:var(--font-mono-stack);font-size:var(--text-sm);color:var(--color-text-muted)}.CaseStudy_lightboxClose__pE3BM,.CaseStudy_lightboxNavButton__e1wZ4{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer;font:inherit}.CaseStudy_lightboxClose__pE3BM:focus-visible,.CaseStudy_lightboxClose__pE3BM:hover,.CaseStudy_lightboxNavButton__e1wZ4:focus-visible,.CaseStudy_lightboxNavButton__e1wZ4:hover{border-color:var(--color-accent)}.CaseStudy_lightboxClose__pE3BM:focus-visible,.CaseStudy_lightboxNavButton__e1wZ4:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (max-width:640px){.CaseStudy_showcaseBoxHeader__spIP1{padding:var(--space-3) var(--space-4)}.CaseStudy_windowTitle__MlhKW{display:none}.CaseStudy_showcaseStage__8hA6e{padding:var(--space-6) var(--space-3) var(--space-8)}.CaseStudy_galleryGridPhone__ra98Q{flex-direction:column;align-items:center;gap:var(--space-10)}}@media (prefers-reduced-motion:reduce){.CaseStudy_galleryMedia__BlGjS,.CaseStudy_iphoneDevice__DApS9{transition:none}.CaseStudy_galleryTrigger__XPCBS:focus-visible .CaseStudy_galleryMedia__BlGjS,.CaseStudy_galleryTrigger__XPCBS:focus-visible .CaseStudy_iphoneDevice__DApS9,.CaseStudy_galleryTrigger__XPCBS:hover .CaseStudy_galleryMedia__BlGjS,.CaseStudy_galleryTrigger__XPCBS:hover .CaseStudy_iphoneDevice__DApS9{transform:none;box-shadow:none}}.CaseStudy_metaCard__bktP8{display:flex;flex-direction:column;gap:var(--space-8)}.CaseStudy_metaList__qu6cB{display:flex;flex-direction:column;gap:var(--space-5);margin:0}.CaseStudy_metaRow__hO2ss{display:flex;flex-direction:column;gap:var(--space-2)}.CaseStudy_metaLabel__lkz_B{font-family:var(--font-mono-stack);font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted)}.CaseStudy_metaValue__d7doS{margin:0;color:var(--color-text)}.CaseStudy_tagRow__z9QgO{display:flex;flex-wrap:wrap;gap:var(--space-2)}.CaseStudy_outcomesBlock__YgWPj{-webkit-padding-before:var(--space-8);padding-block-start:var(--space-8);-webkit-border-before:1px solid var(--color-border);border-block-start:1px solid var(--color-border)}.CaseStudy_outcomesTitle__0POgz{-webkit-margin-after:var(--space-4);margin-block-end:var(--space-4);font-size:var(--text-h3)}.CaseStudy_outcomesList__c2EgF{display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:0;list-style:none}.CaseStudy_outcomesItem__NG3Vm{position:relative;-webkit-padding-start:var(--space-5);padding-inline-start:var(--space-5);font-size:var(--text-sm);color:var(--color-text-muted)}.CaseStudy_outcomesItem__NG3Vm:before{content:"";position:absolute;inset-block-start:.55em;inset-inline-start:0;inline-size:6px;block-size:6px;border-radius:var(--radius-full);background:var(--color-accent)}.CaseStudy_prose__bYR_1{max-inline-size:var(--measure);font-size:var(--text-body-lg);line-height:var(--leading-normal);color:var(--color-text)}.CaseStudy_prose__bYR_1>*+*{-webkit-margin-before:var(--space-6);margin-block-start:var(--space-6)}.CaseStudy_prose__bYR_1 h2{-webkit-margin-before:var(--space-12);margin-block-start:var(--space-12);font-size:var(--text-h2)}.CaseStudy_prose__bYR_1 h3{-webkit-margin-before:var(--space-10);margin-block-start:var(--space-10);font-size:var(--text-h3)}.CaseStudy_prose__bYR_1 ol,.CaseStudy_prose__bYR_1 ul{display:flex;flex-direction:column;gap:var(--space-2);-webkit-padding-start:var(--space-6);padding-inline-start:var(--space-6)}.CaseStudy_prose__bYR_1 blockquote{-webkit-padding-start:var(--space-5);padding-inline-start:var(--space-5);-webkit-border-start:2px solid var(--color-accent);border-inline-start:2px solid var(--color-accent);color:var(--color-text-muted);font-style:italic}.CaseStudy_prose__bYR_1 code{padding:.15em .4em;border-radius:var(--radius-sm);background:var(--color-surface-2);font-family:var(--font-mono-stack);font-size:.9em}.CaseStudy_prose__bYR_1 pre{overflow-x:auto;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.CaseStudy_prose__bYR_1 pre code{padding:0;background:none}.CaseStudy_prose__bYR_1 strong{color:var(--color-text);font-weight:600}.CaseStudy_metrics__QAk1M{-webkit-margin-after:var(--space-12);margin-block-end:var(--space-12)}.CaseStudy_metricsGrid__roh6T{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:var(--space-6);gap:var(--space-6);margin:0;padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.CaseStudy_metric__ChU_L{display:flex;flex-direction:column;gap:var(--space-1)}.CaseStudy_metricValue__qS9Jm{margin:0;font-size:var(--text-h2);font-weight:600;letter-spacing:var(--tracking-tight);color:var(--color-text)}.CaseStudy_metricLabel__Rvm_Y{font-family:var(--font-mono-stack);font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted)}.CaseStudy_metricDetail__ST9R1{margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}.CaseStudy_architecture__fCi5A{-webkit-margin-before:var(--space-12);margin-block-start:var(--space-12);-webkit-padding-before:var(--space-10);padding-block-start:var(--space-10);-webkit-border-before:1px solid var(--color-border);border-block-start:1px solid var(--color-border)}.CaseStudy_architectureTitle__XNNCh{-webkit-margin-after:var(--space-6);margin-block-end:var(--space-6);font-size:var(--text-h2)}.CaseStudy_layerList__YOwf1{display:flex;flex-direction:column;gap:var(--space-4);margin:0}.CaseStudy_layer__eDss8{display:grid;grid-template-columns:160px 1fr;grid-gap:var(--space-4);gap:var(--space-4);padding-block:var(--space-4);-webkit-border-after:1px solid var(--color-border);border-block-end:1px solid var(--color-border)}.CaseStudy_layer__eDss8:last-child{-webkit-border-after:none;border-block-end:none}.CaseStudy_layerName__Qrdol{font-family:var(--font-mono-stack);font-size:var(--text-sm);color:var(--color-accent)}.CaseStudy_layerDetail__b8dAC{margin:0;color:var(--color-text)}.CaseStudy_stackFallback__Y0cLy{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.CaseStudy_stackFallbackItem__gzWZo{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--color-text-muted)}@media (max-width:640px){.CaseStudy_layer__eDss8{grid-template-columns:1fr;gap:var(--space-1)}}