@import "https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400;1,6..72,500&family=Inter:wght@400;500;600;700;800&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--ink:#0e0b13;--ink-raised:#1a1522;--paper:#f1eef3;--paper-ink:#1e1826;--text:#ece8f2;--text-muted:#ece8f28f;--text-faint:#ece8f252;--violet:#a051ff;--violet-2:#b06dff;--violet-deep:#7a3fcb;--violet-muted:#8c7aa6;--violet-dim:#a051ff1a;--gradient-brand:linear-gradient(135deg, var(--violet) 0%, var(--violet-2) 100%);--line:#ece8f217;--line-strong:#ece8f22e;--serif:"Newsreader", Georgia, serif;--sans:"Inter", -apple-system, sans-serif}*{box-sizing:border-box}html{background:var(--ink);scroll-behavior:smooth;margin:0;padding:0}body{background:var(--ink);color:var(--text);font-family:var(--sans);margin:0;padding:0;overflow-x:hidden}#root{width:100%;min-height:100vh}a{color:inherit;text-decoration:none}button,input{font:inherit}.site{background:var(--ink);min-height:100vh;color:var(--text);position:relative}.particle-layer{z-index:20;opacity:1;pointer-events:none;transition:opacity 1.2s cubic-bezier(.22,1,.36,1);position:fixed;inset:0}.particle-layer canvas{width:100%;height:100%;display:block;position:fixed;inset:0}.particle-finished{opacity:0}.lab-layer{z-index:10;opacity:0;pointer-events:none;transition:opacity 1.4s cubic-bezier(.22,1,.36,1),transform 1.8s cubic-bezier(.22,1,.36,1);position:relative;transform:translateY(20px)scale(1.015)}.lab-visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.lab-page{background:var(--ink);counter-reset:folio;min-height:100vh}.lab-hero,.lab-capabilities,.lab-about,.lab-contact-section{counter-increment:folio;position:relative}.lab-hero:before,.lab-capabilities:before,.lab-about:before,.lab-contact-section:before{content:"N°" counter(folio, decimal-leading-zero);font-family:var(--sans);letter-spacing:.12em;color:var(--violet-muted);opacity:.9;font-size:10px;font-weight:600;position:absolute;top:32px;right:5vw}.lab-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:92px;padding:0 5vw;display:flex}.lab-brand{align-items:center;gap:13px;display:flex}.lab-mark{flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.lab-mark img{object-fit:contain;width:78%;height:78%;display:block}.lab-brand-name{font-family:var(--sans);letter-spacing:.1em;color:var(--text);font-size:12px;font-weight:600}.lab-nav nav{gap:38px;display:flex}.lab-nav nav a{font-family:var(--sans);letter-spacing:.01em;color:var(--text-muted);padding-bottom:4px;font-size:13px;font-weight:500;transition:color .25s;position:relative}.lab-nav nav a:after{content:"";background:var(--violet-muted);transform-origin:0;width:100%;height:1px;transition:transform .3s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0;transform:scaleX(0)}.lab-nav nav a:hover{color:var(--text)}.lab-nav nav a:hover:after{transform:scaleX(1)}.lab-contact{border:1px solid var(--line-strong);font-family:var(--sans);letter-spacing:.04em;color:var(--text);cursor:pointer;background:0 0;align-items:center;gap:10px;padding:11px 18px;font-size:12px;font-weight:600;transition:background .25s,border-color .25s;display:flex}.lab-contact:hover{background:var(--violet-dim);border-color:var(--violet-muted)}.lab-contact span{color:var(--violet-2);font-size:13px;line-height:0}.lab-hero{border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;min-height:calc(100vh - 92px);padding:8vh 5vw;display:flex}.lab-hero h1{max-width:1150px;font-family:var(--serif);letter-spacing:-.015em;margin:0;font-size:clamp(52px,8vw,128px);font-weight:500;line-height:1.02}.lab-hero h1 em{color:var(--violet-2);font-style:italic;font-weight:400}.lab-hero-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:48px;margin-top:56px;padding-top:32px;display:flex}.lab-hero-bottom p{max-width:480px;font-family:var(--sans);color:var(--text-muted);margin:0;font-size:16px;line-height:1.7}.lab-actions{flex-shrink:0;gap:12px;display:flex}.lab-primary,.lab-secondary{min-height:50px;font-family:var(--sans);letter-spacing:.04em;cursor:pointer;justify-content:center;align-items:center;padding:0 22px;font-size:12px;font-weight:600;transition:transform .25s,filter .25s,border-color .25s;display:flex}.lab-primary{background:var(--gradient-brand);color:#fff;border:none;gap:14px}.lab-primary:hover{filter:brightness(1.08);transform:translateY(-2px)}.lab-primary span{font-size:15px}.lab-secondary{border:1px solid var(--line-strong);color:var(--text-muted);background:0 0}.lab-secondary:hover{border-color:var(--violet-muted);color:var(--text);transform:translateY(-2px)}.section-label{font-family:var(--sans);letter-spacing:.14em;color:var(--violet-muted);align-items:center;gap:14px;margin-bottom:56px;font-size:12px;font-weight:600;display:flex}.section-label:after{content:"";background:var(--line-strong);flex:1;height:1px}.lab-capabilities{padding:130px 5vw}.capability-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.capability-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:380px;padding:38px;transition:background .35s}.capability-grid article:hover{background:var(--ink-raised)}.capability-grid article>span{font-family:var(--sans);letter-spacing:.08em;color:var(--violet-muted);font-size:12px;font-weight:600}.capability-grid h2{font-family:var(--serif);letter-spacing:-.01em;color:var(--text);margin:95px 0 22px;font-size:clamp(28px,2.6vw,42px);font-weight:500;line-height:1.05}.capability-grid p{max-width:300px;font-family:var(--sans);color:var(--text-muted);margin:0;font-size:14px;line-height:1.75}.lab-statement{background:var(--ink);flex-direction:column;justify-content:center;min-height:60vh;padding:14vh 5vw;display:flex;position:relative;overflow:hidden}.lab-statement:before{content:"";filter:blur(50px);pointer-events:none;background:radial-gradient(circle,#a051ff2e 0%,#a051ff12 45%,#0000 72%);width:min(900px,70vw);height:min(480px,50vh);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lab-statement h2{z-index:1;text-align:center;max-width:1050px;font-family:var(--serif);letter-spacing:-.015em;color:var(--text);margin:0 auto;font-size:clamp(46px,6.8vw,104px);font-weight:500;line-height:1.05;position:relative}.lab-statement h2 span{color:var(--violet-2);font-style:italic;font-weight:400}.lab-about{border-bottom:1px solid var(--line);padding:130px 5vw}.about-content{grid-template-columns:1.3fr .7fr;gap:80px;display:grid}.about-content h2{font-family:var(--serif);letter-spacing:-.01em;color:var(--text);margin:0;font-size:clamp(38px,5vw,74px);font-weight:500;line-height:1.05}.about-content h2 span{color:var(--violet-2);font-style:italic;font-weight:400}.about-content p{max-width:430px;font-family:var(--sans);color:var(--text-muted);align-self:end;margin:0;font-size:16px;line-height:1.8}.lab-contact-section{flex-direction:column;justify-content:center;align-items:flex-start;min-height:65vh;padding:130px 5vw;display:flex}.lab-contact-section h2{text-align:left;font-family:var(--serif);letter-spacing:-.015em;color:var(--text);margin:0 0 52px;font-size:clamp(48px,7vw,108px);font-weight:500;line-height:1.05}.contact-button{background:var(--gradient-brand);color:#fff;font-family:var(--sans);letter-spacing:.04em;cursor:pointer;border:none;outline:none;align-items:center;gap:16px;padding:18px 24px;font-size:13px;font-weight:600;transition:filter .25s;display:flex}.contact-button:hover{filter:brightness(1.08)}.contact-button span{color:#fff}.lab-footer{border-top:1px solid var(--line);min-height:84px;font-family:var(--sans);letter-spacing:.04em;color:var(--text-faint);grid-template-columns:1fr 2fr auto;align-items:center;padding:0 5vw;font-size:11px;display:grid}.particle-ambient{opacity:1;transition:opacity 1.4s cubic-bezier(.22,1,.36,1)}.contact-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(18px);background:#07050ac2;justify-content:center;align-items:center;padding:20px;animation:.35s forwards modalBackdropIn;display:flex;position:fixed;inset:0;overflow:hidden auto}.contact-modal-particles{pointer-events:none;z-index:1;opacity:1;width:100%;height:100%;transition:opacity .6s;position:absolute;inset:0}.contact-modal-backdrop-closing{opacity:0;pointer-events:none;transition:opacity .9s}.contact-modal-content-closing{pointer-events:none;opacity:0!important;transition:opacity .45s,transform .45s!important;transform:translateY(-4px)!important}.contact-modal-particles-closing{opacity:1!important;transition:opacity .15s!important}.contact-modal-frame-closing{opacity:0!important;transition:opacity .45s!important}.contact-modal-particles-done{opacity:0}.contact-modal-content{z-index:2;opacity:0;transition:opacity .55s,transform .55s;position:relative;transform:translateY(6px)}.contact-modal-content-visible{opacity:1;transform:translateY(0)}.contact-modal{box-sizing:border-box;width:min(620px,100vw - 40px);max-width:620px;max-height:calc(100vh - 40px);margin:auto;padding:38px 42px;animation:.5s cubic-bezier(.22,1,.36,1) forwards modalIn;position:relative;overflow:hidden auto}.contact-modal::-webkit-scrollbar{width:5px}.contact-modal::-webkit-scrollbar-track{background:0 0}.contact-modal::-webkit-scrollbar-thumb{background:#b06dff59;border-radius:10px}.contact-modal-frame{z-index:0;pointer-events:none;opacity:0;background:linear-gradient(145deg,#1e1826fa,#100c16fa);border:1px solid #ece8f221;width:100%;height:100%;transition:opacity .9s;position:absolute;inset:0;box-shadow:0 40px 120px #0000008c}.contact-modal-frame:before{content:"";filter:blur(25px);pointer-events:none;background:radial-gradient(circle,#a051ff26,#0000 70%);width:280px;height:280px;position:absolute;top:-150px;right:-120px}.contact-modal-frame-visible{opacity:1}.contact-modal-close{width:36px;height:36px;color:var(--text-muted);line-height:1;font-family:var(--sans);cursor:pointer;background:#ffffff06;border:1px solid #ece8f224;justify-content:center;align-items:center;padding:0;font-size:22px;font-weight:300;transition:color .2s,background .2s,border-color .2s;display:flex;position:absolute;top:20px;right:20px}.contact-modal-close:hover{color:#fff;background:#a051ff1f;border-color:#b06dff66}.contact-modal-top{box-sizing:border-box;width:100%;font-family:var(--sans);letter-spacing:.16em;color:var(--violet-2);justify-content:space-between;align-items:center;margin:0 0 42px;padding:0 48px 0 0;font-size:9px;font-weight:600;display:flex}.contact-modal-heading{width:100%;margin:0 0 34px;padding:0;position:relative}.contact-modal-heading p{text-align:left;width:100%;max-width:100%;font-family:var(--serif);letter-spacing:-.025em;color:var(--text);margin:0;padding:0;font-size:clamp(40px,5.5vw,62px);font-weight:500;line-height:.98}.contact-modal-heading p em{color:var(--violet-2);font-weight:400}.contact-modal-heading>span{text-align:left;width:100%;max-width:390px;font-family:var(--sans);color:var(--text-muted);margin:18px 0 0;padding:0;font-size:13px;line-height:1.6;display:block}.contact-form{flex-direction:column;gap:20px;width:100%;margin:0;padding:0;display:flex}.contact-field{box-sizing:border-box;border-bottom:1px solid #ece8f221;width:100%;margin:0;padding:0 0 10px;position:relative}.contact-field label{text-align:left;width:100%;font-family:var(--sans);letter-spacing:.14em;color:var(--violet-muted);margin:0 0 7px;padding:0;font-size:8px;font-weight:600;display:block}.contact-field input{box-sizing:border-box;width:100%;max-width:100%;color:var(--text);text-align:left;font-family:var(--sans);background:0 0;border:0;outline:0;margin:0;padding:0;font-size:15px;line-height:1.4;display:block}.contact-field input::placeholder{color:#ece8f240}.contact-field:focus-within{border-color:var(--violet-2)}.contact-submit{box-sizing:border-box;background:var(--gradient-brand);color:#fff;text-align:left;width:100%;min-height:52px;font-family:var(--sans);letter-spacing:.08em;cursor:pointer;border:0;justify-content:space-between;align-items:center;margin:6px 0 0;padding:0 20px;font-size:11px;font-weight:600;transition:transform .25s,filter .25s;display:flex}.contact-submit:hover{filter:brightness(1.08);transform:translateY(-2px)}.contact-submit span{font-size:17px}.contact-success{text-align:center;flex-direction:column;justify-content:center;min-height:400px;display:flex}.contact-success-number{font-family:var(--sans);letter-spacing:.16em;color:var(--violet-2);margin-bottom:28px;font-size:9px;font-weight:600}.contact-success h2{font-family:var(--serif);letter-spacing:-.025em;margin:0 auto;font-size:clamp(50px,7vw,80px);font-weight:500;line-height:.95}.contact-success h2 em{color:var(--violet-2);font-weight:400}.contact-success p{font-family:var(--sans);color:var(--text-muted);margin:25px auto 32px;font-size:14px;line-height:1.6}.contact-success-close{border:1px solid var(--line-strong);color:var(--text);font-family:var(--sans);letter-spacing:.08em;cursor:pointer;background:0 0;align-self:center;padding:12px 18px;font-size:10px;font-weight:600}@keyframes modalBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=800px){.lab-hero:before,.lab-capabilities:before,.lab-about:before,.lab-contact-section:before{top:20px}.lab-nav{height:76px;padding:0 20px}.lab-nav nav{display:none}.lab-contact{padding:10px 14px;font-size:11px}.lab-hero{min-height:calc(100vh - 76px);padding:50px 20px}.lab-hero h1{font-size:clamp(44px,13vw,76px)}.lab-hero-bottom{flex-direction:column;align-items:flex-start;margin-top:40px}.lab-actions{flex-direction:column;width:100%}.lab-primary,.lab-secondary{width:100%}.lab-capabilities,.lab-about,.lab-contact-section{padding:90px 20px}.capability-grid{grid-template-columns:1fr}.capability-grid article{min-height:300px}.capability-grid h2{margin-top:70px}.lab-statement{min-height:50vh;padding:80px 20px}.lab-statement h2{font-size:clamp(38px,11vw,60px)}.about-content{grid-template-columns:1fr;gap:50px}.about-content h2{font-size:clamp(38px,11vw,60px)}.lab-contact-section h2{font-size:clamp(42px,12vw,70px)}.lab-footer{grid-template-columns:1fr auto;gap:10px;padding:20px;font-size:9px}.lab-footer span:nth-child(2){display:none}.contact-modal-backdrop{justify-content:center;align-items:center;padding:12px;overflow:hidden auto}.contact-modal{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);padding:28px 22px;overflow:hidden auto}.contact-modal-close{width:32px;height:32px;font-size:20px;top:15px;right:15px}.contact-modal-top{margin:0 0 30px;padding-right:42px;font-size:8px}.contact-modal-heading{margin:0 0 28px}.contact-modal-heading p{max-width:100%;font-size:38px;line-height:.96}.contact-modal-heading>span{max-width:100%;margin-top:14px;font-size:12px;line-height:1.5}.contact-form{gap:16px}.contact-field{padding-bottom:8px}.contact-field label{margin-bottom:5px;font-size:7px}.contact-field input{font-size:14px}.contact-submit{min-height:48px;margin-top:4px}.contact-success{min-height:340px}}.lab-contact,.lab-secondary,.contact-button,.contact-submit,.contact-success-close,.contact-modal-close{appearance:none}.lab-contact,.lab-secondary{cursor:pointer}.contact-button{cursor:pointer;box-shadow:none;outline:none;border:none!important}.contact-button:focus,.contact-button:focus-visible{box-shadow:none;border:none;outline:none}
