@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-latin-var.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#212529;--muted:#6b6b6b;--bg:#fff;--surface:#f5f5f5;--border:#ebebeb;--accent:#07c;--ink-rgb:33, 37, 41;--nav-bg:#ffffffdb;--device-bezel:#212529;--shadow-card:0 10px 28px #2125290f;--shadow-device:0 24px 60px #21252938;--shadow-device-sm:0 18px 40px #2125292e;--mark-filter:none;--logo-filter:grayscale(1);--sans:Inter, system-ui, sans-serif;--device-corner:17% / 8.4%;--radius:0;--nav-h:56px;--shell-w:1280px;--hover-dim:.8;font:16px/1.75 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark],.app--article{--ink:#f4f4f2;--muted:#9b9ba1;--bg:#0d0d0e;--surface:#18181a;--border:#2a2a2d;--accent:#4da3ff;--ink-rgb:244, 244, 242;--nav-bg:#0d0d0ee0;--device-bezel:#35353a;--shadow-card:0 10px 28px #00000080;--shadow-device:0 24px 60px #000000b8;--shadow-device-sm:0 18px 40px #0000009e;--mark-filter:invert(1);--logo-filter:grayscale(1) invert(1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{margin:0}html{scroll-behavior:smooth}#root{flex-direction:column;width:100%;min-height:100svh;display:flex}h1,h2,h3{color:var(--ink);margin:0}h1{letter-spacing:-.02em;font-size:clamp(32px,4.3vw,52px);font-weight:500;line-height:1.4}p{margin:0}a{color:var(--accent);text-decoration:none}@media (hover:hover){:where(a:hover,button:not(:disabled):hover,summary:hover,[role=button]:hover){opacity:var(--hover-dim)}}::selection{background:#0099ff2e}.app{text-align:left;flex-direction:column;min-height:100vh;display:flex}.shell{width:min(var(--shell-w), 100% - 48px);margin:0 auto}@media (hover:hover){:is(.work-tile-link:has(.work-tile-media):hover,.writing-preview-link:has(.archive-card-media):hover,.writing-card-link:has(.writing-card-thumbnail):hover,.article-next-link:has(.article-next-thumbnail):hover,.case-study-next-link:hover){opacity:1}a.work-tile-link:hover .work-tile-media,.writing-preview-link:hover .archive-card-media,.writing-card-link:hover .writing-card-thumbnail,.article-next-link:hover .article-next-thumbnail,.case-study-next-link:hover .case-study-next-thumbnail,.about-music:hover .about-now-playing{opacity:var(--hover-dim)}.archive-card-link:hover{opacity:1}.archive-card--linked:has(.archive-card-link:hover) .archive-card-media{opacity:var(--hover-dim)}.archive-card-media:has(>.archive-card-media-link:hover){opacity:var(--hover-dim)}}.site-nav{z-index:20;background:var(--nav-bg);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #0000;position:sticky;top:0}.site-nav-shell{width:min(var(--shell-w), 100% - 48px);justify-content:space-between;align-items:center;margin:0 auto;padding:12px 0;display:flex}.site-nav-brand{height:32px;color:var(--ink);align-items:center;gap:8px;font-size:16px;font-weight:600;line-height:1;display:inline-flex}.site-nav-end{align-items:center;gap:24px;display:flex}.site-nav-links{gap:28px;display:flex}.site-nav-links a{color:var(--muted);font-size:15px}.theme-toggle{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.theme-toggle svg{stroke:currentColor;stroke-width:2px;width:18px;height:18px}.theme-toggle svg circle{fill:none}.theme-toggle-half{fill:currentColor;stroke:none;transition:opacity .32s}.theme-toggle-half--end,.theme-toggle--dark .theme-toggle-half--start{opacity:0}.theme-toggle--dark .theme-toggle-half--end{opacity:1}@media (prefers-reduced-motion:reduce){.theme-toggle-half{transition:none}}.site-nav-menu-toggle{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:none}.site-nav-menu-icon{gap:5px;width:22px;display:grid}.site-nav-menu-icon span{border-radius:var(--radius);background:currentColor;height:3px;transition:transform .26s,opacity .16s;display:block}.site-nav-menu-icon span:nth-child(2){width:60%;margin-left:auto}.site-nav--menu-open .site-nav-menu-icon span:first-child{transform:translateY(8px)rotate(45deg)}.site-nav--menu-open .site-nav-menu-icon span:nth-child(2){opacity:0}.site-nav--menu-open .site-nav-menu-icon span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.site-nav-menu{z-index:19;padding:calc(var(--nav-h) + 20px) 0 40px;background:var(--bg);visibility:hidden;flex-direction:column;justify-content:space-between;transition:transform .32s cubic-bezier(.22,.61,.36,1),visibility 0s linear .32s;display:none;position:fixed;inset:0;transform:translateY(-100%)}.site-nav-menu.is-open{visibility:visible;transition:transform .32s cubic-bezier(.22,.61,.36,1),visibility;transform:translateY(0)}.site-nav-menu-links{width:min(var(--shell-w), 100% - 48px);flex-direction:column;margin:0 auto;display:flex;overflow-y:auto}.site-nav-menu-links a{color:var(--ink);letter-spacing:-.03em;padding:14px 0;font-size:clamp(32px,9vw,40px);font-weight:500;line-height:1.15}.site-nav-menu-links a:after{content:"";background:var(--border);width:56px;height:1px;margin-top:14px;transition:width .26s,background .2s;display:block}.site-nav-menu-links a[aria-current=page]:after{background:var(--ink);width:100%}.site-nav-menu-footer{width:min(var(--shell-w), 100% - 48px);margin:0 auto;padding-top:32px}.site-nav-menu-email{color:var(--ink);letter-spacing:-.01em;font-size:24px;font-weight:500;display:inline-block}.site-nav-menu-socials{flex-wrap:wrap;gap:8px 20px;margin:16px 0 0;padding:0;font-size:15px;list-style:none;display:flex}.site-nav-menu-socials a{color:var(--muted)}@media (prefers-reduced-motion:reduce){.site-nav-menu,.site-nav-menu.is-open,.site-nav-menu-icon span,.site-nav-menu-links a:after{transition:none}}.hero{min-height:calc(100svh - var(--nav-h));align-items:center;padding:96px 0;display:flex;position:relative}.hero-scroll-cue{color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:8px;transition:opacity .2s,visibility;display:flex;position:absolute;bottom:clamp(20px,4svh,40px);left:50%;transform:translate(-50%)}.hero-scroll-cue.is-hidden{opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s linear .2s}.hero-scroll-chevron{fill:currentColor;shape-rendering:crispedges;width:10px;height:6px;animation:1.8s step-end infinite hero-scroll-cue-step;display:block}@keyframes hero-scroll-cue-step{0%{transform:translateY(0)}33%{transform:translateY(2px)}66%{transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.hero-scroll-chevron{animation:none}}.hero-layout{width:min(var(--shell-w), 100% - 48px);grid-template-columns:620px minmax(180px,1fr);justify-content:space-between;align-items:center;gap:clamp(24px,3vw,32px);display:grid}.hero-copy{width:100%;min-width:0;max-width:620px}.hero-avatar{background:var(--surface);border-radius:50%;width:56px;height:56px;margin-bottom:16px;overflow:hidden}.hero-avatar img{object-fit:cover;width:100%;height:100%}.hero-heading{max-width:620px;font-size:clamp(24px,2.8vw,32px);line-height:1.3}.hero-heading-muted{color:var(--muted);display:block}.hero-meta{max-width:541px;color:var(--ink);flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:12px;font-size:15px;line-height:1.8;display:flex}.hero-meta-logo{align-items:center;display:inline-flex}.hero-meta-logo img{width:auto;height:30px;filter:var(--mark-filter);display:block}.hero-side{flex-direction:column;align-self:stretch;align-items:flex-end;gap:24px;min-width:0;display:flex}.hero-cursor-stage{aspect-ratio:1;contain:layout paint;background:0 0;width:clamp(240px,min(30vw,55svh),440px);max-width:100%;height:auto;display:block}.now-playing-card{flex-direction:column;justify-content:space-between;width:100%;height:96px;display:flex;overflow:hidden}.now-playing-main{flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;width:100%;min-width:0;height:100%;display:flex}.now-playing-card--has-artwork{grid-template-columns:auto minmax(0,1fr);justify-content:start;align-items:center;gap:14px;display:grid}.now-playing-artwork-frame{background-color:var(--bg);background-image:repeating-conic-gradient(var(--border) 0% 25%, transparent 0% 50%);background-size:14px 14px;border-radius:0;align-self:stretch;width:96px;animation:1.8s steps(2,end) infinite now-playing-checker-crawl;position:relative;overflow:hidden}.now-playing-artwork-frame.is-ready{animation:none}.now-playing-artwork-placeholder{color:var(--muted);place-items:center;display:grid;position:absolute;inset:0}.now-playing-card--playing .now-playing-artwork-placeholder{color:var(--accent)}.now-playing-artwork-note{background:0 0;width:7px;height:7px;animation:.9s step-end infinite now-playing-note-hop;transform:translate(-24.5px,-24.5px);box-shadow:21px 0,28px 0,21px 7px,35px 7px,21px 14px,42px 14px,21px 21px,35px 21px,21px 28px,7px 35px,14px 35px,21px 35px,0 42px,7px 42px,14px 42px,21px 42px,7px 49px,14px 49px}.now-playing-artwork-frame.is-ready .now-playing-artwork-note{animation:none}.now-playing-artwork{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.now-playing-artwork-frame.is-ready .now-playing-artwork{opacity:1;transition:opacity .45s steps(4,end)}.now-playing-card--offline .now-playing-artwork-frame{opacity:.72;filter:grayscale(.6)}.now-playing-glyph-text{contain:layout paint;background:0 0;width:100%;height:32px;display:block}.now-playing-status{color:var(--muted);align-items:center;gap:8px;display:inline-flex}.now-playing-status .pixel-text{min-width:0}.pixel-text{display:block}.now-playing-eq{flex-shrink:0;align-items:flex-end;gap:2px;height:12px;display:inline-flex}.now-playing-eq span{background:currentColor;width:3px;height:4px}.now-playing-card--playing .now-playing-status{color:var(--accent)}.now-playing-card--playing .now-playing-eq span{animation:.9s step-end infinite now-playing-eq-step}.now-playing-card--playing .now-playing-eq span:nth-child(2){animation-delay:-.3s}.now-playing-card--playing .now-playing-eq span:nth-child(3){animation-delay:-.6s}.now-playing-progress-row{width:100%;color:var(--muted);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.now-playing-progress{gap:2px;height:6px;display:flex}.now-playing-progress-cell{background:var(--border);flex:1}.now-playing-progress-cell.is-filled{background:var(--ink)}.now-playing-progress-cell.is-head{animation:1s step-end infinite now-playing-blink}.now-playing-card--offline,.now-playing-card--recent,.now-playing-card--paused{box-shadow:none}.now-playing-card--offline .now-playing-glyph-text,.now-playing-card--offline .now-playing-progress-row{opacity:.72}@keyframes now-playing-note-hop{0%,to{transform:translate(-24.5px,-24.5px)}50%{transform:translate(-24.5px,-31.5px)}}@keyframes now-playing-checker-crawl{0%{background-position:0 0}to{background-position:14px 14px}}@keyframes now-playing-eq-step{0%{height:4px}20%{height:10px}40%{height:6px}60%{height:12px}80%{height:8px}to{height:4px}}@keyframes now-playing-blink{0%{opacity:1}50%{opacity:.3}to{opacity:1}}.section{padding:clamp(24px,3vw,32px) 0}.hero+.section{scroll-margin-top:var(--nav-h)}.section--flush{padding-top:0}.section-label{color:var(--ink);font-size:16px;font-weight:600;line-height:1.75}.section-heading-row{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:16px;display:flex}.work-group-heading{flex-direction:column;gap:4px;margin-bottom:16px;display:flex}.work-group-label{align-items:center;gap:12px;display:inline-flex}.work-group-intro{max-width:620px;color:var(--muted);font-size:15px;line-height:1.7}.work-tile-grid{align-items:flex-start;gap:12px;display:flex}.work-tile-column{flex:1 1 0;min-width:0}.work-tile{margin-bottom:24px}.work-tile-link{color:var(--ink);display:block}.work-tile-media{aspect-ratio:3/2;border:1px solid var(--border);border-radius:var(--radius);background:var(--media-bg,var(--surface));position:relative;overflow:hidden}.work-tile-media>img,.work-tile-media>.lazy-image-placeholder{width:100%;height:100%;display:block}.work-tile-media--photo{aspect-ratio:1}.work-tile-media--photo>img{object-fit:cover}.work-tile-media--screenshot>img{object-fit:cover;object-position:top left}.work-tile-media--phone{aspect-ratio:1;grid-template-rows:minmax(0,1fr);place-items:end center;padding:28px 28px 0;display:grid}.work-tile-media--phone>img{border:5px solid var(--device-bezel);width:auto;max-width:none;box-shadow:var(--shadow-device-sm);border-bottom:0;border-radius:24px 24px 0 0}.work-tile-caption{flex-direction:column;margin-top:8px;display:flex}.work-tile-title{font-size:15px;font-weight:500;line-height:1.4}.work-tile-category{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11.5px;line-height:1.6}.archive-card[id]{scroll-margin-top:calc(var(--nav-h) + 24px)}.writing-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.writing-preview-card{min-width:0}.writing-preview-link{color:var(--ink);display:block}.writing-preview-copy{flex-direction:column;gap:7px;margin-top:16px;display:flex}.writing-preview-meta{color:var(--muted);flex-wrap:wrap;gap:6px 10px;font-size:13px;display:flex}.writing-preview-title{font-size:18px;font-weight:600;line-height:1.4}.section-cta{margin-top:clamp(28px,4vw,40px)}.section-cta--compact{margin-top:24px}.btn-secondary{isolation:isolate;border:1px solid var(--border);border-radius:var(--radius);color:var(--ink);align-items:center;gap:8px;padding:10px 22px;font-size:15px;font-weight:500;transition:color .26s,border-color .26s;display:inline-flex;position:relative;overflow:hidden}.btn-secondary:before{content:"";z-index:-1;background:var(--ink);transform-origin:0;transition:transform .26s;position:absolute;inset:0;transform:scaleX(0)}.btn-secondary:hover{opacity:1;color:var(--bg);border-color:var(--ink)}.btn-secondary:hover:before{transform:scaleX(1)}.btn-icon{fill:currentColor;width:13px;height:13px}@media (prefers-reduced-motion:reduce){.btn-secondary,.btn-secondary:before{transition:none}}.honors-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:40px;display:grid}.honors-main{min-width:0}.honors-list{flex-direction:column;gap:20px;margin:0;padding:0;list-style:none;display:flex}.honor-link{color:var(--ink);align-items:flex-start;gap:20px;display:flex}.honor-badge{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);flex:none;place-items:center;width:44px;height:44px;display:grid}.honor-badge svg{width:19px;height:19px;fill:var(--muted)}.honor-badge--winner{border-color:var(--ink);background:var(--ink)}.honor-badge--winner svg{fill:var(--bg)}.honor-badge--placed{border-color:var(--ink);background:var(--bg)}.honor-badge--placed svg{fill:var(--ink)}.honor-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.honor-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 24px;display:flex}.honor-title-wrap{min-width:0;display:flex;position:relative}.honor-title{z-index:2;background:var(--bg);color:var(--ink);font-size:16px;font-weight:600;line-height:1.5;position:relative}.honor-spray{display:none}@media (hover:hover) and (pointer:fine){.honor-title{padding-right:6px}.honor-date{padding-left:6px}.honor-spray{z-index:1;width:0;height:0;display:block;position:absolute;top:50%;right:24px}}.honor-spray i{width:var(--w);height:var(--h);border-radius:var(--radius);background:var(--ink);opacity:0;position:absolute}.honor-spray i.is-muted{background:var(--muted)}.honor-spray--winner i:nth-child(5n+1){background:#e9a13b}.honor-spray--winner i:nth-child(5n+2){background:#d95d4e}.honor-spray--winner i:nth-child(5n+3){background:var(--accent)}.honor-spray--winner i:nth-child(5n+4){background:#3e9c6d}.honor-spray--winner i:nth-child(5n+5){background:#7b61c9}.honor-link:hover .honor-spray i,.honor-link:focus-visible .honor-spray i{animation:honor-spray .78s cubic-bezier(.15, .75, .3, 1) var(--d) both}@keyframes honor-spray{0%{opacity:0;transform:translate(0)scale(.3)rotate(0)}18%{opacity:1}to{opacity:0;transform:translate(var(--tx), var(--ty)) scale(1) rotate(var(--r))}}.honor-date{z-index:2;background:var(--bg);color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:13px;position:relative}.honor-meta{color:var(--muted);font-size:14px;line-height:1.5}.honors-toggle{margin-top:24px}button.btn-secondary{font-family:inherit;line-height:inherit;cursor:pointer;background:0 0}.honor-gallery{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.honor-gallery-frame{aspect-ratio:16/10;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);display:block;overflow:hidden}.honor-gallery-frame img,.honor-gallery-frame .lazy-image-placeholder{object-fit:cover;width:100%;height:100%;display:block}.honor-gallery-frame img{transform:scale(var(--photo-scale,1))}@media (width<=900px){.honors-layout{grid-template-columns:minmax(0,1fr);gap:clamp(32px,5vw,44px)}.honors-list,.honor-gallery{max-width:680px}.honor-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}@media (width<=640px){.honor-gallery{grid-template-columns:minmax(0,1fr)}.honor-heading{flex-direction:column;align-items:flex-start;gap:1px}.honor-date{order:-1;padding-left:0}}@media (prefers-reduced-motion:reduce){.honor-link:hover .honor-spray i,.honor-link:focus-visible .honor-spray i{animation:none}}.about-body{grid-template:"heading visual""copy visual""music visual"1fr/minmax(0,1fr) auto;align-items:start;gap:12px clamp(32px,6vw,64px);display:grid}.about-heading{grid-area:heading}.about-copy{width:100%;min-width:0;color:var(--ink);flex-direction:column;grid-area:copy;gap:20px;font-size:16px;line-height:1.8;display:flex}.about-copy p{max-width:720px}.about-visual{grid-area:visual;justify-self:end;width:clamp(220px,26vw,360px)}.about-photo{border-radius:var(--radius);background:var(--surface);width:100%;height:289px;overflow:hidden}@media (hover:hover){.about-photo{height:231px}}.about-photo img{object-fit:cover;object-position:50% 30%;width:100%;height:100%}.about-music{flex-direction:column;grid-area:music;justify-self:start;gap:12px;width:100%;min-width:0;max-width:560px;margin-top:20px;display:flex}.about-now-playing{width:100%;min-width:0}.about-music-caption{color:var(--muted);flex-direction:column;align-items:flex-start;gap:4px;font-size:14px;line-height:1.5;display:flex}.about-music-repo{color:var(--ink);flex-wrap:wrap;align-items:center;gap:0 6px;display:inline-flex}.about-music-repo-label{color:var(--muted)}.about-music-repo svg{fill:currentColor;flex:none;width:14px;height:14px}.about-music{position:relative}.about-music-repo:after{content:"";position:absolute;inset:0}.about-music-notes{display:none}.pixel-note{fill:currentColor;shape-rendering:crispedges;width:auto;height:14px;display:block}@media (hover:hover){.about-music-caption{justify-content:center;padding-left:110px;position:absolute;inset:0}.about-music-notes{height:14px;color:var(--muted);align-items:flex-end;gap:4px;margin-bottom:2px;display:flex}.about-music:has(.now-playing-card--playing) .about-music-notes{color:var(--accent)}.about-music .now-playing-main,.about-music-notes,.about-music-caption-text,.about-music-repo{transition:opacity .2s}.about-music-notes,.about-music-caption-text,.about-music-repo,.about-music:hover .now-playing-main,.about-music:focus-within .now-playing-main{opacity:0}.about-music:hover .about-music-notes,.about-music:focus-within .about-music-notes,.about-music:hover .about-music-caption-text,.about-music:focus-within .about-music-caption-text{opacity:1}.about-music:hover .about-music-repo,.about-music:focus-within .about-music-repo{opacity:1;transition-delay:.15s}.about-music:hover .pixel-note,.about-music:focus-within .pixel-note{animation:1.2s step-end infinite about-music-note-jump}.about-music .pixel-note:nth-child(2){animation-delay:.12s}.about-music .pixel-note:nth-child(3){animation-delay:.24s}}@keyframes about-music-note-jump{0%,36%,to{transform:translateY(0)}12%,24%{transform:translateY(-2px)}18%{transform:translateY(-4px)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.about-music .now-playing-main,.about-music-notes,.about-music-caption-text,.about-music-repo{transition:none}.about-music:hover .pixel-note,.about-music:focus-within .pixel-note{animation:none}}.about-socials{flex-wrap:wrap;gap:16px;margin:16px 0 0;padding:0;list-style:none;display:flex}.about-socials a{color:var(--muted);display:block}.about-socials svg{fill:currentColor;width:18px;height:18px;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.toolkit-list{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;padding:0;list-style:none;display:flex}.toolkit-pill{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:13px;line-height:1.5;display:inline-flex}.toolkit-pill-logo{background-color:var(--muted);width:12px;height:12px;-webkit-mask-image:var(--logo-url);mask-image:var(--logo-url);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--logo-url);flex:none;-webkit-mask-position:50%;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}.toolkit-pill--ai{color:var(--ink);padding-right:12px;position:relative}.toolkit-pill--ai .toolkit-pill-logo{background-color:var(--ink)}.toolkit-pill-name{z-index:1;position:relative}.toolkit-pill--ai .toolkit-ai-glyph{opacity:.58;position:absolute;top:50%;right:-6px;transform:translateY(-50%);-webkit-mask-image:linear-gradient(90deg,#0000,#000 32%);mask-image:linear-gradient(90deg,#0000,#000 32%)}.toolkit-ai-glyph{pointer-events:none;grid-template-rows:repeat(5,3px);grid-template-columns:repeat(7,3px);gap:2px;width:33px;height:23px;display:grid}.toolkit-ai-glyph-cell{background:var(--ink);width:3px;height:3px;animation:2.8s step-end infinite toolkit-ai-pulse}@keyframes toolkit-ai-pulse{0%,28%,to{opacity:.16}8%,18%{opacity:.82}}@media (prefers-reduced-motion:reduce){.toolkit-ai-glyph-cell{opacity:.62;animation:none}}.lazy-image-placeholder{background:var(--surface);width:100%;height:100%;display:block}.project-kicker{color:var(--muted);align-items:baseline;gap:10px;font-size:13px;display:flex}.project-logo{width:auto;max-width:88px;height:var(--logo-h,26px);flex:none;justify-content:center;align-items:center;display:inline-flex}.project-logo img,.project-logo .lazy-image-placeholder{width:auto;max-width:88px;height:auto;max-height:var(--logo-h,24px);object-fit:contain;filter:var(--logo-filter);opacity:.78;display:block}.project-logo--wide{max-width:100px;height:var(--logo-h,30px)}.project-logo--wide img,.project-logo--wide .lazy-image-placeholder{max-width:100px;max-height:var(--logo-h,28px)}.project-logo--mark,.project-logo--avatar{width:var(--logo-h,28px);height:var(--logo-h,28px)}.project-logo--mark img,.project-logo--mark .lazy-image-placeholder,.project-logo--avatar img,.project-logo--avatar .lazy-image-placeholder{width:var(--logo-h,28px);height:var(--logo-h,28px);object-fit:contain;max-width:none;max-height:none}.project-logo--avatar img,.project-logo--avatar .lazy-image-placeholder{border-radius:22%}.project-description{color:var(--muted);font-size:15px;line-height:1.7}.project-action-group{flex-wrap:wrap;align-items:flex-start;gap:8px 20px;margin-top:8px;display:flex}.project-action{color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-family:inherit;font-size:14px;font-weight:500;display:inline-flex}.project-action-icon{fill:currentColor;width:12px;height:12px}.page-hero{padding:clamp(48px,7vw,80px) 0 clamp(28px,4vw,48px)}.page-title{letter-spacing:-.035em;max-width:760px;font-size:clamp(42px,6vw,60px);line-height:1.15}.page-intro{max-width:620px;color:var(--muted);text-wrap:balance;margin-top:24px;font-size:18px;line-height:1.8}.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,4vw,48px) 28px;display:grid}.archive-card{flex-direction:column;gap:16px;min-width:0;display:flex}.archive-card--linked{isolation:isolate;position:relative}.archive-card-link{color:inherit;text-underline-offset:4px}.archive-card-link:after{content:"";z-index:3;border-radius:var(--radius);position:absolute;inset:0}.archive-card-link:focus-visible{outline:none;text-decoration:underline}.archive-card-link:focus-visible:after{outline:2px solid var(--accent);outline-offset:6px}.archive-card--linked .project-action,.archive-card--linked a.project-logo{z-index:4;position:relative}.archive-card-media{aspect-ratio:16/10;border-radius:var(--radius);background:var(--media-bg,var(--surface));position:relative;overflow:hidden}.archive-card .archive-card-media{aspect-ratio:16/9;border-radius:var(--radius);border:1px solid var(--border)}.archive-card-media>img,.archive-card-media>.lazy-image-placeholder{width:100%;height:100%}.archive-card-media-link{z-index:3;position:absolute;inset:0}.archive-card-media--photo>img{object-fit:cover}.archive-card-media--screenshot>img{object-fit:cover;object-position:top center}.archive-card-media--device{place-items:center;padding:18px 24px 0;display:grid}.archive-card-media--device>img{object-fit:contain;object-position:bottom center;border-radius:var(--device-corner);width:auto;max-width:38%}.archive-card-carousel{position:absolute;inset:0}.archive-card-carousel-image{object-fit:cover;opacity:0;z-index:1;width:100%;height:100%;transition:opacity 0s linear .5s;position:absolute;inset:0}.archive-card-carousel-image.is-active{opacity:1;z-index:2;transition:opacity .5s}.archive-card-carousel-image--screenshot{object-position:top center}.archive-card-carousel-image--device{object-fit:contain;border-radius:var(--device-corner);width:38%;height:auto;margin-inline:auto;inset:18px 0 auto}.archive-card-media--phone{place-items:center;padding:18px 24px 0;display:grid}.archive-card-media--phone>img{object-fit:contain;object-position:bottom center;border:5px solid var(--device-bezel);width:auto;max-width:52%;box-shadow:var(--shadow-device-sm);border-bottom:0;border-radius:24px 24px 0 0}.archive-card-copy{flex-direction:column;gap:7px;display:flex}.archive-card-title{align-items:center;gap:10px;font-size:18px;font-weight:600;line-height:1.4;display:flex}.archive-card-title .project-logo--wordmark{height:20px}.archive-card-title .project-logo--wordmark img,.archive-card-title .project-logo--wordmark .lazy-image-placeholder{max-width:72px;max-height:18px}.app--writing{--writing-bg:var(--bg);--writing-surface:var(--surface);--writing-border:var(--border);--writing-ink:var(--ink);--writing-muted:var(--muted);color:var(--writing-ink);background:var(--writing-bg)}.app--writing .site-nav-brand{color:var(--writing-ink)}.app--writing .site-nav-links a,.app--writing .site-footer-links a,.app--writing .site-footer-copy{color:var(--writing-muted)}.app--writing .site-nav-links a[aria-current=page]{color:var(--writing-ink)}.app--writing .site-footer{border-top-color:var(--writing-border)}.writing-hero{border-bottom:0}.writing-hero-title h1{color:var(--writing-ink);letter-spacing:-.035em;font-size:clamp(42px,6vw,60px);font-weight:500;line-height:1.15}.writing-hero-intro{max-width:600px;color:var(--writing-muted);text-wrap:balance;margin-top:22px;font-size:clamp(17px,2vw,19px);line-height:1.75}.writing-index{padding:0 0 clamp(24px,3vw,32px)}.writing-filter-clear{color:var(--writing-muted);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin-bottom:clamp(24px,3.5vw,32px);padding:0;font-size:14px;display:inline-flex;position:relative}.writing-filter-clear:before,.writing-card-category:before{content:"";position:absolute;inset:-12px -10px}.writing-filter-clear-icon{width:14px;height:14px}.writing-list{display:block}.writing-card{border-bottom:1px solid var(--writing-border);padding:clamp(24px,3.5vw,32px) 0}.writing-list>.writing-card:first-child{padding-top:0}.writing-list>.writing-card:last-child{border-bottom:0}.writing-card-link{min-height:0;color:var(--writing-ink);background:0 0;border:0;border-radius:0;padding:0;display:block}.writing-card-label{color:var(--writing-muted);font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0;align-items:baseline;margin-bottom:12px;font-size:13px;display:flex}.writing-card-category{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none;transition:color .16s;position:relative}.writing-card-category[aria-pressed=true]{color:var(--writing-ink)}.writing-card-main{min-width:0}.writing-card-content{grid-template-columns:minmax(0,1fr) 156px;align-items:start;gap:clamp(24px,4vw,36px);display:grid}.writing-card-thumbnail{aspect-ratio:4/3;border:1px solid var(--writing-border);border-radius:var(--radius);background:var(--writing-surface);overflow:hidden}.writing-card-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.writing-meta{color:var(--writing-muted);flex-wrap:wrap;gap:6px 18px;margin-top:18px;font-size:13px;display:flex}.writing-card-title{max-width:700px;color:var(--writing-ink);letter-spacing:-.02em;margin-top:0;font-size:clamp(25px,3.5vw,32px);font-weight:500;line-height:1.3}.writing-card-excerpt{max-width:680px;color:var(--writing-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:12px;font-size:16px;line-height:1.75;display:-webkit-box;overflow:hidden}.app--article{--writing-bg:var(--bg);--writing-surface:var(--surface);--writing-border:var(--border);--writing-ink:var(--ink);--writing-muted:var(--muted);color:var(--writing-ink);background:var(--writing-bg)}.app--article .site-nav-brand{color:var(--writing-ink)}.app--article .site-nav-links a,.app--article .site-footer-links a,.app--article .site-footer-copy{color:var(--writing-muted)}.app--article .site-nav-links a[aria-current=page]{color:var(--writing-ink)}.app--article .site-footer{border-top-color:var(--writing-border)}.article-header{padding-top:clamp(48px,7vw,72px);padding-bottom:clamp(40px,6vw,56px)}.article-topline{justify-content:space-between;align-items:center;gap:24px;margin-bottom:clamp(32px,5vw,48px);display:flex}.article-back-link{color:var(--writing-muted);align-items:center;gap:7px;margin-bottom:0;font-size:14px;display:inline-flex}.app--article .article-header{width:min(900px,100% - 48px)}.app--article .article-title{max-width:900px;font-size:clamp(48px,7vw,72px)}.app--article .article-layout{width:min(800px,100% - 48px);display:block}.app--article .article-meta,.app--article .article-date,.app--article .article-original-title{color:var(--writing-muted)}.article-date{font-size:13px}.app--article .article-title,.app--article .article-section h2{color:var(--writing-ink)}.app--article .article-section blockquote cite{color:var(--writing-muted)}.article-back-icon{fill:currentColor;width:13px;height:13px}.article-meta{margin:28px 0 0}.article-meta a{color:inherit}.article-title{letter-spacing:-.045em;max-width:820px;font-size:clamp(40px,7vw,72px);font-weight:500;line-height:1.08}.article-original-title{color:var(--muted);margin-top:20px;font-size:15px;font-style:italic}.article-hero-shell{width:min(var(--shell-w), 100% - 48px);aspect-ratio:3;border:1px solid var(--writing-border);border-radius:var(--radius);background:var(--writing-surface);margin:0 auto;overflow:hidden}.article-hero-image{object-fit:cover;width:100%;height:100%;display:block}.article-dek{max-width:none;color:var(--writing-ink);letter-spacing:-.025em;margin:0 0 36px;font-weight:500;font-size:clamp(26px,3.2vw,34px)!important;line-height:1.25!important}.article-rule{border-top:1px solid var(--ink)}.article-layout{padding-top:clamp(48px,7vw,72px);padding-bottom:clamp(64px,9vw,96px);display:block}.article-rail{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;flex-direction:column;gap:4px;padding-top:8px;font-size:12px;display:flex}.article-body{min-width:0}.article-body p{font-size:18px;line-height:1.75}.article-introduction{color:var(--writing-muted);font-weight:400;font-size:18px!important;line-height:1.75!important}.article-rich-content{color:var(--writing-muted)}.article-rich-content p,.article-rich-content li{font-size:18px;line-height:1.75}.article-rich-content p+p{margin-top:24px}.article-rich-content strong{color:var(--writing-ink);font-weight:600}.article-rich-content h2{color:var(--writing-ink);letter-spacing:-.04em;margin:clamp(72px,10vw,104px) 0 28px;font-size:clamp(38px,5vw,58px);font-weight:500;line-height:1.08}.article-rich-content h3{color:var(--writing-ink);letter-spacing:-.025em;margin:52px 0 20px;font-size:clamp(25px,3.5vw,34px);font-weight:500;line-height:1.2}.article-rich-content ul,.article-rich-content ol{margin:28px 0;padding-left:26px}.article-rich-content li+li{margin-top:10px}.article-rich-content a{color:var(--writing-ink);text-decoration:underline;-webkit-text-decoration-color:var(--writing-muted);text-decoration-color:var(--writing-muted);text-underline-offset:4px}.article-rich-content figure{margin:48px 0}.article-rich-content figure+figure{margin-top:-20px}.article-rich-content figure img{border:1px solid var(--writing-border);border-radius:var(--radius);background:var(--writing-surface);width:100%;height:auto;display:block}.article-rich-content figcaption{color:var(--writing-muted);margin-top:12px;font-size:13px;line-height:1.6}.article-rich-content blockquote{border:1px solid var(--writing-border);border-radius:var(--radius);background:var(--writing-surface);margin:48px 0;padding:clamp(28px,5vw,44px)}.article-rich-content blockquote p,.article-rich-content blockquote{color:var(--writing-ink);letter-spacing:-.025em;font-size:clamp(24px,3.2vw,32px);font-weight:500;line-height:1.4}.article-rich-content .article-embed-link{margin-top:48px}.article-section{margin-top:clamp(80px,11vw,112px)}.article-section h2{letter-spacing:-.04em;margin-bottom:28px;font-size:clamp(38px,5vw,58px);font-weight:500;line-height:1.08}.app--article .article-section>p{color:var(--writing-muted)}.article-section>p+p{margin-top:24px}.article-section blockquote{border:1px solid var(--writing-border);border-radius:var(--radius);background:var(--writing-surface);margin:56px 0;padding:clamp(28px,5vw,44px)}.article-section blockquote p{color:var(--writing-ink);letter-spacing:-.025em;font-size:clamp(25px,3.4vw,34px);font-weight:500;line-height:1.4}.article-section blockquote cite{color:var(--muted);margin-top:16px;font-size:14px;font-style:normal;display:block}.article-next{border-top:1px solid var(--writing-border)}.article-next-link{color:var(--writing-ink);grid-template-columns:minmax(0,1fr) minmax(220px,360px);align-items:center;gap:clamp(40px,8vw,96px);padding-top:clamp(40px,6vw,64px);padding-bottom:clamp(40px,6vw,64px);display:grid}.article-next-kicker{color:var(--writing-muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:20px;font-size:13px;font-weight:500;display:flex}.article-next-icon{fill:currentColor;width:12px;height:12px}.article-next-link h2{max-width:720px;color:var(--writing-ink);letter-spacing:-.04em;font-size:clamp(34px,5vw,58px);font-weight:500;line-height:1.08}.article-next-meta{color:var(--writing-muted);margin-top:24px}.article-next-thumbnail{aspect-ratio:4/3;border:1px solid var(--writing-border);border-radius:var(--radius);background:var(--writing-surface);overflow:hidden}.article-next-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.section--contact{padding-bottom:clamp(40px,6vw,64px)}.contact-lead{max-width:541px;color:var(--ink);margin-top:24px;font-size:clamp(20px,2.6vw,26px);font-weight:500;line-height:1.5}.contact-email{margin-top:24px;font-size:clamp(18px,2.2vw,22px);font-weight:500;display:inline-block}.contact-email-row{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:32px;display:flex}.contact-page-email{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:clamp(22px,3.4vw,34px);font-weight:500;line-height:1.3;display:inline-block}.contact-copy{font:inherit;cursor:pointer;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--muted);padding:8px 16px;font-size:14px;line-height:1.4}.page-hero--contact{padding-bottom:clamp(48px,7vw,80px)}.contact-dialogue{max-width:640px;color:var(--ink);margin-top:36px}.contact-dialogue-text{contain:layout paint;background:0 0;width:100%;height:35px;display:block}.contact-socials{flex-wrap:wrap;gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}.contact-socials a{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--muted);place-items:center;display:grid}.contact-socials svg{fill:currentColor;width:18px;height:18px}.site-footer{margin-top:auto;padding:24px 0}.site-footer-shell{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;display:flex}.site-footer-copy{color:var(--muted);font-size:14px}.site-footer-links{flex-wrap:wrap;gap:8px 24px;font-size:14px;display:flex}.site-footer-links a{color:var(--muted)}@media (width<=899px){.hero-layout{grid-template-columns:1fr}.hero-cursor-stage{display:none}.hero-side{align-items:flex-start}}@media (width<=809px){.article-next-link{grid-template-columns:1fr;gap:32px}.article-next-thumbnail{aspect-ratio:16/9;width:min(420px,100%)}.about-body{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"heading""visual""copy""music";row-gap:20px}.about-visual{justify-self:start;width:min(280px,100%)}.about-photo{aspect-ratio:4/5;height:auto}.about-music{margin-top:8px}.site-nav-links,.site-nav-end{gap:16px}.archive-grid{grid-template-columns:1fr}.archive-grid--preview{gap:48px}.writing-preview-grid{grid-template-columns:1fr;gap:40px}.article-layout,.app--article .article-layout{grid-template-columns:1fr}.article-rail{flex-direction:row;gap:16px;padding-top:0}}@media (width<=639px){.site-nav-links{display:none}.site-nav-menu-toggle{display:grid}.site-nav-menu{display:flex}.site-nav-end{gap:4px}}@media (width<=599px){.writing-card-content{grid-template-columns:1fr;gap:24px}.writing-card-thumbnail{aspect-ratio:16/9}}@media (width<=479px){.shell,.site-nav-shell,.hero-layout{width:min(100% - 32px, var(--shell-w))}.writing-card{padding:28px 0}.app--article .article-header,.app--article .article-layout,.article-hero-shell{width:min(100% - 32px,760px)}.writing-meta{gap:4px 10px}.article-title,.app--article .article-title{font-size:42px}.article-topline{margin-bottom:44px}.article-hero-shell{border-radius:var(--radius)}.article-section h2{font-size:36px}.article-body p{font-size:17px}.article-section{margin-top:52px}.now-playing-card--has-artwork{gap:12px}}@media (prefers-reduced-motion:reduce){.writing-card-title{transition:none}.now-playing-card--playing .now-playing-eq span,.now-playing-progress-cell.is-head,.now-playing-artwork-frame,.now-playing-artwork-note{animation:none}.now-playing-artwork-frame.is-ready .now-playing-artwork{transition:none}}.case-study{background:var(--bg);color:var(--ink)}.case-study-wide-shell,.case-study-text-shell{width:min(960px,100% - 48px);margin-inline:auto}.case-study-media-shell{width:min(var(--shell-w), 100% - 48px);margin-inline:auto}.case-study figure{margin:0}.case-study img{max-width:100%;display:block}.case-study-eyebrow{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;flex-wrap:wrap;gap:8px 14px;font-size:12px;font-weight:600;line-height:1.5;display:flex}.case-study-eyebrow span{color:var(--ink)}.case-study-hero{padding-top:clamp(48px,6vw,80px)}.case-study-hero-topline{justify-content:space-between;align-items:center;gap:24px;display:flex}.case-study-hero-topline>img{object-fit:contain;width:auto;height:32px;filter:var(--logo-filter)}.case-study-hero h1{letter-spacing:-.055em;text-wrap:balance;max-width:880px;margin-top:28px;font-size:clamp(44px,7.5vw,88px);font-weight:500;line-height:1.03}.case-study-hero-summary{max-width:720px;color:var(--muted);letter-spacing:-.015em;margin-top:24px;font-size:17px;line-height:1.6}.case-study a:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:var(--radius)}.case-study .case-study-hero-media{width:min(var(--shell-w), 100% - 48px);margin:clamp(40px,6vw,56px) auto 0}.case-study-hero-media img{aspect-ratio:2;object-fit:cover;object-position:center;border-radius:var(--radius);width:100%;height:auto;animation:.5s ease-out both case-study-media-reveal}.case-study figcaption{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.6}.case-study-chapter{padding-block:clamp(56px,7vw,88px);scroll-margin-top:88px}.case-study-chapter+.case-study-chapter{border-top:1px solid var(--border)}.case-study-chapter-intro h2{letter-spacing:-.04em;text-wrap:balance;margin-top:14px;font-size:clamp(28px,3.7vw,42px);font-weight:500;line-height:1.15}.case-study-prose{color:var(--muted);gap:24px;margin-top:24px;font-size:18px;line-height:1.75;display:grid}.case-study-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.case-study-numbers{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px;display:grid}.case-study-numbers>div{min-width:0;padding-top:16px}.case-study-numbers dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.case-study-numbers dd{gap:12px;margin:10px 0 0;display:grid}.case-study-numbers strong{letter-spacing:-.04em;font-size:clamp(32px,4.4vw,44px);font-weight:500;line-height:1}.case-study-numbers dd>span{max-width:260px;color:var(--muted);font-size:12px;line-height:1.6}.case-study .case-study-insight{margin-inline:auto}.case-study-insight{border-radius:var(--radius);position:relative;overflow:hidden}.case-study-insight img{aspect-ratio:21/9;object-fit:cover;filter:brightness(.38);width:100%;height:auto}.case-study-insight figcaption{text-align:center;place-content:center;justify-items:center;gap:14px;margin:0;padding:24px;display:grid;position:absolute;inset:0}.case-study-insight .case-study-eyebrow{color:#ffffffb8}.case-study-insight h2{color:#fff;letter-spacing:-.035em;text-wrap:balance;max-width:720px;font-size:clamp(26px,4vw,44px);font-weight:500;line-height:1.15}.case-study-insight-copy{color:#ffffffe0;max-width:640px;font-size:clamp(14px,1.6vw,17px);line-height:1.6}.case-study-problem-context{margin-top:40px}.case-study-problem-context h3{letter-spacing:-.03em;text-wrap:balance;max-width:720px;margin-top:12px;font-size:clamp(24px,3vw,32px);font-weight:500;line-height:1.25}.case-study-problem-context .case-study-prose{margin-top:16px}.case-study-stories{gap:clamp(48px,6vw,72px);margin-block:48px 0;padding:0;scroll-margin-top:88px;list-style:none;display:grid}.case-study-journey-stage{gap:24px;min-width:0;scroll-margin-top:88px;display:grid}.case-study-stage-intro h3{letter-spacing:-.03em;text-wrap:balance;max-width:720px;margin-top:12px;font-size:clamp(24px,3vw,32px);font-weight:500;line-height:1.25}.case-study-stage-context{max-width:640px;color:var(--muted);gap:16px;margin-top:16px;font-size:16px;line-height:1.7;display:grid}.case-study-decision-intro>p{max-width:640px;color:var(--muted);margin-top:10px;font-size:15px;line-height:1.65}.case-study-split-panels{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px;display:grid;overflow:hidden}.case-study-split-before,.case-study-split-after{grid-template-rows:auto 1fr auto;gap:14px;min-width:0;padding:20px;display:grid}.case-study-split-before{background:var(--surface)}.case-study-split-after{--ink:#f4f4f2;--muted:#9b9ba1;--bg:#1f1f22;--surface:#18181a;--border:#34343a;color:var(--ink);background:#111113}:root[data-theme=dark] .case-study-split-after{--ink:#212529;--muted:#6b6b6b;--bg:#fff;--surface:#f5f5f5;--border:#e2e2e2;background:#f1f1f0}.case-study-split-before>small,.case-study-split-after>small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:600}.case-study-split-before p,.case-study-split-after p{color:var(--muted);font-size:14px;line-height:1.55}.case-study-split-after p{color:var(--ink)}.case-study-split-visual{place-items:center;min-height:96px;display:grid}.case-study-split-visual>*{max-width:260px}[data-state=before] .case-study-split-visual>*{opacity:.6}.case-study-split-visual>.case-study-source-excerpt{border-radius:var(--radius);opacity:1;width:100%;max-width:100%;height:auto}.case-study-showcase-card{border-radius:var(--radius);background:var(--surface);gap:24px;padding:clamp(20px,3.5vw,32px);scroll-margin-top:88px;display:grid}.case-study-showcase-text h3{letter-spacing:-.02em;font-size:clamp(20px,2.4vw,24px);font-weight:500;line-height:1.3}.case-study-showcase-text p{max-width:560px;color:var(--muted);margin-top:8px;font-size:15px;line-height:1.7}.case-study-screen-frame{aspect-ratio:2;border:1px solid var(--border);border-radius:var(--radius);background:#f8f9fa;place-items:center;display:grid;overflow:hidden}.case-study-screen-frame img{object-fit:contain;width:100%;height:100%}.case-study-outcome{background:var(--surface)}.case-study-outcome-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:40px;display:grid}.case-study-outcome .case-study-prose{gap:20px;font-size:16px;line-height:1.7}.case-study-next{border-top:1px solid var(--border)}.case-study-next-link{color:var(--ink);grid-template-columns:minmax(0,1fr) minmax(220px,360px);align-items:center;gap:clamp(40px,8vw,96px);padding-block:clamp(40px,6vw,64px);display:grid}.case-study-next-link:hover,.case-study-next-link:focus-visible{text-decoration:none}.case-study-next-kicker{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:20px;font-size:13px;font-weight:500;display:flex}.case-study-next-kicker svg{fill:currentColor;width:12px;height:12px}.case-study-next-link h2{max-width:720px;color:var(--ink);letter-spacing:-.04em;margin:0;font-size:clamp(34px,5vw,58px);font-weight:500;line-height:1.08}.case-study-next-meta{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin-top:24px;font-size:13px;display:flex}.case-study-next-thumbnail{aspect-ratio:4/3;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0;overflow:hidden}.case-study-next-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.case-study-next-thumbnail[data-phone]{align-content:start;justify-items:center;padding-top:clamp(20px,3vw,32px);display:grid}.case-study-next-thumbnail[data-phone] img{border:5px solid #1c1c1f;border-radius:24px;width:44%;height:auto}@media (width<=809px){.case-study-next-link{grid-template-columns:minmax(0,1fr);gap:32px}.case-study-next-thumbnail{aspect-ratio:16/9;width:min(420px,100%)}}.case-study-hero-media.case-study-hero-capture img{aspect-ratio:auto;border:1px solid var(--border)}.case-study-points{counter-reset:case-study-points;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-block:0;padding:0;list-style:none;display:grid}.case-study-chapter>.case-study-points{margin-top:40px}.case-study-points li{border-top:1px solid var(--border);align-content:start;gap:8px;min-width:0;padding-top:16px;display:grid}.case-study-points strong{letter-spacing:-.02em;font-size:17px;font-weight:500}.case-study-points span{color:var(--muted);font-size:13px;line-height:1.55}ol.case-study-points strong:before{counter-increment:case-study-points;content:counter(case-study-points) "  ";color:var(--muted);white-space:pre}.case-study-insight--drawn{aspect-ratio:21/9;background:var(--case-study-drawn-bg,#161618);display:grid}.case-study-insight-drawing{color:#fff;opacity:.22;width:76%;height:auto;position:absolute;inset:auto 12% 8%}.case-study-insight--drawn figcaption{z-index:1;padding-bottom:clamp(96px,14vw,168px)}.case-study-excerpt{border:1px solid var(--border);background:var(--bg);border-radius:12px;overflow:hidden}.case-study-excerpt img{max-width:none;height:auto}.case-study-captures{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:16px;display:grid}.case-study-chain{flex-wrap:wrap;align-items:center;gap:10px 28px;margin:0;padding:0;list-style:none;display:flex}.case-study-chain li{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:8px 14px;font-size:13px;line-height:1.4;position:relative}.case-study-chain li+li:before{content:"→";color:var(--muted);position:absolute;left:-21px}.case-study-sides{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.case-study-sides>div{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:20px}.case-study-sides h4,.case-study-split-list small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:600}.case-study-sides ul,.case-study-split-list{gap:10px;margin:14px 0 0;padding:0;font-size:15px;line-height:1.5;list-style:none;display:grid}.case-study-split-list{justify-self:stretch;margin:0}.case-study-sketch-phone{border:1px solid var(--border);background:var(--bg);width:180px;min-height:200px;color:var(--ink);border-radius:22px;align-content:start;gap:10px;padding:12px 14px 18px;display:grid}.case-study-sketch-phone-notch{background:var(--border);border-radius:999px;justify-self:center;width:44px;height:5px}.case-study-sketch-phone-title{letter-spacing:-.01em;font-size:13px;font-weight:600}.case-study-sketch-phone p{color:var(--muted);font-size:12px;line-height:1.5}.case-study-sketch-phone ol{gap:12px;margin:4px 0 0;padding:0;list-style:none;display:grid}.case-study-sketch-phone li{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.case-study-sketch-phone li i{border:1.5px solid;border-radius:50%;flex:none;width:10px;height:10px}.case-study-sketch-phone li[data-done] i{background:currentColor}.case-study-sketch-phone li[data-current]{color:var(--ink);font-weight:600}.case-study-sketch-phone li[data-current] i{box-shadow:0 0 0 3px var(--border);background:var(--ink)}.case-study-sketch-button{background:var(--ink);color:var(--bg);text-align:center;border-radius:8px;margin-top:6px;padding:7px 10px;font-size:12px;font-weight:600}@media (width<=719px){.case-study-insight--drawn{aspect-ratio:4/5}.case-study-insight-drawing{width:92%;inset:auto 4% 6%}.case-study-insight--drawn figcaption{padding-bottom:96px}.case-study-sides{grid-template-columns:minmax(0,1fr)}}@keyframes case-study-media-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=899px){.case-study-outcome-grid{gap:32px}}@media (width<=719px){.case-study-numbers{grid-template-columns:minmax(0,1fr);gap:24px}.case-study-split-panels{grid-template-columns:minmax(0,1fr)}.case-study-insight img{aspect-ratio:4/5}.case-study-outcome-grid{grid-template-columns:1fr;gap:28px}}@media (width<=479px){.case-study-wide-shell,.case-study-text-shell,.case-study-media-shell,.case-study .case-study-hero-media{width:calc(100% - 32px)}.case-study-hero-topline{gap:16px}.case-study-hero-topline>img{height:26px}.case-study-prose{font-size:17px}.case-study-hero h1{font-size:clamp(40px,11.5vw,54px)}.case-study-hero-media img{aspect-ratio:4/3;object-position:56% center;border-radius:var(--radius)}}@media (prefers-reduced-motion:reduce){.case-study-hero-media img{animation:none}.case-study-next svg{transition:none}}
