:root { --ink:#050b18; --navy:#081a3a; --blue:#1a4b9b; --white:#fff; --muted:#aeb9cc; --line:rgba(255,255,255,.16); }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; background:var(--ink); color:var(--white); font-family:Manrope,Arial,sans-serif; overflow-x:hidden; }
    a { color:inherit; text-decoration:none; }
    .nav { min-height:96px; display:flex; align-items:center; justify-content:flex-start; gap:6px; padding:14px clamp(24px,5vw,80px); background:#050b18; position:sticky; top:0; z-index:20; border-bottom:1px solid var(--line); }
    .brand { display:block; width:clamp(280px,34vw,460px); height:clamp(73px,8.9vw,120px); overflow:hidden; background:transparent; }
    .brand img { width:100%; height:100%; object-fit:contain; object-position:left center; filter:brightness(0) invert(1); }
    .menu-button { background:none; color:var(--white); border:0; display:flex; gap:12px; align-items:center; font:500 .7rem/1 'DM Mono',monospace; letter-spacing:.09em; text-transform:uppercase; cursor:pointer; padding:12px 0; }
    .burger, .burger::before, .burger::after { display:block; width:28px; height:1px; background:currentColor; content:""; transition:.25s ease; }
    .burger { position:relative; }.burger::before { position:absolute; top:-8px; }.burger::after { position:absolute; top:8px; }
    .menu-button[aria-expanded="true"] .burger { background:transparent; }.menu-button[aria-expanded="true"] .burger::before { top:0; transform:rotate(45deg); }.menu-button[aria-expanded="true"] .burger::after { top:0; transform:rotate(-45deg); }
    .drawer { position:absolute; top:100%; left:clamp(24px,5vw,80px); width:min(320px,86vw); background:#071733; z-index:19; box-shadow:0 24px 50px rgba(0,0,0,.4); border:1px solid var(--line); border-radius:12px; opacity:0; visibility:hidden; transform:translateY(-12px); transition:opacity .28s ease,transform .28s ease,visibility .28s; }
    .drawer.open { opacity:1; visibility:visible; transform:translateY(0); }.drawer ul { list-style:none; padding:14px 22px; margin:0; text-align:left; }.drawer li { overflow:hidden; }.drawer a { font-size:1.4rem; font-weight:800; letter-spacing:-.04em; display:block; padding:.28em 0; transition:color .2s; }.drawer a:hover { color:#70a6ff; }
    .hero { position:relative; padding:70px clamp(24px,10vw,160px) 60px; display:flex; flex-direction:column; justify-content:flex-end; isolation:isolate; background:#040b19; }
    .hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; opacity:0; transition:opacity 1.2s ease; }.hero-video.is-active { opacity:.62; }
    .hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(3,10,25,.97) 0%,rgba(3,10,25,.8) 43%,rgba(3,10,25,.2) 100%),linear-gradient(0deg,rgba(5,11,24,.9),transparent 35%); }
    .eyebrow { font:500 .69rem/1.3 'DM Mono',monospace; letter-spacing:.13em; color:#7da7ee; text-transform:uppercase; display:flex; align-items:center; gap:10px; }.eyebrow::before { content:""; height:1px; width:30px; background:currentColor; }
    h1 { max-width:1000px; font-size:clamp(3.35rem,7.6vw,8rem); line-height:.92; letter-spacing:-.075em; margin:23px 0 28px; }.hero h1 em { font-style:normal; color:#78a9fa; }
    .intro { max-width:480px; color:#d5dced; font-size:1rem; line-height:1.7; margin:0; }.hero-bottom { display:flex; justify-content:space-between; align-items:end; margin-top:65px; border-top:1px solid var(--line); padding-top:20px; }.scrolldown { font:500 .66rem 'DM Mono',monospace; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }.hero-numbers { display:flex; gap:35px; }.hero-numbers strong { display:block; font-size:1.6rem; letter-spacing:-.07em; }.hero-numbers span { color:var(--muted); font-size:.67rem; }
    section { padding:120px clamp(24px,10vw,160px); }.section-tag { color:#6999e6; font:500 .7rem 'DM Mono',monospace; letter-spacing:.1em; text-transform:uppercase; }.about { background:#fff; color:#091634; display:grid; grid-template-columns:1fr 1.65fr; gap:12vw; }.about h2,.work h2,.contact h2 { font-size:clamp(2.55rem,5.2vw,5.5rem); line-height:.98; letter-spacing:-.07em; margin:21px 0 0; }.about-copy { font-size:clamp(1.2rem,2.1vw,1.8rem); line-height:1.5; padding-top:30px; }.about-copy p { margin:0 0 30px; }.text-link { border-bottom:1px solid #091634; padding-bottom:5px; font:500 .72rem 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
    .solutions { position:relative; background:#071733; isolation:isolate; overflow:hidden; }.solutions::before { content:""; position:absolute; inset:0; z-index:-1; background:url('https://images.unsplash.com/photo-1556740738-b6a63e27c4df?auto=format&fit=crop&w=1600&q=70') no-repeat right center; background-size:cover; opacity:.30; -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.15) 35%,#000 80%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.15) 35%,#000 80%); }.solutions-head { position:relative; max-width:760px; margin-bottom:60px; }.solutions-head h2 { font-size:clamp(2.4rem,5vw,4.6rem); line-height:1; letter-spacing:-.06em; margin:18px 0 18px; }.solutions-head p { color:#c1cee3; line-height:1.7; font-size:1.05rem; margin:0; max-width:620px; }.sol-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }.sol-card { background:#0b2048; border:1px solid rgba(255,255,255,.1); border-radius:16px; padding:34px; display:flex; flex-direction:column; transition:transform .3s,border-color .3s; }.sol-card:hover { transform:translateY(-6px); border-color:rgba(120,169,250,.5); }.sol-card .sol-index { font:500 .72rem 'DM Mono',monospace; color:#78a9fa; letter-spacing:.08em; }.sol-card h3 { font-size:1.4rem; letter-spacing:-.03em; line-height:1.25; margin:12px 0 22px; }.sol-block { position:relative; padding-left:20px; margin-bottom:20px; }.sol-block:last-child { margin-bottom:0; }.sol-block::before { content:""; position:absolute; left:0; top:6px; bottom:6px; width:3px; border-radius:3px; }.sol-block.is-problem::before { background:#e0774f; }.sol-block.is-solution::before { background:#4fd1a5; }.sol-label { display:block; font:600 .68rem 'DM Mono',monospace; letter-spacing:.1em; text-transform:uppercase; margin-bottom:6px; }.sol-block.is-problem .sol-label { color:#f0966f; }.sol-block.is-solution .sol-label { color:#5fe0b4; }.sol-block p { margin:0; color:#c6d2e6; font-size:.92rem; line-height:1.6; }
    .services { background:#0b2048; }.services-head { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:55px; }.services h2 { max-width:650px; font-size:clamp(2.5rem,5vw,5rem); line-height:.98; letter-spacing:-.07em; margin:18px 0 0; }.services-head p { max-width:350px; color:#c1cee3; line-height:1.65; }.cards { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.18); }.card { background:#0b2048; min-height:270px; padding:28px; display:flex; flex-direction:column; transition:background .3s,transform .3s; }.card:hover { background:#133976; transform:translateY(-6px); }.card-number { font:500 .7rem 'DM Mono',monospace; color:#82abeb; }.card h3 { margin:14px 0 12px; font-size:1.3rem; letter-spacing:-.03em; line-height:1.2; }.card p { color:#b8c5d9; font-size:.88rem; line-height:1.6; margin:0; }
    .clients { background:#fff; color:#071733; }.clients-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:45px; }.clients h2 { margin:16px 0 0; font-size:clamp(2.55rem,5.2vw,5.5rem); line-height:.98; letter-spacing:-.07em; }.clients-head p { max-width:320px; margin:0; color:#52617b; line-height:1.65; }.logo-wall { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); border-top:1px solid #bdc6d5; border-left:1px solid #bdc6d5; }.client-logo { min-height:150px; display:grid; place-items:center; padding:26px; background:#f4f6fa; border-right:1px solid #bdc6d5; border-bottom:1px solid #bdc6d5; }.client-logo img { max-width:100%; max-height:64px; width:auto; height:auto; object-fit:contain; filter:grayscale(1); opacity:.62; transition:filter .3s,opacity .3s,transform .3s; }.client-logo:hover img { filter:grayscale(0); opacity:1; transform:scale(1.05); }.client-logo-placeholder { min-height:150px; display:grid; place-items:center; padding:20px; border-right:1px solid #bdc6d5; border-bottom:1px solid #bdc6d5; color:#8a96a9; font:500 .68rem 'DM Mono',monospace; letter-spacing:.1em; text-align:center; text-transform:uppercase; }
    .marketplaces { background:#0b2048; }.marketplaces-head { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:55px; }.marketplaces h2 { max-width:650px; font-size:clamp(2.5rem,5vw,5rem); line-height:.98; letter-spacing:-.07em; margin:18px 0 0; }.marketplaces-head p { max-width:360px; color:#c1cee3; line-height:1.65; margin:0; }
    .mp-carousel { overflow:hidden; width:100%; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }.mp-track { display:flex; width:max-content; animation:mp-scroll 45s linear infinite; }.mp-carousel:hover .mp-track { animation-play-state:paused; }.mp-logo { flex:0 0 auto; width:170px; height:170px; display:grid; place-items:center; padding:10px; margin-right:20px; background:#fff; border-radius:10px; }.mp-logo img { width:100%; height:100%; object-fit:contain; transition:transform .3s; }.mp-logo:hover img { transform:scale(1.07); }
    @keyframes mp-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
    @media (prefers-reduced-motion:reduce) { .mp-track { animation:none; } }
    .contact { background:radial-gradient(circle at 85% 0,#163f80,transparent 35%),#071733; display:grid; grid-template-columns:.9fr 1.1fr; gap:11vw; }.contact p { color:#bdcae0; line-height:1.7; max-width:360px; }.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:22px; }.contact-form label { display:grid; gap:8px; color:#9fb3d4; font:500 .65rem 'DM Mono',monospace; letter-spacing:.09em; text-transform:uppercase; }.contact-form .wide { grid-column:1/-1; }.contact-form input,.contact-form select,.contact-form textarea { background:transparent; border:0; border-bottom:1px solid #7890b7; color:white; font:500 1rem Manrope,sans-serif; padding:10px 0; outline:0; border-radius:0; }.contact-form select option { color:#071733; }.contact-form textarea { height:90px; resize:vertical; }.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:#8db7ff; }.submit { grid-column:1/-1; justify-self:start; margin-top:10px; background:#78a9fa; border:0; color:#06142d; padding:16px 24px; cursor:pointer; font:700 .72rem 'DM Mono',monospace; letter-spacing:.09em; text-transform:uppercase; transition:transform .2s,background .2s; }.submit:hover { transform:translateY(-3px); background:white; }.form-note { grid-column:1/-1; color:#91a3c1; font-size:.72rem; line-height:1.5; margin:-6px 0 0; }
    .legal-modal { position:fixed; inset:0; z-index:60; display:none; padding:5vh clamp(16px,4vw,40px); overflow-y:auto; background:rgba(3,8,20,.72); backdrop-filter:blur(4px); }
    .legal-modal.open { display:block; }
    .legal-modal[hidden] { display:none; }
    .legal-panel { display:none; position:relative; max-width:860px; margin:0 auto; background:#fff; color:#091634; border-radius:18px; padding:clamp(28px,4vw,56px); box-shadow:0 30px 80px rgba(0,0,0,.45); }
    .legal-panel.active { display:block; }
    .legal-close { position:absolute; top:18px; right:18px; width:42px; height:42px; border:0; border-radius:50%; background:#eef1f6; color:#091634; font-size:1.4rem; line-height:1; cursor:pointer; transition:background .2s,transform .2s; }
    .legal-close:hover { background:#dce2ec; transform:rotate(90deg); }
    .legal-section { color:#091634; }.legal-section h2 { font-size:clamp(1.9rem,4vw,3rem); line-height:1.05; letter-spacing:-.05em; margin:0 44px 34px 0; }.legal-cols { display:grid; grid-template-columns:1fr 1.4fr; gap:6vw; align-items:start; }.legal-block h3 { font-size:1.05rem; letter-spacing:-.02em; margin:26px 0 8px; }.legal-block h3:first-child { margin-top:0; }.legal-block p { margin:0 0 6px; line-height:1.7; color:#3c4a63; font-size:.95rem; }.legal-block address { font-style:normal; line-height:1.7; color:#091634; font-size:1rem; margin-bottom:6px; }.legal-block a { color:#1a4b9b; border-bottom:1px solid rgba(26,75,155,.3); }.legal-meta p { margin:0 0 4px; }.legal-privacy { max-width:820px; }.legal-meta .tag { display:block; font:600 .66rem 'DM Mono',monospace; letter-spacing:.09em; text-transform:uppercase; color:#6f7d95; margin-top:16px; }.legal-meta .tag:first-child { margin-top:0; }
    footer { background:#030711; padding:55px clamp(24px,5vw,80px) 25px; }.footer-top { display:flex; justify-content:space-between; gap:50px; padding-bottom:60px; }.footer-top h2 { max-width:440px; font-size:clamp(2.2rem,4vw,4.1rem); letter-spacing:-.07em; line-height:.98; margin:0; }.footer-nav { list-style:none; padding:0; margin:0; columns:2; column-gap:70px; }.footer-nav li { margin-bottom:12px; }.footer-nav a { color:#c6d0e0; font-size:.9rem; }.footer-nav a:hover { color:#78a9fa; }.footer-bottom { border-top:1px solid var(--line); padding-top:19px; display:flex; justify-content:space-between; gap:20px; color:#73819a; font:400 .68rem 'DM Mono',monospace; }.legal { display:flex; gap:20px; }
    @media (max-width:760px) { .menu-button span { display:none; }.drawer a { font-size:2rem; }.hero { padding-top:48px; }.hero-bottom { margin-top:42px; }.hero-numbers { gap:18px; }.hero-numbers strong { font-size:1.2rem; }.about,.contact { grid-template-columns:1fr; gap:35px; }.legal-cols { grid-template-columns:1fr; gap:35px; }.about-copy { padding:0; }.services-head,.clients-head { display:block; }.clients-head p { margin-top:28px; }.cards { grid-template-columns:1fr; }.sol-grid { grid-template-columns:1fr; }.card { min-height:205px; }.client-logo { min-height:120px; padding:18px; }.contact-form { grid-template-columns:1fr; }.contact-form .wide { grid-column:auto; }.submit,.form-note { grid-column:auto; }.footer-top { display:block; }.footer-nav { margin-top:40px; }.footer-bottom { flex-direction:column; }.hero-numbers span { display:none; } section { padding-top:80px; padding-bottom:80px; } }