.DeviceMockup-module-scss-module__IUWTgG__mockup{width:100%;max-width:900px;margin:0 auto;position:relative}.DeviceMockup-module-scss-module__IUWTgG__deviceImage{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.DeviceMockup-module-scss-module__IUWTgG__macbook{filter:drop-shadow(0 12px 32px #0003);width:100%}.DeviceMockup-module-scss-module__IUWTgG__macbookScreen{border-radius:10px 10px 0 0;overflow:hidden}@media (max-width:37.5em){.DeviceMockup-module-scss-module__IUWTgG__macbookScreen{border-radius:8px 8px 0 0}}.DeviceMockup-module-scss-module__IUWTgG__macbookBase{background:linear-gradient(silver,#a8a8a8);border-radius:0 0 2px 2px;height:14px;position:relative}.DeviceMockup-module-scss-module__IUWTgG__macbookBase:before{content:"";background:#888;border-radius:0 0 1px 1px;height:2px;position:absolute;top:0;left:0;right:0}@media (max-width:37.5em){.DeviceMockup-module-scss-module__IUWTgG__macbookBase{height:10px}}@media (prefers-color-scheme:dark){.DeviceMockup-module-scss-module__IUWTgG__macbookBase{background:linear-gradient(#555,#444)}.DeviceMockup-module-scss-module__IUWTgG__macbookBase:before{background:#333}}.DeviceMockup-module-scss-module__IUWTgG__macbookNotch{background:#999;border-radius:0 0 4px 4px;width:18%;height:4px;position:absolute;top:0;left:50%;transform:translate(-50%)}@media (prefers-color-scheme:dark){.DeviceMockup-module-scss-module__IUWTgG__macbookNotch{background:#555}}
.CaseStudyPage-module-scss-module__A1ywFq__caseStudy{position:relative}.CaseStudyPage-module-scss-module__A1ywFq__body{max-width:640px;margin:0 auto;padding:80px 24px 0}@media (max-width:56.25em){.CaseStudyPage-module-scss-module__A1ywFq__body{padding:0 20px}}.CaseStudyPage-module-scss-module__A1ywFq__content{width:100%}.CaseStudyPage-module-scss-module__A1ywFq__progress{z-index:50;transform-origin:0;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0}.CaseStudyPage-module-scss-module__A1ywFq__hero{padding:80px 0 0}@media (max-width:37.5em){.CaseStudyPage-module-scss-module__A1ywFq__hero{padding-top:48px}}.CaseStudyPage-module-scss-module__A1ywFq__heroInner{max-width:680px;margin:0 auto;padding:0 24px}.CaseStudyPage-module-scss-module__A1ywFq__heroBack{color:var(--color-paragraph);align-items:center;gap:6px;margin-bottom:64px;font-size:14px;text-decoration:none;transition:color .3s;display:inline-flex;position:relative}.CaseStudyPage-module-scss-module__A1ywFq__heroBack:after{content:"";background-color:var(--color-violet);width:0;height:1px;transition:width .4s;position:absolute;bottom:-2px;left:0}.CaseStudyPage-module-scss-module__A1ywFq__heroBack:hover:after{width:100%}.CaseStudyPage-module-scss-module__A1ywFq__heroBack:hover{color:var(--color-text)}.CaseStudyPage-module-scss-module__A1ywFq__heroType{text-transform:uppercase;letter-spacing:.15em;color:var(--color-paragraph);margin-bottom:16px;font-size:11px}.CaseStudyPage-module-scss-module__A1ywFq__heroTitle{font-family:var(--font-serif);color:var(--color-text);text-wrap:balance;margin-bottom:16px;font-size:clamp(2.5rem,5vw,4rem);font-weight:400;line-height:1.1}.CaseStudyPage-module-scss-module__A1ywFq__heroDescription{max-width:560px;color:var(--color-paragraph);margin-bottom:80px;font-size:18px;line-height:1.7}.CaseStudyPage-module-scss-module__A1ywFq__heroImage{max-width:1100px;margin:0 auto;padding:0 24px}.CaseStudyPage-module-scss-module__A1ywFq__stats{border-bottom:1px solid var(--color-border);margin-bottom:64px;padding-bottom:48px}@media (max-width:37.5em){.CaseStudyPage-module-scss-module__A1ywFq__stats{margin-bottom:48px}}.CaseStudyPage-module-scss-module__A1ywFq__metaGrid{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:24px 32px;margin-bottom:24px;padding-bottom:24px;display:grid}@media (max-width:37.5em){.CaseStudyPage-module-scss-module__A1ywFq__metaGrid{grid-template-columns:repeat(2,1fr);gap:20px}}.CaseStudyPage-module-scss-module__A1ywFq__metaItem{flex-direction:column;gap:4px;display:flex}.CaseStudyPage-module-scss-module__A1ywFq__metaLabel{text-transform:uppercase;letter-spacing:.15em;color:var(--color-paragraph);font-size:10px;font-weight:600}.CaseStudyPage-module-scss-module__A1ywFq__metaValue{color:var(--color-text);font-size:14px;line-height:1.4}.CaseStudyPage-module-scss-module__A1ywFq__techRow{flex-wrap:wrap;align-items:baseline;display:flex}.CaseStudyPage-module-scss-module__A1ywFq__techLabel{text-transform:uppercase;letter-spacing:.15em;color:var(--color-paragraph);margin-right:16px;font-size:10px;font-weight:600;display:inline}.CaseStudyPage-module-scss-module__A1ywFq__techList{color:var(--color-text);font-size:14px;line-height:1.6;display:inline}.CaseStudyPage-module-scss-module__A1ywFq__tocNav{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:24px;display:flex}.CaseStudyPage-module-scss-module__A1ywFq__tocBackLink{color:var(--color-paragraph);align-items:center;gap:4px;font-size:12px;text-decoration:none;transition:color .3s;display:inline-flex}.CaseStudyPage-module-scss-module__A1ywFq__tocBackLink:hover{color:var(--color-orange)}.CaseStudyPage-module-scss-module__A1ywFq__toc{z-index:30;width:180px;position:fixed;bottom:40px;left:40px}@media (max-width:56.25em){.CaseStudyPage-module-scss-module__A1ywFq__toc{display:none}}.CaseStudyPage-module-scss-module__A1ywFq__tocInner{padding-top:0}.CaseStudyPage-module-scss-module__A1ywFq__tocLabel{text-transform:uppercase;letter-spacing:.2em;color:var(--color-paragraph);margin-bottom:16px;font-size:10px;font-weight:600}.CaseStudyPage-module-scss-module__A1ywFq__tocList{border-left:1px solid var(--color-border);margin:0;padding:0;list-style:none}.CaseStudyPage-module-scss-module__A1ywFq__tocItem{color:var(--color-paragraph);border-left:2px solid #0000;margin-left:-1px;padding:6px 0 6px 16px;font-size:13px;text-decoration:none;transition:color .2s,border-color .2s;display:block}.CaseStudyPage-module-scss-module__A1ywFq__tocItem:hover{color:var(--color-orange)}.CaseStudyPage-module-scss-module__A1ywFq__tocItemActive{color:var(--color-orange);border-left-color:var(--color-orange);font-weight:500;}.CaseStudyPage-module-scss-module__A1ywFq__tocLink{border-top:1px solid var(--color-border);color:var(--color-paragraph);align-items:center;gap:6px;margin-top:32px;padding-top:20px;font-size:12px;font-weight:500;text-decoration:none;transition:color .3s;display:flex}.CaseStudyPage-module-scss-module__A1ywFq__tocLink:hover{color:var(--color-orange)}.CaseStudyPage-module-scss-module__A1ywFq__tocCta{border-top:1px solid var(--color-border);margin-top:32px;padding-top:20px}.CaseStudyPage-module-scss-module__A1ywFq__tocCtaTitle{font-family:var(--font-serif);color:var(--color-text);margin-bottom:6px;font-size:14px;font-weight:400;line-height:1.4}.CaseStudyPage-module-scss-module__A1ywFq__tocCtaDescription{color:var(--color-paragraph);margin-bottom:12px;font-size:11px;line-height:1.5}.CaseStudyPage-module-scss-module__A1ywFq__tocCtaLink{color:var(--color-text);border-bottom:1px solid var(--color-border);padding-bottom:1px;font-size:11px;font-weight:600;text-decoration:none;transition:border-color .3s,color .3s;display:inline-block}.CaseStudyPage-module-scss-module__A1ywFq__tocCtaLink:hover{border-color:var(--color-orange);color:var(--color-orange)}.CaseStudyPage-module-scss-module__A1ywFq__mobileToc{z-index:40;background-color:var(--color-background);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .3s,transform .3s;position:sticky;top:0}@media (min-width:56.25em){.CaseStudyPage-module-scss-module__A1ywFq__mobileToc{display:none}}.CaseStudyPage-module-scss-module__A1ywFq__mobileTocHidden{opacity:0;pointer-events:none;transform:translateY(-100%)}.CaseStudyPage-module-scss-module__A1ywFq__mobileTocInner{white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:24px;padding:14px 20px;display:flex;overflow-x:auto}.CaseStudyPage-module-scss-module__A1ywFq__mobileTocInner::-webkit-scrollbar{display:none}.CaseStudyPage-module-scss-module__A1ywFq__mobileTocItem{color:var(--color-paragraph);border-bottom:2px solid #0000;flex-shrink:0;padding-bottom:4px;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s,border-color .2s}.CaseStudyPage-module-scss-module__A1ywFq__mobileTocItem:hover{color:var(--color-text)}.CaseStudyPage-module-scss-module__A1ywFq__mobileTocItemActive{color:var(--color-orange);border-bottom-color:var(--color-orange);}.CaseStudyPage-module-scss-module__A1ywFq__section{margin-bottom:80px;scroll-margin-top:112px}@media (max-width:37.5em){.CaseStudyPage-module-scss-module__A1ywFq__section{margin-bottom:56px}}.CaseStudyPage-module-scss-module__A1ywFq__sectionWithTitle{border-top:1px solid var(--color-border);padding-top:48px;}.CaseStudyPage-module-scss-module__A1ywFq__sectionTitle{font-family:var(--font-serif);color:var(--color-text);margin-bottom:24px;font-size:clamp(1.5rem,3vw,2rem);font-weight:400;line-height:1.3}.CaseStudyPage-module-scss-module__A1ywFq__sectionContent{color:var(--color-paragraph);font-size:16px;line-height:1.75}.CaseStudyPage-module-scss-module__A1ywFq__sectionContentLead{font-size:18px;line-height:1.8;}.CaseStudyPage-module-scss-module__A1ywFq__projectLinkMobile{color:var(--color-text);align-items:center;gap:8px;margin-bottom:64px;font-size:14px;font-weight:500;text-decoration:none;transition:color .3s;display:flex}.CaseStudyPage-module-scss-module__A1ywFq__projectLinkMobile:hover{color:var(--color-paragraph)}@media (min-width:56.25em){.CaseStudyPage-module-scss-module__A1ywFq__projectLinkMobile{display:none}}.CaseStudyPage-module-scss-module__A1ywFq__navigation{border-top:1px solid var(--color-border);max-width:640px;margin:0 auto;padding:64px 20px}@media (max-width:37.5em){.CaseStudyPage-module-scss-module__A1ywFq__navigation{padding:48px 20px}}.CaseStudyPage-module-scss-module__A1ywFq__navGrid{grid-template-columns:1fr 1fr;gap:40px;display:grid}@media (max-width:37.5em){.CaseStudyPage-module-scss-module__A1ywFq__navGrid{grid-template-columns:1fr;gap:32px}}.CaseStudyPage-module-scss-module__A1ywFq__navItem{text-decoration:none;transition:opacity .3s;display:block}.CaseStudyPage-module-scss-module__A1ywFq__navItem:hover{opacity:.7}.CaseStudyPage-module-scss-module__A1ywFq__navItem:hover .CaseStudyPage-module-scss-module__A1ywFq__navItemArrow{transform:translate(4px)}.CaseStudyPage-module-scss-module__A1ywFq__navItem:hover .CaseStudyPage-module-scss-module__A1ywFq__navItemArrowLeft{transform:translate(-4px)}.CaseStudyPage-module-scss-module__A1ywFq__navItemRight{text-align:right;}.CaseStudyPage-module-scss-module__A1ywFq__navItemLabel{text-transform:uppercase;letter-spacing:.15em;color:var(--color-paragraph);align-items:center;gap:6px;margin-bottom:8px;font-size:10px;font-weight:600;display:flex}.CaseStudyPage-module-scss-module__A1ywFq__navItemLabelRight{justify-content:flex-end;}.CaseStudyPage-module-scss-module__A1ywFq__navItemTitle{font-family:var(--font-serif);color:var(--color-text);font-size:18px;font-weight:400;line-height:1.3}.CaseStudyPage-module-scss-module__A1ywFq__navItemArrow{color:var(--color-paragraph);transition:transform .3s}.CaseStudyPage-module-scss-module__A1ywFq__navItemArrowLeft{}.CaseStudyPage-module-scss-module__A1ywFq__cta{border-top:1px solid var(--color-border);text-align:center;max-width:440px;margin:0 auto;padding:80px 20px}@media (max-width:37.5em){.CaseStudyPage-module-scss-module__A1ywFq__cta{padding:56px 20px}}.CaseStudyPage-module-scss-module__A1ywFq__ctaTitle{font-family:var(--font-serif);color:var(--color-text);margin-bottom:16px;font-size:clamp(1.5rem,3vw,2rem);font-weight:400;line-height:1.3}.CaseStudyPage-module-scss-module__A1ywFq__ctaDescription{color:var(--color-paragraph);margin-bottom:32px;font-size:16px;line-height:1.7}.CaseStudyPage-module-scss-module__A1ywFq__ctaLink{color:var(--color-text);border-bottom:1px solid var(--color-text);align-items:center;gap:8px;padding-bottom:2px;font-size:16px;font-weight:600;text-decoration:none;transition:border-color .3s;display:inline-flex;position:relative}.CaseStudyPage-module-scss-module__A1ywFq__ctaLink:after{content:"";background-color:var(--accent,var(--color-violet));width:0;height:1px;transition:width .4s;position:absolute;bottom:-1px;left:0}.CaseStudyPage-module-scss-module__A1ywFq__ctaLink:hover:after{width:100%}.CaseStudyPage-module-scss-module__A1ywFq__ctaLink:hover{border-color:#0000}
.ArticleContent-module-scss-module__NLMqUa__article{width:100vw;height:100%;margin-bottom:150px}@media only screen and (max-width:56.25em){.ArticleContent-module-scss-module__NLMqUa__article{margin:50px 0 0;display:flex}}.ArticleContent-module-scss-module__NLMqUa__nav{flex-direction:column;justify-content:flex-end;align-items:flex-start;height:90vh;padding:30px;display:flex;position:fixed;top:0}@media only screen and (max-width:56.25em){.ArticleContent-module-scss-module__NLMqUa__nav{display:none}}.ArticleContent-module-scss-module__NLMqUa__links{flex-direction:column;justify-content:center;align-items:flex-start;gap:15px;width:100px;height:auto;transition:opacity .3s;display:flex}.ArticleContent-module-scss-module__NLMqUa__mobileNav{display:none}@media only screen and (max-width:56.25em){.ArticleContent-module-scss-module__NLMqUa__mobileNav{flex-direction:column-reverse;justify-content:space-between;gap:20px;width:150px;margin:0 0 50px;padding:0 40px;display:flex}}.ArticleContent-module-scss-module__NLMqUa__container{flex-direction:column;width:700px;height:auto;margin:0 auto;padding:50px 30px;display:flex}@media only screen and (min-width:156em){.ArticleContent-module-scss-module__NLMqUa__container{width:1300px}}@media only screen and (max-width:56.25em){.ArticleContent-module-scss-module__NLMqUa__container{width:100%}}.ArticleContent-module-scss-module__NLMqUa__info{justify-content:flex-start;align-items:center;gap:20px;width:100%;height:auto;display:flex}.ArticleContent-module-scss-module__NLMqUa__header{flex-direction:column;width:100%;height:auto;display:flex}.ArticleContent-module-scss-module__NLMqUa__header p{font-style:italic}.ArticleContent-module-scss-module__NLMqUa__header h2{text-align:left;margin-bottom:20px}.ArticleContent-module-scss-module__NLMqUa__content{border-top:1px solid #0000;width:100%;height:100%;position:relative}.ArticleContent-module-scss-module__NLMqUa__content:before{content:"";background-color:var(--color-violet);width:0;height:1px;transition:width .3s;animation:2s forwards ArticleContent-module-scss-module__NLMqUa__borderColorAnimation;position:absolute;top:0;left:0}.ArticleContent-module-scss-module__NLMqUa__content h1,.ArticleContent-module-scss-module__NLMqUa__content h2,.ArticleContent-module-scss-module__NLMqUa__content h3,.ArticleContent-module-scss-module__NLMqUa__content h4{margin-top:40px;margin-bottom:15px}.ArticleContent-module-scss-module__NLMqUa__content p{margin:8px 0;line-height:1.6}.ArticleContent-module-scss-module__NLMqUa__content ul,.ArticleContent-module-scss-module__NLMqUa__content ol{margin:10px 0;padding-left:20px;list-style-type:disc}.ArticleContent-module-scss-module__NLMqUa__content ul li,.ArticleContent-module-scss-module__NLMqUa__content ol li{color:var(--color-paragraph);margin:5px 0;font-size:16px}.ArticleContent-module-scss-module__NLMqUa__content ol{list-style-type:decimal}.ArticleContent-module-scss-module__NLMqUa__content pre{background-color:var(--color-code-block);border-radius:10px;margin:10px 0;padding:10px;overflow-x:auto}.ArticleContent-module-scss-module__NLMqUa__content pre code{font-family:var(--font-roboto-mono),"Courier New",Courier,monospace;color:var(--color-code);background:0 0;border-radius:0;padding:0;font-size:14px;line-height:1.5;display:block}.ArticleContent-module-scss-module__NLMqUa__content code{color:var(--color-code);background-color:var(--color-code-block);font-family:var(--font-roboto-mono),"Courier New",Courier,monospace;border-radius:4px;padding:2px 6px;font-size:14px}.ArticleContent-module-scss-module__NLMqUa__content img{border-radius:20px;width:100%;margin:30px 0}.ArticleContent-module-scss-module__NLMqUa__content blockquote{border-left:3px solid var(--color-violet);color:var(--color-paragraph);margin:15px 0;padding-left:15px;font-style:italic}.ArticleContent-module-scss-module__NLMqUa__content a{color:var(--color-blue);text-decoration:underline}.ArticleContent-module-scss-module__NLMqUa__coverImage{border-radius:20px;width:100%;height:auto;margin:30px 0}.ArticleContent-module-scss-module__NLMqUa__share{flex-direction:column;align-items:flex-end;gap:10px;width:100%;margin-top:60px;display:flex}.ArticleContent-module-scss-module__NLMqUa__share__icons{justify-content:flex-end;align-items:center;gap:15px;display:flex}.ArticleContent-module-scss-module__NLMqUa__share__icons a{color:var(--color-grey-600);align-items:center;transition:color .3s;display:flex}.ArticleContent-module-scss-module__NLMqUa__share__icons a:hover{color:var(--color-grey-900)}[data-theme=dark] .ArticleContent-module-scss-module__NLMqUa__share__icons a{color:var(--color-grey-200)}[data-theme=dark] .ArticleContent-module-scss-module__NLMqUa__share__icons a:hover{color:var(--color-grey-0)}
.DeviceShowcase-module-scss-module__CxQWVW__showcase{max-width:900px;margin:0 auto;padding:40px 24px 80px}@media (max-width:37.5em){.DeviceShowcase-module-scss-module__CxQWVW__showcase{padding:24px 16px 56px}}.DeviceShowcase-module-scss-module__CxQWVW__devices{position:relative}.DeviceShowcase-module-scss-module__CxQWVW__desktop{width:100%;box-shadow:0 0 0 1px var(--color-border),0 20px 60px -10px #00000026,0 8px 20px -6px #00000014;border-radius:10px;overflow:hidden}[data-theme=dark] .DeviceShowcase-module-scss-module__CxQWVW__desktop{box-shadow:0 0 0 1px var(--color-border),0 20px 60px -10px #00000080,0 8px 20px -6px #0000004d}.DeviceShowcase-module-scss-module__CxQWVW__desktopImage{width:100%;height:auto;display:block}