.article-page,.insights-page{--paper:#fafaf8;--paper-2:#f0f0ed;--ink:#000000;--ink-2:#1c1c1c;--mute:#5f5f5c;--line:#d8d8d4;--line-dk:#2a2a32;--sky:oklch(88% 0.040 240);--green:oklch(88% 0.040 150);--lemon:oklch(88% 0.040 95);--blush:oklch(88% 0.040 25);--lavender:oklch(88% 0.040 305);--stone:oklch(88% 0.012 80);--butter:var(--lemon);--mint:var(--green);--peach:var(--blush);--lilac:var(--lavender);--accent:var(--blush);--fs-mono-lbl:11px;--fs-body-sm:14px;--fs-body:16px;--fs-body-lg:17px;--fs-lede:22px;--fs-h4:22px;--fs-h3:28px;--fs-section:clamp(36px,5vw,72px);--fs-display:clamp(56px,9vw,144px);--lh-tight:0.95;--lh-snug:1.15;--lh-body:1.55;--lh-loose:1.6;--ls-display:-0.025em;--ls-section:-0.020em;--ls-emph:-0.035em;--ls-body:-0.005em;--ls-mono:0.08em;--fw-body:400;--fw-emph:600;--fw-strong:700;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:128px;--r-sm:8px;--r-md:14px;--r-lg:18px;--r-xl:24px;--r-pill:999px;--sh-lift:0 40px 80px -40px rgba(0,0,0,0.20);--sh-card:0 2px 8px rgba(0,0,0,0.04)}.mono-lbl{font-family:var(--mono);font-size:var(--fs-mono-lbl);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--mute)}.mono-lbl b{color:var(--ink);font-weight:500}.mono-lbl--dot:before{content:"";width:8px;height:8px;margin-right:10px;vertical-align:1px}.circle-dot,.mono-lbl--dot:before{display:inline-block;border-radius:50%;background:var(--accent)}.circle-dot{vertical-align:baseline;width:.55em;height:.55em;margin:0 .05em .05em 0;transform:translateY(.02em)}.hl-butter{position:relative;display:inline-block;padding:0 .1em}.hl-butter:before{content:"";position:absolute;inset:.15em -.05em .1em -.05em;background:var(--butter);z-index:-1;transform:skew(-4deg)}em{font-style:normal;font-weight:var(--fw-emph);letter-spacing:var(--ls-emph)}.body em,blockquote em,dd em,li em,p em{font-style:italic;font-weight:inherit;letter-spacing:inherit}::selection{background:var(--ink);color:var(--paper)}.col{max-width:760px;margin:0 auto;padding:0 40px}#progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--accent);z-index:80;transition:width .1s linear}.crumb{padding:28px 0 0;flex-wrap:wrap}.crumb .here{color:var(--ink-2)}.art-head{padding-top:40px;padding-bottom:36px}.art-head .eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:var(--fs-mono-lbl);letter-spacing:var(--ls-mono);color:var(--brand-blue);text-transform:uppercase;margin-bottom:var(--sp-5)}.art-head h1{font-family:var(--sans);font-weight:var(--fw-strong);font-size:var(--fs-page-h1);line-height:var(--lh-snug);letter-spacing:var(--ls-display);margin:0;text-wrap:balance;max-width:900px}.art-head h1 em{font-style:normal;font-weight:600;letter-spacing:-.045em}.art-head .dek{margin-top:var(--sp-5);font-family:var(--serif);font-size:var(--fs-dek);line-height:var(--lh-body);color:var(--ink-2);max-width:680px;text-wrap:pretty}.art-head .byline{margin-top:32px;display:flex;align-items:center;gap:14px;padding-top:24px;border-top:1px solid var(--line);flex-wrap:wrap}.art-head .byline .avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--lavender);flex:none}.art-head .byline .avatar img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05)}.art-head .byline .who{font-size:14px;font-weight:600;letter-spacing:-.01em}.art-head .byline .meta{font-family:var(--mono);font-size:11px;color:var(--mute);letter-spacing:.04em;text-transform:uppercase;margin-top:2px}.art-head .byline .share{margin-left:auto;display:flex;gap:8px}.art-head .byline .share a{width:38px;height:38px;border:1px solid var(--line);border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--ink-2);transition:all .15s ease}.art-head .byline .share a:hover{border-color:var(--ink);color:var(--ink)}.art-head .byline .share svg{width:15px;height:15px}.browser{margin:8px 0 64px;border:1px solid var(--ink);border-radius:16px;overflow:hidden;box-shadow:var(--sh-lift);background:#fff}.browser .bar{display:flex;align-items:center;gap:8px;padding:13px 16px;background:var(--paper-2);border-bottom:1px solid var(--line)}.browser .bar .dot{width:11px;height:11px;border-radius:50%;background:#c9c9c4}.browser .bar .url{margin-left:12px;flex:1;max-width:440px;height:28px;border-radius:999px;background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;padding:0 14px;font-family:var(--mono);font-size:11px;color:var(--mute);letter-spacing:.02em}.browser .shot{display:block;width:100%}.ins-prose{padding-bottom:40px}.ins-prose p{font-size:17.5px;line-height:1.7;color:var(--ink-2);margin:0 0 22px}.ins-prose p strong,.ins-prose strong{color:var(--ink);font-weight:600}.ins-prose p a{color:var(--ink);border-bottom:1px solid var(--accent);padding-bottom:1px}.ins-prose p a:hover{background:var(--blush)}.ins-prose h2{font-family:var(--sans);font-weight:600;font-size:clamp(26px,3vw,34px);line-height:1.12;letter-spacing:-.03em;margin:56px 0 20px;text-wrap:balance;color:var(--ink)}.ins-prose code{font-family:var(--mono);font-size:.86em;background:var(--paper-2);border:1px solid var(--line);border-radius:5px;padding:1px 6px;color:var(--ink)}.pull{margin:44px 0;padding:4px 0 4px 28px;border-left:3px solid var(--accent)}.pull p{font-family:var(--sans);font-weight:400;font-size:clamp(24px,2.6vw,30px);line-height:1.25;letter-spacing:-.025em;color:var(--ink);margin:0}.pull p em{font-style:normal;font-weight:600}.code{margin:32px 0;border:1px solid var(--ink);border-radius:12px;overflow:hidden;background:#0c0c0d}.code .bar{display:flex;align-items:center;gap:7px;padding:12px 15px;border-bottom:1px solid #232325}.code .bar .dot{width:10px;height:10px;border-radius:50%;background:#3a3a3d}.code .bar .title{margin-left:8px;font-family:var(--mono);font-size:11px;color:#6a6a6e;letter-spacing:.04em}.code pre{margin:0;padding:20px;font-family:var(--mono);font-size:12.5px;line-height:1.85;color:#d8d8d4;overflow-x:auto;white-space:pre}.code .c{color:#6a6a6e}.code .p{color:oklch(80% .1 150)}.code .f{color:oklch(80% .09 240)}.cta-card{margin:48px 0;border:1px solid var(--ink);border-radius:16px;padding:28px 30px;display:flex;align-items:center;gap:24px;justify-content:space-between;flex-wrap:wrap;background:var(--paper)}.cta-card .t{font-family:var(--sans);font-weight:600;font-size:18px;letter-spacing:-.02em}.cta-card .t span{display:block;font-weight:400;font-size:14px;color:var(--ink-2);margin-top:4px;letter-spacing:0}.endnote{margin:48px 0 0;padding-top:28px;border-top:1px solid var(--line);font-size:15px;line-height:1.6;color:var(--ink-2);font-style:italic}.endnote a{color:var(--ink);border-bottom:1px solid var(--accent)}.related{border-top:1px solid var(--line);margin-top:72px;padding:72px 0 96px}.related .h{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:32px}.related .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.rcard{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--paper-2);transition:background-color .2s ease;display:flex;flex-direction:column}.rcard:hover{background:var(--paper-3)}.rcard .cv img{filter:grayscale(.85) contrast(1.05);transition:transform .45s cubic-bezier(.2,.6,.2,1),filter .45s ease}.rcard:hover .cv img{transform:scale(1.045);filter:grayscale(.25) contrast(1.05)}.rcard .cv{aspect-ratio:16/10;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.rcard:first-child .cv{background:var(--sky)}.rcard:nth-child(2) .cv{background:var(--lavender)}.rcard:nth-child(3) .cv{background:var(--lemon)}.rcard .cv .g{position:absolute;left:14px;bottom:12px;font-family:var(--mono);font-size:10px;color:var(--ink);opacity:.5;letter-spacing:.06em;text-transform:uppercase}.rcard .b{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}.rcard .b .m{font-family:var(--mono);font-size:10.5px;color:var(--mute);letter-spacing:.06em;text-transform:uppercase}.rcard .b h4{font-family:var(--sans);font-weight:600;font-size:17px;line-height:1.2;letter-spacing:-.02em;margin:10px 0 0}.rcard .b .read{margin:auto -20px -22px;padding:14px 20px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink)}@media (max-width:980px){.related .grid{grid-template-columns:1fr}nav.top ul{display:none}}.art-cover{max-width:760px;margin:8px auto 56px;padding:0 40px}.art-cover img{width:100%;height:auto;border-radius:16px;border:1px solid var(--line);display:block;background:var(--paper-2)}.ins-prose a{color:var(--ink);text-decoration:none!important;border-bottom:1px solid var(--accent);padding-bottom:1px}.ins-prose a:hover{background:var(--blush)}.ins-prose h3{font-family:var(--sans);font-weight:600;font-size:22px;line-height:1.2;letter-spacing:-.02em;margin:40px 0 14px;color:var(--ink)}.ins-prose ol,.ins-prose ul{margin:0 0 22px;padding-left:24px;color:var(--ink-2);font-size:17.5px;line-height:1.7}.ins-prose li{margin:6px 0}.ins-prose blockquote{margin:32px 0;padding-left:24px;border-left:3px solid var(--accent);color:var(--ink);font-size:20px;line-height:1.4}.ins-prose hr{border:none;border-top:1px solid var(--line);margin:44px 0}.ins-prose pre{margin:28px 0;padding:20px;background:#0c0c0d;color:#d8d8d4;border:1px solid var(--ink);border-radius:12px;overflow-x:auto;font-family:var(--mono);font-size:13px;line-height:1.8}.ins-prose pre code{background:none;border:none;padding:0;color:inherit;font-size:inherit}.ins-prose figure{margin:32px 0}.ins-prose table{width:100%;border-collapse:collapse;display:block;overflow-x:auto;margin:28px 0;font-size:13.5px;line-height:1.5}.ins-prose thead th{text-align:left;font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);padding:11px 14px;white-space:nowrap;vertical-align:bottom}.ins-prose tbody td{border-bottom:1px solid var(--line);padding:11px 14px;color:var(--ink-2);vertical-align:top}.ins-prose tbody td:first-child{color:var(--ink);font-weight:600}.ins-prose table code{font-size:.82em;padding:1px 5px}nav.top{position:sticky;top:0;z-index:60;background:rgba(250,250,248,.82);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);border-bottom:1px solid var(--line)}nav.top .inner{display:flex;align-items:center;justify-content:space-between;padding:18px 40px;max-width:1280px;margin:0 auto}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:700;letter-spacing:-.025em;font-size:20px}.brand svg{width:18px;height:18px;flex:none}nav.top ul{list-style:none;display:flex;gap:28px;padding:0;margin:0;font-size:14px;color:var(--ink-2)}nav.top ul a:hover{color:var(--ink)}nav.top ul a.active{color:var(--ink);font-weight:600}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;font-size:14px;font-weight:500;font-family:var(--sans);border:1px solid var(--ink);background:transparent;color:var(--ink);transition:all .18s ease;cursor:pointer}.btn-primary,.btn:hover{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--accent);color:var(--ink);border-color:var(--accent)}.btn svg{width:14px;height:14px}.crumb{padding:28px 0 12px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);display:flex;align-items:center;gap:10px}.crumb a:hover{color:var(--ink)}.crumb .sep{color:var(--line)}.page-head{padding-top:32px;padding-bottom:48px}.page-head .eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:var(--fs-mono-lbl);letter-spacing:.1em;color:var(--brand-blue);text-transform:uppercase;margin-bottom:var(--sp-4)}.page-head h1{font-family:var(--sans);font-weight:700;font-size:var(--fs-page-h1);line-height:var(--lh-snug);letter-spacing:var(--ls-display);margin:0;text-wrap:balance;display:flex;align-items:center;flex-wrap:wrap}.page-head .dek{margin-top:var(--sp-5);font-family:var(--serif);font-size:var(--fs-dek);line-height:var(--lh-body);color:var(--ink-2);max-width:640px;text-wrap:pretty}.filter-bar{align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:56px}.chips,.filter-bar{display:flex;flex-wrap:wrap}.chips{gap:6px}.chip{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:7px 12px;border-radius:999px;background:transparent;border:1px solid var(--line);color:var(--ink-2);cursor:pointer;transition:all .15s ease;user-select:none}.chip:hover{color:var(--ink);border-color:var(--ink)}.chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chip .cnt{margin-left:6px;opacity:.5}.count-lbl{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}.featured{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin-bottom:var(--sp-7);transition:background-color var(--duration-base) var(--ease-standard)}.featured .cover,.featured:hover{background:var(--paper-2)}.featured .cover{position:relative;min-height:340px;overflow:hidden}.featured .cover .mono-glyph{left:var(--sp-6);bottom:var(--sp-5);font-size:var(--fs-body-sm);color:var(--mute)}.featured .cover .badge,.featured .cover .mono-glyph{position:absolute;font-family:var(--mono);letter-spacing:var(--ls-mono);text-transform:uppercase}.featured .cover .badge{left:var(--sp-5);top:var(--sp-5);font-size:var(--fs-mono-lbl);background:var(--ink);color:var(--paper);padding:6px 12px;border-radius:var(--r-pill)}.featured .body{padding:var(--sp-7);display:flex;flex-direction:column;justify-content:center}.featured .body .meta{font-family:var(--mono);font-size:var(--fs-mono-lbl);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--mute);display:flex;gap:var(--sp-3);align-items:center}.featured .body h2{font-family:var(--sans);font-weight:var(--fw-emph);font-size:var(--fs-h1);line-height:var(--lh-snug);letter-spacing:var(--ls-section);margin:var(--sp-4) 0 0;text-wrap:balance}.featured .body h2 em{font-style:normal;font-weight:var(--fw-strong)}.featured .body p{font-family:var(--serif);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink-2);margin:var(--sp-3) 0 0}.featured .body .tags{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-4)}.featured .body .read{margin-top:var(--sp-5);font-family:var(--mono);font-size:var(--fs-body-sm);letter-spacing:var(--ls-mono);color:var(--ink);display:flex;align-items:center;gap:var(--sp-2)}.list{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5)}.post{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:background-color var(--duration-base) var(--ease-standard)}.post .thumb,.post:hover{background:var(--paper-2)}.post .thumb{aspect-ratio:3/2;overflow:hidden;position:relative}.post .thumb .g{position:absolute;left:var(--sp-3);bottom:var(--sp-3);font-family:var(--mono);font-size:var(--fs-mono-lbl);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--mute)}.post .main{padding:var(--sp-5);display:flex;flex-direction:column;flex:1}.post .date{font-family:var(--mono);font-size:var(--fs-mono-lbl);color:var(--mute);letter-spacing:var(--ls-mono);text-transform:uppercase;margin-bottom:var(--sp-3)}.post .main h3{font-family:var(--sans);font-weight:var(--fw-emph);font-size:var(--fs-body-lg);line-height:1.35;letter-spacing:var(--ls-body);margin:0 0 10px;text-wrap:balance}.post .main h3 em{font-style:normal;font-weight:var(--fw-strong)}.post .main p{font-family:var(--sans);font-size:var(--fs-body-sm);line-height:var(--lh-body);color:var(--text-muted);margin:0 0 var(--sp-3)}.post .main .tags{margin-top:auto}.art-head .tags,.post .main .tags{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.art-head .tags{margin-top:var(--sp-5)}.art-head .tags span,.featured .body .tags span,.post .main .tags span{display:inline-flex;align-items:center;font-family:var(--sans);font-size:var(--fs-body-sm);padding:4px 10px;border-radius:var(--r-pill);border:1px solid var(--border-default);color:var(--text-secondary)}footer.site{padding:48px 0 56px;border-top:1px solid var(--line);margin-top:88px}footer.site .inner{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:baseline}footer.site .copy{font-size:13px;color:var(--mute)}footer.site ul{list-style:none;display:flex;gap:24px;padding:0;margin:0;font-size:13px;color:var(--ink-2)}@media (max-width:980px){.featured{grid-template-columns:1fr}.featured .cover{min-height:220px}.list{grid-template-columns:repeat(2,1fr)}nav.top ul{display:none}}@media (max-width:640px){.list{grid-template-columns:1fr}}