:is(.tk,html:has(.tk)){--bg:#0a0b0d;--bg2:#0f1115;--bg3:#15181d;--fg:#f2f4f7;--fg2:#b4bbc6;--muted:#9098a5;--line:#ffffff17;--line2:#ffffff2b;--accent:#6e54ff;--on-accent:#fff;--accent-soft:#6e54ff29;--accent-text:#a99aff;--term-accent:#a99aff;--glass:#0a0b0db8;--hatch:#ffffff09;--shadow:0 40px 90px -40px #000000e6;--logo-filter:none;--show-sun:block;--show-moon:none;--fg-sub:var(--fg2);--fg-dim:var(--muted);--fg-icon:var(--fg);--divider:var(--line);--tag-bg:var(--bg3);--tag-fg:var(--fg)}@media (prefers-color-scheme:light){:is(html:not([data-theme=dark]) .tk,html:not([data-theme=dark]):has(.tk)){--bg:#f6f5f2;--bg2:#fff;--bg3:#eeede9;--fg:#0e0f12;--fg2:#3d424a;--muted:#5e646d;--line:#0e0f121a;--line2:#0e0f1238;--accent:#f7502f;--on-accent:#0e0f12;--accent-soft:#f7502f1f;--accent-text:#c2361a;--term-accent:#ff7a5c;--glass:#f6f5f2c7;--hatch:#0e0f120a;--shadow:0 40px 90px -40px #0e0f1259;--logo-filter:invert(1);--show-sun:none;--show-moon:block}}:is(html[data-theme=light] .tk,html[data-theme=light]:has(.tk)){--bg:#f6f5f2;--bg2:#fff;--bg3:#eeede9;--fg:#0e0f12;--fg2:#3d424a;--muted:#5e646d;--line:#0e0f121a;--line2:#0e0f1238;--accent:#f7502f;--on-accent:#0e0f12;--accent-soft:#f7502f1f;--accent-text:#c2361a;--term-accent:#ff7a5c;--glass:#f6f5f2c7;--hatch:#0e0f120a;--shadow:0 40px 90px -40px #0e0f1259;--logo-filter:invert(1);--show-sun:none;--show-moon:block}html:has(.tk){background:var(--bg)}.tk{--gutter:40px;min-height:100vh;font-family:var(--font-geist), "Geist", -apple-system, "SF Pro Text", "Helvetica Neue", sans-serif;background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;transition:background .4s,color .4s;position:relative}.tk *,.tk :before,.tk :after{box-sizing:border-box}.tk h1,.tk h2,.tk h3,.tk p{margin:0}.tk h1,.tk h2,.tk h3,.tk .disp{font-family:var(--font-schibsted), "Schibsted Grotesk", "Geist", -apple-system, sans-serif}.tk a{color:inherit;text-decoration:none}.tk :where(a):hover{color:var(--accent-text)}.tk ::selection{background:var(--accent);color:var(--on-accent)}.tk a:focus-visible,.tk button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.tk section[id]{scroll-margin-top:68px}.tk .wrap{max-width:1320px;padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto}.tk .gridlines{top:0;bottom:0;left:var(--gutter);right:var(--gutter);pointer-events:none;opacity:.6;background-image:linear-gradient(to right, var(--line) 1px, transparent 1px);background-size:8.33333% 100%;position:absolute}.tk .section{border-bottom:1px solid var(--line);padding:128px 0}.tk .eyebrow{color:var(--muted);font-size:15px;display:block}.tk .eyebrow b{font-weight:inherit;color:var(--accent-text);margin-right:10px}.tk .h2{letter-spacing:-.05em;font-size:clamp(44px,6vw,92px);font-weight:600;line-height:.95}.tk .head-stack{flex-direction:column;gap:20px;display:flex}.tk .accent{color:var(--accent)}.tk .btn{cursor:pointer;border-radius:999px;align-items:center;gap:10px;height:50px;padding:0 24px;font-family:inherit;font-size:15px;display:inline-flex}.tk .btn-sm{gap:8px;height:44px;padding:0 20px}.tk .btn-primary{background:var(--accent);color:var(--on-accent);border:0;font-weight:500;transition:transform .25s,box-shadow .25s}.tk .btn-primary:hover{color:var(--on-accent);box-shadow:0 12px 30px -10px var(--accent);transform:translateY(-2px)}.tk .btn-ghost{border:1px solid var(--line2);color:var(--fg);background:0 0;transition:border-color .2s,color .2s}.tk .btn-ghost:hover{border-color:var(--accent);color:var(--accent-text)}.tk .icon-btn{border:1px solid var(--line2);width:44px;height:44px;color:var(--fg);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;transition:border-color .2s,transform .4s;display:inline-flex}.tk .icon-btn:hover{border-color:var(--accent);transform:rotate(20deg)}.tk .icon-sun{display:var(--show-sun)}.tk .icon-moon{display:var(--show-moon)}.tk .chips{flex-wrap:wrap;gap:8px;display:flex}.tk .chip{border:1px solid var(--line2);height:40px;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-family:inherit;font-size:14px;transition:all .2s;display:inline-flex}.tk .chip:hover{color:var(--fg)}.tk .chip.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}.tk .chip .n{opacity:.55;font-variant-numeric:tabular-nums}.tk .tags{flex-wrap:wrap;gap:8px;display:flex}.tk .tag{border:1px solid var(--line);color:var(--fg2);border-radius:999px;padding:4px 10px;font-size:13px}.tk .pill{background:var(--accent-soft);color:var(--accent-text);border-radius:999px;padding:5px 11px;font-size:13px;font-weight:500}.tk .site-header{z-index:20;background:var(--glass);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px)saturate(150%);position:sticky;top:0}.tk .site-header .wrap{justify-content:space-between;align-items:center;gap:24px;height:68px;display:flex}.tk .brand{align-items:center;display:flex}.tk .logo{width:32px;height:32px;filter:var(--logo-filter);transition:filter .3s;display:block}.tk .navlinks{align-items:center;gap:36px;font-size:15px;display:flex}.tk .navlink{color:var(--muted);transition:color .2s}.tk .navlink:hover,.tk .navlink.active{color:var(--fg)}.tk .hero{border-bottom:1px solid var(--line);position:relative;overflow:hidden}.tk .hero .wrap{position:relative}.tk .hero-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:48px;padding-top:88px;padding-bottom:96px;display:grid;position:relative}.tk .hero-copy{z-index:2;flex-direction:column;gap:36px;display:flex;position:relative}.tk .status{color:var(--muted);align-items:center;gap:10px;font-size:15px;display:flex}.tk .livedot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:2.4s ease-in-out infinite tk-pulse;display:block}.tk .hero h1{letter-spacing:-.055em;font-size:clamp(64px,10vw,164px);font-weight:600;line-height:.88}.tk .role{letter-spacing:-.03em;color:var(--accent-text);font-size:clamp(24px,2.4vw,34px);font-weight:500}.tk .roller{height:1.3em;display:block;overflow:hidden}.tk .roller-in{transition:transform .7s cubic-bezier(.7,0,.2,1);display:block}.tk .roller-in.snap{transition:none}.tk .roller-in span{height:1.3em;line-height:1.3em;display:block}.tk .lead{color:var(--fg2);text-wrap:pretty;max-width:500px;font-size:20px;line-height:1.5}.tk .actions{flex-wrap:wrap;gap:12px;display:flex}.tk .photo-col{justify-content:center;display:flex;position:relative}.tk .photo-panel{aspect-ratio:480/580;background:var(--accent);width:100%;max-width:480px;box-shadow:var(--shadow);transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:32px;transition:transform .5s cubic-bezier(.2,.7,.2,1);position:relative}.tk .photo-panel.gyro{transition:none}@property --rx{syntax:"<angle>";inherits:false;initial-value:0deg}@property --ry{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes tk-sway{0%,to{--ry:-6deg;--rx:2deg}50%{--ry:6deg;--rx:-2deg}}.tk .photo-panel.sway{transition:none;animation:7s ease-in-out infinite tk-sway}.tk .photo-grid{background-image:linear-gradient(90deg,#ffffff29 1px,#0000 1px),linear-gradient(#ffffff29 1px,#0000 1px);background-size:48px 48px;border-radius:32px;position:absolute;inset:0;overflow:hidden}.tk .photo-arch{color:#fff;border:1.5px dashed #ffffffbf;border-radius:200px 200px 0 0;justify-content:center;align-items:center;display:flex;position:absolute;inset:-64px 8% 0}.tk .photo-frame{clip-path:inset(0 -1px -1px round 0 0 33px 33px);pointer-events:none;position:absolute;inset:-20% 0 0}.tk .photo-img{opacity:0;-webkit-user-drag:none;width:122%;max-width:none;height:auto;transition:opacity .5s;position:absolute;bottom:-3px;left:50%;transform:translate(-50%)}.tk .photo-img.ready{opacity:1}.tk .metrics-bar{border-top:1px solid var(--line)}.tk .metrics{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tk .metric{border-right:1px solid var(--line);align-items:baseline;gap:16px;padding:32px 24px;display:flex}.tk .metric:first-child{padding-left:0}.tk .metric:last-child{border-right:0}.tk .metric-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:48px;font-weight:600}.tk .metric-label{color:var(--muted);font-size:15px}.tk .work{padding-bottom:88px}.tk .work-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.tk .work-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-top:64px;display:grid}.tk .work-grid>.s12{grid-column:span 12}.tk .work-grid>.s7{grid-column:span 7}.tk .work-grid>.s5{grid-column:span 5}.tk .work-foot{justify-content:flex-end;margin-top:36px;display:flex}.tk .card{border:1px solid var(--line);background:var(--bg2);border-radius:20px;transition:border-color .3s,transform .3s;position:relative;overflow:hidden}.tk .card:before{content:"";pointer-events:none;opacity:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), var(--accent-soft), transparent 60%);transition:opacity .3s;position:absolute;inset:0}.tk .card:hover{border-color:var(--line2);color:var(--fg);transform:translateY(-3px)}.tk .card:hover:before{opacity:1}.tk .card>*{position:relative}.tk .go{color:var(--muted);font-size:22px;transition:transform .3s,color .3s}.tk .card:hover .go{color:var(--accent-text);transform:translate(4px,-4px)}.tk .project-card{flex-direction:column;gap:24px;padding:28px;display:flex}.tk .project-card.feature{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;padding:36px;display:grid}.tk .project-card.wide{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:40px;padding:32px 36px;display:grid}.tk .pc-main,.tk .pc-group{flex-direction:column;gap:20px;display:flex}.tk .project-card.feature .pc-main{justify-content:space-between;gap:32px}.tk .pc-top{justify-content:space-between;align-items:center;display:flex}.tk .pc-body{flex-direction:column;gap:10px;display:flex}.tk .pc-foot{flex-direction:column;gap:14px;display:flex}.tk .pc-title{letter-spacing:-.035em;font-size:32px;font-weight:600;line-height:1.05}.tk .project-card.feature .pc-title{letter-spacing:-.045em;font-size:clamp(36px,3.6vw,56px);line-height:1}.tk .pc-desc{color:var(--fg2);text-wrap:pretty;font-size:16px;line-height:1.55}.tk .project-card.feature .pc-desc{font-size:17px}.tk .pc-meta{color:var(--muted);font-size:14px}.tk .pc-cta{background:var(--accent-soft);color:var(--accent-text);border-radius:999px;place-self:flex-start start;align-items:center;gap:8px;padding:10px 18px;font-size:15px;font-weight:500;display:none}.tk .pc-cta span{transition:transform .3s;display:inline-block}.tk .card:active .pc-cta span{transform:translate(4px)}.tk .visual{border:1px solid var(--line);background:var(--bg3);aspect-ratio:16/10;border-radius:14px;position:relative;overflow:hidden}.tk .s5 .visual{aspect-ratio:4/3}.tk .project-card.feature .visual{aspect-ratio:auto;min-height:340px}.tk .project-card.wide .visual{aspect-ratio:16/7}.tk .visual img{object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.tk .card:hover .visual img{transform:scale(1.04)}.tk .shot{text-align:center;color:var(--muted);background:repeating-linear-gradient(135deg, var(--hatch) 0 1px, transparent 1px 11px), var(--bg3);justify-content:center;align-items:center;padding:16px;font-size:15px;font-weight:500;display:flex;position:absolute;inset:0}.tk .two{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:48px;display:grid}.tk .profile-copy{max-width:520px;color:var(--fg2);text-wrap:pretty;margin-top:12px;font-size:19px;line-height:1.55}.tk .term{cursor:text;color:#e6e9ee;background:#0c0d10eb;border:1px solid #ffffff1f;border-radius:16px;justify-self:end;width:100%;max-width:480px;transition:border-color .25s;overflow:hidden;box-shadow:0 34px 80px -24px #000000a6}.tk .term:focus-within{border-color:var(--term-accent)}.tk .term-bar{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;height:40px;padding:0 14px;display:flex}.tk .term-dots{gap:6px;display:flex}.tk .term-dots span{background:#2c3139;border-radius:50%;width:10px;height:10px;display:block}.tk .term-title{color:#8a93a1;font-size:12px}.tk .term-spacer{width:42px}.tk .term-body{font-family:var(--font-geist-mono), ui-monospace, "SF Mono", Menlo, monospace;scrollbar-width:none;overscroll-behavior:contain;height:236px;padding:16px 18px;font-size:13px;line-height:1.75;overflow-y:auto}.tk .term-body::-webkit-scrollbar{display:none}.tk .term-line{white-space:pre-wrap;word-break:break-word;min-height:1.75em}.tk .term-line.is-new{animation:.25s both tk-in}.tk .term-line a{color:inherit;text-underline-offset:3px;-webkit-text-decoration:underline #ffffff40;text-decoration:underline #ffffff40}.tk .term-line a:hover{color:var(--term-accent);text-decoration-color:currentColor}.tk .term-p{color:var(--term-accent)}.tk .term-dim{color:#6e7785}.tk .term-out{color:#c9cfd8}.tk .term-hi{color:#fff}.tk .term-err{color:#ff9a8a}.tk .term-muted{color:#8a93a1}.tk .term-caret{vertical-align:-3px;background:#e6e9ee;width:8px;height:15px;margin-left:1px;animation:1.1s step-end infinite tk-blink;display:inline-block}@keyframes tk-blink{50%{opacity:0}}.tk .term-prompt{align-items:center;margin:0;display:flex;overflow:hidden}.tk .term-prompt label{white-space:pre}.tk .term-prompt input{color:#fff;min-width:0;font:inherit;caret-color:var(--term-accent);background:0 0;border:0;outline:none;flex:1;padding:0}.tk .term-field{flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.tk .term-ghost{pointer-events:none;white-space:pre;color:#6e7785;position:absolute;top:0;left:0}.tk .term-ghost .term-caret{background:var(--term-accent)}.tk .term.is-idle{animation:2.8s ease-in-out infinite tk-term-pulse}@keyframes tk-term-pulse{0%,to{box-shadow:0 34px 80px -24px #000000a6,0 0 #0000}50%{box-shadow:0 34px 80px -24px #000000a6, 0 0 0 5px color-mix(in srgb, var(--term-accent) 30%, transparent)}}@media (min-width:961px){.tk .two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tk .term{border-radius:18px;max-width:600px}.tk .term-bar{height:46px;padding:0 16px}.tk .term-dots span{width:11px;height:11px}.tk .term-title{font-size:13px}.tk .term-body{height:320px;padding:22px 24px;font-size:15px}.tk .term-caret{width:9px;height:17px}}@media (hover:none){.tk .term-prompt input{transform-origin:0;flex:0 0 123%;font-size:16px;transform:scale(.8125)}}@media (prefers-reduced-motion:reduce){.tk .term-caret,.tk .term-line.is-new,.tk .term.is-idle{animation:none}}.tk .tree{margin-top:96px}.tk .tree-node{justify-content:center;display:flex}.tk .tree-node>div{border:1px solid var(--accent);background:var(--bg2);width:64px;height:64px;box-shadow:0 0 0 8px var(--accent-soft);border-radius:50%;justify-content:center;align-items:center;display:flex}.tk .tree-node img{width:28px;height:28px;display:block}.tk .tree-stem{background:var(--line2);width:1px;height:40px;margin:0 auto}.tk .tree-rail{background:var(--line2);height:1px;margin:0 16.66%}.tk .tree-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.tk .tree-col{flex-direction:column;align-items:center;display:flex}.tk .tree-col .tree-stem{height:32px}.tk .tree-card{flex-direction:column;gap:18px;width:100%;padding:28px;display:flex}.tk .tree-card h3{letter-spacing:-.03em;font-size:26px;font-weight:600}.tk .rows{color:var(--fg2);flex-direction:column;font-size:15px;display:flex}.tk .row{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:12px 0;display:flex}.tk .row span:last-child{color:var(--muted);text-align:right}.tk .cap-layout{grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;gap:48px;display:grid}.tk .cap-sticky{flex-direction:column;gap:20px;display:flex;position:sticky;top:108px}.tk .cap-list{border-bottom:1px solid var(--line);margin:0;padding:0;list-style:none}.tk .cap-row{border-top:1px solid var(--line);isolation:isolate;grid-template-columns:56px minmax(0,5fr) minmax(0,5fr);align-items:center;gap:16px;padding:28px 0;transition:transform .35s cubic-bezier(.2,.7,.2,1);display:grid;position:relative}.tk .cap-row:before{content:"";z-index:-1;background:var(--bg2);box-shadow:var(--shadow), 0 0 0 1px var(--line2);opacity:0;border-radius:18px;transition:opacity .35s;position:absolute;inset:0 -20px}.tk .cap-title,.tk .cap-num{transition:color .3s}@media (hover:hover){.tk .cap-row:hover{transform:translateY(-6px)}.tk .cap-row:hover:before{opacity:1}.tk .cap-row:hover .cap-num{color:var(--accent-text)}}.tk .cap-num{color:var(--muted);font-variant-numeric:tabular-nums;font-size:15px}.tk .cap-title{letter-spacing:-.03em;font-size:26px;font-weight:500}.tk .cap-note{color:var(--muted);font-size:16px}.tk .toolkit{flex-direction:column;gap:20px;margin-top:72px;display:flex}.tk .toolbox{border:1px solid var(--line);border-radius:20px;overflow:hidden}.tk .tool-group{border-top:1px solid var(--line);grid-template-columns:168px minmax(0,1fr);gap:24px;padding:24px 28px;display:grid}.tk .tool-group:first-child{border-top:0}.tk .tool-label{color:var(--muted);padding-top:8px;font-size:14px}.tk .tool-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.tk .tool{border:1px solid var(--line);text-align:center;border-radius:14px;flex-direction:column;justify-content:flex-start;align-items:center;gap:10px;padding:16px 6px 12px;transition:border-color .2s,transform .25s,background .2s;display:flex}.tk .tool:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px)}.tk .tool svg{flex:none;width:30px;height:30px}.tk .tool-name{color:var(--fg2);font-size:12px;line-height:1.25}.tk .org-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:56px clamp(48px,8vw,140px);margin-top:clamp(48px,6vw,88px);display:grid}.tk .org-head{align-items:center;gap:18px;padding-bottom:28px;display:flex}.tk .org-head h3{letter-spacing:-.05em;font-size:clamp(30px,3.4vw,54px);font-weight:600;line-height:.95}.tk .org-logo{border:1px solid var(--line2);flex:0 0 52px;justify-content:center;align-items:center;width:52px;height:52px;font-size:20px;display:flex;overflow:hidden}.tk .org-logo img{object-fit:contain;width:100%;height:100%}.tk .tl{margin-left:26px;padding-left:28px;position:relative}.tk .tl:before{content:"";background:linear-gradient(var(--fg), transparent);width:1px;position:absolute;top:6px;bottom:7px;left:0}.tk .tl-item{padding-bottom:40px;position:relative}.tk .tl-item:last-child{padding-bottom:0}.tk .dot{background:var(--fg);width:12px;height:12px;box-shadow:0 0 0 4px var(--bg);border-radius:50%;position:absolute;top:2px;left:-34px}.tk .dot.live{background:var(--accent);box-shadow:0 0 0 4px var(--bg), 0 0 0 8px var(--accent-soft)}.tk .tl-title,.tk .edu-title{margin-bottom:8px;font-size:18px;font-weight:500;line-height:1.35}.tk .edu-title{margin-bottom:10px;line-height:1.5}.tk .when{color:var(--muted);font-size:14px;display:block}.tk .note{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.5;display:block}.tk .edu .org-head{padding-bottom:24px}.tk .contact{padding:144px 0 48px;position:relative;overflow:hidden}.tk .contact .wrap{position:relative}.tk .contact .gridlines{top:-144px;bottom:-48px}.tk .contact-inner{flex-direction:column;gap:40px;display:flex;position:relative}.tk .contact-title{letter-spacing:-.06em;max-width:1100px;font-size:clamp(56px,9vw,152px);font-weight:600;line-height:.88}.tk .contact-lead{color:var(--fg2);max-width:460px;font-size:19px;line-height:1.5}.tk .mail-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.tk .mailbig{letter-spacing:-.035em;border-bottom:1px solid var(--line2);-webkit-user-select:text;user-select:text;padding-bottom:8px;font-size:clamp(24px,3.4vw,50px);font-weight:500;transition:color .2s,border-color .2s}.tk .mailbig:hover{color:var(--accent-text);border-color:var(--accent)}.tk .site-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:144px;padding-top:24px;font-size:14px;display:flex;position:relative}.tk .footer-wrap{padding-bottom:48px}.tk .footer-wrap .site-footer{margin-top:0}.tk .page{padding:72px 0 96px}.tk .page-title{letter-spacing:-.05em;font-size:clamp(48px,7vw,104px);font-weight:600;line-height:.95}.tk .page-sub{color:var(--fg2);text-wrap:pretty;max-width:520px;margin-top:20px;font-size:19px;line-height:1.5}.tk .proj-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:56px;display:grid}.tk .empty{color:var(--muted);margin-top:64px}.tk .back{margin-bottom:40px}.tk .meta-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:28px;margin:40px 0;padding:28px 0;display:grid}.tk .meta-label{color:var(--muted);margin-bottom:8px;font-size:13px}.tk .meta-value{font-size:16px;font-weight:500}.tk .meta-wide{grid-column:1/-1}.tk .stack-list{flex-wrap:wrap;gap:10px;display:flex}.tk .stack-item{border:1px solid var(--line);color:var(--fg2);border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 10px;font-size:14px;display:inline-flex}.tk .stack-item svg{width:18px;height:18px}.tk .cover{border:1px solid var(--line);aspect-ratio:16/9;background:var(--bg3);border-radius:20px;margin:48px 0 56px;position:relative;overflow:hidden}.tk .article{max-width:760px}.tk .more{border-top:1px solid var(--line);margin-top:96px;padding-top:56px}.tk .more h2{letter-spacing:-.04em;margin-bottom:32px;font-size:clamp(28px,3vw,40px);font-weight:600}.tk .prose{--tw-prose-body:var(--fg2);--tw-prose-headings:var(--fg);--tw-prose-lead:var(--fg2);--tw-prose-links:var(--accent-text);--tw-prose-bold:var(--fg);--tw-prose-counters:var(--muted);--tw-prose-bullets:var(--muted);--tw-prose-hr:var(--line2);--tw-prose-quotes:var(--fg);--tw-prose-quote-borders:var(--accent);--tw-prose-captions:var(--muted);--tw-prose-code:var(--fg);--tw-prose-pre-code:#e6e9ee;--tw-prose-pre-bg:#0f1115;--tw-prose-th-borders:var(--line2);--tw-prose-td-borders:var(--line)}.tk .prose>:first-child{margin-top:0}.tk .prose p{margin:0 0 1.25em}.tk .prose li p{margin:.4em 0}.tk .prose h1,.tk .prose h2{margin:2em 0 .6em;line-height:1.15}.tk .prose h3,.tk .prose h4{margin:1.7em 0 .5em;line-height:1.25}.tk .prose pre{border:1px solid var(--line)}.tk .prose :not(pre)>code{background:var(--bg3);border-radius:6px;padding:.15em .4em;font-weight:500}.tk .prose :not(pre)>code:before,.tk .prose :not(pre)>code:after{content:none}.tk .prose pre .hljs-keyword,.tk .prose pre .hljs-selector-tag,.tk .prose pre .hljs-tag,.tk .prose pre .hljs-operator{color:#c678dd}.tk .prose pre .hljs-string,.tk .prose pre .hljs-addition,.tk .prose pre .hljs-attr{color:#98c379}.tk .prose pre .hljs-number,.tk .prose pre .hljs-literal,.tk .prose pre .hljs-bullet{color:#d19a66}.tk .prose pre .hljs-comment,.tk .prose pre .hljs-quote{color:#7f848e}.tk .prose pre .hljs-function,.tk .prose pre .hljs-title,.tk .prose pre .hljs-selector-id,.tk .prose pre .hljs-selector-class{color:#61afef}.tk .prose pre .hljs-variable,.tk .prose pre .hljs-template-variable,.tk .prose pre .hljs-deletion{color:#e06c75}.tk .prose pre .hljs-built_in,.tk .prose pre .hljs-type,.tk .prose pre .hljs-class{color:#56b6c2}.tk .prose pre .hljs-meta{color:#abb2bf}.js .tk .reveal{opacity:0;transition:opacity .9s cubic-bezier(.2, .7, .2, 1) var(--d,0s), translate .9s cubic-bezier(.2, .7, .2, 1) var(--d,0s);translate:0 22px}.js .tk .reveal.in{opacity:1;translate:0}.js .tk .card.reveal{transition:opacity .9s cubic-bezier(.2, .7, .2, 1) var(--d,0s), translate .9s cubic-bezier(.2, .7, .2, 1) var(--d,0s), border-color .3s ease, transform .3s ease}.js .tk .cap-row.reveal{transition:opacity .9s cubic-bezier(.2, .7, .2, 1) var(--d,0s), translate .9s cubic-bezier(.2, .7, .2, 1) var(--d,0s), transform .35s cubic-bezier(.2, .7, .2, 1)}.tk .hero-copy>.reveal:nth-child(2){--d:80ms}.tk .hero-copy>.reveal:nth-child(3){--d:.16s}.tk .hero-copy>.reveal:nth-child(4){--d:.24s}.tk .hero-copy>.reveal:nth-child(5){--d:.32s}.tk .photo-col.reveal{--d:.2s}.tk .metric.reveal:nth-child(2){--d:.1s}.tk .metric.reveal:nth-child(3){--d:.2s}.tk .cap-row.reveal:nth-child(2){--d:80ms}.tk .cap-row.reveal:nth-child(3){--d:.16s}.tk .cap-row.reveal:nth-child(4){--d:.24s}.tk .cap-row.reveal:nth-child(5){--d:.32s}.tk .work-grid>.reveal:nth-child(odd):not(:first-child){--d:.12s}@keyframes tk-pulse{0%,to{box-shadow:0 0 0 0 var(--accent-soft)}50%{box-shadow:0 0 0 7px #0000}}@keyframes tk-fade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (max-width:960px){.tk{--gutter:20px}.tk .navlinks{display:none}.tk .hero-grid,.tk .two,.tk .cap-layout,.tk .org-grid{grid-template-columns:1fr}.tk .photo-col{margin-top:72px}.tk .work-grid{grid-template-columns:1fr}.tk .work-grid>*{grid-column:auto!important}.tk .work-grid>.card:nth-child(n+4),.tk .work-grid .pc-desc{display:none}.tk .work-grid .pc-cta{display:inline-flex}.tk .work-foot{justify-content:center}.tk .project-card.feature,.tk .project-card.wide{grid-template-columns:1fr;gap:24px;padding:28px}.tk .project-card.feature .visual{aspect-ratio:16/10;min-height:0}.tk .project-card.wide .visual{aspect-ratio:16/10}.tk .metrics{grid-template-columns:1fr}.tk .metric{border-right:0;border-bottom:1px solid var(--line);padding-left:0}.tk .metric:last-child{border-bottom:0}.tk .cap-sticky{position:static}.tk .cap-row{grid-template-columns:36px 1fr}.tk .cap-note{grid-column:2}.tk .two{gap:40px}.tk .term{justify-self:start;max-width:560px}.tk .tree{margin-top:64px}.tk .tree-rail,.tk .tree-stem{display:none}.tk .tree-node{margin-bottom:24px}.tk .tree-cols{grid-template-columns:1fr}.tk .tool-group{grid-template-columns:1fr;gap:14px;padding:20px}.tk .tool-label{padding-top:0}.tk .proj-grid{grid-template-columns:1fr}.tk .section{padding:88px 0}.tk .contact{padding-top:96px}.tk .contact .gridlines{top:-96px}.tk .site-footer{margin-top:96px}}@media (prefers-reduced-motion:reduce){.tk .livedot{animation:none}.js .tk .reveal{opacity:1;transition:none;translate:none}.tk .roller-in,.tk .photo-panel,.tk .work-grid{transition:none;animation:none}}
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_e799d87a-module__u8MhCG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_e799d87a-module__u8MhCG__variable{--font-geist:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_42eec60-module__Gb1_vG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_42eec60-module__Gb1_vG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/481eac7be1c268b7-s.0kh2es0tesdch.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/31a9145ccb84606d-s.p.10_fo~wllb4ek.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Schibsted Grotesk Fallback;src:local(Arial);ascent-override:93.46%;descent-override:24.67%;line-gap-override:0.0%;size-adjust:104.49%}.schibsted_grotesk_5fd3ac53-module__joYfWW__className{font-family:Schibsted Grotesk,Schibsted Grotesk Fallback;font-style:normal}.schibsted_grotesk_5fd3ac53-module__joYfWW__variable{--font-schibsted:"Schibsted Grotesk", "Schibsted Grotesk Fallback"}
