:root{--font-body:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Space Grotesk", var(--font-body);--bg:#05070c;--bg-soft:#0c1220;--bg-elevated:#111a2c;--bg-card:#111a2c99;--bg-card-hover:#111a2ceb;--text:#f5f7fb;--text-muted:#99a5bd;--text-soft:#626e88;--accent:#5b8def;--accent-strong:#8fb4ff;--accent-soft:#5b8def1f;--accent-border:#5b8def52;--accent-2:#a78bfa;--accent-2-soft:#a78bfa1f;--accent-2-border:#a78bfa52;--accent-3:#34d3ac;--accent-3-soft:#34d3ac1f;--accent-3-border:#34d3ac52;--accent-4:#f5a962;--accent-4-soft:#f5a9621f;--accent-4-border:#f5a96252;--accent-5:#f472b6;--accent-5-soft:#f472b61f;--accent-5-border:#f472b652;--border:#9aa7bd24;--shadow:0 30px 90px #00000073;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;font-family:var(--font-body);color:var(--text);background:var(--bg);scroll-behavior:smooth}*{box-sizing:border-box}::selection{color:#020617;background:var(--accent-strong)}body{background:radial-gradient(circle at 10% -10%,#5b8def2e,#0000 34%),radial-gradient(circle at 90% 10%,#a78bfa1f,#0000 30%),linear-gradient(#05070c 0%,#0a0f1c 46%,#05070c 100%);min-height:100vh;margin:0}body:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(60% 50% at 50% 0,#000,#0000 70%);mask-image:radial-gradient(60% 50% at 50% 0,#000,#0000 70%)}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent-strong);outline-offset:3px;border-radius:4px}h1,h2,h3,.brand-name,.stat-value{font-family:var(--font-display);letter-spacing:-.02em}.container{width:min(1180px,100% - 48px);margin:0 auto}.container-narrow{width:min(820px,100% - 48px);margin:0 auto}.page{flex-direction:column;min-height:100vh;display:flex}main{flex:1}.section{border-top:1px solid var(--border);padding:96px 0;scroll-margin-top:96px}.section:first-of-type{border-top:0}.section-label{color:var(--accent-strong);text-transform:uppercase;letter-spacing:.18em;margin:0 0 20px;font-size:12px;font-weight:800}.site-header{z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);background:#05070cb8;position:sticky;top:0}.site-header-inner{justify-content:space-between;align-items:center;gap:24px;width:min(1180px,100% - 48px);margin:0 auto;padding:18px 0;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:linear-gradient(160deg, var(--accent), var(--accent-2));color:#05070c;width:38px;height:38px;font-family:var(--font-display);border-radius:11px;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.brand-name{font-size:16px;font-weight:600}.main-nav{align-items:center;gap:28px;display:flex}.main-nav a{color:var(--text-muted);font-size:14px;font-weight:600;transition:color .2s}.main-nav a:hover{color:var(--accent-strong)}.main-nav .nav-cta{color:var(--text);border:1px solid var(--accent-border);background:var(--accent-soft);border-radius:999px;padding:8px 16px}.main-nav .nav-cta:hover{color:var(--accent-strong);border-color:var(--accent-strong)}.nav-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;font-size:13px;font-weight:700;display:none}.nav-toggle-bars{flex-direction:column;gap:4px;width:22px;display:flex}.nav-toggle-bars span{background:currentColor;border-radius:2px;height:2px}.hero{padding:96px 0 72px}.hero-grid{grid-template-columns:1.5fr 1fr;align-items:center;gap:64px;display:grid}.eyebrow{color:var(--accent-strong);text-transform:uppercase;letter-spacing:.18em;margin:0 0 16px;font-size:12px;font-weight:800}h1{color:var(--text);margin:0 0 24px;font-size:clamp(38px,5vw,60px);font-weight:600;line-height:1.05}.hero-lead{max-width:520px;color:var(--text-muted);font-size:17px;line-height:1.75}.link{color:var(--accent-strong);transition:color .2s}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.socials{color:var(--text-soft);flex-wrap:wrap;gap:20px;margin-top:32px;font-size:14px;display:flex}.socials a{transition:color .2s}.socials a:hover{color:var(--accent-strong)}.hero-stats{gap:20px;display:grid}.stat{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);flex-direction:column;gap:4px;padding:22px 26px;display:flex}.stat-value{color:var(--accent-strong);font-size:32px;font-weight:700}.stat-label{color:var(--text-muted);font-size:13px}.button{border:1px solid var(--accent-border);color:#eaf2ff;background:linear-gradient(#5b8def52,#5b8def24);border-radius:999px;justify-content:center;align-items:center;padding:14px 24px;font-size:14px;font-weight:700;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 16px 40px #2563eb29}.button:hover{border-color:var(--accent-strong);transform:translateY(-2px);box-shadow:0 20px 48px #2563eb3d}.button-ghost{border-color:var(--border);color:var(--text-muted);box-shadow:none;background:0 0}.button-ghost:hover{border-color:var(--accent-border);color:var(--accent-strong)}.tags{flex-wrap:wrap;gap:8px;display:flex}.tags span{color:#cfe0ff;background:#5b8def1a;border:1px solid #5b8def2e;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);padding:26px}.about-grid{grid-template-columns:repeat(2,1fr);gap:32px;display:grid}.about-grid p{color:var(--text-muted);margin:0;font-size:16px;line-height:1.8}.timeline{margin:0;padding:0;list-style:none;position:relative}.timeline:before{content:"";background:linear-gradient(180deg, var(--accent-border), transparent 92%);width:1px;position:absolute;top:8px;bottom:8px;left:7px}.timeline-item{margin-bottom:48px;padding-left:40px;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-marker{background:var(--bg);border:2px solid var(--accent);width:15px;height:15px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%;position:absolute;top:6px;left:0}.period{color:var(--text-soft);letter-spacing:.03em;margin:0 0 8px;font-size:13px;font-weight:800}h3{color:#eaf2ff;margin:0 0 12px;font-size:19px;font-weight:600;line-height:1.35}.timeline-content p:not(.period){color:var(--text-muted);margin:0 0 16px;font-size:15px;line-height:1.75}.project-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;display:grid}.project-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);flex-direction:column;gap:14px;padding:28px;transition:background .22s,border-color .22s,box-shadow .22s,transform .22s;display:flex;position:relative}.project-card:hover{background:var(--bg-card-hover);border-color:var(--accent-border);box-shadow:var(--shadow);transform:translateY(-4px)}.project-card p{color:var(--text-muted);flex:1;margin:0;font-size:14.5px;line-height:1.7}.project-cover{width:46px;height:46px;font-family:var(--font-display);border-radius:13px;justify-content:center;align-items:center;font-size:17px;font-weight:700;display:flex}.project-link{color:var(--text-muted);font-size:14px;font-weight:700;transition:color .2s,transform .2s}.project-link:hover{color:var(--accent-strong);transform:translate(4px)}.cover-blue .project-cover{color:var(--accent-strong);background:var(--accent-soft);border:1px solid var(--accent-border)}.cover-violet .project-cover{color:#cbb8ff;background:var(--accent-2-soft);border:1px solid var(--accent-2-border)}.cover-teal .project-cover{color:#7fe7ca;background:var(--accent-3-soft);border:1px solid var(--accent-3-border)}.cover-amber .project-cover{color:#ffc994;background:var(--accent-4-soft);border:1px solid var(--accent-4-border)}.cover-rose .project-cover{color:#ffabd4;background:var(--accent-5-soft);border:1px solid var(--accent-5-border)}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;display:grid}.skill-group{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);padding:26px}.skill-group h3{color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;margin:0 0 18px;font-size:14px}.contact{background:radial-gradient(circle at 50% 0,#5b8def1a,#0000 60%)}.contact-inner{text-align:center;flex-direction:column;align-items:center;display:flex}.contact-inner .section-label{align-self:center}.contact h2{margin:0 0 16px;font-size:clamp(28px,4vw,40px)}.contact p{max-width:480px;color:var(--text-muted);margin:0 0 32px;line-height:1.7}.site-footer{border-top:1px solid var(--border);padding:32px 0}.site-footer-inner{color:var(--text-soft);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:13px;display:flex}.site-footer a{color:var(--text-soft);transition:color .2s}.site-footer a:hover{color:var(--accent-strong)}.case-study-page .section{border-top:0}.back-button{color:var(--text-muted);margin-bottom:2rem;transition:color .2s;display:inline-block}.back-button:hover{color:var(--accent-strong)}.case-study-detail h1{margin-bottom:1rem;font-size:clamp(2.4rem,6vw,4rem)}.case-lead{max-width:640px;color:var(--text-muted);margin:0 0 1.5rem;font-size:1.2rem}.case-block{max-width:720px;margin-top:3rem}.case-block p{color:var(--text-muted);line-height:1.78}.case-block h3{margin-bottom:.75rem}.case-grid{grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:3rem;margin-bottom:2rem;display:grid}.case-grid .card{padding:28px}.case-grid ul{margin:0;padding-left:1.1rem}.case-grid li{color:var(--text-muted);margin-bottom:.5rem;line-height:1.7}.legal-page .link{text-underline-offset:3px;text-decoration:underline}@media (width<=900px){.main-nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border);opacity:0;pointer-events:none;background:#05070cfa;flex-direction:column;align-items:flex-start;gap:4px;height:calc(100vh - 66px);padding:16px;transition:opacity .2s,transform .2s;position:fixed;top:66px;left:0;right:0;overflow-y:auto;transform:translateY(-8px)}.main-nav a{border-bottom:1px solid var(--border);width:100%;padding:14px 8px}.main-nav .nav-cta{text-align:center;margin-top:8px}.site-header.is-open .main-nav{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-toggle{display:flex}.hero{padding:56px 0 48px}.hero-grid{grid-template-columns:1fr;gap:40px}.hero-stats{grid-template-columns:repeat(3,1fr)}.stat{padding:16px}.stat-value{font-size:24px}.about-grid{grid-template-columns:1fr}.section{padding:64px 0}.case-grid{grid-template-columns:1fr}}@media (width<=560px){.hero-stats{grid-template-columns:1fr}}#tarteaucitronRoot *{color:var(--text-muted)!important}#tarteaucitronRoot #tarteaucitronAlertBig{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--bg-card-hover)!important;border-top:1px solid var(--border)!important;box-shadow:var(--shadow)!important;color:var(--text-muted)!important;font-family:inherit!important}#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong,#tarteaucitronAlertBig .tarteaucitronPartnersList,#tarteaucitronAlertBig .tarteaucitronPartnersList *{color:var(--text)!important}#tarteaucitronAlertBig div.tarteaucitronPartnersList{background:var(--bg-soft)!important}#tarteaucitronAlertBig .tarteaucitronCTAButton,#tarteaucitronAlertBig #tarteaucitronPersonalize,#tarteaucitronAlertBig #tarteaucitronCloseAlert{text-transform:none;transition:transform .2s,filter .2s;border-radius:999px!important;padding:10px 18px!important;font-size:14px!important;font-weight:800!important}#tarteaucitronAlertBig .tarteaucitronCTAButton.tarteaucitronAllow{color:#eaf2ff!important;border:1px solid var(--accent-border)!important;background:linear-gradient(#60a5fa52,#60a5fa29)!important}#tarteaucitronAlertBig .tarteaucitronCTAButton.tarteaucitronDeny{color:var(--text-muted)!important;border:1px solid var(--border)!important;background:0 0!important}#tarteaucitronAlertBig #tarteaucitronPersonalize,#tarteaucitronAlertBig #tarteaucitronCloseAlert{text-underline-offset:3px;text-decoration:underline;color:var(--text-soft)!important;background:0 0!important;border:1px solid #0000!important}#tarteaucitronAlertBig .tarteaucitronCTAButton:hover,#tarteaucitronAlertBig #tarteaucitronPersonalize:hover,#tarteaucitronAlertBig #tarteaucitronCloseAlert:hover{filter:brightness(1.15);transform:translateY(-1px)}#tarteaucitronAlertBig #tarteaucitronPrivacyUrl,#tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog{text-underline-offset:3px;text-decoration:underline;color:var(--text-soft)!important;background:0 0!important}#tarteaucitronIcon #tarteaucitronManager{filter:drop-shadow(0 8px 24px #0006)}#tarteaucitronAlertSmall{background:var(--bg-card-hover)!important;color:var(--text)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow)!important}#tarteaucitron,div#tarteaucitronServices{background:var(--bg-soft)!important;color:var(--text)!important;border:1px solid var(--border)!important}#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine,#tarteaucitron #tarteaucitronInfo,#tarteaucitron #tarteaucitronServices .tarteaucitronTitle,#tarteaucitron #tarteaucitronServices .tarteaucitronTitle button,#tarteaucitron #tarteaucitronClosePanel{background:var(--bg-card)!important;color:var(--text)!important}#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName a,#tarteaucitron #tarteaucitronServices .tarteaucitronDetails,#tarteaucitronRoot .asCatToggleBtn{color:var(--text)!important}#tarteaucitron #tarteaucitronPrivacyUrl,#tarteaucitron #tarteaucitronPrivacyUrlDialog{color:var(--text-muted)!important;border:1px solid var(--border)!important;background:0 0!important;border-radius:999px!important}#tarteaucitron #tarteaucitronServices .tarteaucitronLine{background:var(--bg-card)!important;border-bottom:1px solid var(--border)!important}#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronDetails,#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName,#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName a{color:var(--text-muted)!important}#tarteaucitron .tarteaucitronBorder,#tarteaucitron .tarteaucitronBorder ul{background:0 0!important}#tarteaucitron .tacCurrentStatus,#tarteaucitron .tarteaucitronReadmoreSeparator,#tarteaucitron .tarteaucitronReadmoreInfo,#tarteaucitron .tarteaucitronReadmoreOfficial{color:var(--text-soft)!important}#tarteaucitron #tarteaucitronServices .tarteaucitronAsk button{color:var(--text-muted)!important;border:1px solid var(--border)!important;opacity:1!important;background:0 0!important;border-radius:999px!important;font-weight:700!important}#tarteaucitron #tarteaucitronServices .tarteaucitronAllow.tarteaucitronIsSelected,#tarteaucitron #tarteaucitronServices #tarteaucitronAllAllowed.tarteaucitronIsSelected{color:#eaf2ff!important;border-color:var(--accent-border)!important;background:linear-gradient(#60a5fa52,#60a5fa29)!important}#tarteaucitron #tarteaucitronServices .tarteaucitronDeny.tarteaucitronIsSelected,#tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied.tarteaucitronIsSelected{background:var(--bg-card-hover)!important;color:var(--text)!important;border-color:var(--border)!important}html body #tarteaucitronRoot div#tarteaucitronSave{background:var(--bg-soft)!important}html body #tarteaucitronRoot button#tarteaucitronSaveButton{color:#eaf2ff!important;border:1px solid var(--accent-border)!important;background:linear-gradient(#60a5fa52,#60a5fa29)!important;border-radius:999px!important;font-weight:800!important}@media (width<=900px){#tarteaucitronAlertBig .tarteaucitronCTAButton,#tarteaucitronAlertBig #tarteaucitronPersonalize,#tarteaucitronAlertBig #tarteaucitronCloseAlert{margin:4px!important}}
