body[ui=page]{grid-template-columns:1fr;grid-template-areas:"main";min-block-size:100svh;display:grid}body[ui=page] nav[data-zone=nav],body[ui=page]>footer{grid-area:main}body[ui=page]>#app{grid-area:main;min-block-size:0;min-inline-size:0}body[ui=page] main{min-block-size:0;min-inline-size:0}body[ui=page][data-layout=tool]{grid-template-columns:1fr;grid-template-areas:"main"}body[ui=page][data-surface=karlavagen]{overscroll-behavior:none;block-size:100svh;overflow:hidden}html:has(body[data-surface=karlavagen]){overscroll-behavior:none;block-size:100svh;overflow:hidden}body[ui=page][data-surface=karlavagen] main{block-size:calc(100svh - var(--cf-topnav-h,4.5rem));overflow:hidden}@media (max-width:768px){body[ui=page][data-surface=spraengskiss]{overscroll-behavior:none;touch-action:manipulation;overflow:hidden}html:has(body[data-surface=spraengskiss]){overscroll-behavior:none;touch-action:manipulation;overflow:hidden}}body[ui=page] main[data-surface]{isolation:isolate;position:relative}.cf-tool-teaser{inline-size:min(100%,92rem);margin:var(--s-8) 0;border:1px solid var(--bdr-2);border-radius:var(--r-lg);background:var(--bg-1);box-shadow:var(--sh-md);overflow:hidden}.cf-tool-teaser__bar{justify-content:space-between;align-items:center;gap:var(--s-4);min-block-size:4rem;padding:var(--s-3) var(--s-4);border-block-end:1px solid var(--bdr-2);background:color-mix(in oklch, var(--bg-0) 78%, var(--ac) 6%);display:flex}.cf-tool-teaser__copy{gap:2px;min-inline-size:0;display:grid}.cf-tool-teaser__kicker{color:var(--ac);font:700 .72rem / 1.1 var(--f-ui);text-transform:uppercase}.cf-tool-teaser__title{color:var(--tx-0);font:700 1rem / 1.2 var(--f-ui)}.cf-tool-teaser__meta,.cf-tool-teaser figcaption{color:var(--tx-2);font:400 .86rem / 1.45 var(--f-ui)}.cf-tool-teaser__actions{gap:var(--s-2);flex:none;display:flex}.cf-tool-teaser__actions :is(button,a){border:1px solid var(--bdr-2);border-radius:var(--r-md);background:var(--bg-0);block-size:2.75rem;inline-size:2.75rem;color:var(--tx-0);font:700 1.08rem / 1 var(--f-ui);cursor:pointer;transition:transform var(--t-fast) var(--ease), background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);place-items:center;text-decoration:none;display:grid}.cf-tool-teaser__actions :is(button,a):hover,.cf-tool-teaser__actions :is(button,a):focus-visible{background:var(--bg-3);border-color:var(--bdr-3);outline:none;transform:translateY(-1px)}.cf-tool-teaser__actions button:disabled{cursor:not-allowed;opacity:.45}.cf-tool-teaser[data-expanded=true]{inline-size:min(100%,96rem)}.cf-tool-teaser__viewport{background:var(--bg-0);block-size:clamp(28rem,68vh,44rem);min-block-size:26rem}.cf-tool-teaser[data-expanded=true] .cf-tool-teaser__viewport{block-size:calc(100svh - 10rem);min-block-size:34rem}.cf-tool-teaser__viewport iframe{border:0;block-size:100%;inline-size:100%;display:block}.cf-tool-teaser figcaption{padding:var(--s-3) var(--s-4);border-block-start:1px solid var(--bdr-1);background:var(--bg-0);margin:0}.cf-tool-teaser:fullscreen{background:var(--bg-0);border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr);block-size:100svh;inline-size:100vw;margin:0;display:grid}.cf-tool-teaser:fullscreen .cf-tool-teaser__viewport{block-size:auto;min-block-size:0}.cf-tool-teaser:fullscreen figcaption{display:none}.cf-tool-teaser::backdrop{background:var(--bg-0)}@media (max-width:720px){.cf-tool-teaser{inline-size:calc(100% + (var(--s-4) * 2));margin-inline:calc(-1 * var(--s-4));border-inline:0;border-radius:0}.cf-tool-teaser__bar{align-items:flex-start;gap:var(--s-3)}.cf-tool-teaser__viewport{block-size:min(72svh,34rem);min-block-size:28rem}.cf-tool-teaser[data-expanded=true] .cf-tool-teaser__viewport{block-size:calc(100svh - 9rem);min-block-size:32rem}}#contact-dialog.contact-dialog-liquid{inline-size:min(calc(100vw - (var(--s-4) * 2)), 34rem);max-block-size:min(calc(100svh - (var(--s-4) * 2)), 42rem);border:1px solid color-mix(in oklch, white 18%, var(--bdr-2));border-radius:var(--r-xl);background:linear-gradient(145deg, #ffffff2e, color-mix(in oklch, var(--bg-0) 54%, transparent) 42%, color-mix(in oklch, var(--ac) 10%, transparent)), color-mix(in oklch, var(--bg-0) 50%, transparent);color:var(--tx-0);-webkit-backdrop-filter:blur(42px)saturate(190%)contrast(104%);box-shadow:0 28px 90px color-mix(in oklch, var(--navy-deep) 32%, transparent), inset 0 1px 0 #ffffff61, inset 0 -1px 0 color-mix(in oklch, var(--tx-base) 8%, transparent);margin:0;padding:0;inset:50% auto auto 50%;overflow:hidden;transform:translate(-50%,-50%)}@supports (color:lab(0% 0 0)){#contact-dialog.contact-dialog-liquid{background:linear-gradient(145deg, lab(100% 0 0/.18), color-mix(in oklch, var(--bg-0) 54%, transparent) 42%, color-mix(in oklch, var(--ac) 10%, transparent)), color-mix(in oklch, var(--bg-0) 50%, transparent);box-shadow:0 28px 90px color-mix(in oklch, var(--navy-deep) 32%, transparent), inset 0 1px 0 lab(100% 0 0/.38), inset 0 -1px 0 color-mix(in oklch, var(--tx-base) 8%, transparent)}}#contact-dialog.contact-dialog-liquid::backdrop{background:radial-gradient(circle at 50% 42%, color-mix(in oklch, var(--ac) 12%, transparent), transparent 44%), color-mix(in oklch, var(--navy-deep) 64%, transparent);-webkit-backdrop-filter:blur(14px)saturate(132%)}#contact-dialog .contact-dialog-shell{gap:var(--s-5);max-block-size:min(calc(100svh - (var(--s-4) * 2)), 42rem);padding:var(--s-6);display:grid;overflow:auto}#contact-dialog .contact-dialog-header,#contact-dialog .contact-dialog-actions{align-items:center}#contact-dialog .contact-dialog-close{border:1px solid color-mix(in oklch, white 20%, var(--bdr-2));background:color-mix(in oklch, var(--bg-0) 34%, transparent);block-size:2.5rem;inline-size:2.5rem;color:var(--tx-1);font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(22px)saturate(160%);transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);border-radius:999px;place-items:center;font-size:1.2rem;line-height:1;display:inline-grid}#contact-dialog .contact-dialog-close:hover,#contact-dialog .contact-dialog-close:focus-visible{border-color:color-mix(in oklch, var(--ac) 36%, var(--bdr-2));background:#ffffff6b;background:lab(100% 0 0/.42);outline:none}#contact-dialog .contact-dialog-close:active{transform:translateY(1px)}#contact-dialog .contact-dialog-form{gap:var(--s-4);display:grid}#contact-dialog .contact-dialog-field{gap:var(--s-2);color:var(--tx-2);display:grid}#contact-dialog [ui~=input]{background:color-mix(in oklch, var(--bg-0) 46%, transparent);border-color:color-mix(in oklch, white 16%, var(--bdr-2));min-block-size:2.75rem;color:var(--tx-0);-webkit-backdrop-filter:blur(24px)saturate(160%)}#contact-dialog textarea[ui~=input]{resize:vertical;min-block-size:8.5rem;line-height:1.5}#contact-dialog .contact-dialog-honeypot{position:absolute;left:-100vw}#contact-dialog .contact-dialog-status{color:var(--tx-2);margin:0}@media (max-width:520px){#contact-dialog.contact-dialog-liquid{inline-size:min(calc(100vw - (var(--s-3) * 2)), 34rem);max-block-size:min(calc(100svh - (var(--s-3) * 2)), 42rem)}#contact-dialog .contact-dialog-shell{max-block-size:min(calc(100svh - (var(--s-3) * 2)), 42rem);padding:var(--s-5)}}#contact-dialog .contact-dialog-mailto{color:var(--tx-2);margin:0}#contact-dialog .contact-dialog-mailto a{color:var(--ac);text-decoration:none}#contact-dialog .contact-dialog-mailto a:hover,#contact-dialog .contact-dialog-mailto a:focus-visible{text-decoration:underline}#contact-dialog .contact-dialog-done:not([hidden]){gap:var(--s-5);justify-items:start;display:grid}#contact-dialog .contact-dialog-done-msg{color:var(--tx-0);margin:0}#contact-dialog .contact-dialog-done-close{min-block-size:2.75rem}@media (prefers-reduced-motion:reduce){#contact-dialog.contact-dialog-liquid,#contact-dialog .contact-dialog-close{transition:none}#contact-dialog.contact-dialog-liquid::backdrop{transition:none}}@media (prefers-reduced-transparency:reduce){#contact-dialog.contact-dialog-liquid{background:color-mix(in oklch, var(--bg-0) 96%, white);-webkit-backdrop-filter:none}#contact-dialog.contact-dialog-liquid::backdrop{background:color-mix(in oklch, var(--navy-deep) 78%, transparent);-webkit-backdrop-filter:none}#contact-dialog .contact-dialog-close,#contact-dialog [ui~=input]{-webkit-backdrop-filter:none;background:var(--bg-2)}}@media (forced-colors:active){#contact-dialog.contact-dialog-liquid{color:canvastext;-webkit-backdrop-filter:none;box-shadow:none;background:canvas;border-color:canvastext}#contact-dialog.contact-dialog-liquid::backdrop{-webkit-backdrop-filter:none;background:#00000080}#contact-dialog .contact-dialog-close,#contact-dialog [ui~=input]{-webkit-backdrop-filter:none;color:canvastext;background:canvas;border-color:canvastext}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){#contact-dialog.contact-dialog-liquid{background:color-mix(in oklch, var(--bg-0) 94%, white)}}[data-zone=post-hero],[data-zone=project-hero]{container-type:inline-size}h1[ui~=heading][data-zone=post-title],h1[ui~=heading][data-zone=project-title]{text-wrap:balance;max-inline-size:min(100%,32ch);font-size:clamp(2rem,5cqi,3.25rem);line-height:1.08}:root{--navy:var(--tx-base);--navy-deep:color-mix(in oklch, var(--tx-base), black 36%);--color-bg:var(--bg-0);--color-bg-alt:var(--bg-1);--color-bg-card:var(--bg-1);--color-text:var(--tx-0);--color-text-mute:var(--tx-2);--color-border:var(--bdr-1);--color-accent:var(--ac);--color-accent-hover:var(--ac-lo);--color-accent-bright:var(--ac-hi);--color-secondary:var(--tx-1);--color-tertiary:var(--tx-0);--color-footer:var(--tx-0);--bg:var(--bg-0);--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.15s;--duration-normal:.3s;--duration-slow:.6s;--shadow-card:0 1px 3px #0000000f;--shadow-card-hover:0 8px 24px #00000014;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px}html,body{background:var(--color-bg);color:var(--color-text)}::selection{background:var(--color-accent);color:#fff}[data-zone=hero-section][ui~=cover]{flex-direction:column;justify-content:flex-end;align-items:stretch;min-height:85vh;padding:0;display:flex;position:relative;overflow:hidden}[data-zone=hero-section]>canvas[data-scene]{width:100%;height:100%;z-index:var(--ac-z-base);opacity:var(--scene-opacity,0);pointer-events:none;position:absolute;inset:0}[data-zone=hero-section][data-scene-state=ready]>canvas[data-scene]{--scene-opacity:1}[data-zone=hero-section][data-scene-state=error]>canvas[data-scene]{--scene-opacity:0}[data-zone=hero-section]:after{content:"";z-index:var(--ac-z-stage);background:linear-gradient(to right, color-mix(in oklch, var(--navy-deep) 58%, transparent) 0%, color-mix(in oklch, var(--navy-deep) 28%, transparent) 32%, transparent 55%), linear-gradient(to top, color-mix(in oklch, var(--navy-deep) 22%, transparent) 0%, transparent 50%);pointer-events:none;position:absolute;inset:0}[data-zone=hero-section]>[data-zone=hero]{z-index:var(--ac-z-panel);gap:var(--s-8);width:100%;max-width:96rem;padding:var(--s-12) clamp(var(--s-4), 3vw, var(--s-12)) clamp(var(--s-12), 8vh, var(--s-20));text-align:left;grid-template-columns:minmax(0,1fr);margin:0 auto;display:grid;position:relative}@media (min-width:64rem){[data-zone=hero-section]>[data-zone=hero]{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}[data-zone=hero]>[data-zone=heading],[data-zone=hero]>[data-zone=subheading],[data-zone=hero]>[data-zone=cta],[data-zone=hero]>[data-zone=eyebrow],[data-zone=hero]>[data-zone=hero-back]{grid-column:1}}[data-zone=hero]>[data-zone=heading]{max-width:14ch;margin:0 0 var(--s-5);color:#fff;font-family:var(--f-disp);letter-spacing:-.028em;text-wrap:balance;text-shadow:0 1px #0000002e,0 8px 28px #00000057;font-size:clamp(2.95rem,6.8vw + .5rem,6.2rem);font-weight:300;line-height:.94}[data-zone=hero]>[data-zone=subheading]{max-width:38rem;margin:0 0 var(--s-6);color:#ffffffd1;font-size:clamp(1.05rem,1.5vw + .5rem,1.3rem);font-weight:400;line-height:1.55}[data-zone=hero]>[data-zone=cta]{justify-content:flex-start}[data-zone=hero]>[data-zone=eyebrow]{display:none}[data-zone=heading] .heading-line{padding-block:.04em .12em;line-height:1.06;display:block;overflow:hidden}[data-zone=heading] .heading-inner{will-change:transform;display:inline-block}@media (prefers-reduced-motion:no-preference){[data-zone=heading] .heading-line .heading-inner{transform:translateY(110%)}}[data-zone=heading][data-motion=settled] .heading-line{overflow:visible}[data-zone=heading][data-motion=settled] .heading-line .heading-inner{transform:none}[data-zone=back-link]{min-height:44px;color:var(--tx-1);font-family:var(--f-disp);letter-spacing:.01em;border-bottom:1px solid var(--ac);transition:color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);align-items:center;gap:.55rem;font-size:.8rem;font-weight:500;text-decoration:none;display:inline-flex}[data-zone=back-link]:hover{color:var(--ac);border-color:color-mix(in oklch, var(--ac) 50%, transparent);background:color-mix(in oklch, var(--ac) 4%, transparent)}[data-zone=back-link]:focus-visible,[data-zone=brand]:focus-visible{outline:2px solid var(--ac);outline-offset:3px}[data-zone=brand]:hover{opacity:.85}[data-zone=not-found]{background:radial-gradient(ellipse at 50% 0%, color-mix(in oklch, var(--ac) 8%, transparent) 0%, transparent 60%), var(--bg-0)}
