@font-face { font-family: 'Schibsted Grotesk Variable'; font-style: normal; font-display: swap; font-weight: 400 900; src: url(/fonts/schibsted-grotesk-latin-ext-wght-normal.woff2) format('woff2-variations'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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 Variable'; font-style: normal; font-display: swap; font-weight: 400 900; src: url(/fonts/schibsted-grotesk-latin-wght-normal.woff2) format('woff2-variations'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Instrument Sans Variable'; font-style: normal; font-display: swap; font-weight: 400 700; src: url(/fonts/instrument-sans-latin-ext-wght-normal.woff2) format('woff2-variations'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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: 'Instrument Sans Variable'; font-style: normal; font-display: swap; font-weight: 400 700; src: url(/fonts/instrument-sans-latin-wght-normal.woff2) format('woff2-variations'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'DM Mono'; font-style: normal; font-display: swap; font-weight: 400; src: url(/fonts/dm-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/dm-mono-latin-ext-400-normal.woff) format('woff'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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: 'DM Mono'; font-style: normal; font-display: swap; font-weight: 400; src: url(/fonts/dm-mono-latin-400-normal.woff2) format('woff2'), url(./files/dm-mono-latin-400-normal.woff) format('woff'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'DM Mono'; font-style: normal; font-display: swap; font-weight: 500; src: url(/fonts/dm-mono-latin-ext-500-normal.woff2) format('woff2'), url(./files/dm-mono-latin-ext-500-normal.woff) format('woff'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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: 'DM Mono'; font-style: normal; font-display: swap; font-weight: 500; src: url(/fonts/dm-mono-latin-500-normal.woff2) format('woff2'), url(./files/dm-mono-latin-500-normal.woff) format('woff'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
:root{--buncss-light:initial;--buncss-dark: ;color-scheme:light;--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--space-4xl:96px;--text-xs:.9375rem;--text-sm:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:2.125rem;--text-3xl:2.75rem;--text-display-s:clamp(2.5rem,4vw + .75rem,4.25rem);--text-display:clamp(2.875rem,5vw + 1rem,5.75rem);--text-section:clamp(2.125rem,2.5vw + 1.125rem,3.75rem);--text-title:clamp(1.375rem,.75vw + 1rem,1.875rem);--text-lead:clamp(1.25rem,.4vw + 1.125rem,1.625rem);--ease-out:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.7,0,.84,0);--ease-in-out:cubic-bezier(.65,0,.35,1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--color-error:oklch(52% .19 27);--color-success:oklch(50% .12 150);--container:1600px;--gutter:48px;--gap-columns:32px;--section-gap-s:56px;--section-gap:72px;--section-gap-l:88px;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-sticky-nav:300;--z-modal:400;--z-toast:500;--z-tooltip:600;--color-paper:oklch(97.6% .011 88);--color-paper-2:oklch(96.5% .02 160);--color-paper-3:oklch(93% .036 160);--color-ink:oklch(21% .025 170);--color-ink-2:oklch(31% .02 170);--color-muted:oklch(49% .024 165);--color-rule:oklch(86.5% .022 140);--color-accent:oklch(50% .13 160);--color-accent-deep:oklch(42% .11 162);--color-accent-soft:oklch(88% .08 160);--color-accent-ink:oklch(99% .006 160);--color-focus:oklch(45% .14 160);--p-mon:oklch(85% .052 22);--p-tue:oklch(87.5% .058 64);--p-wed:oklch(91.5% .064 98);--p-thu:oklch(86.5% .075 160);--p-fri:oklch(87% .048 210);--p-sat:oklch(84% .045 270);--p-sun:oklch(84% .048 322);--light:oklch(99.4% .016 84);--glint:oklch(100% 0 0);--logo-blue:#002fa2;--logo-sky:#006fc0;--logo-cyan:#00c7d6;--logo-teal:#00c691;--logo-green:#00b90b;--logo-lime:#8baf0a;--logo-gold:#db9d09;--logo-orange:#df7402;--logo-red:#ef2109;--logo-green-deep:color-mix(in oklab,var(--logo-green)62%,var(--color-ink));--font-display:"Schibsted Grotesk Variable","Schibsted Grotesk",ui-sans-serif,sans-serif;--font-body:"Instrument Sans Variable","Instrument Sans",ui-sans-serif,sans-serif;--font-outlier:"DM Mono",ui-monospace,monospace;--radius-card:14px;--radius-input:10px;--radius-pill:999px;--rule-hair:1px;--shadow-card:0 1px 2px oklch(30% .03 165/.08),0 24px 48px -24px oklch(40% .08 165/.35);--shadow-lift:0 1px 1px oklch(30% .03 165/.1),8px 18px 28px -14px oklch(36% .06 165/.32),18px 40px 60px -30px oklch(40% .08 165/.3);--tracking-display:-.03em;--display-weight:700}*,*:before,*:after{box-sizing:border-box}html,body{overflow-x:clip}html{scrollbar-color:var(--color-muted)var(--color-paper);scroll-padding-top:var(--space-3xl);font-size:clamp(100%,.6667rem + .4167vw,118.75%)}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;caret-color:var(--color-accent);margin:0;line-height:1.55}::selection{background:color-mix(in oklab,var(--color-accent)22%,transparent);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.16em}h1,h2,h3{font-family:var(--font-display);font-weight:var(--display-weight,700);font-synthesis:none;letter-spacing:var(--tracking-display);overflow-wrap:break-word;text-wrap:balance;min-width:0;margin:0;line-height:1.05}h1{font-size:var(--text-display);max-width:20ch}h2{font-size:var(--text-section);max-width:30ch}h3{font-size:var(--text-title);max-width:40ch;line-height:1.2}.lead{font-size:var(--text-lead);max-width:52ch;line-height:1.45}p{text-wrap:pretty;margin:0}p:not([class]){max-width:65ch}img,video{display:block;max-width:100%;height:auto}svg{display:block}[hidden]{display:none!important}button,input,select,textarea{font:inherit}.container{max-width:var(--container);padding-inline:var(--gutter);box-sizing:border-box;width:100%;margin-inline-start:auto;margin-inline-end:auto}.num,.figure,td.num{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;overflow:hidden;clip-path:inset(50%);white-space:nowrap;width:1px;height:1px}[data-slot]{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--color-paper-2,var(--color-paper)),var(--color-paper-3,var(--color-paper)))}[data-slot]>img{position:absolute;object-fit:cover;z-index:1;width:100%;height:100%;inset:0}[data-slot]:has(>img)>:not(img):not([data-keep]){display:none!important}@media (max-width:60rem){:root{--gutter:24px;--section-gap-s:48px;--section-gap:56px;--section-gap-l:72px}}@media (max-width:40rem){:root{--gutter:16px;--section-gap-s:40px;--section-gap:48px;--section-gap-l:56px;--gap-columns:16px}}@media (prefers-reduced-motion:reduce){:not(.keep-motion),:not(.keep-motion):before,:not(.keep-motion):after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}[data-slot]>img{filter:saturate(.85)contrast(.94)}:root{--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.012 0.6' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 -4.3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)' opacity='0.022'/%3E%3C/svg%3E");--masthead-h:137px;--on-ink:var(--color-paper);--on-ink-2:color-mix(in oklab,var(--color-paper)80%,var(--color-ink));--on-ink-rule:color-mix(in oklab,var(--color-paper)22%,var(--color-ink))}html,body{overflow-x:clip}body{background-image:var(--grain)}main{display:block}.skip{position:absolute;left:var(--space-md);top:calc(-1*var(--space-3xl));z-index:var(--z-toast);padding:var(--space-xs)var(--space-md);border-radius:var(--radius-input);background:var(--color-ink);color:var(--on-ink)}.skip:focus-visible{top:var(--space-md)}.icon{flex-shrink:0}.masthead{background:var(--color-paper);background-image:var(--grain);border-bottom:1px solid var(--color-rule)}.masthead-row{display:grid;grid-template-columns:minmax(0,1fr)auto minmax(0,1fr);align-items: center;gap:var(--space-md);border-bottom:1px solid var(--color-rule);min-height:76px}.masthead-side{display:inline-flex;justify-self:start;align-items: center;gap:var(--space-xs);font-size:var(--text-sm);color:var(--color-ink-2);text-decoration:none;transition:color var(--dur-short)var(--ease-out);min-height:44px;font-weight:500}.masthead-side:hover{color:var(--color-ink);text-decoration:underline;text-decoration-color:var(--color-accent)}.wordmark{display:inline-flex;align-items: center;gap:var(--space-sm);color:var(--color-ink);text-decoration:none;font-family:var(--font-display);font-weight:700;font-size:var(--text-2xl);letter-spacing:var(--tracking-display);line-height:1}.wordmark img{border-radius:var(--radius-pill);width:40px;height:40px}.masthead-action{justify-self:end}.tabs{position:relative;list-style:none;display:flex;justify-content:safe center;gap:var(--space-2xs);max-width:var(--container);padding:var(--space-xs)var(--gutter);overflow-x:auto;scrollbar-width:none;margin:0 auto}.tabs::-webkit-scrollbar{display:none}.tabs a{display:inline-flex;padding:0 var(--space-md);border-radius:var(--radius-input);color:var(--color-ink-2);text-decoration:none;white-space:nowrap;transition:background-color var(--dur-short)var(--ease-out),color var(--dur-short)var(--ease-out),transform var(--dur-micro)var(--ease-out);align-items: center;min-height:44px;font-weight:500}.tabs a:hover{background:var(--color-paper-2);color:var(--color-ink)}.tabs a:active{transform:translateY(1px)}.tabs a[aria-current=page]{background:var(--color-accent-soft);color:var(--color-ink);box-shadow:inset 0 1px 0 var(--glint),0 0 0 1px color-mix(in oklab,var(--color-accent)28%,transparent),0 2px 0 color-mix(in oklab,var(--color-accent)28%,transparent)}.btn{display:inline-flex;justify-content:center;align-items: center;gap:var(--space-xs);padding:0 var(--space-lg);border-radius:var(--radius-input);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);white-space:nowrap;text-decoration:none;cursor:pointer;box-shadow:inset 0 1px 0 var(--glint),0 0 0 1px var(--color-rule),0 3px 0 var(--color-rule);transition:transform var(--dur-micro)var(--ease-out),background-color var(--dur-short)var(--ease-out);background:0 0;border:0;min-height:52px;font-weight:500;line-height:1}.btn:hover{background:var(--color-paper-2)}.btn:active{box-shadow:inset 0 1px 0 var(--glint),0 0 0 1px var(--color-rule);transform:translateY(3px)}.btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.btn--primary{background:linear-gradient(var(--logo-teal),var(--logo-green));color:var(--color-ink);box-shadow:inset 0 1px 0 color-mix(in oklab,var(--glint)45%,transparent),0 0 0 1px var(--logo-green-deep),0 3px 0 var(--logo-green-deep);font-weight:600}.btn--primary:hover{background:linear-gradient(var(--logo-cyan),var(--logo-teal))}.btn--primary:active{box-shadow:0 0 0 1px var(--logo-green-deep)}.btn--small{padding:0 var(--space-md);font-size:var(--text-sm);min-height:44px}.btn--quiet{box-shadow:0 0 0 1px var(--color-rule);background:0 0}.btn--quiet:active{box-shadow:0 0 0 1px var(--color-rule)}.btn--on-ink{color:var(--on-ink);box-shadow:0 0 0 1px var(--on-ink-rule),0 3px 0 var(--on-ink-rule);background:0 0}.btn--on-ink:hover{background:color-mix(in oklab,var(--color-paper)10%,transparent)}.btn--on-ink:active{box-shadow:0 0 0 1px var(--on-ink-rule)}.btn--on-ink:focus-visible{outline-color:var(--color-accent-soft)}.actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}a:not([class]){text-decoration-color:color-mix(in oklab,var(--color-accent)60%,transparent);transition:text-decoration-color var(--dur-short)var(--ease-out)}a:not([class]):hover{text-decoration-color:var(--color-accent)}.hero{position:relative;isolation:isolate;display:flex;gap:var(--space-xl);padding-block:var(--space-2xl);overflow:hidden;flex-direction:column}.hero-light{position:absolute;z-index:-1;pointer-events:none;background:linear-gradient(var(--light),var(--light))0% 0%/14% 58% no-repeat,linear-gradient(var(--light),var(--light))20% 0%/14% 58% no-repeat,linear-gradient(var(--light),var(--light))0% 100%/14% 36% no-repeat,linear-gradient(var(--light),var(--light))20% 100%/14% 36% no-repeat;filter:blur(26px);opacity:.9;inset:-20% -10% -20% 35%;transform:skew(-22deg)}.corridor{display:flex;align-items: center;gap:var(--space-lg);text-align:center;flex-direction:column}.hero h1{max-width:none;font-size:clamp(2.75rem,4.2vw + 1rem,5.25rem);line-height:1}.hero .lead{color:var(--color-ink-2);text-wrap:balance;max-width:52ch}.hero .actions{margin-top:var(--space-xs);justify-content:center}.before-after{display:grid;grid-template-columns:minmax(0,1fr)auto minmax(0,1fr);align-items: center;gap:var(--space-xl)}.vcf{display:grid;justify-self:end;gap:var(--space-xs);margin:0}.vcf figcaption{font-size:var(--text-sm);color:var(--color-ink-2);font-weight:500}.vcf code{--t:var(--p-fri);display:flex;padding:var(--space-md)var(--space-lg);border-radius:var(--radius-input);background:linear-gradient(color-mix(in oklab,var(--glint)32%,transparent),transparent 30%),color-mix(in oklab,var(--t)62%,transparent);box-shadow:inset 0 1.5px 0 var(--glint),inset 0 -18px 24px -20px color-mix(in oklab,var(--t)45%,var(--color-ink));font-family:var(--font-outlier);font-size:var(--text-lg);color:var(--color-ink);white-space:nowrap;gap:1.1em;line-height:1}.before-after-arrow{color:var(--color-accent)}.label{position:relative;display:grid;grid-template-columns:minmax(0,1fr)auto;padding:var(--space-lg);border-radius:var(--radius-input);background:var(--light);background-image:var(--grain);box-shadow:var(--shadow-lift);font-family:var(--font-outlier);text-align:left;justify-self:start;width:min(100%,31rem);margin:0}.label-main{display:grid;gap:var(--space-xs);padding-right:var(--space-lg);min-width:0}.label-head{display:flex;justify-content:space-between;gap:var(--space-md);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-rule);font-size:var(--text-sm);color:var(--color-ink-2)}.label-gene{font-size:var(--text-2xl);font-weight:500;line-height:1.1}.label-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-md);color:var(--color-ink-2)}.label-row b{font-size:var(--text-xl);color:var(--color-ink);font-weight:500}.label-stub{display:grid;align-content: center;justify-items:center;gap:var(--space-sm);padding-left:var(--space-lg);border-left:2px dashed var(--color-rule);font-size:var(--text-xs);color:var(--color-ink-2);text-align:center;max-width:10rem}.stamp{padding:var(--space-xs)var(--space-sm);border:2px solid var(--color-accent);border-radius:var(--space-xs);box-shadow:0 0 0 2px var(--light),0 0 0 3px var(--color-accent);color:var(--color-accent-deep);font-size:var(--text-sm);text-align:center;flex-shrink:0;font-weight:500;line-height:1.2;transform:rotate(-2deg)}.js .stamp{animation:stamp-land var(--dur-long)var(--ease-out).45s both}@keyframes stamp-land{0%{opacity:0;transform:rotate(-2deg)scale(1.3)}to{opacity:1;transform:rotate(-2deg)scale(1)}}@media (prefers-reduced-motion:reduce){.js .stamp{animation:none}}.section{padding-block:var(--section-gap-s)}.section--tight{padding-block:var(--space-2xl)var(--section-gap-s)}.section-head{display:grid;gap:var(--space-md);margin-bottom:var(--space-xl)}.section>.container>h2{margin-bottom:var(--space-2xl)}.map{border-top:1px solid var(--color-rule)}.map h2{margin-bottom:var(--space-xl)}.map-drawing{width:100%;height:auto}.map-home{fill:color-mix(in oklab,var(--color-accent-soft)16%,transparent);stroke:var(--color-accent);stroke-width:2;stroke-dasharray:8 8}.map-home-label{fill:var(--color-accent-deep);font-family:var(--font-display);font-size:22px;font-weight:700}.map-home-note{fill:var(--color-ink-2);font-family:var(--font-body);font-size:16px;font-weight:500}.map-node{--t:var(--p-thu);fill:color-mix(in oklab,var(--t)62%,transparent);stroke:color-mix(in oklab,var(--t)60%,var(--color-ink));stroke-opacity:.3}.map-node--studies{--t:var(--p-wed)}.map-node--catalog{--t:var(--p-fri)}.map-node--service{--t:var(--p-mon)}.map-node--file,.map-node--report{fill:var(--light);stroke:var(--color-rule);stroke-opacity:1}.map-title{fill:var(--color-ink);font-family:var(--font-display);font-size:20px;font-weight:700}.map-text{fill:var(--color-ink-2);font-family:var(--font-body);font-size:17px}.map-step{fill:var(--color-accent-deep);font-family:var(--font-outlier);font-size:20px;font-weight:500}.map-edge{fill:none;stroke:var(--color-ink-2);stroke-width:2}.map-head{fill:var(--color-ink-2)}.map-edge-label{fill:var(--color-ink-2);font-family:var(--font-body);font-size:15px;font-weight:500}.map-steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap-columns);margin:var(--space-xl)0 0;padding:0}.map-steps li{counter-increment:step;display:grid;align-content: start;gap:var(--space-xs);padding-top:var(--space-md);border-top:1px solid var(--color-rule)}.map-steps li:before{content:counter(step);font-family:var(--font-outlier);font-weight:500;font-size:var(--text-lg);color:var(--color-accent-deep);line-height:1}.map-steps p{color:var(--color-ink-2)}.plastic{--t:var(--p-thu);position:relative;border-radius:var(--radius-card);background:linear-gradient(color-mix(in oklab,var(--glint)32%,transparent),transparent 18%),color-mix(in oklab,var(--t)62%,transparent);box-shadow:inset 0 1.5px 0 var(--glint),inset 0 -24px 36px -28px color-mix(in oklab,var(--t)45%,var(--color-ink))}.tags{display:flex;gap:var(--space-xs);flex-wrap:wrap}.tag{padding:var(--space-2xs)var(--space-sm);border-radius:var(--radius-pill);background:color-mix(in oklab,var(--light)78%,transparent);font-family:var(--font-outlier);font-size:var(--text-sm);color:var(--color-ink);line-height:1.3}.shot{display:grid;gap:var(--space-sm);min-width:0;margin:0}.shot-frame{aspect-ratio:var(--ratio,16/10);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.shot-frame[data-kind=product]>img{filter:none;object-position:0% 0%;outline:1px solid color-mix(in oklab,var(--color-ink)8%,transparent);outline-offset:-1px;border-radius:inherit}.shot figcaption,.caption{font-size:var(--text-sm);color:var(--color-ink-2);max-width:60ch}.band{padding-block:var(--section-gap-s)}.band--ink{background:var(--color-ink);color:var(--on-ink)}.band--ink .lead,.band--ink p{color:var(--on-ink-2)}.band--ink a:not(.btn){color:var(--color-accent-soft)}.band-split{display:grid;grid-template-columns:minmax(0,5fr)minmax(0,7fr);align-items: center;gap:var(--space-3xl)}.band-copy{display:grid;gap:var(--space-lg);justify-items:start}.band-small{font-size:var(--text-sm)}.video{display:grid;gap:var(--space-sm);color:inherit;text-decoration:none;border-radius:var(--radius-card)}.video-frame{display:block;aspect-ratio:16/9;border-radius:var(--radius-card)}.video-frame>img{filter:none}.video-caption{display:inline-flex;align-items: center;gap:var(--space-xs);font-weight:500}.video:hover .video-caption{text-decoration:underline;text-decoration-color:var(--color-accent)}.video:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.band--ink .video:focus-visible{outline-color:var(--color-accent-soft)}.banner{padding-block:var(--space-2xl)var(--space-xl)}.banner-inner{display:grid;justify-items:start;gap:var(--space-lg)}.banner .lead{color:var(--color-ink-2)}.code{position:relative;border-radius:var(--radius-card);background:var(--color-ink);color:var(--on-ink);min-width:0;margin:0}.code figcaption{display:flex;padding:0 var(--space-lg);border-bottom:1px solid var(--on-ink-rule);font-size:var(--text-sm);color:var(--on-ink-2);align-items: center;min-height:60px}.code pre{padding:var(--space-lg);overflow-x:auto;font-family:var(--font-outlier);font-size:var(--text-sm);margin:0;line-height:1.7}.copy{position:absolute;top:var(--space-xs);right:var(--space-xs);padding:0 var(--space-md);border-radius:var(--radius-input);color:var(--on-ink);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;box-shadow:0 0 0 1px var(--on-ink-rule);transition:background-color var(--dur-short)var(--ease-out),transform var(--dur-micro)var(--ease-out);background:0 0;border:0;min-height:44px;font-weight:500}.copy:hover{background:color-mix(in oklab,var(--color-paper)10%,transparent)}.copy:active{transform:translateY(1px)}.copy:focus-visible{outline:2px solid var(--color-accent-soft);outline-offset:2px}.copy:disabled{opacity:.55;cursor:not-allowed}html:not(.js) .copy{display:none}.seg{display:inline-flex;gap:var(--space-2xs);padding:var(--space-2xs);overflow-x:auto;border-radius:calc(var(--radius-input) + var(--space-2xs));background:var(--color-paper-3);box-shadow:inset 0 1px 3px color-mix(in oklab,var(--color-ink)14%,transparent);max-width:100%}.seg [role=tab]{padding:0 var(--space-md);border-radius:var(--radius-input);color:var(--color-ink-2);font-family:var(--font-body);font-size:var(--text-md);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-short)var(--ease-out),color var(--dur-short)var(--ease-out);background:0 0;border:0;min-height:44px;font-weight:500}.seg [role=tab]:hover{color:var(--color-ink)}.seg [role=tab]:active{transform:translateY(1px)}.seg [role=tab]:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.seg [role=tab][aria-selected=true]{background:var(--color-accent-soft);color:var(--color-ink);box-shadow:inset 0 1px 0 var(--glint),0 1px 2px color-mix(in oklab,var(--color-ink)18%,transparent)}.switch-panel{margin-top:var(--space-lg)}.switch-name,html:not(.js) .seg{display:none}html:not(.js) .switch-name{display:block;margin-bottom:var(--space-sm);font-weight:500}html:not(.js) .switch-panel+.switch-panel{margin-top:var(--space-xl)}.footer{padding-block:var(--space-2xl)var(--space-xl);border-top:1px solid var(--color-rule)}.footer-statement{font-family:var(--font-display);font-weight:700;font-size:var(--text-2xl);letter-spacing:var(--tracking-display);text-wrap:balance;max-width:36ch;line-height:1.05}.footer-links{list-style:none;display:flex;gap:var(--space-xs)var(--space-lg);margin:var(--space-lg)0 0;flex-wrap:wrap;padding:0}.footer-links a{display:inline-flex;color:var(--color-ink);text-decoration:none;white-space:nowrap;align-items: center;min-height:44px}.footer-links a:hover{text-decoration:underline;text-decoration-color:var(--color-accent)}.footer-legal{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-rule);font-size:var(--text-sm);color:var(--color-ink-2)}@media (max-width:60rem){:root{--masthead-h:121px}.masthead-row{grid-template-columns:minmax(0,1fr)auto;min-height:60px}.masthead-side{display:none}.wordmark{font-size:var(--text-xl);justify-self:start}.wordmark img{width:32px;height:32px}.tabs{padding-inline:var(--gutter);justify-content:flex-start}.hero{padding-block:var(--space-xl)}.before-after{grid-template-columns:minmax(0,1fr);justify-items:center;gap:var(--space-md)}.vcf,.label{justify-self:center}.label{grid-template-columns:minmax(0,1fr)}.label-main{padding-right:0}.label-stub{grid-auto-flow:column;margin-top:var(--space-md);padding:var(--space-md)0 0;border-left:0;border-top:2px dashed var(--color-rule);text-align:left;justify-content:space-between;max-width:none}.before-after-arrow{transform:rotate(90deg)}.map-drawing{display:none}.map-steps{grid-template-columns:minmax(0,1fr);margin-top:0}.band-split{grid-template-columns:minmax(0,1fr);gap:var(--space-2xl)}.comic{justify-self:start}}@media (max-width:40rem){.hero h1 br{display:none}.vcf code{font-size:var(--text-md);padding:var(--space-sm)var(--space-md);gap:.7em}.hero .actions .btn{flex:auto}}.section--flush{padding-block:0 var(--section-gap-s)}.section--well{background:var(--color-paper-2);border-block:1px solid var(--color-rule)}.small{font-size:var(--text-sm);color:var(--color-ink-2)}.note{padding-left:var(--space-md);border-left:2px solid var(--color-accent);color:var(--color-ink-2)}.stack{display:grid;gap:var(--space-lg);min-width:0}.link-list{list-style:none;display:grid;gap:var(--space-xs);margin:0;padding:0}.split{display:grid;grid-template-columns:minmax(0,5fr)minmax(0,7fr);align-items: center;gap:var(--space-3xl)}.stack>*,.switch,.switch-panel{min-width:0}.split--top{align-items: start}.split--wide-visual{grid-template-columns:minmax(0,4fr)minmax(0,8fr)}.split-copy{display:grid;gap:var(--space-lg);justify-items:start}.split-copy h2{max-width:16ch}.shot--tall .shot-frame{--ratio:1300/944}.shot--wide .shot-frame{--ratio:1400/760}.shot--strip .shot-frame{--ratio:1400/398}.shot--app .shot-frame{--ratio:1446/1060}.workbench{display:grid;gap:var(--space-2xl)}.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap-columns);margin:0}.facts>div{display:grid;align-content: start;gap:var(--space-xs);padding-top:var(--space-md);border-top:1px solid var(--color-rule)}.facts dt,.rows dt,.habits dt{font-family:var(--font-display);font-weight:700;font-size:var(--text-title);letter-spacing:var(--tracking-display);line-height:1.2}.facts dd,.rows dd,.habits dd{color:var(--color-ink-2);margin:0}.rows-layout{display:grid;grid-template-columns:minmax(0,5fr)minmax(0,7fr);gap:var(--space-3xl);align-items: start}.rows-layout h2{max-width:14ch}.rows-more{margin-top:var(--space-lg);color:var(--color-ink-2);max-width:40ch}.rows{display:grid;list-style:none;margin:0;padding:0}.rows>*{display:grid;gap:var(--space-2xs);padding-block:var(--space-lg);border-top:1px solid var(--color-rule)}.rows>:last-child{border-bottom:1px solid var(--color-rule)}.rows--numbered{counter-reset:row}.rows--numbered>li{counter-increment:row;display:grid;grid-template-columns:var(--space-2xl)minmax(0,1fr);padding-block:var(--space-md);align-items:baseline}.rows--numbered>li:before{content:counter(row);font-family:var(--font-outlier);color:var(--color-accent-deep);font-weight:500}.rows--numbered b{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);letter-spacing:var(--tracking-display)}.rows--numbered span{color:var(--color-ink-2)}.habits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl)var(--gap-columns);margin:0}.habits>div{display:grid;align-content: start;gap:var(--space-xs);padding-top:var(--space-md);border-top:1px solid var(--color-rule)}.publish{display:grid;gap:var(--space-lg);max-width:60ch}.publish-line{font-size:var(--text-lead);line-height:1.45}.band-row{display:flex;justify-content:space-between;align-items: center;gap:var(--space-xl)var(--space-3xl);flex-wrap:wrap}.band-row h2{max-width:18ch}.module-head{display:flex;justify-content:space-between;align-items: end;gap:var(--space-lg);margin-bottom:var(--space-2xl);flex-wrap:wrap}.module-list li a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.module-name{font-size:var(--text-lg);font-weight:500}.module-list li a:hover .module-name{text-decoration:underline;text-decoration-color:var(--color-accent)}.module-foot{margin-top:var(--space-md)}.stages{list-style:none;counter-reset:stage;display:grid;gap:var(--space-lg);margin-block-start:0;margin-block-end:0}.stage{counter-increment:stage;display:grid;grid-template-columns:minmax(0,5fr)minmax(0,6fr);align-items: start;gap:var(--space-2xl);padding:var(--space-xl)}.stage-copy:before{content:counter(stage);font-family:var(--font-display);font-weight:700;font-size:var(--text-3xl);letter-spacing:var(--tracking-display);color:color-mix(in oklab,var(--t)45%,var(--color-ink));line-height:.9}.stage-copy{display:grid;gap:var(--space-md)}.stage-copy h2{font-size:var(--text-3xl)}.stage-side{min-width:0}.stage-side h3{margin-bottom:var(--space-sm)}.index{border-collapse:collapse;width:100%}.index th,.index td{padding:var(--space-md)var(--space-md)var(--space-md)0;border-bottom:1px solid var(--color-rule);text-align:left;vertical-align:baseline}.index tbody th{white-space:nowrap;font-weight:500}.index tbody th a{font-family:var(--font-outlier);font-weight:500}.index thead th{font-size:var(--text-sm);color:var(--color-ink-2);white-space:nowrap;font-weight:500}.index td{color:var(--color-ink-2)}.index--gen1 tbody th{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:var(--tracking-display)}.index--gen1 th,.index--gen1 td{vertical-align:middle}.gen1-name{display:inline-flex;align-items: center;gap:var(--space-md)}.gen1-name img{object-fit:contain;width:44px;height:40px}.index--compare tbody th{font-family:var(--font-body);white-space:normal}.timeline{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap-columns);margin:0;padding:0}.timeline li{display:grid;align-content: start;gap:var(--space-sm);padding-top:var(--space-md);border-top:2px solid var(--color-accent)}.timeline time{font-family:var(--font-display);font-weight:700;font-size:var(--text-section);letter-spacing:var(--tracking-display);color:var(--color-ink);font-variant-numeric:tabular-nums;line-height:1}.timeline span{color:var(--color-ink-2)}.names{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xs)var(--gap-columns);margin:0;padding:0}.names li{padding-block:var(--space-xs);border-bottom:1px solid var(--color-rule)}.comic{display:grid;grid-template-columns:var(--space-4xl)minmax(0,1fr);justify-self:end;align-items: center;gap:var(--space-lg);color:inherit;text-decoration:none;border-radius:var(--radius-input);max-width:26rem;font-weight:500}.comic:hover span:last-child{text-decoration:underline;text-decoration-color:var(--color-accent)}.comic:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.band--ink .comic:focus-visible{outline-color:var(--color-accent-soft)}.comic-frame{display:block;aspect-ratio:640/979;border-radius:var(--radius-input);box-shadow:var(--shadow-card)}.archive{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap-columns);margin:0;padding:0}.archive li{display:grid;gap:var(--space-xs);padding-top:var(--space-md);border-top:2px solid var(--color-accent)}.archive a{font-family:var(--font-display);font-weight:700;font-size:var(--text-title);letter-spacing:var(--tracking-display);color:var(--color-ink)}.archive span{color:var(--color-ink-2)}@media (max-width:60rem){.split,.split--wide-visual,.rows-layout{grid-template-columns:minmax(0,1fr);gap:var(--space-2xl)}.facts,.habits,.archive{grid-template-columns:minmax(0,1fr)}.stage{grid-template-columns:minmax(0,1fr);gap:var(--space-lg);padding:var(--space-lg)}.stage-copy:before{font-size:var(--text-2xl)}.rows>*{grid-template-columns:minmax(0,1fr);gap:var(--space-2xs)}.rows--numbered>li{grid-template-columns:var(--space-xl)minmax(0,1fr)}.rows--numbered>li span{grid-column:auto}.index tbody th{white-space:normal}.names{grid-template-columns:minmax(0,1fr)}.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.index--gen1 th:nth-child(2),.index--gen1 td:nth-child(2){display:none}}@media (max-width:40rem){.index thead{position:absolute;overflow:hidden;clip-path:inset(50%);width:1px;height:1px}.index tr{display:grid;gap:var(--space-2xs);padding-block:var(--space-md);border-bottom:1px solid var(--color-rule)}.index th,.index td{display:block;border:0;padding:0}.index td[data-label]:before{content:attr(data-label)": ";color:var(--color-ink);font-weight:500}}.where{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap-columns);margin:0;padding:0}.where a{display:grid;gap:var(--space-2xs);padding-top:var(--space-md);border-top:2px solid var(--color-accent);color:var(--color-ink);text-decoration:none}.where a b{font-family:var(--font-display);font-weight:700;font-size:var(--text-title);letter-spacing:var(--tracking-display)}.where a span{color:var(--color-ink-2)}.where a:hover b{text-decoration:underline;text-decoration-color:var(--color-accent)}@media (max-width:60rem){.where,.module-list{grid-template-columns:minmax(0,1fr)}}.panel-head{font-size:var(--text-section);max-width:16ch}.keys{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--gap-columns);margin:0;padding:0}.keys>li{display:flex}.keys>li>a{display:flex;gap:var(--space-sm);padding:var(--space-lg);color:var(--color-ink);text-decoration:none;border-radius:var(--radius-card);flex-direction:column;flex:1;min-height:240px}.keys>li>a p{color:var(--color-ink-2)}.keys>li>a .tags{padding-top:var(--space-md);margin-top:auto}.keys>li>a:hover h3{text-decoration:underline;text-decoration-color:var(--color-accent);text-decoration-thickness:2px}.keys>li>a:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.module-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap-columns);margin:0;padding:0}.module-list li a{display:grid;gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-input);background:var(--light);background-image:var(--grain);box-shadow:var(--shadow-lift);transition:transform var(--dur-micro)var(--ease-out);border:0;align-content:space-between;min-height:132px}@media (prefers-reduced-motion:reduce){.module-list li a{transition:none}}.module-list li a:active{transform:translateY(1px)}.module-meta{display:flex;justify-content:space-between;gap:var(--space-md);padding-top:var(--space-sm);border-top:2px dashed var(--color-rule);font-family:var(--font-outlier);font-size:var(--text-sm);color:var(--color-ink-2)}@media (max-width:60rem){.keys{grid-template-columns:repeat(2,minmax(0,1fr))}.keys>li>a{min-height:0}.module-list{grid-template-columns:minmax(0,1fr)}}@media (max-width:40rem){.keys{grid-template-columns:minmax(0,1fr)}}
