.portfolio_root__GQLcn{--cs-bg:#0a1426;--cs-bg-elev:#0f1a2e;--cs-bg-elev-2:#142036;--cs-ink:#e4eaf2;--cs-ink-soft:#bfc9d6;--cs-muted:#7b8aa1;--cs-muted-soft:#5d6b82;--cs-accent:#38bdf8;--cs-accent-soft:rgba(56,189,248,.16);--cs-accent-glow:rgba(56,189,248,.32);--cs-rule:rgba(228,234,242,.08);--cs-rule-strong:rgba(228,234,242,.14);--cs-rule-accent:rgba(56,189,248,.28);--cs-display:"Inter Tight","Inter",system-ui,sans-serif;--cs-sans:"Inter",system-ui,sans-serif;--cs-mono:"JetBrains Mono","Roboto Mono",ui-monospace,monospace;background:var(--cs-bg);color:var(--cs-ink);min-height:100vh;font-family:var(--cs-sans);font-size:16px;padding-top:68px}.portfolio_root__GQLcn section{max-width:unset;margin:0;padding:0}.portfolio_root__GQLcn h1,.portfolio_root__GQLcn h2,.portfolio_root__GQLcn h3,.portfolio_root__GQLcn h4,.portfolio_root__GQLcn h5,.portfolio_root__GQLcn h6{color:var(--cs-ink);font-weight:700;margin:0}.portfolio_root__GQLcn p{margin:0}.portfolio_root__GQLcn ul{margin:0;padding:0}.portfolio_root__GQLcn blockquote{border-left:none;margin:0;padding:0}.portfolio_root__GQLcn .cs-container{max-width:1320px;margin:0 auto;padding:0 56px}.portfolio_root__GQLcn .cs-display-xl{font-size:clamp(56px,8.4vw,128px);line-height:.92;letter-spacing:-.04em}.portfolio_root__GQLcn .cs-display-md,.portfolio_root__GQLcn .cs-display-xl{margin:0;font-family:var(--cs-display);font-weight:700;color:var(--cs-ink);text-wrap:balance}.portfolio_root__GQLcn .cs-display-md{font-size:clamp(28px,3.6vw,44px);line-height:1.05;letter-spacing:-.028em}.portfolio_root__GQLcn .cs-display-soft{color:var(--cs-muted);font-weight:700}.portfolio_root__GQLcn .cs-lead{font-size:19px;color:var(--cs-ink-soft)}.portfolio_root__GQLcn .cs-lead,.portfolio_root__GQLcn .cs-prose-lg{margin:0;font-family:var(--cs-sans);line-height:1.55;font-weight:400;text-wrap:pretty}.portfolio_root__GQLcn .cs-prose-lg{font-size:22px;color:var(--cs-ink)}.portfolio_root__GQLcn .cs-prose{margin:0;font-family:var(--cs-sans);font-size:16px;line-height:1.7;color:var(--cs-ink-soft);font-weight:400;text-wrap:pretty}.portfolio_root__GQLcn .cs-prose-sm{margin:0;font-family:var(--cs-sans);font-size:13px;line-height:1.6;color:var(--cs-muted);font-weight:400;text-wrap:pretty}.portfolio_root__GQLcn .cs-mono{font-family:var(--cs-mono);font-weight:500}.portfolio_root__GQLcn .cs-accent{color:var(--cs-accent)}.portfolio_root__GQLcn .cs-muted{color:var(--cs-muted)}.portfolio_root__GQLcn .cs-muted-soft{color:var(--cs-muted-soft)}.portfolio_root__GQLcn .cs-eyebrow{font-family:var(--cs-mono);font-size:14px;letter-spacing:.04em;color:var(--cs-accent);font-weight:500}.portfolio_root__GQLcn .cs-mono-label{font-family:var(--cs-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--cs-muted);font-weight:500}.portfolio_root__GQLcn .cs-chip{display:inline-flex;align-items:center;padding:5px 10px;border:1px solid var(--cs-rule-accent);border-radius:999px;font-family:var(--cs-mono);font-size:10px;letter-spacing:.08em;color:var(--cs-ink);background:var(--cs-accent-soft);text-transform:uppercase}.portfolio_root__GQLcn .cs-tabbar{position:sticky;top:68px;z-index:10;background:rgba(10,20,38,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--cs-rule)}.portfolio_root__GQLcn .cs-tabbar-inner{display:flex;align-items:center;gap:20px;padding:12px 56px;flex-wrap:nowrap}.portfolio_root__GQLcn .cs-tabbar-meta{display:flex;align-items:baseline;gap:6px;font-size:10px;letter-spacing:.12em;flex-shrink:0;white-space:nowrap}.portfolio_root__GQLcn .cs-tabs{display:flex;gap:2px;margin-left:auto;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.portfolio_root__GQLcn .cs-tabs::-webkit-scrollbar{display:none}.portfolio_root__GQLcn .cs-tab{display:flex;align-items:baseline;gap:6px;padding:8px 12px;background:transparent;border:1px solid transparent;cursor:pointer;border-radius:4px;transition:background .15s ease,border-color .15s ease;white-space:nowrap;flex-shrink:0;font-family:var(--cs-mono)}.portfolio_root__GQLcn .cs-tab:hover{background:var(--cs-rule)}.portfolio_root__GQLcn .cs-tab.active{background:var(--cs-accent-soft);border-color:var(--cs-rule-accent)}.portfolio_root__GQLcn .cs-tab-marker{font-size:10px;letter-spacing:.12em;color:var(--cs-muted)}.portfolio_root__GQLcn .cs-tab.active .cs-tab-marker{color:var(--cs-accent)}.portfolio_root__GQLcn .cs-tab-label{font-size:11px;letter-spacing:.04em;color:var(--cs-ink-soft);text-transform:uppercase}.portfolio_root__GQLcn .cs-tab.active .cs-tab-label{color:var(--cs-ink)}.portfolio_root__GQLcn .cs-section{padding:96px 0 8px;scroll-margin-top:136px}.portfolio_root__GQLcn .cs-section-first{padding-top:64px}.portfolio_root__GQLcn .cs-section-header{display:grid;grid-template-columns:80px 1fr;gap:28px;align-items:baseline;margin-bottom:36px}.portfolio_root__GQLcn .cs-section-header-num{padding-top:6px}.portfolio_root__GQLcn .cs-section-title{margin:0;font-family:var(--cs-display);font-size:32px;line-height:1.05;letter-spacing:-.024em;font-weight:700;color:var(--cs-ink)}.portfolio_root__GQLcn .cs-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px}.portfolio_root__GQLcn .cs-meta-value{font-family:var(--cs-sans);font-size:14px;line-height:1.5;color:var(--cs-ink)}.portfolio_root__GQLcn .cs-methods-list{display:flex;flex-direction:column}.portfolio_root__GQLcn .cs-method-row{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--cs-rule);align-items:baseline}.portfolio_root__GQLcn .cs-method-row:last-child{border-bottom:none}.portfolio_root__GQLcn .cs-method-name{font-family:var(--cs-sans);font-size:14px;color:var(--cs-ink)}.portfolio_root__GQLcn .cs-framed{position:relative;padding:12px}.portfolio_root__GQLcn .cs-framed-inner{background:var(--cs-bg-elev);border:1px solid var(--cs-rule);padding:28px 32px;position:relative;z-index:1}.portfolio_root__GQLcn .cs-framed-accent .cs-framed-inner{border-color:var(--cs-rule-accent)}.portfolio_root__GQLcn .cs-framed-corner{position:absolute;width:32px;height:32px;border-color:var(--cs-accent);border-style:solid;border-width:0;z-index:0}.portfolio_root__GQLcn .cs-framed-tl{top:0;left:0;border-left-width:1.5px;border-top-width:1.5px}.portfolio_root__GQLcn .cs-framed-br{bottom:0;right:0;border-right-width:1.5px;border-bottom-width:1.5px}.portfolio_root__GQLcn .cs-artifact-files{border-top:1px solid var(--cs-rule-strong);border-bottom:1px solid var(--cs-rule-strong)}.portfolio_root__GQLcn .cs-artifact-file{display:grid;grid-template-columns:100px 280px 1fr;gap:28px;padding:20px 0;border-bottom:1px solid var(--cs-rule);align-items:baseline}.portfolio_root__GQLcn .cs-artifact-file:last-child{border-bottom:none}.portfolio_root__GQLcn .cs-artifact-file-num{font-size:11px;letter-spacing:.14em}.portfolio_root__GQLcn .cs-artifact-file-name{font-family:var(--cs-mono);font-size:14px;color:var(--cs-ink);font-weight:500;word-break:break-word}.portfolio_root__GQLcn .cs-artifact-file-desc{font-family:var(--cs-sans);font-size:15px;line-height:1.55;color:var(--cs-ink-soft);text-wrap:pretty}.portfolio_root__GQLcn .cs-systems-intro{margin-top:8px}.portfolio_root__GQLcn .cs-body-list{list-style:none;display:flex;flex-direction:column;gap:14px}.portfolio_root__GQLcn .cs-body-list-item{display:grid;grid-template-columns:14px 1fr;gap:14px;align-items:baseline}.portfolio_root__GQLcn .cs-body-list-bullet{width:6px;height:6px;background:var(--cs-accent);border-radius:1px;margin-top:8px;transform:rotate(45deg)}.portfolio_root__GQLcn .cs-body-list-content{font-family:var(--cs-sans);font-size:16px;line-height:1.65;color:var(--cs-ink-soft)}.portfolio_root__GQLcn .cs-body-list-label{color:var(--cs-ink);font-weight:600}.portfolio_root__GQLcn .cs-body-callout{position:relative;padding:24px 26px 26px;background:var(--cs-accent-soft);border-left:3px solid var(--cs-accent)}.portfolio_root__GQLcn .cs-body-callout-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px}.portfolio_root__GQLcn .cs-body-callout-text{margin:0;font-family:var(--cs-sans);font-size:17px;line-height:1.6;color:var(--cs-ink);font-weight:400}.portfolio_root__GQLcn .cs-fig-label{display:flex;gap:8px;align-items:baseline;margin-bottom:14px;font-size:11px;letter-spacing:.12em}.portfolio_root__GQLcn .cs-systems-chain{display:flex;flex-direction:column}.portfolio_root__GQLcn .cs-systems-row{display:grid;grid-template-columns:44px 220px 1fr 40px;gap:20px;padding:18px 0;align-items:baseline}.portfolio_root__GQLcn .cs-systems-divider{height:1px;background:var(--cs-rule)}.portfolio_root__GQLcn .cs-systems-idx{font-size:11px;letter-spacing:.12em}.portfolio_root__GQLcn .cs-systems-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}.portfolio_root__GQLcn .cs-systems-text{font-family:var(--cs-sans);font-size:17px;line-height:1.45;color:var(--cs-ink);font-weight:400}.portfolio_root__GQLcn .cs-systems-arrow{font-size:16px;text-align:right}.portfolio_root__GQLcn .cs-almost-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:start}.portfolio_root__GQLcn .cs-quote{margin:0;font-family:var(--cs-display);font-size:22px;line-height:1.4;font-weight:500;color:var(--cs-ink);letter-spacing:-.012em}.portfolio_root__GQLcn .cs-impact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.portfolio_root__GQLcn .cs-impact-num{font-size:11px;letter-spacing:.16em;margin-bottom:16px}.portfolio_root__GQLcn .cs-impact-stat{font-family:var(--cs-display);font-size:36px;line-height:1.05;letter-spacing:-.022em;font-weight:700;color:var(--cs-ink);text-wrap:balance;margin-bottom:14px}.portfolio_root__GQLcn .cs-impact-label{font-family:var(--cs-sans);font-size:14px;line-height:1.55;color:var(--cs-ink-soft);text-wrap:pretty}.portfolio_root__GQLcn .cs-case-footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;padding-top:56px;padding-bottom:96px;border-top:1px solid var(--cs-rule-strong);margin-top:96px}.portfolio_root__GQLcn .cs-footer-btn{background:transparent;border:1px solid var(--cs-rule);padding:24px 28px;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:border-color .15s ease,background .15s ease}.portfolio_root__GQLcn .cs-footer-btn:hover{border-color:var(--cs-rule-accent);background:var(--cs-accent-soft)}.portfolio_root__GQLcn .cs-footer-btn-left{align-items:flex-start;text-align:left}.portfolio_root__GQLcn .cs-footer-btn-center{align-items:center;text-align:center}.portfolio_root__GQLcn .cs-footer-btn-right{align-items:flex-end;text-align:right}.portfolio_root__GQLcn .cs-footer-title{font-family:var(--cs-display);font-size:18px;line-height:1.2;font-weight:600;color:var(--cs-ink);letter-spacing:-.014em}.portfolio_root__GQLcn .cs-home{padding-top:40px;padding-bottom:96px}.portfolio_root__GQLcn .cs-home-hero{padding-top:40px;padding-bottom:24px}.portfolio_root__GQLcn .cs-home-section-head{margin-bottom:32px}.portfolio_root__GQLcn .cs-home-section-title{margin-top:12px;font-family:var(--cs-display);font-size:clamp(28px,4vw,48px);line-height:1.05;letter-spacing:-.025em;font-weight:700;color:var(--cs-ink)}.portfolio_root__GQLcn .cs-projects-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--cs-rule-strong)}.portfolio_root__GQLcn .cs-project-row{border-bottom:1px solid var(--cs-rule-strong)}.portfolio_root__GQLcn .cs-project-row.hovered{background:linear-gradient(90deg,var(--cs-accent-soft),transparent 60%)}.portfolio_root__GQLcn .cs-project-btn{width:100%;background:transparent;border:none;cursor:pointer;text-align:left;display:grid;grid-template-columns:100px 1fr 160px;gap:36px;padding:36px 0;align-items:start}.portfolio_root__GQLcn .cs-project-num{padding-top:4px;font-size:13px;letter-spacing:.14em}.portfolio_root__GQLcn .cs-project-body{display:flex;flex-direction:column;gap:14px}.portfolio_root__GQLcn .cs-project-title{font-family:var(--cs-display);font-size:clamp(34px,4vw,56px);line-height:.98;letter-spacing:-.03em;font-weight:700;text-wrap:balance;max-width:820px;color:var(--cs-ink)}.portfolio_root__GQLcn .cs-project-subtitle{margin:0;font-family:var(--cs-sans);font-size:17px;line-height:1.5;color:var(--cs-ink-soft);max-width:760px;text-wrap:pretty}.portfolio_root__GQLcn .cs-project-meta{display:flex;gap:12px;align-items:baseline;font-size:12px;margin-top:4px}.portfolio_root__GQLcn .cs-project-cta{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:12px;padding-top:8px}.portfolio_root__GQLcn .cs-project-arrow{font-family:var(--cs-mono);font-size:24px;color:var(--cs-accent);transition:transform .2s ease}.portfolio_root__GQLcn .cs-project-row.hovered .cs-project-arrow{transform:translateX(6px)}.portfolio_root__GQLcn .cs-reader-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.portfolio_root__GQLcn .cs-reader-card{position:relative;padding:12px}.portfolio_root__GQLcn .cs-reader-inner{background:var(--cs-bg-elev);border:1px solid var(--cs-rule);padding:28px 30px 32px;position:relative;z-index:1;min-height:220px;display:flex;flex-direction:column}.portfolio_root__GQLcn .cs-reader-corner{position:absolute;width:28px;height:28px;border-color:var(--cs-accent);border-style:solid;border-width:0;z-index:0}.portfolio_root__GQLcn .cs-reader-corner-tl{top:0;left:0;border-left-width:1.5px;border-top-width:1.5px}.portfolio_root__GQLcn .cs-reader-corner-br{bottom:0;right:0;border-right-width:1.5px;border-bottom-width:1.5px}.portfolio_root__GQLcn .cs-reader-title{margin:0;font-family:var(--cs-display);font-size:22px;line-height:1.2;letter-spacing:-.018em;font-weight:700;color:var(--cs-ink)}.portfolio_root__GQLcn .cs-home-footer{margin-top:120px;padding-top:28px;border-top:1px solid var(--cs-rule-strong)}.portfolio_root__GQLcn .cs-home-footer-grid{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}.portfolio_root__GQLcn .cs-home-footer a{text-decoration:none;color:inherit}@media (max-width:980px){.portfolio_root__GQLcn .cs-container{padding:0 32px}.portfolio_root__GQLcn .cs-tabbar-inner{padding:10px 32px}.portfolio_root__GQLcn .cs-tabbar-meta{display:none}.portfolio_root__GQLcn .cs-almost-grid,.portfolio_root__GQLcn .cs-impact-grid,.portfolio_root__GQLcn .cs-overview-grid,.portfolio_root__GQLcn .cs-reader-grid{grid-template-columns:1fr}.portfolio_root__GQLcn .cs-project-btn{grid-template-columns:60px 1fr}.portfolio_root__GQLcn .cs-project-cta{display:none}.portfolio_root__GQLcn .cs-case-footer{grid-template-columns:1fr}.portfolio_root__GQLcn .cs-section-header{grid-template-columns:1fr;gap:12px}.portfolio_root__GQLcn .cs-systems-row{grid-template-columns:32px 140px 1fr 24px;gap:12px}.portfolio_root__GQLcn .cs-artifact-file{grid-template-columns:1fr;gap:4px;padding:16px 0}}