.node{--col: min(1240px, calc(100vw - 96px) );--ember: #ffb020;--ember-soft: #ffd089;width:var(--col);margin:0 auto;padding:40px 0 0}.node-nav{display:flex;justify-content:space-between;padding-right:clamp(0px,calc(708px - 50vw),40px);margin-bottom:clamp(36px,7vh,84px);font-size:14px;color:var(--muted)}.node-nav a:hover,.node-nav a:focus-visible{color:var(--text)}.node-head{display:grid;grid-template-columns:minmax(0,1fr)}.node-head--hood{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:center;gap:0 clamp(8px,3vw,48px)}.node-kicker{display:flex;flex-wrap:wrap;gap:4px 10px;margin:0 0 18px;font-size:13px;color:var(--quiet)}.node-kicker a:hover,.node-kicker a:focus-visible{color:var(--text)}.node h1{margin:0;font-size:clamp(2.6rem,6.4vw,5.6rem);font-weight:450;line-height:1.02;letter-spacing:-.05em;overflow-wrap:break-word}.node-lead{max-width:36ch;margin:26px 0 0;font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.5;letter-spacing:-.01em;color:var(--muted)}@property --hot{syntax: "<number>"; inherits: true; initial-value: 0;}.hood{--all: 0;position:relative;margin:0;min-width:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .6s var(--ease),visibility 0s linear .6s}body.uv-on:not(.uv-shutting-down) .hood{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .8s var(--ease),visibility 0s}.hood svg{display:block;width:100%;height:auto;overflow:visible}.hood__node,.hood__centre{--o: max(var(--open, 0), var(--hot, 0), var(--all, 0))}.hood__fibre{--f: max(var(--open, 0), var(--hot, 0), var(--all, 0));--len: clamp(0, calc(var(--f) / .55), 1);--str: .8}.hood__fibre--2{--str: .55}.hood__pen{fill:none;stroke:var(--ember);stroke-opacity:calc(var(--str) * min(1,var(--f) * 1.4));stroke-dasharray:1;stroke-dashoffset:calc(1 - clamp(0,calc(var(--len) * var(--n) - var(--k)),1));stroke-linecap:round;stroke-linejoin:round}.hood__stub{fill:none;stroke-linecap:round;opacity:0}.hood[data-centre] .hood__stub{opacity:calc(1 - min(1,var(--f) * 4))}.hood__bead{fill:var(--ember);fill-opacity:calc(.16 * var(--o));stroke:var(--ember);stroke-opacity:calc(.9*min(1,var(--o) * 2));stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:calc(1 - clamp(0,calc(var(--o) * 1.6),1));stroke-linecap:round;stroke-linejoin:round;transition:fill .3s var(--ease),stroke .3s var(--ease);transform:scale(calc(1 + .3 * var(--o)));transform-box:fill-box;transform-origin:center}.hood__node--r2 .hood__bead{stroke-opacity:calc(.62*min(1,var(--o) * 2))}.hood__node{cursor:pointer;outline:none}.hood__hit{fill:transparent}.hood__label{font:400 12px/1 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.005em;fill:var(--muted);stroke:var(--bg);stroke-width:4px;stroke-linejoin:round;paint-order:stroke;pointer-events:none;opacity:clamp(0,var(--near, 0),1);transition:fill .3s var(--ease)}.hood__node--r2 .hood__label{fill:var(--quiet)}.hood__centre{pointer-events:none;opacity:0;transition:opacity 1s var(--ease)}.hood[data-centre] .hood__centre{opacity:1}.hood__loop{fill:none;stroke:var(--ember);stroke-opacity:calc(.7*min(1,var(--o) * 2));stroke-width:1.4;stroke-dasharray:1;stroke-dashoffset:calc(1 - clamp(0,calc(var(--o) * 1.5),1));stroke-linecap:round}.hood__loop--b{stroke-opacity:calc(.32*min(1,var(--o) * 2));stroke-width:1.1}.hood__mark{fill:var(--ember);fill-opacity:.85;filter:drop-shadow(0 0 5px rgba(255,176,32,calc(.4 * var(--o))))}.hood__node,.hood__fibre{transition:--hot .35s var(--ease),opacity .3s var(--ease)}.hood__node:hover,.hood__node.is-lit,.hood__fibre.is-lit{--hot: 1}.hood__node.is-near{--hot: .9}.hood__node:hover .hood__bead,.hood__node.is-lit .hood__bead{fill-opacity:1;fill:#ffb02080;stroke:var(--ember-soft)}.hood__node.is-near .hood__bead{fill-opacity:1;fill:#ffb02047;stroke-opacity:1}.hood__node:hover .hood__label,.hood__node.is-focus .hood__label{fill:var(--text);opacity:1}.hood__fibre.is-lit .hood__pen{stroke:var(--ember-soft);stroke-opacity:1}.is-relating .hood__fibre:not(.is-lit){opacity:.3}.is-relating .hood__node:not(.is-lit):not(.is-near){opacity:.38}@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.hood{--all: 1}.hood__centre{opacity:1;transition:none}.hood__stub{display:none}}@media(hover:none),(pointer:coarse){.hood__label{opacity:1}}.node-relations{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.node-relations h2{font-size:13px;font-weight:400}.node-relations ul{margin:0;padding:0;list-style:none}.node-relations:focus-within{position:static;width:auto;height:auto;margin:clamp(36px,6vh,64px) 0 0;overflow:visible;clip-path:none;white-space:normal;font-size:14px;color:var(--muted)}.node-relations:focus-within h2{margin:18px 0 8px;color:var(--quiet)}.node-relations:focus-within ul{display:flex;flex-wrap:wrap;gap:8px 28px}.node-relations:focus-within a:focus-visible{color:var(--text);outline:1px solid var(--muted);outline-offset:4px}.node-section{margin-top:clamp(112px,22vh,240px);padding:0}.node-label{margin:0 0 28px;font-size:13px;font-weight:400;letter-spacing:0;color:var(--quiet)}.node-about__text p{max-width:62ch;margin:0 0 1em;font-size:1.02rem;line-height:1.72;color:var(--muted)}.node-about__text p:first-child{font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.55;letter-spacing:-.012em;color:#f1f2f4db}.node-links{display:flex;flex-wrap:wrap;gap:14px clamp(28px,3.4vw,48px);margin:0;padding:0;list-style:none}.node-links a{display:block;font-size:15px;color:var(--muted);transition:color .25s var(--ease)}.cases-filter{display:flex;flex-wrap:wrap;gap:4px clamp(24px,3vw,40px);margin:clamp(48px,8vh,88px) 0 clamp(56px,9vh,96px);padding:0;list-style:none}@media(scripting:enabled){.cases-filter[hidden]{display:flex!important;visibility:hidden}}.cases-count{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cases-filter button{padding:6px 0;border:0;background:none;font-size:15px;color:var(--quiet);cursor:pointer;transition:color .25s var(--ease),transform .14s var(--ease)}.cases-filter button:active{transform:scale(.97)}.cases-filter button:hover,.cases-filter button:focus-visible{color:var(--muted)}.cases-filter button[aria-pressed=true]{color:var(--text)}.cases-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:clamp(64px,10vh,96px) clamp(24px,3vw,48px);margin:0;padding:0;list-style:none}.cases-grid .case-card{flex:none}.cases-grid [hidden]{display:none}@media(max-width:860px){.node-head--hood{grid-template-columns:minmax(0,1fr)}.hood{max-width:480px;margin-top:28px}}@media(max-width:720px){.node{--col: calc(100vw - 40px) ;padding-top:28px}.node-nav{padding-right:64px}.hood__label{font-size:19px;stroke-width:6px}}@media(max-width:720px)and (hover:none),(max-width:720px)and (pointer:coarse){.hood__node--r2 .hood__label{opacity:0}.hood__node--r2:hover .hood__label,.hood__node--r2.is-lit .hood__label,.hood__node--r2.is-near .hood__label{opacity:1}}@media(prefers-reduced-motion:no-preference){.node-nav,.node-kicker,.node-lead{animation:node-rise .9s var(--ease) both;animation-delay:calc(var(--i, 0) * 85ms + 40ms)}.node h1{animation:node-rise-big 1.1s var(--ease) both;animation-delay:calc(var(--i, 0) * 85ms + 40ms)}.hood[data-centre] .hood__stub{animation:hood-in 1s var(--ease) backwards}}.node [data-reveal]{opacity:var(--p, 1);translate:0 calc((1 - var(--p, 1)) * 32px)}@keyframes node-rise{0%{opacity:0;transform:translateY(18px)}}@keyframes node-rise-big{0%{opacity:0;transform:translateY(.18em);filter:blur(8px)}}@keyframes hood-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.cases-filter button:active{transform:none}}@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}.uv-indicator-wrap{view-transition-name:uv-switch}.sb{view-transition-name:scrollbar}::view-transition-old(uv-switch),::view-transition-old(scrollbar){display:none}::view-transition-new(uv-switch),::view-transition-new(scrollbar){animation:none}::view-transition-old(root){animation:vt-out .18s ease-out both}::view-transition-new(root){animation:vt-in .32s var(--ease) both}}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0}}.node-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:22px}.node-links a{color:var(--muted);font-size:14px;transition:color .25s var(--ease)}.node-links a:hover,.node-links a:focus-visible{color:var(--text)}@media(hover:none),(pointer:coarse){.node-links a{min-height:44px;display:inline-flex;align-items:center}}
