@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;1,9..144,300;1,9..144,400&family=IBM+Plex+Mono:wght@400;700&display=swap";.cs-nav{z-index:10;background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;display:flex;position:sticky;top:0}.cs-back{letter-spacing:.1em;color:var(--muted);align-items:center;gap:8px;padding:14px 20px;font-family:IBM Plex Mono,monospace;font-size:11px;transition:color .15s;display:inline-flex}.cs-back:hover{color:var(--ink)}.cs-nav-sections{flex-wrap:wrap;margin-left:auto;display:flex}.cs-section-link{letter-spacing:.1em;color:var(--muted);text-transform:uppercase;white-space:nowrap;padding:14px;font-family:IBM Plex Mono,monospace;font-size:11px;transition:color .15s}.cs-section-link:hover{color:var(--ink)}.cs-root{--cs-accent:var(--accent);flex-direction:column;gap:72px;max-width:980px;margin:0 auto;padding:56px 48px 96px;display:flex}.cs-section{padding:0;scroll-margin-top:64px}.cs-inner{width:100%}.cs-root h1{letter-spacing:-.02em;color:var(--ink);margin-bottom:20px;font-family:Fraunces,Georgia,serif;font-size:clamp(36px,4.4vw,52px);font-weight:400;line-height:1.05}.cs-root h2{letter-spacing:-.01em;color:var(--ink);margin:32px 0 12px;font-family:Fraunces,Georgia,serif;font-size:clamp(22px,2.6vw,28px);font-weight:400;line-height:1.2}.cs-root h3{letter-spacing:.14em;color:var(--ink);text-transform:uppercase;margin-bottom:8px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:700}.cs-root p{color:var(--muted);margin-bottom:14px;font-family:IBM Plex Mono,monospace;font-size:13px;line-height:1.85}.cs-root ul{margin:8px 0 14px;padding-left:0;list-style:none}.cs-root li{color:var(--muted);gap:10px;margin-bottom:4px;font-family:IBM Plex Mono,monospace;font-size:13px;line-height:1.8;display:flex}.cs-root li:before{content:"—";color:var(--muted);flex-shrink:0}.cs-hero{flex-direction:column;gap:18px;display:flex}.cs-hero-stripe{background:var(--cs-accent);width:64px;height:2px}.cs-hero-title{letter-spacing:-.03em;color:var(--ink);margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(56px,8vw,96px);font-weight:400;line-height:1}.cs-hero-sub{color:var(--ink);margin:0;font-family:IBM Plex Mono,monospace;font-size:15px;line-height:1.7}.cs-hero-image{width:100%;margin-top:16px;overflow:hidden}.cs-hero-image img{width:100%;height:auto;display:block}.cs-cards-row{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px;margin-bottom:16px;display:grid}.cs-cards-row.has-four-cards{grid-template-columns:repeat(4,1fr)}@media (width<=780px){.cs-cards-row{grid-template-columns:1fr}}.cs-card{border:1px solid var(--border);background:#fff;flex-direction:column;gap:10px;padding:22px;display:flex}.cs-card-stripe{background:var(--cs-accent);height:2px;margin:-22px -22px 4px}.cs-card-icon{font-size:22px;line-height:1}.cs-card-title{color:var(--ink);letter-spacing:-.01em;font-family:Fraunces,Georgia,serif;font-size:20px;font-weight:400;line-height:1.2}.cs-card-body{color:var(--muted);margin:0;font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.7}.cs-quotes{flex-direction:column;gap:18px;margin:24px 0;display:flex}.cs-quote{align-items:flex-start;gap:14px;max-width:560px;display:flex}.cs-quote.right{flex-direction:row-reverse;margin-left:auto}.cs-quote-icon{background:var(--bg);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;display:flex}.cs-quote-bubble{background:var(--cs-accent);color:#fff;flex:1;padding:14px 16px}.cs-root .cs-quote-text{color:#fff;margin:0 0 8px;font-family:Fraunces,Georgia,serif;font-size:16px;line-height:1.45}.cs-root .cs-quote-role{letter-spacing:.14em;text-transform:uppercase;opacity:.78;color:#fff;font-family:IBM Plex Mono,monospace;font-size:10px}.cs-personas{flex-direction:column;gap:32px;margin-top:16px;display:flex}.cs-persona{border-top:1px solid var(--border);padding-top:24px}.cs-persona-title{color:var(--ink);margin-bottom:12px;font-family:Fraunces,Georgia,serif;font-size:24px;font-weight:400;line-height:1.2}.cs-persona-desc{color:var(--muted);margin-bottom:22px;font-family:IBM Plex Mono,monospace;font-size:13px;line-height:1.8}.cs-persona-grid{grid-template-columns:1fr 1.4fr;gap:28px;display:grid}@media (width<=780px){.cs-persona-grid{grid-template-columns:1fr}}.cs-persona-col{flex-direction:column;gap:16px;display:flex}.cs-persona-kv-label,.cs-persona-block-label{letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-family:IBM Plex Mono,monospace;font-size:10px}.cs-persona-kv-value{color:var(--ink);font-family:IBM Plex Mono,monospace;font-size:13px}.cs-persona-block-list{margin:0;padding-left:0;list-style:none}.cs-persona-block-list li{color:var(--muted);gap:10px;margin-bottom:6px;font-family:IBM Plex Mono,monospace;font-size:13px;line-height:1.75;display:flex}.cs-persona-block-list li:before{content:"—";color:var(--border);flex-shrink:0}.cs-table-container{border-top:1px solid var(--border);margin:16px 0;overflow-x:auto}.cs-table{border-collapse:collapse;width:100%;font-family:IBM Plex Mono,monospace}.cs-table th,.cs-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:14px 16px}.cs-table th{letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.cs-table td{color:var(--ink);font-size:12px;line-height:1.65}.cs-table td.cs-table-rowlabel{white-space:nowrap;color:var(--cs-accent);letter-spacing:.04em;font-weight:700}.cs-table td ul{margin:0;padding-left:0;list-style:none}.cs-table td li{color:var(--muted);gap:8px;margin-bottom:4px;font-size:12px;line-height:1.65;display:flex}.cs-table td li:before{content:"—";color:var(--border);flex-shrink:0}.cs-steps{flex-direction:column;gap:0;margin-top:16px;display:flex}.cs-step{border-top:1px solid var(--border);grid-template-columns:60px 1fr;gap:24px;padding:28px 0;display:grid}.cs-step-num{letter-spacing:.14em;color:var(--cs-accent);padding-top:6px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:700}.cs-step-body{flex-direction:column;gap:8px;display:flex}.cs-step-title{color:var(--ink);margin-bottom:6px;font-family:Fraunces,Georgia,serif;font-size:24px;font-weight:400;line-height:1.2}.cs-features-list{flex-direction:column;gap:0;margin-top:16px;display:flex}.cs-feature{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;align-items:center;gap:32px;padding:32px 0;display:grid}.cs-feature:nth-child(2n) .cs-feature-image{order:2}@media (width<=780px){.cs-feature,.cs-feature:nth-child(2n){grid-template-columns:1fr}.cs-feature:nth-child(2n) .cs-feature-image{order:0}}.cs-feature-image{overflow:hidden}.cs-feature-image img{width:100%;height:auto;display:block}.cs-feature-title{color:var(--ink);letter-spacing:-.01em;margin-bottom:12px;font-family:Fraunces,Georgia,serif;font-size:28px;font-weight:400;line-height:1.2}.cs-feature-desc{color:var(--muted);white-space:pre-line;margin:0;font-family:IBM Plex Mono,monospace;font-size:13px;line-height:1.8}.cs-root .visual,.cs-root .cs-visual{width:100%;margin:16px 0}.cs-root .visual img,.cs-root .cs-visual img{width:100%;height:auto;display:block}.cs-root .cs-visual-split{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.cs-root .cs-visual-split img{width:100%;height:auto;max-height:350px;display:block}@media (width<=780px){.cs-root .cs-visual-split{grid-template-columns:1fr}}.cs-root .cs-logo-split{grid-template-columns:3fr 1fr;align-items:stretch;gap:16px;margin-top:16px;display:grid}.cs-root .cs-logo-split img{object-fit:contain;width:100%;height:100%;max-height:320px}@media (width<=780px){.cs-root .cs-logo-split{grid-template-columns:1fr;max-height:65vw}}.cs-root .cs-split-barcode{grid-template-columns:1fr 1fr;gap:16px;margin:16px 0;display:grid}.cs-root .cs-split-barcode img{object-fit:cover;width:100%;height:100%}.cs-root .cs-split-freyja{grid-template-columns:10fr 1fr;align-items:center;gap:24px;margin:16px 0;display:grid}.cs-root .cs-split-freyja img{object-fit:contain;width:100%;height:auto}@media (width<=780px){.cs-root .cs-split-barcode,.cs-root .cs-split-freyja{grid-template-columns:1fr}}.cs-competitor{border-top:1px solid var(--border);margin-top:32px;padding-top:28px}.competitor-section{padding:16px 0 0;position:relative;overflow:visible}.cs-competitor-grid{place-items:center;width:100%;min-height:480px;margin:24px 0;display:grid;position:relative}.cs-competitor-visual{z-index:1;justify-content:center;align-items:center;width:min(440px,70%);display:flex;position:relative}.cs-competitor-visual img{width:100%;height:auto;display:block}.cs-quadrant{border:1px solid var(--border);z-index:2;background:#fff;width:clamp(220px,24%,280px);padding:14px 16px;font-family:IBM Plex Mono,monospace;position:absolute}.cs-quadrant h3{letter-spacing:.14em;color:var(--cs-accent);text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700}.cs-quadrant ul{margin:0;padding-left:0;list-style:none}.cs-quadrant li{color:var(--muted);margin-bottom:4px;font-size:12px;line-height:1.55;display:block}.cs-quadrant li:before{content:""}.cs-quadrant.q1{top:0;right:-8%}.cs-quadrant.q2{top:0;left:-8%}.cs-quadrant.q3{bottom:0;left:-8%}.cs-quadrant.q4{bottom:0;right:-8%}@media (width<=980px){.cs-competitor-grid{grid-auto-rows:auto;gap:12px;min-height:auto}.cs-competitor-visual{width:100%;max-width:540px}.cs-quadrant{width:100%;margin:0;position:static}}.cs-insights,.cs-persona-section{border-top:1px solid var(--border);margin-top:32px;padding-top:28px}.cs-demo{justify-content:center;align-items:center;margin-top:16px;padding:16px;display:flex}.cs-demo img{max-width:100%;height:auto;max-height:80vh;display:block}.cs-stat-row{border:1px solid var(--border);grid-template-columns:repeat(4,1fr);margin-top:8px;display:grid}@media (width<=780px){.cs-stat-row{grid-template-columns:repeat(2,1fr)}}.cs-stat{border-right:1px solid var(--border);flex-direction:column;gap:6px;padding:28px 20px;display:flex}.cs-stat:nth-child(4n){border-right:none}@media (width<=780px){.cs-stat:nth-child(2n){border-right:none}.cs-stat:first-child,.cs-stat:nth-child(2){border-bottom:1px solid var(--border)}}.cs-stat-num{letter-spacing:-.02em;color:var(--cs-accent);font-family:Fraunces,Georgia,serif;font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1}.cs-stat-label{letter-spacing:.06em;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:11px;line-height:1.55}.cs-pipeline-summary{border:1px solid var(--border);align-items:stretch;margin-top:36px;display:flex;overflow-x:auto}.cs-pipeline-node{border-right:1px solid var(--border);flex-direction:column;flex:1;gap:6px;min-width:120px;padding:22px 24px;display:flex}.cs-pipeline-node:last-child{border-right:none}.cs-pipeline-arrow{color:var(--cs-accent);opacity:.5;flex-shrink:0;align-items:center;padding:0 2px;font-family:IBM Plex Mono,monospace;font-size:16px;display:flex}.cs-pipeline-num{letter-spacing:.14em;color:var(--cs-accent);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:700}.cs-pipeline-label{color:var(--ink);font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.45}.cs-sim-params{border:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin:24px 0;display:grid}@media (width<=780px){.cs-sim-params{grid-template-columns:1fr}}.cs-sim-param{border-right:1px solid var(--border);flex-direction:column;gap:10px;padding:22px 20px;display:flex}.cs-sim-param:last-child{border-right:none}@media (width<=780px){.cs-sim-param{border-right:none;border-bottom:1px solid var(--border)}.cs-sim-param:last-child{border-bottom:none}}.cs-sim-param-label{letter-spacing:.14em;text-transform:uppercase;color:var(--cs-accent);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:700}.cs-sim-param-desc{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.75}.articles-grid{flex-direction:column;gap:24px;margin-top:24px;display:flex}.article-card{border:1px solid var(--border);grid-template-columns:280px 1fr;gap:24px;transition:all .2s;display:grid;overflow:hidden}.article-card:hover{border-color:var(--cs-accent)}@media (width<=780px){.article-card{grid-template-columns:1fr}}.article-image{position:absolute;inset:0;overflow:hidden}.article-image img{object-fit:cover;width:100%;height:100%;display:block}.article-image-link{text-decoration:none;display:block;position:relative;overflow:hidden}.article-content{flex-direction:column;gap:12px;padding:16px 24px 24px;display:flex}.article-header{flex-direction:column;display:flex}.article-title-link{color:inherit;text-decoration:none}h2.article-title{letter-spacing:-.01em;color:var(--ink);font-family:Fraunces,Georgia,serif;font-size:22px;font-weight:400;line-height:1.25;margin:12px 0!important}.article-card:hover .article-title{color:var(--cs-accent)}.article-date{letter-spacing:.08em;color:var(--muted);text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:11px;margin:0!important}.article-takeaways{flex-direction:column;gap:8px;display:flex}.article-takeaways h3{letter-spacing:.14em;color:var(--ink);text-transform:uppercase;margin:0;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:700}.article-takeaways ul{margin:0;padding-left:0;list-style:none}.article-takeaways li{color:var(--muted);gap:8px;margin-bottom:4px;font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.65;display:flex}.article-takeaways li:last-child{margin-bottom:0}.article-takeaways li:before{content:"•";color:var(--cs-accent);flex-shrink:0}.article-link{letter-spacing:.06em;color:var(--cs-accent);align-self:flex-start;margin-top:auto;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:700;text-decoration:none;transition:color .2s}.article-link:hover{color:var(--ink)}:root{--bg:#fafafa;--sidebar:#f4f4f4;--ink:#1c1c1a;--muted:#7a7570;--border:#e0ddd8;--accent:#e03a1e}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);font-family:IBM Plex Mono,Courier New,monospace;overflow:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}a{color:inherit;text-decoration:none}.serif{font-family:Fraunces,Georgia,serif}.sidebar{border-right:1px solid var(--border);z-index:20;background:var(--sidebar);flex-direction:column;width:290px;min-width:290px;padding:26px 22px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.main-content{background:var(--bg);flex:1;height:100vh;margin-left:290px;overflow-y:auto}.mobile-topbar{z-index:40;background:var(--sidebar);border-bottom:1px solid var(--border);align-items:center;gap:14px;height:52px;padding:0 14px;display:none;position:fixed;top:0;left:0;right:0}.mobile-topbar-name{letter-spacing:.1em;color:var(--ink);font-family:Fraunces,Georgia,serif;font-size:13px;font-weight:700}.hamburger-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;width:32px;height:32px;padding:0;display:flex;position:relative}.hamburger-btn span{background:var(--ink);transform-origin:50%;border-radius:1px;width:20px;height:1.5px;transition:transform .22s,opacity .18s;display:block}.hamburger-btn.is-open span:first-child{transform:translateY(6.5px)rotate(45deg)}.hamburger-btn.is-open span:nth-child(2){opacity:0}.hamburger-btn.is-open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.sidebar-rule{border:none;border-top:1px solid var(--border);margin:16px 0}.sidebar-label{letter-spacing:.18em;color:#b8b0a8;text-transform:uppercase;margin-bottom:10px;font-size:10px;display:block}.nav-btn{cursor:pointer;letter-spacing:.07em;color:var(--muted);text-align:left;text-transform:uppercase;background:0 0;border:none;border-radius:5px;align-items:center;gap:12px;width:100%;margin-bottom:2px;padding:7px 10px;font-family:IBM Plex Mono,monospace;font-size:12px;transition:background .15s,color .15s;display:flex}.nav-btn:hover{background:var(--border)}.nav-btn.active{background:var(--border);color:var(--ink)}.nav-index{color:#c8c0b8;text-align:right;flex-shrink:0;width:18px;font-size:9px}.nav-btn.active .nav-index{color:var(--ink)}.connect-link{letter-spacing:.07em;color:var(--muted);cursor:pointer;text-transform:uppercase;align-items:center;gap:10px;padding:4px 0;font-family:IBM Plex Mono,monospace;font-size:12px;transition:color .15s;display:flex}.connect-link:hover{color:var(--ink)}.filter-btn{cursor:pointer;letter-spacing:.07em;width:100%;color:var(--muted);text-transform:uppercase;background:0 0;border:none;border-radius:5px;justify-content:space-between;align-items:center;margin-bottom:2px;padding:7px 10px;font-family:IBM Plex Mono,monospace;font-size:12px;transition:background .15s,color .15s;display:flex}.filter-btn:hover{background:var(--border);color:var(--ink)}.filter-btn.active{background:var(--border)}.filter-pill{letter-spacing:.05em;border-radius:20px;padding:1px 7px;font-size:10px}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.work-columns{grid-template-columns:1fr 1fr;align-items:start;gap:24px;padding:24px;display:grid}.work-column{flex-direction:column;gap:24px;display:flex}.work-card{border:1px solid var(--border);opacity:0;background:#fff;transition:box-shadow .2s,transform .2s;animation:.45s cubic-bezier(.16,1,.3,1) forwards fadeUp;overflow:hidden}a.work-card:hover{transform:translateY(-2px);box-shadow:0 6px 24px #00000014}@media (width<=1024px){.work-columns{grid-template-columns:1fr;gap:16px;padding:16px}}.cat-stripe{width:100%;height:2px}.cat-badge{letter-spacing:.1em;text-transform:uppercase;border-radius:3px;padding:2px 7px;font-family:IBM Plex Mono,monospace;font-size:10px;display:inline-block}.course-group-label,.resume-section-title,.resume-date{text-transform:uppercase}.proj-index{color:#c8c0b8;letter-spacing:.06em;flex-shrink:0;font-size:11px}.play-grid{background:var(--border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.play-card{cursor:pointer;transition:filter .2s;overflow:hidden}.play-card:hover{filter:brightness(1.08)}.exp-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;padding:12px 0;font-family:IBM Plex Mono,monospace;font-size:12px;display:flex}.exp-left{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.resume-root{padding-top:32px;padding-bottom:56px}.resume-section{padding:0 24px}.resume-grid{grid-template-columns:1fr 1fr;align-items:start;gap:24px;padding:16px 0;display:grid}.resume-grid-col{flex-direction:column;gap:12px;display:flex}@media (width<=1024px){.resume-grid{grid-template-columns:1fr;gap:12px;padding:12px 0}.resume-section{padding:0 16px}}.resume-card{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:4px;transition:background .15s,box-shadow .15s;position:relative}.resume-card:hover{background:#00000004;box-shadow:0 2px 10px #0000000a}.resume-card-header{align-items:flex-start;gap:16px;padding:16px;display:flex}.resume-card-logo{border:1px solid var(--border);background:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden}.resume-card-logo img{object-fit:cover;width:100%;height:100%}.resume-card-logo-fallback{color:var(--muted);font-family:Fraunces,Georgia,serif;font-size:20px;font-weight:400}.resume-card-body{flex-direction:column;flex:1;gap:6px;min-width:0;padding-top:2px;display:flex}.resume-card-name{color:var(--ink);font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500;line-height:1.3}.resume-card-role{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.3}.resume-card-right-stack{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;display:flex}.resume-card-right-top{align-items:flex-start;gap:16px;display:flex}.resume-card-date{color:var(--muted);letter-spacing:normal;text-transform:none;white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.3}.resume-card-chevron{color:var(--muted);text-align:center;flex-shrink:0;width:18px;padding-top:2px;font-family:IBM Plex Mono,monospace;font-size:16px;transition:color .15s}.resume-card:hover .resume-card-chevron{color:var(--ink)}.resume-card-project-chip{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);white-space:nowrap;background:0 0;border-radius:4px;flex-shrink:0;padding:6px 12px;font-family:IBM Plex Mono,monospace;font-size:11px;transition:background .15s,color .15s,border-color .15s}.resume-card-project-chip:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.resume-card-details{cursor:default;padding:0 16px 16px}@media (width<=860px){.work-grid{grid-template-columns:1fr}.play-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.mobile-topbar{display:flex}.main-content{margin-left:0;padding-top:52px}.sidebar{border-right:none;width:100vw;min-width:0;max-width:100vw;padding:68px 24px 24px;transition:transform .25s;transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0)}.sidebar .sidebar-brand{display:none}}
