: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:14px;height:14px;background:var(--accent);border-radius:2px;display:inline-block;transform:rotate(45deg)}.topbar nav{display:flex;gap:28px;justify-content:center}.topbar nav a{color:var(--ink-2);position:relative;padding:4px 0;transition:color .2s ease}.topbar nav a:hover{color:var(--ink)}.topbar nav a.is-current{color:var(--ink)}.topbar nav a.is-current:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--accent)}.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:1fr auto;gap:14px}.topbar nav{display:none}.topbar .status{font-size:10px}.topbar .status span:last-child{display:none}}.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)}.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 .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 .name{font-size:15px;font-weight:500;color:var(--ink)}.ship-card .meta{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.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:14px;height:14px;background:var(--accent);border-radius:2px;transform:rotate(45deg)}.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}}.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-item .num{font-family:var(--mono);font-size:var(--t-mono);color:var(--ink-3)}.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}}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:repeating-linear-gradient(0deg,transparent 0 23px,var(--rule) 23px 24px),repeating-linear-gradient(90deg,transparent 0 23px,var(--rule) 23px 24px),var(--paper-2);background-blend-mode:multiply;padding:56px 32px;position:relative;overflow:hidden}.system-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto auto;align-items:center;justify-items:center;gap:0;position:relative;z-index:2}.system-node{background:var(--paper);border:1px solid var(--ink);padding:14px 22px;text-align:center;position:relative;z-index:3;transition:transform .2s ease,background .2s ease;min-width:200px}.system-node:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}.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-center{width:56px;height:56px;background:var(--accent);transform:rotate(45deg);position:relative;z-index:4}.system-center:after{content:"BFW";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--paper);transform:rotate(-45deg)}.system-line{width:100%;height:1px;background:var(--ink);position:relative}.system-line.v{width:1px;height:100%;min-height:36px}.system-cell{width:100%;height:100%;display:flex;align-items:center;justify-content:center;min-height:36px;position:relative}.system-cell.line-h:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--ink)}.system-cell.line-v:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--ink)}.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}.system-grid{grid-template-columns:1fr;gap:14px}.system-node{min-width:0;width:100%}.system-cell{display:none}.system-center{width:38px;height:38px;margin:6px auto}}.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}.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 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-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}.currently-open{display:flex;align-items:center;gap:10px}.currently-open .dot{width:8px;height:8px;border-radius:50%;background:#45ba50;box-shadow:0 0 0 3px color-mix(in oklch,oklch(.7 .18 145) 30%,transparent)}.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)}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
