:root{color-scheme:light;--paper-top:#faf4ea;--paper:#f3ecdf;--paper-bottom:#ece3d5;--background-color:var(--paper);--surface:rgba(255,252,247,0.78);--surface-strong:rgba(255,255,255,0.92);--surface-muted:rgba(255,250,244,0.68);--ink:#162033;--ink-soft:#566276;--ink-mute:#7a8394;--line:rgba(22,32,51,0.1);--line-strong:rgba(22,32,51,0.18);--accent:#0f766e;--accent-strong:#0b5f59;--accent-soft:rgba(15,118,110,0.12);--accent-warm:#d48a1d;--panel:#162033;--panel-soft:#22304a;--panel-line:rgba(255,255,255,0.1);--panel-ink:#f4f7fb;--glow-a:rgba(15,118,110,0.14);--glow-b:rgba(212,138,29,0.12);--grid-line:rgba(22,32,51,0.04);--shadow:0 24px 70px rgba(15,23,42,0.1);--shadow-soft:0 16px 40px rgba(15,23,42,0.07)}html[data-theme=dark]{color-scheme:dark;--paper-top:#0c1220;--paper:#0a1020;--paper-bottom:#08101b;--surface:rgba(17,25,41,0.8);--surface-strong:rgba(19,29,48,0.94);--surface-muted:rgba(16,25,42,0.68);--ink:#edf2ff;--ink-soft:#b2bdd2;--ink-mute:#8f9bb3;--line:rgba(220,228,246,0.1);--line-strong:rgba(220,228,246,0.18);--accent:#49b5ae;--accent-strong:#89dfd8;--accent-soft:rgba(73,181,174,0.16);--accent-warm:#f0b454;--panel:#0f1728;--panel-soft:#16233a;--panel-line:rgba(255,255,255,0.1);--panel-ink:#f3f7ff;--glow-a:rgba(73,181,174,0.18);--glow-b:rgba(240,180,84,0.12);--grid-line:rgba(220,228,246,0.05);--shadow:0 28px 80px rgba(0,0,0,0.36);--shadow-soft:0 18px 48px rgba(0,0,0,0.28)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at 12% 12%,var(--glow-a),transparent 20%),radial-gradient(circle at 88% 10%,var(--glow-b),transparent 18%),linear-gradient(180deg,var(--paper-top) 0,var(--paper) 50%,var(--paper-bottom) 100%);color:var(--ink);font-family:var(--font-body),sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.42),transparent 82%);mask-image:linear-gradient(180deg,rgba(0,0,0,.42),transparent 82%)}.action-link,.contact-card,.download-chip,.early-career-card,.early-career-item,.experience-card,.featured-project-card,.fit-card,.hero-card,.language-chip,.language-switcher,.project-card,.proof-card,.skill-card,.stat-card,.theme-chip,.theme-toggle,.topbar,body{transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease,transform .18s ease,opacity .18s ease}::selection{background:var(--accent-soft)}h1,h2,h3,p,ul{margin-top:0}p,ul{margin-bottom:0}button{font:inherit}a,button{color:inherit;text-decoration:none}button{padding:0;border:0;background:transparent;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a:hover,button:hover{transform:translateY(-1px)}.no-lift:hover{transform:none}.case-study-back-link{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 0;margin-bottom:1.5rem;font-size:.88rem;font-weight:600;color:var(--ink-soft);transition:color .16s ease,gap .16s ease}.case-study-back-link:hover{color:var(--ink);gap:.75rem}.site-shell{width:min(1140px,calc(100% - 2rem));margin:0 auto;padding-bottom:4.5rem}.topbar{padding:.82rem 1.15rem;border:1px solid var(--line);border-radius:1.35rem;background:color-mix(in srgb,var(--surface-strong) 86%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-soft)}.topbar,.topbar-main-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.topbar-main-row{width:100%;flex:1 1;min-width:0}.brand-lockup{display:flex;align-items:center;gap:.95rem;flex:1 1 32rem;max-width:32rem;min-width:0}.brand-lockup div{display:grid;grid-gap:.18rem;gap:.18rem;min-width:0}.brand-lockup span,.brand-lockup strong{display:block}.brand-lockup strong{font-size:.98rem;line-height:1.15}.brand-lockup div span{max-width:28rem;color:var(--ink-soft);font-size:.88rem;line-height:1.3;white-space:nowrap}.brand-mark{width:2.55rem;height:2.55rem;position:relative;display:inline-grid;place-items:center;overflow:hidden;border-radius:.88rem;background:linear-gradient(135deg,#14b8a6,#1e3a8a);box-shadow:0 8px 18px rgba(30,58,138,.14)}.brand-mark-text{width:100%;height:100%;display:inline-flex;align-items:center;justify-content:center;color:#ffffff;font-family:var(--font-display),sans-serif;font-size:1.76rem;font-weight:700;line-height:1;letter-spacing:0;text-align:center;transform:translate(.22px,5px)}.topbar-controls,.topbar-nav-wrap{display:flex;align-items:center;gap:.9rem}.topbar-nav-wrap{flex:1 1 auto;min-width:0;margin-left:auto;justify-content:flex-end}.topbar-nav{display:flex;align-items:center;gap:1.45rem;color:var(--ink-soft);font-size:.94rem}.topbar-nav a{position:relative;min-height:2.25rem;display:inline-flex;align-items:center;padding:0 .2rem;line-height:1}.topbar-nav a:after{content:"";position:absolute;left:.2rem;bottom:-.32rem;width:calc(100% - .4rem);height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .16s ease}.topbar-nav a:last-child{color:var(--ink);font-weight:600}.topbar-nav a:hover:after{transform:scaleX(1)}.topbar-toggle{display:none;align-items:center;justify-content:center;gap:.55rem;min-height:2.7rem;padding:0 .95rem;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-strong) 72%,transparent);color:var(--ink);font-weight:700}.topbar-toggle-copy{display:inline-flex;align-items:center;letter-spacing:.04em}.topbar-toggle-icon{width:1rem;height:1rem;display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease}.language-switcher,.theme-toggle{display:inline-flex;align-items:center;gap:.4rem;padding:.32rem;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface-strong) 72%,transparent)}.language-chip,.theme-chip{min-width:3.05rem;min-height:2.15rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .8rem;border-radius:999px;color:var(--ink-soft);font-size:.82rem;font-weight:700;letter-spacing:.08em}.theme-chip{padding:0}.theme-chip-icon{width:1.05rem;height:1.05rem}.language-chip.active,.theme-chip.active{background:var(--panel);color:var(--panel-ink);box-shadow:0 12px 24px rgba(10,16,32,.18)}.hero-section{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:center;padding:4.35rem 0 1.85rem}.hero-container{gap:48px}.right-hero-column{width:100%;display:flex;align-items:center;justify-content:flex-end}.early-career-item span,.experience-meta span,.project-role,.section-eyebrow{display:inline-block;letter-spacing:.12em;text-transform:uppercase;font-size:.74rem;font-weight:700;color:var(--accent)}.contact-copy h2,.featured-project-copy h3,.hero-card h2,.hero-copy h1,.section-heading h2{margin-bottom:0;font-family:var(--font-display),sans-serif;letter-spacing:-.055em;line-height:.95}.hero-copy h1{max-width:none;margin-top:.65rem;font-size:clamp(3.1rem,6.5vw,5.4rem)}.hero-section h1{letter-spacing:-.045em;line-height:.97;color:transparent;background:linear-gradient(135deg,var(--ink) 0,color-mix(in srgb,var(--accent) 62%,var(--ink)) 58%,var(--ink) 100%);background-clip:text;-webkit-background-clip:text}.contact-copy p,.diagram-caption,.early-career-item p,.experience-card p,.experience-summary,.fact-card p,.fit-card p,.hero-card-role,.hero-summary,.project-card p,.section-heading p,.story-card p,.story-text-block p{color:var(--ink-soft);line-height:1.72}.hero-summary{max-width:62ch;margin:1.3rem 0 0;font-size:1.04rem}.hero-tags{margin-top:1.35rem}.hero-tags b{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);color:var(--ink);border-radius:999px;padding:.3rem .85rem;font-weight:600;font-size:.82rem}.action-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.45rem}.action-row.compact{margin-top:.8rem}.action-link{min-height:3rem;display:inline-flex;align-items:center;justify-content:center;padding:0 1rem;border-radius:999px;border:1px solid var(--line-strong);font-weight:700;background:transparent}.action-link.primary{background:var(--panel);border-color:transparent;color:var(--panel-ink);box-shadow:0 14px 30px rgba(22,32,51,.18)}.action-link.secondary{background:color-mix(in srgb,var(--surface-strong) 72%,transparent);color:var(--ink)}.contact-card,.early-career-card,.experience-card,.featured-project-card,.fit-card,.hero-card,.project-card,.proof-card,.skill-card,.stat-card{border:1px solid var(--line);border-radius:1.55rem;box-shadow:var(--shadow)}.featured-project-card,.hero-card{background:linear-gradient(180deg,var(--panel) 0,var(--panel-soft) 100%);color:var(--panel-ink)}.hero-card{width:min(25rem,100%);padding:1.45rem}.recruiter-card{position:relative;width:min(25rem,100%);margin-top:0;border:1px solid var(--line);border-radius:1.5rem;padding:1.75rem;background:color-mix(in srgb,var(--surface) 85%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-soft);color:var(--ink)}.recruiter-card h2{font-size:1.35rem;letter-spacing:-.03em;margin:.4rem 0 .2rem}.hero-card-role{font-size:.85rem;font-weight:600;color:var(--ink-mute);letter-spacing:.04em;text-transform:uppercase;margin:0 0 1.1rem}.fact-grid{display:grid;grid-gap:.75rem;gap:.75rem;margin-top:.95rem}.fact-grid-two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.fact-card{padding:.85rem;border-radius:1rem;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-muted) 65%,transparent);transition:transform .16s ease}.fact-card:hover{transform:translateY(-2px)}.fact-card p{font-size:.88rem;line-height:1.5;color:var(--ink);font-weight:500;margin:0}.diagram-grid,.fit-grid,.proof-grid,.skill-group-grid,.stats-row,.story-grid,.supporting-project-grid{display:grid;grid-gap:1rem;gap:1rem}.stats-row{grid-template-columns:repeat(4,minmax(0,1fr))}.early-career-card,.experience-card,.fit-card,.project-card,.proof-card,.skill-card,.stat-card{background:color-mix(in srgb,var(--surface) 88%,transparent)}.early-career-card,.early-career-item,.experience-card,.fit-card,.project-card,.proof-card,.skill-card,.stat-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.experience-card,.fit-card,.project-card,.proof-card,.skill-card,.stat-card{padding:1.25rem}.experience-card:hover,.fit-card:hover,.project-card:hover,.proof-card:hover,.skill-card:hover,.stat-card:hover{transform:translateY(-4px)}.stat-card strong{font-size:clamp(1.9rem,4vw,2.45rem)}.stat-card span{display:block;margin-top:.35rem;color:var(--ink-soft);line-height:1.55}.content-section{padding-top:4.75rem;scroll-margin-top:6rem}.case-study-page{padding-top:2.5rem}.section-heading{max-width:46rem}.section-heading.compact-heading{max-width:none}.section-heading h2{margin-top:.7rem;font-size:clamp(2.15rem,5vw,4rem)}.section-heading p{margin-top:.65rem;font-size:1rem}.case-study-hero{display:grid;grid-template-columns:1fr 1fr;grid-gap:2.5rem;gap:2.5rem;align-items:end;padding-bottom:2.5rem;border-bottom:1px solid var(--line);margin-bottom:2rem}.case-study-hero-title{margin-top:.6rem;font-family:var(--font-display),sans-serif;letter-spacing:-.05em;line-height:.95;font-size:clamp(2rem,4.5vw,3.25rem);margin-bottom:0}.case-study-hero-right{display:flex;flex-direction:column;gap:1.25rem;padding-bottom:.25rem}.case-study-hero-copy{font-size:1rem;line-height:1.72;color:var(--ink-soft);max-width:52ch;margin:0}.case-study-hero-meta{display:flex;flex-direction:column}.case-study-hero-role{display:inline-block;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute)}.fit-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:2rem}.fit-card{position:relative;overflow:hidden}.experience-card:before,.fit-card:before,.project-card:before,.proof-card:before,.skill-card:before{content:"";position:absolute;top:0;left:0;width:min(11rem,calc(100% - 1.8rem));height:3px;border-radius:999px;background:linear-gradient(90deg,var(--accent),transparent 86%);opacity:.92;pointer-events:none}.early-career-item h3,.experience-topline h3,.fit-card h3,.project-card h3,.proof-card h3,.skill-card h3{margin-bottom:.35rem;font-size:1.18rem}.fit-card p{margin-top:.85rem}.experience-grid,.proof-grid{margin-top:2rem}.experience-grid{display:grid;grid-gap:1rem;gap:1rem}.experience-card,.project-card,.proof-card,.skill-card{position:relative}.experience-topline{display:flex;justify-content:space-between;gap:1rem}.early-role,.experience-company{color:var(--ink-soft)}.experience-meta{display:grid;justify-items:end;grid-gap:.35rem;gap:.35rem;text-align:right}.bullet-list,.experience-summary{margin-top:1rem}.bullet-list{list-style:none;padding:0;display:grid;grid-gap:.7rem;gap:.7rem}.bullet-list li{position:relative;padding-left:1.05rem;line-height:1.62}.bullet-list li:before{content:"";position:absolute;left:0;top:.72rem;width:.42rem;height:.42rem;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-warm))}.early-career-card{margin-top:1rem;padding:1.25rem}.early-career-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1rem;gap:1rem;margin-top:1rem}.early-career-item{padding:1rem;border-radius:1.15rem;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-muted) 92%,transparent)}.featured-project-card{display:grid;grid-template-columns:minmax(0,.36fr) minmax(0,.64fr);align-items:start;grid-gap:1.5rem;gap:1.5rem;margin-top:1.25rem;padding:1.75rem}.featured-project-anchor{position:-webkit-sticky;position:sticky;top:7.5rem;align-self:start;display:flex;flex-direction:column;gap:.9rem;padding:1.15rem 1.1rem 1.2rem;border:1px solid rgba(255,255,255,.08);border-radius:1.2rem;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.028));box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}.featured-project-copy{display:flex;flex-direction:column;padding-bottom:.95rem;border-bottom:1px solid rgba(255,255,255,.08)}.featured-project-copy h3{margin-top:.8rem;letter-spacing:-.045em;line-height:1.02;font-size:clamp(1.82rem,3.9vw,2.45rem)}.featured-project-copy .project-role,.featured-project-copy p,.featured-project-details li,.featured-project-details strong,.project-link{color:rgba(244,247,251,.82)}.featured-project-copy .project-role,.project-card .project-role{margin-top:.75rem}.featured-project-copy>p{margin-top:.65rem}.featured-project-details{display:flex;flex-direction:column;justify-content:flex-start;gap:2.25rem}.featured-snapshot{padding:1rem 1.05rem;border-radius:1.05rem;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.05));box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}.snapshot-list{display:grid;grid-gap:.85rem;gap:.85rem}.snapshot-row+.snapshot-row{padding-top:.85rem;border-top:1px solid var(--panel-line)}.snapshot-key{display:inline-block;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:700;color:rgba(244,247,251,.72)}.snapshot-value{margin-top:.32rem;color:rgba(244,247,251,.92);line-height:1.58}.featured-group{padding:1.15rem 1.2rem;border-radius:1.15rem;border:1px solid var(--panel-line);background:rgba(255,255,255,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}.featured-project-details>.featured-group:first-child{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.08)}.featured-project-details>.featured-group:nth-child(2){background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.065));border-color:rgba(125,211,252,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 16px 34px rgba(4,10,24,.12)}.featured-project-details>.featured-group:nth-child(3){padding:1.3rem;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.045));border-color:rgba(255,255,255,.12)}.featured-group-heading{margin-bottom:1rem}.featured-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.featured-context-grid .story-text-block+.story-text-block{margin-top:0}.featured-system-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(14rem,.9fr);grid-gap:1rem;gap:1rem;align-items:start}.featured-systems-block{min-width:0;padding-left:1rem;border-left:1px solid var(--panel-line)}.featured-systems-block .tag-row{margin-top:.45rem}.featured-diagram-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1.1rem;gap:1.1rem;margin-bottom:1.2rem;padding:.95rem;border:1px solid rgba(255,255,255,.08);border-radius:1.05rem;background:rgba(7,13,25,.14)}.diagram-card-inline{padding:.85rem;border-color:rgba(255,255,255,.06);background:rgba(255,255,255,.04)}.featured-diagram-rail>.diagram-card-inline:first-child{border-color:rgba(125,211,252,.22);background:rgba(255,255,255,.08)}.featured-diagram-rail>.diagram-card-inline:nth-child(n+2){border-color:rgba(255,255,255,.05);background:rgba(255,255,255,.032)}.diagram-card-inline .diagram-flow{gap:.45rem;margin-top:.75rem}.diagram-card-inline .diagram-node{min-height:2rem;padding:.4rem .65rem;font-size:.8rem}.featured-execution-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(14rem,.8fr);grid-gap:1.45rem;gap:1.45rem;align-items:start;margin-top:.85rem;padding:1.05rem 1rem 0;border-top:1px solid rgba(255,255,255,.08);border-radius:1.05rem;background:linear-gradient(180deg,rgba(7,13,25,.12),rgba(7,13,25,.04))}.featured-execution-grid .project-challenges{margin-top:0}.featured-outcome-block{grid-column:1/-1;margin-top:1.65rem;padding:1.35rem 1.05rem 0;border-top:1px solid rgba(125,211,252,.18)}.featured-outcome-block .project-outcome{padding:1rem 1.05rem;border:1px solid rgba(125,211,252,.18);background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(125,211,252,.07));font-size:1.12rem;line-height:1.5;letter-spacing:-.02em;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 14px 30px rgba(4,10,24,.16)}.featured-project-link{position:relative;margin-top:1rem;align-self:flex-start;min-height:3.1rem;display:inline-flex;align-items:center;justify-content:center;padding:0 1.15rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(125,211,252,.12));color:var(--panel-ink);box-shadow:0 14px 30px rgba(4,10,24,.22)}.featured-project-link:hover{border-color:rgba(255,255,255,.22);background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(125,211,252,.16))}.project-link-tooltip{bottom:calc(100% + .75rem);transform:translateX(-50%) translateY(6px);padding:.45rem .7rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.14);color:rgba(244,247,251,.92);font-size:.78rem;font-weight:600;line-height:1.2;white-space:nowrap;box-shadow:0 12px 28px rgba(2,8,20,.28);opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease}.project-link-tooltip,.project-link-tooltip:after{position:absolute;left:50%;background:rgba(8,14,28,.94)}.project-link-tooltip:after{content:"";top:100%;width:.65rem;height:.65rem;transform:translateX(-50%) rotate(45deg);border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}.featured-project-link:focus-visible .project-link-tooltip,.featured-project-link:hover .project-link-tooltip{opacity:1;transform:translateX(-50%) translateY(0)}.link-trailing-icon{width:1rem;height:1rem;display:inline-flex;align-items:center;justify-content:center;opacity:.82}.project-outcome{display:block;padding:.95rem 1rem;border-radius:1rem;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-muted) 80%,transparent);line-height:1.6}.featured-project-details .project-outcome{border-color:var(--panel-line);background:rgba(255,255,255,.08)}.featured-project-details .bullet-list{margin-top:0}.featured-project-details .bullet-list li:before{background:linear-gradient(135deg,#7dd3fc,#fde68a)}.project-link{font-weight:700}.supporting-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;margin-top:2rem}.tag-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.tag-row.compact-tags{margin-top:.95rem}.download-chip,.tag-row b{min-height:2rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .8rem;border-radius:999px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);color:inherit;font-size:.88rem;font-weight:600}.featured-project-card .tag-row b{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12)}.skills-grid{display:grid;grid-template-columns:1fr .92fr;grid-gap:1rem;gap:1rem;margin-top:2rem}.skill-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.education-grid,.skills-only-grid{margin-top:2rem}.education-grid,.skills-only-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-card{display:grid;grid-template-columns:1.08fr .92fr;grid-gap:1rem;gap:1rem;align-items:end;padding:1.5rem;background:linear-gradient(135deg,color-mix(in srgb,var(--surface-strong) 92%,transparent),color-mix(in srgb,var(--surface-muted) 90%,transparent))}.contact-copy h2{margin-top:.7rem;font-size:clamp(2rem,4.6vw,3.25rem)}.contact-copy p{margin-top:1rem;max-width:60ch}.contact-actions{display:grid;grid-gap:1rem;gap:1rem}.contact-illustration-wrap{width:min(100%,500px);justify-self:end;pointer-events:none}.contact-illustration{display:block;width:500px;max-width:100%;height:150px;object-fit:cover;border-radius:12px;opacity:.95;mask-image:linear-gradient(270deg,rgba(0,0,0,1) 65%,rgba(0,0,0,0));-webkit-mask-image:linear-gradient(270deg,rgba(0,0,0,1) 65%,rgba(0,0,0,0))}.download-row{display:flex;flex-wrap:wrap;gap:.7rem}.download-chip{background:color-mix(in srgb,var(--surface-strong) 88%,transparent)}.action-icon,.card-icon,.fact-label svg,.stat-icon{width:1rem;height:1rem;flex:0 0 auto}.action-icon,.card-icon,.stat-icon{display:inline-flex;align-items:center;justify-content:center}.card-heading{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:.35rem}.card-icon,.stat-icon{width:2.2rem;height:2.2rem;border-radius:.85rem;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent-strong)}.fact-label{display:flex;align-items:center;gap:.4rem;margin-bottom:.45rem;color:var(--accent);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.stat-icon{margin-bottom:.7rem}.stat-card{position:relative;overflow:hidden;border-radius:1.35rem;border:1px solid var(--line);display:flex;flex-direction:column;padding:1.5rem}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 0%,transparent) 80%);border-radius:999px}.stat-card strong{display:block;font-family:var(--font-display),sans-serif;font-size:clamp(2rem,4vw,2.8rem);letter-spacing:-.055em;line-height:1;color:var(--ink);margin-top:.5rem}.stat-card>span{display:block;margin-top:.45rem;font-size:.88rem;line-height:1.55;color:var(--ink-soft)}.stat-icon{width:2.4rem;height:2.4rem;border-radius:.9rem;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent-strong);flex-shrink:0}.stat-card strong{margin-top:0}.experience-card,.featured-project-card,.fit-card,.hero-card,.project-card,.proof-card,.skill-card{overflow:hidden}.project-card-top{display:flex;flex-direction:column;flex:1 1}.project-card-top h3{margin-top:.55rem;margin-bottom:0;font-size:1.15rem;letter-spacing:-.02em}.project-card-summary{margin-top:.65rem;font-size:.93rem;line-height:1.68;color:var(--ink-soft)}.project-card-outcome{margin-top:1.25rem;padding:.9rem 1rem;border-radius:.9rem;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-muted) 80%,transparent)}.project-card-outcome .story-label{display:block;margin-bottom:.4rem}.project-card-outcome p{font-size:.88rem;line-height:1.62;color:var(--ink-soft);margin:0}.project-card{display:flex;flex-direction:column;justify-content:space-between;gap:1.25rem}.project-card .tag-row{margin-top:0}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.diagram-card,.story-card{border-radius:1.05rem;border:1px solid var(--line);padding:1rem;background:color-mix(in srgb,var(--surface-muted) 88%,transparent)}.story-card-heading{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:.6rem}.story-card-heading.compact{margin-bottom:.35rem}.story-icon{width:1.9rem;height:1.9rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.8rem;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent-strong)}.story-icon.compact{width:1.45rem;height:1.45rem;border-radius:.65rem}.story-label{display:inline-block;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:700;color:var(--accent)}.project-story-list{display:grid;grid-gap:.9rem;gap:.9rem;margin-top:1rem}.project-challenges,.project-diagrams-wrap,.project-outcome-wrap,.story-text-block+.story-text-block{margin-top:1rem}.featured-project-card .diagram-card,.featured-project-card .story-card{border-color:var(--panel-line);background:rgba(255,255,255,.06)}.featured-project-card .diagram-caption,.featured-project-card .story-label{color:rgba(244,247,251,.78)}.featured-project-card .diagram-caption,.featured-project-card .story-card p,.featured-project-card .story-text-block p{color:rgba(244,247,251,.86)}.featured-project-card .story-icon{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:#f4f7fb}.diagram-section-label{margin-bottom:.85rem}.diagram-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.diagram-caption{margin-top:.55rem;font-size:.94rem}.diagram-flow{display:grid;grid-gap:.55rem;gap:.55rem;margin-top:.95rem}.diagram-step{display:grid;grid-gap:.45rem;gap:.45rem}.diagram-node{display:inline-flex;align-items:center;justify-content:center;min-height:2.2rem;padding:.45rem .75rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);background:var(--accent-soft);font-size:.84rem;font-weight:600}.featured-project-card .diagram-node{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:rgba(244,247,251,.94)}.diagram-connector{width:1px;height:1.2rem;justify-self:center;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 60%,transparent),transparent);position:relative}.diagram-connector:after{content:"";position:absolute;bottom:-.3rem;left:50%;transform:translateX(-50%);border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid color-mix(in srgb,var(--accent) 55%,transparent)}.featured-project-card .diagram-connector{background:linear-gradient(180deg,rgba(125,211,252,.7),transparent)}.featured-project-card .diagram-connector:after{border-top-color:rgba(125,211,252,.6)}.bullet-list-tight{margin-top:.7rem;gap:.6rem}.systems-card .tag-row{margin-top:.35rem}.project-visual{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:.9rem;gap:.9rem;padding:1rem;border:1px solid var(--panel-line);border-radius:1.1rem;background:rgba(255,255,255,.05)}.project-visual-column{display:grid;grid-gap:.65rem;gap:.65rem}.project-visual-core{position:relative;display:grid;place-items:center;min-width:6rem}.project-visual-core-ring{position:absolute;width:4.75rem;height:4.75rem;border-radius:999px;border:1px solid rgba(125,211,252,.3)}.project-visual-chip,.project-visual-core-card{display:inline-flex;align-items:center;gap:.45rem;padding:.6rem .75rem;border-radius:.95rem;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.07);color:rgba(244,247,251,.92)}.project-visual-chip svg,.project-visual-core-card svg{width:.95rem;height:.95rem}.project-visual-chip span,.project-visual-core-card span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.project-visual-core-card{position:relative;z-index:1}.hero-card,.hero-copy,.stats-row .stat-card{animation:rise-in .68s ease both}.hero-card{animation-delay:90ms}.stats-row .stat-card:first-child{animation-delay:.16s}.stats-row .stat-card:nth-child(2){animation-delay:.22s}.stats-row .stat-card:nth-child(3){animation-delay:.28s}.stats-row .stat-card:nth-child(4){animation-delay:.34s}.project-visual-core-ring{animation:float-orbit 9s ease-in-out infinite}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes float-orbit{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.action-link,.download-chip,.project-link{gap:.65rem}@media (prefers-reduced-motion:reduce){.hero-card,.hero-copy,.project-visual-core-ring,.stats-row .stat-card{animation:none!important}}@media (max-width:1120px){.diagram-grid,.education-grid,.featured-diagram-rail,.fit-grid,.skills-only-grid,.stats-row,.supporting-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1040px){.contact-card,.featured-project-card,.hero-section,.skills-grid{grid-template-columns:1fr}.right-hero-column{justify-content:center}.featured-project-anchor{position:static;top:auto}.featured-context-grid,.featured-diagram-rail,.featured-execution-grid,.featured-system-grid{grid-template-columns:1fr}.featured-outcome-block,.featured-systems-block{padding-left:0;border-left:0;padding-top:1rem;border-top:1px solid var(--panel-line)}.featured-outcome-block .project-outcome{font-size:1.02rem}.hero-card,.recruiter-card{width:min(100%,32rem)}.hero-copy h1{max-width:none}.experience-topline,.topbar{align-items:flex-start}.early-career-grid,.supporting-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1048px){.topbar{display:grid;grid-gap:.5rem;gap:.5rem;align-items:stretch;padding:.72rem .9rem;transition:padding .18s ease,gap .18s ease,background-color .22s ease,border-color .22s ease,box-shadow .22s ease}.brand-lockup{width:100%;flex:1 1 auto;max-width:none}.brand-lockup div span{max-width:none;white-space:nowrap}.topbar-nav-wrap{width:100%;display:grid;grid-gap:.7rem;gap:.7rem;overflow:hidden;transition:max-height .22s ease,opacity .18s ease,transform .18s ease,margin .18s ease}.topbar-nav{display:grid;grid-template-columns:1fr;grid-gap:.15rem;gap:.15rem}.topbar-nav a{min-height:2.5rem;display:inline-flex;align-items:center;justify-content:flex-start;padding:0 .15rem;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-align:left}.topbar-nav a:after{display:none}.topbar-nav a:last-child{border-bottom:0}.topbar-toggle{display:inline-flex;flex:0 0 auto;min-width:2.7rem;min-height:2.7rem;padding:0}.topbar.is-collapsed{gap:0;padding-top:.68rem;padding-bottom:.68rem}.topbar.is-collapsed .brand-mark{width:2.45rem;height:2.45rem;border-radius:.85rem}.topbar.is-collapsed .topbar-nav-wrap{max-height:0;margin-top:0;opacity:0;transform:translateY(-.35rem);pointer-events:none}.topbar.is-expanded .topbar-nav-wrap{max-height:24rem;opacity:1;transform:translateY(0);pointer-events:auto}}@media (max-width:820px){.project-visual-core{min-height:5rem}.case-study-hero{grid-template-columns:1fr;gap:1.25rem}.site-shell{width:min(100% - 1.25rem,1140px)}.diagram-grid,.early-career-grid,.fact-grid-two-column,.fit-grid,.proof-grid,.skill-group-grid,.stats-row,.story-grid,.supporting-project-grid{grid-template-columns:1fr}.experience-topline{display:grid}.experience-meta{justify-items:start;text-align:left}}@media (max-width:640px){.hero-section{padding-top:4rem}.hero-copy h1{font-size:clamp(2.65rem,14vw,4rem)}.language-switcher,.theme-toggle{width:auto;justify-content:flex-start}.contact-card,.early-career-card,.experience-card,.featured-project-card,.fit-card,.hero-card,.project-card,.proof-card,.skill-card,.stat-card,.topbar{border-radius:1.2rem}.brand-lockup div span{max-width:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.action-link,.contact-card,.download-chip,.early-career-card,.early-career-item,.experience-card,.featured-project-card,.fit-card,.hero-card,.language-chip,.language-switcher,.project-card,.proof-card,.skill-card,.stat-card,.theme-chip,.theme-toggle,.topbar,.topbar-nav-wrap,.topbar-toggle-icon,a,body,button{transition:none}}.cs-page{display:grid;grid-template-columns:13rem 1fr;grid-gap:4rem;gap:4rem;align-items:start;padding-top:1.5rem;padding-bottom:5rem}.cs-nav{position:-webkit-sticky;position:sticky;top:7rem;align-self:start}.cs-nav nav{display:flex;flex-direction:column;gap:.1rem}.cs-nav a{display:block;padding:.5rem .8rem;border-radius:.7rem;font-size:.86rem;font-weight:600;color:var(--ink-mute);transition:color .15s ease,background .15s ease}.cs-nav a:hover{color:var(--ink);background:color-mix(in srgb,var(--accent) 8%,transparent);transform:none}.cs-nav a.cs-nav-active{color:var(--accent);background:var(--accent-soft)}.cs-main{min-width:0;display:flex;flex-direction:column;gap:4rem}.cs-hero{padding-bottom:3rem;border-bottom:1px solid var(--line)}.cs-status{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .9rem;border-radius:999px;background:color-mix(in srgb,var(--accent-warm) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent-warm) 28%,transparent);color:var(--accent-warm);font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.5rem}.cs-status:before{content:"";display:inline-block;width:.45rem;height:.45rem;border-radius:999px;background:var(--accent-warm);animation:cs-pulse 2.2s ease-in-out infinite}@keyframes cs-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.cs-hero-title{font-family:var(--font-display),sans-serif;font-size:clamp(2.4rem,5vw,3.75rem);letter-spacing:-.055em;line-height:.96;margin:0 0 1.35rem;color:var(--ink)}.cs-hero-subtitle{font-size:1.08rem;line-height:1.74;color:var(--ink-soft);max-width:60ch;margin:0 0 1.75rem}.cs-hero-tags{display:flex;flex-wrap:wrap;gap:.5rem}.cs-tag{display:inline-flex;align-items:center;min-height:1.9rem;padding:0 .85rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);background:var(--accent-soft);font-size:.82rem;font-weight:600;color:var(--ink)}.cs-section{display:flex;flex-direction:column;gap:1.25rem;scroll-margin-top:7rem}.cs-section-label{display:inline-block;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:700;color:var(--accent)}.cs-section-body,.cs-section-closing{font-size:1rem;line-height:1.8;color:var(--ink-soft);max-width:70ch;margin:0}.cs-problem-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:.7rem;gap:.7rem}.cs-problem-list li{padding:1rem 1.1rem 1rem 1.35rem;border-radius:1rem;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 75%,transparent);font-size:.95rem;line-height:1.65;color:var(--ink-soft)}.cs-principle,.cs-problem-list li{border-left:3px solid var(--accent)}.cs-principle{font-family:var(--font-display),sans-serif;font-size:clamp(1.1rem,2vw,1.3rem);font-weight:700;letter-spacing:-.025em;line-height:1.42;color:var(--ink);padding:1.35rem 1.6rem;border-radius:1.15rem;background:var(--accent-soft);margin:0}.cs-arch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.cs-arch-card{position:relative;overflow:hidden;padding:1.4rem;border-radius:1.2rem;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 78%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .18s ease,box-shadow .18s ease}.cs-arch-card:before{content:"";position:absolute;top:0;left:0;width:min(9rem,100%);height:2px;border-radius:999px;background:linear-gradient(90deg,var(--accent),transparent 88%)}.cs-arch-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft)}.cs-arch-card-title{font-size:1rem;font-weight:700;margin:.75rem 0 .6rem;color:var(--ink)}.cs-arch-card-body{font-size:.91rem;line-height:1.74;color:var(--ink-soft);margin:0}.cs-decisions-list{display:flex;flex-direction:column}.cs-decision-card{display:grid;grid-template-columns:3.5rem 1fr;grid-gap:1.5rem;gap:1.5rem;align-items:start;padding:1.85rem 0;border-bottom:1px solid var(--line);transition:background .18s ease}.cs-decision-card:first-child{border-top:1px solid var(--line)}.cs-decision-card:hover{background:color-mix(in srgb,var(--accent) 4%,transparent);border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.cs-decision-number{font-family:var(--font-display),sans-serif;font-size:2.4rem;font-weight:700;letter-spacing:-.06em;line-height:1;color:color-mix(in srgb,var(--accent) 28%,transparent);padding-top:.15rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cs-decision-title{font-size:1.04rem;font-weight:700;margin:0 0 .55rem;color:var(--ink);letter-spacing:-.01em}.cs-decision-body p{font-size:.93rem;line-height:1.74;color:var(--ink-soft);margin:0}.cs-challenges-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.cs-challenge-card{position:relative;overflow:hidden;padding:1.4rem;border-radius:1.2rem;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 78%,transparent);transition:transform .18s ease,box-shadow .18s ease}.cs-challenge-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent-warm),transparent 80%)}.cs-challenge-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft)}.cs-challenge-title{font-size:1rem;font-weight:700;margin:0 0 .65rem;color:var(--ink)}.cs-challenge-card p{font-size:.91rem;line-height:1.74;color:var(--ink-soft);margin:0}.cs-stack-table{border-radius:1.2rem;border:1px solid var(--line);overflow:hidden}.cs-stack-row{display:grid;grid-template-columns:15rem 1fr;padding:.95rem 1.4rem;align-items:center;grid-gap:1.5rem;gap:1.5rem}.cs-stack-row+.cs-stack-row{border-top:1px solid var(--line)}.cs-stack-row:nth-child(2n){background:color-mix(in srgb,var(--surface-muted) 55%,transparent)}.cs-stack-layer{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute)}.cs-stack-tech{font-size:.95rem;color:var(--ink);font-weight:500}.cs-scope-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1rem;gap:1rem}.cs-scope-stat{padding:1.5rem 1.25rem;border-radius:1.2rem;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 78%,transparent);display:flex;flex-direction:column;gap:.55rem;transition:transform .18s ease}.cs-scope-stat:hover{transform:translateY(-3px)}.cs-scope-value{display:block;font-family:var(--font-display),sans-serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:700;letter-spacing:-.055em;line-height:1;color:var(--ink)}.cs-scope-label{display:block;font-size:.83rem;line-height:1.55;color:var(--ink-soft)}.cs-repo-row{padding-top:2rem;border-top:1px solid var(--line)}.cs-repo-link{display:inline-flex;align-items:center;gap:.65rem;min-height:3rem;padding:0 1.4rem;border-radius:999px;border:1px solid var(--line-strong);background:color-mix(in srgb,var(--surface-strong) 72%,transparent);font-weight:700;font-size:.95rem;color:var(--ink);transition:border-color .18s ease,box-shadow .18s ease}.cs-repo-link:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);transform:none}@media (max-width:1040px){.cs-page{grid-template-columns:1fr;gap:0}.cs-nav{display:none}.cs-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.cs-arch-grid,.cs-challenges-list,.cs-stack-row{grid-template-columns:1fr}.cs-stack-row{gap:.3rem}.cs-decision-card{grid-template-columns:2.75rem 1fr;gap:1rem}}@media (max-width:540px){.cs-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.skill-card .tag-row b{font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:.78rem;font-weight:500;letter-spacing:.01em;padding:.28rem .72rem;border-radius:.5rem;border:1px solid color-mix(in srgb,var(--accent) 16%,transparent);background:color-mix(in srgb,var(--surface-muted) 90%,transparent);color:var(--ink);transition:background .16s ease,border-color .16s ease}.skill-card .tag-row b:hover{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.skill-card .card-icon{width:2.6rem;height:2.6rem;border-radius:1rem;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent)}.skill-card .card-icon svg{width:1.1rem;height:1.1rem}.skill-card .card-heading{margin-bottom:1rem;gap:.75rem}.skill-card h3{font-size:1.05rem;font-weight:700;letter-spacing:-.01em;margin:0}.skills-only-grid .skill-card:last-child:nth-child(3n - 1){grid-column:span 2}.skill-card{background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 92%,transparent),color-mix(in srgb,var(--surface-muted) 75%,transparent))}.skill-card .tag-row{gap:.4rem;row-gap:.45rem}.cs-teaser-section{padding-top:4.75rem;padding-bottom:3rem;scroll-margin-top:6rem}.cs-teaser-card{display:grid;grid-template-columns:1fr 1fr;grid-gap:3rem;gap:3rem;align-items:center;padding:2.5rem;border-radius:1.75rem;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 80%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-soft)}.cs-teaser-left{display:flex;flex-direction:column;gap:1rem}.cs-teaser-title{font-family:var(--font-display),sans-serif;font-size:clamp(1.6rem,3.5vw,2.4rem);letter-spacing:-.04em;line-height:.98;color:var(--ink);margin:.25rem 0 0}.cs-teaser-headline{font-size:1rem;font-weight:700;letter-spacing:-.01em;line-height:1.45;color:var(--accent);margin:0}.cs-teaser-summary{font-size:.92rem;line-height:1.72;color:var(--ink-soft);margin:0;max-width:48ch}.cs-teaser-cta{display:inline-flex;align-items:center;align-self:flex-start;gap:.55rem;padding:.65rem 1.35rem;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--accent) 40%,transparent);background:var(--accent-soft);color:var(--ink);font-weight:700;font-size:.9rem;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease;margin-top:.25rem}.cs-teaser-cta:hover{background:color-mix(in srgb,var(--accent) 22%,transparent);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);transform:none}.cs-teaser-right{display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start}.cs-teaser-systems{display:flex;flex-direction:column;gap:.5rem;width:100%}.cs-teaser-system-tag{display:flex;align-items:center;width:-moz-fit-content;width:fit-content;gap:.6rem;padding:.7rem 1rem;border-radius:.9rem;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-muted) 70%,transparent);font-size:.88rem;font-weight:600;color:var(--ink);transition:background .16s ease,border-color .16s ease}.cs-teaser-system-tag:before{content:"";display:inline-block;width:.5rem;height:.5rem;border-radius:999px;background:var(--accent);flex-shrink:0}.cs-teaser-stack{display:flex;flex-wrap:wrap;gap:.4rem}@media (max-width:820px){.cs-teaser-card{grid-template-columns:1fr;gap:1.75rem;padding:1.75rem}}.cs-teaser-stack b{display:inline-flex;align-items:center;min-height:1.75rem;padding:0 .75rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);background:var(--accent-soft);font-size:.78rem;font-weight:600;color:var(--ink)}.bullet-metric{color:var(--accent-strong);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.experience-card .tag-row b{font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:.78rem;font-weight:500;letter-spacing:.01em;padding:.28rem .72rem;border-radius:.5rem;border:1px solid color-mix(in srgb,var(--accent) 16%,transparent);background:color-mix(in srgb,var(--surface-muted) 90%,transparent);color:var(--ink)}.experience-card{padding:1.6rem;gap:.85rem;display:flex;flex-direction:column}.experience-card .bullet-list{margin-top:0}.experience-card .bullet-list li{font-size:.93rem;line-height:1.68}.topbar-wrap{position:-webkit-sticky;position:sticky;top:0;z-index:30;padding-top:1rem;background:var(--paper-top)}.topbar.is-mobile.is-expanded{flex-direction:column;align-items:stretch;border-radius:1.35rem}.topbar-nav a{border:none;outline:none}.topbar-nav a+a{border-top:none}.topbar.is-mobile .topbar-nav{display:flex;flex-direction:column;gap:.15rem;padding:.5rem 0}.topbar.is-mobile .topbar-nav a{display:block;width:100%;padding:.65rem 1rem;border-radius:.85rem;font-size:.95rem;font-weight:600;color:var(--ink-soft);transition:color .15s ease,background .15s ease;text-decoration:none;text-align:left}.topbar.is-mobile .topbar-nav a:hover{color:var(--ink);background:color-mix(in srgb,var(--accent) 8%,transparent)}.topbar-nav-wrap{overflow:hidden}.topbar.is-mobile.is-collapsed .topbar-nav-wrap{display:none}.topbar.is-mobile.is-expanded .topbar-nav-wrap{display:block;padding-top:.5rem}.topbar.is-mobile .topbar-nav-wrap .topbar-controls{padding:.65rem .5rem .25rem;border-top:1px solid color-mix(in srgb,var(--line) 50%,transparent);margin-top:.35rem;display:flex;gap:.75rem;align-items:center}.topbar-main-row-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}.topbar-controls-inline{display:flex!important;align-items:center;gap:.5rem;border-top:none!important;padding:0!important;margin:0!important}.topbar.is-mobile .topbar-nav-wrap .topbar-controls{display:none}.topbar:not(.is-mobile) .topbar-controls-inline{display:none!important}@media (max-width:1048px){.topbar.is-mobile{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;justify-items:stretch;width:100%}.topbar.is-mobile .topbar-main-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%}.topbar.is-mobile .brand-lockup{width:auto;min-width:0}.topbar.is-mobile .topbar-main-row-right{justify-self:end;margin-left:0}}@media (max-width:640px){.topbar-controls-inline{display:none!important}.topbar.is-mobile .topbar-nav-wrap .topbar-controls{display:flex!important;padding:.65rem .5rem .25rem;border-top:1px solid color-mix(in srgb,var(--line) 50%,transparent);margin-top:.35rem;gap:.75rem;align-items:center}}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_c8daab{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.__variable_c8daab{--font-body:"IBM Plex Sans","IBM Plex Sans Fallback"}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk Fallback;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_4f4604{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.__variable_4f4604{--font-display:"Space Grotesk","Space Grotesk Fallback"}