:root{--bg:#101110;--surface:#191b19;--ink:#eeefea;--muted:#a1a59b;--line:#30332e;--accent:#34F5C5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button{background:none;border:0}::selection{background:var(--accent);color:var(--bg)}.wrap{max-width:1440px;margin:auto;padding:0 64px}header{position:sticky;top:0;z-index:20;background:#101110f5;border-bottom:1px solid var(--line)}.nav{height:94px;display:flex;align-items:center;justify-content:space-between;transition:height .25s}.compact .nav{height:72px}.brand{font-size:19px;font-weight:600;letter-spacing:-.7px}.brand b{display:inline-block;width:11px;height:11px;background:var(--accent);margin-right:12px}.navlinks{display:flex;gap:38px;align-items:center}.navlinks a{font-size:14px}.navlinks a[aria-current=page]{color:var(--accent)}.menu{display:none}.link{position:relative}.link:after{content:'';position:absolute;height:1px;bottom:-5px;left:0;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.link:hover:after{transform:scaleX(1)}.eyebrow{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}.hero{padding:92px 0 80px}.hero .eyebrow{display:flex;align-items:center;gap:12px}.hero h1{font-size:clamp(48px,6.5vw,96px);line-height:1.055;letter-spacing:-5px;font-weight:400;max-width:1110px;margin:32px 0 38px}.hero h1 em{color:var(--muted);font-style:normal}.herobottom{display:flex;justify-content:space-between;align-items:end;gap:32px}.herobottom p{max-width:430px;color:var(--muted);margin:0;font-size:17px}.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:14px 21px;border:1px solid var(--line);border-radius:3px;font-size:14px;transition:background .2s}.btn.primary{background:var(--accent);color:#151910;border-color:var(--accent)}.btn:hover{background:#292d25}.btn.primary:hover{background:#69F8D4}.availability{font-size:12px;color:var(--muted);margin-top:36px}.section{padding:84px 0;border-top:1px solid var(--line)}.sectionhead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:34px}.sectionhead h2{font-size:28px;letter-spacing:-.8px;font-weight:400;margin:0}.sectionhead span,.sectionhead a{font-size:13px;color:var(--muted)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:52px 28px}.project:first-child{grid-column:1/-1}.project{display:block;min-width:0}.project .cover{transition:transform .55s}.project:hover .cover{transform:scale(1.018)}.coverwrap{overflow:hidden;border-radius:4px}.cover{height:400px;background:#262c26;display:flex;align-items:center;justify-content:center;padding:48px;overflow:hidden}.project:first-child .cover{height:530px;padding:64px 100px}.project:nth-child(2) .cover{background:#282b34}.project:nth-child(3) .cover{background:#333029}.project:nth-child(4) .cover{background:#252f2f}.pmeta{display:flex;justify-content:space-between;gap:20px;margin:18px 0 4px}.pmeta h3{font-size:23px;letter-spacing:-.6px;margin:0;font-weight:400}.pmeta span{font-size:13px;color:var(--muted)}.project p{margin:3px 0;color:var(--muted);font-size:14px}.caption{font-size:12px;color:var(--muted);margin-top:10px}.mock{width:100%;max-width:960px;background:#141815;border:1px solid #424a3d;border-radius:6px;box-shadow:0 22px 55px #0004;display:flex;min-height:290px;pointer-events:none}.sidebar{width:155px;flex-shrink:0;padding:24px 18px;border-right:1px solid #343b31;color:#a9b39f;font-size:12px}.sidebar strong{display:block;color:#e5ebdf;font-size:15px;margin-bottom:35px}.sidebar div{padding:8px;margin:7px 0}.sidebar .active{background:#2a3527;border-radius:3px;color:#d6edb5}.mockmain{flex:1;min-width:0;padding:26px}.mocktop{display:flex;justify-content:space-between;font-size:12px;color:#9ba694}.mock h4{font-size:22px;line-height:1.2;letter-spacing:-.7px;font-weight:400;margin:20px 0}.ministats{display:flex;gap:10px}.ministat{flex:1;padding:12px;border:1px solid #343c30;border-radius:3px;color:#a0ab99;font-size:12px}.ministat strong{display:block;font-size:20px;color:#e9eee3;font-weight:400;margin-top:4px}.chart{height:112px;display:flex;align-items:end;gap:9px;border-bottom:1px solid #42493d;margin-top:20px;background:repeating-linear-gradient(to top,transparent 0,transparent 35px,#293125 36px)}.chart i{flex:1;background:#aec989;border-radius:2px 2px 0 0}.mockfoot{display:flex;justify-content:space-between;font-size:12px;color:#9ba694;margin-top:12px}.smallmock .sidebar{display:none}.smallmock .mockmain{padding:25px}.chatline{margin-top:18px;padding:15px;background:#252d28;border:1px solid #3a443c;border-radius:4px;font-size:13px;color:#c9d0c6}.tokens{display:flex;gap:8px;margin-top:25px}.tokens i{height:55px;flex:1;background:#c8e3a0}.tokens i:nth-child(2){background:#8caa75}.tokens i:nth-child(3){background:#506545}.tokens i:nth-child(4){background:#2b3527}.expertise{display:grid;grid-template-columns:1fr 2fr;gap:60px}.expertise h2{font-size:14px;font-weight:400;color:var(--muted);margin:0}.skills{display:grid;grid-template-columns:1fr 1fr;gap:16px 36px;font-size:25px;letter-spacing:-.7px}.intro{font-size:30px;line-height:1.5;letter-spacing:-.8px;max-width:870px;margin:0}.muted{color:var(--muted)}blockquote{font-size:clamp(28px,3.5vw,49px);line-height:1.35;letter-spacing:-1.5px;margin:0;max-width:1050px}blockquote:before{content:'“';display:block;color:var(--accent);font-size:65px;height:60px}.cta{padding:90px 0 100px}.cta h2{font-size:clamp(40px,5.4vw,76px);letter-spacing:-3px;line-height:1.12;font-weight:400;max-width:800px;margin:0 0 35px}footer{padding:36px 0;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.footrow{display:flex;align-items:center;justify-content:space-between;gap:25px}.footrow nav{display:flex;gap:25px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px}.filter{font-size:14px;padding:8px 15px;border:1px solid var(--line);border-radius:2px}.filter[aria-pressed=true]{background:var(--ink);color:var(--bg)}.catalog .project:first-child{grid-column:auto}.catalog .project:first-child .cover{height:400px;padding:48px}.pagehero{padding:80px 0 65px}.pagehero h1{font-size:clamp(48px,6vw,84px);font-weight:400;line-height:1.08;letter-spacing:-4px;margin:20px 0 25px;max-width:1050px}.pagehero p{color:var(--muted);font-size:18px;max-width:690px}.notice{font-size:13px!important;border-left:2px solid var(--accent);padding-left:16px}.casecover .cover{height:540px;padding:60px 110px}.metadata{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin:40px 0}.metadata dt{color:var(--muted);font-size:12px;margin-bottom:7px}.metadata dd{margin:0;font-size:14px}.caselayout{display:grid;grid-template-columns:220px 1fr;gap:70px;padding-top:70px}.toc{align-self:start;position:sticky;top:110px;display:flex;flex-direction:column;gap:12px;color:var(--muted);font-size:13px}.casesection{padding-bottom:65px;scroll-margin-top:110px}.casesection h2{font-size:34px;font-weight:400;letter-spacing:-1px;margin:0 0 25px}.casesection h3{font-size:17px;font-weight:400;margin:24px 0 8px}.casesection p{color:var(--muted);max-width:720px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:30px}.reason{display:grid;grid-template-columns:100px 1fr;border-top:1px solid var(--line);padding:19px 0;gap:20px}.reason span{font-size:13px;color:var(--accent)}.reason p{margin:0}.flow{display:flex;gap:10px;align-items:center;padding:30px 0;flex-wrap:wrap}.flow span{padding:18px;border:1px solid var(--line);font-size:14px}.flow b{color:var(--muted);font-weight:400}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:25px}.metric{border-top:1px solid var(--line);padding-top:25px}.metric strong{font-size:30px;font-weight:400;color:var(--accent)}.timeline{display:grid;grid-template-columns:1fr 2fr;border-top:1px solid var(--line);padding:27px 0;gap:30px}.timeline h3{margin:0;font-size:22px;font-weight:400}.principles{display:grid;grid-template-columns:1fr 1fr;gap:40px}.principles h3{font-size:23px;font-weight:400}.principles p{color:var(--muted)}.contactlist{max-width:850px;margin-bottom:80px}.contactrow{display:flex;justify-content:space-between;gap:22px;padding:28px 0;border-bottom:1px solid var(--line);align-items:center}.contactrow strong{display:block;font-size:25px;font-weight:400}.contactrow small{color:var(--muted)}.contactrow button{border:1px solid var(--line);padding:10px 18px;font-size:14px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:13px 23px;border-radius:4px;z-index:50;max-width:90%;font-size:14px}.skip{position:fixed;top:-100px;left:20px;background:var(--accent);color:#111;padding:10px;z-index:100}.skip:focus{top:10px}.reveal{animation:appear .7s ease both}@keyframes appear{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}[hidden]{display:none!important}@media(min-width:1500px){.hero{padding-top:105px}}@media(max-width:1000px){.wrap{padding:0 32px}.hero h1{letter-spacing:-3px}.cover,.project:first-child .cover,.catalog .project:first-child .cover{padding:30px;height:360px}.sidebar{display:none}.caselayout{grid-template-columns:160px 1fr;gap:35px}.casecover .cover{padding:40px}.herobottom{align-items:start}.actions{gap:20px}}@media(max-width:680px){.wrap{padding:0 22px}.nav{height:76px}.menu{display:block;padding:10px}.navlinks{display:none;position:absolute;top:76px;left:0;right:0;background:var(--bg);padding:25px 22px;border-bottom:1px solid var(--line)}.navlinks.open{display:flex;flex-direction:column;align-items:start;gap:25px}.compact .navlinks{top:72px}.hero{padding:58px 0}.hero h1{font-size:49px;letter-spacing:-2.6px;margin-top:28px}.herobottom{display:block}.herobottom .actions{margin-top:30px}.availability{line-height:1.6}.section{padding:55px 0}.grid{grid-template-columns:1fr;gap:36px}.project:first-child{grid-column:auto}.cover,.project:first-child .cover,.catalog .project:first-child .cover{height:310px;padding:23px}.mockmain{padding:17px}.mock h4{font-size:19px}.ministat{padding:8px}.ministat strong{font-size:17px}.chart{height:80px}.expertise{grid-template-columns:1fr;gap:24px}.skills{font-size:20px;gap:15px}.intro{font-size:24px}.cta{padding:58px 0}.cta h2{letter-spacing:-1.8px}.footrow{align-items:start;flex-direction:column}.pagehero{padding:55px 0 40px}.pagehero h1{font-size:47px;letter-spacing:-2px}.metadata{grid-template-columns:1fr 1fr}.casecover .cover{height:330px;padding:20px}.caselayout{display:block;padding-top:40px}.toc{position:static;flex-direction:row;flex-wrap:wrap;margin-bottom:40px;gap:10px 20px}.casesection h2{font-size:29px}.twocol,.principles,.metrics{grid-template-columns:1fr}.reason{grid-template-columns:75px 1fr;gap:15px}.timeline{grid-template-columns:1fr;gap:10px}.contactrow strong{font-size:21px}.contactrow{align-items:start}.sectionhead h2{font-size:25px}.sectionhead{gap:15px}.ministat:last-child{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.grid:not(.catalog)>.project:last-child{grid-column:1/-1}.grid:not(.catalog)>.project:last-child .cover{height:430px;padding:50px 120px}.grid:not(.catalog)>.project:last-child .mock{max-width:780px}@media(max-width:680px){.grid:not(.catalog)>.project:last-child .cover{height:310px;padding:23px}}

.earlier summary{padding:24px 0;border-top:1px solid var(--line);cursor:pointer;display:flex;justify-content:space-between;color:var(--muted)}.earlier summary:hover{color:var(--accent)}.earlier summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.earlier[open] summary span{transform:rotate(45deg)}

.footrow nav{flex-wrap:wrap}.contactrow>div{min-width:0}.contactrow strong{overflow-wrap:anywhere}.contactrow>button,.contactrow>.btn{flex-shrink:0}@media(max-width:680px){.contactrow:first-child{flex-direction:column;gap:14px}}

/* Stable-width text resolving effect, scoped to the home hero. */
.hero h1{font-size:clamp(48px,8.3vw,120px);max-width:1280px;letter-spacing:-.055em}
.resolve-word{display:inline-block;white-space:nowrap}
.resolve-visual{display:inline-flex}
.resolve-cell{position:relative;display:inline-block}
.resolve-size{visibility:hidden}
.resolve-glyph{position:absolute;inset:0;display:block;overflow:hidden;text-align:center}
.resolve-glyph.scrambling{color:var(--accent)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:680px){.hero h1{font-size:clamp(40px,12.55vw,64px);letter-spacing:-.053em}}
@media(prefers-reduced-motion:reduce){.resolve-glyph.scrambling{color:var(--muted)}}

.footer-signoff{display:flex;flex-direction:column;gap:9px;align-items:flex-end}.ukraine-support{display:inline-flex;align-items:center;gap:7px;color:#92978e;font-size:12px;letter-spacing:.02em}.ukraine-flag{display:inline-block;width:14px;height:9px;border-radius:1px;background:linear-gradient(to bottom,#0057b7 0 50%,#ffd700 50% 100%);opacity:.7}@media(max-width:680px){.footer-signoff{align-items:flex-start}}

/* Knowledge Base case study */
.knowledge-card-image{display:block;width:100%;height:auto;transition:transform .55s}.knowledge-project:hover .knowledge-card-image{transform:scale(1.018)}.knowledge-project .coverwrap{border:1px solid var(--line)}.knowledge-figure{margin:24px 0 34px}.knowledge-figure img{display:block;width:100%;height:auto;border-radius:4px;border:1px solid var(--line)}.knowledge-figure a{display:block}.knowledge-figure figcaption{color:var(--muted);font-size:12px;margin-top:12px}.knowledge-case .caselayout>div{min-width:0}.knowledge-case>.knowledge-figure{margin-top:0}.knowledge-case .casesection{padding-bottom:44px}.knowledge-case .pagehero{padding-bottom:26px}.knowledge-case .metadata{margin-bottom:15px}.knowledge-case .casesection p.caption{font-size:13px}.knowledge-case .metadata dd{max-width:240px}@media(max-width:680px){.knowledge-case .pagehero h1{font-size:43px}.knowledge-case .metadata{gap:22px 16px}.knowledge-case .toc{line-height:2}.knowledge-figure{margin:22px 0 30px}}

.relay-project .coverwrap{border:1px solid var(--line)}.relay-project:hover .knowledge-card-image{transform:scale(1.018)}.relay-case .pagehero p.relay-note{font-size:13px}.relay-case .casesection h2{line-height:1.22}

.affiliate-project .coverwrap{border:1px solid var(--line)}.affiliate-project:hover .knowledge-card-image{transform:scale(1.018)}.affiliate-case .casesection h2{line-height:1.22}
/* Credodo: interactive portfolio cover and original screen gallery */
.credodo-project .coverwrap{position:relative;border:1px solid var(--line)}.cred-card-label{display:inline-block;position:absolute;bottom:18px;left:18px;background:#1c2637;color:#fff;padding:8px 13px;font-size:12px;border-radius:24px}.cred-demo{background:#fff;color:#1b233d;border-radius:4px;overflow:hidden;scroll-margin-top:100px}.cred-demo-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 32px;border-bottom:1px solid #edf3ef}.cred-demo-head strong{color:#66ca88;font-size:25px;letter-spacing:-.8px}.cred-demo-head span{font-size:12px;color:#657269}.cred-demo-head button{color:#253c2b;background:#e2f7e6;border:1px solid #b4d6bc;border-radius:24px;padding:9px 17px;font-size:12px;min-height:42px}.cred-demo-head button[aria-pressed=true]{background:#ccedda}.cred-demo-body{padding:52px 7%;display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:center}.cred-intro h2{font-size:clamp(28px,3.2vw,44px);letter-spacing:-1.3px;line-height:1.2;margin:24px 0}.cred-intro p{font-size:15px;max-width:300px;line-height:1.6}.cred-intro a{display:inline-block;margin-top:18px;font-size:13px;border-bottom:1px solid #97b9a0}.cred-calc{background:#e4f8e9;border:1px solid #b8d6c0;border-radius:30px;padding:28px;min-width:0}.cred-calc h3{font-size:20px;margin:0 0 26px}.cred-calc label{display:flex;justify-content:space-between;font-size:13px;margin-bottom:10px}.cred-calc label span{color:#5f7769}.cred-calc input[type=number]{display:block;width:100%;font:16px Arial,sans-serif;color:#1b233d;border:1px solid #b8d6c0;border-radius:28px;padding:13px 17px;background:#fff;min-height:48px}.cred-calc input:focus-visible{outline:2px solid #9747ff;outline-offset:3px}.cred-calc input[type=range]{display:block;width:100%;accent-color:#9747ff;cursor:pointer;margin:12px 0 0;min-height:28px}.cred-range-labels{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#597062;margin:0 0 27px}.cred-total{display:flex;flex-direction:column;align-items:flex-end;gap:10px;border-top:1px solid #c9e2cf;padding-top:20px}.cred-total span{font-size:13px}.cred-total strong{font-size:32px;font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}.cred-calc .cred-demo-note{font-size:11px;color:#52755b;text-align:right;line-height:1.5;margin:8px 0 0}.cred-formula{font-size:11px;color:#52685a;margin-top:18px}.cred-formula summary{cursor:pointer}.cred-formula p{font-size:11px;line-height:1.6}.cred-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.cred-gallery .cred-desktop{grid-column:1/-1}.cred-gallery .cred-mobile{max-width:360px;width:100%;justify-self:center}.cred-gallery .knowledge-figure{margin:12px 0 22px}.credodo-case .casesection h2{line-height:1.25}.credodo-case .casesection{padding-bottom:60px}
@media(max-width:1000px){.cred-demo-body{gap:30px;padding:35px 4%}.cred-calc{padding:23px}.cred-intro h2{font-size:30px}}
@media(max-width:680px){.cred-demo-head{padding:18px;gap:12px;flex-wrap:wrap}.cred-demo-head strong{font-size:22px}.cred-demo-head span{display:none}.cred-demo-body{display:block;padding:25px 18px}.cred-intro{margin-bottom:28px}.cred-intro h2{font-size:32px}.cred-intro p{max-width:none;font-size:14px}.cred-calc{padding:20px;border-radius:24px}.cred-calc h3{font-size:18px}.cred-total strong{font-size:28px}.cred-gallery{gap:12px}.cred-card-label{font-size:10px;bottom:10px;left:10px;padding:6px 10px}}
.case-motion{--motion-accent:#34f5c5;--scene-duration:3800ms;border:1px solid var(--line);background:#171b19;overflow:hidden;margin:0 0 18px}.motion-heading{padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.motion-kicker{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--motion-accent);margin:0 0 7px}.motion-heading h2{font-size:28px;font-weight:400;line-height:1.25;letter-spacing:-.7px;margin:0}.motion-toggle{flex-shrink:0;border:1px solid #69736a;padding:10px 16px;font-size:12px;min-height:44px}.motion-toggle:hover{background:#ffffff0a}.motion-stage{position:relative;aspect-ratio:16/10;background:#2f2f2f;overflow:hidden}.motion-scene{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s;display:flex;align-items:center;justify-content:center}.motion-scene.is-current{opacity:1;visibility:visible;z-index:1}.motion-scene img{display:block;width:100%;height:100%;object-fit:contain;transform:scale(1);animation:none}.motion-scene.is-current img{animation:motion-drift var(--scene-duration) ease-out both;animation-play-state:paused}.is-playing .motion-scene.is-current img{animation-play-state:running}.motion-relay .motion-stage{background:#102722;aspect-ratio:4/3}.motion-affiliate{--motion-accent:#94b7ff}.motion-affiliate .motion-stage{background:#edf2ff;aspect-ratio:16/10}.motion-caption{padding:23px 32px;display:flex;align-items:baseline;gap:22px;min-height:113px}.motion-count{font-size:12px;white-space:nowrap;color:var(--motion-accent);font-variant-numeric:tabular-nums}.motion-caption h3{font-size:20px;margin:0 0 5px;font-weight:400;line-height:1.3}.motion-caption p{font-size:13px;color:var(--muted);margin:0}.motion-status{font-size:10px;white-space:nowrap;color:var(--muted);margin-left:auto}.motion-timeline{display:flex;gap:6px;padding:0 32px 25px}.motion-timeline>span{height:2px;background:#374239;flex:1;overflow:hidden}.motion-timeline i{display:block;width:100%;height:100%;background:var(--motion-accent);transform:scaleX(0);transform-origin:left}.motion-timeline .is-current i{animation:motion-progress var(--scene-duration) linear both;animation-play-state:paused}.is-playing .motion-timeline .is-current i{animation-play-state:running}.motion-timeline .is-complete i{transform:scaleX(1)}.motion-original{margin:14px 0 30px;font-size:12px;color:var(--muted)}.motion-original summary{cursor:pointer;padding:12px 0;width:fit-content}.motion-original[open]{padding-bottom:12px}@keyframes motion-drift{from{transform:scale(.975)}to{transform:scale(1)}}@keyframes motion-progress{to{transform:scaleX(1)}}@media(max-width:680px){.motion-heading{padding:20px;align-items:flex-start;gap:15px;flex-wrap:wrap}.motion-heading h2{font-size:24px}.motion-toggle{font-size:11px;padding:8px 12px}.motion-caption{padding:20px;gap:12px;min-height:145px}.motion-caption h3{font-size:18px}.motion-caption p{font-size:12px}.motion-status{display:none}.motion-timeline{padding:0 20px 20px}.motion-stage{aspect-ratio:4/3}.motion-affiliate .motion-stage{aspect-ratio:4/3}}@media(prefers-reduced-motion:reduce){.motion-scene{transition:none}.motion-scene img,.motion-timeline i{animation:none!important}.motion-timeline .is-current i{transform:scaleX(1)}}

.case-motion{scroll-margin-top:98px}
.relay-live{margin:65px 0;scroll-margin-top:100px}.rl-intro{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:25px}.rl-intro h2{font-size:34px;font-weight:400;line-height:1.2;margin:8px 0}.rl-intro p:not(.motion-kicker){font-size:14px;color:var(--muted);margin:10px 0}.rl-intro button{border:1px solid #69736a;padding:12px 18px;min-height:44px;white-space:nowrap;font-size:12px}.rl-app{background:#eceeeb;color:#32495d;padding:26px}.rl-brand{font-weight:700;color:#00bba8;font-size:22px;border-bottom:1px solid #d0d9d4;padding-bottom:16px}.rl-brand span{font-weight:400;font-size:11px;color:#577b89;margin-left:24px}.rl-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0}.rl-top h3{font-size:28px;margin:0;line-height:1.2}.rl-top label{display:flex;align-items:center;gap:12px;font-size:12px}.rl-top select{font:12px Arial;background:white;color:#32495d;border:1px solid #cbd5cd;padding:11px;min-height:44px}.rl-chart-card{background:#fff;padding:20px 18px 12px}.rl-chart-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.rl-chart-head h4{font-size:18px;margin:0}.rl-legend{display:flex;gap:15px;font-size:11px}.rl-legend span:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:#f37836}.rl-legend .rl-profit:before{background:#1db7ae}.rl-plot{position:relative;margin-top:14px}#rl-chart{display:block;width:100%;height:300px;touch-action:pan-y}.rl-tooltip{position:absolute;pointer-events:none;background:#30475c;color:white;padding:12px;border-radius:3px;font-size:11px;width:158px;box-shadow:0 4px 15px #24374b20}.rl-tooltip>b{display:block;margin-bottom:6px}.rl-tooltip span{display:flex;justify-content:space-between;gap:10px;line-height:1.8}.rl-tooltip strong{font-variant-numeric:tabular-nums}.rl-inspect{display:flex;gap:14px;align-items:center;font-size:11px;color:#667787;padding-top:8px}.rl-inspect input{flex:1;min-width:0;accent-color:#13bba7;min-height:32px}.rl-inspect span{min-width:40px;font-variant-numeric:tabular-nums}.rl-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.rl-metrics>div{padding:18px;background:white;min-width:0}.rl-metrics span{display:block;font-size:12px;color:#72818d}.rl-metrics strong{display:block;font-size:28px;font-weight:400;margin-top:5px;font-variant-numeric:tabular-nums}@media(max-width:680px){.rl-intro{align-items:flex-start;flex-direction:column}.rl-intro h2{font-size:28px}.rl-app{padding:14px}.rl-brand span{display:block;margin:4px 0 0}.rl-top{align-items:flex-start;flex-direction:column;gap:12px}.rl-top h3{font-size:24px}.rl-chart-card{padding:14px 8px}.rl-chart-head{align-items:flex-start;flex-direction:column;gap:8px}.rl-chart-head h4{font-size:16px}#rl-chart{height:245px}.rl-inspect{gap:6px;font-size:10px}.rl-metrics{gap:6px}.rl-metrics>div{padding:12px 7px}.rl-metrics strong{font-size:19px}.rl-metrics span{font-size:10px}.rl-tooltip{width:145px;font-size:10px}}
.product-story{margin:64px 0;scroll-margin-top:100px}.ps-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.ps-heading h2{font-size:32px;font-weight:400;line-height:1.2;margin:8px 0}.ps-play,.ps-restart{border:1px solid #64746b;padding:11px 16px;font-size:12px;min-height:44px;white-space:nowrap}.ps-layout{background:#1b211e;border:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr;gap:45px;padding:40px;align-items:center}.ps-narrative{align-self:center}.ps-number{font-size:12px;color:var(--accent)}.ps-title{font-size:30px;line-height:1.2;font-weight:400;margin:18px 0}.ps-description{font-size:14px;color:var(--muted);min-height:90px}.ps-steps{list-style:none;padding:0;margin:30px 0 0;counter-reset:step}.ps-steps li{counter-increment:step;color:#929c94;padding:10px 0;font-size:12px;border-top:1px solid #344037;transition:color .25s}.ps-steps li:before{content:'0' counter(step);margin-right:15px}.ps-steps li.active{color:var(--accent)}.ps-device{min-width:0}.ps-screen{overflow:hidden;contain:layout paint}.ps-knowledge .ps-device{width:100%;max-width:360px;justify-self:center;background:#f0eff6;color:#0c3054;border-radius:18px;border:1px solid #d6d8e0;box-shadow:0 16px 45px #0003}.ps-knowledge .ps-screen{height:590px;padding:22px 18px}.ps-kb-top{display:flex;align-items:center;justify-content:space-between;font-size:18px;font-weight:700;margin:5px 0 24px}.ps-kb-mark{font-size:11px;color:#ff1427}.ps-kb-search{height:43px;background:#e1e0e9;border-radius:13px;padding:9px 14px;font-size:15px;margin-bottom:24px}.ps-caret{display:inline-block;width:1px;height:16px;background:#ff1427;vertical-align:middle;margin-left:2px}.ps-screen h4{font-size:18px;margin:18px 0 10px}.ps-kb-card{background:#fff;border-radius:16px;padding:17px;margin:12px 0;box-shadow:0 6px 14px #bbc4d125}.ps-kb-card h4{margin:4px 0 14px}.ps-kb-card small{display:block;color:#889caf;font-size:11px}.ps-kb-card p,.ps-kb-article p{font-size:13px;line-height:1.6;margin:8px 0}.ps-kb-selected{box-shadow:inset 0 0 0 1px #ff142733,0 6px 14px #bbc4d125}.ps-kb-article>small{color:#ff1427;font-size:10px;font-weight:700}.ps-kb-article h3,.ps-kb-compose h3{font-size:23px;line-height:1.25;margin:14px 0}.ps-kb-author{color:#8096ae}.ps-kb-save{background:#ff1427;color:#fff;text-align:center;border-radius:12px;padding:13px;font-size:13px;margin-top:20px}.ps-kb-save.is-saved{background:#fff;color:#ff1427;box-shadow:inset 0 0 0 1px #ff1427}.ps-feedback{font-size:12px;padding:13px;background:#e2f1e9;color:#256343;margin-top:16px;border-radius:7px}.ps-kb-compose>small{font-size:12px}.ps-kb-compose .ps-kb-card{min-height:190px;margin-top:28px}.ps-reward-hint{text-align:center;font-size:20px;font-weight:700;line-height:1.3;margin:30px 0}.ps-kb-reward{text-align:center;padding-top:40px}.ps-kb-reward>small{color:#ff1427;font-size:10px;letter-spacing:1px}.ps-kb-reward h3{font-size:25px}.ps-kb-reward>strong{font-size:70px;line-height:1.1;color:#ff1427;font-variant-numeric:tabular-nums}.ps-kb-reward>p{font-size:14px}.ps-kb-reward .ps-kb-card b{display:block;font-size:30px;margin:10px}.ps-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0}.ps-bottom>span{font-size:11px;color:var(--muted)}.ps-affiliate .ps-layout{grid-template-columns:.8fr 1.7fr;gap:30px;padding:30px}.ps-affiliate .ps-screen{background:#f0f4ff;color:#102d55;padding:24px;min-height:580px;border-left:12px solid #18356e}.ps-af-top{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #d7e1f0;padding-bottom:15px}.ps-af-top b{font-size:16px}.ps-af-top span{font-size:10px;color:#7186a5}.ps-af-tabs{display:flex;gap:18px;font-size:10px;color:#7186a5;margin:17px 0}.ps-af-tabs .active{color:#2163f2;border-bottom:2px solid #2163f2}.ps-affiliate .ps-screen h3{font-size:24px;line-height:1.25;margin:20px 0}.ps-af-filter{display:flex;justify-content:space-between;font-size:11px;gap:12px;margin-bottom:20px}.ps-af-filter span{color:#627b9a}.ps-af-offer{background:#fff;border:1px solid #e2e8f2;padding:15px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.ps-af-offer h4{font-size:15px;margin:5px 0}.ps-af-offer small{font-size:10px;color:#74869c}.ps-af-offer>span{font-size:10px;color:#2163f2}.ps-af-selected{box-shadow:inset 0 0 0 2px #2163f2!important;background:#f8faff!important}.ps-af-tags{display:flex;gap:8px;font-size:10px;margin-bottom:18px}.ps-af-tags span{background:#e0e8f8;padding:5px 8px}.ps-af-panels{display:grid;grid-template-columns:1fr 1.3fr;gap:12px}.ps-af-box{background:#fff;padding:15px;margin-bottom:12px;min-width:0}.ps-af-box>small{font-size:9px;color:#69809c}.ps-af-box h4{margin:10px 0;font-size:20px;font-variant-numeric:tabular-nums}.ps-af-box p{font-size:10px;margin:10px 0}.ps-af-box p b,.ps-af-box p em{float:right;color:#2ba460;font-weight:400;font-style:normal}.ps-af-box p em{color:#b95433}.ps-cap-track{height:9px;background:#edf2ff;margin-top:14px}.ps-cap-track i{display:block;background:#4cbdb1;height:100%}.ps-af-input{padding:9px;border:1px solid #d7e1f0;font-size:12px;min-height:39px}.ps-af-box p.ps-af-link{font-family:monospace;font-size:10px;overflow-wrap:anywhere;color:#2163f2}.ps-af-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.ps-af-metrics>div{background:#fff;padding:14px 9px;min-width:0}.ps-af-metrics small{font-size:10px;color:#69809c;display:block}.ps-af-metrics b{font-size:23px;display:block;font-weight:400;font-variant-numeric:tabular-nums;margin-top:6px}.ps-bars{height:170px}.ps-bars-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;height:100%;padding-top:20px}.ps-bars-inner>div{flex:1;text-align:center}.ps-bars i{display:block;background:#2163f2;max-height:130px;min-height:1px}.ps-bars small{font-size:10px;color:#74869c}.ps-paused .ps-steps li{transition:none}@media(max-width:900px){.ps-layout,.ps-affiliate .ps-layout{padding:24px;gap:25px;grid-template-columns:1fr}.ps-narrative{max-width:600px}.ps-title{font-size:26px}.ps-description{min-height:0}.ps-steps{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.ps-steps li{font-size:10px}.ps-steps li:before{margin-right:5px}.ps-affiliate .ps-device{width:100%}}@media(max-width:680px){.ps-heading{flex-wrap:wrap}.ps-heading h2{font-size:28px}.ps-layout,.ps-affiliate .ps-layout{padding:18px;gap:22px}.ps-knowledge .ps-screen{padding:18px 14px;height:590px}.ps-kb-top{font-size:17px}.ps-affiliate .ps-screen{padding:14px 10px;border-left-width:5px;min-height:570px}.ps-af-top{flex-wrap:wrap;gap:5px}.ps-affiliate .ps-screen h3{font-size:20px}.ps-af-panels{grid-template-columns:1fr}.ps-af-panels .ps-af-box{padding:10px;margin-bottom:0}.ps-af-panels{gap:8px;margin-bottom:8px}.ps-af-offer{padding:11px;gap:8px}.ps-af-offer h4{font-size:13px}.ps-af-metrics b{font-size:18px}.ps-bottom{align-items:flex-start;flex-direction:column}.ps-af-filter{font-size:10px}.ps-af-tabs{gap:13px}.ps-af-box{padding:12px}.ps-kb-article h3{font-size:21px}.ps-bars-inner{gap:7px}}

.ps-knowledge .ps-screen{height:680px}.ps-next{border:1px solid #64746b;padding:11px 16px;min-height:44px;font-size:12px;white-space:nowrap}.ps-bottom{justify-content:flex-start;flex-wrap:wrap}.ps-bottom>span{margin-left:auto}@media(max-width:680px){.ps-knowledge .ps-screen{height:720px}.ps-bottom{flex-direction:row;align-items:center}.ps-bottom>span{width:100%;margin-left:0}}

/* B2B library case */
.b2b-project .coverwrap{background:#050505;border:1px solid var(--line)}.b2b-project:hover img{transform:scale(1.018)}.b2b-cover{max-width:1000px;margin-left:auto!important;margin-right:auto!important}.b2b-case .casesection h2{line-height:1.2}.b2b-foundation-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}.b2b-foundation-pair .b2b-figure{max-width:340px;margin-left:auto;margin-right:auto;width:100%}.b2b-type{max-width:580px;margin-left:auto;margin-right:auto}.b2b-figure img{background:#fff}.b2b-case .caselayout>div{min-width:0}@media(max-width:680px){.b2b-foundation-pair{grid-template-columns:1fr}.b2b-foundation-pair .b2b-figure{max-width:305px}.b2b-case .pagehero h1{font-size:42px}.b2b-case .btn{gap:16px}}

.b2b-expanded .caselayout{grid-template-columns:180px minmax(0,1fr);gap:40px}.b2b-expanded>.b2b-figure{max-width:1100px;margin-left:auto;margin-right:auto}.b2b-expanded .b2b-figure{max-width:none}.b2b-expanded .b2b-figure>a{cursor:zoom-in}.b2b-expanded figcaption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.b2b-expanded figcaption>a{display:inline;color:var(--ink);text-decoration:underline;text-underline-offset:3px}.b2b-expanded .casesection{padding-bottom:64px}.b2b-expanded .toc{font-size:13px;max-height:calc(100vh - 130px);overflow-y:auto}.b2b-expanded .casesection>p{max-width:780px}@media(max-width:1000px){.b2b-expanded .caselayout{display:block}.b2b-expanded .toc{position:static;display:flex;flex-direction:row;flex-wrap:wrap;gap:12px 24px;max-height:none;margin-bottom:48px;overflow:visible}}

.project .coverwrap .project-cover-art{display:block;width:100%;height:auto;max-height:none;aspect-ratio:16/9;object-fit:contain;object-position:center;margin:0;padding:0;transition:transform .55s}.project:hover .project-cover-art{transform:scale(1.018)}

/* Category labels on portfolio covers. */
.project .coverwrap{position:relative}
.cover-tags{position:absolute;top:18px;left:18px;right:18px;z-index:2;display:flex;flex-wrap:wrap;gap:7px;pointer-events:none}
.cover-tag{display:inline-flex;align-items:center;padding:6px 12px;border:1px solid #ffffff29;border-radius:999px;background:rgba(16,17,16,.85);color:#eeefea;font-size:12px;font-weight:400;line-height:1.4;letter-spacing:.015em}
@media(max-width:680px){.cover-tags{top:10px;left:10px;right:10px;gap:5px}.cover-tag{padding:4px 9px;font-size:12px}}

/* A quiet field of points behind the home introduction. */
.hero{position:relative;isolation:isolate}
.hero> :not(.hero-ocean){position:relative;z-index:1}
.hero .hero-ocean{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;mask-image:linear-gradient(to bottom,transparent 5%,#000 32%,#000 80%,transparent 100%)}
.hero>.ocean-toggle{position:absolute;right:0;bottom:24px;color:var(--muted);font-size:12px;padding:8px 10px;border:1px solid var(--line);border-radius:3px;opacity:.7}
.hero>.ocean-toggle:hover{opacity:1;color:var(--ink)}
@media(prefers-reduced-motion:reduce){.hero>.ocean-toggle{display:none}}
@media(max-width:680px){.hero>.ocean-toggle{bottom:12px;font-size:12px}.hero .hero-ocean{opacity:.65}}

/* Let the hero background reach both viewport edges without moving its content. */
.hero .hero-ocean{left:50%;right:auto;width:100vw;max-width:none;transform:translateX(-50%)}
