:root{--c-brand:#5b5bf5;--c-brand-600:#4646e0;--c-brand-700:#3636c4;--c-brand-50:#eef0ff;--c-accent:#a855f7;--c-bg:#fff;--c-bg-soft:#f7f8fb;--c-bg-muted:#eef0f4;--c-ink:#0b0d12;--c-ink-2:#14171f;--c-text:#2b3040;--c-muted:#5b6172;--c-subtle:#8a8f9c;--c-border:#e6e8ee;--c-border-strong:#d5d8e0;--c-success:#16a34a;--c-danger:#dc2626;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--sh-xs:0 1px 2px #0f121e0d;--sh-sm:0 2px 6px #0f121e0f, 0 1px 2px #0f121e0a;--sh-md:0 8px 24px -8px #0f121e1f, 0 4px 10px -4px #0f121e0f;--sh-lg:0 24px 48px -16px #0f121e2e, 0 8px 16px -8px #0f121e14;--sh-glow:0 10px 32px -8px #5b5bf559;--t-fast:.15s cubic-bezier(.2, .7, .3, 1);--t-base:.25s cubic-bezier(.2, .7, .3, 1);--t-slow:.45s cubic-bezier(.2, .7, .3, 1);--container:1180px;--gutter:clamp(20px, 4vw, 40px)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.55;overflow-x:hidden}img,svg,video{max-width:100%;height:auto;display:block}a{color:var(--c-brand);transition:color var(--t-fast);text-decoration:none}a:hover{color:var(--c-brand-700)}button{cursor:pointer;font-family:inherit}::selection{background:var(--c-brand);color:#fff}:focus-visible{outline:2px solid var(--c-brand);outline-offset:3px;border-radius:4px}.skip-link{background:var(--c-ink);color:#fff;border-radius:var(--r-sm);z-index:9999;transition:top var(--t-base);padding:10px 16px;font-weight:600;position:absolute;top:-100px;left:16px}.skip-link:focus{color:#fff;top:16px}h1,h2,h3,h4,h5,h6{color:var(--c-ink);letter-spacing:-.02em;margin:0 0 .5em;font-weight:700;line-height:1.15}h1{letter-spacing:-.03em;font-size:clamp(2.4rem,5.5vw,4rem);font-weight:800}h2{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:700}h3{font-size:clamp(1.3rem,2.4vw,1.6rem);font-weight:700}h4{font-size:1.15rem;font-weight:600}p{color:var(--c-text);margin:0 0 1em}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--c-brand);background:var(--c-brand-50);border-radius:999px;align-items:center;gap:8px;margin-bottom:18px;padding:6px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--c-brand);border-radius:50%;width:6px;height:6px}.section-heading{text-align:center;letter-spacing:-.02em;color:var(--c-ink);max-width:760px;margin:0 auto 48px;padding-top:56px;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700}.section-eyebrow{text-align:center;margin-bottom:12px;display:block}.container{width:100%;max-width:var(--container);padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto}.btn{cursor:pointer;transition:transform var(--t-fast), box-shadow var(--t-base), background var(--t-base), color var(--t-base), border-color var(--t-base);white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-family:inherit;font-size:.95rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn-primary{background:var(--c-ink);color:#fff;box-shadow:var(--sh-sm)}.btn-primary:hover{background:var(--c-brand);color:#fff;box-shadow:var(--sh-glow);transform:translateY(-1px)}.btn-ghost{color:var(--c-ink);border-color:var(--c-border-strong);background:0 0}.btn-ghost:hover{background:var(--c-bg-soft);color:var(--c-ink);border-color:var(--c-ink)}.btn-block{width:100%}.top-bar{z-index:50;-webkit-backdrop-filter:blur(12px);transition:border-color var(--t-base), background var(--t-base);background:#fffc;border-bottom:1px solid #0000;position:sticky;top:0}.top-bar.is-scrolled{border-color:var(--c-border);background:#ffffffeb}.top-bar__inner{justify-content:space-between;align-items:center;gap:18px;padding:14px 0;display:flex}.top-bar__logo{color:var(--c-ink);letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.05rem;font-weight:700;display:inline-flex}.top-bar__logo img{width:32px;height:32px}.top-bar__nav{align-items:center;gap:4px;display:flex}.top-bar__link{color:var(--c-muted);transition:color var(--t-fast), background var(--t-fast);border-radius:999px;padding:8px 14px;font-size:.92rem;font-weight:500}.top-bar__link:hover{color:var(--c-ink);background:var(--c-bg-soft)}.lang-switch{border:1px solid var(--c-border);box-shadow:var(--sh-xs);background:#fff;border-radius:999px;gap:6px;padding:4px;display:inline-flex}.lang-switch a{width:32px;height:28px;transition:background var(--t-fast);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.lang-switch a.is-active{background:var(--c-bg-muted)}.lang-switch a:hover{background:var(--c-bg-soft)}.lang-switch img{border-radius:2px;width:22px;height:auto}.hero{text-align:center;isolation:isolate;background:radial-gradient(900px 500px at 50% -10%,#5b5bf526,#0000 60%),radial-gradient(700px 500px at 90% 100%,#a855f71a,#0000 60%);padding:clamp(60px,10vh,120px) 0 clamp(40px,6vh,80px);position:relative;overflow:hidden}.hero:before{content:"";z-index:-1;background-image:radial-gradient(#5b5bf512 1px,#0000 1px);background-size:26px 26px;position:absolute;inset:0;mask-image:radial-gradient(#000 35%,#0000 75%)}.hero__logo{filter:drop-shadow(0 6px 14px #5b5bf52e);width:clamp(110px,12vw,150px);margin:0 auto 28px}.hero__title{letter-spacing:-.03em;max-width:16ch;color:var(--c-ink);margin:0 auto;font-size:clamp(2.4rem,6vw,4.2rem);font-weight:800;line-height:1.05}.hero__title .accent{background:linear-gradient(135deg, var(--c-brand), var(--c-accent));color:#0000;background-clip:text}.hero__tagline{color:var(--c-muted);max-width:640px;margin:22px auto 0;font-size:clamp(1rem,1.6vw,1.125rem)}.hero__ctas{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px;display:flex}.social{justify-content:center;gap:10px;margin-top:36px;display:flex}.social a{border:1px solid var(--c-border);width:40px;height:40px;color:var(--c-ink);box-shadow:var(--sh-xs);transition:all var(--t-base);background:#fff;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.social a:hover{background:var(--c-ink);color:#fff;box-shadow:var(--sh-md);transform:translateY(-2px)}.section-nav{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;padding:24px 0 80px;display:grid}.section-nav__card{border:1px solid var(--c-border);border-radius:var(--r-lg);transition:transform var(--t-base), box-shadow var(--t-base), border-color var(--t-base);isolation:isolate;box-shadow:var(--sh-xs);color:var(--c-ink);background:#fff;padding:26px 22px;text-decoration:none;display:block;position:relative;overflow:hidden}.section-nav__card:before{content:"";border-radius:inherit;opacity:0;transition:opacity var(--t-base);z-index:-1;background:linear-gradient(135deg,#5b5bf50f,#a855f70a);position:absolute;inset:0}.section-nav__card:hover{border-color:var(--c-brand);box-shadow:var(--sh-md);transform:translateY(-4px)}.section-nav__card:hover:before{opacity:1}.section-nav__icon{background:var(--c-brand-50);width:44px;height:44px;color:var(--c-brand);transition:background var(--t-base), color var(--t-base), box-shadow var(--t-base);border-radius:12px;justify-content:center;align-items:center;margin-bottom:16px;display:inline-flex}.section-nav__card:hover .section-nav__icon{background:var(--c-brand);color:#fff;box-shadow:0 0 0 6px #5b5bf51a}.section-nav__title{color:var(--c-ink);margin:0 0 6px;font-size:1.25rem;font-weight:700}.section-nav__desc{color:var(--c-muted);margin-bottom:12px;font-size:.94rem}.section-nav__arrow{color:var(--c-brand);transition:gap var(--t-base);align-items:center;gap:6px;font-size:.9rem;font-weight:600;display:inline-flex}.section-nav__card:hover .section-nav__arrow{gap:10px}section.page-section{border-top:1px solid var(--c-border);padding:60px 0 40px;scroll-margin-top:80px}section.page-section.alt-bg{background:var(--c-bg-soft)}.about__lead{text-align:center;max-width:720px;color:var(--c-text);margin:0 auto}.about__lead p{font-size:1.1rem;line-height:1.7}.about__lead p:first-child{color:var(--c-ink);font-weight:500}.stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:32px;display:grid}.stat{background:linear-gradient(180deg, var(--c-ink), var(--c-ink-2));color:#fff;border-radius:var(--r-lg);text-align:center;transition:transform var(--t-base), box-shadow var(--t-base);border:1px solid #ffffff0f;padding:32px 24px;position:relative;overflow:hidden}.stat:after{content:"";pointer-events:none;background:radial-gradient(360px 200px at 50% 0,#5b5bf540,#0000 60%);position:absolute;inset:0}.stat:hover{box-shadow:var(--sh-lg);transform:translateY(-4px)}.stat__icon{color:#fff;background:#5b5bf52e;border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:14px;display:inline-flex}.stat__value{letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums;font-size:2.4rem;font-weight:800;line-height:1}.stat__label{color:#ffffffc7;margin-top:6px;font-size:.92rem}.founder{border:1px solid var(--c-border);border-radius:var(--r-lg);max-width:560px;box-shadow:var(--sh-sm);background:#fff;grid-template-columns:auto 1fr;align-items:center;gap:22px;margin:32px auto 0;padding:28px;display:grid}.founder__avatar{background:linear-gradient(135deg, var(--c-brand), var(--c-accent));color:#fff;letter-spacing:-.02em;border-radius:50%;flex-shrink:0;place-items:center;width:96px;height:96px;font-size:2rem;font-weight:700;display:grid}.founder__name{margin:0;font-size:1.2rem}.founder__role{color:var(--c-brand);margin:2px 0 8px;font-size:.85rem;font-weight:600}.founder__bio{color:var(--c-muted);margin:0 0 12px;font-size:.94rem}.founder__cta{color:var(--c-ink);align-items:center;gap:6px;font-size:.9rem;font-weight:600;display:inline-flex}.founder__cta:hover{color:var(--c-brand)}.filters{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:32px;display:flex}.filter-btn{border:1px solid var(--c-border);color:var(--c-muted);transition:all var(--t-base);background:0 0;border-radius:999px;padding:8px 16px;font-family:inherit;font-size:.85rem;font-weight:500}.filter-btn:hover{background:var(--c-bg-soft);color:var(--c-ink);border-color:var(--c-border-strong)}.filter-btn[aria-pressed=true]{background:var(--c-ink);color:#fff;border-color:var(--c-ink);box-shadow:var(--sh-sm)}.projects{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.project{border-radius:var(--r-md);aspect-ratio:16/11;background:var(--c-bg-muted);box-shadow:var(--sh-sm);transition:transform var(--t-base), box-shadow var(--t-base);border:1px solid var(--c-border);position:relative;overflow:hidden}.project[hidden]{display:none}.project:hover{box-shadow:var(--sh-lg);transform:translateY(-4px)}.project img,.project picture{object-fit:cover;width:100%;height:100%;transition:transform var(--t-slow)}.project img{display:block}.project:hover img{transform:scale(1.05)}.project__overlay{opacity:0;transition:opacity var(--t-base);background:linear-gradient(#0000,#0b0d12d1);justify-content:space-between;align-items:flex-end;gap:10px;padding:18px;display:flex;position:absolute;inset:0}.project:hover .project__overlay{opacity:1}.project__name{color:#fff;font-size:1.05rem;font-weight:600}.project__actions{gap:8px;display:flex}.project__btn{width:38px;height:38px;color:var(--c-ink);cursor:pointer;box-shadow:var(--sh-sm);transition:background var(--t-fast), color var(--t-fast);background:#fff;border:none;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.project__btn:hover{background:var(--c-brand);color:#fff}dialog.project-modal{border-radius:var(--r-lg);width:calc(100% - 32px);max-width:560px;box-shadow:var(--sh-lg);color:var(--c-ink);background:#fff;border:none;padding:0;overflow:hidden}dialog.project-modal::backdrop{-webkit-backdrop-filter:blur(4px);background:#0b0d1299}dialog.project-modal img{width:100%;height:auto;display:block}.project-modal__body{padding:24px}.project-modal__close{color:var(--c-ink);cursor:pointer;width:36px;height:36px;box-shadow:var(--sh-sm);background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:12px;right:12px}.project-modal__close:hover{background:var(--c-ink);color:#fff}.tabs{max-width:var(--container);margin:0 auto}.tablist{background:var(--c-bg-soft);border:1px solid var(--c-border);border-radius:var(--r-md);flex-wrap:wrap;gap:4px;margin-bottom:28px;padding:6px;display:flex}.tab-btn{min-width:140px;color:var(--c-muted);border-radius:var(--r-sm);cursor:pointer;transition:all var(--t-base);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-family:inherit;font-size:.92rem;font-weight:500;display:inline-flex}.tab-btn:hover{color:var(--c-ink);background:#ffffffb3}.tab-btn[aria-selected=true]{color:var(--c-ink);box-shadow:var(--sh-xs);background:#fff;font-weight:600}.tab-panel{max-width:860px;margin:0 auto;padding:28px 8px}.tab-panel[hidden]{display:none}.tab-panel h4{color:var(--c-ink);letter-spacing:-.02em;margin:16px 0 14px;font-size:1.4rem;font-weight:700}.tab-panel ul{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:6px 24px;margin:0 0 18px;padding:0;list-style:none;display:grid}.tab-panel ul li{color:var(--c-text);padding-left:26px;font-size:.95rem;line-height:1.7;position:relative}.tab-panel ul li:before{content:"";background:var(--c-brand-50);border:2px solid var(--c-brand);border-radius:50%;width:14px;height:14px;position:absolute;top:9px;left:0}.tab-panel ul li:after{content:"";background:var(--c-brand);border-radius:50%;width:4px;height:4px;position:absolute;top:13px;left:5px}.tab-panel .callout{background:var(--c-brand-50);border-left:4px solid var(--c-brand);border-radius:var(--r-md);color:var(--c-brand-700);margin:18px 0;padding:20px 24px;font-size:1.05rem;font-weight:600}.clients{margin:64px auto 0;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.clients__track{gap:64px;width:max-content;animation:36s linear infinite marquee;display:flex}.clients:hover .clients__track{animation-play-state:paused}.clients img{opacity:.55;filter:grayscale(40%);width:auto;height:60px;transition:opacity var(--t-base), filter var(--t-base)}.clients img:hover{opacity:1;filter:grayscale(0%)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:32px;display:grid}@media (width<=768px){.contact-grid{grid-template-columns:1fr}}.contact-card{border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--sh-xs);background:#fff;padding:24px}.contact-data{align-items:center;gap:14px;padding:14px 0;display:flex}.contact-data+.contact-data{border-top:1px solid var(--c-border)}.contact-data__icon{background:var(--c-brand-50);width:44px;height:44px;color:var(--c-brand);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.contact-data a,.contact-data span{color:var(--c-text);font-size:.98rem;line-height:1.5}.contact-data a:hover{color:var(--c-brand)}.map-embed{border-radius:var(--r-md);width:100%;height:280px;box-shadow:var(--sh-sm);border:none;margin-top:18px}.contact-form{flex-direction:column;gap:14px;display:flex}.contact-form .field{flex-direction:column;gap:6px;display:flex}.contact-form .row{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=600px){.contact-form .row{grid-template-columns:1fr}}.contact-form input,.contact-form textarea{background:var(--c-bg-soft);border:1px solid var(--c-border);border-radius:var(--r-sm);width:100%;font:inherit;color:var(--c-ink);transition:border-color var(--t-base), background var(--t-base), box-shadow var(--t-base);padding:14px 18px}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--c-brand);background:#fff;outline:none;box-shadow:0 0 0 4px #5b5bf51f}.contact-form textarea{resize:vertical;min-height:120px;font-family:inherit}.form-status{border-radius:var(--r-sm);margin-top:6px;padding:12px 16px;font-size:.9rem}.form-status[data-state=success]{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.form-status[data-state=error]{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.form-status[data-state=idle]{display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.footer{background:var(--c-ink);color:#ffffffb8;margin-top:80px;padding:48px 0 32px}.footer__inner{grid-template-columns:2fr 1fr 1fr;gap:32px;margin-bottom:32px;display:grid}@media (width<=768px){.footer__inner{grid-template-columns:1fr}}.footer__brand img{filter:brightness(1.4);width:44px;height:44px;margin-bottom:12px}.footer__brand p{color:#ffffffa6;max-width:320px;font-size:.92rem}.footer__col h4{color:#fff;text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px;font-size:.85rem}.footer__col a{color:#ffffffa6;transition:color var(--t-fast);padding:4px 0;font-size:.92rem;display:block}.footer__col a:hover{color:#fff}.footer__bottom{color:#ffffff80;border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;font-size:.85rem;display:flex}.cookie-banner{z-index:9000;background:var(--c-ink);color:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-lg);opacity:0;max-width:720px;transition:transform var(--t-base), opacity var(--t-base);border:1px solid #ffffff14;flex-wrap:wrap;align-items:center;gap:16px;margin:0 auto;padding:18px 22px;display:none;position:fixed;bottom:16px;left:16px;right:16px;transform:translateY(20px)}.cookie-banner.is-visible{opacity:1;display:flex;transform:translateY(0)}.cookie-banner__msg{color:#ffffffd9;flex:1;min-width:240px;font-size:.92rem}.cookie-banner__actions{gap:8px;display:flex}.cookie-banner button{color:#fff;cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast);background:0 0;border:1px solid #ffffff24;border-radius:999px;padding:8px 18px;font-family:inherit;font-size:.85rem;font-weight:600}.cookie-banner button.is-primary{background:var(--c-brand);border-color:var(--c-brand)}.cookie-banner button.is-primary:hover{background:var(--c-brand-600);border-color:var(--c-brand-600)}.cookie-banner button:hover{background:#ffffff14}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.clients__track{animation:none}}
