:root{--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--radius-pill: 9999px;--sans: "Switzer", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--ease: cubic-bezier(.16, 1, .3, 1);--duration: .18s;--pad: clamp(1.25rem, 4vw, 2.75rem);--max: 72rem;--section: clamp(2.5rem, 5vw, 3.5rem);--g-blue: #4285f4;--g-red: #ea4335;--g-yellow: #fbbc04;--g-green: #34a853;--bg: #f8f9fa;--paper: var(--bg);--surface: #ffffff;--surface-raised: #ffffff;--surface-sunken: #e8eaed;--surface-muted: #f1f3f4;--ink: #202124;--ink-soft: #5f6368;--ink-faint: #80868b;--line: rgba(32, 33, 36, .08);--line-strong: rgba(32, 33, 36, .14);--hairline: #dadce0;--hairline-soft: #e8eaed;--hairline-strong: #bdc1c6;--accent: var(--g-blue);--accent-soft: color-mix(in srgb, var(--accent) 14%, transparent);--status: var(--g-green);--status-soft: color-mix(in srgb, var(--status) 18%, transparent);--chip-bg: color-mix(in srgb, var(--surface-muted) 88%, transparent);--chip-border: var(--hairline-soft);--chip-ink: var(--ink-soft);--wash-strength: 6%;--cta: var(--g-blue);--cta-ink: #ffffff;--cta-hover: #1a73e8;--domain-fintech: var(--chip-bg);--domain-erp: var(--chip-bg);--domain-systems: var(--chip-bg);--domain-ops: var(--chip-bg);--surface-tint: color-mix(in srgb, var(--surface) 90%, var(--g-blue) 10%);--surface-tint-border: color-mix(in srgb, var(--g-blue) 16%, var(--hairline-soft));--edge-hi: rgba(255, 255, 255, .92);--edge-lo: rgba(32, 33, 36, .06);--lift: inset 0 1px 0 var(--edge-hi), 0 1px 2px rgba(32, 33, 36, .04), 0 10px 24px -12px rgba(32, 33, 36, .1);--lift-preview: inset 0 1px 0 var(--edge-hi), 0 4px 16px rgba(32, 33, 36, .05), 0 22px 48px -16px rgba(32, 33, 36, .14);--well: inset 0 1px 4px rgba(32, 33, 36, .06), inset 0 -1px 0 rgba(255, 255, 255, .55);--press: inset 0 2px 5px rgba(32, 33, 36, .14);color-scheme:light}html[data-theme=dark]{--g-blue: #8ab4f8;--g-red: #f28b82;--g-yellow: #fdd663;--g-green: #81c995;--bg: #202124;--paper: var(--bg);--surface: #292a2d;--surface-raised: #303134;--surface-sunken: #171717;--surface-muted: #3c4043;--ink: #e8eaed;--ink-soft: #9aa0a6;--ink-faint: #80868b;--line: rgba(232, 234, 237, .08);--line-strong: rgba(232, 234, 237, .14);--hairline: rgba(232, 234, 237, .1);--hairline-soft: rgba(232, 234, 237, .06);--hairline-strong: rgba(232, 234, 237, .18);--accent: var(--g-blue);--accent-soft: color-mix(in srgb, var(--accent) 18%, transparent);--status: var(--g-green);--status-soft: color-mix(in srgb, var(--status) 22%, transparent);--chip-bg: color-mix(in srgb, var(--surface-muted) 70%, transparent);--chip-border: var(--hairline-soft);--chip-ink: var(--ink-soft);--wash-strength: 8%;--cta: var(--g-blue);--cta-ink: #202124;--cta-hover: #aecbfa;--domain-fintech: var(--chip-bg);--domain-erp: var(--chip-bg);--domain-systems: var(--chip-bg);--domain-ops: var(--chip-bg);--surface-tint: color-mix(in srgb, var(--surface) 86%, var(--g-blue) 14%);--surface-tint-border: color-mix(in srgb, var(--g-blue) 22%, var(--hairline-soft));--edge-hi: rgba(255, 255, 255, .07);--edge-lo: rgba(0, 0, 0, .55);--lift: inset 0 1px 0 var(--edge-hi), 0 1px 2px rgba(0, 0, 0, .3), 0 14px 30px -18px rgba(0, 0, 0, .7);--lift-preview: inset 0 1px 0 var(--edge-hi), 0 2px 3px rgba(0, 0, 0, .34), 0 28px 56px -20px rgba(0, 0, 0, .85);--well: inset 0 2px 12px rgba(0, 0, 0, .55), inset 0 -1px 0 var(--edge-hi);--press: inset 0 2px 6px rgba(0, 0, 0, .65);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg)}body.lp{margin:0;min-height:100dvh;overflow-x:hidden;font-family:var(--sans);font-size:1rem;line-height:1.5;letter-spacing:.01em;color:var(--ink);background:radial-gradient(70% 42% at 100% 0%,color-mix(in srgb,var(--accent) var(--wash-strength),transparent),transparent 55%),var(--bg);-webkit-font-smoothing:antialiased;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.lp-skip{position:absolute;left:-9999px;top:0;z-index:100;padding:.5rem .75rem;background:var(--cta);color:var(--cta-ink);border-radius:var(--radius-sm)}.lp-skip:focus{left:var(--pad);top:.5rem}.lp-nav-shell{position:sticky;top:0;z-index:30;display:flex;justify-content:flex-end;padding:.75rem var(--pad) .55rem;pointer-events:none}.lp-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;margin:0;padding:0;pointer-events:auto;animation:lp-nav-in .55s var(--ease) both}@keyframes lp-nav-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.lp-header-tools{display:flex;align-items:center;gap:.35rem;flex-shrink:0;padding:.15rem;border:0;border-radius:var(--radius-pill);background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .28s var(--ease),backdrop-filter .28s var(--ease),-webkit-backdrop-filter .28s var(--ease)}.lp-nav-shell.is-scrolled .lp-header-tools{background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px) saturate(1.12);-webkit-backdrop-filter:blur(14px) saturate(1.12)}.lp-nav-shell.is-scrolled .lp-back-to-work{padding:.35rem .7rem;border-bottom-color:transparent;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px) saturate(1.12);-webkit-backdrop-filter:blur(14px) saturate(1.12)}@media(prefers-reduced-transparency:reduce){.lp-nav-shell.is-scrolled .lp-header-tools,.lp-nav-shell.is-scrolled .lp-back-to-work{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-reduced-motion:reduce){.lp-header-tools,.lp-back-to-work{transition-duration:.01ms}}.lp-locale{display:inline-flex;align-items:center;justify-content:center;min-width:1.85rem;min-height:1.85rem;padding:.2rem .35rem;border-radius:var(--radius-pill);font-family:var(--mono);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;line-height:1;background:transparent;box-shadow:none;transition:color var(--duration) var(--ease),background var(--duration) var(--ease)}.lp-locale:hover{color:var(--ink);background:color-mix(in srgb,var(--surface-muted) 80%,transparent)}.lp-locale:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.lp-locale:active{color:var(--ink)}@media(prefers-reduced-motion:reduce){.lp-header{animation:none}}.lp-theme{appearance:none;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.85rem;height:1.85rem;padding:0;border:0;background:transparent;color:var(--ink-soft);border-radius:var(--radius-pill);cursor:pointer;transition:color var(--duration) var(--ease),background var(--duration) var(--ease),transform var(--duration) var(--ease)}.lp-theme:hover{color:var(--ink);background:color-mix(in srgb,var(--surface-muted) 80%,transparent)}.lp-theme:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:2px}.lp-theme:active{transform:scale(.94)}.lp-theme-icon{position:relative;display:block;width:15px;height:15px}.lp-theme-icon svg{position:absolute;inset:0;display:block;transition:opacity .28s var(--ease),transform .28s var(--ease),color .28s var(--ease)}.lp-theme-sun{opacity:0;transform:rotate(40deg) scale(.82);color:var(--g-yellow)}.lp-theme-sun path{fill:var(--g-yellow);stroke:var(--g-yellow)}.lp-theme-moon{opacity:1;transform:rotate(0) scale(1);color:var(--ink-soft)}.lp-theme-moon path{fill:none;stroke:currentColor}html[data-theme=dark] .lp-theme-sun{opacity:1;transform:rotate(0) scale(1)}html[data-theme=dark] .lp-theme-moon{opacity:0;transform:rotate(-40deg) scale(.82)}html[data-theme=dark] .lp-theme:hover{color:var(--g-yellow)}.lp-back-to-work{appearance:none;display:inline-flex;align-items:center;gap:.5rem;margin:0;padding:0 0 1px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:.9375rem;font-weight:500;line-height:1.2;cursor:pointer;text-decoration:none;border-bottom:1px solid var(--line-strong);opacity:0;pointer-events:none;transition:opacity var(--duration) var(--ease),border-color var(--duration) var(--ease),color var(--duration) var(--ease),background .28s var(--ease),backdrop-filter .28s var(--ease),-webkit-backdrop-filter .28s var(--ease),padding .28s var(--ease)}.lp-back-to-work:hover{border-color:var(--accent);color:var(--accent)}.lp-back-to-work:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.lp-back-to-work svg{flex-shrink:0}.lp.is-background .lp-back-to-work{opacity:1;pointer-events:auto}.lp-stage{position:relative}.lp-background{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;filter:blur(16px);opacity:.48;transform:scale(1.05);transition:filter .65s var(--ease),opacity .55s var(--ease),transform .65s var(--ease)}.lp-background:after{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--bg) 38%,transparent);pointer-events:none;transition:opacity .55s var(--ease)}.lp-background-scroll{height:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.lp-background-main{padding-bottom:clamp(3rem,8vw,5rem)}.lp.is-background .lp-background{z-index:2;filter:blur(0);opacity:1;transform:none;pointer-events:auto}.lp.is-background .lp-background:after{opacity:0}.lp-foreground{position:relative;z-index:1;min-height:calc(100dvh - 5.5rem);transition:opacity .5s var(--ease),transform .55s var(--ease),filter .5s var(--ease)}.lp.is-background .lp-foreground{opacity:0;pointer-events:none;transform:translateY(-10px) scale(.985);filter:blur(4px)}.lp.is-background .lp-preview{opacity:0;pointer-events:none}.lp-main{max-width:var(--max);margin:0 auto;padding:clamp(1.5rem,3.5vw,2.25rem) var(--pad) clamp(2.5rem,5vw,3.5rem)}.lp-main.lp-background-main{padding-top:clamp(4.5rem,11vw,5.75rem)}.lp-work{display:flex;flex-direction:column;align-items:center;width:100%}.lp-about{display:flex;flex-direction:column;gap:var(--section)}.lp-bezel{padding:.45rem;background:color-mix(in srgb,var(--surface-muted) 80%,var(--bg));border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--lift)}.lp-bezel-inner{background:var(--surface);border-radius:calc(var(--radius-lg) - .45rem);box-shadow:var(--well),inset 0 1px 0 var(--edge-hi)}.lp-reveal{opacity:.01;transform:translateY(1.25rem);transition:opacity .65s var(--ease),transform .7s var(--ease)}.lp-reveal.is-visible{opacity:1;transform:none}@keyframes lp-settle-in{0%{opacity:.01;transform:translateY(14px)}to{opacity:1;transform:none}}.lp-bio-role{margin:0 0 .65rem;font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.lp-work-hero .lp-bio-role{margin-bottom:.85rem;color:var(--ink-soft)}.lp-bio-subtitle{margin:0 0 1.1rem;font-size:1rem;font-weight:500;line-height:1.4;letter-spacing:-.01em;color:var(--ink);max-width:28rem}.lp-bio-name{margin:0 0 .85rem;font-size:clamp(3rem,7vw,5rem);font-weight:500;letter-spacing:-.04em;line-height:1.02;color:var(--ink);max-width:14ch}.lp-bio-line{margin:0 0 1.15rem;color:var(--ink-soft);font-size:1.125rem;line-height:1.55;letter-spacing:.01em;max-width:34rem}.lp-bio-links{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;list-style:none;margin:0 0 1.25rem;padding:0}.lp-bio-link{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.85rem;height:1.85rem;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--ink-soft);text-decoration:none;box-shadow:none;transition:color var(--duration) var(--ease),background var(--duration) var(--ease)}.lp-bio-link:hover{color:var(--ink);background:color-mix(in srgb,var(--surface-muted) 80%,transparent)}.lp-bio-link:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:2px}.lp-bio-link:active{transform:scale(.94)}.lp-bio-link svg{display:block}.lp-bio-links a:not(.lp-bio-link){color:var(--ink);font-size:.9375rem;font-weight:500;text-decoration:none;border-bottom:1px solid var(--line-strong);padding-bottom:1px;transition:border-color var(--duration) var(--ease),color var(--duration) var(--ease)}.lp-bio-links a:not(.lp-bio-link):hover{border-color:var(--accent);color:var(--accent)}.lp-bio-more{appearance:none;display:inline-flex;align-items:center;gap:.65rem;border:0;background:var(--cta);color:var(--cta-ink);font:inherit;font-size:.9375rem;font-weight:500;padding:.55rem .55rem .55rem 1.25rem;border-radius:var(--radius-pill);cursor:pointer;text-decoration:none;min-height:2.75rem;box-shadow:var(--lift),0 1px color-mix(in srgb,var(--cta-ink) 12%,transparent) inset;transition:background var(--duration) var(--ease),box-shadow var(--duration) var(--ease),transform var(--duration) var(--ease)}.lp-bio-more:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:3px}.lp-btn-icon{width:2rem;height:2rem;border-radius:50%;background:color-mix(in srgb,var(--cta-ink) 18%,transparent);color:var(--cta-ink);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .28s var(--ease),background var(--duration) var(--ease)}.lp-bio-more:hover{background:var(--cta-hover)}.lp-bio-more:hover .lp-btn-icon{transform:translate(2px,-2px);background:color-mix(in srgb,var(--cta-ink) 24%,transparent)}.lp-bio-more:active{box-shadow:var(--press);transform:translateY(1px)}.lp-bio-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.lp-btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem 1.15rem;min-height:2.75rem;border:1px solid var(--hairline-strong);border-radius:var(--radius-pill);background:transparent;color:var(--ink);font:inherit;font-size:.9375rem;font-weight:500;text-decoration:none;cursor:pointer;transition:color var(--duration) var(--ease),border-color var(--duration) var(--ease),background var(--duration) var(--ease),transform var(--duration) var(--ease)}.lp-btn-outline:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--hairline-strong));color:var(--ink);background:var(--accent-soft)}.lp-btn-outline:active{transform:translateY(1px)}.lp-badge{display:inline-flex;align-items:center;font-family:var(--sans);font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1.35;padding:.2rem .55rem;border-radius:var(--radius-pill);background:var(--chip-bg);color:var(--chip-ink);border:1px solid var(--chip-border);white-space:nowrap}.lp-badge-quiet{font-family:var(--mono);font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink-faint);background:transparent;padding:0}.lp-badge--fintech{background:var(--domain-fintech)}.lp-badge--erp{background:var(--domain-erp)}.lp-badge--systems{background:var(--domain-systems)}.lp-badge--ops{background:var(--domain-ops)}.lp-roster{width:100%;max-width:var(--max);margin-top:clamp(2.25rem,5vw,3.25rem);padding-top:0;border-top:none;text-align:left}.lp-roster-head{margin-bottom:1.15rem}.lp-roster-ref{font-family:var(--mono);font-size:.625rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--chip-ink);padding:.28rem .65rem;border-radius:var(--radius-pill);background:var(--chip-bg);border:1px solid var(--chip-border);box-shadow:inset 0 1px 0 var(--edge-hi)}.lp-roster-switch{display:inline-flex;align-items:center;gap:.15rem;padding:.15rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface-muted) 70%,transparent);flex-shrink:0}.lp-roster-switch__btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;margin:0;padding:.3rem .65rem;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--ink-soft);font:inherit;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;line-height:1;transition:color var(--duration) var(--ease),background var(--duration) var(--ease)}.lp-roster-switch__btn svg{display:block;flex-shrink:0}.lp-roster-switch__btn:hover{color:var(--ink);background:color-mix(in srgb,var(--surface) 55%,transparent)}.lp-roster-switch__btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:2px}.lp-roster-switch__btn[aria-pressed=true]{color:var(--ink);background:var(--surface);box-shadow:var(--lift)}.lp-roster-switch__btn--star[aria-pressed=true]{color:var(--ink)}.lp-roster-switch__btn--star[aria-pressed=true] svg path{fill:var(--g-yellow);stroke:var(--g-yellow)}.lp-roster-switch__btn--star:not([aria-pressed=true]) svg path{fill:none;stroke:currentColor}.lp-console-more{list-style:none;margin:.15rem 0 0;padding:.15rem 0 0;border-top:1px solid var(--hairline-soft)}.lp-console.is-filtered .lp-console-more{display:block}.lp-console:not(.is-filtered) .lp-console-more{display:none}.lp-console-more-btn{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:.65rem;width:100%;margin:0;padding:.7rem .85rem;border:0;border-radius:var(--radius);background:transparent;color:var(--ink-soft);font:inherit;font-size:.8125rem;font-weight:500;text-align:left;cursor:pointer;transition:color var(--duration) var(--ease),background var(--duration) var(--ease)}.lp-console-more-btn:hover{color:var(--ink);background:color-mix(in srgb,var(--surface) 70%,transparent)}.lp-console-more-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:2px}.lp-console-more-count{font-family:var(--mono);font-size:.6875rem;font-weight:500;letter-spacing:.02em;color:var(--ink-faint)}.lp-console-item[data-filter-hidden=true]{display:none}.lp-directory{display:flex;flex-direction:column;gap:clamp(2.25rem,5vw,3.5rem)}.lp-dir-group{min-width:0}.lp-dir-heading{margin-bottom:.75rem;padding-left:.75rem;border-left:1px solid var(--hairline-strong)}.lp-dir-group--fintech .lp-dir-heading,.lp-dir-group--erp .lp-dir-heading,.lp-dir-group--systems .lp-dir-heading,.lp-dir-group--ops .lp-dir-heading{border-left-color:var(--hairline-strong)}.lp-dir-title{margin:0;font-family:var(--mono);font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.lp-dir-list{display:grid;grid-template-columns:1fr;gap:0 1.75rem}@media(min-width:760px){.lp-dir-list{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-dir-list:has(>.lp-dir-col:only-child){grid-template-columns:minmax(0,1fr)}}.lp-dir-col{list-style:none;margin:0;padding:0;min-width:0}.lp-roster-item{box-shadow:inset 0 -1px 0 var(--hairline-soft)}.lp-dir-col:last-child .lp-roster-item:last-child{box-shadow:none}.lp-roster-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name period" "detail detail";align-items:baseline;column-gap:.75rem;row-gap:.1rem;padding:.55rem .5rem;margin:0 -.5rem;border-radius:var(--radius-sm);transition:background var(--duration) var(--ease)}.lp-roster-item:hover .lp-roster-row,.lp-roster-item:focus-within .lp-roster-row{background:color-mix(in srgb,var(--surface-muted) 60%,transparent)}.lp-roster-item.is-peek .lp-roster-row{background:color-mix(in srgb,var(--accent) 8%,transparent)}.lp-roster-main{display:contents}.lp-roster-name{grid-area:name;min-width:0;font-size:1rem;font-weight:500;letter-spacing:-.01em;line-height:1.3;color:var(--ink);text-decoration:none}a.lp-roster-name{position:relative}a.lp-roster-name:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .24s var(--ease)}a.lp-roster-name:hover:after,a.lp-roster-name:focus-visible:after,.lp-roster-item:hover a.lp-roster-name:after,.lp-roster-item.is-peek a.lp-roster-name:after{transform:scaleX(1)}a.lp-roster-name:focus-visible{outline:none}span.lp-roster-name{cursor:default}.lp-roster-detail{grid-area:detail;margin:0;font-size:.8125rem;line-height:1.45;color:var(--ink-soft);padding-top:.1rem}.lp-roster-lead{display:none}.lp-roster-period{grid-area:period;font-family:var(--mono);font-size:.6875rem;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink-faint)}.lp-row--peekable{cursor:pointer}.lp-row--peekable:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px;border-radius:var(--radius-sm)}@media(max-width:759px){.lp-dir-col:not(:last-child) .lp-roster-item:last-child{box-shadow:inset 0 -1px 0 var(--hairline-soft)}}.lp-console{position:relative;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 94%,var(--bg));box-shadow:var(--lift);overflow:hidden;min-width:0;width:100%}.lp-console-rail{min-width:0}.lp-console-panel{display:none}.lp-console-list{list-style:none;margin:0;padding:.4rem;display:flex;flex-direction:column;gap:.2rem;background:color-mix(in srgb,var(--surface-muted) 55%,transparent)}.lp-console-item{min-width:0;border-radius:var(--radius);background:color-mix(in srgb,var(--surface-muted) 70%,transparent);border:1px solid var(--hairline-soft);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--ink) 4%,transparent);overflow:hidden;transition:border-color var(--duration) var(--ease),background var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.lp-console-item.is-open{background:var(--surface);border-color:var(--line-strong);box-shadow:var(--lift)}.lp-console-cap{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:.65rem;width:100%;padding:.7rem .85rem;border:0;border-radius:var(--radius);background:transparent;font-family:var(--sans);font-size:.875rem;font-weight:500;color:var(--ink-faint);text-align:left;cursor:pointer;line-height:1.25;transition:color var(--duration) var(--ease),background var(--duration) var(--ease),box-shadow var(--duration) var(--ease),transform var(--duration) var(--ease)}.lp-mark{flex-shrink:0;display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:.4rem;background:var(--surface);border:1px solid var(--hairline-soft);box-shadow:inset 0 1px color-mix(in srgb,var(--edge-hi) 55%,transparent);overflow:hidden}.lp-mark--lg{width:2.5rem;height:2.5rem;border-radius:.5rem}.lp-mark-img{display:block;width:100%;height:100%;object-fit:contain;padding:.15rem;background:#fff}.lp-mark-mono{font-family:var(--mono);font-size:.5625rem;font-weight:600;letter-spacing:.02em;color:var(--ink-soft);line-height:1}.lp-mark--lg .lp-mark-mono{font-size:.75rem}.lp-mark--git{width:1.5rem;height:1.5rem;border-radius:.35rem;margin-top:.15rem}.lp-console-cap:hover{color:var(--ink)}.lp-console-cap:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:-2px}.lp-console-cap.is-active{color:var(--ink);background:color-mix(in srgb,var(--surface) 88%,var(--accent-soft))}.lp-console-cap.is-active .lp-console-cap-name{color:var(--ink)}.lp-console-cap.is-active .lp-console-cap-period{color:var(--ink-soft);opacity:1}.lp-console-cap.is-flash{animation:lp-cap-flash .85s var(--ease)}@keyframes lp-cap-flash{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 35%,transparent)}40%{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}to{box-shadow:none}}.lp-console-cap:active:not(.is-active){transform:scale(.99)}.lp-console-cap-text{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;min-width:0;flex:1 1 auto}.lp-console-cap-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-console-cap-period{flex-shrink:0;font-family:var(--mono);font-size:.625rem;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;color:var(--ink-faint);opacity:.85}.lp-console-cap-chevron{flex-shrink:0;width:.55rem;height:.55rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);opacity:.45;transition:transform var(--duration) var(--ease),opacity var(--duration) var(--ease)}.lp-console-cap.is-active .lp-console-cap-chevron{transform:rotate(225deg);opacity:.7}.lp-dossier{padding:0 .95rem 1.1rem}.lp-dossier[hidden]{display:none}.lp-dossier.is-entering{animation:lp-dossier-in .38s var(--ease) both}@keyframes lp-dossier-in{0%{opacity:.01;transform:translateY(6px)}to{opacity:1;transform:none}}.lp-dossier-head{display:none;align-items:center;gap:.85rem;margin:0 0 .85rem}.lp-dossier-title{margin:0;font-size:1.25rem;font-weight:600;letter-spacing:-.015em;color:var(--ink)}.lp-dossier-sub{margin:0 0 .85rem;font-size:.9375rem;line-height:1.55;color:var(--ink-soft);max-width:42rem}.lp-dossier-outcome{margin:-.35rem 0 .85rem;font-family:var(--mono);font-size:.75rem;font-weight:500;letter-spacing:.02em;color:var(--ink);max-width:42rem}.lp-dossier-meta-row{display:flex;align-items:center;gap:.55rem;margin-bottom:1.35rem;padding-bottom:1rem;border-bottom:1px solid var(--hairline-soft)}.lp-dossier-meta-row .lp-dossier-period{font-family:var(--mono);font-size:.625rem;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}.lp-dossier-meta-row .lp-dossier-domain{font-family:var(--mono);font-size:.625rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .55rem;border-radius:var(--radius-pill);color:var(--chip-ink);background:var(--chip-bg);border:1px solid var(--chip-border);box-shadow:inset 0 1px 0 var(--edge-hi)}.lp-dossier-domain--fintech,.lp-dossier-domain--erp,.lp-dossier-domain--systems,.lp-dossier-domain--ops{color:var(--chip-ink);background:var(--chip-bg);border-color:var(--chip-border)}.lp-dossier-surfaces{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.35rem}.lp-dossier-surface{padding:.85rem 1rem;border:1px solid var(--surface-tint-border);border-radius:var(--radius-sm);background:var(--surface-tint);box-shadow:inset 0 1px 0 var(--edge-hi);transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease),background var(--duration) var(--ease),transform var(--duration) var(--ease)}.lp-dossier-surface:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--hairline));background:color-mix(in srgb,var(--surface) 84%,var(--accent) 16%);box-shadow:var(--lift);transform:translateY(-1px)}.lp-dossier-surface-name{margin:0 0 .25rem;font-size:.875rem;font-weight:500;color:var(--ink);line-height:1.35}.lp-dossier-surface-blurb{margin:0 0 .35rem;font-size:.8125rem;line-height:1.5;color:var(--ink-soft)}.lp-dossier--solo .lp-dossier-surfaces{gap:0;margin-bottom:1.5rem}.lp-dossier--solo .lp-dossier-surface{padding:1.15rem 1.25rem;border-color:var(--surface-tint-border);background:var(--surface-tint);box-shadow:var(--lift)}.lp-dossier--solo .lp-dossier-surface-name{font-size:1.0625rem;font-weight:600;letter-spacing:-.01em}.lp-dossier--solo .lp-dossier-surface-blurb{font-size:.875rem;max-width:36rem;line-height:1.55}.lp-dossier--solo .lp-dossier-surface-stack{margin-top:.45rem;font-size:.75rem}.lp-dossier-surface-stack{margin:.3rem 0 0;font-family:var(--mono);font-size:.6875rem;color:var(--ink-faint);overflow-wrap:anywhere}.lp-dossier-surface-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:.35rem;max-width:100%;font-size:.8125rem;font-weight:500;color:var(--accent);text-decoration:none;overflow-wrap:anywhere;transition:color var(--duration) var(--ease),gap var(--duration) var(--ease)}.lp-dossier-surface-link:hover{color:var(--ink);gap:.5rem}.lp-dossier-surface-link--pending{color:var(--ink-faint);cursor:default;font-family:var(--mono);font-size:.75rem;font-weight:500}.lp-dossier-surface-link--pending:hover{color:var(--ink-faint);gap:.35rem}.lp-dossier-link{appearance:none;display:inline-flex;align-items:center;gap:.55rem;margin-top:.25rem;padding:.4rem .4rem .4rem 1.1rem;min-height:2.4rem;border:0;border-radius:var(--radius-pill);background:var(--cta);color:var(--cta-ink);font:inherit;font-size:.875rem;font-weight:500;text-decoration:none;box-shadow:var(--lift),0 1px color-mix(in srgb,var(--cta-ink) 12%,transparent) inset;transition:background var(--duration) var(--ease),box-shadow var(--duration) var(--ease),transform var(--duration) var(--ease)}.lp-dossier-link:hover{background:var(--cta-hover);color:var(--cta-ink)}.lp-dossier-link:hover .lp-dossier-link-icon{transform:translate(1px,-1px)}.lp-dossier-link:active{box-shadow:var(--press);transform:translateY(1px)}.lp-dossier-link:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:3px}.lp-dossier-link-icon{width:1.75rem;height:1.75rem;border-radius:50%;background:color-mix(in srgb,var(--cta-ink) 18%,transparent);color:var(--cta-ink);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .28s var(--ease)}@media(max-width:759px){.lp-console-list{padding:.3rem;gap:.15rem}.lp-console-cap{padding:.7rem .75rem;min-height:2.75rem}.lp-dossier{padding:0 .8rem 1rem}.lp-dossier-meta-row{flex-wrap:wrap;gap:.5rem}.lp-dossier-surfaces{gap:.65rem}.lp-dossier-surface{padding:.95rem 1rem}}@media(min-width:760px){.lp-console{display:grid;grid-template-columns:272px minmax(0,1fr);align-items:stretch;min-height:340px}.lp-console-rail{grid-column:1;padding:.7rem;background:color-mix(in srgb,var(--surface-muted) 45%,transparent);border-right:1px solid var(--hairline-soft)}.lp-console-list{padding:.2rem;gap:.15rem;background:color-mix(in srgb,var(--surface-muted) 78%,transparent);border:1px solid var(--hairline-soft);border-radius:var(--radius);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--ink) 4%,transparent)}.lp-console-item{background:transparent;border:0;box-shadow:none;border-radius:0;overflow:visible}.lp-console-item.is-open{background:transparent;border:0;box-shadow:none}.lp-console-cap{padding:.55rem .7rem;border-radius:calc(var(--radius) - 2px);font-size:.8125rem}.lp-console-cap.is-active{background:color-mix(in srgb,var(--surface) 92%,var(--accent-soft));box-shadow:var(--lift)}.lp-console-cap-chevron{display:none}.lp-console-cap-period{font-size:.5625rem}.lp-console-item>.lp-dossier{display:none!important}.lp-console-panel{grid-column:2;display:block;min-width:0;min-height:100%;background:var(--surface);box-shadow:inset 1px 0 color-mix(in srgb,var(--edge-hi) 55%,transparent)}.lp-console-panel .lp-dossier{position:static;inset:auto;margin:0;padding:1.75rem 2rem;overflow:visible;background:transparent;border:0;border-radius:0;box-shadow:none}.lp-console-panel .lp-dossier-head{display:flex}.lp-console-panel .lp-dossier-sub{margin-bottom:.85rem}}.lp-footer{max-width:var(--max);margin:0 auto;padding:clamp(2.5rem,6vw,4rem) var(--pad) clamp(2rem,5vw,3rem);border-top:1px solid var(--hairline)}.lp-footer-grid{display:grid;gap:1.75rem 2rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:720px){.lp-footer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.lp-footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.lp-footer-label{margin:0 0 .65rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.lp-footer-col a{font-size:.9375rem;line-height:1.45;letter-spacing:.01em;color:var(--ink-soft);text-decoration:none}.lp-footer-col a:hover{color:var(--ink)}.lp-footer-note{margin:2rem 0 0;font-size:.875rem;line-height:1.45;letter-spacing:.01em;color:var(--ink-faint)}@media(max-width:820px){.lp-header{gap:.4rem}}@media(max-width:640px){:root{--pad: 1rem}.lp-nav-shell{padding-inline:var(--pad)}.lp-header{gap:.3rem}.lp-header-tools{gap:.5rem}.lp-locale{font-size:.875rem;min-width:2.15rem;min-height:2.15rem;padding:.35rem .4rem}.lp-theme{width:1.85rem;height:1.85rem}.lp-back-to-work{font-size:.8125rem}.lp-main{padding-top:clamp(1.15rem,3.5vw,1.75rem);padding-bottom:max(2.5rem,env(safe-area-inset-bottom,0px) + 1.5rem)}.lp-main.lp-background-main{padding-top:clamp(4.25rem,12vw,5.5rem)}.lp-work-hero{max-width:none}.lp-work-hero .lp-bio-role{margin-bottom:1.05rem}.lp-work-hero .lp-bio-name{margin:0 0 1.2rem;font-size:clamp(2.85rem,12.5vw,3.85rem);letter-spacing:-.04em;line-height:1.02}.lp-work-hero .lp-bio-line{margin:0 auto 1.25rem;font-size:1.0625rem;line-height:1.5}.lp-work-hero .lp-bio-aside{margin-top:.4rem}.lp-bio-links{gap:.5rem;margin-bottom:1.25rem;justify-content:center}.lp-work-footer .lp-bio-links{margin-bottom:0}.lp-bio-link{width:2.15rem;height:2.15rem}.lp-bio-links li{display:flex;align-items:center}.lp-bio-links a:not(.lp-bio-link){font-size:.875rem;min-height:2.5rem;display:inline-flex;align-items:center}.lp-roster{margin-top:clamp(1.75rem,5vw,2.5rem)}.lp-roster-head{margin-bottom:.85rem}.lp-about{gap:clamp(2rem,6vw,2.75rem)}.lp-about-hero{gap:1.35rem}.lp-about-hero .lp-bio-name{font-size:clamp(1.6rem,7.2vw,2rem)}.lp-about-hero .lp-bio-line{font-size:1rem;line-height:1.58}.lp-about-hero .lp-bio-line:last-of-type{font-size:.875rem}.lp-about-cta{margin-top:1.15rem}.lp-about-cta-primary{min-height:2.75rem;font-size:.9375rem}.lp-about-footer .lp-bio-links{gap:.65rem}.lp-off-clock{margin-top:1.15rem;padding-top:1.1rem}.lp-about .lp-section-head{gap:.65rem;align-items:flex-start}.lp-about .lp-section-head .lp-git-ref{margin-top:.15rem}.lp-about .lp-section-lead{max-width:none;font-size:.8125rem}.lp-cred-list li{padding:.9rem 1rem}.lp-section-head{margin-bottom:1rem;padding-bottom:.7rem}.lp-footer{padding-bottom:max(2rem,env(safe-area-inset-bottom,0px) + 1.25rem)}}@media(pointer:coarse){.lp-console-cap{min-height:2.75rem}}.lp-preview{position:fixed;z-index:40;left:50%;top:50%;width:min(440px,calc(100vw - 2rem),calc((100dvh - 5rem)*1.6));max-height:calc(100dvh - 2rem);pointer-events:none;padding:0;background:transparent;border:0;box-shadow:none;opacity:0;transform:translate(-50%,calc(-50% + 6px)) scale(.98);transition:opacity .24s var(--ease),transform .32s var(--ease);filter:drop-shadow(0 20px 40px color-mix(in srgb,var(--ink) 14%,transparent))}.lp-preview-bezel{border-radius:var(--radius-lg)}.lp-preview-frame{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:var(--surface-sunken)}.lp-preview-frame video{display:block;width:100%;height:100%;object-fit:cover}.lp-preview-frame video[hidden],.lp-preview-empty[hidden]{display:none}.lp-preview-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:.35rem;padding:1.1rem;color:var(--ink-soft)}.lp-preview-empty-kicker{font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.lp-preview-empty span:last-child{font-weight:500;color:var(--ink)}.lp-preview-cap{margin:.55rem .15rem 0;padding-left:.5rem;font-family:var(--mono);font-size:.6875rem;color:var(--ink-soft)}.lp-preview.is-open{opacity:1;transform:translate(-50%,-50%)}.lp-preview.is-open .lp-preview-bezel{border-color:color-mix(in srgb,var(--accent) 45%,var(--hairline-strong))}.lp-preview[hidden]{display:none}@media(hover:none){.lp-preview{pointer-events:auto;filter:drop-shadow(0 16px 48px color-mix(in srgb,var(--ink) 22%,transparent))}.lp-preview:not(.is-open){transform:translate(-50%,calc(-50% + 10px)) scale(.98)}.lp-dossier-surface:hover,.lp-cgraph__card:hover{transform:none}}.lp-about-hero{display:grid;gap:1.75rem}@media(min-width:800px){.lp-about-hero{grid-template-columns:minmax(11rem,17rem) minmax(0,1fr);gap:clamp(1.75rem,4vw,2.5rem);align-items:start}}.lp-portrait{margin:0;animation:lp-settle-in .6s var(--ease) both}.lp-portrait .lp-bezel-inner{padding:.45rem}.lp-portrait img{display:block;width:100%;height:auto;border-radius:calc(var(--radius-lg) - .9rem);background:var(--surface-sunken)}.lp-portrait figcaption{margin-top:.7rem;padding-inline:.15rem;font-family:var(--mono);font-size:.6875rem;color:var(--ink-faint)}@media(max-width:799px){.lp-about-hero{grid-template-columns:minmax(5.25rem,30vw) 1fr;gap:.85rem 1rem;align-items:start}.lp-about-intro{display:contents}.lp-portrait{grid-column:1;grid-row:1 / span 2;width:100%;max-width:none;margin:0}.lp-portrait .lp-bezel-inner{padding:.28rem}.lp-portrait figcaption{margin-top:.5rem;font-size:.625rem}.lp-about-hero .lp-bio-role{grid-column:2;grid-row:1;margin:0 0 .35rem;align-self:end}.lp-about-hero .lp-bio-name{grid-column:2;grid-row:2;margin:0;align-self:start;font-size:clamp(1.65rem,7.5vw,2.15rem);max-width:none}.lp-about-hero .lp-bio-line{grid-column:1 / -1;max-width:none;font-size:1rem;line-height:1.6}.lp-about-hero .lp-bio-line:first-of-type{margin-top:.6rem}.lp-about-hero .lp-about-cta{grid-column:1 / -1;margin-top:1.1rem}.lp-about-hero .lp-off-clock{grid-column:1 / -1}}.lp-about-intro{animation:lp-settle-in .6s var(--ease) 60ms both}.lp-about-intro .lp-bio-role{margin-bottom:.5rem}.lp-about-intro .lp-bio-name{font-size:clamp(2.15rem,5vw,3.35rem);max-width:16ch;letter-spacing:-.03em;text-wrap:balance}.lp-about-intro .lp-bio-line{margin:0;max-width:42rem;font-size:1.0625rem;line-height:1.62;letter-spacing:.005em;text-wrap:pretty}.lp-about-intro .lp-bio-line+.lp-bio-line{margin-top:.8rem}.lp-about-intro .lp-bio-line:first-of-type{margin-top:.25rem}.lp-about-intro .lp-bio-line:last-of-type{margin-top:1rem;font-size:.9375rem;line-height:1.55;color:var(--ink-faint)}.lp-work-hero{width:100%;max-width:36rem;margin-inline:auto;text-align:center}.lp-work-hero.lp-reveal{opacity:1;transform:none}.lp-work-intro>*{opacity:.01;transform:translateY(12px);transition:opacity .55s var(--ease),transform .6s var(--ease)}.lp-work-hero.is-visible .lp-work-intro>*:nth-child(1){opacity:1;transform:none;transition-delay:0ms}.lp-work-hero.is-visible .lp-work-intro>*:nth-child(2){opacity:1;transform:none;transition-delay:70ms}.lp-work-hero.is-visible .lp-work-intro>*:nth-child(3){opacity:1;transform:none;transition-delay:.13s}.lp-work-hero.is-visible .lp-work-intro>*:nth-child(4){opacity:1;transform:none;transition-delay:.19s}.lp-work-hero.is-visible .lp-work-intro>*:nth-child(5){opacity:1;transform:none;transition-delay:.26s}.lp-work-hero .lp-bio-name{font-size:clamp(3.15rem,7.5vw,5.25rem);font-weight:500;max-width:none;letter-spacing:-.035em}.lp-work-hero .lp-bio-line{margin:0 auto 1.15rem;max-width:26rem;font-size:1.0625rem;font-weight:400;color:var(--ink-soft);text-wrap:pretty}.lp-bio-aside{display:block;margin-top:.35rem;color:var(--ink-faint);font-size:.98em}.lp-work-hero .lp-bio-actions{justify-content:center}.lp-work-footer{width:100%;max-width:var(--max);margin-top:clamp(2.5rem,6vw,3.75rem);padding-top:1.25rem;border-top:1px solid var(--hairline);display:flex;justify-content:center}.lp-work-footer .lp-bio-links{margin:0;justify-content:center}.lp-about-footer{margin-top:clamp(2rem,5vw,3rem);padding-bottom:max(.5rem,env(safe-area-inset-bottom,0px))}@media(prefers-reduced-motion:reduce){.lp-work-intro>*{opacity:1;transform:none;transition:none}.lp-dossier.is-entering,.lp-console-cap.is-flash{animation:none}}.lp-off-clock{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line)}.lp-off-clock h2{margin:0 0 .35rem;font-size:.6875rem;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-weight:500}.lp-off-clock-piece{display:inline-block;vertical-align:-.12em;width:.95em;height:.95em;margin:0 .1em;color:var(--ink-soft)}.lp-off-clock p{margin:0;font-size:.875rem;line-height:1.5;color:var(--ink-faint);max-width:36rem}.lp-about-proof{list-style:none;margin:1.15rem 0 0;padding:0;display:grid;gap:.45rem;max-width:38rem}.lp-about-proof li{position:relative;padding-left:1rem;font-size:.9375rem;line-height:1.45;color:var(--ink-soft)}.lp-about-proof li:before{content:"";position:absolute;left:0;top:.55em;width:.35rem;height:.35rem;border-radius:50%;background:var(--accent)}.lp-about-cta{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem 1.25rem;margin-top:1.35rem}.lp-about-cta-primary{display:inline-flex;align-items:center;justify-content:center;min-height:2.5rem;padding:.55rem 1.15rem;border-radius:var(--radius-pill);background:var(--cta);color:var(--cta-ink);font-size:.875rem;font-weight:550;text-decoration:none;box-shadow:var(--lift);transition:background var(--duration) var(--ease),transform var(--duration) var(--ease)}.lp-about-cta-primary:hover{background:var(--cta-hover)}.lp-about-cta-primary:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:3px}.lp-about-cta-secondary{display:inline-flex;align-items:center;min-height:2.5rem;padding:.5rem 1rem;border-radius:var(--radius-pill);border:1px solid var(--hairline);background:var(--surface);color:var(--ink-soft);font-size:.875rem;font-weight:500;text-decoration:none;box-shadow:inset 0 1px 0 var(--edge-hi);transition:border-color var(--duration) var(--ease),color var(--duration) var(--ease)}.lp-about-cta-secondary:hover{border-color:var(--hairline-strong);color:var(--ink)}.lp-about-cta-secondary:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:3px}.lp-bio-links--quiet{margin:0;gap:.75rem 1rem}.lp-bio-links--quiet a{font-size:.8125rem;color:var(--ink-faint)}.lp-bio-links--quiet a:hover{color:var(--accent)}.lp-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding-bottom:.85rem;border-bottom:1px solid var(--hairline)}.lp-section-head-copy{display:grid;gap:.35rem;min-width:0}.lp-section-head h2{margin:0;font-size:.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.lp-section-lead{margin:0;font-size:.8125rem;line-height:1.45;color:var(--ink-faint);max-width:42ch;font-weight:400;letter-spacing:0;text-transform:none}.lp-section-head>span,.lp-section-head .lp-git-ref{font-family:var(--mono);font-size:.6875rem;color:var(--ink-faint);flex-shrink:0}.lp-git-ref{letter-spacing:.02em}.lp-cgraph{--cgraph-lane-0: var(--accent);--cgraph-lane-1: color-mix(in srgb, var(--ink-soft) 72%, var(--accent) 28%);--cgraph-lane-2: color-mix(in srgb, var(--accent) 55%, var(--status) 45%);margin-top:.25rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--lift);overflow:hidden}.lp-cgraph__terminal{display:flex;align-items:center;gap:.65rem;padding:.7rem 1rem;border-bottom:1px solid var(--hairline);background:color-mix(in srgb,var(--ink) 3.5%,var(--surface));font-family:var(--mono);font-size:.6875rem;line-height:1.4;overflow:hidden}.lp-cgraph__dots{display:inline-flex;gap:.35rem;flex:none}.lp-cgraph__dots i{display:block;width:.5rem;height:.5rem;border-radius:999px;background:color-mix(in srgb,var(--ink) 18%,transparent)}.lp-cgraph__dots i:first-child{background:color-mix(in srgb,var(--cgraph-lane-2) 65%,transparent)}.lp-cgraph__dots i:nth-child(2){background:color-mix(in srgb,var(--ink-faint) 55%,transparent)}.lp-cgraph__dots i:nth-child(3){background:color-mix(in srgb,var(--cgraph-lane-0) 70%,transparent)}.lp-cgraph__prompt{color:var(--accent);font-weight:600;flex:none}.lp-cgraph__cmd{color:var(--ink-faint);white-space:nowrap}.lp-cgraph__cursor{display:inline-block;width:.4rem;height:.8rem;margin-left:.1rem;background:var(--accent);animation:lp-cgraph-blink 1.1s step-end infinite;flex:none}@keyframes lp-cgraph-blink{0%,49%{opacity:1}50%,to{opacity:0}}.lp-cgraph__track-wrap{position:relative;min-width:0}.lp-cgraph__track{min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 35%,transparent) transparent}.lp-cgraph__fade{position:absolute;top:0;bottom:0;width:2.25rem;pointer-events:none;z-index:2;opacity:0;transition:opacity .35s var(--ease)}.lp-cgraph__fade.is-visible{opacity:1}.lp-cgraph__fade--left{left:0;background:linear-gradient(90deg,var(--surface),transparent)}.lp-cgraph__fade--right{right:0;background:linear-gradient(270deg,var(--surface),transparent)}.lp-cgraph__scroll-hint{position:absolute;left:50%;bottom:.65rem;z-index:4;display:inline-flex;align-items:center;gap:.45rem;max-width:calc(100% - 2rem);margin:0;padding:.4rem .8rem;transform:translate(-50%);font-size:.6875rem;font-weight:500;color:var(--ink);background:color-mix(in srgb,var(--surface) 92%,var(--accent) 8%);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--hairline));border-radius:var(--radius-pill);box-shadow:var(--lift);pointer-events:none}.lp-cgraph__scroll-hint[hidden]{display:none}.lp-cgraph__scroll-hint-arrows{display:inline-flex;gap:.05rem;font-family:var(--mono);font-size:.9rem;line-height:1;color:var(--accent)}.lp-cgraph__scroll-hint-arrows span{display:block;animation:lp-cgraph-hint-nudge 1.4s ease-in-out infinite}.lp-cgraph__scroll-hint-arrows span:nth-child(2){animation-delay:.12s;opacity:.75}.lp-cgraph__scroll-hint-arrows span:nth-child(3){animation-delay:.24s;opacity:.5}@keyframes lp-cgraph-hint-nudge{0%,to{transform:translate(0)}50%{transform:translate(-4px)}}.lp-cgraph__chart{position:relative;min-width:min(100%,68rem);width:max-content;padding:1.35rem 1.1rem .65rem}.lp-cgraph__wires{position:absolute;top:0;left:0;pointer-events:none;z-index:0;overflow:visible}.lp-cgraph__spine{fill:none;stroke:color-mix(in srgb,var(--accent) 16%,transparent);stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:.04 .03;opacity:.55}.lp-cgraph.is-live .lp-cgraph__spine{animation:lp-cgraph-spine-flow 5s linear infinite}@keyframes lp-cgraph-spine-flow{to{stroke-dashoffset:-1}}.lp-cgraph__runner{fill:var(--accent);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 55%,transparent))}.lp-cgraph__wire{fill:none;stroke:var(--cgraph-lane-0);stroke-width:2.25;stroke-linecap:butt;stroke-linejoin:miter;opacity:.45;stroke-dasharray:.08 .04;transition:opacity .16s var(--ease),stroke-width .16s var(--ease)}.lp-cgraph__wire[data-lane="1"]{stroke:var(--cgraph-lane-1)}.lp-cgraph__wire[data-lane="2"]{stroke:var(--cgraph-lane-2)}.lp-cgraph.is-live .lp-cgraph__wire{animation:lp-cgraph-wire-flow 2.8s linear infinite}.lp-cgraph__wire.is-hot{opacity:1;stroke-width:2.75;animation-duration:1.6s}@keyframes lp-cgraph-wire-flow{to{stroke-dashoffset:-1}}.lp-cgraph__commits{position:relative;z-index:1;display:flex;align-items:flex-start;gap:0;list-style:none;margin:0;padding:2.5rem 0 0;min-height:13.5rem}.lp-cgraph__commits>li{flex:1 0 8.75rem;min-width:8.75rem;max-width:10.5rem}.lp-cgraph__card{--lane-color: var(--cgraph-lane-0);position:relative;display:flex;flex-direction:column;align-items:center;gap:.3rem;width:100%;padding:0 .4rem .65rem;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:center;transition:transform .16s var(--ease)}.lp-cgraph__card[data-lane="1"]{--lane-color: var(--cgraph-lane-1)}.lp-cgraph__card[data-lane="2"]{--lane-color: var(--cgraph-lane-2)}.lp-cgraph__card:hover,.lp-cgraph__card.is-active{transform:translateY(-2px)}.lp-cgraph__card:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:3px;border-radius:var(--radius-sm)}.lp-cgraph__card-rail{display:flex;justify-content:center;width:100%;min-height:2rem;margin-bottom:.3rem;padding-top:var(--lane-y, 0px)}.lp-cgraph__node{position:relative;display:block;width:13px;height:13px;border-radius:999px;background:var(--surface);border:2.5px solid var(--lane-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--surface) 88%,transparent);transition:background .14s var(--ease),border-color .14s var(--ease),box-shadow .16s var(--ease),transform .14s var(--ease)}.lp-cgraph__card.is-active .lp-cgraph__node{background:var(--lane-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--lane-color) 22%,transparent),0 0 12px color-mix(in srgb,var(--lane-color) 35%,transparent)}.lp-cgraph__node-pulse{position:absolute;inset:-7px;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--lane-color) 50%,transparent);animation:lp-cgraph-pulse 2.4s ease-out infinite}@keyframes lp-cgraph-pulse{0%{transform:scale(.65);opacity:.85}to{transform:scale(2.1);opacity:0}}.lp-cgraph__label{font-family:var(--mono);font-size:.5625rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--chip-border);border-radius:var(--radius-pill);padding:.1rem .4rem;background:var(--chip-bg)}.lp-cgraph__card.is-active .lp-cgraph__label{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 32%,transparent);background:var(--accent-soft)}.lp-cgraph__name{font-size:.8125rem;font-weight:550;color:var(--ink);line-height:1.3;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lp-cgraph__period{font-family:var(--mono);font-size:.625rem;color:var(--ink-faint)}.lp-cgraph__head{font-family:var(--mono);font-size:.5625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:var(--accent-soft);border-radius:var(--radius-pill);padding:.08rem .35rem}.lp-cgraph__years{display:flex;justify-content:space-between;gap:.4rem;margin-top:.45rem;padding:.45rem .2rem 0;border-top:1px dashed color-mix(in srgb,var(--hairline) 90%,transparent)}.lp-cgraph__year{flex:1;text-align:center;font-family:var(--mono);font-size:.625rem;color:var(--ink-faint)}.lp-cgraph__detail{border-top:1px solid var(--hairline);padding:1.1rem 1.15rem 1.25rem;background:color-mix(in srgb,var(--surface-muted) 55%,var(--surface))}.lp-cgraph__detail-inner{will-change:opacity,transform}.lp-cgraph__detail-inner.is-updating{animation:lp-cgraph-detail-in .26s var(--ease)}.lp-cgraph__detail-inner[data-lane="0"]{--lane-color: var(--cgraph-lane-0)}.lp-cgraph__detail-inner[data-lane="1"]{--lane-color: var(--cgraph-lane-1)}.lp-cgraph__detail-inner[data-lane="2"]{--lane-color: var(--cgraph-lane-2)}@keyframes lp-cgraph-detail-in{0%{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}.lp-cgraph__detail-head{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem .7rem;margin-bottom:.45rem}.lp-cgraph__detail-dot{width:9px;height:9px;border-radius:999px;background:var(--lane-color, var(--accent));box-shadow:0 0 8px color-mix(in srgb,var(--lane-color, var(--accent)) 40%,transparent);transition:background .16s var(--ease),box-shadow .16s var(--ease)}.lp-cgraph__detail-label{font-family:var(--mono);font-size:.625rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.lp-cgraph__detail-period{font-family:var(--mono);font-size:.625rem;color:var(--ink-faint);margin-left:auto}.lp-cgraph__detail-name{margin:0;font-size:1.05rem;font-weight:600;color:var(--ink)}.lp-cgraph__detail-role{margin:.25rem 0 0;font-size:.875rem;font-weight:500;color:var(--ink-soft);line-height:1.45}.lp-cgraph__detail-proof{margin:.6rem 0 0;font-size:.875rem;line-height:1.6;color:var(--ink-soft);max-width:62ch}.lp-cgraph__detail-case{display:inline-block;margin-top:.8rem;font-size:.8125rem;color:var(--accent);text-decoration:none;font-weight:500}.lp-cgraph__detail-case:hover{text-decoration:underline}.lp-cgraph__sr-hint{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lp-cred-list{display:grid;gap:.65rem}@media(min-width:640px){.lp-cred-list{grid-template-columns:1fr 1fr}}.lp-cred-list li{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.15rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--lift);transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.lp-cred-list li:hover{border-color:var(--line-strong);box-shadow:var(--lift-preview)}.lp-cred-list strong{font-weight:500;font-size:.9375rem}.lp-cred-list span{font-family:var(--mono);font-size:.75rem;color:var(--ink-faint)}.lp-cred-list--quiet li{box-shadow:none;background:var(--surface-muted)}.lp-creds-more{margin-top:.85rem}.lp-creds-more summary{cursor:pointer;font-family:var(--mono);font-size:.75rem;color:var(--ink-faint);letter-spacing:.02em;list-style:none}.lp-creds-more summary::-webkit-details-marker{display:none}.lp-creds-more summary:hover,.lp-creds-more summary:focus-visible{color:var(--accent)}.lp-creds-more[open] summary{margin-bottom:.65rem}.lp-about-close{margin-top:var(--section);padding:1.35rem 1.25rem 1.45rem;border:1px solid var(--surface-tint-border);border-radius:var(--radius-lg);background:var(--surface-tint);box-shadow:inset 0 1px 0 var(--edge-hi)}.lp-about-close h2{margin:0 0 .4rem;font-size:1.15rem;font-weight:600;letter-spacing:-.02em;color:var(--ink)}.lp-about-close p{margin:0;font-size:.9375rem;line-height:1.5;color:var(--ink-soft);max-width:42ch}.lp-about-close-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.1rem}@media(max-width:640px){.lp-roster-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name period" "detail detail";column-gap:.75rem}.lp-roster-lead{display:none}.lp-cgraph__commits>li{flex-basis:7.75rem;min-width:7.75rem}.lp-cgraph__chart{padding-inline:.75rem}.lp-section-head{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.lp-background,.lp-foreground,.lp-background:after{transition:none}.lp.is-background .lp-foreground{transform:none;filter:none}.lp-cgraph__wire,.lp-cgraph__spine,.lp-cgraph__node-pulse,.lp-cgraph__cursor,.lp-cgraph__detail-inner.is-updating{animation:none}.lp-cgraph__runner{display:none}.lp-cgraph__scroll-hint-arrows span{animation:none}.lp-portrait,.lp-about-intro,.lp-work-intro,.lp-work-hero,.lp-reveal{animation:none;opacity:1;transform:none}.lp-reveal{transition:none}.lp-preview{transition:none;opacity:1;transform:translate(-50%,calc(-50% + 6px)) scale(.98)}.lp-preview.is-open{transform:translate(-50%,-50%)}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.lp-row-details{border-radius:var(--radius-sm);overflow:hidden}.lp-row-summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.75rem;list-style:none;cursor:pointer;padding:0;margin:0}.lp-row-summary::-webkit-details-marker{display:none}.lp-row-toggle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;color:var(--ink-faint);transition:transform var(--duration) var(--ease),color var(--duration) var(--ease)}.lp-row-details[open] .lp-row-toggle{transform:rotate(180deg);color:var(--accent)}.lp-row-details[open] .lp-roster-row{background:color-mix(in srgb,var(--accent) 6%,transparent)}.lp-row-surfaces{margin:.15rem 0 .35rem;padding:.65rem 0 .5rem;border-top:1px solid var(--hairline);animation:lp-surfaces-in .25s var(--ease) both}@keyframes lp-surfaces-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.lp-surface{margin-bottom:.75rem}.lp-surface:last-child{margin-bottom:0}.lp-surface-name{margin:0 0 .25rem;font-size:.875rem;font-weight:500;color:var(--ink);line-height:1.35}.lp-surface-blurb{margin:0 0 .4rem;font-size:.8125rem;line-height:1.45;color:var(--ink-soft)}.lp-surface-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;font-weight:500;color:var(--accent);text-decoration:none;transition:color var(--duration) var(--ease),gap var(--duration) var(--ease)}.lp-surface-link:hover{color:var(--ink);gap:.5rem}.lp-surface-stack{margin:.35rem 0 0;font-family:var(--mono);font-size:.6875rem;color:var(--ink-faint)}.lp-notice{position:fixed;z-index:40;right:var(--pad);bottom:max(1rem,env(safe-area-inset-bottom));display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:.7rem;width:min(22.5rem,calc(100vw - 2 * var(--pad)));padding:.85rem .75rem .9rem .95rem;border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:var(--lift);animation:lp-notice-in .5s var(--ease) both}.lp-notice[hidden]{display:none}@keyframes lp-notice-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.lp-notice__lamp{width:.5rem;height:.5rem;margin-top:.4rem;border-radius:50%;background:var(--status);box-shadow:0 0 0 4px var(--status-soft);animation:lp-notice-pulse 2.2s var(--ease) infinite}@keyframes lp-notice-pulse{0%,to{box-shadow:0 0 0 3px var(--status-soft)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--status) 8%,transparent)}}.lp-notice__copy{min-width:0}.lp-notice__kicker{margin:0 0 .15rem;font-family:var(--mono);font-size:.6875rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}.lp-notice__title{margin:0;font-size:.9375rem;font-weight:600;letter-spacing:-.02em;line-height:1.3;color:var(--ink)}.lp-notice__body{margin:.3rem 0 0;font-size:.8125rem;line-height:1.45;color:var(--ink-soft)}.lp-notice__close{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;margin:-.35rem -.2rem 0 0;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink-faint);cursor:pointer;transition:color var(--duration) var(--ease),background var(--duration) var(--ease)}.lp-notice__close:hover{color:var(--ink);background:var(--surface-muted)}.lp-notice__close:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.lp-notice,.lp-notice__lamp{animation:none}}
