.Title_title__MZ67h{font-size:1.5rem;color:var(--primary-dark);margin-bottom:20px;font-weight:700;display:inline-block}.Title_title__MZ67h.Title_white__12Vbo{color:var(--white)}.Title_point__SzZoK{display:inline-block;height:10px;width:10px;background-color:var(--primary);animation-duration:.8s;animation-name:Title_clignoter__FUe5w;animation-iteration-count:infinite;transition:none}.Title_center__1ve7X{width:100%;text-align:center}@keyframes Title_clignoter__FUe5w{0%{opacity:1}40%{opacity:0}to{opacity:1}}@media(min-width:768px){.Title_title__MZ67h{font-size:35px}}@media(min-width:1024px){.Title_title__MZ67h{font-size:50px}}.Typography_title__dMfnR{font-size:1.5em;color:var(--primary-dark)}.Typography_paragraph__4X9v0{font-size:1rem;color:var(--gray);font-weight:400;line-height:1.75;margin-bottom:16px}.Typography_button__K2gdy{font-size:20px;background-color:var(--primary);font-weight:700;color:var(--white);padding:20px}.Typography_sub_title__MPCiD{font-size:1.4rem;color:var(--primary-dark);font-weight:700;margin-top:40px;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--primary-ligth)}.Typography_list__ynkkt{list-style:none;padding:0 0 0 28px;margin:0 0 24px}@media(max-width:600px){.Typography_list__ynkkt{padding-left:16px}}.Typography_list__ynkkt li{position:relative;padding-left:20px;margin-bottom:10px;font-size:1rem;color:var(--gray);line-height:1.7}.Typography_list__ynkkt li:before{content:"";position:absolute;left:0;top:10px;width:8px;height:8px;background-color:var(--primary)}.Button_btn___t8GZ{font-size:20px;background-color:var(--primary);font-weight:700;color:var(--white);padding:20px;border:2px solid var(--primary);display:flex;align-items:center;gap:10px}.Button_btn___t8GZ:hover{background-color:var(--white);color:var(--primary)}.TechStack_grid___BgdR{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:40px;margin:24px 0 40px}@media(max-width:767px){.TechStack_grid___BgdR{gap:24px}}.TechStack_card__8LE5I{display:flex;align-items:center;gap:10px}.TechStack_logoWrapper__f_LSD{width:120px;height:120px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.TechStack_logo__E0yR6{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.TechStack_fallback__mAfW6{font-size:1.4rem;font-weight:700;color:var(--primary);line-height:1}.TechStack_label__S3j7b{font-size:1rem;font-weight:600;color:var(--dark);white-space:nowrap;text-align:center}.Showcase_showcase__IQckZ{display:flex;flex-direction:column;gap:32px;margin:48px 0}@media(min-width:768px){.Showcase_showcase__IQckZ{flex-direction:row;align-items:center;gap:48px}.Showcase_showcase__IQckZ.Showcase_reverse__Y536D{flex-direction:row-reverse}}.Showcase_textSide__dyS_V{flex:1;position:relative;overflow:hidden}.Showcase_watermark__4MzzX{position:absolute;top:-10px;left:-8px;font-size:5rem;font-weight:900;text-transform:uppercase;color:var(--gray-ligth);opacity:.15;line-height:1;pointer-events:none;white-space:nowrap;z-index:0}@media(min-width:1024px){.Showcase_watermark__4MzzX{font-size:6.5rem}}.Showcase_title__S9VzN{position:relative;z-index:1;font-size:1.5rem;font-weight:700;color:var(--dark);margin:0 0 16px}.Showcase_description__yGQoH{position:relative;z-index:1;font-size:.95rem;line-height:1.7;color:var(--dark);margin:0 0 20px}.Showcase_list__xTVdt{position:relative;z-index:1;display:flex;flex-direction:column;gap:16px;padding:0;list-style:none;margin:0 0 0 40px}.Showcase_list__xTVdt li{position:relative;padding-left:20px;font-size:.95rem;line-height:1.6;color:var(--dark)}.Showcase_list__xTVdt li:before{content:"";position:absolute;left:0;top:10px;width:8px;height:8px;background:var(--primary)}.Showcase_imageSide__mD3aB{flex:1}@media(min-width:768px){.Showcase_imageSide__mD3aB{flex:1.1}}.Showcase_imageFrame__Y6czd{border-radius:4px;overflow:hidden}.Showcase_imageFrame__Y6czd img{width:100%;display:block}.ScreenshotFrame_frame__zfXYj{position:relative;width:100%;overflow:hidden;border-radius:10px;background:radial-gradient(circle at 22% 12%,hsla(0,0%,100%,.16) 0,transparent 58%),var(--shot-backdrop,var(--primary-dark));transition:background-color .4s ease,background .4s ease;display:flex;align-items:center;justify-content:center;padding:6%}@media(max-width:767px){.ScreenshotFrame_frame__zfXYj{padding:5%;border-radius:6px}}.ScreenshotFrame_stage__HxiIn{width:100%;height:100%;display:flex;align-items:center;justify-content:center;perspective:1600px}.ScreenshotFrame_window__k9w8Z{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:10px;background:var(--white);box-shadow:0 2px 6px rgba(0,0,0,.14),0 18px 40px rgba(0,0,0,.3),0 42px 80px rgba(0,0,0,.24);transition:transform .5s cubic-bezier(.2,.7,.3,1);transform-style:preserve-3d}@media(max-width:767px){.ScreenshotFrame_window__k9w8Z{border-radius:6px}}.ScreenshotFrame_chrome__LzXk4{flex:none;display:flex;align-items:center;gap:12px;padding:0 12px;height:28px;background:#f1efee;border-bottom:1px solid rgba(0,0,0,.07)}@media(max-width:767px){.ScreenshotFrame_chrome__LzXk4{height:20px;padding:0 8px;gap:8px}}.ScreenshotFrame_dots__6bmO_{display:flex;gap:6px;flex:none}.ScreenshotFrame_dots__6bmO_>i{width:8px;height:8px;border-radius:50%;background:#d6d1ce}.ScreenshotFrame_dots__6bmO_>i:first-child{background:#ec6a5e}.ScreenshotFrame_dots__6bmO_>i:nth-child(2){background:#f4bf4f}.ScreenshotFrame_dots__6bmO_>i:nth-child(3){background:#61c554}@media(max-width:767px){.ScreenshotFrame_dots__6bmO_{gap:4px}.ScreenshotFrame_dots__6bmO_>i{width:5px;height:5px}}.ScreenshotFrame_url__uk79N{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px;letter-spacing:.02em;color:var(--gray-2);background:var(--white);border-radius:20px;padding:2px 10px}@media(max-width:767px){.ScreenshotFrame_url__uk79N{display:none}}.ScreenshotFrame_shot__YqinD{flex:1;min-height:0;background:var(--white)}.ScreenshotFrame_shot__YqinD>img{width:100%;height:100%;display:block}.ScreenshotFrame_tiltLeft__FMS2l .ScreenshotFrame_window__k9w8Z{transform:rotateY(9deg) rotateX(3deg) scale(.97)}.ScreenshotFrame_tiltRight__CtA4_ .ScreenshotFrame_window__k9w8Z{transform:rotateY(-9deg) rotateX(3deg) scale(.97)}@media(max-width:767px){.ScreenshotFrame_tiltLeft__FMS2l .ScreenshotFrame_window__k9w8Z,.ScreenshotFrame_tiltRight__CtA4_ .ScreenshotFrame_window__k9w8Z{transform:none}}.ScreenshotFrame_interactive__nV4ky:hover .ScreenshotFrame_window__k9w8Z{transform:translateY(-10px) scale(1.01)}.ScreenshotFrame_interactive__nV4ky.ScreenshotFrame_tiltLeft__FMS2l:hover .ScreenshotFrame_window__k9w8Z,.ScreenshotFrame_interactive__nV4ky.ScreenshotFrame_tiltRight__CtA4_:hover .ScreenshotFrame_window__k9w8Z{transform:translateY(-10px) rotateY(0deg) rotateX(0deg) scale(1)}@media(prefers-reduced-motion:reduce){.ScreenshotFrame_window__k9w8Z{transition:none}}.Callout_callout__NyHGX{margin:32px 0;padding:18px 22px;border-left:3px solid var(--primary-dark);background-color:var(--cream)}.Callout_tip__psSag{border-left-color:#2f7d5b;background-color:#f1f7f3}.Callout_warning__qA2yH{border-left-color:var(--primary);background-color:#fdf1ec}.Callout_label__gOUit{margin:0 0 6px;color:#2e211b;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.Callout_body__I9lLP>:last-child{margin-bottom:0}.Figure_figure__d_5EM{margin:36px 0}.Figure_image__kuemo{display:block;width:100%;height:auto;border:1px solid var(--gray-ligth)}.Figure_caption__O_jCJ{margin-top:10px;color:var(--gray-2);font-size:.85rem;line-height:1.5}@keyframes BlogPost_postFadeUp__7V59S{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.BlogPost_hero__BzkbZ{margin-top:102px;padding:32px 0 8px;background-color:var(--white)}@media(min-width:1024px){.BlogPost_hero__BzkbZ{padding-top:56px}}.BlogPost_heroInner__aCfJQ{max-width:calc(700px + 80px);margin:0 auto;padding:0 20px}@media(min-width:768px){.BlogPost_heroInner__aCfJQ{padding:0 40px}}.BlogPost_heroInner__aCfJQ>*{opacity:0;animation:BlogPost_postFadeUp__7V59S .6s cubic-bezier(.4,0,.2,1) forwards}.BlogPost_heroInner__aCfJQ>:nth-child(2){animation-delay:.08s}.BlogPost_heroInner__aCfJQ>:nth-child(3){animation-delay:.16s}.BlogPost_heroInner__aCfJQ>:nth-child(4){animation-delay:.26s}.BlogPost_heroInner__aCfJQ>:nth-child(5){animation-delay:.36s}.BlogPost_heroInner__aCfJQ>:nth-child(6){animation-delay:.44s}@media(min-width:1200px){.BlogPost_heroWithToc__DV9uj .BlogPost_heroInner__aCfJQ{max-width:calc(700px + 72px + 240px + 80px)}.BlogPost_heroWithToc__DV9uj .BlogPost_heroInner__aCfJQ>*{max-width:700px}}.BlogPost_back__takRr{display:inline-block;margin-bottom:28px;color:var(--gray);font-size:.85rem;text-decoration:none;transition:color .2s ease}.BlogPost_back__takRr:hover{color:var(--primary)}.BlogPost_tags__lNq6F{margin:0 0 16px;color:var(--primary);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.BlogPost_title__wISjg{margin:0;color:#2e211b;font-size:2.2rem;font-weight:700;line-height:1.12;letter-spacing:-.02em}@media(min-width:768px){.BlogPost_title__wISjg{font-size:3rem}}@media(min-width:1024px){.BlogPost_title__wISjg{font-size:3.4rem}}.BlogPost_draft__TLpLn{display:inline-block;margin-left:14px;padding:4px 10px;border:1px dashed var(--gray-2);color:var(--gray-2);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;vertical-align:middle}.BlogPost_lead__Jn4PO{margin:22px 0 0;color:var(--gray);font-size:1.1rem;line-height:1.65}@media(min-width:1024px){.BlogPost_lead__Jn4PO{font-size:1.2rem}}.BlogPost_meta__iVvF6{display:flex;flex-wrap:wrap;gap:6px 10px;margin:26px 0 0;padding-top:20px;border-top:1px solid var(--gray-ligth);color:#8c817a;font-size:.85rem}.BlogPost_languageNote__x0QXf{margin:12px 0 0;color:var(--gray-2);font-size:.85rem;font-style:italic}.BlogPost_cover__rjHWd{max-width:1100px;margin:40px auto 0;padding:0 20px}@media(min-width:768px){.BlogPost_cover__rjHWd{padding:0 40px}}.BlogPost_cover__rjHWd img{display:block;width:100%;height:auto;border:1px solid var(--gray-ligth)}.BlogPost_layout__iMpw0{max-width:calc(700px + 80px);margin:0 auto;padding:40px 20px 72px}@media(min-width:768px){.BlogPost_layout__iMpw0{padding:48px 40px 88px}}@media(min-width:1200px){.BlogPost_layoutWithToc__jDvEl{display:grid;grid-template-columns:minmax(0,700px) 240px;justify-content:center;-moz-column-gap:72px;column-gap:72px;max-width:none}}.BlogPost_tocInline__IjRmD{margin-bottom:36px;border-top:1px solid var(--gray-ligth);border-bottom:1px solid var(--gray-ligth)}.BlogPost_tocInline__IjRmD summary{padding:14px 0;color:#2e211b;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.BlogPost_tocInline__IjRmD .BlogPost_tocList__3qL9P{padding-bottom:16px}@media(min-width:1200px){.BlogPost_tocInline__IjRmD{display:none}}.BlogPost_tocAside___ZzJL{display:none}@media(min-width:1200px){.BlogPost_tocAside___ZzJL{display:block;position:sticky;top:140px;align-self:start;padding-left:24px;border-left:1px solid var(--gray-ligth)}}.BlogPost_tocTitle__8BZ97{margin:0 0 14px;color:#2e211b;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.BlogPost_tocList__3qL9P{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;counter-reset:toc}.BlogPost_tocList__3qL9P li{counter-increment:toc;display:flex;gap:10px;font-size:.88rem;line-height:1.45}.BlogPost_tocList__3qL9P li:before{content:counter(toc,decimal-leading-zero);flex:none;color:var(--primary);font-size:.75rem;font-weight:700;line-height:1.9}.BlogPost_tocList__3qL9P a{color:var(--gray);text-decoration:none}.BlogPost_tocList__3qL9P a:hover{color:var(--primary)}.BlogPost_prose__6SaEI{min-width:0;color:#3d3530;font-size:1.05rem;line-height:1.8}@media(min-width:1024px){.BlogPost_prose__6SaEI{font-size:1.1rem}}.BlogPost_prose__6SaEI>:first-child{margin-top:0}.BlogPost_prose__6SaEI p{margin:0 0 1.35em}.BlogPost_prose__6SaEI h2,.BlogPost_prose__6SaEI h3{color:#2e211b;font-weight:700;letter-spacing:-.015em;scroll-margin-top:130px}.BlogPost_prose__6SaEI h2{margin:2.2em 0 .7em;font-size:1.6rem;line-height:1.25}@media(min-width:1024px){.BlogPost_prose__6SaEI h2{font-size:1.85rem}}.BlogPost_prose__6SaEI h3{margin:1.8em 0 .5em;font-size:1.25rem;line-height:1.3}.BlogPost_prose__6SaEI a{color:var(--primary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.BlogPost_prose__6SaEI a:hover{color:var(--primary-dark)}.BlogPost_prose__6SaEI strong{color:#2e211b;font-weight:700}.BlogPost_prose__6SaEI ol,.BlogPost_prose__6SaEI ul{margin:0 0 1.35em;padding-left:1.4em}.BlogPost_prose__6SaEI ul{list-style:none;padding-left:1.2em}.BlogPost_prose__6SaEI ul li{position:relative}.BlogPost_prose__6SaEI ul li:before{content:"";position:absolute;left:-1.1em;top:.72em;width:7px;height:7px;background-color:var(--primary)}.BlogPost_prose__6SaEI ol{list-style:decimal}.BlogPost_prose__6SaEI ol li::marker{color:var(--primary);font-weight:700}.BlogPost_prose__6SaEI li{margin-bottom:.45em}.BlogPost_prose__6SaEI blockquote{margin:1.8em 0;padding:4px 0 4px 22px;border-left:3px solid var(--primary);color:#2e211b;font-size:1.15em;font-style:italic;line-height:1.6}.BlogPost_prose__6SaEI blockquote p:last-child{margin-bottom:0}.BlogPost_prose__6SaEI hr{margin:3em 0;border:0;border-top:1px solid var(--gray-ligth)}.BlogPost_prose__6SaEI img{max-width:100%;height:auto}.BlogPost_prose__6SaEI table{display:block;width:100%;margin:0 0 1.6em;overflow-x:auto;border-collapse:collapse;font-size:.92em}.BlogPost_prose__6SaEI td,.BlogPost_prose__6SaEI th{padding:10px 14px;border-bottom:1px solid var(--gray-ligth);text-align:left;vertical-align:top}.BlogPost_prose__6SaEI th{color:#2e211b;font-weight:700;border-bottom-color:#2e211b}.BlogPost_prose__6SaEI :not(pre)>code{padding:.12em .4em;background-color:var(--gray-3);border:1px solid var(--gray-ligth);color:var(--primary-dark-2);font-size:.88em;overflow-wrap:anywhere}.BlogPost_prose__6SaEI figure[data-rehype-pretty-code-figure]{margin:1.8em 0}.BlogPost_prose__6SaEI figcaption[data-rehype-pretty-code-title]{padding:8px 16px;background-color:#2b3138;border-bottom:1px solid hsla(0,0%,100%,.08);color:#adbac7;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.BlogPost_prose__6SaEI pre{margin:0;padding:18px 0;overflow-x:auto;font-size:.85rem;line-height:1.7}.BlogPost_prose__6SaEI pre code{display:grid;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.BlogPost_prose__6SaEI pre [data-line]{padding:0 18px}.BlogPost_prose__6SaEI pre [data-highlighted-line]{background-color:rgba(237,84,37,.14);box-shadow:inset 3px 0 0 var(--primary)}.BlogPost_neighbours__6D5LF{display:grid;grid-template-columns:minmax(0,1fr);gap:1px;max-width:calc(700px + 80px);margin:0 auto;padding:0 20px 64px}@media(min-width:768px){.BlogPost_neighbours__6D5LF{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0 40px 80px}}.BlogPost_neighbour__uObr8{display:flex;flex-direction:column;gap:8px;padding:20px 0;border-top:1px solid var(--gray-ligth);text-decoration:none}.BlogPost_neighbour__uObr8:hover .BlogPost_neighbourTitle__rlhuN{color:var(--primary)}@media(min-width:768px){.BlogPost_neighbourNext__34OPO{text-align:right}}.BlogPost_neighbourLabel__3PEx7{color:var(--gray-2);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.BlogPost_neighbourTitle__rlhuN{color:var(--primary-dark);font-size:1.05rem;font-weight:700;line-height:1.35;transition:color .2s ease}.BlogPost_cta__EfGah{background-color:var(--cream)}.BlogPost_ctaInner__twNN9{display:flex;flex-direction:column;gap:24px;max-width:1180px;margin:0 auto;padding:56px 20px}@media(min-width:768px){.BlogPost_ctaInner__twNN9{padding:64px 40px}}@media(min-width:1024px){.BlogPost_ctaInner__twNN9{flex-direction:row;align-items:center;justify-content:space-between;gap:60px;padding:72px 40px}}.BlogPost_ctaTitle__5AYjq{margin:0;color:var(--primary-dark);font-size:1.5rem;font-weight:700;line-height:1.25}@media(min-width:1024px){.BlogPost_ctaTitle__5AYjq{font-size:1.9rem}}.BlogPost_ctaText__yElkM{max-width:58ch;margin:12px 0 0;color:var(--gray);line-height:1.7}.BlogPost_ctaButton__FMwVH{flex:none;align-self:flex-start;padding:16px 20px;border:2px solid var(--primary);background-color:var(--primary);color:var(--white);font-size:17px;font-weight:700;text-decoration:none;transition:background-color .2s ease,color .2s ease}.BlogPost_ctaButton__FMwVH:hover{background-color:var(--white);color:var(--primary)}@media(min-width:1024px){.BlogPost_ctaButton__FMwVH{align-self:center}}@media(prefers-reduced-motion:reduce){.BlogPost_heroInner__aCfJQ>*{animation:none;opacity:1}}