:root{--bg: oklch(.165 .012 255);--bg-2: oklch(.205 .014 255);--bg-3: oklch(.245 .016 255);--fg: oklch(.97 .004 250);--muted: oklch(.68 .012 250);--muted-2: oklch(.56 .012 250);--line: oklch(1 0 0 / .12);--line-soft: oklch(1 0 0 / .07);--line-strong: oklch(1 0 0 / .22);--a-l: .66;--a-c: .17;--a-h: 288;--accent: oklch(var(--a-l) var(--a-c) var(--a-h));--accent-dim: oklch(var(--a-l) var(--a-c) var(--a-h) / .16);--accent-line: oklch(var(--a-l) var(--a-c) var(--a-h) / .45);--on-accent: oklch(.99 0 0);--display: "Space Grotesk", system-ui, sans-serif;--body: "Hanken Grotesk", system-ui, -apple-system, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", monospace;--ease: cubic-bezier(.22, .68, 0, 1);--t: .2s;--t-slow: .42s;--maxw: 1240px;--gutter: clamp(20px, 4.5vw, 64px);color-scheme:dark}[data-accent=azure]{--a-l: .72;--a-c: .15;--a-h: 235;--on-accent: oklch(.16 .01 255)}[data-accent=lime]{--a-l: .86;--a-c: .2;--a-h: 128;--on-accent: oklch(.18 .02 128)}[data-accent=amber]{--a-l: .81;--a-c: .16;--a-h: 72;--on-accent: oklch(.2 .03 72)}[data-accent=magenta]{--a-l: .66;--a-c: .23;--a-h: 350;--on-accent: oklch(.99 0 0)}[data-theme=light]{--bg: oklch(.985 .003 250);--bg-2: oklch(.965 .004 250);--bg-3: oklch(.945 .006 250);--fg: oklch(.2 .012 255);--muted: oklch(.48 .012 255);--muted-2: oklch(.6 .012 255);--line: oklch(.2 .012 255 / .14);--line-soft: oklch(.2 .012 255 / .08);--line-strong: oklch(.2 .012 255 / .26);--a-l: .52;--a-c: .17;--a-h: 288;--on-accent: oklch(.99 0 0);color-scheme:light}[data-theme=light][data-accent=azure]{--a-l: .56;--a-c: .16;--a-h: 240;--on-accent: oklch(.99 0 0)}[data-theme=light][data-accent=lime]{--a-l: .62;--a-c: .16;--a-h: 132;--on-accent: oklch(.99 0 0)}[data-theme=light][data-accent=amber]{--a-l: .62;--a-c: .14;--a-h: 64;--on-accent: oklch(.99 0 0)}*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;transition:background var(--t-slow) var(--ease),color var(--t-slow) var(--ease)}h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:600;letter-spacing:-.02em;line-height:1.04;text-wrap:balance}p{margin:0;text-wrap:pretty}a{color:inherit;text-decoration:none}.mono{font-family:var(--mono)}[data-lang=en] .sv,[data-lang=sv] .en{display:none}::selection{background:var(--accent);color:var(--on-accent)}.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}.section{padding-block:clamp(60px,9vw,128px);position:relative}.kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.kicker .k-no{color:var(--accent)}.kicker .k-sq{width:7px;height:7px;background:var(--accent)}.btn{display:inline-flex;align-items:center;gap:9px;height:50px;padding:0 24px;font-family:var(--mono);font-size:13.5px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;transition:background var(--t) var(--ease),border-color var(--t) var(--ease),color var(--t) var(--ease),transform 90ms var(--ease);white-space:nowrap}.btn:active{transform:translateY(1px)}.btn .arr{transition:transform var(--t) var(--ease);font-family:var(--body)}.btn:hover .arr{transform:translate(3px)}.btn--accent{background:var(--accent);color:var(--on-accent)}.btn--accent:hover{filter:brightness(1.08)}.btn--ghost{background:transparent;color:var(--fg);border-color:var(--line-strong)}.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}.btn--sm{height:40px;padding:0 16px;font-size:12px}.tlink{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:13px;letter-spacing:.02em;color:var(--accent);transition:gap var(--t) var(--ease)}.tlink:hover{gap:12px}.tag{font-family:var(--mono);font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);padding:4px 9px}.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(14px) saturate(1.3);border-bottom:1px solid transparent;transition:border-color var(--t) var(--ease)}.nav.is-stuck{border-bottom-color:var(--line)}.nav__inner{max-width:var(--maxw);margin:0 auto;padding:15px var(--gutter);display:flex;align-items:center;gap:26px}.brand{display:inline-flex;align-items:center;gap:11px;font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.02em;white-space:nowrap;flex:none}.brand__logo{height:23px;width:auto;color:var(--accent);display:block}.nav__links{display:flex;align-items:center;gap:2px;margin-left:10px}.nav__links a{font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:7px 11px;white-space:nowrap;transition:color var(--t) var(--ease)}.nav__links a:hover{color:var(--accent)}.nav__right{margin-left:auto;display:flex;align-items:center;gap:8px}.iconbtn{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line-strong);background:transparent;color:var(--muted);cursor:pointer;transition:color var(--t) var(--ease),border-color var(--t) var(--ease)}.iconbtn:hover{color:var(--accent);border-color:var(--accent)}.iconbtn svg{width:16px;height:16px}.iconbtn .moon{display:none}[data-theme=dark] .iconbtn .sun,:root:not([data-theme=light]) .iconbtn .sun{display:none}[data-theme=dark] .iconbtn .moon,:root:not([data-theme=light]) .iconbtn .moon{display:block}[data-theme=light] .iconbtn .sun{display:block}[data-theme=light] .iconbtn .moon{display:none}.langtoggle{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--muted);background:transparent;border:1px solid var(--line-strong);height:40px;padding:0 12px;cursor:pointer;transition:color var(--t) var(--ease),border-color var(--t) var(--ease)}.langtoggle b{color:var(--accent)}.langtoggle:hover{border-color:var(--accent)}@media(max-width:960px){.nav__links{display:none}}@media(max-width:540px){.nav__cta{display:none}}.hero{position:relative;padding-top:clamp(40px,6vw,80px);padding-bottom:0;overflow:hidden}.hero__frame{border:1px solid var(--line);border-bottom:0;position:relative}.hero__grid-bg{position:absolute;inset:0;pointer-events:none;opacity:.5;background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 70% at 70% 30%,#000,transparent 75%)}.hero__top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px clamp(20px,3vw,40px);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);position:relative;z-index:1}.hero__top .st{display:inline-flex;align-items:center;gap:8px;color:var(--accent)}.hero__top .st .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.hero__main{padding:clamp(36px,6vw,88px) clamp(20px,3vw,56px) clamp(40px,6vw,80px);position:relative;z-index:1}.hero h1{font-size:clamp(42px,8vw,110px);font-weight:600;letter-spacing:-.045em;line-height:.95;max-width:16ch}.hero h1 .em{color:var(--accent)}.hero h1 .ln{display:block}.hero__sub{margin-top:clamp(24px,3.5vw,38px);font-size:clamp(17px,1.8vw,21px);color:var(--muted);max-width:600px;line-height:1.5}.hero__cta{margin-top:clamp(28px,4vw,40px);display:flex;gap:12px;flex-wrap:wrap}.statbar{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.statbar__cell{padding:clamp(20px,3vw,32px) clamp(20px,3vw,40px);position:relative}.statbar__cell+.statbar__cell{border-left:1px solid var(--line)}.statbar__k{font-family:var(--display);font-weight:600;font-size:clamp(30px,4vw,46px);letter-spacing:-.03em;line-height:1}.statbar__k .u{color:var(--accent)}.statbar__l{margin-top:10px;font-family:var(--mono);font-size:11.5px;letter-spacing:.03em;color:var(--muted)}@media(max-width:720px){.statbar{grid-template-columns:1fr}.statbar__cell+.statbar__cell{border-left:0;border-top:1px solid var(--line)}}.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;margin-bottom:clamp(36px,4.5vw,56px);padding-top:8px;border-top:1px solid var(--line)}.shead__main{max-width:640px;padding-top:26px}.shead h2{font-size:clamp(28px,4vw,46px);font-weight:600;letter-spacing:-.03em;margin-top:18px}.shead__lede{margin-top:16px;padding-top:26px;font-size:clamp(15px,1.4vw,17px);color:var(--muted);max-width:480px;line-height:1.55}.manifesto{background:var(--accent);color:var(--on-accent)}.manifesto__kicker{color:var(--on-accent);opacity:.7}.manifesto__kicker .k-sq{background:var(--on-accent)}.manifesto__text{margin-top:28px;font-family:var(--display);font-weight:500;font-size:clamp(26px,4.4vw,56px);letter-spacing:-.03em;line-height:1.06;max-width:18ch}.manifesto__text .em{opacity:.55}.manifesto__foot{margin-top:clamp(32px,5vw,52px);padding-top:24px;border-top:1px solid color-mix(in srgb,var(--on-accent) 30%,transparent);display:flex;gap:40px;flex-wrap:wrap;font-size:15px;max-width:780px}.manifesto__foot p{flex:1;min-width:220px;line-height:1.55;opacity:.85}.manifesto__foot b{font-weight:600;opacity:1}.modgrid-2{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line)}.modgrid-2>*+*{border-left:1px solid var(--line)}.modcard{padding:clamp(26px,3.4vw,44px);display:flex;flex-direction:column;min-height:340px;background:var(--bg);transition:background var(--t) var(--ease);position:relative}.modcard:hover{background:var(--bg-2)}.modcard__head{display:flex;justify-content:space-between;align-items:baseline;gap:14px}.modcard__no{font-family:var(--mono);font-size:12px;color:var(--accent)}.modcard__status{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:7px}.modcard__status .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.modcard h3{margin-top:22px;font-size:clamp(28px,3.4vw,40px);font-weight:600;letter-spacing:-.025em}.modcard p{margin-top:16px;font-size:clamp(14.5px,1.4vw,16px);color:var(--muted);line-height:1.6}.modcard__tags{margin-top:18px;display:flex;flex-wrap:wrap;gap:7px}.modcard__foot{margin-top:auto;padding-top:24px}@media(max-width:820px){.modgrid-2{grid-template-columns:1fr}.modgrid-2>*+*{border-left:0;border-top:1px solid var(--line)}}.modgrid-3{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.modgrid-3>*{border-right:1px solid var(--line)}.modgrid-3>*:last-child{border-right:0}.svc{padding:clamp(26px,3vw,40px);display:flex;flex-direction:column;min-height:300px;background:var(--bg);transition:background var(--t) var(--ease);position:relative;overflow:hidden}.svc:after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--t) var(--ease)}.svc:hover{background:var(--bg-2)}.svc:hover:after{transform:scaleX(1)}.svc__no{font-family:var(--mono);font-size:13px;color:var(--accent)}.svc__name{margin-top:20px;font-size:clamp(21px,2.4vw,27px);font-weight:600;letter-spacing:-.02em}.svc__desc{margin-top:14px;font-size:14.5px;color:var(--muted);line-height:1.6;flex:1}.svc__tags{margin-top:20px;display:flex;flex-wrap:wrap;gap:7px}@media(max-width:820px){.modgrid-3{grid-template-columns:1fr}.modgrid-3>*{border-right:0;border-bottom:1px solid var(--line)}.modgrid-3>*:last-child{border-bottom:0}}.matrix{border:1px solid var(--line)}.matrix__row{display:grid;grid-template-columns:200px 1fr 160px;gap:clamp(16px,2.5vw,40px);align-items:center;padding:clamp(20px,2.4vw,30px) clamp(22px,3vw,40px);border-bottom:1px solid var(--line);transition:background var(--t) var(--ease)}.matrix__row:last-child{border-bottom:0}.matrix__row:hover{background:var(--bg-2)}.matrix__name{font-family:var(--display);font-size:clamp(19px,2.2vw,26px);font-weight:600;letter-spacing:-.02em}.matrix__name .i{font-family:var(--mono);font-size:11px;color:var(--accent);display:block;margin-bottom:8px;letter-spacing:.04em}.matrix__desc{font-size:clamp(14.5px,1.4vw,16px);color:var(--muted);line-height:1.55}.matrix__meta{font-family:var(--mono);font-size:11px;letter-spacing:.02em;color:var(--muted-2);text-align:right}.ai__lead{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);margin-bottom:clamp(36px,4.5vw,56px);align-items:end}.ai__statement{font-family:var(--display);font-weight:500;font-size:clamp(24px,3vw,36px);letter-spacing:-.025em;line-height:1.15}.ai__statement .em{color:var(--accent)}.ai__note{font-size:16px;color:var(--muted);line-height:1.6}@media(max-width:860px){.ai__lead{grid-template-columns:1fr;gap:24px}.matrix__row{grid-template-columns:1fr;gap:10px}.matrix__meta{text-align:left}}.method{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.mstep{padding:clamp(24px,2.8vw,36px);border-right:1px solid var(--line);position:relative;min-height:200px;display:flex;flex-direction:column}.mstep:last-child{border-right:0}.mstep__no{font-family:var(--mono);font-size:12px;color:var(--accent);margin-bottom:clamp(36px,5vw,72px)}.mstep h4{font-size:clamp(18px,1.9vw,23px);font-weight:600;letter-spacing:-.02em}.mstep p{margin-top:12px;font-size:14px;color:var(--muted);line-height:1.55}@media(max-width:860px){.method{grid-template-columns:1fr 1fr}.mstep:nth-child(2n){border-right:0}.mstep:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media(max-width:460px){.method{grid-template-columns:1fr}.mstep{border-right:0;border-bottom:1px solid var(--line)}.mstep:last-child{border-bottom:0}}.methodnote{margin-top:14px;border:1px solid var(--accent-line);background:linear-gradient(180deg,var(--accent-dim),transparent 70%),var(--bg);padding:clamp(24px,3vw,38px) clamp(22px,3vw,44px);display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,3vw,48px);align-items:center}.methodnote__lab{font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);white-space:nowrap}.methodnote__txt{font-family:var(--display);font-weight:500;font-size:clamp(18px,2.1vw,26px);letter-spacing:-.02em;line-height:1.25}.methodnote__txt .em{color:var(--accent)}@media(max-width:640px){.methodnote{grid-template-columns:1fr;gap:14px}}.team{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.person{padding:clamp(22px,2.6vw,32px);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:240px;background:var(--bg);transition:background var(--t) var(--ease)}.person:last-child{border-right:0}.person:hover{background:var(--bg-2)}.person__mono{font-family:var(--mono);font-size:13px;color:var(--accent);letter-spacing:.08em}.person__name{margin-top:auto;font-family:var(--display);font-weight:600;font-size:clamp(19px,2vw,23px);letter-spacing:-.02em}.person__role{margin-top:7px;font-size:13px;color:var(--muted)}.person__links{margin-top:16px;display:flex;gap:8px}.person__links a{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line-strong);color:var(--muted);transition:color var(--t) var(--ease),border-color var(--t) var(--ease)}.person__links a:hover{color:var(--accent);border-color:var(--accent)}.person__links svg{width:14px;height:14px}@media(max-width:860px){.team{grid-template-columns:1fr 1fr}.person:nth-child(2n){border-right:0}.person:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media(max-width:440px){.team{grid-template-columns:1fr}.person{border-right:0;border-bottom:1px solid var(--line)}.person:last-child{border-bottom:0}}.cta__box{border:1px solid var(--accent-line);background:linear-gradient(180deg,var(--accent-dim),transparent 60%),var(--bg);padding:clamp(40px,6vw,80px) clamp(24px,4vw,64px);display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(36px,5vw,72px);align-items:end}.cta h2{font-size:clamp(36px,6.5vw,84px);font-weight:600;letter-spacing:-.04em;line-height:.96}.cta h2 .em{color:var(--accent)}.cta__sub{margin-top:22px;font-size:clamp(16px,1.5vw,18px);color:var(--muted);max-width:38ch;line-height:1.5}.cta__side{display:flex;flex-direction:column;gap:16px}.cta__line{border-top:1px solid var(--line);padding-top:14px}.cta__line .lab{font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2)}.cta__line a,.cta__line span{display:block;margin-top:6px;font-family:var(--display);font-size:clamp(17px,1.8vw,21px);font-weight:500;letter-spacing:-.01em}.cta__line a{transition:color var(--t) var(--ease)}.cta__line a:hover{color:var(--accent)}.cta__copy{margin-top:12px;display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);background:none;border:1px solid var(--line);padding:6px 12px;cursor:pointer;transition:color var(--t) var(--ease),border-color var(--t) var(--ease)}.cta__copy span{display:inline;margin:0;font:inherit;letter-spacing:inherit}.cta__copy:hover{color:var(--accent);border-color:var(--accent)}.cta__copy:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:820px){.cta__box{grid-template-columns:1fr;gap:40px}}.footer{border-top:1px solid var(--line);padding-block:clamp(44px,5vw,64px) 32px}.footer__top{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:36px}.footer__brand{display:flex;align-items:center;gap:11px;font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.02em}.footer__tag{margin-top:16px;font-size:14px;color:var(--muted);max-width:300px;line-height:1.55}.footer__col h5{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);margin:0 0 14px;font-weight:500}.footer__col a{display:block;padding:5px 0;font-size:14px;color:var(--muted);transition:color var(--t) var(--ease)}.footer__col a:hover{color:var(--accent)}.footer__bar{margin-top:clamp(36px,4.5vw,56px);padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:11.5px;letter-spacing:.02em;color:var(--muted-2)}.footer__bar a{color:var(--muted)}@media(max-width:760px){.footer__top{grid-template-columns:1fr 1fr}}@media(max-width:440px){.footer__top{grid-template-columns:1fr}}.reveal{opacity:1}@media(prefers-reduced-motion:no-preference){.reveal.in{animation:revIn .7s var(--ease) both}}@keyframes revIn{0%{transform:translateY(16px)}to{transform:none}}body[data-density=luftig] .section{padding-block:clamp(84px,12vw,168px)}body[data-density=kompakt] .section{padding-block:clamp(44px,6vw,92px)}
