:root{--ground: #f3f4f6;--card: #ffffff;--ink: #14161b;--muted: #60666f;--line: #dfe2e6;--deep: #1b2440;--deep-2: #c4cada;--signal: #ff5a36;--on-signal: #1a0a05;--f: "Albert Sans", system-ui, sans-serif;--gutter: clamp(16px, 4vw, 56px);--max: 1320px;--nav: 76px;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ground);color:var(--ink);font:400 17px/1.6 var(--f);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit}img{display:block;max-width:100%}button{font:inherit}:focus-visible{outline:2px solid var(--signal);outline-offset:3px}:where(.wrap){max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}.skip{position:absolute;left:-9999px;top:8px;z-index:50;padding:10px 16px;border-radius:8px;background:#fff;color:var(--ink)}.skip:focus{left:8px}.btn{display:inline-flex;align-items:center;padding:13px 22px;border-radius:12px;font-weight:600;font-size:15px;text-decoration:none}.btn.light{background:#fff;color:var(--ink)}.btn.ghost{color:#fff;box-shadow:inset 0 0 0 1px #ffffff4d}.btn.ghost:hover{box-shadow:inset 0 0 0 1px #fff}.btn.signal{background:var(--signal);color:var(--on-signal)}.header{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--nav);color:#fff}.brand{display:inline-flex;align-items:center;gap:10px;font-size:19px;font-weight:700;text-decoration:none}.brand img{border-radius:8px}.header nav{display:flex;align-items:center;gap:22px;padding:8px 8px 8px 22px;border-radius:999px;background:color-mix(in srgb,var(--deep) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header nav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0;font-size:15px}.header nav ul a{text-decoration:none;color:var(--deep-2)}.header nav ul a:hover{color:#fff}.lang{display:flex;gap:2px;padding:3px;border-radius:999px;background:#ffffff1a}.lang button{border:0;background:none;color:var(--deep-2);padding:5px 11px;border-radius:999px;font-size:13px;font-weight:700;cursor:pointer}.lang button[aria-pressed=true]{background:#fff;color:var(--ink)}.hero{position:relative;min-height:max(780px,100vh);overflow:hidden;background:var(--deep);color:#fff}.wall{position:absolute;top:-22%;right:-12%;width:80%;height:145%;display:grid;grid-template-columns:repeat(6,1fr);gap:18px;transform:rotate(-9deg)}.col{position:relative;display:block;cursor:pointer;transition:opacity .35s}.col .track{display:flex;flex-direction:column;gap:18px;animation:up var(--s) linear infinite}.col.down .track{animation-name:down}.col img{width:100%;aspect-ratio:402 / 874;object-fit:cover;object-position:top;border-radius:22px;box-shadow:0 20px 40px -20px #0009}@keyframes up{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes down{0%{transform:translateY(-50%)}to{transform:translateY(0)}}.wall.focus .col{opacity:.22}.wall.focus .col.on{opacity:1}.shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--deep) 30%,color-mix(in srgb,var(--deep) 72%,transparent) 50%,transparent 72%);pointer-events:none}.hero.paused .track{animation-play-state:paused}.copy{position:relative;z-index:2;max-width:600px;padding:clamp(48px,10vh,120px) 0 56px}.copy h1{margin:0 0 22px;font-weight:700;font-size:clamp(40px,5.2vw,76px);line-height:1.03;letter-spacing:-.035em}.copy .lead{margin:0 0 32px;color:var(--deep-2);font-size:clamp(18px,1.5vw,20px);max-width:48ch}.actions{display:flex;flex-wrap:wrap;gap:10px}.legend{margin-top:48px}.legend p{margin:0 0 12px;font-size:14px;color:var(--deep-2)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;background:#ffffff14;color:#fff;text-decoration:none;font-size:14px;font-weight:600;transition:background-color .2s}.chip img{width:26px;height:26px;border-radius:7px}.chip:hover,.chip.on{background:#fff3}.pause{position:absolute;z-index:3;right:var(--gutter);bottom:24px;padding:9px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:var(--deep);color:#fff;font-weight:600;font-size:14px;cursor:pointer}.strip-m{display:none}.svc{background:var(--card);border-bottom:1px solid var(--line)}.svc .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.svc .wrap>div{padding:30px 28px 30px 0}.svc .wrap>div+div{padding-left:28px;border-left:1px solid var(--line)}.svc h3{margin:0 0 6px;font-size:19px;font-weight:700}.svc p{margin:0;color:var(--muted);font-size:16px}main>section{margin-top:clamp(72px,9vw,128px)}.sec-head{margin-bottom:36px}.sec-head h2{margin:0;font-weight:700;font-size:clamp(32px,4vw,54px);line-height:1.02;letter-spacing:-.03em}.sec-head p{margin:6px 0 0;color:var(--muted);max-width:52ch}.cases{display:grid;gap:32px}.case{position:sticky;top:calc(24px + var(--i) * 14px);height:min(640px,calc(100vh - 48px));background:var(--card);border-radius:28px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);box-shadow:0 -12px 40px -24px #14161b59;scroll-margin-top:24px}.case .media{position:relative;background:var(--c);display:flex;align-items:flex-end;justify-content:center;gap:5%;padding:0 6%;overflow:hidden}.case .ph{width:40%;aspect-ratio:402 / 874;border-radius:28px;padding:6px;background:#0e0f12;transform:translateY(9%);box-shadow:0 30px 60px -30px #000000b3}.case .ph+.ph{transform:translateY(20%)}.case .ph img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:22px}.case .media.web{display:block;padding:0}.case .br{position:absolute;left:9%;top:9%;width:118%;height:112%;border-radius:14px 0 0;overflow:hidden;background:#fff;box-shadow:0 40px 80px -30px #0000008c}.case .br i{display:flex;align-items:center;gap:7px;height:30px;padding:0 14px;background:#24262b}.case .br i b{width:10px;height:10px;border-radius:50%;background:#4a4d55}.case .br img{width:100%;height:calc(100% - 30px);object-fit:cover;object-position:top left}.case .ph.over{position:absolute;width:30%;right:7%;bottom:-10%;transform:none;z-index:2}.case .body{padding:clamp(24px,3.4vw,48px);display:flex;flex-direction:column;overflow:hidden}.case .top{display:flex;align-items:center;gap:14px;margin-bottom:18px}.case .top img{width:52px;height:52px;border-radius:13px}.case .top span{color:var(--muted);font-size:14px;line-height:1.35}.case h3{margin:0 0 8px;font-size:clamp(30px,3vw,44px);line-height:1;letter-spacing:-.03em;font-weight:800}.case .tag{margin:0 0 22px;font-size:18px}.case h4{margin:0 0 2px;font-size:14px;color:var(--muted);font-weight:600}.case .t{margin:0 0 16px;font-size:16px}.case .tech{margin:0 0 16px;font-size:15px;color:var(--muted)}.case .links{margin-top:auto;padding-top:12px;display:flex;flex-wrap:wrap;gap:14px;font-weight:600;font-size:15px}.case .links a{text-decoration:none;border-bottom:2px solid var(--c)}.mid{margin-top:32px;background:var(--deep);color:#fff;border-radius:28px;padding:clamp(28px,4vw,44px) clamp(24px,4vw,48px);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.mid h3{margin:0 0 4px;font-size:clamp(22px,2.4vw,30px);letter-spacing:-.02em}.mid p{margin:0;color:var(--deep-2)}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:s}.steps li{counter-increment:s;background:var(--card);border-radius:18px;padding:24px}.steps li:before{content:counter(s);font-weight:800;font-size:44px;line-height:1;color:var(--deep);opacity:.18;display:block;margin-bottom:16px}.steps h3{margin:0 0 6px;font-size:20px;font-weight:700}.steps p{margin:0;color:var(--muted);font-size:16px}.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}.about h2{margin:0 0 18px;font-weight:700;font-size:clamp(32px,4vw,54px);line-height:1.02;letter-spacing:-.03em}.about p{color:var(--muted);max-width:54ch;margin:0 0 14px}.xp{background:var(--card);border-radius:22px;padding:8px 26px;margin:0}.xp div{padding:18px 0}.xp div+div{border-top:1px solid var(--line)}.xp dt{color:var(--muted);font-size:14px}.xp dd{margin:0}.xp b{display:block;font-weight:700;margin:2px 0}.xp small{color:var(--muted);font-size:15px}main>section.contact{margin:clamp(72px,9vw,128px) var(--gutter) 0;background:var(--deep);color:#fff;border-radius:32px;padding:clamp(48px,7vw,96px) clamp(24px,6vw,88px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:end}.contact h2{margin:0;font-weight:700;font-size:clamp(36px,5vw,72px);line-height:1;letter-spacing:-.035em}.contact p{color:var(--deep-2);margin:0 0 22px}.contact .alt{margin-top:18px;display:flex;gap:18px;flex-wrap:wrap;color:var(--deep-2);font-size:15px}.footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:28px;padding-bottom:36px;color:var(--muted);font-size:14px}.bar{background:var(--deep)}.missing{min-height:60vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px}.missing h1{margin:0;font-size:clamp(32px,4vw,54px);letter-spacing:-.03em}.missing p{margin:0 0 18px;color:var(--muted)}.missing .btn{background:var(--deep);color:#fff}@media(max-width:920px){.hero{min-height:0}.header nav{padding-left:8px}.header nav ul{display:none}.wall,.shade,.pause{display:none}.strip-m{display:block;position:relative;overflow:hidden;margin:8px calc(var(--gutter) * -1) 0}.strip-m .track{display:flex;gap:12px;width:max-content;animation:side 60s linear infinite}.strip-m img{width:120px;aspect-ratio:402 / 874;object-fit:cover;object-position:top;border-radius:16px}@keyframes side{0%{transform:translate(0)}to{transform:translate(-50%)}}.copy{padding-top:28px}.legend{margin-top:32px}.svc .wrap{grid-template-columns:1fr 1fr}.svc .wrap>div:nth-child(3){padding-left:0;border-left:0}.svc .wrap>div:nth-child(n+3){border-top:1px solid var(--line)}.case{position:relative;top:auto;height:auto;grid-template-columns:1fr}.case .media{aspect-ratio:4 / 3.2}.case .br{left:7%;width:110%}.steps{grid-template-columns:1fr 1fr}.about{grid-template-columns:1fr}main>section.contact{grid-template-columns:1fr}}@media(max-width:520px){.svc .wrap,.steps{grid-template-columns:1fr}.svc .wrap>div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.col .track,.strip-m .track{animation:none}.pause{display:none}}
