:root{--ink: #151816;--paper: #f6f6f3;--backdrop: #c9d2ce;--muted: #5b635f;--body: #4a524e;--text-2: #2c3330;--line: rgba(21, 24, 22, .2);--chip-line: rgba(21, 24, 22, .25);--mint: oklch(.62 .1 165);--mint-text: oklch(.5 .1 165);--mint-deep: oklch(.42 .08 165);--mint-wash: oklch(.93 .03 165);--mint-bright: oklch(.78 .1 165);--mono: "JetBrains Mono", ui-monospace, monospace;--gutter: clamp(20px, 6vw, 96px)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);font-family:Bricolage Grotesque,system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}a{color:var(--ink);text-decoration:none}a:not([class]):hover{color:var(--mint-text)}button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;text-align:inherit}:focus-visible{outline:2px solid var(--mint-text);outline-offset:3px}h1,h2,h3,p{margin:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translate(-50%)}}@keyframes slidein{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.mono{font-family:var(--mono)}.eyebrow{font-family:var(--mono);font-size:12px;color:var(--muted)}.dot{width:8px;height:8px;border-radius:50%;background:#62d0a4;flex:none}.dot.blink{animation:blink 1.6s steps(1) infinite}.arrow-list{display:flex;flex-direction:column;gap:10px}.arrow-item{display:grid;grid-template-columns:20px 1fr;line-height:1.45}.arrow-item>span:first-child{color:var(--mint-text)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font-family:var(--mono);font-size:12px;padding:7px 12px;border:1px solid var(--chip-line);border-radius:999px}.chip.sm{font-size:11px;padding:6px 10px}.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;font-size:14px;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.btn-dark{background:var(--ink);color:var(--paper)}.btn-dark:hover{background:var(--mint-deep);color:#fff}.btn-outline{border:1px solid var(--ink)}.btn-outline:hover{background:var(--ink);color:var(--paper)}.btn-mint{background:var(--mint-bright);color:var(--ink);font-weight:500;padding:14px 24px;font-size:16px}.btn-mint:hover{background:#fff}.circle-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--ink);display:grid;place-items:center;flex:none;transition:background .15s,color .15s}.circle-btn:hover{background:var(--ink);color:var(--paper)}.page{min-height:100vh}.frame{position:relative;background-color:var(--paper);overflow:hidden;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.deco{position:absolute;pointer-events:none}.blob{border-radius:50%}.blob-1{left:-140px;top:140px;width:440px;height:440px;background:#ffbeb8;background:oklch(.86 .08 25);filter:blur(100px);opacity:.5}.blob-2{right:6%;top:620px;width:380px;height:380px;background:#e1c3f9;filter:blur(100px);opacity:.45}.blob-3{right:-100px;top:-80px;width:400px;height:320px;background:#badbfe;filter:blur(80px);opacity:.6}.arch-1{right:-40px;top:40px;width:240px;height:340px;border:1px solid rgba(0,0,0,.16);border-top:none;border-radius:0 0 120px 120px}.section{position:relative;z-index:2;padding-left:var(--gutter);padding-right:var(--gutter)}.header{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:32px var(--gutter)}.logo{display:flex;align-items:center;gap:12px}.logo-mark{width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-weight:800;font-size:17px;letter-spacing:-.04em;box-shadow:-5px -3px 0 0 var(--mint);flex:none}.logo-name{font-weight:700;font-size:22px;letter-spacing:-.02em;white-space:nowrap}.nav{display:flex;gap:clamp(18px,3vw,48px);font-size:15px;flex-wrap:wrap}.header .btn{padding:11px 20px}.cv-short{display:none}.hero{padding-top:clamp(40px,8vw,112px);padding-bottom:72px}.hero-kicker{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--muted)}.hero-kicker .sep{color:#288463}.hero-kicker-pair{display:inline-flex;gap:12px}.statement{margin-top:28px;display:grid;font-weight:800;font-size:clamp(38px,5.6vw,96px);letter-spacing:-.045em;line-height:1;text-wrap:pretty}.statement-item{grid-area:1 / 1}.statement .line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}.statement .line-in{display:block;transform:translateY(110%)}.statement-item.is-active .line-in{transform:none;transition:transform .9s cubic-bezier(.76,0,.24,1)}.statement-item.is-prev .line-in{transform:translateY(-110%);transition:transform .8s cubic-bezier(.76,0,.24,1)}.statement-item .line+.line .line-in{transition-delay:.08s}.statement-muted{color:#8f9693;padding-left:clamp(0px,4vw,72px)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.hero-foot{margin-top:clamp(40px,6vw,72px);display:flex;justify-content:space-between;align-items:flex-end;gap:32px}.hero .lede{max-width:560px;font-size:18px;line-height:1.55;color:var(--body);text-wrap:pretty}.socials{margin-top:24px;display:flex;gap:12px}.socials a{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:background .15s,color .15s,border-color .15s}.socials a:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.badge{position:relative;width:140px;height:140px;display:block;flex:none}.badge svg{width:100%;height:100%;animation:spin 18s linear infinite}.badge text{font-family:var(--mono);font-size:12px;letter-spacing:2.6px;fill:var(--ink)}.badge-core{position:absolute;top:25%;right:25%;bottom:25%;left:25%;border-radius:50%;background:var(--paper);border:12px solid oklch(.88 .04 165)}.ticker{position:relative;z-index:2;overflow:hidden;background:#dee8e48c;padding:30px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.ticker-track{display:flex;width:max-content;animation:marquee 40s linear infinite}.ticker:hover .ticker-track{animation-play-state:paused}.ticker-row{display:flex;align-items:center}.ticker-row span{font-family:var(--mono);font-weight:500;font-size:30px;color:#6b7370;padding:0 clamp(22px,3vw,44px);white-space:nowrap;display:flex;align-items:center}.ticker-row span:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--mint);opacity:.6;margin-left:clamp(44px,6vw,88px)}.ticker-row span:nth-child(3n+1){color:var(--mint-text)}.about{padding-top:110px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:64px}.about-text{margin-top:18px;font-size:clamp(20px,2vw,28px);line-height:1.3;letter-spacing:-.02em;font-weight:500;text-wrap:pretty}.about-avatar{display:inline-block;width:1.3em;height:1.3em;margin:0 .12em 0 .22em;vertical-align:-.3em;border-radius:50%;object-fit:cover}.about-note{margin-top:18px;max-width:560px;font-size:16px;line-height:1.6;color:var(--body);text-wrap:pretty}.btn-row{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}.about-side{display:flex;flex-direction:column;gap:28px}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ink);border-left:1px solid var(--line)}.fact{padding:22px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.fact-k{font-family:var(--mono);font-size:11px;color:var(--muted)}.fact-v{margin-top:8px;font-weight:700;font-size:clamp(22px,2.2vw,30px);letter-spacing:-.03em}.fact-s{margin-top:4px;font-size:14px;color:var(--body)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:48px}.section-head h2{font-weight:800;font-size:clamp(40px,6vw,88px);letter-spacing:-.04em;line-height:1.05}.section-head .eyebrow{font-size:13px}.work{padding-top:110px;padding-bottom:80px}.rows{border-top:1px solid var(--ink)}.work-row{display:grid;grid-template-columns:56px minmax(0,1.3fr) minmax(0,1.6fr) auto 40px;gap:24px;align-items:center;width:100%;padding:30px 12px;border-bottom:1px solid var(--line);transition:background .2s,padding .2s}.work-row:hover{background:var(--mint-wash);padding-left:24px}.work-num{font-family:var(--mono);font-size:13px;color:var(--mint-text)}.work-title{font-weight:700;font-size:clamp(26px,3vw,40px);letter-spacing:-.03em}.work-tag{font-size:16px;line-height:1.45;color:var(--body);text-wrap:pretty}.work-year{font-family:var(--mono);font-size:12px;color:var(--muted)}.row-arrow{width:40px;height:40px;border-radius:50%;border:1px solid var(--ink);display:grid;place-items:center;font-size:16px}.archive-head{margin-top:96px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.archive-head h3{font-weight:700;font-size:clamp(28px,3vw,40px);letter-spacing:-.03em}.archive{margin-top:24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:32px 20px}.archive-item{display:flex;flex-direction:column;gap:12px}.archive-item:hover{color:#006548;color:oklch(.45 .1 165)}.archive-shot{position:relative;aspect-ratio:8 / 5;border-radius:14px;overflow:hidden;background:#dfeae4;isolation:isolate}.archive-shot img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(.92) brightness(1.04);transition:filter .6s ease,transform .7s cubic-bezier(.2,.8,.2,1)}.archive-shot:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:#a3a9a6;mix-blend-mode:multiply;opacity:.5;transition:opacity .6s ease}.archive-shot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 45%,rgba(21,24,22,.45));transition:opacity .6s ease}.archive-cta{position:absolute;left:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--paper);color:var(--ink);font-size:13px;opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.8,.2,1)}.archive-item:hover .archive-shot img,.archive-item:focus-visible .archive-shot img{filter:none;transform:scale(1.05)}.archive-item:hover .archive-shot:before,.archive-item:focus-visible .archive-shot:before{opacity:0}.archive-item:hover .archive-shot:after,.archive-item:focus-visible .archive-shot:after{opacity:.6}.archive-item:hover .archive-cta,.archive-item:focus-visible .archive-cta{opacity:1;transform:none}@media(hover:none){.archive-shot img{filter:none}.archive-shot:before,.archive-shot:after{opacity:0}}.archive-tag{font-size:14px;line-height:1.45;color:var(--body);margin-top:-4px;text-wrap:pretty}.archive-meta{display:flex;justify-content:space-between;gap:8px}.archive-meta b{font-size:17px}.about+.ask{margin-top:110px}.ask{margin:0 var(--gutter);padding:56px clamp(24px,4vw,56px);background:var(--ink);color:#eef1ef;border-radius:28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:48px;align-items:center}.ask-copy{display:flex;flex-direction:column;gap:16px}.ask-copy .eyebrow{color:var(--mint-bright)}.ask h2{font-weight:700;font-size:clamp(32px,4vw,56px);letter-spacing:-.03em;line-height:1}.ask-copy p{color:#a9b2ae;font-size:16px;line-height:1.55;max-width:460px;text-wrap:pretty}.ask-sugg{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.ask-sugg button{font-size:13px;padding:8px 14px;border:1px solid #3a423e;border-radius:999px;color:#d6dcd9}.ask-sugg button:hover{border-color:var(--mint-bright);color:#fff}.ask-copy .btn-mint{align-self:flex-start;margin-top:10px}.ask-preview{display:flex;flex-direction:column;gap:14px;background:#1e2320;border-radius:20px;padding:24px;width:100%;color:inherit}.ask-preview:hover{background:#232925}.ask-preview-top{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:11px;color:#8a938f}.ask-preview-top span:last-child{display:flex;align-items:center;gap:6px}.ask-preview-top .dot{width:7px;height:7px}.bubble-q{align-self:flex-end;max-width:80%;background:#eef1ef;color:var(--ink);padding:12px 16px;border-radius:18px 18px 4px;font-size:14px;line-height:1.45}.bubble-a{max-width:88%;background:#2a302d;color:#e6ebe8;padding:12px 16px;border-radius:4px 18px 18px;font-size:14px;line-height:1.5}.dark-chip{font-family:var(--mono);font-size:11px;padding:6px 10px;border-radius:999px;border:1px solid #3a423e;color:#7cd2ae}.fake-input{margin-top:6px;border:1px solid #3a423e;border-radius:999px;padding:13px 18px;font-family:var(--mono);font-size:13px;color:#6f7874}.experience{padding-top:120px;padding-bottom:40px}.role{border-bottom:1px solid var(--line)}.role-btn{width:100%;display:grid;grid-template-columns:52px minmax(0,1.4fr) minmax(0,1fr) auto 36px;gap:16px;align-items:center;padding:24px 12px}.role-btn:hover,.role-btn:focus-visible{background:#e3f3eb}.role-btn:focus,.role-btn:focus-visible{outline:none}.role-mono{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:15px}.role-title{display:block;font-weight:700;font-size:clamp(18px,1.8vw,22px);letter-spacing:-.01em}.role-org{display:block;margin-top:2px;font-size:14px;color:var(--body)}.role-when-mob{display:none;margin-top:6px;font-family:var(--mono);font-size:11px;color:var(--muted)}.role-where{font-size:14px;color:var(--body)}.role-when{font-family:var(--mono);font-size:12px;color:var(--muted);text-align:right}.role-when span{display:block;margin-top:2px}.role-sign{width:36px;height:36px;border-radius:50%;border:1px solid var(--ink);display:grid;place-items:center;font-family:var(--mono)}.role-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.8,.2,1)}.role-panel.open{grid-template-rows:1fr}.role-panel-inner{min-height:0;overflow:hidden}.role-body{padding:16px 12px 32px 84px;display:flex;flex-direction:column;gap:16px;opacity:0;transform:translateY(-6px);transition:opacity .3s ease,transform .45s cubic-bezier(.2,.8,.2,1)}.role-panel.open .role-body{opacity:1;transform:none;transition-delay:.08s}.role-body p{max-width:720px;font-size:16px;line-height:1.6;color:var(--text-2);text-wrap:pretty}.role-body .arrow-list{gap:8px;max-width:720px;font-size:15px}.role-body .arrow-item{line-height:1.5}.role-body .chips{gap:6px}.positions{display:flex;flex-direction:column;max-width:720px;border-left:2px solid var(--mint);padding-left:14px;gap:6px}.position{display:flex;justify-content:space-between;gap:16px;font-size:15px;font-weight:500}.position span:last-child{font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap}.role-projects{margin-top:12px;display:flex;flex-direction:column;gap:14px}.mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:16px 12px}.mini{display:flex;flex-direction:column;gap:8px}.mini-shot{display:block;aspect-ratio:8 / 5;border-radius:10px;overflow:hidden;background:#e2e8e4;border:1px solid var(--line)}.mini-shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.mini:hover .mini-shot img,.mini:focus-visible .mini-shot img{transform:scale(1.04)}.mini-meta{display:flex;flex-direction:column;gap:2px}.mini-meta b{font-size:14px}.mini-meta span{font-family:var(--mono);font-size:10px;color:var(--muted)}.mini:hover .mini-meta b{color:var(--mint-text)}.split{margin-top:72px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:56px}.edu{margin-top:16px;border-top:1px solid var(--ink)}.edu-group+.edu-group{margin-top:48px}.edu-item{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.edu-t{font-weight:700;font-size:18px}.edu-o{margin-top:2px;font-size:14px;color:var(--body)}.edu-y{font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap}.skills{margin-top:16px;border-top:1px solid var(--ink)}.skill-group{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.skill-k{font-family:var(--mono);font-size:12px;color:var(--muted);padding-top:5px}.skill-group .chips{gap:6px}.contact{margin-top:80px;padding-top:100px;padding-bottom:48px;border-top:1px solid rgba(21,24,22,.15)}.contact>*{position:relative}.contact .glow{position:absolute;left:30%;top:20px;width:420px;height:300px;border-radius:50%;background:#ace7cc;filter:blur(100px);opacity:.5;pointer-events:none}.contact h2{margin-top:18px;font-weight:800;font-size:clamp(44px,7vw,104px);letter-spacing:-.045em;line-height:.95}.contact h2 span{color:#8a938f}.contact .email{display:inline-block;margin-top:40px;font-weight:500;font-size:clamp(24px,3vw,40px);letter-spacing:-.02em;border-bottom:2px solid oklch(.6 .1 165);padding-bottom:6px;overflow-wrap:anywhere}.contact .email:hover{color:var(--mint-text)}.contact .phone{display:block;margin-top:16px;width:fit-content;font-family:var(--mono);font-size:15px;color:var(--body)}.contact .phone:hover{color:var(--mint-text)}.contact .btn-row{margin-top:36px;gap:10px}.contact .btn{padding:11px 18px}.foot{margin-top:56px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--muted)}.float-ask{position:fixed;right:24px;bottom:24px;z-index:30;display:flex;align-items:center;gap:10px;background:var(--ink);color:var(--paper);padding:14px 20px;border-radius:999px;font-size:14px;box-shadow:0 14px 30px -10px #0006}.float-ask:hover{background:#004f38}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#15181673;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadein .25s ease}.chat-scrim{z-index:40}.chat{position:fixed;inset:clamp(0px,2.5vw,32px);z-index:41;background:var(--paper);border-radius:20px;overflow:hidden;display:flex;animation:fadein .3s ease;box-shadow:0 40px 80px -30px #00000080}.chat-aside{flex:0 0 320px;background:var(--ink);color:#eef1ef;padding:28px;display:flex;flex-direction:column;gap:28px;overflow-y:auto}.chat-me{display:flex;align-items:center;gap:14px}.chat-avatar{width:56px;height:56px;border-radius:50%;flex:none;overflow:hidden;background:#dfeae4}.chat-avatar img{width:100%;height:100%;object-fit:cover}.chat-me-name{font-weight:700;font-size:20px;letter-spacing:-.02em}.chat-me-sub{font-size:13px;color:#a9b2ae;margin-top:2px}.chat-status{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;color:#7cd2ae}.aside-label{font-family:var(--mono);font-size:11px;color:#6f7874;margin-bottom:10px}.hr-fact{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #2a302d;font-size:14px}.hr-fact span:first-child{color:#a9b2ae}.hr-fact span:last-child{text-align:right}.aside-note{margin-top:auto;font-size:12px;line-height:1.5;color:#8a938f}.chat-main{flex:1 1 0;min-width:0;height:100%;display:flex;flex-direction:column}.chat-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:18px clamp(16px,3vw,32px);border-bottom:1px solid rgba(21,24,22,.1)}.chat-top-l{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.chat-title{font-weight:700;font-size:18px;letter-spacing:-.01em}.toggle{display:flex;padding:3px;border-radius:999px;background:#e6eae7;font-size:13px}.toggle button{padding:7px 14px;border-radius:999px}.toggle button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.chat-top-r{display:flex;gap:8px;margin-left:auto}.chat-top-r .btn{padding:9px 14px;font-size:13px}.btn-ghost{border:1px solid rgba(21,24,22,.3)}.btn-ghost:hover{border-color:var(--ink)}.chat-top-r .circle-btn{width:36px;height:36px}.thread{flex:1;min-height:0;overflow-y:auto;padding:32px clamp(16px,3vw,32px);display:flex;flex-direction:column;gap:20px}.msg-user{display:flex;justify-content:flex-end;animation:fadein .25s ease}.msg-user div{max-width:min(560px,85%);background:var(--ink);color:var(--paper);padding:13px 18px;border-radius:20px 20px 4px;font-size:15px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.msg-bot{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;max-width:700px;animation:fadein .3s ease}.bot-mark{width:36px;height:36px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-weight:800;font-size:13px;letter-spacing:-.04em;box-shadow:-3px -2px 0 0 var(--mint);flex:none}.bot-text{background:#fff;border:1px solid rgba(21,24,22,.08);padding:13px 18px;border-radius:4px 20px 20px;font-size:15px;line-height:1.55;white-space:pre-wrap;text-wrap:pretty}.sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.source{font-family:var(--mono);font-size:11px;padding:6px 10px;border-radius:999px;border:1px solid var(--line);color:#005c41;color:oklch(.42 .1 165)}button.source:hover{background:var(--mint-wash)}.busy{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12px;color:var(--muted)}.busy .bot-mark{box-shadow:none}.busy .ellipsis{animation:blink 1s steps(1) infinite}.composer{padding:16px clamp(16px,3vw,32px) 24px;border-top:1px solid rgba(21,24,22,.1);display:flex;flex-direction:column;gap:12px}.sugg{display:flex;gap:8px;flex-wrap:wrap}.sugg button{font-size:13px;padding:7px 13px;border:1px solid var(--line);border-radius:999px}.sugg button:hover{border-color:var(--ink);background:#fff}.composer form{display:flex;gap:10px}.composer input{flex:1;min-width:0;background:#fff;border:1px solid var(--line);border-radius:999px;padding:15px 22px;font:inherit;font-size:15px;outline:none;color:var(--ink)}.composer input:focus{border-color:#288463}.composer button[type=submit]{background:var(--ink);color:var(--paper);border-radius:999px;padding:0 24px;font-weight:500}.composer button[type=submit]:hover{background:var(--mint-deep)}.composer button[type=submit]:disabled{opacity:.5;cursor:default}.panel-scrim{z-index:50;background:#15181659;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.panel{position:fixed;top:0;right:0;bottom:0;z-index:51;width:min(820px,100%);background:var(--paper);overflow-y:auto;animation:slidein .35s cubic-bezier(.2,.8,.2,1);box-shadow:-30px 0 60px -20px #00000040}.panel.full{width:100%}.panel-bar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px clamp(20px,4vw,48px);background:#f6f6f3eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(21,24,22,.1);font-family:var(--mono);font-size:13px}.panel-bar-r{display:flex;gap:8px}.pill-btn{height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--ink);display:grid;place-items:center;white-space:nowrap}.pill-btn:hover{background:var(--mint-wash)}.pill-btn.dark{background:var(--ink);color:var(--paper);padding:0 16px;border:0}.pill-btn.dark:hover{background:var(--mint-deep)}.close-short{display:none}.panel-body{max-width:960px;margin:0 auto;padding:48px clamp(20px,4vw,48px) 80px}.panel-meta-line{display:flex;gap:10px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--muted)}.panel h2{margin-top:14px;font-weight:800;font-size:clamp(48px,7vw,96px);letter-spacing:-.045em;line-height:.92}.panel .tagline{margin-top:20px;font-size:clamp(20px,2vw,26px);line-height:1.35;letter-spacing:-.01em;color:var(--text-2);max-width:680px;text-wrap:pretty}.panel-meta{margin-top:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));border-top:1px solid var(--line)}.panel-meta>div{padding:16px 16px 0 0}.panel-meta .v{margin-top:4px;font-size:16px;font-weight:500}.panel .links{margin-top:20px;display:flex;gap:8px;flex-wrap:wrap}.panel .links .btn{padding:10px 16px}.panel .hero-shot{margin-top:40px;border-radius:20px;overflow:hidden;background:#e3e8e5}.panel .hero-shot img{width:100%;height:auto;display:block}.two-col{margin-top:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:40px}.two-col .eyebrow{margin-bottom:12px}.two-col p{font-size:17px;line-height:1.6;text-wrap:pretty}.steps{display:flex;flex-direction:column;gap:12px}.step{display:grid;grid-template-columns:28px 1fr;gap:8px;font-size:16px;line-height:1.5}.step span:first-child{font-family:var(--mono);font-size:12px;color:var(--mint-text);padding-top:3px}.ask-cta{margin-top:40px;padding:28px;border-radius:20px;background:var(--ink);color:#eef1ef;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.ask-cta .eyebrow{font-size:11px;color:var(--mint-bright);text-transform:uppercase}.ask-cta p{margin-top:6px;font-size:18px;max-width:460px}.ask-cta .btn-mint{padding:13px 22px;font-size:15px}.panel-foot{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}.next-btn{font-weight:700;font-size:20px}.next-btn:hover{color:var(--mint-text)}@media(max-width:820px){.chat-aside{display:none}}@media(max-width:719px){.nav,.cv-long,.role-where,.role-when,.work-year,.btn-ghost.hide-mob,.ask-about-top,.close-long{display:none}.cv-short,.close-short{display:inline}.logo-name{font-size:18px}.hero-foot{flex-direction:column;align-items:stretch;gap:8px}.badge{width:96px;height:96px;align-self:flex-end;margin-top:-48px}.work-row{grid-template-columns:28px minmax(0,1fr) 36px;gap:8px 12px;padding:22px 4px}.work-tag{grid-column:2 / 4;order:5}.role-btn{grid-template-columns:44px minmax(0,1fr) 36px}.role-when-mob{display:block}.role-body{padding:12px 4px 28px}.skill-group{grid-template-columns:1fr;gap:8px}.chat{top:0;right:0;bottom:0;left:0;border-radius:0}}
