:root{--paper: oklch(.972 .008 80);--paper-2: oklch(.945 .01 80);--paper-3: oklch(.91 .012 80);--ink: oklch(.19 .01 60);--ink-2: oklch(.33 .01 60);--ink-3: oklch(.5 .01 60);--rule: oklch(.87 .012 80);--rule-strong: oklch(.78 .014 70);--accent: oklch(.58 .15 50);--accent-ink: oklch(.38 .14 45);--serif: "Instrument Serif", "Newsreader", "EB Garamond", Georgia, serif;--sans: "Hanken Grotesk", "Söhne", -apple-system, system-ui, sans-serif;--mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, Menlo, monospace;--pad-y: clamp(72px, 9vw, 144px);--pad-x: clamp(20px, 4vw, 56px);--gutter: 24px;--t-mono: 11px;--t-body: 17px;--t-lead: 22px;--t-h3: 28px;--t-h2: clamp(36px, 4.4vw, 64px);--t-h1: clamp(54px, 8vw, 132px)}:root[data-density=dense]{--pad-y: clamp(48px, 6vw, 96px);--t-h1: clamp(46px, 6.6vw, 108px);--t-h2: clamp(32px, 3.6vw, 52px);--t-body: 16px}:root[data-palette=arch]{--paper: oklch(.953 0 0);--paper-2: oklch(.92 0 0);--paper-3: oklch(.875 0 0);--ink: oklch(.184 0 0);--ink-2: oklch(.32 0 0);--ink-3: oklch(.49 0 0);--rule: oklch(.87 0 0);--rule-strong: oklch(.775 0 0);--accent: oklch(.495 .243 265);--accent-ink: oklch(.395 .22 265)}:root[data-palette=nordic]{--paper: oklch(.94 .008 80);--paper-2: oklch(.91 .01 80);--paper-3: oklch(.87 .012 80);--ink: oklch(.247 .005 30);--ink-2: oklch(.37 .005 30);--ink-3: oklch(.51 .005 30);--rule: oklch(.86 .012 80);--rule-strong: oklch(.77 .014 80);--accent: oklch(.45 .04 140);--accent-ink: oklch(.37 .04 140)}:root[data-palette=midnight]{--paper: oklch(.19 .005 240);--paper-2: oklch(.235 .005 240);--paper-3: oklch(.29 .005 240);--ink: oklch(.926 0 0);--ink-2: oklch(.76 0 0);--ink-3: oklch(.58 0 0);--rule: oklch(.31 .005 240);--rule-strong: oklch(.42 .005 240);--accent: oklch(.948 .23 120);--accent-ink: oklch(.88 .22 120)}:root[data-palette=british]{--paper: oklch(.972 .005 100);--paper-2: oklch(.945 .008 100);--paper-3: oklch(.905 .01 100);--ink: oklch(.243 .03 160);--ink-2: oklch(.36 .028 160);--ink-3: oklch(.5 .022 160);--rule: oklch(.87 .01 100);--rule-strong: oklch(.78 .014 100);--accent: oklch(.7 .13 85);--accent-ink: oklch(.52 .11 85)}:root[data-palette=cyanotype]{--paper: oklch(.945 .01 230);--paper-2: oklch(.91 .014 230);--paper-3: oklch(.865 .018 230);--ink: oklch(.245 .06 245);--ink-2: oklch(.37 .05 245);--ink-3: oklch(.52 .04 245);--rule: oklch(.855 .02 230);--rule-strong: oklch(.76 .024 230);--accent: oklch(.51 .17 250);--accent-ink: oklch(.4 .16 250)}:root[data-palette=foundry]{--paper: oklch(.91 .006 70);--paper-2: oklch(.875 .008 70);--paper-3: oklch(.835 .01 70);--ink: oklch(.175 .005 40);--ink-2: oklch(.31 .005 40);--ink-3: oklch(.48 .006 40);--rule: oklch(.82 .008 70);--rule-strong: oklch(.73 .01 70);--accent: oklch(.64 .215 45);--accent-ink: oklch(.48 .19 45)}:root[data-palette=library]{--paper: oklch(.945 .012 85);--paper-2: oklch(.915 .014 85);--paper-3: oklch(.88 .016 85);--ink: oklch(.205 .012 40);--ink-2: oklch(.34 .012 40);--ink-3: oklch(.51 .01 40);--rule: oklch(.86 .014 85);--rule-strong: oklch(.765 .018 85);--accent: oklch(.43 .13 25);--accent-ink: oklch(.36 .12 25)}:root[data-palette=sodium]{--paper: oklch(.22 .008 60);--paper-2: oklch(.265 .01 60);--paper-3: oklch(.32 .01 60);--ink: oklch(.94 .02 85);--ink-2: oklch(.79 .02 85);--ink-3: oklch(.62 .02 85);--rule: oklch(.34 .01 60);--rule-strong: oklch(.45 .012 60);--accent: oklch(.79 .17 70);--accent-ink: oklch(.72 .17 70)}*{box-sizing:border-box}html,body{margin:0;padding:0}html{overflow-x:hidden}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--t-body);line-height:1.55;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","ss02","cv11"}::selection{background:var(--accent);color:var(--paper)}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.site{min-height:100vh;position:relative}.site:before,.site:after{content:"";position:fixed;top:0;bottom:0;width:1px;background:var(--rule);z-index:0;pointer-events:none}.site:before{left:var(--pad-x)}.site:after{right:var(--pad-x)}@media(max-width:720px){.site:before,.site:after{display:none}}.container{max-width:1440px;margin:0 auto;padding:0 var(--pad-x);position:relative;z-index:1}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:18px var(--pad-x);border-bottom:1px solid var(--rule);font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.06em;text-transform:uppercase;position:sticky;top:0;background:color-mix(in oklch,var(--paper) 92%,transparent);backdrop-filter:blur(8px);z-index:50}.topbar .logo{font-family:var(--serif);font-size:22px;font-weight:400;letter-spacing:-.01em;text-transform:none;display:flex;align-items:center;gap:10px}.topbar .logo .mark{width:38px;height:38px;flex:none;display:inline-block}.topbar .logo .mark img{display:block;width:100%;height:100%;object-fit:contain}.topbar .primary-nav{display:flex;gap:28px;justify-content:center}.topbar .primary-nav a{color:var(--ink-2);position:relative;padding:4px 0;transition:color .2s ease}.topbar .primary-nav a:hover,.topbar .primary-nav a.is-current{color:var(--ink)}.topbar .primary-nav a.is-current:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--accent)}.mobile-menu-toggle,.mobile-nav{display:none}.topbar .status{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--ink-3)}.topbar .status .dot{width:7px;height:7px;border-radius:50%;background:#45ba50;box-shadow:0 0 0 3px color-mix(in oklch,oklch(.7 .18 145) 30%,transparent);animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 3px color-mix(in oklch,oklch(.7 .18 145) 30%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in oklch,oklch(.7 .18 145) 10%,transparent)}}@media(max-width:720px){.topbar{grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center}.topbar .logo{min-width:0}.topbar .logo span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .primary-nav{display:none}.mobile-menu-toggle{appearance:none;border:1px solid var(--rule-strong);background:transparent;color:var(--ink);min-height:38px;padding:0 12px;display:inline-flex;align-items:center;gap:10px;font:inherit;font-size:10px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.mobile-menu-toggle:hover,.mobile-menu-toggle:focus-visible{border-color:var(--ink)}.mobile-menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.mobile-menu-icon{width:16px;height:10px;display:grid;align-content:space-between}.mobile-menu-icon span{display:block;height:1px;background:currentColor;transition:transform .2s ease}.mobile-menu-toggle[aria-expanded=true] .mobile-menu-icon span:first-child{transform:translateY(4.5px) rotate(35deg)}.mobile-menu-toggle[aria-expanded=true] .mobile-menu-icon span:last-child{transform:translateY(-4.5px) rotate(-35deg)}.topbar .status{font-size:10px}.topbar .status span:last-child{display:none}.mobile-nav{grid-column:1 / -1;border-top:1px solid var(--rule);margin-top:4px;padding-top:12px;width:100%}.mobile-nav:not([hidden]){display:grid}.mobile-nav a{min-height:44px;padding:12px 0;border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--ink)}.mobile-nav a span:first-child{font-family:var(--serif);font-size:26px;line-height:1;letter-spacing:0;text-transform:none}.mobile-nav a span:last-child{color:var(--ink-3)}.mobile-nav a.is-current span:first-child{color:var(--accent-ink)}.mobile-nav a:hover span:first-child,.mobile-nav a:focus-visible span:first-child{color:var(--accent)}.mobile-nav a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}}.section{padding:var(--pad-y) 0;border-bottom:1px solid var(--rule);position:relative}.section-head{display:grid;grid-template-columns:120px 1fr;gap:32px;margin-bottom:56px;align-items:baseline}.section-head .num{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.section-head .num b{color:var(--ink);font-weight:500}.section-head h2{font-family:var(--serif);font-weight:400;font-size:var(--t-h2);line-height:1.04;letter-spacing:-.015em;margin:0;max-width:22ch;text-wrap:pretty}.section-head h2 em{font-style:italic;color:var(--accent-ink)}@media(max-width:720px){.section-head{grid-template-columns:1fr;gap:12px;margin-bottom:36px}}.mono{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.lead{font-size:var(--t-lead);line-height:1.45;color:var(--ink-2);max-width:56ch;text-wrap:pretty}.hero{padding-top:clamp(48px,6vw,96px);padding-bottom:clamp(56px,7vw,104px);border-bottom:1px solid var(--rule)}.hero-grid{display:grid;grid-template-columns:1fr 380px;gap:64px;align-items:end}.hero h1{font-family:var(--serif);font-weight:400;font-size:var(--t-h1);line-height:.96;letter-spacing:-.025em;margin:0 0 36px;max-width:14ch;text-wrap:balance}.hero h1 em{font-style:italic;color:var(--accent-ink)}.hero h1 .cursor{display:inline-block;width:.45ch;height:.9em;margin-left:.05em;background:var(--accent);vertical-align:-.08em;animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.hero .eyebrow{display:flex;gap:16px;align-items:center;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--rule);font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.hero .eyebrow b{color:var(--ink);font-weight:500}.hero p.lead{margin:0 0 36px}.cta-row{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:-.005em;border-radius:0;border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;transition:all .18s ease}.btn:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.btn:disabled{cursor:not-allowed;opacity:.46}.btn .arrow{transition:transform .2s ease}.btn:hover .arrow{transform:translate(3px)}.btn--ghost{background:transparent;color:var(--ink)}.btn--ghost:hover{background:var(--ink);color:var(--paper)}.footer-link{appearance:none;border:0;padding:0;background:transparent;color:var(--ink-2);font:inherit;text-align:left;cursor:pointer;transition:color .15s}.footer-link:hover{color:var(--accent)}.shipping{border-top:1px solid var(--rule);padding-top:16px}.shipping .label{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:18px;display:flex;justify-content:space-between}.shipping-stack{display:flex;flex-direction:column;gap:14px}.ship-card{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:16px;padding:14px 0;border-bottom:1px dashed var(--rule);transition:padding .18s ease}.ship-card:hover{padding-left:6px;padding-right:6px}.ship-card:last-child{border-bottom:none}.ship-card .ship-copy{min-width:0}.ship-card .thumb{width:120px;height:78px;background:var(--paper-2);border:1px solid var(--rule-strong);position:relative;overflow:hidden}.ship-card .thumb:before{content:"";position:absolute;top:0;left:0;right:0;height:12px;background:var(--paper-3);border-bottom:1px solid var(--rule-strong)}.ship-card .thumb:after{content:"";position:absolute;top:4px;left:6px;width:4px;height:4px;border-radius:50%;background:var(--ink-3);box-shadow:7px 0 var(--ink-3),14px 0 var(--ink-3);opacity:.5}.ship-card .thumb .preview{position:absolute;inset:12px 0 0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:11px;letter-spacing:.04em;background:linear-gradient(135deg,var(--paper) 0%,var(--paper-2) 100%)}.ship-card .thumb img{position:absolute;inset:12px 0 0;width:100%;height:calc(100% - 12px);object-fit:cover;object-position:top center;filter:saturate(.86) contrast(.96)}.ship-card .thumb--image{background:var(--paper-3)}.ship-card .thumb .preview--fallback{font-family:var(--mono);font-size:9px;letter-spacing:.08em}.ship-card .name{font-size:15px;font-weight:500;color:var(--ink)}.ship-card .meta{font-family:var(--mono);font-size:10px;line-height:1.35;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);max-width:100%;overflow-wrap:normal}.ship-card .go{font-family:var(--mono);font-size:11px;color:var(--ink-3);transition:color .15s,transform .15s}.ship-card:hover .go{color:var(--accent);transform:translate(4px)}@media(max-width:980px){.hero-grid{grid-template-columns:1fr}.hero h1{max-width:18ch}}.cap-index{display:grid;grid-template-columns:120px 1fr;gap:32px}.cap-index .index-col{display:flex;flex-direction:column;gap:0}.cap-row{display:grid;grid-template-columns:64px minmax(260px,1.2fr) 2fr 1fr;gap:24px;padding:28px 0;border-top:1px solid var(--rule);align-items:start;transition:padding .18s ease,background .18s ease;position:relative}.cap-row:last-child{border-bottom:1px solid var(--rule)}.cap-row:hover{padding-left:12px}.cap-row:hover .cap-arrow{transform:translate(0);opacity:1}.cap-row .cap-num{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.08em;color:var(--ink-3);padding-top:6px}.cap-row h3{font-family:var(--serif);font-weight:400;font-size:var(--t-h3);line-height:1.1;letter-spacing:-.01em;margin:0}.cap-row .desc{font-size:16px;line-height:1.5;color:var(--ink-2);margin:0;text-wrap:pretty}.cap-row .stack{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-3);text-transform:uppercase;text-align:right;line-height:1.7}.cap-row .stack span{display:inline-block;margin:0 0 2px 8px;border-bottom:1px dotted var(--rule-strong);padding-bottom:1px}.cap-arrow{position:absolute;right:0;top:28px;font-family:var(--mono);font-size:14px;color:var(--accent);opacity:0;transform:translate(-8px);transition:all .2s ease}@media(max-width:980px){.cap-index{grid-template-columns:1fr}.cap-row{grid-template-columns:1fr;gap:8px}.cap-row .stack{text-align:left;margin-top:8px}.cap-row .stack span{margin:0 8px 2px 0}}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}.work-card{display:flex;flex-direction:column;gap:18px;text-decoration:none;color:inherit}.browser{position:relative;background:var(--paper-2);border:1px solid var(--rule-strong);border-radius:6px;overflow:hidden;aspect-ratio:16 / 11;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}.work-card:hover .browser{transform:translateY(-4px);box-shadow:0 18px 36px -22px color-mix(in oklch,var(--ink) 40%,transparent)}.browser-chrome{height:28px;background:var(--paper-3);border-bottom:1px solid var(--rule-strong);display:flex;align-items:center;padding:0 12px;gap:6px}.browser-chrome .dot{width:8px;height:8px;border-radius:50%;background:var(--rule-strong)}.browser-chrome .url{flex:1;font-family:var(--mono);font-size:10px;color:var(--ink-3);text-align:center;letter-spacing:.04em;padding:3px 10px;background:var(--paper);border-radius:4px;margin:0 24px 0 12px;border:1px solid var(--rule)}.browser-body{position:absolute;inset:28px 0 0;overflow:hidden}.work-meta{display:grid;grid-template-columns:1fr auto;gap:12px 24px;align-items:baseline}.work-meta .name{font-family:var(--serif);font-size:28px;font-weight:400;letter-spacing:-.01em}.work-meta .live{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:6px}.work-meta .live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}.work-meta .desc{grid-column:1 / -1;color:var(--ink-2);margin:0;text-wrap:pretty;max-width:52ch}.work-meta .tags{grid-column:1 / -1;font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;color:var(--ink-3);text-transform:uppercase;line-height:1.6}.work-meta .tags span+span:before{content:"·";display:inline-block;padding:0 8px;color:var(--ink-3)}@media(max-width:880px){.work-grid{grid-template-columns:1fr;gap:40px}}.howwework{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.howwework .col h3{font-family:var(--serif);font-size:32px;font-weight:400;line-height:1.1;margin:0 0 18px;letter-spacing:-.015em}.howwework .col p{color:var(--ink-2);margin:0 0 16px;text-wrap:pretty}.principle-list{list-style:none;padding:0;margin:24px 0 0;border-top:1px solid var(--rule)}.principle-list li{display:grid;grid-template-columns:36px 1fr;padding:14px 0;border-bottom:1px solid var(--rule);gap:16px;align-items:baseline}.principle-list li .k{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.08em;color:var(--accent)}.principle-list li .v{color:var(--ink);font-size:16px}@media(max-width:880px){.howwework{grid-template-columns:1fr;gap:48px}}.creds{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:8px}.cred{border-top:1px solid var(--rule);padding-top:18px;display:flex;flex-direction:column;gap:6px}.cred .k{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.cred .v{font-family:var(--serif);font-size:22px;line-height:1.15;letter-spacing:-.01em}@media(max-width:880px){.creds{grid-template-columns:1fr 1fr}}.insights-list{display:flex;flex-direction:column;border-top:1px solid var(--rule)}.insight{display:grid;grid-template-columns:140px 96px 1fr auto;gap:28px;padding:22px 0;border-bottom:1px solid var(--rule);align-items:baseline;transition:padding .18s ease;cursor:pointer}.insight:hover{padding-left:12px}.insight:hover .insight-arrow{transform:translate(0);opacity:1}.insight .date{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.06em;color:var(--ink-3)}.insight .kind{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.insight .title{font-family:var(--serif);font-size:22px;line-height:1.2;letter-spacing:-.01em;color:var(--ink)}.insight-arrow{font-family:var(--mono);font-size:14px;color:var(--accent);opacity:.4;transform:translate(-6px);transition:all .2s}@media(max-width:880px){.insight{grid-template-columns:1fr;gap:4px;padding:18px 0}.insight .title{font-size:18px}}.bigcta{padding:var(--pad-y) 0;border-bottom:1px solid var(--rule)}.bigcta h2{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5.4vw,88px);line-height:1;letter-spacing:-.02em;margin:0 0 40px;max-width:18ch;text-wrap:balance}.bigcta h2 em{font-style:italic;color:var(--accent-ink)}.bigcta .row{display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap}.bigcta .row .lead{margin:0}.colophon{padding:56px 0 32px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;font-size:14px}.colophon .colo-brand{display:flex;flex-direction:column;gap:14px}.colophon .colo-brand .logo{font-family:var(--serif);font-size:22px;display:flex;align-items:center;gap:10px}.colophon .colo-brand .logo .mark{width:38px;height:38px;flex:none}.colophon .colo-brand .logo .mark img{display:block;width:100%;height:100%;object-fit:contain}.colophon .colo-brand p{color:var(--ink-3);max-width:36ch;margin:0}.colophon h4{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin:0 0 14px}.colophon ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.colophon ul a{color:var(--ink-2);transition:color .15s}.colophon ul a:hover{color:var(--accent)}.colo-baseline{border-top:1px solid var(--rule);padding:18px 0 36px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);flex-wrap:wrap;gap:12px}@media(max-width:880px){.colophon{grid-template-columns:1fr 1fr}}@media(max-width:720px){.colophon{grid-template-columns:1fr}}.cookie-banner{position:fixed;right:auto;bottom:24px;left:var(--pad-x);z-index:80;display:grid;grid-template-columns:1fr;gap:18px;width:min(520px,calc(100vw - (var(--pad-x) * 2)));padding:24px;border:1px solid var(--ink);background:color-mix(in oklch,var(--paper) 97%,white);box-shadow:0 24px 70px -42px color-mix(in oklch,var(--ink) 62%,transparent)}.cookie-banner[hidden],.cookie-modal[hidden]{display:none}.cookie-kicker{margin:0 0 8px;font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.cookie-banner h2,.cookie-dialog h2{margin:0;font-family:var(--serif);font-size:32px;font-weight:400;line-height:1.05}.cookie-banner h2{color:var(--accent-ink)}.cookie-banner p{margin:10px 0 0;color:var(--ink-2)}.cookie-actions,.cookie-dialog-actions{display:flex;gap:10px;flex-wrap:wrap}.cookie-actions .btn{justify-content:center;min-width:0;flex:1 1 136px}.cookie-actions .cookie-accept{border-color:var(--accent-ink);background:var(--accent-ink);color:var(--paper)}.cookie-actions .cookie-accept:hover{border-color:var(--accent);background:var(--accent)}.cookie-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:var(--pad-x);background:color-mix(in oklch,var(--ink) 36%,transparent)}.has-cookie-modal{overflow:hidden}.cookie-dialog{width:min(680px,100%);max-height:min(760px,100%);overflow:auto;border:1px solid var(--ink);background:var(--paper);box-shadow:0 28px 80px -42px color-mix(in oklch,var(--ink) 70%,transparent)}.cookie-dialog-head{display:flex;justify-content:space-between;gap:24px;padding:24px;border-bottom:1px solid var(--rule)}.cookie-close{width:36px;height:36px;border:1px solid var(--rule-strong);background:transparent;color:var(--ink);font-size:26px;line-height:1;cursor:pointer}.cookie-setting{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:20px 24px;border-bottom:1px solid var(--rule)}.cookie-setting h3{margin:0 0 4px;font-size:17px;line-height:1.2}.cookie-setting p{margin:0;color:var(--ink-3)}.cookie-setting input{width:22px;height:22px;accent-color:var(--accent)}.cookie-status{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.cookie-dialog-actions{justify-content:flex-end;padding:24px}@media(max-width:760px){.cookie-banner{right:14px;bottom:14px;left:14px;width:auto;padding:18px}.cookie-actions,.cookie-dialog-actions{display:grid;grid-template-columns:1fr}.cookie-actions .btn,.cookie-dialog-actions .btn{width:100%}.cookie-setting{grid-template-columns:1fr;gap:12px}}.work-list{display:flex;flex-direction:column;border-top:1px solid var(--rule)}.work-list-item{display:grid;grid-template-columns:64px 1.3fr 2fr 1fr 100px;gap:28px;padding:28px 0;align-items:center;border-bottom:1px solid var(--rule);transition:padding .18s}.work-list-item:hover{padding-left:10px}.work-list--with-thumbs .work-list-item{grid-template-columns:64px 130px minmax(150px,.82fr) minmax(340px,2.35fr) minmax(250px,1.35fr) 100px}.work-list-item .num{font-family:var(--mono);font-size:var(--t-mono);color:var(--ink-3)}.work-list-item .work-thumb{width:130px;height:84px;background:var(--paper-3);border:1px solid var(--rule-strong);position:relative;overflow:hidden}.work-list-item .work-thumb:before{content:"";position:absolute;top:0;left:0;right:0;height:13px;background:var(--paper-3);border-bottom:1px solid var(--rule-strong);z-index:1}.work-list-item .work-thumb:after{content:"";position:absolute;top:4px;left:7px;width:4px;height:4px;border-radius:50%;background:var(--ink-3);box-shadow:8px 0 var(--ink-3),16px 0 var(--ink-3);opacity:.5;z-index:2}.work-list-item .work-thumb img{position:absolute;inset:13px 0 0;width:100%;height:calc(100% - 13px);object-fit:cover;object-position:top center;filter:saturate(.86) contrast(.96)}.work-list-item .name{font-family:var(--serif);font-size:26px;letter-spacing:-.01em}.work-list-item .desc{color:var(--ink-2);font-size:15px}.work-list-item .tags{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.work-list-item .arrow{font-family:var(--mono);font-size:12px;color:var(--accent);text-align:right}@media(max-width:880px){.work-list-item{grid-template-columns:1fr;gap:6px;padding:22px 0}.work-list--with-thumbs .work-list-item{grid-template-columns:1fr}.work-list-item .work-thumb{width:min(180px,100%);height:112px}}body[data-work=grid] .work-list,body[data-work=list] .work-grid{display:none}.preview-notary{background:linear-gradient(180deg,transparent 0 28%,var(--paper-3) 28% 29%,transparent 29% 100%),linear-gradient(180deg,transparent 0 38%,var(--paper-3) 38% 39%,transparent 39% 100%),linear-gradient(180deg,transparent 0 48%,var(--paper-3) 48% 49%,transparent 49% 100%),linear-gradient(180deg,transparent 0 64%,var(--accent) 64% 67%,transparent 67% 100%),linear-gradient(180deg,var(--paper-2) 0%,var(--paper-3) 100%)}.preview-notary:before{content:"Notary500";position:absolute;top:12%;left:7%;font-family:var(--serif);font-size:clamp(18px,4.4vw,56px);letter-spacing:-.02em;color:var(--ink)}.preview-notary:after{content:"Notary services · Established practice · UK";position:absolute;top:26%;left:7%;right:7%;font-family:var(--sans);font-size:clamp(8px,1.4vw,13px);color:var(--ink-3)}.preview-sparkle{background:radial-gradient(circle at 28% 38%,oklch(.85 .08 25) 0%,transparent 18%),radial-gradient(circle at 52% 38%,oklch(.78 .09 340) 0%,transparent 18%),radial-gradient(circle at 76% 38%,oklch(.82 .07 80) 0%,transparent 18%),linear-gradient(180deg,var(--paper-2) 0%,var(--paper-3) 100%)}.preview-sparkle:before{content:"Secret Sparkle";position:absolute;top:8%;left:7%;font-family:var(--serif);font-style:italic;font-size:clamp(16px,4vw,50px);letter-spacing:-.02em;color:var(--ink)}.preview-sparkle:after{content:"Handmade jewellery · Shop";position:absolute;top:70%;left:7%;font-family:var(--mono);font-size:clamp(8px,1.3vw,12px);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.thumb.preview-notary,.thumb.preview-sparkle{background:var(--paper-2)}.thumb.preview-notary .preview{color:var(--ink)}.thumb.preview-sparkle .preview{color:var(--accent-ink);font-style:italic}.system-diagram{border:1px solid var(--rule-strong);background:var(--paper-2);padding:48px 32px;position:relative;overflow:hidden}.practice-orbit{min-height:430px;position:relative;z-index:2}.system-connectors{position:absolute;inset:18px 0 22px;width:100%;height:calc(100% - 40px);overflow:visible;pointer-events:none}.system-orbit,.system-link,.system-route{fill:none;vector-effect:non-scaling-stroke}.system-orbit{stroke:color-mix(in oklch,var(--ink-3) 34%,transparent);stroke-width:1;stroke-dasharray:5 7}.system-link{display:none;stroke:color-mix(in oklch,var(--ink) 50%,transparent);stroke-width:1;transition:stroke .18s ease,stroke-width .18s ease,opacity .18s ease}.system-route{stroke:var(--accent);stroke-width:1.4;stroke-linecap:round;stroke-dasharray:1 18;opacity:.78;animation:system-route 7s linear infinite}@keyframes system-route{to{stroke-dashoffset:-152}}.system-node{background:var(--paper);border:1px solid var(--ink);color:var(--ink);display:grid;gap:3px;padding:14px 22px 16px;text-align:center;position:relative;z-index:3;min-width:230px;box-shadow:0 8px 26px -26px color-mix(in oklch,var(--ink) 45%,transparent);transition:transform .2s ease,background .2s ease,color .2s ease,opacity .18s ease,box-shadow .2s ease}.system-orbit-item{animation:system-card-orbit 200s linear infinite;animation-direction:reverse;left:50%;position:absolute;top:8%;transform:translate(-50%,-50%);z-index:5}.system-orbit-item--digital{animation-delay:0s}.system-orbit-item--ops{animation-delay:-100s}.system-orbit-item--care{animation-delay:-50s}.system-orbit-item--infra{animation-delay:-150s}.practice-orbit:has(.system-node:hover) .system-orbit-item,.practice-orbit:has(.system-node:focus-visible) .system-orbit-item{animation-play-state:paused}@keyframes system-card-orbit{0%,to{left:50%;top:8%}12.5%{left:74%;top:16%}25%{left:86%;top:50%}37.5%{left:74%;top:84%}50%{left:50%;top:92%}62.5%{left:26%;top:84%}75%{left:14%;top:50%}87.5%{left:26%;top:16%}}.system-node:hover,.system-node:focus-visible{background:var(--ink);color:var(--paper);transform:translateY(-3px);box-shadow:0 20px 38px -28px color-mix(in oklch,var(--ink) 62%,transparent)}.practice-orbit:has(.system-node:hover) .system-node:not(:hover),.practice-orbit:has(.system-node:focus-visible) .system-node:not(:focus-visible){opacity:.56}.practice-orbit:has(.system-node:hover) .system-link,.practice-orbit:has(.system-node:focus-visible) .system-link{opacity:.25}.practice-orbit:has(.system-node--digital:hover) .system-link--digital,.practice-orbit:has(.system-node--digital:focus-visible) .system-link--digital,.practice-orbit:has(.system-node--infra:hover) .system-link--infra,.practice-orbit:has(.system-node--infra:focus-visible) .system-link--infra,.practice-orbit:has(.system-node--ops:hover) .system-link--ops,.practice-orbit:has(.system-node--ops:focus-visible) .system-link--ops,.practice-orbit:has(.system-node--care:hover) .system-link--care,.practice-orbit:has(.system-node--care:focus-visible) .system-link--care{opacity:1;stroke:var(--accent);stroke-width:2}.system-node .k{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:4px}.system-node:hover .k{color:var(--paper-3)}.system-node .v{font-family:var(--serif);font-size:18px;letter-spacing:-.01em;display:block}.system-node .s{color:var(--ink-3);display:block;font-size:12px;line-height:1.3}.system-node:hover .s,.system-node:focus-visible .s{color:color-mix(in oklch,var(--paper) 76%,transparent)}.system-center{width:300px;height:300px;display:grid;place-items:center;transform:translate(-50%,-50%);position:absolute;left:50%;top:50%;z-index:4;margin:0;filter:drop-shadow(0 12px 24px color-mix(in oklch,var(--ink) 16%,transparent))}.system-center img{display:block;width:100%;height:100%;object-fit:contain}.system-meta{display:flex;justify-content:space-between;margin-top:32px;padding-top:18px;border-top:1px dashed var(--rule-strong);font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);flex-wrap:wrap;gap:12px}@media(max-width:880px){.system-diagram{padding:32px 18px}.practice-orbit{display:grid;grid-template-columns:70px 1fr;gap:16px 18px;min-height:0;padding:12px 0}.practice-orbit:before{content:"";grid-column:1;grid-row:1 / span 5;align-self:stretch;justify-self:center;width:1px;background:color-mix(in oklch,var(--ink) 46%,transparent)}.system-connectors{display:none}.system-orbit-item,.system-orbit-item--digital,.system-orbit-item--infra,.system-orbit-item--ops,.system-orbit-item--care{animation:none;left:auto;position:relative;top:auto;transform:none}.system-node,.system-node--digital,.system-node--infra,.system-node--ops,.system-node--care{grid-column:2;min-width:0;position:relative;inset:auto;width:100%;transform:none}.system-node:before{content:"";position:absolute;left:-18px;top:50%;width:18px;height:1px;background:color-mix(in oklch,var(--ink) 46%,transparent)}.system-node:hover,.system-node:focus-visible,.system-node--digital:hover,.system-node--digital:focus-visible,.system-node--infra:hover,.system-node--infra:focus-visible,.system-node--ops:hover,.system-node--ops:focus-visible,.system-node--care:hover,.system-node--care:focus-visible{transform:translateY(-2px)}.system-orbit-item--digital{grid-column:2;grid-row:1}.system-orbit-item--infra{grid-column:2;grid-row:2}.system-center{grid-column:1;grid-row:3;align-self:center;justify-self:center;position:relative;left:auto;top:auto;width:140px;height:140px;transform:none;margin:4px 0}.system-orbit-item--ops{grid-column:2;grid-row:4}.system-orbit-item--care{grid-column:2;grid-row:5}}@media(prefers-reduced-motion:reduce){.system-orbit-item,.system-route{animation:none}}.infra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.infra-card{border:1px solid var(--rule-strong);background:var(--paper-2);padding:28px 24px 24px;display:flex;flex-direction:column;gap:22px;transition:border-color .2s,transform .2s}.infra-card:hover{border-color:var(--ink);transform:translateY(-3px)}.infra-card .head{display:flex;justify-content:space-between;align-items:baseline}.infra-card .head .id{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.infra-card .head .tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.infra-card h3{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.15;letter-spacing:-.01em;margin:0;text-wrap:balance}.infra-card .desc{font-size:14.5px;color:var(--ink-2);margin:0;text-wrap:pretty;line-height:1.5}.migration{display:grid;grid-template-columns:1fr 24px 1fr;gap:8px;align-items:center;margin-top:auto;padding-top:14px;border-top:1px dashed var(--rule-strong)}.migration .chip{border:1px solid var(--ink);padding:8px 10px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;text-align:center;line-height:1.4;background:var(--paper)}.migration .chip.from{color:var(--ink-3);border-color:var(--rule-strong)}.migration .chip.to{color:var(--ink);border-color:var(--ink)}.migration .chip b{font-weight:500;display:block;font-size:10px}.migration .arrow{font-family:var(--mono);font-size:12px;color:var(--accent);text-align:center}.infra-card .stack{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);line-height:1.6}.infra-card .stack span{display:inline}.infra-card .stack span+span:before{content:"·";display:inline-block;padding:0 8px;color:var(--ink-3)}@media(max-width:880px){.infra-grid{grid-template-columns:1fr}}.article-hero{padding:clamp(60px,8vw,120px) 0 clamp(40px,5vw,64px);border-bottom:1px solid var(--rule)}.article-hero .meta{display:flex;gap:24px;font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:28px;flex-wrap:wrap}.article-hero .meta .kind{color:var(--accent)}.article-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5.4vw,80px);line-height:1.02;letter-spacing:-.022em;margin:0 0 28px;max-width:22ch;text-wrap:balance}.article-hero h1 em{font-style:italic;color:var(--accent-ink)}.article-hero .standfirst{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.4vw,28px);line-height:1.4;color:var(--ink-2);max-width:60ch;margin:0;text-wrap:pretty}.article-body{display:grid;grid-template-columns:200px minmax(0,64ch) 200px;gap:48px;padding:clamp(48px,6vw,96px) 0;max-width:none}.article-body>.col-aside{grid-column:1}.article-body>.col-prose{grid-column:2}.article-body>.col-margin{grid-column:3}.col-aside{display:flex;flex-direction:column;gap:18px;position:sticky;top:80px;align-self:start}.col-aside .label{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.col-aside .toc{list-style:none;padding:14px 0 0;margin:0;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--rule)}.col-aside .toc a{font-size:14px;color:var(--ink-2);display:flex;gap:8px}.col-aside .toc a:hover{color:var(--accent)}.col-aside .toc a .n{font-family:var(--mono);font-size:11px;color:var(--ink-3)}.col-prose{font-size:18px;line-height:1.65;color:var(--ink)}.col-prose>*+*{margin-top:1.2em}.col-prose h2{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.15;letter-spacing:-.012em;margin:2.4em 0 .6em;text-wrap:balance}.col-prose h2 .n{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-3);display:block;margin-bottom:8px;text-transform:uppercase}.col-prose h3{font-family:var(--sans);font-weight:600;font-size:18px;letter-spacing:-.005em;margin:2em 0 .4em}.col-prose p{margin:0 0 1em;text-wrap:pretty}.col-prose a{color:var(--accent-ink);border-bottom:1px solid currentColor}.col-prose strong{color:var(--ink);font-weight:600}.col-prose blockquote{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.35;border-left:2px solid var(--accent);padding:6px 0 6px 24px;margin:1.6em 0;color:var(--ink-2)}.col-prose pre{font-family:var(--mono);font-size:13px;line-height:1.55;background:var(--paper-2);border:1px solid var(--rule);padding:18px 22px;overflow-x:auto;margin:1.6em 0}.col-prose code{font-family:var(--mono);font-size:.86em;background:var(--paper-2);padding:1px 6px;border:1px solid var(--rule)}.col-prose pre code{background:none;padding:0;border:0}.col-prose ul,.col-prose ol{padding-left:0;list-style:none;margin:1em 0}.col-prose ul li,.col-prose ol li{position:relative;padding-left:32px;margin:.4em 0}.col-prose ul li:before{content:"-";font-family:var(--mono);position:absolute;left:0;color:var(--accent)}.col-prose ol{counter-reset:ol}.col-prose ol li{counter-increment:ol}.col-prose ol li:before{content:counter(ol,decimal-leading-zero);font-family:var(--mono);font-size:12px;position:absolute;left:0;top:4px;color:var(--accent);letter-spacing:.06em}.col-prose hr{border:0;border-top:1px solid var(--rule);margin:2.4em 0}.col-prose figure{margin:1.8em 0}.col-prose figure img{width:100%;display:block;border:1px solid var(--rule)}.col-prose figcaption{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-top:10px}.insight-callout,.decision-record,.related-links,.metric-strip{border:1px solid var(--rule);background:var(--paper-2)}.insight-callout{padding:18px 22px;margin:1.6em 0}.insight-callout b,.related-links b{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.insight-callout--warning{border-color:var(--accent)}.decision-record{padding:22px;margin:1.8em 0}.decision-record h3{margin-top:0}.decision-record dl{display:grid;gap:14px;margin:0}.decision-record div{display:grid;grid-template-columns:96px 1fr;gap:18px;border-top:1px solid var(--rule);padding-top:12px}.decision-record dt{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.decision-record dd{margin:0}.process-steps{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:12px 0}.metric-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:1.8em 0}.metric-strip span{padding:18px;border-right:1px solid var(--rule);font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.metric-strip span:last-child{border-right:0}.metric-strip b{display:block;font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:-.02em;color:var(--ink);text-transform:none}.related-links{padding:18px 22px;margin:1.8em 0}.related-links ul{margin-bottom:0}.contact-prompt a{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.col-margin{display:flex;flex-direction:column;gap:28px;position:sticky;top:80px;align-self:start}.col-margin .note{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-3);padding-top:12px;border-top:1px solid var(--rule);line-height:1.6}.col-margin .note b{font-weight:500;color:var(--ink-2);display:block;margin-bottom:6px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}@media(max-width:1100px){.article-body{grid-template-columns:1fr;gap:32px}.article-body>.col-aside,.article-body>.col-prose,.article-body>.col-margin{grid-column:1}.col-aside,.col-margin{position:static}.col-margin .note{border-top:1px dashed var(--rule)}}.insights-index{display:grid;grid-template-columns:1fr;border-top:1px solid var(--rule)}.insights-index .post{display:grid;grid-template-columns:140px 140px 1fr 200px 80px;gap:28px;padding:28px 0;border-bottom:1px solid var(--rule);align-items:baseline;transition:padding .18s ease,background .18s ease}.insights-index .post:hover{padding-left:14px;background:var(--paper-2)}.insights-index .post:hover .post-arrow{transform:translate(0);opacity:1}.insights-index .post .date,.insights-index .post .kind,.insights-index .post .reading-time{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.06em;color:var(--ink-3)}.insights-index .post .kind{color:var(--accent);text-transform:uppercase}.insights-index .post .title{font-family:var(--serif);font-size:26px;line-height:1.2;letter-spacing:-.012em;color:var(--ink);text-wrap:balance}.insights-index .post .reading-time{text-align:right}.insights-index .post .post-arrow{font-family:var(--mono);font-size:14px;color:var(--accent);opacity:.4;transform:translate(-6px);transition:all .2s;text-align:right}.tag-bar{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 56px}.tag{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border:1px solid var(--rule-strong);color:var(--ink-2);background:var(--paper);cursor:pointer;transition:all .15s}.tag:hover{border-color:var(--ink)}.tag.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.tag .count{margin-left:8px;color:var(--ink-3);font-size:10px}.tag.is-active .count{color:var(--paper-3)}@media(max-width:880px){.insights-index .post{grid-template-columns:1fr;gap:6px;padding:22px 0}.insights-index .post .reading-time{text-align:left}.insights-index .post .post-arrow{display:none}}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:start}.contact-form{display:flex;flex-direction:column;gap:20px}.contact-form .muted-label{color:var(--ink-3)}.contact-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:4px}.contact-actions .mono,.mono{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-3)}.contact-actions a{color:var(--accent-ink);border-bottom:1px solid currentColor}.honeypot-field{left:-100vw;position:absolute}.field{display:flex;flex-direction:column;gap:6px}.field label{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);display:flex;justify-content:space-between}.field label .req{color:var(--accent)}.field input,.field textarea,.field select{font-family:var(--sans);font-size:16px;padding:12px 14px;background:var(--paper);border:1px solid var(--rule-strong);color:var(--ink);border-radius:0;appearance:none;-webkit-appearance:none;transition:border-color .15s,background .15s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);background:var(--paper-2)}.field input[aria-invalid=true]{border-color:#c53637;background:color-mix(in oklch,oklch(.55 .18 25) 8%,var(--paper))}.field textarea{min-height:160px;resize:vertical;font-family:inherit;line-height:1.5}.field select{background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:6px 6px;background-repeat:no-repeat;padding-right:36px}.field .hint{font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.04em}.field-error{color:#c53637;font-family:var(--mono);font-size:11px;letter-spacing:.04em}.field-error:empty{display:none}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.turnstile-slot{padding:18px;border:1px dashed var(--rule-strong);background:var(--paper-2);display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.turnstile-slot .ts-mark{width:24px;height:24px;border:1px solid var(--ink-3);display:flex;align-items:center;justify-content:center;font-size:14px}.contact-aside{border-top:1px solid var(--rule);padding-top:28px;display:flex;flex-direction:column;gap:32px}.contact-aside .group{display:flex;flex-direction:column;gap:6px}.contact-aside .group .k{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.contact-aside .group .v{font-family:var(--serif);font-size:22px;letter-spacing:-.01em}.contact-aside .group .vsm{font-family:var(--sans);font-size:15px;color:var(--ink-2)}.contact-aside .group a{color:var(--accent-ink);border-bottom:1px solid currentColor}.form-warning{padding:14px 18px;border:1px solid oklch(.55 .18 25);color:#c53637;font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;margin:0}.form-success,.form-error{padding:14px 18px;border:1px solid currentColor;font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.form-success{color:#107823}.form-error{color:#c53637}@media(max-width:880px){.contact-grid{grid-template-columns:1fr;gap:40px}.field-row{grid-template-columns:1fr}}.practice{display:grid;grid-template-columns:120px 1fr 1fr;gap:48px;padding:clamp(56px,6vw,96px) 0;border-bottom:1px solid var(--rule)}.practice:first-of-type{border-top:1px solid var(--rule)}.practice .meta{display:flex;flex-direction:column;gap:14px}.practice .meta .num{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.08em;color:var(--ink-3)}.practice .meta .num b{color:var(--ink);font-weight:500}.practice .meta .tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.practice .lhs h2{font-family:var(--serif);font-weight:400;font-size:clamp(36px,4vw,56px);line-height:1.04;letter-spacing:-.018em;margin:0 0 18px;text-wrap:balance}.practice .lhs h2 em{font-style:italic;color:var(--accent-ink)}.practice .lhs .lede{font-size:18px;line-height:1.55;color:var(--ink-2);max-width:44ch;text-wrap:pretty;margin:0 0 22px}.practice .lhs .quote{font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.35;border-left:2px solid var(--accent);padding:4px 0 4px 20px;margin:0;color:var(--ink);max-width:40ch}.practice .rhs{display:flex;flex-direction:column;gap:28px}.practice .rhs h3{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:0 0 4px;padding-bottom:8px;border-bottom:1px solid var(--rule)}.practice .rhs .block ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.practice .rhs .block ul li{position:relative;padding-left:18px;font-size:15px;color:var(--ink);line-height:1.45}.practice .rhs .block ul li:before{content:"/";font-family:var(--mono);position:absolute;left:0;color:var(--accent);opacity:.7}.practice .rhs .stack{display:flex;flex-wrap:wrap;gap:4px 0;font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);line-height:1.7}.practice .rhs .stack span+span:before{content:"·";display:inline-block;padding:0 8px;color:var(--ink-3)}@media(max-width:980px){.practice{grid-template-columns:1fr;gap:28px}}.work-hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:end;padding:clamp(60px,7vw,120px) 0 clamp(40px,5vw,64px);border-bottom:1px solid var(--rule)}.work-hero-grid h1{font-family:var(--serif);font-weight:400;font-size:clamp(48px,6.6vw,104px);line-height:.98;letter-spacing:-.025em;margin:0;text-wrap:balance;max-width:14ch}.work-hero-grid h1 em{font-style:italic;color:var(--accent-ink)}.work-hero-grid .standfirst{font-size:var(--t-lead);line-height:1.45;color:var(--ink-2);max-width:44ch;margin:0;text-wrap:pretty}@media(max-width:980px){.work-hero-grid{grid-template-columns:1fr;gap:32px;align-items:start}.work-hero-grid>*{min-width:0}.work-hero-grid .standfirst{max-width:min(31ch,calc(100vw - (2 * var(--pad-x))));overflow-wrap:break-word}}.section-rule-top{border-top:1px solid var(--rule);border-bottom:0;padding-top:var(--pad-y)}.section-rule-bottom{border-bottom:1px solid var(--rule)}.privacy-hero h1{max-width:12ch}.privacy-layout{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,760px);gap:clamp(40px,7vw,96px);padding-bottom:var(--pad-y)}.privacy-toc{position:sticky;top:96px;align-self:start}.privacy-toc .num{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:28px}.privacy-toc .num b{color:var(--ink);font-weight:500}.privacy-toc h2{font-family:var(--serif);font-size:clamp(34px,3.4vw,48px);font-weight:400;line-height:1.05;letter-spacing:-.015em;margin:0 0 16px}.privacy-toc p{color:var(--ink-2);font-size:15px;line-height:1.55;margin:0 0 28px}.privacy-toc nav{display:flex;flex-direction:column;gap:10px;font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.06em;text-transform:uppercase}.privacy-toc nav a{border-bottom:1px solid var(--rule);color:var(--ink-3);padding-bottom:9px;transition:color .15s,border-color .15s}.privacy-toc nav a:hover{border-color:var(--accent);color:var(--ink)}.privacy-body{border-top:1px solid var(--rule)}.privacy-body section{border-bottom:1px solid var(--rule);padding:32px 0}.privacy-body h2{font-family:var(--serif);font-size:clamp(28px,3vw,40px);font-weight:400;letter-spacing:-.01em;line-height:1.1;margin:0 0 16px}.privacy-body p{color:var(--ink-2);margin:0;max-width:68ch;text-wrap:pretty}.privacy-body p+p{margin-top:14px}.privacy-body code{background:var(--paper-2);border:1px solid var(--rule);color:var(--ink);font-family:var(--mono);font-size:.86em;padding:2px 5px}.privacy-inline-action{color:var(--ink);font-weight:500}@media(max-width:880px){.privacy-layout{grid-template-columns:1fr}.privacy-toc{position:static}.privacy-toc nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.privacy-toc nav{grid-template-columns:1fr}}.relationship-map{border-bottom:1px solid var(--rule);padding:var(--pad-y) 0}.map-shell{border:1px solid var(--rule);background:linear-gradient(var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px);background-size:48px 48px;background-color:color-mix(in oklch,var(--paper) 86%,white)}.map-toolbar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:start;padding:18px;border-bottom:1px solid var(--rule);background:color-mix(in oklch,var(--paper) 94%,transparent)}.map-search,.map-search-group,.map-filter-groups,.map-filters{min-width:0}.map-search-group{display:flex;gap:14px;align-items:end;justify-content:flex-end;flex:0 0 clamp(230px,24vw,320px);margin-left:auto;padding-top:65px}.map-search{display:grid;gap:2px;flex:1 1 150px}.map-search span,.map-filters legend{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.map-search input{width:100%;border:1px solid var(--rule-strong);background:var(--paper);color:var(--ink);font:inherit;height:32px;min-height:32px;padding:6px 12px}.map-filter-groups{display:grid;grid-template-columns:1fr;gap:14px;align-items:start;flex:1 1 620px;max-width:720px}.map-filters{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.map-filters legend{width:100%;margin-bottom:2px}.map-filters label{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--rule);background:var(--paper);min-height:32px;padding:6px 9px;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);cursor:pointer}.map-filters input{accent-color:var(--accent)}.map-reset{border:1px solid var(--ink);background:var(--ink);color:var(--paper);min-height:32px;padding:6px 16px;flex:0 0 auto;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.map-stage{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:560px}.map-svg{width:100%;height:clamp(480px,62vw,720px);display:block;touch-action:none;cursor:grab}.map-svg:active{cursor:grabbing}.graph-link{stroke:color-mix(in oklch,var(--ink-3) 36%,transparent);stroke-width:1}.graph-link--practice-service{stroke-width:2}.graph-link.is-active{stroke:var(--accent);stroke-width:1.6}.graph-link--practice-service.is-active{stroke-width:2.6}.graph-node{cursor:pointer}.graph-node circle{fill:var(--paper);stroke:var(--ink);stroke-width:1.2;transition:fill .16s ease,stroke .16s ease,stroke-width .16s ease}.graph-node text{fill:var(--ink);font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-anchor:middle;paint-order:stroke;stroke:var(--paper);stroke-width:4px;stroke-linejoin:round;pointer-events:none}.graph-node--practice circle{fill:var(--ink);stroke:var(--ink)}.graph-node--practice text{fill:var(--ink);font-size:11px;font-weight:500}.graph-node--work circle{fill:color-mix(in oklch,oklch(.68 .16 35) 24%,var(--paper));stroke:#963118}.graph-node--service circle{fill:color-mix(in oklch,oklch(.62 .14 178) 26%,var(--paper));stroke:oklch(.42 .1 178)}.graph-node--technology circle{fill:color-mix(in oklch,oklch(.56 .17 275) 24%,var(--paper));stroke:#343996}.graph-node--credential circle{fill:color-mix(in oklch,oklch(.62 .12 95) 24%,var(--paper));stroke:oklch(.48 .1 85)}.graph-node--principle circle{fill:color-mix(in oklch,oklch(.55 .05 145) 24%,var(--paper));stroke:#3a4e3a}.graph-node.is-active circle{fill:var(--accent);stroke:var(--ink);stroke-width:2.4}.graph-node.is-related circle{stroke-width:2}.map-detail{border-left:1px solid var(--rule);background:color-mix(in oklch,var(--paper) 94%,transparent);padding:22px;align-self:stretch;display:flex;flex-direction:column;gap:12px}.map-detail .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.map-detail strong{font-family:var(--serif);font-size:28px;line-height:1.05;font-weight:400}.map-detail .v{color:var(--ink-2);font-size:15px;line-height:1.45}.map-detail ul{list-style:none;padding:14px 0 0;margin:0;display:grid;gap:8px;border-top:1px solid var(--rule)}.map-detail li{display:grid;gap:2px;font-size:14px;line-height:1.3}.map-detail li span{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.map-detail a{width:fit-content;border-bottom:1px solid currentColor;color:var(--accent-ink);font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.map-status{margin:0;padding:12px 18px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.map-fallback{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-top:36px}.map-fallback h3{margin:0 0 10px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.map-fallback ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.map-fallback li{display:grid;gap:2px;border-top:1px solid var(--rule);padding-top:10px}.map-fallback a,.map-fallback li>span:first-child{font-family:var(--serif);font-size:22px;line-height:1.1}.map-fallback li span:last-child{color:var(--ink-2);font-size:14px;line-height:1.4}@media(min-width:721px)and (max-width:1120px){.topbar{grid-template-columns:1fr;justify-items:start;gap:12px}.topbar .primary-nav{flex-wrap:wrap;justify-content:start;gap:16px 24px}.topbar .status{justify-self:start}.map-toolbar,.map-stage,.map-fallback{grid-template-columns:1fr}.map-search-group{justify-content:flex-start;margin-left:0;flex-basis:100%}.map-detail{border-left:0;border-top:1px solid var(--rule)}}@media(max-width:720px){.map-shell{display:none}.map-fallback{padding-top:0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
